@charset "utf-8";

/* ------------------------------
   Universal Reset
   Contents
   Animation
------------------------------ */

/*==================================================================
   Universal Reset
==================================================================*/
html,body{margin:0;padding:0;width:100%;height:100%;font-size:100%;}
main{display:block;}
h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,div,object,ul,ol,li,dl,dt,dd,tr,td,fieldset,form,legend,small,figure{margin:0;padding:0;font-size:100%;font-weight:normal;}
ul,ol{list-style:none;}
fieldset{margin:0;padding:0;border:0 none;}
legend{display:none;}
table,th,td{border:0;border-spacing:0;}
caption,th{text-align:left;}
em,strong,cite,abbr,caption,th,address{font-style:normal;font-weight:normal;}
img{max-width:100%;border:0 none;vertical-align:bottom;_vertical-align:text-bottom;}
input:not([type="radio"]):not([type="checkbox"]),select,textarea{margin:0;padding:0;border:none;border-radius:0;vertical-align:middle;
-moz-appearance:none;-webkit-appearance:none;appearance:none;}
select::-ms-expand{display:none;}
input[type="submit"]:hover{cursor:pointer;}
input[type="image"]{max-width:100%;outline: none;}
option{padding-right:5px;}
button{background:none;padding:0;border:0;text-align:left;}
article,aside,dialog,details,figure,figcaption,footer,header,hgroup,menu,nav,section{display:block;}
mark{font-weight:normal;font-style:normal;}
blockquote,q{quotes:none;}
a{vertical-align:baseline;text-decoration:none;}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}


