@charset "utf-8";
/* CSS Document */



.screen {
    display: none;
}

#shindan_contents.top_screen #top,
#shindan_contents.top_screen #question{
    display: block;
}

#shindan_contents.question_screen #question {
    display: block;
}

#shindan_contents.result_screen #point{
    display: none;
}

#shindan_contents.result_screen #result {
    display: block;
}

#shindan_contents.top_screen .contactSection,
#shindan_contents.question_screen .contactSection {
    display: none;
}

#shindan_contents.question_screen .footerUpper,
#shindan_contents.question_screen .footerLower {
    display: none;
}

#shindan_contents.question_screen .footerPagetop {
    bottom: 120px;
}


.shindan_ttl {
    width: 100%;
    height: auto;
    padding: 60px 0 80px;
    background-color: #ffffff;
    text-align: center;
}

.shindan_ttl img {
    max-width: 660px;
    width: 100%;
}

body.top_screen .shindan_ttl {
    display: none;
}

#top {
    background: linear-gradient(170deg, #FFFFFF 0%, #FFFFFF 60%, #EFE7E4 40%, #EFE7E4 100%);
}

.start {
    margin: 0 auto 80px;
    padding-top: 60px;
    width: 70%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.start_txt {
    color: #333333;
    width: 45%;
}

.start_img {
    width: 50%;
}

.start_img img {
    width: 100%;
}

.start_txt h2 img {
    width: 100%;
}

.start_txt p {
    font-size: 18px;
    margin-top: 25px;
    line-height: 32px;
}

.ques_start {
    text-align: center;
    margin: auto;
    padding-bottom: 130px;
}

.start_btn {
    display: inline-block;
    position: relative;
    padding: 23px 138px;
    font-size:18px;
    color: #fff;
    background: #66353B;
    border-radius: 50px;
    margin-top: 10px;
    cursor: pointer;
}

.start_btn:hover {
    opacity: 0.7;
}

.start_btn::before {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 5px);
    right: 30px;
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
}

.start_btn::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: 30px;
    width: 30px;
    height: 1px;
    background: #fff;
}

#question, 
#result,
#result_detail {
    background: #EFE7E4;
}

#question h3 {
    margin: 0 auto 80px;
    width: 67%;
    text-align: center;
    font-size: 24px;
    color: #8B585E;
    padding-top: 110px;
    padding-right: 15%;
}

#question h3 img {
    width: 100%;
    height: auto;
}

.ques_box:first-of-type::before {
    position: absolute;
    content: "";
    background-size: cover;
    background-image: url(../img/img_bg_01.png);
    top: -14vw;
    right: 3%;
    width: 17%;
    height: 14vw;
}

.ques_box {
    width: 70%;
    background-color: #FFF;
    margin: 0 auto 40px;
    position: relative;
    border-radius: 30px;
}

.ques_cnt {
    padding:40px 4% 40px;
}

.ques_cnt_ttl {
    position: relative;
    font-size: 28px;
    color: #333333;
    padding-left: 93px;
    padding-bottom: 36px;
    border-bottom: dotted 4px #61ADA2;
    margin-bottom: 10px;
    font-weight: bold;
}

.ques_cnt_ttl span{
    display: inline-block;
    font-size: 14px;
    color: #666666;
    text-indent: -1.7rem;
    margin-left: 3.7rem;
    font-weight: normal;
}

[data-togglearea] {
    display: none;
}

.ques_cnt_sub01 {
    background: #E8F3EF;
    border-radius: 0 0 30px 30px;
    position: relative;
}

.ques_cnt_sub02 {
    background: #E8F3EF;
    position: relative;
}

.ques_cnt_sub02:last-of-type {
    border-radius: 0 0 30px 30px;
}

.ques_cnt_sub01::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: -19px;
    left: 140px;
    border-left: 27px solid transparent;
    border-right: 27px solid transparent;
    border-bottom: 27px solid #E8F3EF;
}

.ques_cnt_sub02::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: -19px;
    left: 350px;
    border-left: 27px solid transparent;
    border-right: 27px solid transparent;
    border-bottom: 27px solid #E8F3EF;
}

.ques_cnt_sub01 .ques_cnt_ttl,
.ques_cnt_sub02 .ques_cnt_ttl {
    color: #333333;
    border-bottom: dotted 4px #61ADA2;
    padding-left: 55px;
}

.ques_cnt_sub01 .ques_cnt_ttl::after,
.ques_cnt_sub02 .ques_cnt_ttl::after {
    position: absolute;
    content: "";
    background-size: cover;
    background-image: url(../img/ques_q.svg);
    width: 28px;
    height: 35px;
    left: 10px;
    top: 0;
}

.ques_cnt_ttl.ttl01::before,
.ques_cnt_ttl.ttl02::before,
.ques_cnt_ttl.ttl03::before,
.ques_cnt_ttl.ttl04::before,
.ques_cnt_ttl.ttl05::before,
.ques_cnt_ttl.ttl06::before,
.ques_cnt_ttl.ttl07::before {
    position: absolute;
    content: "";
    background-size: cover;
    width: 75px;
    height: 75px;
    left: 0;
    top: -20px;
}

.ques_cnt_ttl.ttl01::before {
    background-image: url(../img/ques_no_01.svg);
}

.ques_cnt_ttl.ttl02::before {
    background-image: url(../img/ques_no_02.svg);
}

.ques_cnt_ttl.ttl03::before {
    background-image: url(../img/ques_no_03.svg);
}

.ques_cnt_ttl.ttl04::before {
    background-image: url(../img/ques_no_04.svg);
}

.ques_cnt_ttl.ttl05::before {
    background-image: url(../img/ques_no_05.svg);
}

.ques_cnt_ttl.ttl06::before {
    background-image: url(../img/ques_no_06.svg);
}

