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



/*
main #cc0001
sub #79511b
*/



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


Header


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

#header { position: fixed; top: 0; left: 0; z-index: 1000; height: 100px; width: 100%; transition: 0.3s; color: #fff; padding-left: 60px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
#header .incnt{ height: 100%; }
#header .mainbox{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; -ms-align-items: center; align-items: center; justify-content: space-between; height: 100%; }
#header .mainbox .sitetitlebox{ width: 44%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; -ms-align-items: center; align-items: center; }
#header .mainbox .sitetitlebox .logo{ width: 288px; z-index: 100; flex-shrink: 0; }
#header .mainbox .sitetitlebox .logo>a{  }
#header .mainbox .sitetitlebox .logo>a>img{ width: 280px; height: 64px; transition: 0.3s; }
#header .mainbox .sitetitlebox .logo>a>img._1{  }
#header .mainbox .sitetitlebox .logo>a>img._2{ display: none; }
#header .mainbox .sitetitlebox .cap{ margin-left: 10px; line-height: 1.6; }
#header .rightbox{  }
#header.fixed { background: #fff; color: initial; }
#header.fixed .mainbox .sitetitlebox .logo>a>img._1{ display: none; }
#header.fixed .mainbox .sitetitlebox .logo>a>img._2{ display: block; }
#header.fixed .mainbox { }
#header.fixed .mainbox {  }
@media screen and (max-width: 1200px) {
	#header .mainbox .sitetitlebox .cap{ display: none; }
	#header .mainbox .sitetitlebox{ width: 288px; }
}
@media screen and (max-width: 1040px) {
	#header{ height: 80px; }
	#header .rightbox .contactbox{ display: none; }
	/*#header .mainbox .sitetitlebox .logo>a>img._1{ display: none; }
	#header .mainbox .sitetitlebox .logo>a>img._2{ display: block; }*/
	#header{ padding-left: 0; /*background: #fff;*/ }
	#header .mainbox .sitetitlebox .logo>a>img{ width: 250px; height: auto; }
	#header .mainbox .sitetitlebox{ width: 100%; position: relative; width: 60%; }
}
@media screen and (max-width: 767px) {
	#header{ position: absolute !important; }
	#header { /*position: static;*/ height: 90px; }
	#header .mainbox .sitetitlebox .logo{ width: 100%; }
}

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






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


Nav


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

#gnav>.scrollcover{  }

.navlist{  }
#gnav.navlist{ text-align: right; padding-right: 125px; height: 100px; }
#gnav.navlist>.navbox,
#gnav.navlist>.navbox .mainlistcover,
#gnav.navlist>.navbox .mainlistcover .mainlist,
#gnav.navlist>.navbox .mainlistcover .mainlist>li,
#gnav.navlist>.navbox .mainlistcover .mainlist>li>a,
#gnav.navlist>.navbox .mainlistcover .mainlist>li>a>span,
#gnav.navlist>.navbox .mainlistcover .mainlist>li>p,
#gnav.navlist>.navbox .mainlistcover .mainlist>li>p>span,
#sidetopmenubtnlist{ height: 100%; }
#gnav.navlist .mainlist{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; }
#gnav.navlist .mainlist>li{ margin-left: 15px; vertical-align: middle; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
#gnav.navlist .mainlist>li:first-child{ padding-left: 0; display: none; }
#gnav.navlist .mainlist>li a,
#gnav.navlist .mainlist>li>p{ padding-bottom: 15px; color: #fff; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; cursor: pointer; }
#gnav.navlist .mainlist>li a:hover,
#gnav.navlist .mainlist>li>p:hover{ color: #045DA4; }
#gnav.navlist .mainlist>li a span,
#gnav.navlist .mainlist>li>p span{ font-weight: bold; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; letter-spacing: 0.1em; color: #fff; }
#gnav.navlist .mainlist>li.sp{ display: none; }
#gnav.navlist .mainlist>li .sublistbox{ position: absolute; right: 0; top: 100px; display: none; overflow: hidden; }
#gnav.navlist .mainlist>li .sublistbox>.inwrap{ background: #045DA4; padding: 46px 75px 46px 80px;display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; -ms-align-items: center; align-items: center; color: #fff; }
#gnav.navlist .mainlist>li .sublistbox .sublisttitle{ position: relative; padding-right: 50px; margin-right: 30px; color: #fff; }
#gnav.navlist .mainlist>li .sublistbox .sublisttitle:before{ content: ""; background: #fff; display: inline-block; position: absolute; top: 0; bottom: 0; right: 0; margin-top: auto; margin-bottom: auto; width: 1px; height: 53px; }
#gnav.navlist .mainlist>li .sublistbox .sublisttitle .maintitle{ font-size: 2.4rem; font-weight: 900; line-height: 1.6; text-align: left; letter-spacing: 0.05em; }
#gnav.navlist .mainlist>li .sublistbox .sublisttitle .subtitle1{ font-size: 1.8rem; font-weight: bold; text-align: left; }
#gnav.navlist .mainlist>li .sublistbox .sublist>li{ display: inline-block; margin-left: 15px; vertical-align: middle; }
#gnav.navlist .mainlist>li .sublistbox .sublist>li>a{ padding-bottom: 0; font-weight: bold; color: #fff; overflow: hidden; position: relative; }
#gnav.navlist .mainlist>li .sublistbox .sublist>li>a:after{ content: ""; background: #fff; display: inline-block; position: absolute; bottom: 0; left: 0; right: 0; width: 0; height: 1px; transition: 0.3s }
#gnav.navlist .mainlist>li .sublistbox .sublist>li>a:hover{  }
#gnav.navlist .mainlist>li .sublistbox .sublist>li>a:hover:after{ width: 100%; }
#gnav.navlist a{ text-decoration: none; }
#gnav.navlist .navoption{ display: none; }
#sidetopmenubtnlist .contactmail{ width: 100px; height: 100px; position: absolute; top: 0; right: 0; }
#sidetopmenubtnlist .contactmail>a{ width: 100%; height: 100%; background: #045DA4; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; justify-content: center; }
#sidetopmenubtnlist .contactmail svg{ width: 24px; height: 18px; }
#sidetopmenubtnlist .contactmail>a svg .mail_st0.st0{ transition: 0.3s }
#sidetopmenubtnlist .contactmail>a:hover{ background: #ccc; }
#sidetopmenubtnlist .contactmail>a:hover svg .mail_st0.st0{fill:#045DA4;}

