@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:#444444; font-size:16px;line-height: 160%; font-family: 'ヒラギノ角ゴ ProN',"Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;font-feature-settings:"palt";}
ul { list-style: none; }
fieldset,img { border: 0; vertical-align: top; overflow: hidden; }
a {color:#f14f83; text-decoration: underline; transition: color 0.4s;  }
a:hover { text-decoration: underline;color:#444444;}
.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%;}

.cl_lble{ color:#2addd3;}
.cl_dble{ color:#00cec2;}
.cl_lpnk{ color:#ffb3cc;}
.cl_dpnk{ color:#ff5e93;}
.cl_dyel{ color:#e2b500;}
.cl_lgly{ color:#808080;}
.cl_red{ color:#ff0000;}
.cl_prink{ color:#ff5772;}


.fontkosugi{font-family: 'Kosugi Maru', sans-serif;}
.fontMPR{font-family: 'M PLUS Rounded 1c', sans-serif;}
.fontMPP{font-family: 'M PLUS 1p', sans-serif;}
.wf_jupiter{font-family: bd-jupiter,sans-serif; font-weight: 400; font-style: normal;}
.wf_jakob{font-family: jakob, sans-serif; font-weight: 300; font-style: normal;}
.wf_ShueiMgo{font-family: dnp-shuei-mgothic-std, sans-serif;}
.wf_ADMin{font-family: vdl-admin, sans-serif;}
.font_feature{font-feature-settings:"palt";-moz-font-feature-settings:"palt";-webkit-font-feature-settings:"palt";}


.fze06{ font-size: 0.6em; }
.fze07{ font-size: 0.7em; line-height: 150%; }
.fze075{ font-size: 0.75em; line-height: 150%; }
.fze08{ font-size: 0.8em; line-height: 180%; }
.fze085{ font-size: 0.85em; line-height: 150%; }
.fze09{ font-size: 0.9em;}

.fzt12{ font-size: 1.2em; line-height: 180%; }

.fz30{ font-size: 0.3rem; line-height: 160%; }
.fz36{ font-size: 0.36rem; line-height: 160%; }
.fz40{ font-size: 0.4rem; line-height: 110%; }
.fz50{ font-size: 0.5rem; line-height: 110%; }
.fz55{ font-size: 0.55rem; line-height: 110%; }
.fz60{ font-size: 0.6rem; line-height: 110%; }
.fz70{ font-size: 0.7rem; line-height: 110%; }
.fz80{ font-size: 0.8rem; line-height: 110%; }
.fz90{ font-size: 0.9rem; line-height: 110%; }
.fz100{ font-size: 1rem; line-height: 110%; }
.fz110{ font-size: 1.1rem; }

.marb120{margin-bottom:1.2rem;}

.ytnmob{ width: 750px; max-width: 100%; margin: 0.15rem auto; }
.ytnmob .ytbin{ position: relative; height: 0; padding-bottom: 56.2%; }
.ytnmob .ytbin iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.sp_none{ display: block; }
.pc_none{ display: none; }


.align_right{text-align: right}
.align_left{text-align: left}
.an_scl{ opacity: 0; }
.op05{ opacity: 0.5; }

/******************************************************************/
html{ font-size: 100px; }
body{font-size: 0.2rem; line-height:200%; position: relative;padding: 1px 0;}

.prebg{ position: absolute; top: 0; left: 0; background: url(../images/body_bg.jpg) top center no-repeat; background-size: auto auto; width: 100%; height: 100vh;z-index: 0;pointer-events:none; transition:opacity 0.1s;}


.top_ph{text-align: center; margin: 6.1rem 0 0 0; position: relative; z-index: 3;}
.top_ph .tph{  max-width: 100%; }

.wrap{ position: relative; z-index: 3; }
.innermob{ }
.incon{width: 1260px; max-width: 100%; margin:0 auto; padding: 0 0.3rem; box-sizing:border-box; text-align: center;  }
.titfont{ line-height: 155%; padding: 1.1rem 0 0.7rem 0;}
.txtcont{ margin-bottom: 0.7rem; position: relative;}

menu{ text-align: center;line-height: 0; padding: 0.5rem 0 0 0; margin: 0;}
menu a{display: inline-block; position: relative; font-size: 2.5em; line-height: 110%; text-decoration: none; margin: 0.2em 0.2rem;}
menu a span{position: relative; z-index: 5;padding: 0.2em}
menu a:after{ content: ""; position: absolute; bottom:0;left: 0; display:block; z-index: 1; width: 100%; height:15px; border-radius: 999px;
    background: linear-gradient(to left, #010000 0%,#ff709d 50%,#010000 100%);
    background: -webkit-linear-gradient(right,#010000 0%,#ff709d 50%,#010000 100%);}
menu a:before{ content: ""; position: absolute; bottom:5px;left: 0; display:block; z-index: 2; width: 100%; height:20px; border-radius: 999px; background: #fff;} 
menu a:hover{ text-decoration: none; }


.title_fin{ text-align: center; font-size:0.46rem; line-height: 100%; font-weight: 800; color: #ff709d; width: 1200px; max-width: 100%; margin: 1rem auto 0.5rem auto; position: relative; border-radius: 9999px; height:1em;
	background: linear-gradient(to left, #010000 0%,#ff709d 50%,#010000 100%);
	background: -webkit-linear-gradient(right,#010000 0%,#ff709d 50%,#010000 100%);
	}
.title_fin:before{ content: ""; display: block; position: absolute; top:0px; left: 0px; width:calc(100% - 0.3em); height:calc(100% - 0.3em); margin: 0.15em; background: #fff;z-index: 1;  border-radius: 999px; }
.title_fin span{ position: relative; z-index: 5; display: inline-block; background: #fff;transform: translate(0,-50%); padding: 0 0.5em;}

.longwidth{ width: 100%; position: relative; padding: 0; }
.longwidth .txtcont{ width: 58.9%; background: #f2f1f7; margin-left: 41.1%; text-align: left; padding-bottom: 0; }
.txtcont .instph{ position: absolute; top: 0; right:100%; width: 7rem;margin:0.7rem -0.6rem 0 0; box-shadow:0.2rem 0.2rem 0 rgba(0,0,0,0.06);}
.txtcont .instxc{width:630px; max-width:calc(100% - 1.4rem);  padding:0.7rem 0.2rem 0.7rem 1.2rem; font-size: 0.9em; line-height:180%;   }
.txtcont .instxc h4{ padding-bottom: 0.1rem; }


.cdlinecont{ display: flex; padding: 0.3rem; }
.cdlinecont .instph{ width: 40%; }
.cdlinecont .instxc{ width: 60%; padding:0 0 0 2%;display: flex;align-items: center;justify-content: center; box-sizing:border-box;}

.cdlinecont02{ display: flex; padding: 0.3rem; }
.cdlinecont02 .instph{ width: 40%; }
.cdlinecont02 .instxc{ width: 60%; padding:0 0 0 2%;box-sizing:border-box;}


.mobtitle{ text-align: center; padding:0; color: #c6b6d8; margin: 2rem 0 0 0; line-height: 110%;}
.mobtitle2{ text-align: center; padding:0.6em; color: #fff; background: #000; font-weight: 700;margin: 1.3rem 0 0.6rem 0;  }
.mobtitle3{ color: #c6b6d8;}
.banlink{ text-align: center; font-weight: 700; }
.banlink a{ display: inline-block;position: relative; border-radius: 999px;text-decoration: none; padding: 0.05rem; overflow: hidden; color: #000000;background:#000000; margin: 0 auto;
	/* background: linear-gradient(to bottom, #fbff02 0%,#89ea75 50%,#01d2fd 100%);
	background: -webkit-linear-gradient(top,#fbff02 0%,#89ea75 50%,#01d2fd 100%); */
}
.banlink .banpo{background: #fff; display: block; padding: 0.6em 3em; border-radius: 999px;transition:background 0.4s;}
.banlink a:hover{}
.banlink a:hover .banpo{background: #444444; color: #fff;}

.incdmob{ display: flex;flex-wrap:wrap; }
.incdmob .cdcon{ width:23.3%;padding:1.2% 2.25% 3.4% 0;}
.incdmob .cdcon:nth-child(4n){ padding-right: 0; }
.cdph{ margin-bottom: 0.1rem }

.landmob{ border:0.1rem solid #ffb3cc; position:relative; padding:0 0.3rem 0.7rem 0.3rem; margin-bottom: 1rem;}
.lm_tit{ display: inline-block;background: #fff; transform: translate(0, -55%); padding: 0 0.6em; }
.lm_tit .lm_forline{ display: inline-block;padding: 0.5em 0 0.5em 0; background: url(../images/line_pn01.png) 0 bottom repeat-x; background-size:0.38rem 0.22rem; font-weight: bold;  }

.lm02{border-color:#ffe948; }
.lm02 .lm_tit .lm_forline{ background-image: url(../images/line_pn02.png); }

.lm03{border-color:#6aebe4; }
.lm03 .lm_tit .lm_forline{ background-image: url(../images/line_pn03.png); }

.tb_lmob{display: flex;flex-wrap:wrap;}
.tb_incon{ width: 48%; margin-right: 4%; position: relative;margin-bottom: 0.5rem;}
.tb_lmob .tb_incon:nth-child(2n){ margin-right:0%;}
.tb_incon h4{padding:0.35rem 0 0.3rem 0; }
.tn_logo{ position: absolute; right: 0; bottom: 0; width: 2.01rem; }

.oubomob{ background:#f2f2f2; padding:0.6rem 0.3rem;   }
.oubomob h3{padding-bottom: 0.15rem;}
.ou_ioc{padding: 20px;}
.ou_ioc img{max-width: 10%;}

.qalist{ text-align:left; }
.qalist .qa_q{padding-left: 1.5em; text-indent: -1.5em; font-weight:bold; }
.qalist .qa_a{padding-left: 1.5em; text-indent: -1.5em; margin-bottom:0.5rem; }
.textind01{padding-left: 1em; text-indent: -1em;}
.textinul01 li{padding-left: 0.5em; text-indent: -0.5em;}
.textinul02 li{padding-left: 0.5em; text-indent: -0.5em;}
.txlh_120 li{line-height: 130%;margin-bottom: 0.5em;}

.ban_tnlist{}
.ban_phline{width:250px; max-width: 40%; padding:0.1rem; display: inline-block;  text-align: center;}
.ban_phline .ban_pvlink{ display: inline-block;font-family: 'M PLUS Rounded 1c', sans-serif; font-size: 0.3rem; line-height: 100%; font-weight: 700; padding:0.4em 1em; border-radius: 999px; color: #fff; background-color:#000 ; text-decoration: none; margin: 0.1rem 0; transition:opacity 0.4s; }
.ban_phline .bnty01{ background-color:#89bf20;}
.ban_phline .bnty02{ background-color:#01a8e9;}
.ban_phline .bnty03{ background-color:#e0017c;}
.ban_phline .bnty04{ background-color:#f7e63f;}

.ban_phline a:hover{ opacity: 0.7; }

.js_slidebn{ padding: 0.2em 0.5em; padding-right: 2em; position: relative; background: #908f8f; color: #fff; font-size: 1.3em; margin-bottom: 0.15rem; cursor: pointer;}
.sb_inioc{ position: absolute; right: 0; top:0; width: 2em; height: 100%; background: #333333; }
.sb_inioc:before{content: '';width: 1em;height: 1em;border: 0px;border-top: solid 2px white;border-right: solid 2px white;    transform: rotate(135deg) translate(-50%,-50%);transform-origin: 5% -10%;position: absolute;top: 50%;left: 50%;}


.pgtp{ position: fixed; bottom: 30px; right: 4%; text-align: center; text-decoration: none; display: none; width: 0.6rem; padding: 4px; border-radius: 999px; overflow: hidden; transition:transform 0.4s;transform: rotate(180deg) translate(0,0);transform-origin: 50% 50%; z-index: 10;
	background:#89ea75;
	background: linear-gradient(to bottom, #c6c0af 0%,#ff709d  50%,#c6c0af 100%);
	background: -webkit-linear-gradient(top,#c6c0af 0%,#ff709d  50%,#c6c0af 100%);
}

.pgtp.upshou{transform: rotate(180deg) translate(0,0); opacity: 1;}
.pgtp:hover{transform: rotate(180deg) translate(0,15%); }




@media screen and (min-width:2000px) {
	.prebg{ background-size: 100% auto;}
	.top_ph{margin: 30.5% 0 0 0;}
	.top_ph .tph{width: 50%; }
}
@media screen and (max-width:1300px) {
	.prebg{ background-size: 153.8% auto;}
	.top_ph{ margin: 46.92% 0 0 0;}
	.top_ph .tph{width: 76.9%;}
	.title_fn02{ margin-left:0.3rem; margin-right:0.3rem; width: calc(100% - 0.6rem); }
}


@media screen and (max-width:750px) {
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; }

.fz30{ font-size: 0.26rem;}
.fz36{ font-size: 0.3rem;}
.fz40{ font-size: 0.38rem; }
.fz50{ font-size: 0.42rem; }
.fz60{ font-size: 0.48rem; }
.fz70{ font-size: 0.54rem;}
.fz80{ font-size: 0.65rem;}

menu{ padding: 0.5rem 0 0 0; }
menu a{ font-size:1.8em; line-height: 110%; margin: 0.2em 0.1rem;}

menu a span{padding: 0.3em}
menu a:after{ height: 10px;} 
menu a:before{ bottom:3px;height: 14px;} 





.top_ph{}
.title_fin{font-size: 0.4rem;}
.title_fn02{ margin-left:0; margin-right:0; width:auto; }
/* .incon .title_fin{ width: 100vw; max-width:none; margin-left: -0.3rem; } */
.longwidth.incon .title_fin{margin-left:0rem; }

.longwidth .txtcont{ width:100%; background:transparent;margin-left:0; text-align: left; padding-bottom: 0;}
.txtcont .instph{ position:relative; top: 0; right:0;width: 6.68rem;margin:0 0.3rem; box-shadow:none;   }
.txtcont .instxc{width:auto; max-width:100%; margin:0 0.3rem;  padding:0.5rem 0 0.2rem 0; font-size: 0.9em; line-height:180%; box-sizing:border-box;}
.txtcont .instxc h4{ padding-bottom: 0.1rem;/*  font-size: 1.2rem;  */}

.mobtitle{margin: 1.5rem 0 0 0;  }

.incdmob .cdcon{ width:31.3%;padding:1.2% 3% 3.4% 0;}
.incdmob .cdcon:nth-child(4n){ padding-right: 3%; }
.incdmob .cdcon:nth-child(3n){ padding-right: 0%; }

.cdlinecont02{ display: flex; padding: 0.3rem; flex-wrap:wrap; }
.cdlinecont02 .instph{ width: 100%; padding: 0.4rem 0;}
.cdlinecont02 .instxc{ width: 100%; padding:0;box-sizing:border-box;}


.tb_incon{ width:100%; margin-right:0%; margin-bottom:0.5rem; position: relative;}
.incdmob .tb_incon:nth-child(2n){ margin-right:0%;}

}

@media screen and (max-width:480px) {

.incdmob .cdcon{ width:48%;padding:1.2% 4% 3.4% 0;}
.incdmob .cdcon:nth-child(3n){ padding-right: 4%; }
.incdmob .cdcon:nth-child(4n){ padding-right: 4%; }
.incdmob .cdcon:nth-child(2n){ padding-right: 0%; }

}