.ques_cnt_ttl.ttl07::before {
    background-image: url(../img/ques_no_07.svg);
}

input[type=radio],
input[type=checkbox] {
    display: none;
}

.btn_area_01 label,
.btn_area_03 label {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    color: #666666;
    padding: 18px 30px;
    border: 2px solid #61ADA2;
    background-color: #fff;
    border-radius: 50px;
    margin: 30px 20px 0 0;
    box-shadow: 0 3px #61ADA2;
}

.btn_area_03 label {
    border: 1px solid #61ADA2;
}

.btn_area_01 input[type=radio]:checked + label,
.btn_area_01 label:hover {
    background: #E8F3EF;
    border-color: #61ADA2;
}

.btn_area_03 input[type=radio]:checked + label,
.btn_area_03 label:hover{
    background: #61ADA2;
    color: #ffffff;
}

.btn_area_02,
.btn_area_04 {
    display: flex;
    flex-wrap:wrap;
}

.btn_area_02 label,
.btn_area_04 label{
    display: inline-block;
    width: 210px;
    border: solid 1px #61ADA2;
    border-radius: 30px;
    padding: 20px 30px 15px;
    text-align: center;
    margin-right: 30px;
    margin-top: 30px;
    box-shadow: 0 3px #61ADA2;
}

.btn_area_02 label img,
.btn_area_04 label img {
    width: 100%;
    height: auto;
}

.btn_area_02 label span,
.btn_area_04 label span{
    position: relative;
    display: inline-block;
    color: #666666;
    font-size: 18px;
    font-weight: bold;
    padding-left: 1rem;
    padding-top: 15px;
}

.btn_area_02 label span::after {
    position: absolute; 
    content: "";
    display: block;
    top: 16px;
    left: -20px;
    width: 18px;
    height: 18px;
    border: 1px solid #707070;
    border-radius: 50%;
}

.btn_area_02 label input[type=radio]:checked + span::before {
    position: absolute; 
    content: "";
    display: block;
    top: 19px;
    left: -17px;
    width: 12px;
    height: 12px;
    background: #61ADA2;
    border-radius: 50%;
}

.btn_area_04 label span::after {
    position: absolute; 
    content: "";
    display: block;
    top: 17px;
    left: -20px;
    width: 18px;
    height: 18px;
    border: 1px solid #707070;
    border-radius: 5px;
}

.btn_area_04 label input[type=checkbox]:checked + span::before {
    position: absolute; 
    content: "";
    display: block;
    top: 20px;
    left: -15px;
    width: 9px;
    height: 9px;
    border-bottom: 2px solid #61ADA2;
    border-left: 2px solid #61ADA2;
    transform: rotate(-45deg);
}

.btn_area_02 label:has(input[type=radio]:checked),
.btn_area_02 label:hover,
.btn_area_04 label:has(input[type=checkbox]:checked),
.btn_area_04 label:hover{
    background: #E8F3EF;
    border-color: #61ADA2;
}

.btn_sub_txt {
    margin-top: 30px;
    font-size: 18px;
    font-weight: bold;
}

.ques_comp {
    position: sticky;
    bottom: 0;
    width: 100%;
    background: #8B5858;
    color: #fff;
    font-size: 18px;
    text-align: center;
    padding: 18px 0;
}

.comp_btn {
    display: inline-block;
    position: relative;
    padding: 12px 120px;
    background: #3F2024;
    border-radius: 50px;
    margin-top: 7px;
    cursor: pointer;
}

.comp_btn.disabled_comp_btn {
    opacity: 0.3;
    cursor: auto;
}

.comp_btn::before {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 5px);
    right: 30px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

.comp_btn::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: 30px;
    width: 30px;
    height: 2px;
    background: #fff;
}

.rsl_ttl {
    margin: auto;
    padding: 80px 0 30px;
    text-align: center;
    font-size: 36px;
    color: #333333;
    border-bottom: solid 4px #61ADA2;
    font-weight: bold;
    width: fit-content;
}

.rsl_read {
    width: 70%;
    margin: 35px auto 50px;
    text-align: center;
    font-size: 20px;
    color: #333333;
    font-weight: bold;
    line-height: 36px;
}

.rsl_r {
    width: 80%;
    margin: 0 auto 30px;
}

.rsl_r_cnt {
    width: 100%;
    background-color: #fff;
    margin: 0 auto 50px;
    padding-bottom: 30px;
    border-radius: 30px;
    padding:30px 4% 60px;
}

.rsl_r_ttl {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 40px;
    position:relative;
    padding: 0 0 25px 75px;
    color: #333333;
    border-bottom: dotted 4px #61ADA2;
}


.rsl_r_cnt:first-of-type .rsl_r_ttl::before{
    content: "";
    background: url(../img/runk_01.png);
    position: absolute;
    background-size: cover;
    width: 60px;
    height: 66px;
    left: 0;
    top: -30px;
}

.rsl_r_cnt:nth-of-type(2) .rsl_r_ttl::before{
    content: "";
    background: url(../img/runk_02.png);
    position: absolute;
    background-size: cover;
    width: 60px;
    height: 66px;
    left: 0;
    top: -30px;
}

.rsl_r_cnt:nth-of-type(3) .rsl_r_ttl::before{
    content: "";
    background: url(../img/runk_03.png);
    position: absolute;
    background-size: cover;
    width: 60px;
    height: 66px;
    left: 0;
    top: -30px;
}

.rsl_r_txt {
    font-size: 18px;
    line-height: 32px;
    display: flex;
    justify-content: space-between;
}


.rsl_r_txt img {
    width: 35%;
    height: fit-content;
    margin-left: 5%; 
}


.rsl_e {
    width: 80%;
    margin: 0 auto 60px;
    background-color: #fff;
    border-radius: 30px;
    padding: 60px 70px;
}

