@charset "utf-8";

/*
breakpoint
1440 > 1240 > 767
*/

:root {
    /* フォントファミリー */
    --base-font-family: "Noto Sans JP", sans-serif;
    --serif-font-family: "Noto Serif JP", sans-serif;
    --number-font-family: "Oswald", "Roboto";
    
    /* 数値（単位なし）で定義 */
    --base-size: 14; /* pxベース数値 */
    --base-width: 375; /* pxベース数値 */
    --max-width: 767; /* ビューポート数値 */
    --base-content-width: 375;     /* pxベース数値 */

    /* 最小・最大フォントサイズ */
    --min-font-size: 10; /* pxベース数値 */
    --max-font-size: calc(var(--base-size) * var(--max-width) / var(--base-width)); /* pxベース数値 */
    
    /* vwを使った流動フォントサイズ */
    --fluid-font-size: calc(var(--base-size) / var(--base-width) * 100vw);
            
    /************************
        pxからrem換算の書き方
        例）フォントサイズ20pxを指定したいとき
        font-size: calc(20rem / var(--base-size));
    ************************/

    /* 色 */
    --main-color: #163B3F;
    --accent-color: #FFEE00;
    --text-color: #101820;
    --border-color: #717171;
    --form-border-color: #717171;
    --transparent: rgba(255, 0, 0, 0);
    --require-color: #C0392B;
    --optional-color: #6598FF;
    --bg-color: #163B3F;
    --bg02-color: #F4F7F6;
    --bg03-color: #ECF8F4;

    --base-gradient: linear-gradient(207.75deg, #55A39A 15.37%, #1C6B54 84.63%);
    --base-gradient02: linear-gradient(196.92deg, #F4F7F6 26.4%, #E0F3EC 100.45%);

    --base-shadow: 0px 0px calc(15rem / var(--base-size)) calc(-10rem / var(--base-size)) #777777;
}
@media screen and (min-width: 768px) {
    :root {
        /* 数値（単位なし）で定義 */
        --base-size: 16;       /* pxベース数値 */
        --base-width: 1440;     /* pxベース数値 */
        --base-content-width: 1000;     /* pxベース数値 */
        --min-width: 768;      /* ビューポート数値 */
        --max-width: 1240;      /* ビューポート数値 */

        /* 最小・最大フォントサイズ */
        --min-font-size: 10;     /* pxベース数値 */
        --max-font-size: var(--base-size);     /* pxベース数値 */
        
        /* vwを使った流動フォントサイズ */
        --fluid-font-size: calc(
        var(--min-font-size) * 1px + 
        (var(--max-font-size) - var(--min-font-size)) * 
        ((100vw - var(--min-width) * 1px) / (var(--max-width) - var(--min-width)))
        );
    }
}

html{
    margin-top: 0 !important;
    font-size: clamp(calc(var(--min-font-size) * 1px), var(--fluid-font-size), calc(var(--max-font-size) * 1px));
    scroll-behavior: smooth;
    overflow-x: hidden;
}
body{
    color: var(--text-color);
    font-family: var(--base-font-family);
    font-weight: 400;
    line-height: 1.875;
    background-color: #ffffff;
    text-rendering: optimizeSpeed;
    scroll-behavior: smooth;
    overflow-x: hidden;
}
img{
    max-width: 100%;
    height: auto;
}
iframe{
    max-width: 100%;
}
a{
    color: var(--main-color);
}
a:visited{
    color: var(--main-color);
}
strong:not([class]){
    font-weight: bold;
}
em:not([class]){
    font-style: italic;
}
select, option, input, textarea{
    max-width: 100%;
}

#wpadminbar{
    display: none;
}

@media only screen and (min-width: 768px) {
    .show__sp,
    .u-only-sp{
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    .show__pc,
    .u-only-pc{
        display: none;
    }
}

/* cmn */
.cmn__section{
    width: 100%;
    padding: calc(80rem / var(--base-size)) calc(20rem / var(--base-size));
    box-sizing: border-box;
}
.cmn__section--bg{
    background-color: var(--bg-color);
}
.cmn__section--bg02{
    background-color: var(--bg02-color);
}
.cmn__section--bg_grad{
    background: var(--base-gradient);
}
.cmn__section--bg_grad02{
    background: var(--base-gradient02);
}
.cmn__section--bg_grad02-pc{
    background: var(--base-gradient02);
}
.cmn__section--inner{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
}
.cmn__section--inner-white{
    padding: calc(60rem / var(--base-size));
    background-color: #ffffff;
    border-radius: calc(10rem / var(--base-size));
    box-shadow: var(--base-shadow);
}
@media only screen and (min-width: 768px) {
    .cmn__section--bg_grad02-bg02{
        background: var(--base-gradient02);
    }
    .cmn__section--inner-white-pc{
        padding: calc(60rem / var(--base-size));
        background-color: #ffffff;
        border-radius: calc(10rem / var(--base-size));
        box-shadow: var(--base-shadow);
    }
}
@media only screen and (max-width: 767px) {
    .cmn__section{
        padding: calc(60rem / var(--base-size)) calc(20rem / var(--base-size));
    }
    .cmn__section--bg_grad02-pc{
        background: transparent;
    }
    .cmn__section--bg_grad02-bg02{
        background-color: var(--bg02-color);
    }
    .cmn__section--inner-white{
        padding: 0;
        background-color: #ffffff;
        border-radius: 0;
        box-shadow: none;
    }
}
.cmn__section--shrink{
    padding-top: 0;
}
.cmn__img--center{
    display: flex;
    justify-content: center;
}
.cmn__title{
    margin-bottom: calc(45rem / var(--base-size));
    color: var(--main-color);
    font-size: calc(36rem / var(--base-size));
    font-family: "Zen Kaku Gothic New";
    font-weight: bold;
    line-height: 1.16;
}
.cmn__title--center{
    text-align: center;
}
.cmn__title--small_label{
    display: inline-flex;
    margin-bottom: calc(8rem / var(--base-size));
    padding: calc(3rem / var(--base-size));
    color: #ffffff;
    font-size: calc(22rem / var(--base-size));
    background-color: var(--main-color);
}
@media only screen and (min-width: 768px) {
    .cmn__title{
        text-align: center;
    }
}
@media only screen and (max-width: 767px) {
    .cmn__title{
        margin-bottom: calc(25rem / var(--base-size));
        font-size: calc(24rem / var(--base-size));
    }
    .cmn__title--small_label{
        font-size: calc(14rem / var(--base-size));
    }
}

.cmn__text--bold{
    font-weight: bold;
}

.cmn__btn{
    display: flex;
    justify-content: center;
}
.cmn__btn a{
    width: 100%;
    max-width: calc(400rem / var(--base-size));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(8rem / var(--base-size));
    padding: calc(15rem / var(--base-size)) calc(45rem / var(--base-size));
    color: #ffffff;
    font-size: calc(18rem / var(--base-size));
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
    background: linear-gradient(59.29deg, #E77A13 25.14%, #FFA63C 90.4%);
    border-radius: calc(35rem / var(--base-size));
    transition-duration: 0.3s;
    position: relative;
}
.cmn__btn a:after{
    content: "";
    display: block;
    width: calc(24rem / var(--base-size));
    height: calc(24rem / var(--base-size));
    background-image: url("../img/icon-btn.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: calc(20rem / var(--base-size));
    transition-duration: 0.3s;
    transform: translateY(-50%);
}
.cmn__btn a:hover:after{
    right: calc(15rem / var(--base-size));
}
@media only screen and (max-width: 767px) {
    .cmn__btn a{
        padding: calc(15rem / var(--base-size)) calc(35rem / var(--base-size));
        font-size: calc(20rem / var(--base-size));
    }
    .cmn__btn a:hover:after{
        right: calc(10rem / var(--base-size));
    }
}

.cmn__form--section{
    background-color: var(--bg-color);
}
.cmn__form--inner{
    max-width: calc(800rem / var(--base-size));
}
.cmn__form--title{
    margin-bottom: calc(15rem / var(--base-size));
}
.cmn__form--sentence{
    margin-bottom: calc(15rem / var(--base-size));
}
.cmn__form--document{
    display: none;
    justify-content: center;
    margin-bottom: calc(15rem / var(--base-size));
}
.u-form__inner{
    padding: calc(40rem / var(--base-size));
    background-color: #ffffff;
    border-radius: calc(10rem / var(--base-size));
    position: relative;
}
.cmn__form--balloon{
    position: absolute;
    top: calc(-80rem / var(--base-size));
    right: calc(-6rem / var(--base-size));
}
.cmn__form--balloon-mode02{
    right: calc(8rem / var(--base-size));
}
.contact_form{
	width: 100%;
}
.contact_form__tbody tr{
	width: 100%;
	padding: 3px 0px;
	margin-bottom: calc(3rem / var(--base-size));
}
.contact_form__tbody th{
	text-align: left;
	font-size: calc(16rem / var(--base-size));
	font-weight: 400;
	margin-bottom: calc(6rem / var(--base-size));
}
.contact_form__tbody td input, .contact_form__tbody td select, .contact_form__tbody label{
	font-size: calc(16rem / var(--base-size));
	height: calc(54rem / var(--base-size));
}
.u-form__checkbox{
	width: 1em;
	margin-top: 0.1em;
}
.u-form__checked{
	display: none;
	width: 1em;
}
.u-form__check-wrap{
	position: relative;
	display: flex;
}
.radio-input:checked ~ .u-form__check-wrap .u-form__checked{
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.u-form__ttl{
	max-width: calc(612rem / var(--base-size));
	margin: 0 auto calc(30rem / var(--base-size));
	text-align: center;
}
.u-form__ttl--01{
	margin: 0 auto calc(20rem / var(--base-size));
}
.u-form__intro{
	margin: 0 auto calc(20rem / var(--base-size));
}
.u-form__inner--top{
	border-radius: 0px 0px 5px 5px;
}
.u-form__privacy-link{
	color: #0071A7;
	text-decoration: underline;
	margin-right: 0;
}
.u-form__privacy-link:visited{
	color: #0071A7;
}
.u-form__check-wrap{
	margin-right: .5em;
}
.u-select__arrow{
	position: absolute;
	width: calc(18rem / var(--base-size));
	height: calc(18rem / var(--base-size));
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}
.requir,
.optional {
	display: inline-block;
	vertical-align: middle;
    margin-right: calc(10rem / var(--base-size));
	padding: calc(5rem / var(--base-size)) calc(7rem / var(--base-size));
	color: #ffffff;
    font-size: calc(14rem / var(--base-size));
	font-weight: 400;
    line-height: 1;
    background-color: var(--requir);
	border-radius: calc(2rem / var(--base-size));
}
.requir{
    background-color: var(--require-color);
}
.optional{
    background-color: #6C7A74;
}
.input_m, .input_s, .inp_s{
	width: 100%;
	border-radius: 5px;
	padding: .5em 1em;
	background: #EEEEEE;
    border: none;
    box-sizing: border-box;
}
.contact_form select{
    /* ネイティブの矢印・装飾を消す */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  
    /* 矢印用の余白を確保 */
    padding-right: calc(35rem / var(--base-size));
    /* 独自の矢印をSVGで背景に配置 */
    background-image: url("../img/form-icon-select.svg");
    background-repeat: no-repeat;
    background-position: right calc(20rem / var(--base-size)) center;
    background-size: calc(12rem / var(--base-size)) auto;
}
.control--checkbox{
	display: flex;
    justify-content: center;
	align-items: center;
	font-size: calc(14rem / var(--base-size));
	flex-wrap: wrap;
	margin: 0 0 calc(30rem / var(--base-size));
	letter-spacing: 0;
}
.control--requir-sp{
    font-size: calc(14rem / var(--base-size));
	font-weight: 500;
    color: var(--requir);
    line-height: 1;
}
.control--requir-pc{
	display: none;
}
.validating3:checked ~ .u-form__check-wrap .u-form__checked{
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.form_btn{
	max-width: calc(310rem / var(--base-size));
	margin: calc(15rem / var(--base-size)) auto 0;
}
.form_btn--img{
	max-width: 100%;
	border-radius: 0;
	transition-duration: 0.3s;
}
.form_btn--img:hover{
	opacity: 0.6;
}
input[type="checkbox"]{
	width: 0;
	height: 0;
	margin: 0;
}
input::placeholder{
	color: rgba(112, 120, 134, 0.4);
}
input[type="text"]:focus,
input[type="email"]:focus,
select:focus {
outline: 2px solid var(--form-border);
}
.ad_wrap{
	position: relative;
}
label.error{
	font-size: calc(12rem / var(--base-size));
	color: var(--require-color);
	order: 1;
}
.contact_form__tbody td input, .contact_form__tbody td select, .contact_form__tbody label{
	font-size: calc(16rem / var(--base-size));
	height: calc(54rem / var(--base-size));
}
.privacy_check{
    margin-top: calc(30rem / var(--base-size));
    text-align: center;
}
.privacy__text{
    max-height: calc(120rem / var(--base-size));
    margin-bottom: calc(15rem / var(--base-size));
    padding: calc(16rem / var(--base-size)) calc(20rem / var(--base-size));
    font-size: calc(14rem / var(--base-size));
    text-align: left;
    background-color: #F8F8F8;
    border: 1px solid #CCCCCC;
    border-radius: calc(5rem / var(--base-size));
    overflow: auto;
    box-sizing: border-box;
}
.privacy__text--box:not(:last-child){
    margin-bottom: calc(16rem / var(--base-size));
}
.privacy__text--box p:not([class]):not(:last-child){
    margin-bottom: calc(2rem / var(--base-size));
}
@media screen and (min-width: 768px){
	.l-topform{
		background: #FFEDA6 url(../images/form-bg-pc.jpg) no-repeat center;
	}
	.l-topform--01{
		background: #FFEDA6 url(../images/form-01-bg-pc.jpg) no-repeat center;
	}
	.l-topform{
		padding-top: calc(50rem / var(--base-size));
		padding-bottom: calc(50rem / var(--base-size));
	}
	.u-form__ttl{
		max-width: inherit;
		margin-bottom: calc(30rem / var(--base-size));
	}
	.u-form__ttl--01{
		margin: 0 auto 0;
	}
	.u-form__inner{
	}
	.control--requir-sp{
		display: none;
	}
	.control--requir-pc{
		display: block;
		font-size: calc(14rem / var(--base-size));
		font-weight: 500;
		color: var(--requir);
		line-height: 1;
		margin-right: calc(14rem / var(--base-size));
	}
	.contact_form__tbody tr{
		margin-bottom: calc(10rem / var(--base-size));
	}
	.contact_form__tbody th{
		color: var(--text-color);
		font-size: calc(16rem / var(--base-size));
		letter-spacing: 0;
	}
	.contact_form__tbody td input, .contact_form__tbody td select, .contact_form__tbody label{
		font-size: calc(16rem / var(--base-size));
	}
	.control--checkbox{
		font-size: calc(14rem / var(--base-size));
	}
    .cmn__form--head{
        display: flex;
        gap: calc(20rem / var(--base-size));
        margin-bottom: calc(20rem / var(--base-size));
        padding-right: calc(50rem / var(--base-size));
    }
    .cmn__form--sentence{
        padding-left: calc(18rem / var(--base-size));
        border-left: 1px solid #ffffff;
    }
    .cmn__form--balloon{
        width: calc(120rem / var(--base-size));
        top: 0;
        right: 0;
        transform: translate(50%, -50%);
    }
    .contact_form__tbody th{
        width: calc(280rem / var(--base-size));
        padding-bottom: calc(20rem / var(--base-size));
    }
    .contact_form__tbody td{
        padding-bottom: calc(20rem / var(--base-size));
    }
}
@media screen and (max-width: 767px){
    .cmn__form--section{
        padding-top: calc(50rem / var(--base-size));
    }
    .cmn__form--img-mode02{
        display: inline-block;
        margin-left: calc(-20rem / var(--base-size));
        padding-bottom: calc(15rem / var(--base-size));
        padding-left: calc(20rem / var(--base-size));
        border-bottom: 1px solid #ffffff;
    }
    .cmn__form--head{
        margin-bottom: calc(20rem / var(--base-size));
    }
    .cmn__form--title{
        padding-right: calc(100rem / var(--base-size));
    }
    .cmn__form--title-mode02{
        padding-right: calc(80rem / var(--base-size));
    }
    .cmn__form--sentence{
        padding-right: calc(100rem / var(--base-size));
    }
    .cmn__form--document{
        display: flex;
    }
    .cmn__form--balloon{
        width: calc(90rem / var(--base-size));
        top: calc(-80rem / var(--base-size));
        right: calc(-5rem / var(--base-size));
    }
    .cmn__form--balloon-mode02{
        right: calc(5rem / var(--base-size));
    }
    .contact_form__tbody{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        flex-direction: column;
    }
	.contact_form__tbody tr{
		margin-bottom: calc(10rem / var(--base-size));
	}
    .contact_form__tbody th{
        display: block;
        width: 100%;
    }
    .contact_form__tbody td{
        display: block;
        width: 100%;
    }
	.control--checkbox{
		justify-content: center;
        margin-bottom: calc(20rem / var(--base-size));
	}
    .u-form__inner{
        padding: calc(20rem / var(--base-size));
    }
	.u-form__ttl{
		margin-bottom: calc(15rem / var(--base-size));
	}
	.u-form__ttl img{
		max-width: 53.6vw;
	}
	.requir,
	.optional {
		padding: calc(3rem / var(--base-size)) calc(5rem / var(--base-size)) calc(5rem / var(--base-size));
        font-size: calc(12rem / var(--base-size));
	}
    .privacy_check{
        margin-top: calc(10rem / var(--base-size));
    }
    .privacy__text{
        max-height: calc(128rem / var(--base-size));
        padding: calc(12rem / var(--base-size)) calc(7rem / var(--base-size));
        font-size: calc(12rem / var(--base-size));
    }
    .contact_form select{
        padding-right: calc(32rem / var(--base-size));
        background-position: right calc(16rem / var(--base-size)) center;
    }
}

.header__inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: calc(80rem / var(--base-size));
    gap: calc(20rem / var(--base-size));
    max-width: 1000px;
    margin: 0 auto;
    padding: calc(15rem / var(--base-size)) calc(20rem / var(--base-size));
    box-sizing: border-box;
}
.header__logo{
    display: flex;
    align-items: center;
}
.header__logo img{
    width: auto;
    max-height: calc(36rem / var(--base-size));
}
.header__btn img{
    width: auto;
    max-height: calc(50rem / var(--base-size));
}
@media only screen and (max-width: 767px) {
    .header__inner{
        height: calc(60rem / var(--base-size));
        padding: calc(10rem / var(--base-size)) calc(10rem / var(--base-size)) calc(10rem / var(--base-size)) calc(20rem / var(--base-size));
    }
    .header__logo{
        width: calc(145rem / var(--base-size));
    }
    .header__logo img{
        max-width: calc(145rem / var(--base-size));
    }
    .header__btn img{
        max-height: calc(40rem / var(--base-size));
    }
}

.footer__container{
    width: 100%;
    padding: calc(40rem / var(--base-size)) calc(20rem / var(--base-size)) calc(100rem / var(--base-size));
    box-sizing: border-box;
}
.footer__inner{
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    box-sizing: border-box;
}
.footer__logo{
    display: flex;
    justify-content: center;
    margin-bottom: calc(40rem / var(--base-size));
}
.footer__copyright{
    color: #6C7A74;
    font-size: calc(12rem / var(--base-size));
    line-height: 1.5;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .footer__container{
        padding: calc(40rem / var(--base-size)) calc(20rem / var(--base-size)) calc(90rem / var(--base-size));
    }
    .footer__logo img{
        width: calc(81rem / var(--base-size));
    }
}

.bottom__section{
    display: block;
    width: 100%;
    padding: calc(10rem / var(--base-size));
    background-color: rgba(21, 27, 25, 0.9);
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 9000;
    box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
    .bottom__section--inner{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: calc(20rem / var(--base-size));
    }
    .bottom__text{
        width: calc(351rem / var(--base-size));
    }
    .bottom__btn{
        width: calc(442rem / var(--base-size));
    }
}
@media only screen and (max-width: 767px) {
    .bottom__text{
        display: none;
    }
    .bottom__btn img{
        width: 100%;
        height: auto;
    }
}

.top-visual{
    border-bottom: 1px solid #D9D9D9;
}
.top-visual__main{
    padding: 0;
    background-image: url("../img/mv-bg.png");
    background-position: center center;
    background-repeat: repeat;
    background-size: cover;
}
.top-visual__main--inner{
    max-width: calc(1134rem / var(--base-size));
}
.top-visual__sub{
    padding: calc(10rem / var(--base-size)) calc(20rem / var(--base-size));
}
.top-visual__sub--inner{
    max-width: calc(1134rem / var(--base-size));
}
.top-visual__sub--img{
    width: calc(260rem / var(--base-size));
}
@media only screen and (min-width: 768px) {
    .top-visual__sub--inner{
        display: flex;
        justify-content: center;
    }
}
@media only screen and (max-width: 767px) {
    .top-visual__main{
        background-image: url("../img/mv-bg-sp.png");
    }
    .top-visual__sub--img{
        display: inline-block;
        width: calc(191rem / var(--base-size));
    }
}

.campaign__section{
    padding: calc(10rem / var(--base-size)) calc(20rem / var(--base-size)) calc(20rem / var(--base-size));
}

.about__section{
    padding: calc(60rem / var(--base-size)) 0 0;
    background-image: url("../img/about-bg.png");
    background-position: center center;
    background-repeat: repeat;
    background-size: 1440px auto;
}
.about__section--head{
    display: block;
    margin-bottom: calc(100rem / var(--base-size));
}
@media only screen and (min-width: 768px) {
    .about__section--demand-img{
        display: block;
        margin-right: calc(-144rem / var(--base-size));
    }
}
@media only screen and (max-width: 767px) {
    .about__section{
        padding-top: 0;
        background-image: url("../img/about-bg-sp.png");
        background-size: 100% auto;
    }
    .about__section--head{
        margin-bottom: calc(60rem / var(--base-size));
    }
}

@media only screen and (min-width: 768px) {
    .reason__section--img{
        display: block;
        margin-right: calc(-100rem / var(--base-size));
    }
}
@media only screen and (max-width: 767px) {
    .reason__section{
        padding: 0 0 calc(70rem / var(--base-size));
    }
}

@media only screen and (min-width: 768px) {
    .support__section--img{
        margin: 0 calc(-10rem / var(--base-size));
    }
}
@media only screen and (max-width: 767px) {
    .support__section{
        padding-right: calc(10rem / var(--base-size));
        padding-left: calc(10rem / var(--base-size));
    }
}

@media only screen and (min-width: 768px) {
    .business__section{
        padding-top: calc(120rem / var(--base-size));
        padding-bottom: calc(20rem / var(--base-size));
    }
}

@media only screen and (min-width: 768px) {
    .compare__section{
        padding-bottom: calc(20rem / var(--base-size));
    }
}

.simulation__section--item-wrap{
    max-width: calc(800rem / var(--base-size));
    margin: 0 auto calc(60rem / var(--base-size));
    padding: calc(35rem / var(--base-size));
    background-color: var(--bg03-color);
    border-radius: calc(5rem / var(--base-size));
    box-sizing: border-box;
}
.simulation__section--item:not(:last-child){
    margin-bottom: calc(50rem / var(--base-size));
}
.simulation__section--item-innerbox{
    margin-bottom: calc(15rem / var(--base-size));
    padding: calc(30rem / var(--base-size));
    background-color: #ffffff;
    border-radius: calc(5rem / var(--base-size));
    box-shadow: var(--base-shadow);
    position: relative;
}
.simulation__section--item-label{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
.simulation__section--item-head{
    max-width: calc(640rem / var(--base-size));
    margin: 0 auto;
    padding: calc(25rem / var(--base-size)) calc(40rem / var(--base-size));
    background-color: var(--bg02-color);
    border-radius: calc(10rem / var(--base-size)) calc(10rem / var(--base-size)) 0 0;
    box-sizing: border-box;
}
.simulation__section--accordion01{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: calc(5rem / var(--base-size));
    padding: 0 calc(20rem / var(--base-size));
}
.simulation__section--accordion01 dt{
    padding-right: calc(20rem / var(--base-size));
    color: #6C7A74;
    font-size: calc(14rem / var(--base-size));
    font-weight: 500;
    text-align: right;
    position: relative;
    cursor: pointer;
}
.simulation__section--accordion01 dt:after{
    content: "";
    display: block;
    width: calc(12rem / var(--base-size));
    height: calc(12rem / var(--base-size));
    background-image: url("../img/simulation-arrow-01.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transition-duration: 0.3s;
}
.simulation__section--accordion01 dt.is_open:after{
    transform: rotate(180deg);
}
.simulation__section--accordion01 dd{
    display: none;
    padding-top: calc(5rem / var(--base-size));
    padding-bottom: calc(10rem / var(--base-size));
}
.simulation__section--accordion02{
    margin-top: calc(5rem / var(--base-size));
    padding: calc(12rem / var(--base-size)) calc(20rem / var(--base-size));
    background-color: #ffffff;
    border: 1px solid var(--require-color);
    border-radius: calc(30rem / var(--base-size));
}
.simulation__section--accordion02 dt{
    padding-right: calc(20rem / var(--base-size));
    color: var(--require-color);
    font-size: calc(18rem / var(--base-size));
    font-weight: bold;
    text-align: center;
    position: relative;
    cursor: pointer;
}
.simulation__section--accordion02 dt:after{
    content: "";
    display: block;
    width: calc(12rem / var(--base-size));
    height: calc(12rem / var(--base-size));
    background-image: url("../img/simulation-arrow-02.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: calc(20rem / var(--base-size));
    bottom: 0;
    margin: auto;
    transition-duration: 0.3s;
}
.simulation__section--accordion02 dt.is_open:after{
    transform: rotate(180deg);
}
.simulation__section--accordion02 dd{
    display: none;
    padding: calc(15rem / var(--base-size)) 0 calc(10rem / var(--base-size));
}
@media only screen and (min-width: 768px) {
    .simulation__section--item:has(.simulation__section--item-innerbox){
        margin-right: calc(15rem / var(--base-size));
        margin-left: calc(15rem / var(--base-size));
    }
}
@media only screen and (max-width: 767px) {
    .simulation__section--item-wrap{
        margin-bottom: calc(30rem / var(--base-size));
        padding: calc(30rem / var(--base-size)) calc(10rem / var(--base-size));
        box-shadow: var(--base-shadow);
    }
    .simulation__section--item:not(:last-child){
        margin-bottom: calc(30rem / var(--base-size));
    }
    .simulation__section--item-innerbox{
        margin: 0 calc(10rem / var(--base-size)) calc(10rem / var(--base-size));
        padding: calc(30rem / var(--base-size)) calc(20rem / var(--base-size)) calc(20rem / var(--base-size));
    }
    .simulation__section--item-head{
        padding: calc(10rem / var(--base-size)) 0;
        background-color: transparent;
    }
    .simulation__section--accordion01 {
        padding: 0 calc(10rem / var(--base-size));
    }
    .simulation__section--accordion02{
        padding: calc(4rem / var(--base-size)) calc(10rem / var(--base-size));
        border-radius: calc(15rem / var(--base-size));
    }
    .simulation__section--accordion02 dt{
        font-size: calc(14rem / var(--base-size));
    }
    .simulation__section--accordion02 dt:after{
        right: 0;
    }
    .simulation__section--item-ps{
        display: block;
        margin: 0 calc(10rem / var(--base-size));
    }
}

.flow__section--inner{
    max-width: calc(800rem / var(--base-size));
    position: relative;
}
.flow__section--inner:after{
    content: "";
    display: block;
    width: calc(320rem / var(--base-size));
    height: calc(320rem / var(--base-size));
    position: absolute;
    right: calc(-193rem / var(--base-size));
    bottom: calc(-160rem / var(--base-size));
    background-image: url(../img/flow-bg.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 0;
}
@media only screen and (max-width: 767px) {
    .flow__section--inner:after{
        width: calc(203rem / var(--base-size));
        height: calc(203rem / var(--base-size));
        right: calc(-58rem / var(--base-size));
        bottom: calc(-75rem / var(--base-size));
    }
}

.faq__section--inner{
    max-width: calc(800rem / var(--base-size));
}
.top-faq__inner{
    max-width: calc(840rem / var(--base-size));
}
.top-faq__list dt,
.top-faq__list dd{
    padding: calc(25rem / var(--base-size)) calc(60rem / var(--base-size));
    color: var(--main-color);
    background-color: #ffffff;
    position: relative;
}
.top-faq__list dt{
    margin-top: calc(20rem / var(--base-size));
    font-size: calc(20rem / var(--base-size));
    font-weight: 500;
    line-height: 1.3;
    border-radius: 10px;
    cursor: pointer;
}
.top-faq__list dt:before,
.top-faq__list dd:before{
    content: "";
    display: block;
    color: var(--main-color);
    font-size: calc(32rem / var(--base-size));
    font-weight: 500;
    position: absolute;
    top: 50%;
    left: calc(20rem / var(--base-size));
    transform: translateY(-50%);
}
.top-faq__list dt:before{
    content: "Q";
}
.top-faq__list dd:before{
    content: "A";
    transform: translateY(-60%);
}
.top-faq__list dt:after{
    content: "";
    display: block;
    width: calc(18rem / var(--base-size));
    height: calc(18rem / var(--base-size));
    background-image: url("../img/icon-faq.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: calc(20rem / var(--base-size));
    bottom: 0;
    margin: auto;
    transition-duration: 0.3s;
}
.top-faq__list dt.is_open{
    border-radius: calc(10rem / var(--base-size)) calc(10rem / var(--base-size)) 0 0;
}
.top-faq__list dt.is_open:after{
    transform: rotate(180deg);
}
.top-faq__list dd.is_open:after{
    content: "";
    display: block;
    height: 1px;
    background-color: #666666;
    position: absolute;
    top: 0;
    right: calc(20rem / var(--base-size));
    left: calc(20rem / var(--base-size));
    margin: auto;
}
.top-faq__list dt.is_open:after{
    transform: rotate(180deg);
}
.top-faq__list dd{
    display: none;
    padding-top: calc(15rem / var(--base-size));
    font-size: calc(18rem / var(--base-size));
    line-height: 1.6;
    border-radius: 0 0 calc(10rem / var(--base-size)) calc(10rem / var(--base-size));
}
@media only screen and (max-width: 767px) {
    .top-faq__list dt,
    .top-faq__list dd{
        padding: calc(15rem / var(--base-size)) calc(45rem / var(--base-size));
    }
    .top-faq__list dd{
        padding-right: calc(20rem / var(--base-size));
        font-size: calc(14rem / var(--base-size));
    }
    .top-faq__list dt{
        margin-top: calc(10rem / var(--base-size));
        font-size: calc(14rem / var(--base-size));
    }
    .top-faq__list dt:before,
    .top-faq__list dd:before{
        font-size: calc(20rem / var(--base-size));
        left: calc(20rem / var(--base-size));
    }
    .top-faq__list dt:after{
        width: calc(10rem / var(--base-size));
        height: calc(10rem / var(--base-size));
        right: calc(20rem / var(--base-size));
    }
    .top-faq__list dd.is_open:after{
        right: calc(20rem / var(--base-size));
        left: calc(20rem / var(--base-size));
    }
}

/* THANKS */
.thanks-message__text{
    font-size: calc(20rem / var(--base-size));
    text-align: center;
}
.thanks-message__btn{
    margin-top: calc(60rem / var(--base-size));
}
@media only screen and (max-width: 767px) {
    .thanks-message__text{
        font-size: calc(16rem / var(--base-size));
    }
    .thanks-message__btn{
        margin-top: calc(40rem / var(--base-size));
    }
}