/*==================================================================
   Contents
==================================================================*/
html{font-size: calc(1000vw / 750);}
body{color:#000;background: #b89cc8;font-size:2.6rem;font-family: 'Noto Sans JP',"Noto Serif JP", serif,"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height:1.7;-webkit-text-size-adjust:100%;-webkit-touch-callout:none;display: flex;flex-direction: column;min-height: 100%;}
body * { font-feature-settings: "palt" on;}
#container{max-width:750px;text-align:left;margin:0 auto;background: url(./bg_pattern01.png) repeat;background-size: 2.4rem 3.8rem;box-shadow: 0 0 3rem #7a5a9a;}
main{z-index: 0;flex-grow: 1;}
section{position:relative;}

/*========== contents ==========*/
/*----- ttl -----*/
.ttl01{font-size: 2.2rem;position: relative;padding: 3rem 3rem 3.5rem;color: #765856;text-align: center;line-height: 1.4;}
.ttl01::before,
.ttl01::after{position: absolute;content: "";left: 0;right: 0;background: url(./ttl_decoration01.png) no-repeat center / 100%;width: 100%;height: 100%;}
.ttl01::before {top: 0;background-position: top;}
.ttl01::after {bottom: 0;background-position: bottom;}
.ttl01 span{display: block;z-index: 1;position: relative;}
.ttl01 span.eng{font-size: 5rem;font-weight: 300;}
.ttl02{font-size: 6rem;color: #6ec0bd;padding-left: 1.5rem;border-left: 1.5rem solid #6ec0bd;line-height: 1;font-weight: 300;margin-block: 8rem 4.5rem;font-feature-settings: "palt" off !important;}

/*--- list ---*/
ul.list_disc > li { position: relative; padding-left: 1.8rem; }
ul.list_disc > li::before { position: absolute; left: 0; top: 0; content: "・"; }

/*--- area_text ---*/
.area_txt01 > p:not(:last-child),
.area_txt01 > figure:not(:last-child){margin-bottom: 4rem;}

/*--- area_fixbtn ---*/
.area_fixbtn{position: fixed;max-width: 75rem;z-index: 99;margin: auto;left: 0;right: 0;bottom: 2rem;}
.area_fixbtn a{position: relative;display: block;width: 56.1rem;margin: auto;}

/*----- footer -----*/
footer {background:#7c8be9;max-width: 750px; margin: 18rem auto 0; width: 100%;padding:7rem 3rem !important;text-align: center;}
footer ul {display: flex;justify-content: center;}
footer ul.list_icon{margin-bottom: 6rem;}
footer ul.list_icon > li:not(:last-child){margin-right: 5rem;}
footer ul.list_icon > li > a .mail{width: 6.2rem;vertical-align: middle;}
footer ul.list_icon > li > a .instagram{width: 4.8rem;vertical-align: middle;}
footer nav ul {flex-wrap: wrap;}
footer nav ul > li {position: relative;display: inline-flex;align-items: center;color: #fff;}
footer nav ul > li:not(:last-child)::after {content: "｜";margin: 0 1.5rem;color: #fff;font-size: 2.4rem;}
footer nav ul > li > a {display: block;color: #fff;font-size: 2.4rem;}
footer nav ul > li > a:hover {color: #ffd6ef;}
footer .copyright{color:#FFF;font-size:2.2rem;padding:5rem 0 0;}



/*========== section block ==========*/
*[class^="blc_"] > .inner{padding: 4rem 2rem 10rem;background: #fff;border-radius: 4.5rem 0;margin: 4rem 3rem 6rem;overflow: hidden;}

/*----- blc_mv -----*/
.blc_mv{min-height:102.4rem;position: relative;
 background: url(./mv_bg.png) center top / cover no-repeat;}
.blc_mv h1{padding: 4.5rem 0 0.3rem;}
.blc_mv .catch{font-size: 2.8rem;text-align: center;text-shadow: 0 0 1rem #fdfdfd, 0 0 1rem #fdfdfd, 0 0 1rem #fdfdfd;word-break: keep-all;overflow-wrap: anywhere;}

/*----- blc_about -----*/
.blc_about h2.ttl01{margin-top: 3rem;}
.blc_about .inner{padding-top: 9rem;}
.blc_about .area_lead h3{font-family: "Noto Serif JP", serif;text-align: center;margin-bottom: 4rem;}
.blc_about .area_lead h3 span{display: block;}
.blc_about .area_lead h3 span.grad01 {background: linear-gradient(180deg, #c872f2, #f772d1, #c872f2);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;color: #c872f2;font-size: 3.6rem;line-height: 1.4;}
.blc_about .area_lead h3 span.grad02{background: linear-gradient(90deg, #5298e4, #c872f2, #5298e4);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;color: #5298e4;font-size: 6rem;line-height: 1.3;margin-top: 2rem;}
.blc_about .area_lead .f_purple{color: #735fd1;text-align: center;font-weight: bold;}
/*- area_benefit -*/
.blc_about .area_benefit ul.list_benefit > li:not(:last-child){margin-bottom: 5rem;}
.blc_about .area_benefit ul.list_benefit > li .benefit_box {display: flex;align-items: center;justify-content: space-between;margin-bottom: 2.5rem;}
.blc_about .area_benefit ul.list_benefit > li .benefit_box .num {width: 15rem;height: 15rem;background: #6ec0bd;border-radius: 50%;color: #fff;align-content: center;text-align: center;font-size: 4.5rem;line-height: 1;}
.blc_about .area_benefit ul.list_benefit > li .benefit_box .num,
.blc_about .area_benefit ul.list_benefit > li .benefit_box .num * { font-weight: 300; }
.blc_about .area_benefit ul.list_benefit > li .benefit_box .num span {display: block;font-size: 3.4rem;}
.blc_about .area_benefit ul.list_benefit > li .benefit_box .ttl {color: #7c8be9;font-size: 2.4rem;width: calc(100% - 15rem - 1.8rem);}
.blc_about .area_benefit ul.list_benefit > li .benefit_box .ttl .main {font-size: 4.2rem;}
/*- area_profile -*/
.blc_about .area_profile .profile_box .profile{display: flex;align-items: center;gap: 2.5rem;margin-bottom: 1rem;}
.blc_about .area_profile .profile_box .profile .img{width: 15rem;}
.blc_about .area_profile .profile_box .profile .name{font-size: 3.8rem;line-height: 1;color: #7c8be9;flex: 1;}
.blc_about .area_profile .profile_box .profile .name span{font-size: 2.6rem;display: inline-block;}

/*----- blc_requirements -----*/
.blc_requirements ul.list_requirements{margin-top: 3rem;}
.blc_requirements ul.list_requirements > li {border: solid 1px #61c1be;border-radius: 1.5rem;padding: 2rem;margin-bottom: 5rem;}
.blc_requirements ul.list_requirements > li .requirements_box{font-size: 2.7rem;display: flex;align-items: center;gap: 1.8rem;margin-bottom: 1.5rem;}
.blc_requirements ul.list_requirements > li .requirements_box .label{display: inline-block;background: #61c1be;border-radius: 2.2rem;padding: 0 2.5rem;color: #fff;font-weight: 300;}
.blc_requirements ul.list_requirements > li .requirements_box .ttl{flex: 1;color: #61c1be;}
.blc_requirements ul.list_requirements > li .txt{font-size: 2.4rem;}
.blc_requirements .area_eligibility .note{font-size: 2rem;margin-top: 4rem;}

/*----- blc_company -----*/
.blc_company .logo_video video { display: block; width: 100%;margin-block: 1rem; }
.blc_company .area_group .f_purple{font-size: 3.8rem;text-align: center;margin-bottom: 3rem;}

/*----- blc_flow -----*/
.blc_flow ol.list_flow{margin-bottom: 3rem;}
.blc_flow ol.list_flow > li{position: relative;margin-top: 6rem;}
.blc_flow ol.list_flow > li:not(:first-child)::before {position: absolute;content: "▼";top: -5.5rem;left: 0;right: 0;margin: auto;width: 100%;height: 0;text-align: center;color: #765856;}
.blc_flow ol.list_flow > li .flow_inner{border: solid 1px #9d79d4;border-radius: 2rem;overflow: hidden;}
.blc_flow ol.list_flow > li .ttl{font-size: 3.2rem;text-align: center;background: #9d79d4;color: #fff;padding: 1.2rem 1rem;}
.blc_flow ol.list_flow > li .ttl span{font-size: 2.4rem;display: block;line-height: 1.2;}
.blc_flow ol.list_flow > li .txt{padding: 1.5rem 0.5rem 2rem 2rem;font-feature-settings: "palt";background-color: #fff;display: flex;justify-content: space-between;align-items: center;}
.blc_flow ol.list_flow > li .txt .sub{color: #9d79d4;border: solid .3rem #9d79d4;border-radius: 1rem;display: inline-block;width: 20rem;text-align: center;}
.blc_flow ol.list_flow > li .txt .main{width: calc(100% - 20rem - 1.5rem)}
.blc_flow ul.list_disc > li{font-size: 2.4rem;}
.blc_flow .notice{font-size: 3.2rem;color: #765856;line-height: 1.4;margin: 4rem 0 2.5rem;}
.blc_flow .area_qa ul.list_qa > li{margin-bottom: 4rem;line-height: 1.5;}
.blc_flow .area_qa ul.list_qa > li > dl > dd{color: #ed40a6;margin-top: 0.5rem;}

/*----- blc_support -----*/
.blc_support{margin-top: 10rem;}


/*========== Responsive ==========*/
@media screen and (min-width: 750px) {
html{font-size:calc(62.5% / 2);}
#container{max-width: calc(750px / 2);}

/**/}/*end min-width:750px*/


/*========== common ==========*/
em{color:#ff0000;}
strong{color:#ff0000;font-weight:bold;}

.mt_0{margin-top:0 !important;}
.mt_S{margin-top:0.5em !important;}
.mt_M{margin-top:1em !important;}
.mt_L{margin-top:1.5em !important;}
.mt_LL{margin-top:2em !important;}
.mb_0{margin-bottom:0 !important;}
.mb_S{margin-bottom:0.5em !important;}
.mb_M{margin-bottom:1em !important;}
.mb_L{margin-bottom:1.5em !important;}
.mb_LL{margin-bottom:2em !important;}

.pt_0{padding-top:0 !important;}
.pt_S{padding-top:0.5em !important;}
.pt_M{padding-top:1em !important;}
.pt_L{padding-top:1.5em !important;}
.pt_LL{padding-top:2em !important;}
.pb_0{padding-bottom:0 !important;}
.pb_S{padding-bottom:0.5em !important;}
.pb_M{padding-bottom:1em !important;}
.pb_L{padding-bottom:1.5em !important;}
.pb_LL{padding-bottom:2em !important;}

.f_SS{font-size:0.6em;}
.f_S{font-size:0.8em;}
.f_L{font-size:1.2em;}
.f_bold{font-weight: bold !important;}

.f_red{color: #ff0000;}
.f_blue{color:#0299c1;}
.f_yel{color:#ffe400 !important;}
.f_grn{color:#06c755;}
.f_org{color:#fb9a00;}
.f_green{color:#00c152;}
.f_gold{color: #f4de8b;}
.f_purple{color: #7c8be9;}

.tx_left{text-align: left !important;}
.tx_right{text-align: right !important;}
.tx_center{text-align: center !important;}

/*==================================================================
   Animation
==================================================================*/
.js_inview{opacity: 0;}

/*-- fadeIn inview --*/
.animated_fadeIn.active{opacity: 1;
-webkit-animation:fadeIn 1s ease 1;
animation: fadeIn 1s ease 1;
}
@-webkit-keyframes fadeIn {
from {opacity: 0;}
to {opacity: 1;}
}
@keyframes fadeIn {
from {opacity: 0;}
to { opacity: 1;}
}

/*-- fadeInDown inview --*/
.animated_fadeInDown.active {opacity: 1;
-webkit-animation: 0.8s ease both fadeInDown;
animation: 0.8s ease both fadeInDown;
}
@-webkit-keyframes fadeInDown {
from { opacity: 0; transform: translateY(-15px); }
to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDown {
from { opacity: 0; transform: translateY(-15px); }
to   { opacity: 1; transform: translateY(0);
transform: translate3d(0, 0, 0);
}
}

/*-- slideInLeft inview --*/
.animated_slideInLeft.active{opacity: 1;
-webkit-animation:slideInLeft 0.8s ease 1;
animation: slideInLeft 0.8s ease 1;
}
@-webkit-keyframes slideInLeft {
from { opacity: 0; transform: translateX(-20px); }
to   { opacity: 1; transform: translateX(0); }
}
@keyframes slideInLeft {
from { opacity: 0; transform: translateX(-20px); }
to   { opacity: 1; transform: translateX(0);
}
}

/*-- scaleIn inview --*/
.animated_scaleIn.active{opacity: 1;
-webkit-animation: scaleIn 1s ease both;
animation: scaleIn 1s ease both;
}
@keyframes scaleIn {
from { opacity: 0; transform: scale(0.92); }
to { opacity: 1; transform: scale(1); }
}
@keyframes fvBlurIn {
from { opacity: 0; filter: blur(8px); }
to { opacity: 1; filter: blur(0); }
}

/*-- imageView inview --*/
.animated_imageView.active {opacity: 1;
-webkit-animation:imageView 1.8s ease 1;
animation: imageView 1.8s ease 1;
}
@-webkit-keyframes imageView {
0% {
clip-path: circle(0 at 50% 50%);
-webkit-clip-path: circle(0 at 50% 50%);
}
100% {
clip-path: circle(100% at 50% 50%);
-webkit-clip-path: circle(100% at 50% 50%);
}
}
@keyframes imageView {
0% {
clip-path: circle(0 at 50% 50%);
-webkit-clip-path: circle(0 at 50% 50%);
}
100% {
clip-path: circle(100% at 50% 50%);
-webkit-clip-path: circle(100% at 50% 50%);
}
}

/*-- bounceIn inview --*/
.animated_bounceIn.active {opacity: 1;
-webkit-animation:bounceIn 0.6s ease-out forwards;
animation: bounceIn 0.6s ease-out forwards;
}
@keyframes bounceIn {
0%   { transform: scale(0.9); opacity: 0; }
60%  { transform: scale(1.05); opacity: 1; }
100% { transform: scale(1); }
}