.rsl_e_txt {
    font-size: 36px;
    font-weight: bold;
    color: #333333;
    text-align: center;
    margin-bottom: 40px;
}

.rsl_e_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.rsl_e_cnt {
    width: 30%;
    background-color: #E8F3EF;
    border-radius: 6px;
    margin-right: 5%;
    margin-bottom: 40px;
    text-align: center;
    padding: 40px 20px 20px;
}

.rsl_e_cnt:nth-of-type(3n) {
    margin-right: 0;
}

.rsl_e_ico {
    height: 70px;
    width: auto;
    margin-bottom: 20px;
}

.rsl_e_ico img {
    width: auto;
    height: 100%;
}

.rsl_e_cnt {
    min-height: 175px;
}

#rsl_e_reform,
#rsl_e_rental {
    height: 195px;
}

.rsl_e_ttl {
    font-size: 16px;
    font-weight: bold;
    color: #333333;
}

#rsl_e_reform .rsl_e_ttl {
    font-size: 14px;
}

.rsl_e_ttl span {
    font-size: 12px;
}

.rsl_e_note {
   color: #666666;
   font-size: 16px;
   margin-top: -10px;
}

.rsl_more,
.rsl_trivia {
    width: 80%;
    margin: 0 auto 80px;
    background-color: #fff;
    border-radius: 30px;
    padding: 50px;
}

.rsl_more .more_ttl {
    text-align: center;
    color: #333333;
    font-size:36px;
    font-weight: bold;
    line-height: 54px;
    padding-bottom: 20px;
    margin-bottom: 40px;
    border-bottom: dotted 4px #61ADA2;
}

.rsl_more .more_ttl span {
    font-size:24px;
}

.rsl_more .more_txt {
    font-size: 20px;
    line-height: 33px;
    text-align: center;
    margin: 40px auto;
}

.more_form {
    display: flex;
    margin-bottom: 30px;
}

.more_form p {
    font-size: 20px;
    font-weight: bold;
    color: #333333;
    width: 30%;
    padding-right: 2%;
    display: flex;
    justify-content: space-between;
}

.more_form p span.more_form_required {
    display: inline-block;
    height: fit-content;
    font-size: 12px;
    color: #fff;
    background-color: #B24B57;
    padding: 3px 6px;
    margin-left: 12px;
    border-radius: 5px;
    min-width: 36px;
}

.more_form p.more_form_note {
    font-size: 10px;
    color: #999;
    padding-top: 10px;
    width: 100%;
}


.more_form input,
.more_form textarea {
    border: 1px solid #848484;
    font-size: 18px;
    padding: 7px;
}

.more_form input ::placeholder {
    color: #B6B6B6;
}

.more_form .more_form_txt {
    width: 65%;
}

.more_form input {
    width: 100%;
    height: 40px;
}

.more_form textarea {
    width: 100%;
    height: 250px;
    resize: none;
}

.more_business {
    width: 71%;
    margin-bottom: -20px;
}

.more_form input[type=checkbox] + span {
    font-size: 16px;
    font-weight: bold;
    color: #666666;
    display: inline-block;
    position: relative;
    margin: 0 20px 20px 25px;
}

.more_form input[type=checkbox] + span::after {
    position: absolute;
    content: "";
    display: block;
    top: 0px;
    left: -20px;
    width: 18px;
    height: 18px;
    border: 1px solid #707070;
    border-radius: 5px;
}

.more_form input[type=checkbox]:checked + span {
    color: #8B585E;
}

.more_form input[type=checkbox]:checked + span::before {
    position: absolute;
    content: "";
    display: block;
    top: 2px;
    left: -15px;
    width: 9px;
    height: 9px;
    border-bottom: 2px solid #8B585E;
    border-left: 2px solid #8B585E;
    transform: rotate(-45deg);
}

.rsl_more .more_btn {
    position: relative;
    width: 45%;
    margin: 40px auto 20px;
}

.rsl_more .more_btn input{
    display: block;
    position: relative;
    width: 100%;  
    padding: 20px;
    font-size: 18px;
    text-align: center;
    color: #fff;
    background-color:  #8B585E;
    border-radius: 50px;
    border: 1px solid #8B585E;
}

.rsl_more .more_btn input:hover {
    color: #8B585E;
    background-color:  #fff;
}

.rsl_more .more_btn::before {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 5px);
    right: calc(15% - 30px);
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    z-index: 2;
}

.rsl_more .more_btn::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: calc(15% - 30px);
    width: 30px;
    height: 1px;
    background: #fff;
    z-index: 2;
}

.rsl_more .more_btn:hover::before {
    border-color: #8B585E;
}

.rsl_more .more_btn:hover::after {
    background:  #8B585E;
}

.rsl_more .more_btn.disabled_more_btn input{
    background-color: #bbbbbb;
    color: #535353;
    border: 1px solid #bbbbbb;
}

.rsl_more .more_btn.disabled_more_btn::before {
    border-color: #535353;
}

.rsl_more .more_btn.disabled_more_btn::after {
    background-color: #535353;
}


.rsl_more .more_note {
    width: 85%;
    margin: auto;
    font-size: 16px;
    color: #666666;
    text-indent: -1.6rem;
    padding-left: 1.6rem;
    line-height: 30px;
}

.trivia_ttl {
    color: #333333;
    text-align: center;
    font-size: 36px;
    margin-bottom: 40px;
}

.trivia_cnt {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.trivia_item {
    width: 48%;
    color: #333333;
}

.trivia_item_ttl {
    width: 100%;
    background-color: #E8F3EF;
    text-align: center;font-size: 22px;
    font-weight: bold;
    padding: 6px 0;
    margin-bottom: 20px;
}

.trivia_item_txt {
    width: 100%;
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 40px;
}

.rsl_link {
    text-align: center;
    margin: 0 auto 100px;
}

.rsl_link .link_btn {
    position: relative;
    width: 365px;
    margin: 0 auto 40px;
    padding: 20px;
    font-size: 16px;
    font-weight: bold;
    color: #8B585E;
    border: 1px solid #8B585E;
    border-radius: 50px;
    cursor: pointer;
    background-color: #fff;
}

.rsl_link .link_btn::before {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 5px);
    left: 30px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #8B585E;
    border-right: 2px solid #8B585E;
    transform: rotate(-135deg);
}

