@charset "utf-8";
/* 
	
CSS base.css */



/*
main #660116
sub #001a37
*/



/*//////////////////


Header


//////////////////*/

#header { width: 100%;  z-index: 100; }
#header .incnt { position: relative; }
#header.fixed { position: fixed; top: 0; background: #fff; background: rgba(255,255,255,0.97); animation: navfit 0.5s ease-out 0s 1 normal both; }
#header .mainbox { display: flex; align-items: center; justify-content: space-between; height: 110px; }
#header .logo { line-height: 0; }
#header .logo img { width: 290px; }
#header.fixed .mainbox { height: 80px; }
#header.fixed .logo img { width: 230px; }
@media screen and (max-width: 1040px) {
	#header .logo { top: 0px; left: 40px; margin-top: 0; }
	#header, #header .mainbox { height: 90px; }
}
@media screen and (max-width: 767px) {
	#header, #header .mainbox { height: 70px; }
	#header .logo { left: 25px; }
	#header .logo img { width: 220px; }
}

/* スライド画像のエフェクト */
@keyframes navfit {
  0% { transform: translate(0px, -50px); }
  100% { transform: translate(0px, 0px);  }
}


/* #sidefix */
#sidefix { position: fixed; right: 0; top: 160px; z-index: 1;  }
#sidefix a { display: block; padding: 20px 10px; background: #660116; color: #fff; text-decoration: none; font-size: 20px; }
@media screen and (max-width: 767px) { 
	#sidefix { display: none; }
}
@media screen and (max-width: 479px) {
}









/*//////////////////


Nav


//////////////////*/

#gnav { }
#gnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; overflow:hidden; line-height:0; font-size: 0; }
#gnav .bg { opacity: 0; }
#gnav ul.main { text-align: right; margin-top: 32px; }
#gnav ul.main>li { display: inline-block; float: left; font-family: yu-mincho-pr6n,"游明朝体",YuMincho,"Yu Mincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif; position: relative; padding-right: 15px;  }
#gnav ul.main>li[data-cat="index"] { display: none; }
#gnav ul.main>li:last-child { padding-right: 0; }
#gnav ul.main>li a { text-decoration: none; position: relative; vertical-align: middle; }
#gnav ul.main>li a:hover { color: #660116; opacity: 1;}
#gnav ul.main>li.current a { color: #660116; }

/* contactbox */
#gnav .pnavbox {position: absolute; top: 15px; right: 0px; text-align: left;}
#gnav .pnavbox li { display: inline-block; float: left; margin-left: 15px; font-size: 15px; }
#gnav .pnavbox li a { text-decoration: none; }
#gnav .pnavbox li a:hover { text-decoration: underline; }
#gnav .pnavbox li:first-child { padding-left: 0; }

/* スクロールfixed */
#header.fixed #gnav ul.main { text-align: right; margin-top: 28px; }
#header.fixed #gnav .pnavbox { top: 10px; }
@media screen and (max-width: 1280px) {
	#gnav ul.main { right: -40px; }
}
@media screen and (max-width: 1180px) {
	#gnav ul.main>li { margin-left: 8px; font-size: 15px; }
}
@media screen and (max-width: 1040px){
	#gnav { z-index: 1000; height: 100%; position: fixed; top: 0; right: 0; bottom: 0; left: 0; display: block; pointer-events: none; }
	#gnav .navbox { position: absolute; top: 50%; left: 0; text-align: center; width: 88%; padding: 0px 6%; /* Safari用 */ transform: translate(0, -50%); }
	#gnav ul.main { position: static; display: block; text-align: center; }
	#gnav ul.main>li { display: block!important; margin: 2px 10px; float: none; opacity: 0; padding-right: 0; font-size: 18px; }
	#gnav ul.main>li a { color: #fff; }
	#gnav ul.main>li a:hover { text-decoration: line-through; color: #fff;}
	#gnav ul.main li.current>a { text-decoration: line-through; color: #fff; }
	
	#gnav.is-open { pointer-events: auto; opacity: 1; }
	#gnav .bg {
		background: #660116; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; overflow: hidden; z-index: -1; opacity: 0;
		-webkit-transform:scale(0.9,0.9); transform:scale(0.9,0.9);
		-webkit-transition: all 0.6s cubic-bezier(0,.53,.41,1); transition: all 0.6s cubic-bezier(0,.53,.41,1);
 	}
	#gnav.is-open .bg { opacity: 1; -webkit-transform:scale(1,1); transform:scale(1,1); }
	
	/* telbox */	
	#gnav .pnavbox {display: block;position: static; }
	#gnav .pnavbox ul { text-align: center; }
	#gnav .pnavbox li { display: block; float:none; margin:0; opacity: 0;  font-size: 18px; }
	#gnav .pnavbox li a { color: #fff; font-family: yu-mincho-pr6n,"游明朝体",YuMincho,"Yu Mincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif; }
	#gnav .pnavbox li a:hover { text-decoration: line-through; color: #fff;}
	
	#gnav.is-open ul.main>li,
	#gnav.is-open .pnavbox>ul>li { opacity:1; transition: 3s; }
	#gnav.is-open ul.main>li:nth-child(1) { -webkit-transition-delay: .24s; transition-delay: .24s; }
	#gnav.is-open ul.main>li:nth-child(2) { -webkit-transition-delay: .32s; transition-delay: .32s; }
	#gnav.is-open ul.main>li:nth-child(3) { -webkit-transition-delay: .40s; transition-delay: .40s; }
	#gnav.is-open ul.main>li:nth-child(4) { -webkit-transition-delay: .48s; transition-delay: .48s; }
	#gnav.is-open ul.main>li:nth-child(5) { -webkit-transition-delay: .56s; transition-delay: .56s; }
	#gnav.is-open .pnavbox>ul>li:nth-child(1) { -webkit-transition-delay: .64s; transition-delay: .64s; }
	#gnav.is-open .pnavbox>ul>li:nth-child(2) { -webkit-transition-delay: .72s; transition-delay: .72s; }
}
@media screen and (max-width: 767px){
	#gnav ul.main>li a,
	#gnav .pnavbox li a { font-size: 16px; }
}