#gnav.navlist .mainlist>li .sublistbox .sublisttitle { opacity: 0; transform: translateY(20px); -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }
#gnav.navlist .mainlist>li .sublistbox .sublisttitle.show { opacity: 1; transform: translateY(0); }
#gnav.navlist .mainlist>li .sublistbox .sublist { opacity: 0; transform: translateY(20px); -webkit-transition: all .3s ease-in-out .2s; transition: all .3s ease-in-out .2s; }
#gnav.navlist .mainlist>li .sublistbox .sublist.show { opacity: 1; transform: translateY(0); }

#header.fixed #gnav.navlist .mainlist>li>a,
#header.fixed #gnav.navlist .mainlist>li>p{ color: initial; }
#header.fixed #gnav.navlist .mainlist>li>a:hover,
#header.fixed #gnav.navlist .mainlist>li>p:hover{ color: #045DA4; }
#header.fixed #gnav.navlist .mainlist>li a span,
#header.fixed #gnav.navlist .mainlist>li>p span{ color: #191919; }
@media screen and (max-width: 1040px){

	#gnav{  }
	#gnav .navbox{  position: fixed; right: -620px; /* これで隠れる */ top: 0; width: 600px; /* スマホに収まるくらい */ height: 110vh; padding-top: 137px; background-color: #045DA4; transition: all .6s; z-index: 200000; overflow-y: auto; /* メニューが多くなったらスクロールできるように */ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; -o-flex-direction: column; flex-direction: column; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
	#gnav .navbox .menutitle{ margin-bottom: 20px; letter-spacing: 0.2em; font-size: 1.3rem; }
	#gnav .navbox .mainlist{ margin: 0; padding: 0; list-style: none; font-size: 1.8rem; }
	#gnav .navbox .mainlist>li{ margin-bottom: 10px; }
	#gnav .navbox .mainlist>li a,
	#gnav .navbox .mainlist>li>p{ display: block; text-decoration: none; color: initial; }
	#gnav .navbox .mainlist>li a:hover,
	#gnav .navbox .mainlist>li>p:hover{ color: #61b56f; }
	#gnav .navbox .sublist{ padding-left: 20px; margin-top: 10px; }
	#gnav .navbox .navoption{ margin-top: 60px; }
	#gnav .navbox .navoption .facebook{  }
	#gnav .navbox .navoption .facebook>a{ text-decoration: none; vertical-align: middle; letter-spacing: 0.2em; font-size: 1.3rem; }
	#gnav .navbox .navoption .facebook>svg{ width: 28px; height: 28px; vertical-align: middle; margin-left: 5px; }
	#gnav .navbox .navoption .logo{ position: static; margin-top: 60px; margin-bottom: 20px; }
	#gnav .navbox .navoption .logo img{ max-width: 192px; width: 100%; }
	#gnav .navbox .navoption .contactbox{ margin-top: 10px; }
	#gnav .navbox .navoption .contactbox>ul>li.tellink{  }
	#gnav .navbox .navoption .contactbox>ul>li.tellink>svg{ width: 24px; margin-right: 10px; vertical-align: middle; }
	#gnav .navbox .navoption .contactbox>ul>li.tellink>.tel{ line-height: 1.6; font-size: 2rem; }
	#gnav .navbox .navoption .contactbox>ul>li.tellink>.cap{ font-size: 1.2rem; line-height: 1.6; }
	#gnav .navbox .navoption .contactbox>ul>li.contactlink{ margin-top: 10px; }
	#gnav .navbox .navoption .contactbox>ul>li.contactlink>svg{ width: 26px; margin-right: 10px; vertical-align: middle; }
	#gnav .navbox .navoption .contactbox>ul>li.contactlink>.contact{ text-decoration: none; position: relative; font-weight: bold; letter-spacing: 0.15em; }
	#header.fixed #gnav.navlist .mainlist>li a span{ color: #fff; }
	#gnav .bg{  position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 100000; background-color: #000; opacity: 0; visibility: hidden; transition: all .6s; }
	#gnav.is-open .navbox{right: -17px;}
	#gnav.is-open .bg{ opacity: .8; visibility: visible; }
	#gnav .facebook{ margin-top: 20px; text-align: center; }
	#gnav .facebook svg{ width: 40px; height: 40px; }
	#gnav.navlist a:hover{ color: #fff; }
	#sidetopmenubtnlist{ position: fixed; top: 0; right: 0; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; z-index: 2000000; }
	#sidetopmenubtnlist .contactmail{ width: 80px; height: 80px; position: static; }
	#gnav.navlist>.navbox .mainlistcover,
	#gnav.navlist>.navbox .mainlistcover .mainlist,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>a,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>a>span,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>p,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>p>span,
	#sidetopmenubtnlist{ height: auto; }
	#header.fixed #gnav.navlist .mainlist>li>a,
	#header.fixed #gnav.navlist .mainlist>li>p{ color: #fff; }
	#header.fixed #gnav.navlist .mainlist>li>a:hover,
	#header.fixed #gnav.navlist .mainlist>li>p:hover{ color: #fff; }
	#header #gnav.navlist .mainlist>li>a:hover,
	#header.fixed #gnav.navlist .mainlist>li>a:hover,
	#header #gnav.navlist .mainlist>li>p:hover,
	#header.fixed #gnav.navlist .mainlist>li>p:hover{ color: #fff; }
	#gnav.navlist .mainlist>li .sublistbox{ position: static; display: block; overflow: visible; margin-top: -5px; margin-bottom: 10px; }
	#gnav.navlist .mainlist>li .sublistbox>.inwrap{ background: transparent; padding: 0; display: block; color: #fff; }
	#gnav.navlist .mainlist>li .sublistbox .sublisttitle{ display: none; }
	#gnav.navlist .mainlist>li .sublistbox .sublist>li{ display: block; margin-left: 0; text-align: left; }
	#gnav.navlist .mainlist>li .sublistbox .sublist>li:before{ content: "- "; display: inline;  }
	#gnav.navlist .mainlist>li .sublistbox .sublist>li>a{ font-weight: normal; font-size: 1.5rem; display: inline; }
	#gnav.navlist .mainlist>li .sublistbox .sublist>li>a:after{ content: none }
	#gnav.navlist .mainlist>li .sublistbox .sublist>li>a:hover{ color:#fff; }
	#gnav.navlist .mainlist>li .sublistbox .sublist{ opacity: 1; transform: inherit; line-height: 1.8; }
	#gnav.navlist .mainlist>li a,
	#gnav.navlist .mainlist>li>p{ padding-bottom: 8px; }
	#gnav.navlist .navoption{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;-webkit-flex-direction: column;-moz-flex-direction: column;-ms-flex-direction: column;-o-flex-direction: column;flex-direction: column;justify-content: center;background: #fff;padding: 40px 14% 200px;opacity: 1;/* margin-top: 95px; */-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
	#gnav.navlist .navoption .logo{ margin-bottom: 10px; text-align: left; margin-top: 0; }
	#gnav.navlist .navoption .logo img{ max-width: 296px; width: 100%; }
	#gnav.navlist .navoption .address{ text-align: left; color: initial; }
	#gnav.navlist .navoption .tel{ text-align: left; }
	#gnav.navlist .navoption .tel a{ color: #045DA4; font-size: 2.4rem; font-weight: bold; }
	#gnav.navlist .navoption .tel svg{ width: 26px; height: 26px; }
	#gnav.navlist .navoption .tel svg .tel_st0.st0{fill:#045DA4;}
	#gnav ul.mainlist { position: static; display: block!important; text-align: center; height: auto; max-width: 100%; border-right: none; }
	#gnav ul.mainlist>li { display: block!important; margin: 0!important; float: none; opacity: 1; }
	#gnav.navlist .mainlist>li{ font-size: 1.6rem; }
	#gnav.navlist .mainlist>li:first-child{ padding-left: 15px; }
	#gnav ul.mainlist>li:last-child{ border-bottom: none; }
	#gnav ul.mainlist>li.contact{ display: block; }
	#gnav ul.mainlist>li a,
	#gnav ul.mainlist>li>p { color: #fff; border-left: none; }
	#gnav ul.mainlist>li>a,
	#gnav ul.mainlist>li>p{ text-align: left; }
	#gnav ul.mainlist>li.current a:before,
	#gnav ul.mainlist>li.current>p:before  { display: none; margin-top: 0; }
	.navlist a>span:before,
	.navlist p>span:before{ content: none; }
	#gnav.navlist .mainlist>li.current>a>span,
	#gnav.navlist .mainlist>li.current>p>span{ font-weight: bold; }
	.navlist .mainlist>li>a, .navlist .mainlist>li>p{ padding-bottom: 0; }
	#gnav.navlist .mainlist>li.current a,
	#gnav.navlist .mainlist>li.current>p{ color: #fff; }
	#gnav.navlist .mainlist>li.current a:after,
	#gnav.navlist .mainlist>li.current>p:after{ content: none }
	#gnav.navlist .mainlist>li:first-child{ padding-left: 0; }
	#gnav.navlist .mainlist>li a:hover,
	#gnav.navlist .mainlist>li>p:hover{ color: #fff; }
	#gnav .navbox .mainlistcover{ padding: 0px 14%; }
	#gnav.is-open+#sidetopmenubtnlist .contactmail>a{ background: #fff; }
	#gnav.is-open+#sidetopmenubtnlist .contactmail>a svg .mail_st0.st0{fill:#045DA4;}
	#gnav.is-open+#sidetopmenubtnlist .contactmail>a:hover svg .mail_st0.st0{fill:#045DA4;}
}
@media screen and (max-width: 639px){
	#gnav+#sidetopmenubtnlist .contactmail{ opacity: 0; transition: 0.3s; }
	#gnav.is-open+#sidetopmenubtnlist .contactmail{ opacity: 1; }
	#gnav .navbox{ width: calc(100% + 17px); padding-top: 100px; right: -640px; }
	#gnav.navlist .navoption{padding: 40px 6%;margin-top: 60px; min-height: 240px;}
	#gnav .navbox .mainlistcover{ padding: 0px 6%; }
}




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