.rsl_link .link_btn::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    left: 30px;
    width: 30px;
    height: 2px;
    background: #8B585E;
}

.rsl_link .link_btn:hover {
    color: #fff;
    background-color: #8B585E;
}

.rsl_link .link_btn:hover::before {
   border-color: #fff;
}

.rsl_link .link_btn:hover::after {
    background-color: #fff;
}

.rsl_link .link_top a{
    font-size: 18px;
    color: #8B585E;
    text-decoration: underline 1px #8B585E;
}

.rsl_link .link_return:hover {
    opacity: 0.7;
}

.link_return {
    font-size: 18px;
    color: #8B585E;
    text-decoration: underline 1px #8B585E;
    margin-bottom: 20px;
    cursor: pointer;
}

.rsl_link .link_note {
    font-size: 16px;
    line-height: 30px;
    color: #666666;
    text-align: left;
    width: 450px;
    margin: 20px auto 0;
}

.rsl_link .link_note:last-of-type {
    margin-top: 0;
}

.rsl_info {
    background-color: #EEEDED;
    padding: 100px 0 140px;
}

.rsl_info .info_ttl {
    margin-bottom: 40px;
    font-size: 18px;
    line-height: 36px;
    text-align: center;
    color: #8B585E;
}

.rsl_info .info_ttl span {
    font-size: 36px;
    font-weight: bold;
}

.rsl_info .info_read {
    width: 80%;
    margin: auto;
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: bold;
    line-height: 36px;
    color: #8B585E;
}

.info_cnt {
    width: 80%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.rsl_info .info_txt {
    width:55%;
    font-size: 18px;
    line-height: 32px;
    color: #666666;
}

.rsl_info .info_btn {
    width: 40%;
    color: #fff;
    font-size: 18px;
    text-align: center;
    background-color: #8B585E;
    border-radius: 30px;
    position: relative;
}

.rsl_info .info_btn a {
    display: inline-block;
    width: 100%;
    padding: 20px;
}

.rsl_info .info_btn::before {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 5px);
    right: 20px;
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
}

.rsl_info .info_btn::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: 20px;
    width: 20px;
    height: 1px;
    background: #fff;
}

