@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td { margin: 0; padding: 0;}
body { overflow-x: hidden; color:#000; font-size:16px;line-height: 160%; font-family: "M PLUS 1p", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;}
ul { list-style: none; }
fieldset,img { border: 0; vertical-align: top; overflow: hidden; }
a {color:inherit; text-decoration:none; transition: color 0.4s;  }
a:hover {color:#eb000c;}
.tuline { text-decoration: underline; }
.clearfix { *zoom:1;}
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.clear { clear: both; display: block; height: 0; overflow: hidden; }
img{ max-width:100%;}
.sp_none{ display: block; }
.pc_none{ display: none; }
.an_scl{ opacity: 0; }

.fw_Nsans{font-family: 'Noto Sans JP', sans-serif!important;}

.red_cl{ color:#eb000c; }
.white_cl{ color:#fff; }
.black_cl{ color: #000; }


.fs14{ font-size:0.14rem; line-height: 150%; }
.fs16{ font-size:0.16rem; line-height: 160%; }
.fs18{ font-size:0.18rem; line-height: 160%; }
.fs20{ font-size:0.2rem; line-height: 170%; }
.fs22{ font-size:0.22rem; line-height: 170%; }
.fs26{ font-size:0.26rem; line-height: 170%; }
.fs30{ font-size:0.3rem; line-height: 160%; }
.fs31{ font-size:0.31rem; line-height: 150%; }
.fs34{ font-size:0.34rem; line-height: 140%; }
.fs36{ font-size:0.36rem; line-height: 140%; }
.fs40{ font-size:0.4rem; line-height: 120%; }
.fs60{ font-size:0.6rem; line-height: 120%; }

.smf{ font-weight: 300; }
.ta_cen{text-align: center;}

:root{--htmlfont:90px;}


/******************************************************************/
html{ font-size:var(--htmlfont); opacity: 0; transition: opacity 1s;visibility: hidden;}
html.pgshow{ opacity: 1;visibility: visible; }
/* html.wf-active,html.loading-delay{visibility: visible;} */
body{font-size: 0.2rem; line-height:200%; position: relative; font-family: "M PLUS 1p", serif;font-weight: 500; font-style: normal;}
body::after{content: ""; position: fixed; top: 0; left: 0; width: 100vw; height: 101vh; z-index: -1; background: linear-gradient(-45deg, #815e0a, #ffd118, #815e0a);	 opacity: 0.9; background-size: 400% 400%;	animation: gradient 7s ease infinite;}
@keyframes gradient {
	0% {background-position: 0% 50%;}
	50% {background-position: 100% 50%;}
	100% {background-position: 0% 50%;}
}




.wrap{ position: relative; z-index: 10; }
header{width:1500px; max-width: 100%; margin: 0 auto;padding: 0 0.15rem; box-sizing: border-box; position: relative;}

	/*  2024/12/26　Youtubeなし対応  */
	/* .top{ text-align: center; width: 52%; padding: 15% 0 18% 0%; } */
	/*  Youtubeあり通常仕様ここまで */
	.top{ text-align: center; width: 52%; padding: 6% 0 1% 0; }
	

	.kv{ position:absolute; top: 0;right:2%; z-index: -1; width: 46%; }
	.ahu_tx01{padding-bottom:0;line-height: 100%; text-align: center;}
	.ahu_tx01 img{ width: 70%;}

	.ahu_tx02{word-break: keep-all; line-height: 100%;}
	.ahu_tx03{padding: 3% 0 5.67% 0;  line-height: 100%;}
	.ahu_time{padding-bottom:1.9%;}
	.ahu_tx04{ padding-bottom: 2.3%;  line-height: 100%;}
	.ahu_tx05 > span{ display: inline-block; padding-bottom:1%;margin-bottom:1%; border-bottom: 1px solid #be0008;}

	.top_pv{ width:65%; margin:6.7% auto;}
	.topytbmob{ width: 100%; padding-bottom: 56.25%; position:relative;}
	.topytbmob iframe{ position: absolute; top:0; left:0; width:100%; height:100%; }


.main{ width: 1100px; max-width:90%; margin: 0 auto; padding: 0 4.5%; box-sizing: border-box; margin-bottom: 50px; position: relative; z-index: 10;}
.inner_mob{position:relative; box-sizing: border-box; padding:0.5rem 0.3rem;}


	.ahu_tabin{ display: flex; flex-wrap: wrap;min-height:90px; position: relative; background-color: rgba(255, 255, 255, 0.8);}
	.ahu_tabin::before{--bow: 1em;--boc: #000; content: ""; position: absolute; bottom:calc(0px - var(--bow)); right:calc(0px - var(--bow));z-index: -1; width:100%; height:100%; border-right:var(--bow) solid var(--boc);border-bottom:var(--bow) solid var(--boc);box-sizing: border-box; }
	.ahu_tabtitle{position: absolute; top: -0.6rem; left: 0.2rem; width:5.2rem; padding: 0.1rem;text-align: center; color: #fff; display: flex;box-sizing: border-box; }
	/* .mobin_title{ width: 0.7rem; } */

	.ahu_tabcon{padding: 1.1rem 0.8rem 0.4rem 1.5rem; box-sizing: border-box; }
	.ahu_ints{ display: flex; padding-bottom: 0.15rem}
	.ahu_instit{ display: flex; /* align-items: center;  */border-right: 2px solid #000; padding-right: 0.105rem; width: 2.2em; }
	.ahu_insc{ display: flex; align-items: center; padding:0 0.3rem 0 0.1rem; }
	.ahu_ints .ahu_insc:last-of-type{ padding: 0 0 0 0.1rem; }
	.smtx{ display: block; font-weight: 300; }
	.smtx02{ display: block; font-weight: 300; text-align: left;}
	.smtx03{ display: block; font-weight: 300; padding-top: 0.1rem;}
	.ahu_ints02{ display: flex; padding-top: 0.3rem}
	.ahu_ints02 .ahu_instit{ text-align: center;  width:2.1rem; display: flex;justify-content: center;}
	.ahu_ints02 .ahu_insc{ padding:0 0 0 0.32rem ; line-height:180%; width: calc(100% - 2.7rem); box-sizing: border-box; }
	.mobtx02 .ahu_tabcon{display: flex; align-items: center;}
	.comment_pre{padding: 0 0 0.1rem 0;}
	.other_text{ font-size: 0.16rem; line-height: 160%; }


	.ahucomment.ahu_ints02 .ahu_instit{ width:2rem;}
	.ahucomment.ahu_ints02 .ahu_insc{ width: calc(100% - 2rem);}

	.ahu_sns{width:1500px; max-width: 100%; margin: 0 auto;padding: 0 0.2rem;}
	.ahu_sns a{display:inline-block; line-height:150%;}
	.ico_sns{ width:0.3rem; vertical-align: middle;margin-right: 0.1rem;}
	.smtxinfo{text-align: center; padding: 0.3rem 0.2rem 0.2rem 0.2rem;}
	.ahu_ints02 .ahu_insc .comment{ font-size: 0.8em; line-height: 1.5; }

	.ban_lcf{ display: inline-block; font-size: 0.24rem; line-height: 110%; padding: 0.45em 1.4em;margin: 0.1rem 0;border: 0.02rem solid #eb000c; position: relative; color: #eb000c; overflow: hidden;}
	.ban_lcf::before{content: "";width:150%;height:500%;opacity: 0;border-radius:999px;background: #eb000c;position: absolute;transition: all .5s ease-Out;top:50%;left: 50%; transform: translate(-50%,-50%) scale(0, 0); z-index:0;}
	.ban_lcf:hover::before{ transform: translate(-50%,-50%) scale(1, 1);opacity: 1;}

	.ban_lcf span{ position: relative; z-index: 10; }
	.ban_lcf:hover{color:#fff;}


	.textlin01{}
	.textlin01 li{ text-indent: -1em; padding-left: 1em; line-height: 130%; padding-bottom: 0.3em; }

	.prelistmob{ display: flex; flex-wrap:wrap; width: 100%;}
	.preinner{ width:18%; text-align: center; padding-right: 2%}
	.precon{ display: flex;flex-wrap: wrap;padding: 0.2rem 0 0.3rem 0;}
	.preconinner{ width: 45%; box-sizing: border-box; margin-left: 3%;}
	.preimg{ width:100%;}

	.tabmobs{ display: flex;flex-wrap: wrap;padding: 0.8em 0; width:calc(100% + 0.4em);margin-left: -0.2em;}
	.tabinner{ width:50%; box-sizing: border-box; padding: 0.2em;}



	.txin05{ padding-left:5em;text-indent: -5em; display: block; }

	.talk_a{padding-left: 2em; text-indent: -2em; color: #720097;}
	.talk_b{ padding-left: 2.2em;font-size: 0.9em; /* color: #575757; */ }
	.ta_cl01{color: #8b009c; display: inline-block; margin-left: -2.2em}
	.ta_cl02{color: #bf8000; display: inline-block; margin-left: -2.2em}

	.footphoto{ position: relative; z-index: -1;margin: -8% 0 -5% 0;}
	.footphoto img{ width: 100%; }



footer{ display: block; }
	.footinner{width:1500px; max-width: 100%; margin: 0 auto;padding: 0 0.2rem; position: relative; box-sizing: border-box;}
	.ftcn{ text-align: right; line-height: 200%; }
	.ftcn_inbox{display:inline-block; text-align:left; line-height: 187%;}
	.ft_logo{ position: absolute; width:5rem; top: 50%; left: 50%; transform: translate(-50%,-50%); }
	.ftcopy{ text-align: center; padding-bottom: 0.8rem; }

	.fbt_box{width:800px; max-width: 90%; display:none; color: #000; font-size: 0.18rem; line-height: 150%}


@media screen and (max-width:1500px) {
	:root{--htmlfont:6.667vw;}
}

@media screen and (max-width:768px) {
:root{--htmlfont:13.02vw;}

html{ width: 100%; overflow-x: hidden; }
body{ overflow-x: hidden;font-size: 0.24rem; line-height:200%;}
.sp_none{ display: none; }
.pc_none{ display: block; }

header{padding: 0;}
	.top{ width: auto; padding:0 0 0.3rem 0; }
	.kv{ position: static;width:100%; padding:0 0 0.2rem 0 ;margin-left:0; }
	.ahu_tx01{ line-height: 100%; }
	.ahu_tx02{ line-height: 100%; }
	.ahu_tx03{padding: 0.15rem 0 0.44rem 0;line-height: 100%; font-size: 0.38rem;}
	.top_pv{ width:83%; margin:0.1rem auto 0.3rem auto; }
	.topytbmob{}
	.top_logo{margin: 0; padding: 0 2% 2% 2%;}
	/*  top_logo 2024/2/19　Youtubeなし対応 padding-top削除必須 */

.ahu_time{ line-height: 100%; }

.main{max-width: 100%;padding: 0 3.33%;}
	.inner_mob{margin: 0.2rem 0 0.4rem 0;}
		.ahu_tabin{ min-height: 50px; position: relative; }
		.ahu_tabtitle{width: 80%; padding:0;}
		/* .ahu_tabtitle img{ width:100%; position: static;transform: translate(-55%, -75%); }
		 */
		.ahu_tabcon{padding: 1.1rem 0.45rem 0.5rem 0.45rem; box-sizing: border-box; width:100%;}
		.ahu_instit{ padding-right: 0.15rem; width: 2.2em; }
		.smtx02{text-align:center;}
		.smtx03{display: inline;padding-top:0;}

		.ahu_ints02{flex-wrap: wrap;}
		.ahu_ints02 .ahu_instit{ width: 100%;display: block;padding: 0 0 0.15rem 0; border-right: 0; border-bottom: 2px solid #000; margin-bottom: 0.15rem;}
		.ahu_ints02 .ahu_insc{ width: 100%; display: block; text-align: center; padding:0; word-break: break-all;  }
		.ahu_ints02 .ahu_insc .comment{text-align: left;}
		.comment_pre{padding:0.4rem 0 0.1rem 0; max-width: 90%;}
		.other_text{ font-size: 0.2rem; line-height: 160%; }

		.ahucomment.ahu_ints02 .ahu_instit{ width: 100%;}
		.ahucomment.ahu_ints02 .ahu_insc{ width: 100%;}


	.mobtx02 .ahu_tabcon p{ line-height: 200%; }
		.prelistmob{}
		.preinner{ width:30%;padding:1.5%}
		.footphoto{margin: -12% 0 -5% 0%;}
		.footphoto img{ width: 120%;max-width: 120%; margin-left: -10%; }
		.ban_lcf{font-size: 0.26rem; line-height: 110%; padding: 0.45em 1.4em;margin: 0.1rem 0;}


	.txin05{ padding-left:0;text-indent: 0;white-space: nowrap;}



footer{}
	.footinner{padding: 0;}
	.ft_logo{ position:static; width:100%;transform: translate(0,0); text-align: center; padding-top: 0.7rem}
	.ft_logo img{ width:5rem;}
	.ftcopy{ text-align: center; padding-bottom: 0.8rem; }

}