Menubtn


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

#menubtn {display: none; }
@media screen and (max-width: 1040px){
	#menubtn { display: block; background: transparent; width: 80px; height: 80px; cursor: pointer; z-index: 10000001; position: static; transition: 0.3s; }
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; background: #191919; }
	#menubtn .closetxt{ display: none; }
	#menubtn a .line { width: 28px; height: 2px; background: #fff; position: absolute; left: 50%; margin-left: -14px;transition: all 0.6s; }
	#menubtn a #line1 { top: 30px; }
	#menubtn a #line2 { bottom: 30px; }
	#menubtn a #line3{ top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; }
	#menubtn.active a .line {  }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(9px) translateX(0) rotate(45deg);
		transform:translateY(9px) translateX(0) rotate(45deg);
	}
	#menubtn.active a #line2 { 
		-webkit-transform:translateY(-9px) translateX(0) rotate(-45deg); 
		transform:translateY(-9px) translateX(0) rotate(-45deg);
	}
	#menubtn.active a #line3{ display: none; }
	#menubtn.active .closetxt{ font-size: 1.4rem; position: absolute; left: 30px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; display: flex; align-items: center; }
	#header.fixed #gnav #menubtn a .line{ background: #191919; }
}







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


Mainv_index


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

#mainv_index{ position: relative; height: 100vh; min-height: 750px; }
#mainv_index .copybox{ color: #fff; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; position: relative; z-index: 1; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; -o-flex-direction: column; flex-direction: column; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; height: 100%; -ms-align-items: center; align-items: center; justify-content: center; padding-top: 100px; }
#mainv_index .copybox .maincopy{ font-weight: bold; font-size: 9.2rem; text-align: center;  line-height: 1.2; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; -o-flex-direction: column; flex-direction: column; }
#mainv_index .copybox .maincopy>p{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; width: 100%; }
#mainv_index .copybox .subcopy{ font-weight: 900; font-size: 2.8rem; margin-top: 30px; text-align: center; letter-spacing: 0.2em; }
#mainv_index .bglist{  position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
#mainv_index #scrollbtn{ position: absolute; bottom: 0; right: 0; left: 0; margin-left: auto; margin-right: auto; color: #fff; }
#mainv_index #scrollbtn .txt{ font-weight: bold; display: block; text-align: center; }
#mainv_index #scrollbtn .arr{ text-align: center; display: block; height: 41px;  }
#mainv_index #scrollbtn .arr .line{ position: relative; overflow: hidden; width: 1px; display: inline-block; height: 100%; z-index: 100; }
#mainv_index #scrollbtn .arr .line:before{ content: ""; position: absolute; top: -91px; left: 0; right: 0; margin: 50px auto 0; background: #fff; display: inline-block; width: 1px; -webkit-animation: arrow 2s ease 0s infinite normal; animation: arrow 2s ease 0s infinite normal; height: 41px; }