@media screen and (max-width: 768px) {

    .shindan_ttl {
        width: 100%;
        padding: 20px 0 30px;
    }
    .shindan_ttl img{
        width: 90%;
    }
    
    #top {
        background: linear-gradient(170deg, #FFFFFF 0%, #FFFFFF 75%, #E3DEDF 50%, #E3DEDF 100%);
    }

    .start {
        margin: 0 auto 20px;
        padding-top: 10px;
        width: 100%;
        flex-direction: column-reverse;
    }
    
    .start_img {
        width: 100%;
    }

    .start_txt {
        width: 90%;
        text-align: left;
        margin: 20px auto 0;
        font-size: 13px;
        line-height: 20px;
    }

    .start_txt p {
        font-size: 13px;
        line-height: 20px;
    }

    .ques_start {
        margin: 90px auto 0;
        padding-bottom: 70px;
    }

    .start_btn {
        width: 75%;
        margin: auto;
        font-size: 13px;
        padding: 17px;

    }

    #question h3 {
        margin: 0 auto 40px;
        width: 88%;
        padding-top: 50px;
    }

    .ques_box:first-of-type::before {
        top: -29vw;
        right: 7%;
        width: 27%;
        height: 29vw; 
    }

    .ques_box {
        width: 90%;
        margin: 0 auto 40px;
    }
    
    .ques_cnt_ttl {
        font-size: 20px;
        padding-left: 70px;
        padding-bottom: 20px;
    }
    
    .ques_cnt_ttl span {
        font-size: 14px;
        line-height: 18px;
        margin-top: 22px;
        text-indent: -1.3rem;
        margin-left: calc(1.3rem - 64px);
    }

    .ques_cnt_sub01 .ques_cnt_ttl::after,
    .ques_cnt_sub02 .ques_cnt_ttl::after {
        top: -5px;
    }

    .ques_cnt_ttl.ttl01::before,
    .ques_cnt_ttl.ttl02::before,
    .ques_cnt_ttl.ttl03::before,
    .ques_cnt_ttl.ttl04::before,
    .ques_cnt_ttl.ttl05::before,
    .ques_cnt_ttl.ttl06::before,
    .ques_cnt_ttl.ttl07::before {
        width: 55px;
        height: 55px;
    }
    
    .ques_cnt_sub01::before{
        left: 18%;
    }
    
    .ques_cnt_sub02::before{
        left: 70%;
    }

    .btn_area_01 label,
    .btn_area_03 label,
    .btn_area_02 label span,
    .btn_area_04 label span{
        font-size: 13px;
    }
    
    .btn_area_01 label,
    .btn_area_03 label {
        padding: 10px 20px;
        margin: 20px 20px 0 0;
    }
    
    .btn_area_02 label,
    .btn_area_04 label {
        width: 45%;
        margin-top: 20px;
    }
    
    .btn_area_02 label:nth-of-type(2n),
    .btn_area_04 label:nth-of-type(2n) {
       margin-right: 0;
    }
    
    .btn_area_02 label span::after {
        top: 13px;
    }
    
    .btn_area_02 label input[type=radio]:checked + span::before {
        top: 16px;
    }

    .btn_area_04 label:hover{
        background: #fff;
        border-color: #D0BDC0;
        box-shadow: 0 3px rgba(139, 88, 94, 0.25);
    }

    .btn_sub_txt {
        font-size: 13px;
    }
    
    .ques_comp {
        font-size: 14px;
        padding: 12px 0;
    }
    .comp_btn {
        display: block;
        margin: auto;
        margin-top: 10px;
        position: relative;
        padding: 11px 0;
        width: 90%;
    }

    .rsl_read {
        width: 90%;
        font-size: 18px;
        width: 70%;
    }

    .rsl_r {
        width: 90%;
    }

    .rsl_r_ttl,
    .trivia_ttl {
        font-size: 20px;
    }

    .rsl_more .more_ttl {
        font-size: 24px;
        line-height: 36px;
        color: #333333;
        margin-bottom: 40px;
    }

    .rsl_more .more_ttl span{
        font-size: 18px;
    }

    .rsl_more .more_txt {
        font-size: 13px;
        line-height: 20px;
        text-align: left;
    }

    .rsl_r_txt,
    .trivia_txt,
    .info_txt {
        font-size: 13px;
    }

    .trivia_item {
        width: 100%;
    }

    .trivia_item_ttl {
        font-size: 20px;
    }

    .trivia_item_txt {
        font-size: 13px;
        line-height: 22px;
    }

    .rsl_r_ttl {
        padding-left: 52px;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .rsl_r_txt {
        line-height: 20px;
        flex-direction: column;
        align-items: center;
    }

    .rsl_r_txt img {
        width: 100%;
        height: auto;
        margin-top: 10px;
        margin-left: 0;
    }

    .rsl_r_cnt {
        padding-top: 20px;
    }

    .rsl_r_cnt:first-of-type .rsl_r_ttl::before,
    .rsl_r_cnt:nth-of-type(2) .rsl_r_ttl::before,
    .rsl_r_cnt:nth-of-type(3) .rsl_r_ttl::before {
        width: 38px;
        height: 42px;
        left: 1%;
        top: -20px;
    }

    .rsl_e {
        width: 90%;
        padding: 30px 15px 10px;
    }

    .rsl_e_txt {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .rsl_e_area {
        justify-content: space-between;
    }

    .rsl_e_cnt {
        width: 47%;
        margin-right: 0;
        margin-bottom: 20px;
        padding: 24px 15px;
    }

    .rsl_e_note {
        font-size: 12px;
        line-height: 18px;
        text-indent: -1.2rem;
        padding-left: 2.2rem;
        margin-bottom: 10px;
    }

    .rsl_trivia,
    .rsl_more {
        width: 90%;
        padding: 30px 15px;
    }
    
    .more_form {
        flex-direction: column;
    }
    
    .more_form p {
        font-size: 15px;
        width: 100%;
        margin-bottom: 10px;
        justify-content: flex-start;
    }
    
    .more_form p span.more_form_required {
        font-size: 10px;
        margin-left: 8px;
    }

    .more_form p.more_form_note {
        display: inline-block;
        margin-left: 5px;
        width: 100%;
    }

    .more_form .more_form_txt {
        width: 100%;
    }
    
    .more_form input,
    .more_form textarea {
        font-size: 15px;
    }
    
    .more_form:first-of-type input {
        width: 100%;
        height: 30px;
    }
    
    .more_form textarea {
        width: 100%;
    }

    .more_business {
        width: 100%;
        margin-bottom: -15px;
    }
    
    .more_form input[type=checkbox] + span {
        font-size: 14px;
        margin: 0 15px 15px 20px;
    }

    .rsl_more .more_btn {
        width: 95%;
    }

    .rsl_more .more_btn input {
        margin-top: 35px;
        font-size: 13px;
        padding: 20px 40px;
    }

    .rsl_more .more_btn::before {
        right: 7%;
    }

    .rsl_more .more_btn::after {
        right: 7%;
        width: 20px;
    }

    .rsl_more .more_note {
        width: 100%;
        font-size: 12px;
        line-height: 18px;
        text-indent: -1.2rem;
        margin-left: 1.2rem;
        padding-right: 28px;
    }

    .rsl_link {
        width: 80%;
    }

    .rsl_link .link_btn {
        width: 90%;
        padding: 20px 40px;
    }

    .rsl_link .link_btn::before {
        top: calc(50% - 4px);
        left: 15px;
        width: 10px;
        height: 10px;
    }

    .rsl_link .link_btn::after {
        left: 15px;
        width: 15px;
    }

    .rsl_link .link_return,
    .rsl_link .link_top a {
        font-size: 13px;
    }

    .rsl_link .link_note {
        width: 90%;
        text-align: left;
        font-size: 12px;
        line-height: 18px;
        text-indent: -1.2rem;
        margin-left: 1.2rem;
    }

    .rsl_info {
        padding: 30px 8%;
    }

    .rsl_info .info_ttl {
        font-size: 19px;
    }

    .rsl_info .info_read {
        margin-bottom: 30px;
        font-size: 18px;
        width: 100%;
    }

    .rsl_info .info_cnt {
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
    }

    .rsl_info .info_txt {
        font-size: 13px;
        line-height: 20px;
        width: 100%;
    }

    .rsl_info .info_btn {
        margin-top: 20px;
        width: 100%;
    }
}


/* -------------------------- 
    header
-------------------------- */
.shindan {margin-top: 80px;}
@media screen and (max-width: 768px) { .shindan { margin-top: 50px;} }
body.question_screen .shindan {margin-top: 0;}
@media screen and (max-width: 768px) {body.question_screen .shindan {margin-top: 0;} }

header.shindan_header {
    position: fixed; 
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
}
body.question_screen header.shindan_header {
    position: relative; 
}

.shindan_header{
    background-color: #65353b;
}
.shindan_header .headerTotikatuyo .header__inner {
    padding-right: 0
}
.shindan_header .header__logo picture,
.shindan_header.headerTotikatuyo .header__logo span {
    display: inline-block;
}
.shindan_header .header__logo span {
    font-family: "Noto Serif JP", sans-serif;
    font-weight: 400;
}
.shindan_header .header__logo picture {
    display: inline-block;
    vertical-align: middle;
}
@media screen and (min-width: 953px){
    .shindan_header.headerTotikatuyo .header__inner {
        justify-content: flex-start;
    }
}
@media screen and (min-width: 769px){
    .shindan_header.headerTotikatuyo .header__logo {
        width: 190px;
    }
}
@media screen and (min-width: 953px) {
    .shindan_header.headerTotikatuyo .header__inner {
        justify-content: space-between;
    }
    .shindan_header.headerTotikatuyo .header__logo{
        width: 30%;
    }
}
@media screen and (min-width: 1051px){
    .shindan_header.headerTotikatuyo .header__logo {
        width: 400px;
    }
}
@media screen and (min-width: 1224px) and (max-width: 1919px){
    .shindan_header .header__logo{
        margin-right: 2%;
    }
}
@media screen and (min-width: 953px){
    .shindan_header.headerTotikatuyo .header__inner {
        justify-content: flex-start;
    }
}
@media screen and (max-width: 952px) {
    .shindan_header{
        padding-right: 0;
    }
    .shindan_header .header__inner{
        margin: 0;
    }
}
@media screen and (min-width: 769px) and (max-width: 952px){
    .shindan_header .header__inner {
        padding: 0;
        max-width: none;
    }
    .shindan_header .header_wrap{
        padding: 0 0 0 40px;
    }
}

@media screen and (max-width: 768px){
    .shindan_header {
        padding-left: 12px;
    }
    .shindan_header.headerTotikatuyo .header__logo {
        max-width: 169px
    }
    .shindan_header .header_wrap {
        height: 50px;
    }
}

/* -------------------------- 
    footer
-------------------------- */
.shindan_footer {
    background-color: #65353b;
    color: #fff;
    position: relative;
}

.shindan_footer .footer__inner {
    margin: 0 auto;
    padding: 0 144px;
}

.shindan_footer .footerNavs {
    display: flex;
}

.shindan_footer  .footerLower {
    border: none;
    margin-top: 0;
    padding-top: 0;
}


@media screen and (min-width: 953px) {
    .shindan_footer .footerCopyright {
        margin-top: 8px;
        text-align: right;
    }
}

@media screen and (min-width: 769px) {
    .shindan_footer {
        padding-bottom: 25px;
        padding-top: 20px;
    }
    .shindan_footer .footer__inner {
        box-sizing: content-box;
        max-width: 1632px;
        position: relative;
    }
    .shindan_footer .footerNavs {
        justify-content: space-between;
    }
    .shindan_footer .footerNav--site {
        margin-left: auto;
    }
    .shindan_footer .footerCopyright p {
        font-size: 1.2rem;
        line-height: 1.2;
    }
}

@media screen and (max-width: 768px) {
    .shindan_footer .footer__inner {
        padding: 23px 20px 16px;
    }
}


/***-------------------------------
　↓2024.08 追加↓
-------------------------------***/

.shindan{
    margin-top:0;
}

@media screen and (min-width: 769px){
    .sp_only{
        display: none;
    }
    .shindan{
        padding-top: calc(80px + min(5vw, 70px));
    }
}

@media screen and (max-width: 952px) {
    .shindan{
        padding-top: 80px;
    }
}

@media screen and (max-width: 768px) {
    .shindan{
        padding-top: 50px;
    }
    .pc_only{
        display: none;
    }
}

/***-------------------------------
　.start
-------------------------------***/
.start{
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    #top {
        background: none;
    }
}