/*//////////////////


Menubtn


//////////////////*/

#menubtn {display: none; z-index: 1001; }
@media screen and (max-width: 1040px){
	#menubtn { position: fixed; top: 20px; right: 10px; display: block; background: transparent; width: 60px; height: 60px; transition : 0.3s; cursor: pointer; }
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; color: #fff; }
	#menubtn a .line {
		width: 26px; height: 2px; background: #660116; position: absolute; left: 50%; margin-left: -13px;transition: all 0.6s;
	}
	#menubtn a #line1 { top: 22px; }
	#menubtn a #line2 { top: 30px; }
	#menubtn a #line3 { top: 38px; }
	#menubtn a:hover #line1 { top: 24px; }
	#menubtn a:hover #line2 { top: 30px; }
	#menubtn a:hover #line3 { top: 36px; }
	#menubtn.active a .txt { display: none; }
	#menubtn.active a span { width: 29px; background: #fff; }
	#menubtn.active a #line1 {
		top: 23px;
		-webkit-transform:translateY(10px) translateX(0) rotate(45deg);
		transform:translateY(10px) translateX(0) rotate(45deg);
	}
	#menubtn.active a #line2 { display: none; }
	#menubtn.active a #line3 { 
		top: 43px;
		-webkit-transform:translateY(-10px) translateX(0) rotate(-45deg); 
		transform:translateY(-10px) translateX(0) rotate(-45deg);
	}
}
@media screen and (max-width: 767px){
	#menubtn { position: fixed; top: 5px; right: 5px; }
}









/*//////////////////


Mainv_index


//////////////////*/

#mainv_index { position: relative; height: 800px; }
#mainv_index .box { position: absolute; top: 50%; left: 0; text-align: center; width: 100%; -webkit-transform: translate(0, -50%); /* Safari用 */ transform: translate(0, -50%); }
#mainv_index .box .tategaki {border: 1px solid #fff; padding: 70px 100px; }
#mainv_index .box .tategaki .copy { font-size: 32px; padding: 0; color: #fff; text-shadow: 0px 0px 8px rgba(0,0,0,0.4);}
#mainv_index .txt1 { position: absolute; left: 0; bottom: 0; padding: 10px 20px; background: #001a37; color: #fff; }
#mainv_index .slidebox { z-index: -1; }
#mainv_index .slidebox { width: 100%; height: 100%; }
#mainv_index .slidebox div { width: 100%; height: 100%; }
/*
#mainv_index .slidebox li .bg { width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; display: block; }
#mainv_index .slidebox li.swiper-slide-active .bg,
#mainv_index .slidebox li.swiper-slide-duplicate-active .bg,
#mainv_index .slidebox li.swiper-slide-prev .bg{ animation: zoomout 10s linear 0s 1 normal both; }
*/
#mainv_index .slidebox div .bg { width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; display: block; }
#mainv_index .slidebox div.slick-current .bg,
#mainv_index .slidebox div.slick-slide[tabindex="0"] .bg { animation: zoomout 10s linear 0s 1 normal both; }
#mainv_index .slidebox div.slick-slide[tabindex="-1"] .bg { width: 100%; height: 100%; }

#maindesc { background-color: #f7f7f7; text-align: center; padding: 15px 0; }
@media screen and (max-width: 1280px){
	#mainv_index .box .tategaki .copy { font-size: 28px; }
}
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px){
	#mainv_index { height: 420px; overflow: hidden; }
	#mainv_index .bg { margin-top: -20px; }
	#mainv_index .box { margin-top: -20px; }
	#mainv_index .box .tategaki { padding: 6%; }
	#mainv_index .box .tategaki .copy { font-size: 20px; }
	#mainv_index .txt1 { width: 100%; box-sizing: border-box; text-align: center; }
	#maindesc { padding: 6%; }
}
@media screen and (max-width: 639px){
}