#mainv_index .slidebox { z-index: -1; }
#mainv_index .slidebox,
#mainv_index .slidebox div,
#mainv_index .slidebox li { 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.slick-current .bg,
#mainv_index .slidebox li.slick-slide[tabindex="0"] .bg { animation: zoomout 10s linear 0s 1 normal both; }
#mainv_index .slidebox li.slick-slide[tabindex="-1"] .bg { width: 100%; height: 100%; }
@keyframes arrow {
	0% {
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}

	70% {
		-webkit-transform: translate3d(-50%, 40px, 0);
		transform: translate3d(-50%, 40px, 0);
	}

	100% {
		-webkit-transform: translate3d(-50%, 40px, 0);
		transform: translate3d(-50%, 40px, 0);
	}
}
@keyframes zoomout {
	0% { transform: scale(1);}
	100% { transform: scale(1.2); }
}
@media screen and (max-width: 1040px){
	#mainv_index{ /*margin-top: 100px;*/ height: 600px; min-height: auto; }
	#mainv_index .copybox .maincopy{ font-size: 6rem; }
	#mainv_index .copybox .subcopy{ font-size: 2.1rem; margin-top: 20px;  }
	#mainv_index #scrollbtn{ display: none; }
}
@media screen and (max-width: 767px){
	#mainv_index{ height: 480px; }
	#mainv_index .copybox{ padding-top: 90px; }
	#mainv_index .copybox .maincopy{ font-size: 5rem; }
	#mainv_index .copybox .subcopy{ font-size: 1.7rem; margin-top: 10px;  }
}
@media screen and (max-width: 479px){
	#mainv_index .copybox .maincopy{ font-size: 4rem; }
	#mainv_index .copybox .subcopy{ font-size: 1.5rem; }
}

