@charset "utf-8";

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
*/


html {

}
body {
    font-family: 'Noto Sans JP', sans-serif;
    caret-color: transparent;
    color: #1e1e1e;
    min-width: auto;
    margin: 0 auto;
    font-feature-settings: "palt";
}
.inner {max-width: 1180px;width: 100%;margin: 0 auto;box-sizing: border-box;}
.inner_s {max-width: 1080px;width: 100%;margin: 0 auto;box-sizing: border-box;}

.marker {background: linear-gradient(transparent 60%, rgba(249, 240, 78, 0.8) 60%);}

.fmctr {
    caret-color: #1e1e1e;
    border-radius: 0.3em
}

/* **************************************************************** */
/* フッター
*/
footer {
	background: #fff;
    padding: 0;
}
footer .copy {
    display: block;
    background: #544242;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 1em 0 1em;
}


/* **************************************************************** */
/* コンタクト
*/






/* **************************************************************** */
/* 個別CSS
*/

.liner {
    background: #fff;
    padding: 2em;
}

.liner > form > * + * {
    margin-top: 1.5em;
}

.announce {
    display: none;
    background: url(../images/load.gif) no-repeat left 115px center;
    background-size: 40px;
}
.announce_bloc {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2em;
}
.announce_bloc i {
    width: 100%;
    /* max-width: 138px; */
    max-width: 70px;
}
.announce_bloc .message_bloc {
    flex: 1 0 0%;
    text-align: left;
}


.announce_bloc .message_bloc .box {
    display: inline-block;
    background: #efefee;
    padding: 1em;
    border-radius: 0.5em;
    position: relative;
    display: none;
}
.announce_bloc .message_bloc .box:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 15px 10px 0;
    border-color: transparent #efefee transparent transparent;
    position: absolute;
    top: 1em;
    left: -15px;
}



.announce_bloc .message_bloc .box p {
    text-align: left;
    font-size: 1em;
    font-weight: bold;
}
.announce_bloc .message_bloc .box p em {
    color:#fd416e;
}

.answer {
    background: #fcfce4;
    padding: 2em;
    border-radius: 0.5em;
    display: none;
}
.answer_bloc {
    margin-bottom: 1em;
}

.answer_btn {

}
.answer_btn span {
    display: inline-block;
    background: #fff;
    color: #fd416e;
    font-size: 1em;
    line-height: 1em;
    font-weight: bold;
    max-width: 380px;
    width: 100%;
    padding: 1em 1em 1.1em;
    border-radius: 50px;
    border: solid 2px #fd416e;
    box-shadow: 0 4px 0 #fd416e;
    cursor: pointer;
}
.answer_btn span:hover {
    background: #fd416e;
    color: #fff;
}

.answer_btn span.disebled {
    background:#fff;
    color: #ccc;
    border: solid 2px #ccc;
    box-shadow: 0 4px 0 #ccc;
}
.answer_btn span.disebled:hover {
    background:#fff;
    color: #ccc;
    border: solid 2px #ccc;
    box-shadow: 0 4px 0 #ccc;
}




.question_item {
    gap: 1em;
}

.question_item label {
    background: #fff;
    width: calc(100% / 2 - 0.5em);
    display: block;
    border: solid 1px #d0d2d2;
    border-radius: 0.5em;
    box-sizing: border-box;
    text-align: left;
    cursor: pointer;
}
.question_item label:hover {
    background: #fd416e;
    color:#fff;
}
.question_item label + label{

}


.radio-input {
    display: none;
}
.radio-parts {
    display: block;
    padding-left: 42px;
    position: relative;
    line-height: 1.2em;
    font-size: 1em;
    font-weight: 700;
    padding: 1em 1em 1em 3em;
    border-radius: 0.5em
}
.radio-parts::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 1em;
    margin-top: -12px;
    width: 24px;
    height: 24px;
    border: 1px solid #999;
    border-radius: 50%;
    background: #fff;
}
.radio-input:checked + .radio-parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: calc(1em + 4px);
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: #fd416e;
    border-radius: 50%;
}
.radio-input:checked + .radio-parts {
    background: #fd416e;
    color:#fff;
}

.fmctr {
    caret-color: #1e1e1e;
    border-radius: 0.5em;
    border: solid 1px #d0d2d2;
    padding: 1em 1em;
}
select.fmctr {
    padding: 1em 4em 1em 1em;
}

.selectbox + .selectbox {
    margin-top:1em;
}

/*#selectbox2 {
    display:none;
}
#selectbox2 option {
    display:none;
}*/
/*#selectbox2 option.blank {
    display:block!important;
}*/




.contact_bloc dl {
    border-top: none;
    padding: 0;
}

.contact_bloc dl:nth-child(odd) {
    background: none;
}
.contact_bloc dl:last-child {
    border-bottom: none;
}

.contact_bloc dl + dl {
    margin-top: 0.5em;
}

.contact_bloc dl dt.required:after {
    background: #fd416e;
}

.contact_bloc dl dt {
    width: 100%;
    margin-bottom: 0.5em;
    font-weight: bold;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5em;
}


.btn_text {
    margin-bottom: 1em;
}
.btn_text p {
    font-size: 16px;
    line-height: 1.4em;
}
.btn_text p a {
    color: #1e1e1e;
    font-weight: bold;
}
.btn_text p a:hover {
    
}

