@charset "utf-8";

/* ------------------------------
   Universal Reset
   Contents
   Responsive
   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);}
:root{
  --bdr-w: 0.4rem;
  --c-dark:  #3e3a39;
  --dome-h: calc(100vw * 77 / 1920); /* 上下のカーブの深さ */
}
body{color:var(--c-dark);font-size:3rem;font-family:'Noto Sans JP',"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height:1.6;-webkit-text-size-adjust:100%;-webkit-touch-callout:none;}
#container{text-align:left;background:#fff;display: flex;flex-direction: column;min-height: 100%;}
main{min-height:80vh;position:relative;z-index: 1;flex-grow: 1;}
/* only not index */
body:not(#index) main.lowerCont{font-size:2.8rem;line-height:1.8;padding-bottom:8rem;}
section{position:relative;}
.view_sp{display:block;}
.view_pc{display:none;}


/*========== frame ==========*/
/*--- header ---*/
#header{position: relative;background: #ffeee5;box-shadow: 0 0 2.5rem #e5c8b8;padding:3rem;}
#header .logo > a{display: block;width: 17.3rem;}
#header .logo > a img{display: block;}
/* only index */
#index #container{position: relative;}
#index #header{position: absolute;top: 0;left: 0;right: 0;z-index: 2;background: none;box-shadow: none;}

/*--- footer ---*/
#footer {text-align:center;padding: 5rem 0 4.5rem;background: #f0844a;}
#footer .logo {/*width: 27.6rem;*/width: 25.6rem;margin: 0 auto 4rem;}
#footer nav ul.fnav{display: flex;flex-direction: column;justify-content: center;}
#footer nav ul.fnav > li > a{display:block;color:#FFF;text-align:left;padding:2rem 6rem;}
#footer .copyright{color:#FFF;margin-top:5rem;font-size:2.6rem;}


/*========== parts ==========*/
/*--- title ---*/
/* ttl_01 */
.ttl_01{color:var(--c-dark);font-size:3.6rem;font-weight:bold;text-align: center;line-height:1.4;padding: 7rem 3rem 0;}
.ttl_01 > span{position: relative;isolation: isolate;color: #f0844a;display: flex;justify-content: center;align-items: center;line-height: 1;min-height: 5rem;font-size:2.2rem;margin-bottom: 1.5rem;}
.ttl_01 > span::before{content: "";position: absolute;inset: 0;z-index: -1;background: url(../img/ct_logo_mark01.png) center / 2.4rem no-repeat;}
/* only not index */
body:not(#index) .ttl_01{padding-top: 8rem;}
/* ttl_02 */
.ttl_02{position: relative;font-size:3rem;font-weight:bold;text-align: left;line-height:1.4;padding-left:2rem;margin-block: 4rem;}
.ttl_02::before {position: absolute;content: "";top: 0;left: 0;width: 0.6rem;height: 100%;border-radius: 0.3rem;background: #f0844a;}

/*--- bg ---*/
.bg_ptrn01{background: url(../img/ptrn_bg01.png) repeat;background-size: 3.4rem;}

/*--- list ---*/
/* list_disc */
ul.list_disc01{list-style: outside disc;margin-left: 1.3em;}
ul.list_disc01 > li{margin-block:0.5em;}
/* list_num */
ol.list_num01{list-style: outside decimal;margin-left: 1.3em;}
ol.list_num01 > li{margin-block:0.5em;}
ol.list_num02{list-style: none;counter-reset: paren-counter;}
/* 番号は幅2emの欄に右寄せで置き、本文は2.5emの位置からそろえる（番号が2桁になっても、1行目と2行目の開始位置がずれないように） */
ol.list_num02 > li{position: relative;counter-increment: paren-counter;padding-left: 2.5em;}
ol.list_num02 > li::before{content: "(" counter(paren-counter) ")";position: absolute;top: 0;left: 0;width: 2em;text-align: right;}
/* list_kana */
ol.list_kana01{list-style: none;counter-reset: katakana-counter;}
ol.list_kana01 > li{counter-increment: katakana-counter;text-indent: -1.5em;padding-left: 1.5em;}
ol.list_kana01 > li::before{content: counter(katakana-counter, katakana);margin-right: 0.5em;}
/*--- list_item ---*/
dl.list_item01 dt{position: relative;font-weight:bold;margin-bottom:0.3em;}
dl.list_item01 dd{margin:0 0 1.5em;}

/*--- button ---*/
/* btn01 */
.btn01 a,
.btn01 input[type="submit"]{background: #fff;border-radius: 6rem;max-width: 46rem;width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;margin: 4rem auto 0;font-size: 3.2rem;text-align: center;padding: 1.5rem 0.5rem;font-weight: bold;line-height: 1.5;min-height: 9rem;}
.btn01 input[type="submit"]{padding: 1rem;max-width: 50rem !important;min-height: 7rem !important;}
.btn01.outlined a,
.btn01.outlined input[type="submit"]{color: #6791e5;border: solid #6791e5 0.3rem;}
.btn01.filled a,
.btn01.filled input[type="submit"]{background: #6791e5;color: #fff;border: solid #6791e5 0.3rem;}
.btn01.filled a span,
.btn01.filled input[type="submit"] span{color: #fff;font-size: 2rem;font-weight: 500;display: block;}
/* 追従CTA */
#js_fixed_btn .js_fixed_btn_cont .btn01{display: flex;}
#js_fixed_btn .js_fixed_btn_cont .btn01 a{margin-top: 0;flex: 1;}
/* btn02 */
.btn02 a,
.btn02 input[type="submit"]{background: #fff;display: block;max-width: 46rem;width: 100%;color:#AAA;font-size: 3.2rem;font-weight: bold;text-align: center;padding: 1.5rem;margin: 4rem auto 0;border: solid #AAA var(--bdr-w);border-radius: 4.5rem;}
/* btn03 */
.btn03 a{position: relative;display: flex;justify-content: center;align-items: center;max-width: 40rem;width: 100%;font-size: 3rem;padding: 1.6rem 7rem 1.6rem 3rem;font-weight: bold;text-align: center;margin: 4rem auto 0;border: solid var(--c-dark) 0.3rem;border-radius: 1rem;background: #fff;color: var(--c-dark);}
.btn03 a::before{content: "";position: absolute;top: 50%;right: 3rem;width: 3rem;height: 3rem;border-radius: 50%;background: var(--c-dark);transform: translateY(-50%);}
.btn03 a::after{content: "";position: absolute;top: 50%;right: 3.9rem;width: 1rem;height: 1rem;border-top: 0.4rem solid #fff;border-right: 0.4rem solid #fff;transform: translateY(-50%) rotate(45deg);}

/* list_btn */
ul.list_btn{display: grid;grid-template-columns: 1fr 1fr;gap: 3.5rem;}
ul.list_btn > .btn01{display: flex;}
ul.list_btn > .btn01 > a,
ul.list_btn > .btn01 > input[type="submit"]{flex: 1;margin-top: 0;font-size: 3rem;min-height: 6.4rem;}

/*--- form ---*/
input,select,textarea{width:100%;font-size:16px;font-family:'Noto Sans JP',"Meiryo","メイリオ",sans-serif;}
input::placeholder,input::-webkit-input-placeholder{font-size:16px;}

/*--- area ---*/
.area_01{padding:6rem 3rem;max-width:920px;margin:0 auto;}
.area_01 .note{padding-left: 1em;text-indent: -1em;font-size: 2.5rem;}

/*--- table ---*/
.tbl_01{width:100%;border-collapse:collapse;}
.tbl_01 th,.tbl_01 td{text-align: left;vertical-align: top;border: solid #d6d6d6 1px;padding:2rem;}
.tbl_01 th{background: #f6f6f6;font-weight: bold;width: 35%;}
.tbl_01 td{background: #fff;}


/*========== index setion block ==========*/
main > *[class^="blc_"]:not(.blc_mv) > .inner{padding:6rem 3rem 10rem;}

/*--- blc_mv ---*/
.blc_mv{padding: 8rem 3rem calc(6rem + var(--dome-h));}
.blc_mv h1{font-size: 7rem;line-height: 1.3;font-weight: bold;}
.blc_mv .catch01{font-weight: bold;color: #f0844a;margin-top: 1rem;font-size: 3.6rem;}
.blc_mv .catch02{font-weight: 500;margin-top: 4rem;}
.blc_mv .pic{margin-top: 4rem;}
.blc_mv .pic img{display: block;width: 100%;max-width: 52.7rem;margin-inline: auto;}
.blc_mv ul.list_btn{margin-top: 4rem;}

/*--- blc_feature ---*/
.blc_feature{position: relative;isolation: isolate;padding-block: var(--dome-h);overflow-x: clip;container-type: inline-size;}
.blc_mv + .blc_feature{margin-top: calc(var(--dome-h) * -1);}
.blc_feature .ttl_01 span{color: #fff;}
.blc_feature::before{content: "";position: absolute;inset: 0;z-index: -1;background: #ffa673;-webkit-mask: radial-gradient(100% calc(var(--dome-h) * 7.4641) at 50% calc(var(--dome-h) * -6.4641), #0000 calc(100% - 3px), #000) top / 100% 51% no-repeat, radial-gradient(100% calc(var(--dome-h) * 7.4641) at 50% calc(100% + var(--dome-h) * 6.4641), #0000 calc(100% - 3px), #000) bottom / 100% 51% no-repeat;mask: radial-gradient(100% calc(var(--dome-h) * 7.4641) at 50% calc(var(--dome-h) * -6.4641), #0000 calc(100% - 3px), #000) top / 100% 51% no-repeat, radial-gradient(100% calc(var(--dome-h) * 7.4641) at 50% calc(100% + var(--dome-h) * 6.4641), #0000 calc(100% - 3px), #000) bottom / 100% 51% no-repeat;}
.blc_feature .ttl_01 > .en{display: block;color: #e5844c;font-size: 2.2rem;letter-spacing: 0.1em;margin-bottom: 1.5rem;}
.blc_feature .ttl_01 span::before{background-image: url(../img/ct_logo_mark02.png);}
/* 機能カード（共通） */
.blc_feature ul.list_feature > li{position: relative;display: flex;flex-direction: column;background: #fff;border-radius: 2rem;padding: 3rem;box-shadow: 0 0 3rem #d98d62;cursor: pointer;transition: transform 0.3s, box-shadow 0.3s;font-feature-settings: "palt";}
.blc_feature ul.list_feature > li .js_featureOpen{font: inherit;color: inherit;cursor: pointer;}
.blc_feature ul.list_feature > li .js_featureOpen:focus-visible{outline: none;}
.blc_feature ul.list_feature > li:has(.js_featureOpen:focus-visible){outline: 0.3rem solid #e5844c;outline-offset: 0.4rem;}
.blc_feature :is(ul.list_feature > li, .modal_feature) .thumb{position: relative;display: block;aspect-ratio: 16 / 9;overflow: hidden;background: #ffeee5;}
.blc_feature :is(ul.list_feature > li, .modal_feature) .thumb img{display: block;width: 100%;height: 100%;object-fit: cover;}
.blc_feature ul.list_feature > li .thumb::after{content: "";position: absolute;top: 0;right: 0;width: 4rem;height: 4rem;background: url(../img/feature_icon01.png) no-repeat center / contain;pointer-events: none;}
.blc_feature :is(ul.list_feature > li, .modal_feature) .num{flex-shrink: 0;background: #f0844a;color: #fff;font-weight: bold;line-height: 1;border-radius: 2rem;padding: 0.5rem 3rem;}
.blc_feature ul.list_feature > li .play{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 10rem;height: 10rem;border-radius: 50%;background: #e5844c;box-shadow: 0 0.8rem 2rem rgba(229, 132, 76, 0.4);transition: transform 0.3s;}
.blc_feature ul.list_feature > li[data-video=""] .play{display: none;}
.blc_feature ul.list_feature > li .play::after{content: "";position: absolute;top: 50%;left: 54%;transform: translate(-50%, -50%);border-style: solid;border-width: 1.4rem 0 1.4rem 2.2rem;border-color: transparent transparent transparent #fff;}
.blc_feature :is(ul.list_feature > li, .modal_feature) .ttl{display: flex;align-items: flex-start;gap: 1.2rem;font-weight: bold;line-height: 1.2;color: #f0844a;margin-block: 2rem 1.5rem;}
.blc_feature :is(ul.list_feature > li, .modal_feature) .desc{font-weight: 500;}
/* メイン機能 */
.blc_feature ul.list_feature.main{display: grid;grid-template-columns: 1fr;gap: 3rem;}
/* その他の機能 */
.blc_feature .ttl_sub{display: flex;align-items: center;justify-content: center;gap: 4.5rem;font-weight: bold;font-size: 3.6rem;margin: 7rem 0 3rem;}
.blc_feature .ttl_sub::before,
.blc_feature .ttl_sub::after{content: "";flex-shrink: 0;width: 15rem;height: 1rem;background: radial-gradient(circle at 0.5rem 50%, #ffeee5 0.5rem, transparent calc(0.5rem + 0.5px)) 0 0 / 3rem 100% repeat-x;}
.blc_feature .slider_feature{margin-inline: calc(50% - 50cqw);}
.blc_feature ul.list_feature.sub{display: flex;gap: 3rem;overflow-x: auto;padding: 3rem;margin-block: -3rem;scroll-snap-type: x proximity;scrollbar-width: none;scroll-padding-left: 3rem;}
.blc_feature ul.list_feature.sub::-webkit-scrollbar{display: none;}
.blc_feature ul.list_feature.sub > li{flex: 0 0 46rem;scroll-snap-align: start;}
.blc_feature ul.list_feature.sub.is_dragging{cursor: grabbing;scroll-snap-type: none;user-select: none;}
.blc_feature ul.list_feature.sub.is_dragging > li{cursor: grabbing;}
/* modal_feature */
.blc_feature .modal_feature{width: 100%;height: 100%;max-width: none;max-height: none;margin: 0;padding: 0;border: none;background: transparent;overflow: visible;}
.blc_feature .modal_feature:not([open]){display: none;}
.blc_feature .modal_feature::backdrop{background: rgba(30, 20, 10, 0.6);}
.blc_feature .modal_feature[open]{display: grid;place-items: center;animation: modalFadeIn 0.3s ease;}
.blc_feature .modal_feature .modal_box{position: relative;width: calc(100% - 6rem);max-width: 800px;border-radius: 2rem;background: #fff;color: var(--c-dark);box-shadow: 0 0 3rem rgba(0, 0, 0, 0.3);}
.blc_feature .modal_feature .modal_inner{padding: 3rem 3rem 4rem;max-height: calc(100vh - 6rem);overflow-x: hidden;overflow-y: auto;border-radius: inherit;}
.blc_feature .modal_feature .modal_close{position: absolute;top: -2rem;right: -2rem;z-index: 2;width: 7rem;height: 7rem;border-radius: 50%;background: var(--c-dark);cursor: pointer;}
.blc_feature .modal_feature .modal_close::before,
.blc_feature .modal_feature .modal_close::after{content: "";position: absolute;top: 50%;left: 50%;width: 3rem;height: 0.3rem;background: #fff;}
.blc_feature .modal_feature .modal_close::before{transform: translate(-50%, -50%) rotate(45deg);}
.blc_feature .modal_feature .modal_close::after{transform: translate(-50%, -50%) rotate(-45deg);}
.blc_feature .modal_feature .thumb > video{display: block;width: 100%;height: 100%;object-fit: contain;background: #ffeee5;}
.blc_feature .modal_feature .ttl:focus{outline: none;}
body:has(.blc_feature .modal_feature[open]){overflow: hidden;}
@keyframes modalFadeIn{
from{opacity: 0;transform: translateY(2rem);}
to{opacity: 1;transform: translateY(0);}
}

/*--- blc_plan ---*/
.blc_plan .box_plan{background: #ffeee5;border-radius: 2rem;padding: 3rem 3rem 4rem;}
/* list_plan */
.blc_plan ul.list_plan{display: grid;grid-template-columns: repeat(2, 1fr);gap: 0 3rem;}
.blc_plan ul.list_plan > li{display: grid;grid-template-rows: subgrid;grid-row: span 5;background: #fff;border-radius: 2rem;text-align: center;padding: 0 2rem 4rem;}
.blc_plan ul.list_plan > li .en{justify-self: center;background: #6791e5;color: #fff;border-radius: 0 0 1rem 1rem;min-width: 14rem;font-weight: bold;padding: 0.5rem;}
.blc_plan ul.list_plan > li .thumb{height: 22rem;margin-block: 2rem 2.5rem;}
.blc_plan ul.list_plan > li h3{color: #6c96d9;font-weight: bold;}
.blc_plan ul.list_plan > li.pro .en{background: #f0844a;}
.blc_plan ul.list_plan > li.pro h3{color: #f0844a;}
.blc_plan ul.list_plan > li .desc{margin-block: 1rem;font-weight: 500;}
.blc_plan ul.list_plan > li .price{line-height: 1.2;}
.blc_plan ul.list_plan > li .price .fs60{font-size: 6rem;font-weight: bold;}
.blc_plan ul.list_plan > li .price .fs40{font-size: 4rem;font-weight: bold;}
/* tbl_price */
.blc_plan .tbl_price{--tbl-radius: 1rem;width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border-radius: var(--tbl-radius);box-shadow: 0 0 3rem #e6e6e6;margin-bottom: 8rem;font-size: 2rem;}
.blc_plan .tbl_price th,.blc_plan .tbl_price td{vertical-align:middle;padding:1.2rem 1.5rem;background:#fff;text-align: center;border-right: solid 0.1rem #e8e8e8;border-bottom: solid 0.1rem #e8e8e8;font-weight: 500;}
.blc_plan .tbl_price tr > :last-child{border-right: none;}
.blc_plan .tbl_price tbody:last-of-type tr:last-child > *{border-bottom: none;}
.blc_plan .tbl_price tbody:first-of-type tr:first-child > :first-child{border-top-left-radius: var(--tbl-radius);}
.blc_plan .tbl_price tbody:first-of-type tr:first-child > :last-child{border-top-right-radius: var(--tbl-radius);}
.blc_plan .tbl_price tbody:last-of-type tr:last-child > :first-child{border-bottom-left-radius: var(--tbl-radius);}
.blc_plan .tbl_price tbody:last-of-type tr:last-child > :last-child{border-bottom-right-radius: var(--tbl-radius);}
.blc_plan .tbl_price th[scope="row"]{width:36%;background: #f2f2f2;color: #706967;}
.blc_plan .tbl_price th.bold{font-weight:bold;}
.blc_plan .tbl_price tr.head th{background:#ecd5d8;text-align:center;}
.blc_plan .tbl_price tr.head th.gray{background: #706967;color: #fff;}
.blc_plan .tbl_price tr.head th.blue{background: #6791e5;color: #fff;}
.blc_plan .tbl_price tr.head th.orange{background: #f0844a;color: #fff;}
.blc_plan .tbl_price :is(th, td).blue{background: #e5eeff;}
.blc_plan .tbl_price :is(th, td).orange{background: #ffeee5;}

/*--- blc_regist ---*/
.blc_regist{padding-bottom: 6rem;}
/* 追従CTA */
#js_fixed_btn .js_fixed_btn_cont > .inner{padding: 0 3rem 4rem;}
#js_fixed_btn.js_fixed_btn_active .js_fixed_btn_cont{position: fixed;bottom: 0;right: 0;left: 0;z-index: 3;transition: opacity .25s ease;}
#js_fixed_btn.js_fixed_btn_hide .js_fixed_btn_cont{opacity: 0;pointer-events: none;}
#js_fixed_btn.js_fixed_btn_initializing .js_fixed_btn_cont{opacity: 0;visibility: hidden;pointer-events: none; /* 初期状態 */}

/*--- blc_form ---*/
.blc_form .area_form ul.list_radio{display:flex;flex-wrap:wrap;align-items: center;margin-bottom: -0.8em;}
.blc_form .area_form ul.list_radio > li{min-width:40%;margin:0 0.8em 0.8em 0;}
.blc_form .area_form ul.list_radio > li.col-auto{min-width:auto;}
.blc_form .area_form ul.list_radio > li.col-wide{margin-right: 0;letter-spacing: -0.1rem;}
/* 知ったきっかけ「その他」：チェックしたときだけ自由記述欄を表示 */
.blc_form .area_form ul.list_radio > li:has(> #reason_other){flex-basis: 100%;margin-right: 0;}
.blc_form .area_form #reason_other{display: none;margin-top: 1rem;}
.blc_form .area_form #reason5:checked ~ #reason_other{display: block;}
.blc_form .area_form dl.list_input dt,
.blc_form .area_form dl.list_input dd,
.blc_form .area_form dl.list_input dd.left{font-weight:500;margin-bottom:1.2rem;}
.blc_form .area_form dl.list_input dt span{color: #ff0000;}
.blc_form .area_form dl.list_input dd{margin-bottom:6rem;}
.blc_form .area_form dl.list_input dd.left {margin-bottom: 2.5rem;}

.blc_form .area_form input[type="submit"]{margin: 5rem auto 0;}
.blc_form .area_form input[type="text"],
.blc_form .area_form input[type="email"],
.blc_form .area_form input[type="tel"],
.blc_form .area_form textarea{padding:1rem 2rem;border:1px solid #d1d1d1;border-radius: 0.5rem;}
.blc_form .area_form input[type="radio"],
.blc_form .area_form input[type="checkbox"] {display: none;}
.blc_form .area_form input[type="radio"] + label ,
.blc_form .area_form input[type="checkbox"]+ label{position: relative;padding-left: 4.5rem;display: block;}
.blc_form .area_form input[type="radio"] + label::before,
.blc_form .area_form input[type="checkbox"] + label::before {content: "";font-family: "Font Awesome 5 Free";display: block;position: absolute;top: 0;bottom: 0;left: 0;margin: auto;width: 2.8rem;height: 2.8rem;border-radius: 0.5rem;background: #fff;border:1px solid #d1d1d1;}
.blc_form .area_form input[type="radio"]:checked + label::before,
.blc_form .area_form input[type="checkbox"]:checked + label::before{display: flex;justify-content: center;align-items: center;position: absolute;content: "\f00c";font-weight: 900;font-size: 1.8rem;text-align: center;color: #fff;border: 1px solid #f0844a;background: #f0844a;}
.blc_form .area_form input::placeholder {color: #d1d1d1;}



/*========== 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:3em !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_bold{font-weight: bold !important;}
.f_b500{font-weight: 500 !important;}

.tx_left{text-align:left;}
.tx_right{text-align:right;}
.tx_center{text-align:center;}

/*==================================================================
   Responsive
==================================================================*/
/*========== 750px以上 PC表示 ==========*/
@media screen and (min-width:750px) {
html{font-size:62.5%;}
:root{--bdr-w: 0.2rem;}
body{font-size:2rem;}
.view_sp{display:none;}
.view_pc{display:block;}
/* only not index */
body:not(#index) main.lowerCont{font-size:1.6rem;}

/*========== frame ==========*/
/*--- header ---*/
#header{padding:4rem calc((100% - 92rem) / 2) 3rem;}

/*--- footer ---*/
#footer {padding: 5rem 1rem 4rem;}
#footer nav ul.fnav{flex-direction: row;font-size: 1.6rem;}
#footer nav ul.fnav li{position: relative;display: inline-block;white-space: nowrap;}
#footer nav ul.fnav li:not(:last-child){padding-right: 5rem;}
#footer nav ul.fnav li:not(:last-child)::after{position: absolute;content: "/";top:calc(50% - 1.3rem);right:2rem;color: #fff;font-size: 1.6rem;}
#footer nav ul.fnav > li > a:hover{color:#ffeee5;}
#footer nav ul.fnav > li > a{padding:0;}
#footer .copyright{margin-top:2rem;/*font-size: 1.6rem;*/font-size: 1.3rem;}

/*========== parts ==========*/
/*--- title ---*/
.ttl_01{font-size:3.2rem;padding:6rem 4rem 0;}
.ttl_01 > span {font-size: 1.6rem;}

/*--- button ---*/
.btn01 a,
.btn01 input[type="submit"]{font-size: 2.4rem;margin: 0;transition: background-color .4s, color .4s, border-color .4s;max-width: 40rem;min-height: 8rem;} 
.btn01.filled a span,
.btn01.filled input[type="submit"] span{font-size: 1.6rem;}
.btn01.filled a:hover,
.btn01.filled input[type="submit"]:hover{background: #fff;border-color: #6791e5;color: #6791e5;}
.btn01.filled a:hover span,
.btn01.filled input[type="submit"]:hover span{color: #6791e5;}
.btn01.outlined a:hover,
.btn01.outlined input[type="submit"]:hover{background: #6791e5;color: #fff;}
.btn02 a,
.btn02 input[type="submit"]{font-size: 2.4rem;padding: 1rem; max-width: 50rem;min-height: 7rem;}
.btn03 a{font-size: 2.4rem;padding: 1.6rem 7rem 1.6rem 5rem;}
.btn03 a::before{width: 2.5rem;height: 2.5rem;}
.btn03 a::after{width: 0.7rem;height: 0.7rem;border-top: 0.3rem solid #fff;border-right: 0.3rem solid #fff;}
/* list_btn */
ul.list_btn{grid-template-columns: repeat(2, minmax(0, 40rem));justify-content: center;gap: 3rem;margin-inline: 1rem;}
ul.list_btn > .btn01 > a,
ul.list_btn > .btn01 > input[type="submit"]{font-size: 2.4rem;min-height: 7rem;padding: 1rem 3rem;}


/*--- area_01 ---*/
.area_01 .note{font-size: 1.8rem;}

/*--- table ---*/
.tbl_01 th{width: 30%;}


/*========== index setion block ==========*/
main > *[class^="blc_"]:not(.blc_mv) > .inner{padding:6rem calc((100% - 92rem) / 2);}
/* only not index */
body:not(#index) *[class^="blc_"] > .inner{padding-bottom: 8rem;}

/*--- blc_mv ---*/
.blc_mv{display: grid;grid-template-columns: 43rem 1fr;align-items: start;gap: 5rem 0;padding: 10rem calc((100% - 92rem) / 2);} 
.blc_mv .area_txt{position: relative;z-index: 1;grid-column: 1;grid-row: 1;margin-right: -2rem;font-feature-settings: "palt";word-break: auto-phrase;} 
.blc_mv h1{font-size: 5rem;line-height: 1.4;}
.blc_mv .catch01{font-size: 2.8rem;line-height: 1.4;}
.blc_mv .catch02{line-height: 1.5;}
.blc_mv .pic{grid-column: 1 / -1;grid-row: 1;justify-self: end;width: 52.7rem;margin: -6rem -2.5rem 0 0;}
.blc_mv ul.list_btn{grid-column: 1 / -1;margin-top: 0;}

/*--- blc_feature ---*/
.blc_feature .ttl_01 > .en{font-size: 1.4rem;margin-bottom: 1.2rem;}
.blc_feature .inner{padding-bottom: 10rem !important;}
/* 機能カード（共通） */
.blc_feature ul.list_feature > li{border-radius: 2rem;}
.blc_feature ul.list_feature > li:hover{transform: translateY(-0.4rem);}
.blc_feature :is(ul.list_feature > li, .modal_feature) .num{font-size: 2rem;padding: 0.4rem 1.7rem;border-radius: 1.5rem;}
.blc_feature ul.list_feature > li .play{width: 6.4rem;height: 6.4rem;}
.blc_feature ul.list_feature > li:hover .play{transform: translate(-50%, -50%) scale(1.08);}
.blc_feature ul.list_feature > li .play::after{border-width: 0.9rem 0 0.9rem 1.4rem;}
.blc_feature :is(ul.list_feature > li, .modal_feature) .ttl{gap: 1rem;font-size: 2.4rem;}
/* メイン機能 */
.blc_feature ul.list_feature.main{grid-template-columns: repeat(2, 1fr);gap: 5rem;}
/* その他の機能 */
.blc_feature .ttl_sub{font-size: 3.2rem;margin: 8rem 0 5rem;}
.blc_feature .ttl_sub::before,
.blc_feature .ttl_sub::after{width: 22rem;}
.blc_feature ul.list_feature.sub{gap: 5rem;padding-inline: calc((100cqw - 92rem) / 2);scroll-padding-left: calc((100cqw - 92rem) / 2);}
.blc_feature ul.list_feature.sub > li{flex-basis: 41rem;}
/* modal_feature */
.blc_feature .modal_feature .modal_box{width: clamp(48rem, (100vh - 26rem) * 1.778 + 6rem, min(70.5rem, 100% - 6rem));}
.blc_feature .modal_feature .modal_inner{padding: 3rem;}
.blc_feature .modal_feature .modal_close{width: 5rem;height: 5rem;top: -1.6rem;right: -1.6rem;}
.blc_feature .modal_feature .modal_close::before,
.blc_feature .modal_feature .modal_close::after{width: 2rem;height: 0.2rem;}

/*--- blc_plan  ---*/
.blc_plan .ttl_01{padding-top: 0;}
.blc_feature + .blc_plan .ttl_01{margin-top: calc(6rem - var(--dome-h));}
.blc_plan ul.list_plan > li h3,
.blc_plan ul.list_plan > li .en{font-size: 2.4rem;}
.blc_plan .tbl_price th,.blc_plan .tbl_price td{padding:1.5rem;}

/*--- blc_regist ---*/
.blc_regist {padding-bottom: 0;}
#js_fixed_btn .js_fixed_btn_cont > .inner{padding:0 calc((100% - 92rem) / 2) 6rem;}

/*--- blc_form ---*/
.blc_form .area_form{/*max-width:700px;*/margin:0 auto;}
.blc_form .area_form dl.list_input{display: flex;flex-wrap: wrap;}
.blc_form .area_form dl.list_input dt{width: 37%;}
.blc_form .area_form dl.list_input dd{width: 63%;}
.blc_form .area_form dl.list_input dd.left{width: 24%;margin-right: 2%;}
.blc_form .area_form dl.list_input dd.right{width: 37%}


/**/} /* Responsive End */

/*========== 750px以上〜999px以下（タブレットなど） ==========*/
@media screen and (min-width:750px) and (max-width:999px) {
html:has(main.lowerCont) #header{padding-inline: 4rem;}
html:has(main.lowerCont) #footer nav ul.fnav li:not(:last-child){padding-right: 2.2rem;}
html:has(main.lowerCont) #footer nav ul.fnav li:not(:last-child)::after{right: 0.8rem;}
/* 規約ページ以外 */
html:not(:has(main.lowerCont)){font-size: 1vw;}
/**/} /* 750px以上〜999px以下 End */