#topnewsbox{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; background: #f7f7f7; }
#topnewsbox .title{ background: #045DA4; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; text-align: right; width: 184px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; justify-content: center; font-weight: bold; font-size: 2rem; color: #fff; }
#topnewsbox .newsbox{ padding: 25px 40px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: calc(100% - 324px); display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; padding-right: 11%; justify-content: space-between; -ms-align-items: center; align-items: center; }


#topnewsbox .newsbox .newslist{ overflow: hidden; height: 34px; width: 100%; }
#topnewsbox .newsbox .newslist>ul{ margin:0; padding:0; position:relative; width: 100%; }
#topnewsbox .newsbox .newslist>ul>li{ width:510px; height:34px; position:absolute; top:-34px; list-style:none; }
#topnewsbox .newsbox .newslist._count1>ul>li:nth-child(1){ opacity: 1; top:0; }
#topnewsbox .newsbox .newslist._count2>ul>li:nth-child(1){ -webkit-animation:cycle2_1 10s linear infinite; animation:cycle2_1 10s linear infinite; }
#topnewsbox .newsbox .newslist._count2>ul>li:nth-child(2){ -webkit-animation:cycle2_2 10s linear infinite; animation:cycle2_2 10s linear infinite; }
#topnewsbox .newsbox .newslist._count3>ul>li:nth-child(1){ -webkit-animation:cycle3_1 15s linear infinite; animation:cycle3_1 15s linear infinite; }
#topnewsbox .newsbox .newslist._count3>ul>li:nth-child(2){ -webkit-animation:cycle3_2 15s linear infinite; animation:cycle3_2 15s linear infinite; }
#topnewsbox .newsbox .newslist._count3>ul>li:nth-child(3){ -webkit-animation:cycle3_3 15s linear infinite; animation:cycle3_3 15s linear infinite; }
#topnewsbox .newsbox .newslist>ul>li>dl{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; justify-content: space-between; }
#topnewsbox .newsbox .newslist>ul>li>dl>dt{ width: 100px; }
#topnewsbox .newsbox .newslist>ul>li>dl>dd{ width: calc(100% - 110px) }
#topnewsbox .newsbox .newslist>ul>li>dl>dd a span.tabletblock{ display: none; }
#topnewsbox .link{ width: 140px; }
#topnewsbox .link a{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; justify-content: center; width: 100%; height: 100%; background: #191919; color: #fff; font-weight: bold; text-decoration: none; }
#topnewsbox .link a:hover{ background: #045DA4; }

