@charset "utf-8";

/*home*/
.home header nav ul li{ color: #fff;}
.home header nav ul li a:after{ background: #fff;}
.home header figure.logo img{ filter: brightness(0) invert(1); transition: filter 0.3s;}
/* TOP初期: 白背景Tealテキスト */
.home header nav ul li.nav_cta a{ background: #fff !important; color: #3C7571 !important;}
.home.active header ul li{ color: #3C7571;}
.home.active header nav ul li a:after{ background: #3C7571;}
/* TOPスクロール後: Teal背景白テキスト */
.home.active header nav ul li.nav_cta a{ background: #3C7571 !important; color: #fff !important;}
.home.active header figure.logo img{ filter: none;}
@media screen and (max-width:768px){
.home.active header ul li{ color: #fff;}

.smp_nav_btn span{ background: #fff;}
.smp_nav_btn span:before{ background: #fff;}
.smp_nav_btn span:after{ background: #fff;}

.home.active .smp_nav_btn span{ background: #3C7571;}
.home.active .smp_nav_btn span:before{ background: #3C7571;}
.home.active .smp_nav_btn span:after{ background: #3C7571;}
.home.open .smp_nav_btn span:before{ background: #fff !important;}
.home.open .smp_nav_btn span:after{ background: #fff !important;}
}

/*tit — 元構造（CTA等: h2 > span.tmpl_label + span.tmpl_title）*/
.home h2:not(.tmpl_title){ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; margin-bottom: 40px;}
.home h2 .tmpl_label{ font-size: 0.9rem; letter-spacing: 0.2em; line-height: 1em; font-family: "Jost", "Zen Kaku Gothic New", sans-serif; margin-bottom: 30px;}
.home h2 .tmpl_title{ font-size: 1.4rem; letter-spacing: 0.2em; line-height: 1.5em; color: #3C7571;}
/*tit — GB構造（sec_tmpl_header.wp-block-group > p.tmpl_label + h2.tmpl_title）*/
.home .sec_tmpl_header p.tmpl_label{ font-size: 0.9rem; letter-spacing: 0.2em; line-height: 1em; font-family: "Jost", "Zen Kaku Gothic New", sans-serif; margin: 0 0 30px 0;}
.home .sec_tmpl_header h2.tmpl_title{ display: block; font-size: 1.4rem; font-weight: bold; letter-spacing: 0.2em; line-height: 1.5em; color: #3C7571; margin: 0; text-align: center;}
@media screen and (max-width:768px){
.home h2:not(.tmpl_title){ margin-bottom: 7.5%;}
.home h2 .tmpl_label{ font-size: 0.8rem; letter-spacing: 0.1em; margin-bottom: 5%;}
.home h2 .tmpl_title{ font-size: 1.2rem; letter-spacing: 0.1em;}
.home .sec_tmpl_header p.tmpl_label{ font-size: 0.8rem; letter-spacing: 0.1em; margin-bottom: 5%;}
.home .sec_tmpl_header h2.tmpl_title{ font-size: 1.2rem; letter-spacing: 0.1em;}
}



/*fv*/
.home .sec_fv{ color: #fff; height: 834px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; z-index: 1; overflow: hidden;}
.home .sec_fv .sec_fv_bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -3;}
.home .sec_fv .sec_fv_bg video,
.home .sec_fv .sec_fv_bg img{ width: 100%; height: 100%; object-fit: cover; object-position: center center;}
.home .sec_fv:before{ content: ""; width: 100%; height: 100%; background: rgba(0,0,0,0.26); position: absolute; left: 0; top: 0; z-index: -1;}

.home .sec_fv h1{ text-align: center; font-size: 3rem;}
.home .sec_fv p{ text-align: center; font-size: 1rem; font-weight: bold; margin-top: 1em;}
.home .sec_fv .scroll{ text-align: center; position: absolute; left: 0; right: 0; bottom: 180px; margin: auto;}
.home .sec_fv .scroll .sec_scroll_label{ display: flex; align-items: center; justify-content: center; margin: auto; width: 90px; height: 24px; font-size: 0.5em; letter-spacing: 0.2em; font-weight: bold; position: relative;}
.home .sec_fv .scroll .sec_scroll_label:before{ content: ""; width: 12px; height: 24px; background: url("../images/home/scroll_ico.png") center center no-repeat; background-size: 100% 100%; position: absolute; left: 0; top: 0;}
.home .sec_fv .scroll .sec_scroll_label:after{ content: ""; width: 12px; height: 24px; background: url("../images/home/scroll_ico.png") center center no-repeat; background-size: 100% 100%; position: absolute; right: 0; top: 0; transform: rotate(180deg);}

@media screen and (max-width:768px){
.home .sec_fv{ height: 66vw;}
.home .sec_fv .sec_fv_bg video,
.home .sec_fv .sec_fv_bg img{ object-position: center center;}

.home .sec_fv h1{ font-size: 2rem;}
.home .sec_fv p{ font-size: 0.8rem;}

.home .sec_fv .scroll{ bottom: 14vw;}
.home .sec_fv .scroll .sec_scroll_label{ width: 25vw; height: 5vw; font-size: 0.6em; letter-spacing: 0.2em;}
.home .sec_fv .scroll .sec_scroll_label:before{ width: 2.5vw; height: 5vw;}
.home .sec_fv .scroll .sec_scroll_label:after{ width: 2.5vw; height: 5vw;}

/* 波線セクションのFVへの重なりを縮小 */
.home .sec_reason{ margin-top: -40px;}
}



/*reason*/
.home .sec_reason{ padding: 140px 0 140px; background: url("../images/home/reason_bg.png") center top no-repeat; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_reason:after{ content: ""; width: 100%; height: calc(100% - 400px); background: #fff; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_reason .sec_ico02{ width: 365px; position: absolute; left: -290px; top: 540px; z-index: -1; pointer-events: none;}
@media print, screen and (min-width:1920px){
.home .sec_reason{ background-size: 100%;}
}

.home .sec_reason .sec_reason_list{ margin-top: 80px;}
.home .sec_reason .sec_reason_list .sec_reason_item{ margin-top: 80px; display: flex; justify-content: space-between;}
.home .sec_reason .sec_reason_list .sec_reason_item:nth-child(2n){ flex-direction: row-reverse;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_media{ width: 510px;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_media img{ border-radius: 20px;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body{ width: 540px; position: relative;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body .sec_reason_num{ font-size: 11.4rem; font-weight: bold; line-height: 1em; color: rgba(101,81,76,0.04); position: absolute; right: 0; top: -0.25em;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body h3{ font-size: 1.2rem; color: #B8847F; margin-bottom: 0.75em;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body p{ font-size: 0.9rem; line-height: 2em; text-align: justify;}
@media screen and (max-width:768px){
.home .sec_reason{ padding: 15% 0 15%; background-size: 250%; margin-top: -5vw;}
.home .sec_reason:after{ height: calc(100% - 40vw);}
.home .sec_reason .sec_ico02{ width: 33.33vw; left: -12.5vw; top: 100vw;}

.home .sec_reason .sec_reason_list{ margin-top: 10%;}
.home .sec_reason .sec_reason_list .sec_reason_item{ margin-top: 10%; display: block;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_media{ width: 100%; margin: 0 auto 3.75%;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_media img{ border-radius: 1.875vw;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body{ width: 100%;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body .sec_reason_num{ font-size: 7.5rem; top: -0.25em;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body h3{ font-size: 1.1rem; margin-bottom: 0.5em;}
.home .sec_reason .sec_reason_list .sec_reason_item .sec_reason_body p{ font-size: 0.8rem; line-height: 1.75rem;}
}



/*mission*/
.home .sec_mission{ padding: 140px 0 140px; background: url("../images/home/mission_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_mission:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #F4ECE7; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_mission .sec_ico{ width: 360px; position: absolute; left: -250px; top: 80px; z-index: -1; pointer-events: none;}
.home .sec_mission p{ text-align: center; font-size: 0.9rem; line-height: 2em;}
@media screen and (max-width:768px){
.home .sec_mission{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_mission:after{ height: calc(100% - 7.5vw);}
.home .sec_mission .sec_ico{ width: 33.33vw; left: -12.5vw; top: 7.5vw;}
.home .sec_mission p{ font-size: 0.8rem; line-height: 1.75em;}
}



/*trouble*/
.home .sec_trouble{ padding: 140px 0 140px; background: url("../images/home/trouble_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_trouble:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #F7F7F7; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_trouble .sec_ico{ width: 480px; position: absolute; right: -100px; top: -640px; z-index: -1; pointer-events: none;}

.home .sec_trouble h3{ text-align: center; margin-bottom: 60px;}
.home .sec_trouble h3 .sec_trouble_heading{ display: inline-block; font-size: 1rem; color: #3C7571; position: relative;}
.home .sec_trouble h3 .sec_trouble_heading:before{ content: ""; width: calc(50% - 0.5em); height: 1px; background: #3C7571; position: absolute; left: 0; bottom: -0.25em;}
.home .sec_trouble h3 .sec_trouble_heading:after{ content: ""; width: calc(50% - 0.5em); height: 1px; background: #3C7571; position: absolute; right: 0; bottom: -0.25em;}
.home .sec_trouble h3 .sec_trouble_heading span:after{ content: ""; width: 1em; height: 1px; background: #3C7571; position: absolute; right: calc(50% - 0.5em); bottom: -0.25em; transform-origin: right top; transform: rotate(-57.5deg);}

.home .sec_trouble .sec_trouble_box{ border: 1px solid #4F3C34; padding: 60px 40px 40px; border-radius: 20px; position: relative;}
.home .sec_trouble .sec_trouble_box h4{ display: flex; text-align: center; font-size: 1.2rem; position: absolute; left: 0; right: 0; top: -0.75em; margin: auto;}
.home .sec_trouble .sec_trouble_box h4 .sec_trouble_box_label{ display: flex; align-items: center; justify-content: center; margin: auto; padding: 0 1.5em; background: #F7F7F7; font-weight: 500;}
.home .sec_trouble .sec_trouble_box ul{ display: flex; justify-content: space-between;}
.home .sec_trouble .sec_trouble_box ul li{ width: calc(25% - 20px);}
.home .sec_trouble .sec_trouble_box ul li figure img{ width: 180px;}
.home .sec_trouble .sec_trouble_box ul li p{ text-align: center; font-size: 0.9rem; margin-top: 0.5em;}

.home .sec_trouble .sec_zu{ margin-top: 60px; position: relative;}
.home .sec_trouble .sec_zu img{ border-radius: 20px;}
.home .sec_trouble .sec_zu:before{ content: ""; width: 60px; height: 60px; border-left: 3px solid #DFA12A; border-top: 3px solid #DFA12A; border-radius: 20px 0 0 0; position: absolute; left: 0; top: 0;}
.home .sec_trouble .sec_zu:after{ content: ""; width: 60px; height: 60px; border-right: 3px solid #DFA12A; border-top: 3px solid #DFA12A; border-radius: 0 20px 0 0; position: absolute; right: 0; top: 0;}
.home .sec_trouble .sec_zu .sec_zu_deco:before{ content: ""; width: 60px; height: 60px; border-left: 3px solid #DFA12A; border-bottom: 3px solid #DFA12A; border-radius: 0 0 0 20px; position: absolute; left: 0; bottom: 0;}
.home .sec_trouble .sec_zu .sec_zu_deco:after{ content: ""; width: 60px; height: 60px; border-right: 3px solid #DFA12A; border-bottom: 3px solid #DFA12A; border-radius: 0 0 20px 0; position: absolute; right: 0; bottom: 0;}
@media screen and (max-width:768px){
.home .sec_trouble{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_trouble:after{ height: calc(100% - 7.5vw);}
.home .sec_trouble .sec_ico{ width: 50vw; right: -15vw; top: -75vw;}

.home .sec_trouble h3{ margin-bottom: 10%;}
.home .sec_trouble h3 .sec_trouble_heading{ font-size: 1rem;}

.home .sec_trouble .sec_trouble_box{ padding: 7.5% 5% 5%; border-radius: 1.875vw;}
.home .sec_trouble .sec_trouble_box h4{ font-size: 1.2rem;}
.home .sec_trouble .sec_trouble_box ul{ display: block;}
.home .sec_trouble .sec_trouble_box ul li{ display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 0;}
.home .sec_trouble .sec_trouble_box ul li:nth-child(2n){ flex-direction: row-reverse;}
.home .sec_trouble .sec_trouble_box ul li:last-child{ margin-bottom: 0;}
.home .sec_trouble .sec_trouble_box ul li figure{ width: 33.33%; margin: 0;}
.home .sec_trouble .sec_trouble_box ul li figure img{ width: 100%;}
.home .sec_trouble .sec_trouble_box ul li p{ width: 63.33%; font-size: 0.9rem; margin: 0;}

.home .sec_trouble .sec_zu{ margin-top: 10%;}
.home .sec_trouble .sec_zu img{ border-radius: 1.875vw;}
.home .sec_trouble .sec_zu:before{ width: 5vw; height: 5vw; border-width: 2px; border-radius: 1.875vw 0 0 0;}
.home .sec_trouble .sec_zu:after{ width: 5vw; height: 5vw; border-width: 2px; border-radius: 0 1.875vw 0 0;}
.home .sec_trouble .sec_zu .sec_zu_deco:before{ width: 5vw; height: 5vw; border-width: 2px; border-radius: 0 0 0 1.875vw;}
.home .sec_trouble .sec_zu .sec_zu_deco:after{ width: 5vw; height: 5vw; border-width: 2px; border-radius: 0 0 1.875vw 0;}
}



/*point*/
.home .sec_point{ padding: 140px 0 140px; background: url("../images/home/point_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_point:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #fff; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_point .sec_ico01{ width: 636px; position: absolute; left: -480px; top: 140px; z-index: -1; pointer-events: none;}
.home .sec_point .sec_ico02{ width: 490px; position: absolute; right: -330px; top: 180px; z-index: -1; pointer-events: none;}

.home .sec_point h3{ text-align: center; font-size: 1.5rem; margin: 0;}
.home .sec_point h2{ margin-bottom: 10px;}
.home .sec_point .sec_tmpl_header{ margin-bottom: 10px;}
.home .sec_point p.tmpl_lead{ text-align: center; font-size: 0.9rem;}

.home .sec_point .sec_point_style{ margin-top: 80px;}
.home .sec_point .sec_point_style h4{ display: flex; margin-bottom: 30px;}
.home .sec_point .sec_point_style h4 .sec_point_set_label{ display: flex; align-items: center; justify-content: center; margin: auto; background: #DEA229; color: #fff; font-size: 1.2rem; padding: 0.25em 1em 0.33em; border-radius: 8px;}
.home .sec_point .sec_point_style .list{ position: relative;}
.home .sec_point .sec_point_style .list .sec_ico{ width: 80px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: 3;}
.home .sec_point .sec_point_style .list ul{ display: flex; justify-content: space-between;}
.home .sec_point .sec_point_style .list ul li{ width: 510px; position: relative; z-index: 1;}
.home .sec_point .sec_point_style .list ul li:before{ content: ""; width: 100%; height: 90px; border: 1px solid #4F3C34; border-bottom: none; border-radius: 20px 20px 0 0; position: absolute; left: 0; top: 0; z-index: -1;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_img figure img{ border-radius: 0 0 20px 20px;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc{ padding: 40px 20px 20px; position: relative;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc h5{ display: flex; position: absolute; left: 0; right: 0; top: -1em; margin: auto;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc h5 span{ display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #3C7571; margin: auto; font-size: 1.2rem; color: #3C7571; font-weight: 400; padding: 0.25em 1em 0.33em; border-radius: 2em;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc h6{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.2rem; font-weight: 500; min-height: 3em; margin-bottom: 20px;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc p{ font-size: 0.9rem; line-height: 2em; text-align: justify;}

.home .sec_point .sec_point_explain{ margin-top: 60px; background: rgba(119,156,174,0.2); padding: 40px; border-radius: 20px;}
.home .sec_point .sec_point_explain h4{ display: flex; font-size: 1.2rem; margin-bottom: 20px;}
.home .sec_point .sec_point_explain h4 .sec_point_explain_label{ padding: 0 40px; display: flex; align-items: center; justify-content: center; margin: auto; font-weight: 500; position: relative;}
.home .sec_point .sec_point_explain h4 .sec_point_explain_label:before{ content: ""; width: 20px; height: 39px; background: url("../images/home/point_explain_ico.png") center center no-repeat; background-size: auto; background-size: 100% 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%)}
.home .sec_point .sec_point_explain h4 .sec_point_explain_label:after{ content: ""; width: 20px; height: 39px; background: url("../images/home/point_explain_ico.png") center center no-repeat; background-size: auto; background-size: 100% 100%; position: absolute; right: 0; top: 50%; transform: rotateY(180deg) translateY(-50%);}
.home .sec_point .sec_point_explain p{ text-align: center; font-size: 0.9rem; line-height: 2em;}
.home .sec_point .sec_point_explain .list{ margin-top: 30px; position: relative;}
.home .sec_point .sec_point_explain .list .sec_ico{ width: 28px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.home .sec_point .sec_point_explain .list ul{ display: flex; justify-content: center;}
.home .sec_point .sec_point_explain .list ul li{ width: 380px; margin: 0 50px; background: #fff; text-align: center; padding: 20px; border-radius: 8px;}
.home .sec_point .sec_point_explain .list ul li h5{ font-size: 1rem; font-weight: 500; color: #B8847F; margin-bottom: 5px;}
.home .sec_point .sec_point_explain .list ul li p{ font-size: 0.9rem; line-height: 2em;}
@media screen and (max-width:768px){
.home .sec_point{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_point:after{ height: calc(100% - 7.5vw);}
.home .sec_point .sec_ico01{ width: 60vw; left: -20vw; top: 36vw;}
.home .sec_point .sec_ico02{ width: 50vw; right: -15vw; top: 166vw;}

.home .sec_point h3{ font-size: 1.2rem;}
.home .sec_point h2{ margin-bottom: 2.5%;}
.home .sec_point .sec_tmpl_header{ margin-bottom: 2.5%;}
.home .sec_point p.tmpl_lead{ font-size: 0.8rem;}

.home .sec_point .sec_point_style{ margin-top: 10%;}
.home .sec_point .sec_point_style h4{ margin-bottom: 5%;}
.home .sec_point .sec_point_style h4 .sec_point_set_label{ font-size: 1rem;}
.home .sec_point .sec_point_style .list .sec_ico{ display: block; width: 12.5vw; margin: 2.5% auto 0; position: static; transform: none;}
.home .sec_point .sec_point_style .list ul{ display: block;}
.home .sec_point .sec_point_style .list ul li{ width: 100%; margin-top: 7.5%;}
.home .sec_point .sec_point_style .list ul li:before{ height: 12.5vw; border-radius: 1.875vw 1.875vw 0 0;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_img figure img{ border-radius: 0 0 1.875vw 1.875vw;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc{ padding: 7.5% 3.75% 3.75%;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc h5 span{ font-size: 1rem;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc h6{ font-size: 1rem; min-height: 1.5em; margin-bottom: 3.75%;}
.home .sec_point .sec_point_style .list ul li .sec_point_item .sec_point_desc p{ font-size: 0.8rem; line-height: 1.75em;}

.home .sec_point .sec_point_explain{ margin-top: 10%; padding: 5% 5%; border-radius: 1.875vw;}
.home .sec_point .sec_point_explain h4{ text-align: center; font-size: 1rem; margin-bottom: 3.75%;}
.home .sec_point .sec_point_explain h4 .sec_point_explain_label{ padding: 0 10vw;}
.home .sec_point .sec_point_explain h4 .sec_point_explain_label:before{ width: 3.75vw; height: 7.5vw;}
.home .sec_point .sec_point_explain h4 .sec_point_explain_label:after{ width: 3.75vw; height: 7.5vw;}

.home .sec_point .sec_point_explain p{ text-align: justify; font-size: 0.8rem; line-height: 1.75em;}
.home .sec_point .sec_point_explain .list{ margin-top: 7.5%;}
.home .sec_point .sec_point_explain .list .sec_ico{ display: block; margin: 3.75% auto; width: 7.5vw; position: static; transform: rotate(90deg);}
.home .sec_point .sec_point_explain .list ul{ display: block;}
.home .sec_point .sec_point_explain .list ul li{ width: 100%; margin: 0; padding: 3.75%;}
.home .sec_point .sec_point_explain .list ul li h5{ font-size: 1rem; margin-bottom: 1.25%;}
.home .sec_point .sec_point_explain .list ul li p{ text-align: center; font-size: 0.9rem; line-height: 1.75em;}
}



/*events*/
.home .sec_events{ padding: 140px 0 180px; background: url("../images/home/event_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_events:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #FEF9F8; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_events .sec_ico01{ width: 490px; position: absolute; left: -190px; top: -170px; z-index: -1; pointer-events: none;}
.home .sec_events .sec_ico02{ width: 364px; position: absolute; left: -390px; top: -300px; z-index: -1; pointer-events: none;}
.home .sec_events .sec_ico03{ width: 690px; position: absolute; right: -260px; bottom: -320px; z-index: -1; pointer-events: none;}

.home .sec_events h2{ margin-bottom: 10px;}
.home .sec_events .sec_tmpl_header{ margin-bottom: 10px;}
.home .sec_events p.tmpl_lead{ text-align: center; font-size: 0.9rem;}

.home .sec_events .sec_event_list{ margin-top: 90px;}
.home .sec_events .sec_event_list h3{ display: flex; font-size: 1rem; margin-bottom: 40px;}
.home .sec_events .sec_event_list h3 .sec_event_label{ padding: 0 40px; display: flex; align-items: center; justify-content: center; margin: auto; font-weight: 500; position: relative;}
.home .sec_events .sec_event_list h3 .sec_event_label:before{ content: ""; width: 20px; height: 39px; background: url("../images/home/event_list_ico.png") center center no-repeat; background-size: auto; background-size: 100% 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%)}
.home .sec_events .sec_event_list h3 .sec_event_label:after{ content: ""; width: 20px; height: 39px; background: url("../images/home/event_list_ico.png") center center no-repeat; background-size: auto; background-size: 100% 100%; position: absolute; right: 0; top: 50%; transform: rotateY(180deg) translateY(-50%);}

.home .sec_events .sec_event_list ul{ display: flex; flex-wrap: wrap; gap: 30px;}
.home .sec_events .sec_event_list ul li{ width: calc(25% - 22.5px); background: #aaa; padding: 30px 0; border-radius: 20px;}
.home .sec_events .sec_event_list ul li:nth-child(1){ background: #E6DFD6;}
.home .sec_events .sec_event_list ul li:nth-child(2){ background: rgba(176,147,97,0.47);}
.home .sec_events .sec_event_list ul li:nth-child(3){ background: rgba(121,159,178,0.62);}
.home .sec_events .sec_event_list ul li:nth-child(4){ background: #F0D3A7;}
.home .sec_events .sec_event_list ul li figure{ margin-bottom: 15px;}
.home .sec_events .sec_event_list ul li figure img{ width: 120px;}
.home .sec_events .sec_event_list ul li h4{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.1rem; font-weight: 500; min-height: 4.5em;}
.home .sec_events .sec_event_list p.tmpl_att{ text-align: right; font-size: 0.7rem; margin-top: 0.5em;}
@media screen and (max-width:768px){
.home .sec_events{ padding: 15% 0 20%; background-size: 100%; margin-top: -5vw;}
.home .sec_events:after{ height: calc(100% - 7.5vw);}
.home .sec_events .sec_ico01{ width: 50vw;left: -20vw; top: -20vw;}
.home .sec_events .sec_ico02{ width: 40vw; left: -40vw; top: -30vw;}
.home .sec_events .sec_ico03{ width: 60vw; right: -25vw; bottom: -30vw;}

.home .sec_events h3{ font-size: 1.2rem;}
.home .sec_events h2{ margin-bottom: 2.5%;}
.home .sec_events .sec_tmpl_header{ margin-bottom: 2.5%;}
.home .sec_events p.tmpl_lead{ font-size: 0.8rem;}

.home .sec_events .sec_event_list{ margin-top: 10%;}
.home .sec_events .sec_event_list h4{ text-align: center; font-size: 0.9rem; margin-bottom: 3.75%;}
.home .sec_events .sec_event_list h4 .sec_event_label{ padding: 0 10vw;}
.home .sec_events .sec_event_list h4 .sec_event_label:before{ width: 3.75vw; height: 7.5vw;}
.home .sec_events .sec_event_list h4 .sec_event_label:after{ width: 3.75vw; height: 7.5vw;}

.home .sec_events .sec_event_list ul{ gap: 4vw;}
.home .sec_events .sec_event_list ul li{ width: calc(50% - 2vw); padding: 3.75vw 0 1.875vw; border-radius: 1.875vw;}

.home .sec_events .sec_event_list ul li figure{ margin-bottom: 2.5%;}
.home .sec_events .sec_event_list ul li figure img{ width: 50%;}
.home .sec_events .sec_event_list ul li h4{ font-size: 1rem;}
.home .sec_events .sec_event_list p.tmpl_att{ font-size: 0.7rem;}
}



/*flow*/
.home .sec_flow{ padding: 140px 0 140px; background: url("../images/home/flow_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_flow:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #DFE9EE; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_flow .sec_ico01{ width: 630px; position: absolute; left: -360px; top: -420px; z-index: -1; pointer-events: none;}
.home .sec_flow .sec_ico02{ width: 360px; position: absolute; right: -300px; top: -60px; z-index: -1; pointer-events: none;}

.home .sec_flow h2{ margin-bottom: 10px;}
.home .sec_flow .sec_tmpl_header{ margin-bottom: 10px;}
.home .sec_flow p.tmpl_lead{ text-align: center; font-size: 0.9rem;}

.home .sec_flow .sec_flow_list{ margin-top: 80px;}
.home .sec_flow .sec_flow_list ul{ display: flex; gap: 40px;}
.home .sec_flow .sec_flow_list ul li{ width: calc(25% - 32px);}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_num{ text-align: center; margin-bottom: 20px; position: relative;}
.home .sec_flow .sec_flow_list ul li:not(:first-child) .sec_flow_item .sec_flow_num:before{ content: ""; width: 60px; height: 1px; background: #fff; position: absolute; left: -50px; top: 50%;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_num img{ width: 90px;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_body h4{ text-align: center; font-size: 1.2rem; font-weight: 500; color: #3C7571; margin-bottom: 5px;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_body p{ text-align: center; font-size: 0.7rem; color: #3C7571;}

.home .sec_flow h5{ text-align: center; font-size: 0.9rem; font-weight: 500; margin-top: 50px;}
@media screen and (max-width:768px){
.home .sec_flow{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_flow:after{ height: calc(100% - 7.5vw);}
.home .sec_flow .sec_ico01{ width: 60vw; left: -40vw; top: -40vw;}
.home .sec_flow .sec_ico02{ width: 40vw; right: -30vw; top: -10vw;}

.home .sec_flow h3{ font-size: 1.2rem;}
.home .sec_flow h2{ margin-bottom: 2.5%;}
.home .sec_flow .sec_tmpl_header{ margin-bottom: 2.5%;}
.home .sec_flow p.tmpl_lead{ font-size: 0.8rem;}

.home .sec_flow .sec_flow_list{ margin-top:10%;}
.home .sec_flow .sec_flow_list ul{ display: block;}
.home .sec_flow .sec_flow_list ul li{ width: 100%;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item{ display: flex; align-items: center; margin-bottom: 5vw;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_num{ width: 17.5vw; margin: 0;}
.home .sec_flow .sec_flow_list ul li:not(:first-child) .sec_flow_item .sec_flow_num:before{ width: 2px; height: 5vw; left: 8.75vw; top: -5vw;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_num img{ width: 100%;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_body{ flex: 1; margin-left: 5%;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_body h4{ text-align: left; font-size: 1.1rem; margin-bottom: 1.25%;}
.home .sec_flow .sec_flow_list ul li .sec_flow_item .sec_flow_body p{ text-align: left; font-size: 0.8rem;}

.home .sec_flow h5{ font-size: 0.8rem; margin-top: 10%;}
}



/*teachers*/
.home .sec_teachers{ padding: 140px 0 140px; background: url("../images/home/teachers_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_teachers:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #fff; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_teachers .sec_ico01{ width: 610px; position: absolute; left: -360px; top: -40px; z-index: -1; pointer-events: none;}
.home .sec_teachers .sec_ico02{ width: 750px; position: absolute; right: -380px; top: 120px; z-index: -1; pointer-events: none;}

.home .sec_teachers h2{ margin-bottom: 10px;}
.home .sec_teachers .sec_tmpl_header{ margin-bottom: 10px;}
.home .sec_teachers p.tmpl_lead{ text-align: center; font-size: 0.9rem;}

.home .sec_teachers .sec_teacher_list{ margin-top: 90px;}
.home .sec_teachers .sec_teacher_list ul{ display: flex; flex-wrap: wrap; gap: 45px;}
.home .sec_teachers .sec_teacher_list ul li{ width: calc(25% - 34px);}
.home .sec_teachers .sec_teacher_list ul li figure{ margin-bottom: 10px;}
.home .sec_teachers .sec_teacher_list ul li h4{ text-align: center; font-size: 1.2rem; font-weight: 500; color: #B8847F; margin-bottom: 15px;}
.home .sec_teachers .sec_teacher_list ul li p{ text-align: center; font-size: 0.9rem;}

.home .sec_teachers .tmpl_btn_primary a{ background: #B8847F;}
.home .sec_teachers .tmpl_btn_primary a span:after{ border-color: transparent transparent transparent #B8847F;}
@media screen and (max-width:768px){
.home .sec_teachers{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_teachers:after{ height: calc(100% - 7.5vw);}
.home .sec_teachers .sec_ico01{ width: 60vw; left: -40vw; top: -5vw;}
.home .sec_teachers .sec_ico02{ width: 75vw; right: -40vw; top: -10vw;}

.home .sec_teachers h2{ margin-bottom: 2.5%;}
.home .sec_teachers .sec_tmpl_header{ margin-bottom: 2.5%;}
.home .sec_teachers p.tmpl_lead{ font-size: 0.8rem;}

.home .sec_teachers .sec_teacher_list{ margin-top: 10%;}
.home .sec_teachers .sec_teacher_list ul{ display: block;}
.home .sec_teachers .sec_teacher_list ul li{ display: flex; align-items: center; width: 100%; margin-bottom: 3.75%;}
.home .sec_teachers .sec_teacher_list ul li:nth-child(2n){ flex-direction: row-reverse;}
.home .sec_teachers .sec_teacher_list ul li figure{ width: 40%; margin: 0;}
.home .sec_teachers .sec_teacher_list ul li .sec_teacher_txt{ flex: 1; margin-left: 3.33%;}
.home .sec_teachers .sec_teacher_list ul li h4{ font-size: 1.1rem; margin-bottom: 2.5%;}
.home .sec_teachers .sec_teacher_list ul li p{ font-size: 0.8rem;}
}



/*price*/
.home .sec_price{ padding: 140px 0 140px; background: url("../images/home/price_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_price:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #FEF9F8; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_price .sec_ico{ width: 360px; position: absolute; left: -310px; top: -240px; z-index: -1; pointer-events: none;}

.home .sec_price h2{ margin-bottom: 10px;}
.home .sec_price .sec_tmpl_header{ margin-bottom: 10px;}
.home .sec_price p.tmpl_lead{ text-align: center; font-size: 0.9rem;}

.home .sec_price .sec_price_table{ margin-top: 90px; background: #B8847F; padding: 40px; border-radius: 20px;}
.home .sec_price .sec_price_table .sec_price_item{ margin-bottom: 10px; display: flex; align-items: center; background: #fff; color: #B8847F; padding: 10px 40px 15px; border-radius: 20px;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_head{ width: 6em; font-size: 1.2rem; font-weight: 500;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_body{ display: flex; align-items: center; }
.home .sec_price .sec_price_table .sec_price_item .sec_price_body p.sec_price_amount{ font-size: 0.9rem; margin: 0; width: 340px;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_body p.sec_price_amount strong{ font-size: 2.5rem; line-height: 1em;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_body p.sec_price_add{ font-size: 1.2rem; font-weight: 500; line-height: 1em;}
.home .sec_price .sec_price_table p.tmpl_att{ text-align: right; color: #fff; font-size: 1.2rem; line-height: 1em; font-weight: 500; margin-top: 1em;}
@media screen and (max-width:768px){
.home .sec_price{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_price:after{ height: calc(100% - 7.5vw);}
.home .sec_price .sec_ico{ width: 40vw; left: -30vw; top: -25vw;}

.home .sec_price h2{ margin-bottom: 2.5%;}
.home .sec_price .sec_tmpl_header{ margin-bottom: 2.5%;}
.home .sec_price p.tmpl_lead{ font-size: 0.8rem;}

.home .sec_price .sec_price_table{ margin-top: 10%; padding: 3.75vw 3.75vw 5vw; border-radius: 1.875vw;}
.home .sec_price .sec_price_table .sec_price_item{ margin-bottom: 1.875%; padding: 3.75% 7.5%; border-radius: 1.875vw;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_head{ width: 36.66%; font-size: 1.2rem;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_body{ width: 63.33%; display: block; text-align: center;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_body p.sec_price_amount{ font-size: 0.8rem; width: auto;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_body p.sec_price_amount strong{ font-size: 2rem;}
.home .sec_price .sec_price_table .sec_price_item .sec_price_body p.sec_price_add{ font-size: 1rem; margin-top: 0.5em;}
.home .sec_price .sec_price_table p.tmpl_att{font-size: 0.9rem;}
}



/*faq*/
.home .sec_faq{ padding: 140px 0 140px; background: url("../images/home/faq_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_faq:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #fff; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_faq .sec_ico01{ width: 630px; position: absolute; left: -360px; top: -480px; z-index: -1; pointer-events: none;}
.home .sec_faq .sec_ico02{ width: 360px; position: absolute; right: -300px; top: -70px; z-index: -1; pointer-events: none;}

.home .sec_faq .tmpl_faq_list{ margin: 90px auto 0; width: 800px;}
.home .sec_faq .tmpl_faq_list dl{ border-bottom: 1px solid #B8847F; padding: 40px 0;}
.home .sec_faq .tmpl_faq_list dl:first-child{ border-top: 1px solid #B8847F;}
.home .sec_faq .tmpl_faq_list dl dt{ font-size: 0.9rem; font-weight: bold; color: #B8847F; padding-right: 60px; position: relative;}
.home .sec_faq .tmpl_faq_list dl dt span{ display: flex; align-items: center; justify-content: center; width: 14px; height: 14px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); cursor: pointer;}
.home .sec_faq .tmpl_faq_list dl dt span:before{ content: ""; width: 14px; height: 2px; background: #B8847F; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.home .sec_faq .tmpl_faq_list dl dt span:after{ content: ""; width: 14px; height: 2px; background: #B8847F; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotate(90deg); transition: 0.3s;}
.home .sec_faq .tmpl_faq_list dl dt.active span:after{ transform: translateX(-50%) translateY(-50%) rotate(0); opacity: 0;}
.home .sec_faq .tmpl_faq_list dl dd{ display: none; padding: 20px 0 0;}
.home .sec_faq .tmpl_faq_list dl dd p{ font-size: 0.9rem;}
@media screen and (max-width:768px){
.home .sec_faq{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_faq:after{ height: calc(100% - 7.5vw);}
.home .sec_faq .sec_ico01{ width: 60vw; left: -40vw; top: -50vw;}
.home .sec_faq .sec_ico02{ width: 40vw; right: -30vw; top: -10vw;}

.home .sec_faq .tmpl_faq_list{ margin: 10% auto 0; width: 100%;}
.home .sec_faq .tmpl_faq_list dl{ padding: 5% 0;}
.home .sec_faq .tmpl_faq_list dl dt{ font-size: 0.8rem; padding-right: 10vw;}
.home .sec_faq .tmpl_faq_list dl dt span{ width: 3.75vw; height: 3.75vw; right: 3.125vw;}
.home .sec_faq .tmpl_faq_list dl dt span:before{ width: 3.75vw; height: 2px;}
.home .sec_faq .tmpl_faq_list dl dt span:after{ width: 3.75vw; height: 2px;}
.home .sec_faq .tmpl_faq_list dl dd{ padding: 3.75% 0 0;}
.home .sec_faq .tmpl_faq_list dl dd p{ font-size: 0.8rem;}
}



/*column*/
.home .sec_column{ padding: 140px 0 180px; background: url("../images/home/column_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_column:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #F5EBE8; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_column .sec_ico{ width: 360px; position: absolute; right: -300px; top: -60px; z-index: -1; pointer-events: none;}

.home .sec_column h2{ margin-bottom: 10px;}
.home .sec_column .sec_tmpl_header{ margin-bottom: 10px;}
.home .sec_column p.tmpl_lead{ text-align: center; font-size: 0.9rem;}

.home .sec_column .tmpl_column_list{ margin-top: 100px;}
.home .sec_column .tmpl_column_list ul{ display: flex; flex-wrap: wrap; gap: 45px;}
.home .sec_column .tmpl_column_list ul li{ width: calc(33.33% - 30px);}
.home .sec_column .tmpl_column_list ul li a{ display: block; height: 100%; background: #fff; padding: 10px; border-radius: 20px; transition: 0.3s;}
.home .sec_column .tmpl_column_list ul li a:hover{ opacity: 0.7;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_media figure img{ border-radius: 20px;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body{ padding: 30px 20px 20px;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .cat{ display: flex; margin-bottom: 20px;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .cat span{ display: flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 500; padding: 0.125em 0.5em; color: #B8847F; border: 1px solid #B8847F; border-radius: 1em;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .cat span.cat01{ color: #3C7571; border-color: #3C7571;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .cat span.cat02{ color: #B8847F; border-color: #B8847F;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .cat span.cat03{ color: #DEA229; border-color: #DEA229;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .date{ line-height: 0; margin-top: 15px;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .date span{ font-size: 0.7rem; color: #888888;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body p{ font-size: 0.9rem; margin: 0;}
@media screen and (max-width:768px){
.home .sec_column{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_column:after{ height: calc(100% - 7.5vw);}
.home .sec_column .sec_ico{ width: 50vw; right: -25vw; top: -7.5vw;}

.home .sec_column h2{ margin-bottom: 2.5%;}
.home .sec_column .sec_tmpl_header{ margin-bottom: 2.5%;}
.home .sec_column p.tmpl_lead{ font-size: 0.8rem;}

.home .sec_column .tmpl_column_list{ margin-top: 10%;}
.home .sec_column .tmpl_column_list ul{ display: block; width: 92.5%; margin: auto;}
.home .sec_column .tmpl_column_list ul li{ width: 100%; margin-top: 5%;}
.home .sec_column .tmpl_column_list ul li a{ padding: 1.875vw; border-radius: 3.75vw;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_media figure img{ border-radius: 3.75vw;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body{ padding: 5% 5% 5%;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .cat{ margin-bottom: 5%;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .cat span{ font-size: 0.7rem;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .date{ margin-top: 3.75%;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body .date span{ font-size: 0.7rem;}
.home .sec_column .tmpl_column_list ul li .tmpl_column_item .tmpl_column_body p{ font-size: 0.9rem;}
}



/*trial*/
.home .sec_trial_home{ padding: 180px 0 140px; background: url("../images/home/trial_bg.png") center top repeat-x; background-size: 1400px; margin-top: -90px; position: relative; z-index: 3;}
.home .sec_trial_home:after{ content: ""; width: 100%; height: calc(100% - 100px); background: #FEF9F8; position: absolute; left: 0; bottom: 0; z-index: -1;}
.home .sec_trial_home .sec_ico01{ width: 490px; position: absolute; left: -110px; top: -120px; z-index: -1; pointer-events: none;}
.home .sec_trial_home .sec_ico02{ width: 364px; position: absolute; left: -310px; top: -300px; z-index: -1; pointer-events: none;}
.home .sec_trial_home .sec_ico03{ width: 690px; position: absolute; right: -400px; top: -240px; z-index: -1; pointer-events: none;}

.home .sec_trial_home .btn_ico{ display: block; width: 80px; margin: 0 auto 15px;}
.home .sec_trial_home .tmpl_btn_primary{ margin-top: 0;}
@media screen and (max-width:768px){
.home .sec_trial_home{ padding: 15% 0 15%; background-size: 100%; margin-top: -5vw;}
.home .sec_trial_home:after{ height: calc(100% - 7.5vw);}
.home .sec_trial_home .sec_ico01{ width: 50vw; left: -7.5vw; top: -10vw;}
.home .sec_trial_home .sec_ico02{ width: 40vw; left: -20vw; top: -30vw;}
.home .sec_trial_home .sec_ico03{ width: 60vw; right: -25vw; top: -25vw;}

.home .sec_trial_home .btn_ico{ width: 15vw; margin: 0 auto 2.5%;}
}