/* スライド画像のエフェクト */
/*
@keyframes zoomout {
	0% { transform: scale(1); filter: blur(8px);}
	20% { transform: scale(1.03); filter: blur(0);}
	100% { transform: scale(1.15); filter: blur(0); }
}
*/
@keyframes zoomout {
	0% { transform: scale(1);}
	100% { transform: scale(1.2); }
}








/*//////////////////


Mainv


//////////////////*/

#mainv { height: 350px; position: relative; display: block; justify-content: center; align-items:flex-end; background: url(../img/under/mv_bg.jpg); background-position: center center; background-size: cover; }
#mainv .box { background: #001a37; margin-bottom: -80px; position: absolute; left: 50%; padding: 60px 0px; bottom: 0; width: 260px; margin-left: -130px; text-align: center; }
#mainv .box .inbox {  }
@media screen and (max-width: 1040px){
	#mainv { align-items: center; display: flex; }
	#mainv .box { background: #001a37; padding: 60px 80px; margin-bottom: 0px; position: static; width: auto; margin-left: 0;}
}
@media screen and (max-width: 767px){
	#mainv { height: 200px; }
	#mainv .box { padding: 40px; }
}












/*//////////////////


Pankuzu


//////////////////*/

#pankuzu { line-height: 1.4; padding:15px 0 20px; background: #f7f7f7;}
#pankuzu ol { margin: 0 60px; font-size: 0; }
#pankuzu ol li { display:inline; font-size: 16px; }
#pankuzu ol li:before { content:"/"; display: inline-block; margin: 0 5px }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li a:hover { opacity: 0.7; transition: 0.3s; }
@media screen and (max-width: 1180px) { 
	#pankuzu ol { display: none; }
}
@media screen and (max-width: 1040px) { 
	#pankuzu { display: none; }
}






/*//////////////////


Content


//////////////////*/

#main { margin-top: 0px; padding-bottom: 120px; margin-bottom: 120px; background: #f7f7f7; }
#index #main { padding-bottom: 0px; margin-bottom: 120px; background: #fff; }
@media screen and (max-width: 767px) { 
	#main { margin-top: 0px; margin-bottom: 60px; padding-bottom: 60px; }
	#index #main { margin-bottom: 60px; }
}










/*//////////////////


Cntside


//////////////////*/

#side {  }













/*//////////////////


Footer


//////////////////*/

#footer {  }

/* contactbox */
#footer .contactbox { text-align: center; margin-bottom: 120px; }
#footer .contactbox .copy { font-size: 32px; margin-bottom: 20px; text-align: center; line-height: 1.7; }
#footer .contactbox .txt1 { text-align: center; margin-bottom: 40px; }
#footer .contactbox .linkbox { text-align: center; margin-bottom: 30px; }
#footer .contactbox .linkbox a.tel { text-decoration: none; font-size: 40px; line-height: 1; }
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 767px) {
	#footer .contactbox { margin-bottom: 60px; }
	#footer .contactbox .copy { font-size: 20px; }
	#footer .contactbox .txt1 { margin-bottom: 30px; }
	#footer .contactbox .linkbox a.tel { font-size: 28px; line-height: 1; }
}


/* #pagetop */
#pagetop { position: fixed; bottom: 40px; right: 40px; }
#pagetop>a { display: inline-block; text-decoration: none; position: relative; }
#pagetop>a:before { content:""; display: block; width: 0; height: 0; border-style: solid; border-width: 0 5px 15px 5px; border-color: transparent transparent #ccc transparent; margin: 0 auto 5px; }
#pagetop>a:after { content:""; background: #191919; position: absolute; bottom: 2px; left: 0; height: 1px; transition: .5s all; width: 0; }
#pagetop>a:hover { opacity: 1; }
#pagetop>a:hover:after { width: 100%; }
@media screen and (max-width: 767px) { 
	#pagetop { width: 100%; bottom: 0; right: 0; text-align: center; background: #f7f7f7; color: #fff; }
	#pagetop>a { padding: 5px 0; }
	#pagetop>a:before { content:""; display: inline; margin: 0; vertical-align: 15px; line-height: 1; margin-right: 3px; }
	#pagetop>a:after { display: none; }
}


/* footerinfo */
#footer .footerinfo { background: #660116; padding: 60px 0; position: relative; }
#footer .footerinfo .incnt { display: flex; justify-content: space-between; align-items: center; color: #fff; }
#footer .footerinfo:after { content: ""; display: block; clear: both; height: 0; visibility: hidden; overflow:hidden; line-height:0; font-size: 0; }
#footer .footerinfo .address a { text-decoration: none; color: #fff; }
#footer .footerinfo .cr { text-align: right; font-size: 13px; }
@media screen and (max-width: 1040px) {
	#footer .footerinfo .incnt { display: block;  }
	#footer .footerinfo .cr { text-align: left; margin-top: 20px; }
}
@media screen and (max-width: 767px) {
	#footer .footerinfo { margin-bottom: 40px; }
}