@keyframes cycle2_1 {
	0% { top:0px; }
	5% { top:0px; }
	45% { top:0px; opacity:1; z-index:0; }
	50% { top:34px; opacity:0; z-index:0; }
	51% { top:-34px; opacity:0; z-index:-1; }
	90% { top:-34px; opacity:0; z-index:0; }
	95% { top:-34px; opacity:0; }
	100% { top:0px; opacity:1; }
}
@keyframes cycle2_2 {
	0% { top:-34px; opacity:0; z-index:-1; }
	40% { top:-34px; opacity:0; z-index:0; }
	45% { top:-34px; opacity:0; }
	50% { top:0px; opacity:1; }
	55% { top:0px; }
	95% { top:0px; opacity:1; z-index:0; }
	100% { top:34px; opacity:0; z-index:0; }
}
@keyframes cycle3_1 {
	0% { top:0px; }
	5% { top:0px; }
	28% { top:0px; opacity:1; z-index:0; }
	33% { top:34px; opacity:0; z-index:0; }
	34% { top:-34px; opacity:0; z-index:-1; }
	90% { top:-34px; opacity:0; z-index:0; }
	95% { top:-34px; opacity:0; }
	100% { top:0px; opacity:1; }
}
@keyframes cycle3_2 {
	0% { top:0px; opacity:0; z-index:-1; }
	23% { top:-34px; opacity:0; z-index:0; }
	28% { top:-34px; opacity:0; }
	33% { top:0px; opacity:1;}
	37% { top:0px; }
	61% { top:0px; opacity:1; z-index:0; }
	66% { top:34px; opacity:0; z-index:0; }
	67% { top:-34px; opacity:0; z-index:-1; }
	100% { top:0px; opacity:0; z-index:-1; }
}
@keyframes cycle3_3 {
	0% { top:-34px; opacity:0; z-index:-1; }
	56% { top:-34px; opacity:0; z-index:0; }
	61% { top:-34px; opacity:0; }
	66% { top:0px; opacity:1;}
	71% { top:0px; }
	95% { top:0px; opacity:1; z-index:0; }
	99% { top:34px; opacity:0; z-index:0; }
	100% { top:-34px; opacity:0; z-index:-1; }
}

@media screen and (max-width: 1040px){
	#topnewsbox{ display: block; padding-top: 30px; background-color: transparent; }
	#topnewsbox .title{ width: 100%; padding-left: 6%; padding-right: 6%; justify-content: flex-start; background-color: transparent; color: #045DA4; font-size: 2.2rem; margin-bottom: 10px; }
	#topnewsbox .newsbox{ padding-right: 0; width: 100%; display: block; padding-right: 6%; padding-left: 6%; padding-top: 10px; padding-bottom: 10px; }
	#topnewsbox .newsbox .newslist{ width: 100%; }
	#topnewsbox .newsbox .newslist{ height: auto; overflow: visible; }
	#topnewsbox .newsbox .newslist>ul>li{ width:100%; height:auto; top:0; position: static; margin-bottom: 20px; }
	#topnewsbox .newsbox .newslist>ul>li:last-child{ margin-bottom: 0; }
	#topnewsbox .newsbox .newslist>ul>li>dl{ display: block; }
	#topnewsbox .newsbox .newslist>ul>li>dl>dt{ width: 100%; }
	#topnewsbox .newsbox .newslist>ul>li>dl>dd{ width: 100% }
	#topnewsbox .newsbox .newslist>ul>li>dl>dd a span.tabletblock{ display: inline; }
	#topnewsbox .newsbox .newslist>ul>li>dl>dd a span.tablethide{ display: none; }
	
	#topnewsbox .newsbox .newslist>ul>li:nth-child(1),
	#topnewsbox .newsbox .newslist>ul>li:nth-child(2),
	#topnewsbox .newsbox .newslist>ul>li:nth-child(3){ -webkit-animation:none!important; animation:none!important; }
	#topnewsbox .link{ width: 100%; margin-left: 0; text-align: right; margin-top: 30px; }
	#topnewsbox .link a{ max-width: 420px; height: 63px; margin-left: auto; margin-right: auto; }
	#topnewsbox .link a:hover{ background: #191919; }
}
@media screen and (max-width: 767px){
	#topnewsbox{ padding-top: 20px; }
	#topnewsbox .newsbox{ padding-top: 0; padding-bottom: 0; }
	#topnewsbox .newsbox .newslist>li>dl{ display: block; }
	#topnewsbox .newsbox .newslist>li>dl>dt{ width: 100%; }
	#topnewsbox .newsbox .newslist>li>dl>dd{ width: 100% }
}



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