/***-------------------------------
　#point
-------------------------------***/
#point{
    background-color: #efe7e4;
    text-align: center;
}
#point .point_list{
    display: flex;
}
#point .point_list li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #B9DBCA;
}
#point .point_cnt{
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#point .point_cnt p{
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    flex-grow: 2;
}

@media screen and (min-width: 769px) {
    #point{
        background-color: #efe7e4;
    }
    #point .point_box{
        width: 70%;
        margin: 0 auto;
        padding: 80px 0;
    }
    #point .point_txt{
        font-size: 28px;
        margin-bottom: 50px;
    }
    #point .point_list{
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    #point .point_list li{
        box-sizing: border-box;
        width: 170px;
        min-height: 170px;
        margin: 0 5px;
        border-radius: 100px;
    }
    #point .point_list li:last-child{
        margin-right: 0;
    }
    #point .point_cnt{
        padding: 20px 10px;
    }
    #point .point_cnt img{
        max-width: 80px;
        height: auto;
    }
    #point .point_cnt p{
        font-size: 14px;
    }
}

@media screen and (max-width: 952px) and (min-width: 769px) {
    #point .point_list{
        flex-wrap: wrap;
    }
    #point .point_list li{
        width: calc((100% - (5px*6)) / 3);
        max-width: 180px;
        min-height: 180px;
        
    }
    #point .point_list li:nth-child(-n+3){
        margin-bottom: 20px;
    }
    #point .point_cnt img{
        width: 80px;
        height: auto;
    }
}

@media screen and (max-width: 768px) {
    #point{
        position: relative;
        background-color: #efe7e4;
        margin-top: 70px;
    }
    #point::before{
        content:"";
        display: block;
        position: absolute;
        height: 70px;
        width: 100%;
        top: -70px;
        background: linear-gradient(170deg, #FFFFFF 0%, #FFFFFF 50%, #efe7e4 50%, #efe7e4 100%);
    }
    #point .point_box{
        width: 90%;
        margin: 0 auto;
    }
    .point_txt{
        font-size: 17px;
        margin-bottom: 25px;
        line-height: 140%;
    }
    #point .point_list{
        flex-wrap: wrap;
        justify-content: center;
    }
    #point .point_list li{
        width: calc((100% - 40px) / 2);
        max-width: 150px;
        min-height: 150px;
        border-radius: 100px;
        margin-bottom: 20px;
    }
    #point .point_list li:nth-child(odd){
        margin-right: 20px;
    }
    #point .point_cnt{
        padding: 15px 5px;
        width: 100%;
    }
    #point .point_cnt img{
        width: 70px;
        height: auto;
    }
    #point .point_cnt p{
        font-size: 13px;
        flex-grow: 1;
        padding-bottom: 5px;
    }
}

