@charset "UTF-8";

.yumin{font-family: "Noto Serif JP","Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}

.relative{position: relative;}

.lp2_left{
	position: absolute;
	z-index: 3;
	width: 100%;
	top:0px;
	left: 0;
	right: auto;
}

.waku{
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: 0;;
	width:40vw;
	height: 30vh;
	overflow: hidden;
}

.waku:after {
	position: absolute;
	content: '';
	top:0;
	left: 0;
	background:#174288;
	width: 100%;
	height: 100%;
	z-index: -1;
	animation-name: test_box_slide;
	animation-duration:1.5s;
	animation-fill-mode: forwards;
	transform: translateX(100%);
	animation-delay:0.5s;
}
@keyframes test_box_slide {
	0% {transform: translate(100%,0)}
	100% {transform: translate(0,0)}
}

.titlebox{
	position: absolute;
	top:calc(100% - 52vh);
	left: 63%;
	width:40%;
	max-width:490px;
	padding:20px 0;
	opacity: 0; /* 初めは透明に設定 */
	transform: translateY(100%); /* 下からスライドするために位置を下に設定 */
	animation: fadeInFromBottom 1s forwards; /* フェードインアニメーションの設定 */
	animation-delay:1s;
}

.title{
	font-size: clamp(2.4rem, calc(1.2vw + 1.4rem), 5rem);
	font-weight: bold;
	font-family: "Roboto Slab", serif;
	line-height: 1;
	font-optical-sizing: auto;
	opacity: 0; /* 初めは透明に設定 */
	transform: translateY(50%); /* 下からスライドするために位置を下に設定 */
	animation: fadeInFromBottom 1s forwards; /* フェードインアニメーションの設定 */
	animation-delay:1.5s;
}

@keyframes fadeInFromBottom {
	to {
	   opacity: 1; /* アニメーション終了時に完全に表示 */
	   transform: translateY(0); /* アニメーション終了時の位置 */
	 }
}

.title2{font-size: clamp(0.3rem, calc(0.5vw + 1rem), 0.9rem);
	line-height: 1.65;
	opacity: 0; /* 初めは透明に設定 */
	transform: translateY(60%); /* 下からスライドするために位置を下に設定 */
	animation: fadeInFromBottom 1s forwards; /* フェードインアニメーションの設定 */
	animation-delay:2s;}

.topheader{
	opacity: 0; /* 初めは透明に設定 */
	transform: translateY(30%); /* 下からスライドするために位置を下に設定 */
	animation: fadeInFromBottom 1s forwards; /* フェードインアニメーションの設定 */
	animation-delay:0.5s;
}


html, body { 
	width:100%;
	height: 100%; }


.link{border-bottom: 1px solid #111;display: inline;}
/*マウスオーバー*/
.top a:hover, .link:hover , .link2:hover{
	opacity: 0.7;
	transition: 0.2s;
	-webkit-transition:0.2s linear;
	color:#2D3784;
}
.link:hover{border-bottom: 1px solid #2D3784;}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
  }
  .scroll_up.on {
	transform: translateY(0);
	opacity: 1.0;
  }
  
  /*----------------------------
  scroll_left ｜左から出現
  ----------------------------*/
  .scroll_left {
	  -webkit-transition: 0.8s ease-in-out;
	  -moz-transition: 0.8s ease-in-out;
	  -o-transition: 0.8s ease-in-out;
	  transition: 0.8s ease-in-out;
	  transform: translateX(-30px);
	  opacity: 0;
	  filter: alpha(opacity=0);
	  -moz-opacity: 0;
  }
  .scroll_left.on {
	  opacity: 1.0;
	  filter: alpha(opacity=100);
	  -moz-opacity: 1.0;
	  transform: translateX(0);
  }
  
  /*----------------------------
  scroll_right ｜右から出現
  ----------------------------*/
  .scroll_right {
	  -webkit-transition: 0.8s ease-in-out;
	  -moz-transition: 0.8s ease-in-out;
	  -o-transition: 0.8s ease-in-out;
	  transition: 0.8s ease-in-out;
	  transform: translateX(30px);
	  opacity: 0;
	  filter: alpha(opacity=0);
	  -moz-opacity: 0;
  }
  .scroll_right.on {
	  opacity: 1.0;
	  filter: alpha(opacity=100);
	  -moz-opacity: 1.0;
	  transform: translateX(0);
  }

.back{
 width:100%;
 margin:0 auto;
 margin-top: 70px;
}

.back2{
	width:95%;
	max-width:880px;
	margin: 0 auto;
	margin-top: 100px;
}

.wrap{
	position: relative;
	width:100%;
	margin:0 auto;
	opacity: 0;
}


.wrap .bg{
	position: absolute;
	margin:0 auto;
	left:0;
	top:70px;
	width:60vw;
	height:calc(70vh - 70px);
	z-index: -1;
	overflow: hidden;
	content: '';
	animation-name: mv_slide;
	animation-duration:1.5s;
	animation-fill-mode: forwards;
	transform: translateX(-20%);
	animation-delay:0.5s;
}

@keyframes mv_slide {
	0% {transform: translate(-50%,0)}
	100% {transform: translate(0,0)}
}


.slideshow-fade{
    position: relative;
	width:100%;
	height: 70vh;
    li{
        list-style: none;
        width: 100%;
        height: 100%;
        img{
          position: absolute;
          left: 0;
          top: 0;
          width:100%;
        }
    }
}

.center{text-align: center;width:100%;}

.bold{
	font-weight: bold;
}

.flex{
	width:100%;
	margin:0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-around;
	align-content:space-around;
	-webkit-box-align: stretch;
    -ms-flex-align: stretch;
}

.flex div{align-items: stretch;}


.txtwh{	color: #fff;}

.mt10{margin-top:10px;}
.mt5{margin-top:5px;}

.img{
	width:100%;
	display:block;
}
.w90{	width:90%;
	margin:0 auto;}
.w100{	width:100%;}

footer{	padding:10px;}


#page_top {
  position: fixed;
  width: 40px;
  bottom:40px;
  right:20px;
  z-index: 10;
  display:block;
}

#page_top #arr_up{
  cursor: pointer;
  position: relative;
  right: 0;
  margin-left: auto;
  display:block;
  font-size:15px;
  font-weight:bold;
  color:#2D3784;
}

.pd10{padding:10px;}
.mb20{margin-bottom:20px;}

.btn{
	width:100%;
	max-width:190px;
	padding:5px;
	background:#373737;
}
.btn a{
	color: #fff;
	display: block;
}
.telbtn{max-width: 130px;}
.mapbtn{background: #2D3784;max-width: 140px;}

.btn:hover{opacity: 0.7;}

.mt10{margin-top:10px;}

footer{position: fixed;bottom: 0;}

.footer2{
	position:relative;
	background:#373737;
}

.footer2 a{color:#fff;font-size:11px;}

.footer404{position: fixed;}

.under_title{
	position: relative;
	width:100%;
	top:0;
	height:120px;
	background: #2D3784;
}

.under_title p{
	position: absolute;
	vertical-align: middle;
	left:0;
	right:0;
}

.submidashi{border-bottom: 1px solid #2D3784;}
.txblue{color:#2D3784;}

.flextable{
	width: 100%;
	display: flex;
	justify-content:center;
}

.flextable div{
	align-content: center;
}

.flextable div a{
	display: block;
	padding: 10px;
	margin: 0 auto;
}


.tableborder{
	border-collapse: collapse;
	vertical-align: middle;
	border-top: 1px solid #707070;
	border-left: 1px solid #707070;
}
.tableborder:last-child{
	border-right:1px  solid #707070;
}

.flextable div .tableborderT{
	padding: 0;
	border-top: 1px solid #707070;
}
.tableborderB{
	padding: 0;
	border-bottom: 1px solid #707070;
}

.bggray{background-color: #eee;}
.border{border: 1px solid #707070;}
.bgpaleblue{background-color: #DFE1ED;}
.borderTgray{border-top: 1px solid #707070;}
.borderT{border-top: 2px solid #2D3784;}
.txindent{text-indent: -0.65em;
	padding-left: 1.5em;}

.breakword{word-break: break-all;}

/*パソコン版*/ 
@media print, screen and (min-width : 801px){

.cd-header{
	height: 70px;
	background:rgba(255,255,255,1);
	box-shadow:2px 2px 2px rgba(0,0,0,0.1);
}

.top{
	position:absolute;
	left:5%;
	top:0;
	z-index: 10;
}

.top a{display:block;}

.top img{
	max-width:180px;
}

.wrap{
	position: relative;
	top:0;
	width:100vw;
	height: 100vh;
}

.back3{max-width:550px;}

.w5{width:5%;}
.w10{width:10%;}
.w15{width:15%;}
.w20{width:20%;}
.w25{width:25%;}
.w30{width:30%;}
.w35{width:35%;}
.w40{width:40%;}
.w50{width:50%;}
.w55{width:55%;}
.w60{width:60%;}
.w65{width:65%;}
.w80{width:80%;}
.w95{width:95%;}
.w70{width:70%;}

.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.mt80{margin-top:80px;}
.mt100{margin-top:100px;}

.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt30{padding-top:20px;}
.pt40{padding-top:40px;}
.pt60{padding-top:60px;}
.pb40{padding-bottom:40px;}
.pd20{padding:20px;}

.mb36{margin-bottom:46px;}
.mb40{margin-bottom:40px;}
.mb80{margin-bottom:80px;}
.mb120{margin-bottom:120px;}

.line{line-height:1.85;}
.line2{line-height: 2.5;}

.txt15{font-size:15px;}
.txt16{font-size: 16px;}
.txt17{font-size: 17px;}
.txt18{font-size: 18px;}
.txt20{font-size:20px;}
.txt22{font-size:22px;}
.txt24{font-size:24px;}
.txt26{font-size:26px;}
.txt28{font-size:28px;}
.txt32{font-size:32px;}
.txt36{font-size:36px;}

.fixmenu{position: fixed;
	top:calc(100vh - 70vh);
background: #fff;
}
	
.fixmenu .nav, .fixmenu .tab{width:240px;}
.navselecetd{background: #2D3784;}
.navselecetd a{color:#fff;}

.fixmenu .nav:hover{background: #2D3784;}
.fixmenu .nav a:hover{color:#fff;}

.fixmenu .nav a,.fixmenu .tab a{
		text-align: right;
		padding: 10px 15px;
		display: block;
		background-color: transparent; /* default value */}
	
.fixmenu .nav .selected{background-color: #2D3784;
	color: #fff;font-weight: bold;}
	
.navborder{
		border-top: 1px solid #707070;
		border-bottom: 1px solid #707070;
}

#page_top p i{
	position: absolute;
    bottom: 15px;
	left: 0;
}

.sp{display:none;}

}

@media print, screen and (min-width : 1000px)and ( max-width:1400px) {
.titlebox{
	width: 350px;
}
}

/*スマホ版*/
@media screen and (max-width : 800px){
.top{
	position:absolute;
	left:10px;
	top:10px;
	z-index: 10;
	width:130px;
}
	
.top img{
	width:100%;
	display:block;
}

.logo{
	position: absolute;
	top:10px;
	left:10px;
	max-width:60px;
}

.wrap{height: 100vh;}

.waku{
	width:20%;
	height: 15vh;
	top:calc(50vh + 60px);
}

.wrap .bg{
	position: relative;
	width:80vw;
	height: 50vh;
	left: 0;
	top:60px;
	margin: 0;
}

.slideshow-fadesp{
    position: relative;
	width:100%;
	height: 100%;
    li{
        list-style: none;
        width: 100%;
        height: 100%;
        img{
          position: absolute;
          left: 0;
          top: 0;
          width:100%;
        }
    }
}

.titlebox{
	padding:12px;
	width:90%;
	max-width: 600px;
	left: 0;
	top:calc(52vh + 60px);
}

.title2{font-size: 98%;}

.back{margin-top: 60px;}

.back2{margin-top: 20px;}

.under_title{height: 80px;}

.hamburger {
	display : block;
	position: fixed;
	z-index : 4;
	right : 0;
	top   : 60px;
	width : 28%;
	max-width: 60px;
	height: 60px;
	cursor: pointer;
	padding:10px 0;
	background: #47558E;
	box-shadow: -2px 2px 10px rgba(30,30,30,0.2);
}

.hamburger a{color: #fff;
	position: absolute;
	top: 34px;
	font-size: 11px;
	left:4px;
	text-align: center;
 vertical-align: middle;
}

.hamburger span {
	display : block;
	position: absolute;
	width   : 20px;
	height  : 2px ;
	right: 34%;
	background : #fff;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition   : 0.3s ease-in-out;
	transition        : 0.3s ease-in-out;
  }
  .hamburger span:nth-child(2) {
	top: 15px;
  }
  .hamburger span:nth-child(3) {
	top: 21px;
  }
  .hamburger span:nth-child(4) {
	top: 27px;
  }
/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(2) {
	top : 20px;
	right: 34%;
	background :#fff;
	-webkit-transform: rotate(-45deg);
	-moz-transform   : rotate(-45deg);
	transform        : rotate(-45deg);
  }
  
  .hamburger.active span:nth-child(3),
  .hamburger.active span:nth-child(4) {
	top: 20px;
	background :#fff;
	-webkit-transform: rotate(45deg);
	-moz-transform   : rotate(45deg);
	transform        : rotate(45deg);
  }

/* メニュー背景　*/
nav.globalMenuSp {
	position: fixed;
	z-index : 3;
	top  : 0;
	left : 0;
	background: rgba(0,0,0,0.1);
	text-align: center;
	width: 100%;
	height: 100vh;
	transform: translateX(100%);
	transition: all 0.6s;
  }
  
  nav.globalMenuSp ul {
	margin: 0 50%;
	margin-top: 121px;
	background: #fff;
	padding: 0;
	width: 55%;
  }
  
  nav.globalMenuSp ul li {
	list-style-type: none;
	padding: 0;
	width: 100%;
	transition: .4s all;
  }
  nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
  }
  nav.globalMenuSp ul li:hover{
	background :#2D3784;
  }
  nav.globalMenuSp ul li .navmenu:hover{
	color:#fff;
  }
  
  nav.globalMenuSp ul li a {
	display: block;
	color: #111;
	padding:0.7em 1em;
	text-decoration :none;
  }

.navmenu{margin-left: 10px;}
  
  /* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
	opacity: 100;
	display: block;
	 transform: translateX(0%);
}

.w95s{width:95%;}
.w70s{width:70%;}
.w66s{width:66%;}
.w60s{width:60%;}
.w50s{width:50%;}
.w49s{width:49%;}
.w40s{width:40%;}
.w35s{width:35%;}
.w30s{width:30%;}
.w25s{width:25%;}
.w20s{width:20%;}
.w10s{width:10%;}
.w90s{width:90%;}
.w100_s{width:100%;}

.w22s{width:22%;}
.w6s{width:6%;}
.w5s{width:5%;}

.s_mt20{margin-top:20px;}
.s_mt30{margin-top:30px;}
.s_mt40{margin-top:40px;}
.s_mt60{margin-top:60px;}
.s_mt15{margin-top:15px;}
.s_mt10{margin-top:10px;}
.s_mt5{margin-top:5px;}

.s_pt20{padding-top: 20px;}
.s_pt40{padding-top: 40px;}
.s_pb40{padding-bottom: 40px;}
.s_pb60{padding-bottom: 60px;}

.s_mb40{margin-bottom: 40px;}
.s_mb80{margin-bottom: 80px;}
.s_mb20{margin-bottom: 20px;}

.txt24_s{font-size:24px;}
.txt20_s{font-size:20px;}
.txt17_s{font-size:17px;}
.txt18_s{font-size:18px;}
.txt16_s{font-size:16px;}
.txt15_s{font-size:15px;}
.txt14_s{font-size:14px;}
.txt12_s{font-size:12px;}

.line{line-height:1.7;}

.last{padding-bottom:100px !important;}

#page_top p i{
	position: absolute;
    bottom: 15px;
	left: 0;
}
#page_top{
	bottom: 50px;
}
#page_down {
	bottom:10px;
}
.flextable div a{
	padding:5px;
}
}