Pankuzu



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

#pankuzu { line-height: 1.4; background: #F7F7F7; padding: 19px 0; }
#pankuzu ol li { display:inline; }
#pankuzu ol li:after { content: " /"; }
#pankuzu ol li:last-child:after{ content: none }
#pankuzu ol li a:hover { opacity: 0.7; transition: 0.3s; }
@media screen and (max-width: 1040px) { 
	#pankuzu{ display: none; }
}




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


main


//////////////////*/
#mainv { padding-top: 60px; height: 468px; position: relative; }
#mainv:before{ content: ""; background: rgba(25,25,25,.3); width: 100%; height: 100%; position: absolute; bottom: 0; left: 0; top: 0; right: 0; }
#mainv .pagetitlebox{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; color: #fff; height: 100%; }
#mainv .pagetitlebox .pagetitle{ font-weight: 900; font-size: 4rem; display: inline-block; }
#mainv .pagetitlebox .pagesubtitle{ display: inline-block; font-weight: bold; font-size: 1.8rem; margin-left: 10px; }
#mainv .bg{ object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; }
@media screen and (max-width: 1040px){
	#mainv{ height: 360px; }
	#mainv .pagetitlebox .pagetitle { font-size: 3rem; }
	#mainv .pagetitlebox .pagesubtitle{ font-size: 1em; }
}
@media screen and (max-width: 767px) { 
	#mainv{ height: 260px; }
	#mainv .pagetitlebox .pagetitle { font-size: 2.6rem; }
}
@media screen and (max-width: 479px) { 
	#mainv{ height: 200px; }
}

#main{  }
#main #secwrap_1{ padding-top: 90px; }
@media screen and (max-width: 1040px){
	#main #content{  }
}
@media screen and (max-width: 767px) { 
	#main #content{  }
	#main #secwrap_1{ padding-top: 50px; padding-bottom: 100px; }
}




#maincnt{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; justify-content: space-between; width: 100%; padding-top: 20px; }
#maincnt .sectionwrap{ -webkit-flex: 1; -moz-flex: 1; -ms-flex: 1; -o-flex: 1; flex: 1; }
#maincnt #aside{ width: 260px; margin-left: 6%; flex-shrink: 0; }
#maincnt #aside .cssection{ margin-bottom: 60px; }
#maincnt #aside .cssection:last-child{ margin-bottom: 0; }
#maincnt #aside .cssection .cstitle{ margin-bottom: 15px; color: #045DA4; font-weight: bold; font-size: 1.8rem; }
#maincnt #aside .cssection .categorylist>li{ margin-bottom: 10px; }
#maincnt #aside .cssection .categorylist>li:last-child{ margin-bottom: 0; }
#maincnt #aside .cssection .categorylist>li:before{ content: ""; background: url(../img/common/arr1_blue.svg); display: inline-block; width: 10px; height: 16px; margin-right: 10px; vertical-align: -2px; }
#maincnt #aside .cssection .categorylist>li>a{ text-decoration: none; }

#maincnt #aside .cssection .archiveselect select { font-size: 100%; height: 77px; padding: 10px 40px 10px 15px; background: url("../img/common/arr_select.svg") no-repeat 95% center, #f7f7f7; border: none !important; background-size: 16px 10px; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media screen and (max-width: 1040px){
	#maincnt{ display: block; padding-top: 0; }
	#maincnt #aside{ margin-top: 70px; margin-left: 0; width: 100%; }
	#maincnt #aside .cssection .categorylist{ -webkit-columns: 3; -moz-columns: 3; -o-columns: 3; columns: 3; }
}
@media screen and (max-width: 767px) { 
	#maincnt{ margin-bottom: 60px; }
	#maincnt #aside .cssection{ margin-bottom: 30px; }
	#maincnt #aside .cssection .categorylist{ -webkit-columns: 2; -moz-columns: 2; -o-columns: 2; columns: 2; }
}
@media screen and (max-width: 639px){
	#maincnt #aside .bloglist2>ul{ display: block; margin-left: 0; }
	#maincnt #aside .cssection .categorylist{ -webkit-columns: auto; -moz-columns: auto; -o-columns: auto; columns: auto; }

}




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


Footer


//////////////////*/
#bnrlistwrap{ padding: 0; }