/* 202408追記 */

@media screen and (min-width: 769px) {
    .footerPagetop{
        bottom: 120px;
    }
}

@media screen and (max-width: 768px) {
    .footerPagetop{
        bottom: 100px;
    }
}

/***-------------------------------
　#result_recomend
-------------------------------***/
.acc_btn{
    position: relative;
    border: 2px solid #61ADA2;
    border-radius: 30px;
    width: 100%;
    background-size: 70px auto;
    background-repeat: no-repeat;
    background-position: center left 25px;
}

/***-------------------------------
　#result_recomend
-------------------------------***/
.rsl_point_list{
    background-color: #E8F3EF;
    display: flex;
    flex-wrap: wrap;
    border-radius: 6px;
}
.rsl_point_list dt{
    background-color: #61ADA2;
    color: #ffffff;
    border-radius: 50px;
    text-align: center;
    align-self: flex-start;
}
.katsuyou_contents{
    border: 3px solid #61ADA2;
}
.katsuyou_contents .katsuyo_content_ttl{
    background-color: #E8F3EF;
    border-radius: 6px;
    text-align: center;
    padding: 25px 5px 20px;
}
.katsuyou_contents .katsuyo_ttl{
    background-color: #61ADA2;
    color: #fff;
    text-align: center;
    width: 100%;
}
.katsuyou_contents .flex_wrapper{
    display: flex;
    flex-wrap: nowrap;
}
.recommend_link_box{
    text-align: center;
}
.recommend_link {
    display: inline-block;
    position: relative;
    background: #66353B;
    border-radius: 50px;
    color: #ffffff;
    cursor: pointer;
}

.recommend_link:hover{
    opacity: 0.7;
}

.recommend_link::before {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 5px);
    right: 30px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

.recommend_link::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: 30px;
    width: 30px;
    height: 2px;
    background: #fff;
}

.rsl_cont_btn_box{
    text-align: center;
    background-color: #ffffff;
}

.rsl_cont_btn_box .rsl_cont_btn{
    border: 2px solid #61ADA2;
    border-radius: 50px;
    color: #61ADA2;
}

/* PC */
@media screen and (min-width: 769px) {
    .rsl_cont_box{
        position: relative;
    }
    .rsl_r_cnt:nth-of-type(2) .rsl_cont_box,
    .rsl_r_cnt:nth-of-type(3) .rsl_cont_box{
        overflow: hidden;
        height: 260px;
        transition: .4s;
    }

    .rsl_r_cnt{
        margin-bottom: 80px;
    }
    .rsl_point{
        margin-top: 55px;
    }
    .rsl_point p{
        font-size: 20px;
    }
    .rsl_point_list{
        margin: 15px 0;
        padding: 20px;
    }
    .rsl_point_list dt,
    .rsl_point_list dd{
        margin-bottom: 7px;
    }
    .rsl_point_list dt:last-of-type,
    .rsl_point_list dd:last-of-type{
        margin-bottom: 0px;
    }
    .rsl_point_list dt{
        width: 80px;
        padding: 0px 10px;
        font-size: 12px;
        margin-right: 10px;
    }
    .rsl_point_list dd{
        width: calc(100% - 90px);
    }
    .rsl_r_txt02{
        font-size: 18px;
        line-height: 32px;
    }
    .katsuyou_contents{
        margin-top: 85px;
    }
    .katsuyou_contents .katsuyo_ttl{
        font-size: 22px;
        font-weight: bold;
        padding: 10px;
    }
    .katsuyou_contents>.flex_wrapper{
        padding: 25px 30px 15px;
    }
    .katsuyo_hint_box .flex_wrapper,
    .katsuyo_shindan_box .flex_wrapper{
        padding: 25px 0px 15px;
    }
    .katsuyou_contents .flex_box{
        width: calc(50% - 20px);
    }
    .katsuyou_contents .flex_box.katsuyo_hint_box{
        margin-right: 40px;
    }
    .katsuyou_contents .katsuyo_content_ttl{
        font-size: 20px;
    }
    .katsuyou_contents .flex_wrapper p{
        font-size: 18px;
        line-height: 28px;
    }
    .katsuyo_hint_box .flex_wrapper p,
    .katsuyo_shindan_box .flex_wrapper p{
        margin-right: 30px;
    }
    .recommend_link{
        margin-bottom: 25px;
        padding: 20px 120px;
        font-size: 22px;
    }
    .rsl_cont_btn_box .rsl_cont_btn{
        width: 365px;
        max-width: 365px;
        margin-top: 20px;
        padding: 18px 45px 15px;
        font-size: 18px;
    }
    .rsl_cont_btn_box .rsl_cont_btn::before,
    .rsl_cont_btn_box .rsl_cont_btn::after{
        width: 20px;
        height: 2px;
        right:25px;
        top:50%;
    }
}

/* TB */
@media screen and (max-width: 952px) and (min-width: 769px) {

}