.btn_bloc button {
    display: inline-block;
    background: #fd416e;
    color: #fff;
    font-size: 1em;
    line-height: 1em;
    font-weight: bold;
    max-width: 380px;
    width: 100%;
    padding: 1em 1em 1.1em;
    border-radius: 50px;
    border: solid 2px #fd416e;
    box-shadow: 0 4px 0 #a8193b;
    cursor: pointer;
}
.btn_bloc button:hover {
    background: #a8193b;
    border: solid 2px #a8193b;
}



.btn_bloc button:disabled {
    background: #ccc;
    border: solid 2px #ccc;
    box-shadow: 0 4px 0 #ccc;
}
.btn_bloc button:disabled:hover {
    background: #ccc;
    border: solid 2px #ccc;
    box-shadow: 0 4px 0 #ccc;
}

.thanks {
    padding: 0;
}
.thanks_bloc {
    background: #fcfce4;
    padding: 2em;
}
.thanks_bloc h1 {
    color: #fd416e;
    font-size: 2em;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.thanks_bloc p {
    
}

.step {
    padding: 2em;
}
.step h2 {
    color: #fd416e;
    font-size: 1.6em;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 1em;
}
.step p {
    display: inline-block;
    text-align: left;
    margin-bottom: 2em;
}
.step ol {
    gap: 1em;
}
.step ol li {
    
}
.step ol li + li {
    
}
.step ol li figure {
    margin-bottom: 0.5em;
}
.step ol li h3 {
    color: #544242;
    font-size: 1em;
}

.step_flow {
    background: #fcfce4;
    padding: 2em;
}
.step_item {
    background: #fff;
    border: solid 3px #544242;
    border-radius: 1.3em;
    position: relative;
}
.step_item + .step_item {
    margin-top: 4em;
}

.step_item .box {
    background: #fff;
    flex: 1 0 0%;
    padding: 2em 1em;
    border-top-left-radius: 1.3em;
    border-bottom-left-radius: 1.3em;
    text-align: left;
}
.step_item figure {

}

.step_item .box .num {
    display: block;
    position: absolute;
    top: -2.5em;
    left: 50%;
    margin-left: -45px;
}
.step_item .box h2 {
    color: #fd4a73;
    font-size: 1.5em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.step_item .box p {

}


.faq {
    padding: 2em;
}
.faq_bloc {

}
.faq_bloc h2 {
    color: #fd416e;
    font-size: 1.6em;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 1em;
}
.faq_bloc dl {
    
}
.faq_bloc dl + dl {
    margin-top: 1.5em;
}
.faq_bloc dl dt {
    color: #544242;
    border: solid 1px #544242;
    position: relative;
    font-size: 1em;
    line-height: 1.2em;
    font-weight: bold;
    text-align: left;
    padding: 1em 3em 1em 4.5em;
    cursor: pointer;
}

.faq_bloc dl dd {
    background: #fcfce4;
    border: solid 1px #fd416e;
    border-top: none;
    position: relative;
    font-size: 1em;
    line-height: 1.6em;
    font-weight: bold;
    text-align: left;
    padding: 1.5em 0.8em 1.5em 4.4em;
    display: none;
}
.faq_bloc dl dt:before {
    content: "";
    width: 35px;
    height: 40px;
    background: url(../images/icon_q.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0.8em;
    z-index: 2;
}
.faq_bloc dl dd:before {
    content: "";
    width: 34px;
    height: 35px;
    background: url(../images/icon_a.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0.9em;
    z-index: 2;
}

.faq_bloc dl dt:after {
    content: "＋";
    font-size: 1.5em;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 0.4em;
    font-weight: bold;
}
.faq_bloc dl dt.active:after {
    content:"－";

}


.faq_bloc dl dt span:after {
    content: "";
    background: #544242;
    position: absolute;
    top: 0;
    left: 0;
    width: 3em;
    height: 100%;
}
.faq_bloc dl dd span:after {
    content: "";
    background: #fd416e;
    position: absolute;
    top: 0;
    left: 0;
    width: 3.6em;
    height: 100%;
}

.faq_bloc dl dt span {
    font-size: 1.2em;
}
.faq_bloc dl dd span {
    
}

.footer_nav {
    background: rgb(253 65 110 / 50%);
    color: #fff;
    position: relative;
}
.footer_nav .num {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 1em;
    font-size: 1.2em;
}
.footer_nav .num i {
    font-style: normal;
}
.footer_nav ul {

}
.footer_nav ul li {
    flex: 1 0 0%;
    padding: 1.5em;
}
.footer_nav ul li.active {
    background: #FD416E;
}

.footer_nav ul li + li {
    border-left:solid 1px #FD416E;
}
.footer_nav ul li.active + li {
    border-left:solid 1px #fff;
}
.footer_nav ul li.active + li.active {
    border-left:solid 1px #fff;
}
.area__point{
    background: rgb(253,65,110);
    background: linear-gradient(90deg, rgba(253,65,110,1) 0%, rgba(255,136,36,1) 100%);
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 180%;
    padding: 2%;
}
#formarea{
    background: #F5F0E9;
    padding: 5%;
}
.form__box{
    width: 880px;
    max-width: 100%;
    margin: auto;
    background: #fff;
    border-radius: 16px;
    padding: 5%;
}
.announce_bloc,
.answer{
    margin-bottom: 24px;
}