#footer{  }
#footer .footermain{ background: #045DA4; color: #fff; padding-top: 80px; padding-bottom: 70px; }
#footer .footermain>.incnt>.inwrap{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; justify-content: space-between; }
#footer .footermain>.incnt>.inwrap>.inwrap{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; justify-content: flex-start; width: calc(96% - 400px) }
#footer .footermain .logobox{ width: 290px; margin-right: 40px; }
#footer .footermain .logobox .logo{ font-size: 2.8rem; }
#footer .footermain .logobox .logo a{ text-decoration: none; color: #fff; }
#footer .footermain .logobox .logo img{ width: 280px; height: 64px; }
#footer .footermain #cr{ font-weight: bold; font-size: 1.4rem; margin-top: 15px; letter-spacing: 0.15em; text-align: left; }
#footer .footermain #fnav{ padding-top: 20px; width: calc(100% - 330px) }
#footer .footermain #fnav .list{ margin-left: -35px; margin-bottom: -10px; text-align: left; }
#footer .footermain #fnav .list>li{ margin-left: 35px; margin-bottom: 10px; display: inline-block; vertical-align: top;  }
#footer .footermain #fnav .list>li>ul{  }
#footer .footermain #fnav .list>li>ul>li{ text-align: left; margin-bottom: 10px; }
#footer .footermain #fnav .list>li>ul>li:last-child{ margin-bottom: 0; }
#footer .footermain #fnav .list>li>ul>li>a,
#footer .footermain #fnav .list>li>ul>li>span{ text-decoration: none; font-weight: bold; color: #fff; }
#footer .footermain #fnav .list>li>ul>li>a:hover{ color: #ccc; }
#footer .footermain #fnav .list>li>ul>li .sublist{ padding-left: 5px; margin-top: 5px; }
#footer .footermain #fnav .list>li>ul>li .sublist>li{  padding-left: 0.8em!important; text-indent: -0.8em; font-size: 1.5rem; margin-bottom: 3px; }
#footer .footermain #fnav .list>li>ul>li .sublist>li:last-child{ margin-bottom: 0; }
#footer .footermain #fnav .list>li>ul>li .sublist>li:before{ content: "- " }
#footer .footermain #fnav .list>li>ul>li .sublist>li>svg{ width: 6px; height: 10px; }
#footer .footermain #fnav .list>li>ul>li .sublist>li>a{ text-decoration: none; color: #fff; }
#footer .footermain #fnav .list>li>ul>li .sublist>li>a:hover{ color: #ccc; }
#footer .footermain .txtbox{ padding-top: 20px; width: 390px; }
#footer .footermain .address{ margin-top: 10px; }
#footer .footermain .contactlist{ margin-left: -15px; margin-top: 5px; }
#footer .footermain .contactlist>li{ display: inline-block; vertical-align: middle; margin-left: 15px; font-size: 2.4rem; font-weight: bold; }
#footer .footermain .contactlist>li a{ color: #fff; text-decoration: none; letter-spacing: 0.15em; }
#footer .footermain .contactlist>li svg{  }
#footer .footermain .contactlist>li.tel svg{ width: 26px; height: 26px; vertical-align: -5px; }
#footer .footermain .contactlist>li.contact svg{ width: 20px; height: 16px; margin-right: 8px; }
#footer .footermain .contactlist>li.contact a:hover{ color: #ccc; }
@media screen and (max-width: 1040px){
	#footer .footermain #fnav{ display: none; }
	#footer .footermain>.incnt>.inwrap{ justify-content: space-between; }
	#footer .footermain>.incnt>.inwrap>.inwrap{ width: 290px; }
	#footer .footermain .logobox{ margin-right: 0; }
	#footer .footermain .txtbox .address{ font-size: 1.6rem; }
	#footer .footermain{ padding-top: 60px; padding-bottom: 50px; }
	#footer .footermain .txtbox{ width: calc(90% - 290px); max-width: 390px; }
}
@media screen and (max-width: 767px){
	#footer .footermain{ padding-top: 50px; padding-bottom: 40px; }
	#footer .footermain>.incnt>.inwrap{ display: block; }
	#footer .footermain>.incnt>.inwrap>.inwrap{ width: 100%; }
	#footer .footermain .txtbox{ width: 100%; max-width: 100%; }
	#footer .footermain .logobox .logo img{ width: 250px; height: auto; }
	#footer .footermain #cr{ margin-top: 30px; }
	#footer .footermain .contactlist>li{ line-height: 1.8; }
	#footer .footermain .address{ margin-top: 15px; }
}
@media screen and (max-width: 479px){
	#footer .footermain .contactlist>li.tel svg{ width: 23px; height: 23px; vertical-align: -4px; margin-right: 2px; }
	#footer .footermain .contactlist>li.contact svg{ margin-right: 5px; }
}

#pagetop a{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; justify-content: center; width: 100%; height: 56px; font-size: 1.8rem; font-weight: bold; text-decoration: none; }
#pagetop a:hover{ color: #045DA4; }