/* SP */
@media screen and (max-width: 768px) {
    .rsl_cont_box{
        position: relative;
    }
    .rsl_r_cnt:nth-of-type(2) .rsl_cont_box,
    .rsl_r_cnt:nth-of-type(3) .rsl_cont_box{
        overflow: hidden;
        height: 440px;
        transition: .4s;
    }

    .rsl_r_cnt{
        margin-bottom: 30px;
        padding: 20px 4% 25px;
    }
    .rsl_r_txt{
        margin-bottom: 15px;
    }
    .rsl_r_txt img{
        margin-top: 30px;
    }
    .rsl_point{
        margin-top: 50px;
    }
    .rsl_point p{
        text-align: center;
        font-size: 15px;
        margin-bottom: 10px;
    }
    .rsl_point_list{
        padding: 20px;
    }
    .rsl_point_list dt,
    .rsl_point_list dd{
        margin-bottom: 7px;
    }
    .rsl_point_list dt:last-of-type,
    .rsl_point_list dd:last-of-type{
        margin-bottom: 0px;
    }
    .rsl_point_list dt{
        width: 65px;
        padding: 0px 10px;
        font-size: 10px;
        margin-right: 10px;
    }
    .rsl_point_list dd{
        width: calc(100% - 80px);
    }
    .rsl_r_txt02{
        font-size: 13px;
        line-height: 20px;
    }
    .katsuyou_contents{
        margin-top: 50px;
    }
    .katsuyou_contents .katsuyo_ttl{
        font-size: 16px;
        font-weight: bold;
        line-height: 1.5;
        padding: 15px;
    }
    .katsuyou_contents .katsuyo_content_ttl{
        font-size: 15px;
    }
    .katsuyou_contents .flex_box{
        margin-bottom: 40px;
    }
    .katsuyou_contents .flex_box.katsuyo_shindan_box{
        margin-bottom: 30px;
    }
    .katsuyou_contents>.flex_wrapper{
        flex-direction: column;
        padding: 10px 10px 0;
    }
    .katsuyou_contents .flex_wrapper{
        margin-top: 10px;
    }
    .katsuyou_contents .flex_wrapper p:not([class]){
        font-size: 13px;
        line-height: 20px;
        margin-right: 20px;
    }
    .katsuyou_contents .flex_wrapper img{
        width: 125px;
        height: 125px;
    }
    .recommend_link{
        margin: 0 10px 20px;
        padding: 15px 30px;
        font-size: 16px;
        line-height: 150%;
    }
    .recommend_link::before {
        right: 12px;
        width: 11px;
        height: 11px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }
    .recommend_link::after {
        display: block;
        position: absolute;
        content: "";
        top: 50%;
        right: 11px;
        width: 18px;
        height: 1px;
        background: #fff;
    }
    .rsl_cont_btn_box .rsl_cont_btn{
        width: 100%;
        margin-top: 20px;
        padding: 15px 45px 14px;
        font-size: 15px;
    }
    .rsl_cont_btn_box .rsl_cont_btn::before,
    .rsl_cont_btn_box .rsl_cont_btn::after{
        width: 18px;
        height: 2px;
        right:25px;
        top:50%;
    }
}

/***-------------------------------
　.rsl_e
-------------------------------***/

.rsl_e{
    background: none;
    margin-top: 80px;
    padding: 0;
}
.rsl_e .acc_btn.medical{
    background-image: url(../img/ico_result_medical.png);
}
.rsl_e .acc_btn.parking{
    background-image: url(../img/ico_result_parking.png);
}
.rsl_e .acc_btn.rental{
    background-image: url(../img/ico_result_rental.png);
}
.rsl_e .acc_btn.store{
    background-image: url(../img/ico_result_store.png);
}
.rsl_e .acc_btn.stay{
    background-image: url(../img/ico_result_stay.png);
}
.rsl_e .acc_btn.reform{
    background-image: url(../img/ico_result_reform.png);
}
.rsl_e .acc_btn.lease{
    background-image: url(../img/ico_result_lease.png);
}
.rsl_e .acc_btn.sale{
    background-image: url(../img/ico_result_sale.png);
}
.acc_btn::before,
.acc_btn::after{
    content: '';
    position: absolute;
    display: block;
    background-color: #61ADA2;
    transform-origin: center;
}
.acc_btn::after{
    transform: rotate(-90deg);
    transition: .2s;
}
.acc_btn.active{
    border-radius: 30px 30px 0 0;
}
.acc_btn.active::after{
    transform: rotate(0deg);
}
.rsl_e .acc_cnt_box{
    display: none;
}
.rsl_link .link_top button{
    font-size: 18px;
    color: #8B585E;
    text-decoration: underline 1px #8B585E;
}

@media screen and (min-width: 769px) {
    .acc_btn{
        font-size: 32px;
        padding: 35px 55px 30px 150px;
    }
    .rsl_e .rsl_r_cnt{
        padding: 0;
        margin-bottom: 20px;
    }
    .rsl_e .acc_cnt_box{
        padding: 30px 4% 60px;
    }
    .rsl_e .rsl_acc_ttl > button::before,
    .rsl_e .rsl_acc_ttl > button::after{
        width: 30px;
        height: 2px;
        right:25px;
        top:50%;
    }
    .rsl_link .link_top{
        margin-bottom: 15px;
    }
}

/* TB */
@media screen and (max-width: 952px) and (min-width: 769px) {

}

/* SP */
@media screen and (max-width: 768px) {
    .acc_btn{
        font-size: 18px;
        padding: 20px 35px 18px 85px;
        background-size: 40px auto;
    }
    .rsl_e .rsl_r_cnt{
        padding: 0;
        margin-bottom: 20px;
    }
    .rsl_e .acc_cnt_box{
        padding: 20px 4% 25px;
    }
    .rsl_e .rsl_acc_ttl > button::before,
    .rsl_e .rsl_acc_ttl > button::after{
        width: 15px;
        height: 2px;
        right:15px;
        top:50%;
    }
    .rsl_link .link_top{
        margin-bottom: 15px;
    }
    .rsl_link .link_top button{
        font-size: 13px;
    }
}

.sideFloatMenu{
    display: none;
}