@charset "utf-8";


.red {
    color: var(--red);
}

.default {
    background-color: #E2F0F2;
    font-family: var(--Dot);
    font-weight: 400;
    font-size: 1.6rem;
}

.fv_flex_div {
    display: flex;
    align-items: start;
    justify-content: space-evenly;
    margin-bottom: 7rem;
    padding-top: 5rem;
}


.main_title {
    font-weight: 400;
    font-size: 4rem;
    margin-bottom: 3rem;
}

.border_circle {
    background-color: var(--white);
    padding: 3rem;
    width: 50rem;
    border: solid .3rem var(--blue);
    border-radius: 1rem;
    box-shadow: .7rem .7rem 0px 0px var(--blue);
}

.border_circle>.text16 {
    padding-bottom: 1.5rem;
}

/* 点滅矢印 */
.blinking_arrow {
    text-align: right;
    height: max-content;
    line-height: 1;
}

.blinking_arrow span {
    display: inline-block;
    font-size: 1.7rem;
    animation: blink 1.3s infinite;
    color: var(--blue);
}

@keyframes blink {

    0%,
    49% {
        opacity: 1;
    }

    50%,
    99% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fv_right01 {
    width: 37.2rem;
    background-color: var(--white);
    border: solid .3rem #5B5CA2;
    box-shadow: .7rem .7rem 0px 0px var(--blue);
    position: relative;
    padding: 3.5rem 1.7rem;
    margin: 0 auto;
    margin-bottom: 3rem;
}

/* 装飾：角三角 */
.fv_right01::after {
    position: absolute;
    /* 絶対位置指定 */
    content: '';
    /* 擬似要素 */
    right: 0;
    /* 右端 */
    top: 0;
    /* 上端 */
    border-width: 0 2.5rem 2.5rem 0;
    /* 折れ形状 */
    border-style: solid;
    /* 線の種類 */
    border-color: var(--white) var(--blue) var(--white);
    /* 色 */
}

.fv_right01::before {
    position: absolute;
    /* 絶対位置指定 */
    content: '';
    /* 擬似要素 */
    left: 0;
    /* 右端 */
    top: 0;
    /* 上端 */
    border-width: 0 0px 2.5rem 2.5rem;
    /* 折れ形状 */
    border-style: solid;
    /* 線の種類 */
    border-color: var(--white) var(--blue) var(--white);
    /* 色 */
}

.triangle::after {
    position: absolute;
    /* 絶対位置指定 */
    content: '';
    /* 擬似要素 */
    left: 0;
    /* 右端 */
    bottom: 0;
    /* 上端 */
    border-width: 2.5rem 0 0 2.5rem;
    /* 折れ形状 */
    border-style: solid;
    /* 線の種類 */
    border-color: #ffffff00 var(--blue) var(--white);
    /* 色 */
}

.triangle::before {
    position: absolute;
    /* 絶対位置指定 */
    content: '';
    /* 擬似要素 */
    right: 0;
    /* 右端 */
    bottom: 0;
    /* 上端 */
    border-width: 2.5rem 2.5rem 0 0;
    /* 折れ形状 */
    border-style: solid;
    /* 線の種類 */
    border-color: #ffffff00 var(--blue) var(--white);
    /* 色 */
}


.fv_mochi_img {
    width: 12.9rem;
    height: auto;
    margin: 0 auto;
    margin-bottom: 3rem;
    display: block;

}

.button_flex {
    display: flex;
    width: 45.5rem;
    flex-wrap: wrap;
    gap: 1rem;

}

.button {
    background-image: url(../img/button_before.png);
    background-size: contain;
    background-repeat: no-repeat;
    height: max-content;
    width: 22.1rem;
    height: 7rem;
}

.button:hover {
    background-image: url(../img/button_after.png);
}

.button_text {
    padding: 2rem;
    display: block;
    font-size: 2rem;
    color: var(--blue);
}

.button_text::before {
    content: "▶";
    margin-right: 1rem;
}


/* セクション02 */
.sec_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 3.5rem;
}

.sec_title {
    font-size: 3.2rem;
    font-weight: 400;
}

.sec_img {
    width: 3.5rem;
    object-fit: contain;
    margin-right: 1rem;
}

.sec_border {
    background-color: var(--white);
    padding: 3rem;
    padding-bottom: 6rem;
    width: 110rem;
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    border-left: solid .6rem var(--blue);
    border-right: solid .6rem var(--blue);
    margin-bottom: 5.1rem;
}

.sec_border::after {
    content: "";
    background-image: url(../img/border_dot.png);
    background-repeat: no-repeat;
    position: absolute;
    top: -1.9rem;
    left: 0;
    width: 100%;
    height: 2.1rem;
    background-size: contain;
}



.sec_border::before {
    content: "";
    background-image: url(../img/border_dot.png);
    background-repeat: no-repeat;
    position: absolute;
    bottom: -1.9rem;
    left: 0;
    width: 100%;
    height: 2.1rem;
    background-size: contain;
    transform: rotateX(180deg);
}

@media screen and (min-width: 1500px) {
    .sec_border::after {
        top: -1.3rem;
    }

    .sec_border::before {
        bottom: -1.3rem;
    }
}

.news_area {
    display: flex;
    justify-content: start;
    gap: 2rem;
}

.news_area_with {
    width: 100%;
    max-width: 330px;
}

.news_img {
    width: 100%;
    height: 18.6rem;
    object-fit: cover;
    max-width: 330px;
}

.day_category {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
    margin-top: 1rem;
}

.category {
    background-color: #F9E583;
    border: solid .1rem var(--blue);
    border-radius: 1.1rem;
    width: max-content;
    padding: 0 1.4rem;
    margin-left: 1rem;
    color: var(--blue);
}

.news_title_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.news_title {
    font-size: 2rem;
    font-weight: 400;
}

.news_arrow {
    color: var(--blue);
}

.center_button {
    margin: 0 auto;
    margin-bottom: 9rem;
}

/* お悩み訴求 */
.area_margin {
    padding: 3rem 2rem;
    padding-bottom: 5rem;
    margin-bottom: 11rem;
}

.sec_title02 {
    font-size: 3.2rem;
    font-weight: 400;
    margin: 0 auto;
    text-align: center;
    width: max-content;
    display: block;
    position: relative;
    margin-bottom: 4rem;
    font-size: clamp(20px, 3.6rem, 32px);
}

.sec_title02::before {
    content: "▶";
    color: var(--red);
    position: absolute;
    left: -5rem;
}

.question_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.5rem 0;
}

.question_box {
    background-color: var(--blue);
    color: var(--white);
    font-weight: 400;
    display: flex;
    padding: 2rem 1.5rem;
    width: 51rem;
    height: 9.6rem;
    box-shadow: rgba(26, 52, 128, 0.267) 5px 5px 0px;
    max-width: 510px;
}

.question {
    background-color: #FEDF4F;
    padding: .1rem .5rem;
    width: max-content;
    color: var(--blue);
    height: max-content;
}

.question_text {
    color: var(--white);
    font-weight: 400;
    margin-left: 1rem;
}

.mochi_fukidashi {
    background-color: var(--white);
    padding: 2rem;
    width: 100%;
    border: solid .3rem var(--blue);
    border-radius: 1rem;
    box-shadow: .7rem .7rem 0px 0px var(--blue);
    display: flex;
    align-items: center;
    margin-top: 3rem;

}

.fukidashi_img {
    width: 8rem;
    height: auto;
    margin-right: 2.4rem;
}



/* sec03 */
.sec03_area {
    display: flex;
    justify-content: space-around
}

.text_tag_area {
    width: 51rem;
    max-width: 510px;
}

.sec03_text {
    margin-bottom: 2rem;
}

.tag_area {
    display: flex;
    flex-wrap: wrap;
    width: 51rem;
    gap: 2rem 1.5rem;
    max-width: 510px;
}

.tag_text {
    background-color: var(--blue);
    color: #FEDF4C;
    padding: 1rem;
    width: max-content;
    box-shadow: rgba(26, 52, 128, 0.267) 5px 5px 0px;

}


.fv_right02 {
    width: 37.2rem;
    background-color: var(--white);
    border: solid .3rem #5B5CA2;
    box-shadow: .7rem .7rem 0px 0px var(--blue);
    position: relative;
    margin-bottom: 3rem;
    background-image: url(../img/sec03_img.png);
    background-size: cover;
    width: 48rem;
    height: 30rem;
    margin: 0;
    max-width: 480px;
}

/* 装飾：角三角 */
.fv_right02::after {
    position: absolute;
    /* 絶対位置指定 */
    content: '';
    /* 擬似要素 */
    right: 0;
    /* 右端 */
    top: 0;
    /* 上端 */
    border-width: 0 2.5rem 2.5rem 0;
    /* 折れ形状 */
    border-style: solid;
    /* 線の種類 */
    border-color: #ffffff00 var(--blue) #ffffff00;
    /* 色 */
}

.fv_right02::before {
    position: absolute;
    /* 絶対位置指定 */
    content: '';
    /* 擬似要素 */
    left: 0;
    /* 右端 */
    top: 0;
    /* 上端 */
    border-width: 0 0px 2.5rem 2.5rem;
    /* 折れ形状 */
    border-style: solid;
    /* 線の種類 */
    border-color: #ffffff00 var(--blue) #ffffff00;
    /* 色 */
}


/* sec04 */
.margin03 {
    margin-bottom: 3rem;
}

.sec04_sub_title {
    margin-bottom: 4rem;
    text-align: center;
}

.plan_flex {
    display: flex;
    flex-wrap: wrap;
    gap: 2.7rem;
    justify-content: space-between;
    gap: 2.7rem 0;
}

.plan_box {
    background-color: var(--blue);
    padding: 1rem 2rem 1.8rem 1rem;
    width: 51rem;
    display: flex;
    box-shadow: rgba(26, 52, 128, 0.267) 5px 5px 0px;
    max-width: 510px;

}

.plan_img {
    width: 5rem;
    height: 5rem;
    background-color: var(--white);
    padding: 0 .5rem;
    flex-shrink: 0;
    object-fit: contain;
}

.plan_right_area {
    margin-left: 1rem;
}

.plan_title {
    color: #FFF3B0;
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
    font-size: clamp(13px, 2rem, 20px);

}

.plan_text {
    color: var(--white);
    font-size: clamp(11px, 1.6rem, 16px);
}


/* sec05 */
.plan_menu {
    width: 33rem;
    background-color: #FFF6D1;
    max-width: 330px;


    display: flex;
    flex-direction: column;
}

.plan_padding {
    padding: 4rem 0.9rem 2rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.plan01 {
    background-color: #286236;
    color: var(--white);
    display: flex;
    align-items: center;
    padding-left: 1rem;
}

.plan_span {
    font-size: 3.5rem;
    margin-right: 0.5rem;
}

.plan_money {
    font-size: 3rem;
    color: #286236;
    font-size: clamp(20px, 3rem, 30px);
}

.plan_money_span {
    color: var(--black);
    font-size: 1.6rem;
    margin-left: 0.5rem;
}

.plan_border {
    padding-bottom: 1rem;
    border-bottom: solid 0.1rem #286236;
    margin-bottom: 1rem;
}

.plan_arrow_text {
    display: flex;
    align-items: baseline;
    margin-top: 1rem;
    font-size: clamp(10px, 1.6rem, 16px);
}

.plan_arrow_text:last-child {
    margin-bottom: 1rem;
}

.plan_arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #286236;
    margin-right: .5rem;
}


.plan_arrow_blue {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid var(--blue);
    margin-right: .5rem;
}

.plan_arrow_brown {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #AF5D0F;
    margin-right: .5rem;
}

.plan_yellow_area {
    background-color: #FAEBAC;
    border: solid 0.1rem #286236;
    padding: 1rem;
    flex: 1;
    margin-top: auto;
}

.plan_check {
    color: #286236;
}

.plan_check_text {
    margin-bottom: 0.5rem;
}

.plan_button {
    color: #286236;
    font-size: 2rem;
    background-color: #FEDF4C;
    padding: 1rem 0;
    text-align: center;
    width: 30.5rem;
    max-width: 305px;
    margin: 0 auto;
    box-shadow: rgba(26, 52, 128, 0.267) 5px 5px 0px;
    margin-bottom: 2.2rem;
    font-size: clamp(15px, 2rem, 20px);
}

.plan_button:hover {
    background-color: #F9A61F;
}

.plan_bottom {
    background-color: #286236;
    width: 100%;
    height: 30px
}

.plan_flex02 {
    display: flex;

    gap: 2rem;
    align-items: stretch;
}

.plan_blue {
    background-color: var(--blue);
}

.plan_blue_text {
    color: var(--blue);
}

.plan_arrow_blue {
    border-left: 10px solid var(--blue);
}

.plan01_blue {
    background-color: var(--blue);
}

.money_blue {
    color: var(--blue);
}

.plan01_brown {
    background-color: #AF5D0F;
}

.money_brown_text {
    color: #AF5D0F;
}

.plan_check_brown {
    color: #AF5D0F;
}

.plan_check_blue {
    color: var(--blue);
}

.plan_check_skyblue {
    color: #00a2e8;
    ;
}

.plan_bottom_brown {
    background-color: #AF5D0F;
}

.plan_button_brown {
    color: #AF5D0F;
}

.plan_height {
    height: 17rem;
}

/* ↓plan2横長追加分。cssを上書きする形なのでこの位置です。 */
.plan2_wide {
    margin-bottom: 2rem;
}

.plan_menu_wide {
    background-color: #FFF6D1;
    width: 103rem;
    max-width: 1030px;
    position:relative;
}

.plan_menu_wide:before{
    content:"";
    width:10rem;
    height:10rem;
    display:inline-block;
    position:absolute;
    top:-2.6rem;
    right:0.8rem;
    background-image:url(../img/best.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.plan01_skyblue {
    background-color: #00a2e8;
}

.plan_wide_flex {
    display: flex;
    margin-bottom: 4rem;
}

.plan_money_wide_container {
    width: 50%;
    border-right: solid 0.1rem #286236;
    padding: 0 3rem;
}

.money_skyblue_text {
    color: #00a2e8;
}

.plan_border_wide {
    border-bottom: none;
}

.plan_text_wide_container {
    width: 50%;
    padding: 0 3rem;
}

.plan_yellow_area_wide {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.plan_yellow_area_wide_title {
    grid-column: 1 / 3;
}

/* ボタン部分 */
.plan_button_skyblue {
    color: #00a2e8;
}

.plan_arrow_skyblue {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #00a2e8;
    margin-right: .5rem;
}

.plan_bottom_skyblue {
    background-color: #00a2e8;
}

/* 追加分ここまで */


/* sec06 */
.sec06_cost_text {
    font-size: 1.6rem;
}

.sec06_cost_text02 {
    font-size: 3rem;
    color: var(--blue);
    margin-bottom: 1.5rem;
}

.square_decoration {
    width: 2rem;
    height: 2rem;
    background-color: #FFF6D1;
    display: inline-block;
    margin-right: 1rem;
}

.sec06_right_box {
    background-color: var(--blue);
    color: #FFF6D1;
    display: flex;
    align-items: center;
    padding: 2rem 2rem;
    margin-bottom: 1.5rem;
    box-shadow: rgba(26, 52, 128, 0.267) 5px 5px 0px;
}

.sec06_text {
    margin-bottom: 4rem;
}

/* sec07 */
.sec07_blue_area {
    background-color: var(--blue);
    width: 100%;
    display: flex;
    margin-bottom: 1.5rem;
}

.sec07_num {
    font-size: 6rem;
    font-size: clamp(15px, 6rem, 60px);
    color: #FFF6D1;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

.sec07_title {
    font-size: 2.5rem;
    color: #FFF6D1;
    font-weight: 400;
    margin-bottom: 2.5rem;
    padding-top: 2.7rem;
}

.sec07_text {
    color: #FFF6D1;
    font-size: clamp(12px, 1.6rem, 16px);
    margin-bottom: 5rem;

}

.sec07_img {
    width: 25.5rem;
    height: 19.4rem;
    max-width: 255px;
}

.sec07_margin {
    padding-right: 35px;
}

/* sec08 */
.sec08_sub_title {
    margin-bottom: 3rem;
    text-align: center;
    font-size: clamp(11px, 1.6rem, 16px);
}

.sec08_yellow_area {
    background-color: #FFF6D1;
    width: 100%;
    display: flex;
    margin-bottom: 6rem;
    position: relative;
}

.sec08_yellow_area::after {
    content: "";
    display: inline-block;
    position: absolute;
    vertical-align: middle;
    color: var(--blue);
    line-height: 1;
    width: 2rem;
    height: 2rem;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    left: 50%;
    bottom: -3rem;
}

.sec08_yellow_area:last-child::after {
    content: none;
}

.sec08_yellow_area .sec07_img {
    height: stretch;
}

.sec08_title {
    font-size: 2.5rem;
    color: var(--blue);
    font-weight: 400;
    margin-bottom: 2.5rem;
    margin-top: 2.7rem;
}

.sec08_text {
    color: var(--blue);
    font-size: clamp(12px, 1.6rem, 16px);
    margin-bottom: 0rem;
    margin-bottom: 2.7rem;
}

.sec08_num {
    font-size: 6rem;
    font-size: clamp(15px, 6rem, 60px);
    color: var(--blue);
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

.sec08_step {
    font-size: clamp(13px, 2rem, 20px);
    color: var(--blue);
    text-align: center;
    margin-top: 2.7rem;
    margin-bottom: -1rem;
}

/* sec09 */
.sec09_img {
    width: 51rem;
    max-width: 510px;
    height: 29rem;
    box-shadow: rgba(26, 52, 128, 0.267) 5px 5px 0px;
    margin-bottom: 1.5rem;
}

.sec09_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3rem 0;
}

.button_center {
    background-image: url(../img/button_before.png);
    background-size: contain;
    background-repeat: no-repeat;
    height: max-content;
    width: 22.1rem;
    height: 7rem;
    margin: 0 auto;
}

/* sec10 */

.accordion {
    margin-inline: auto;
    margin-top: 0;
    max-width: 1050;
    width: 105rem;
    position: relative;
    width: 100%;
}

.accordion-title {
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    padding: 10px 20px;
    position: relative;
    background-color: #F8E46B;
    color: var(--blue);
    display: flex;
    align-items: center;
    border: solid 3px var(--blue);
}

.accordion-content {
    display: none;
    padding: 10px 20px;
    border-bottom: solid 3px var(--blue);
    border-left: solid 3px var(--blue);
    border-right: solid 3px var(--blue);
}

.accordion-content p {
    font-size: clamp(11px, 1.6rem, 16px);
    padding-bottom: 3rem;
}

.accordion-item {
    margin-bottom: 2.5rem;
}

.accordion-title::after {
    border-right: solid 3px var(--blue);
    border-top: solid 3px var(--blue);
    content: "";
    display: block;
    height: 15px;
    width: 15px;
    position: absolute;
    right: 25px;
    top: 38%;
    transform: rotate(135deg);
}

.accordion-title.open::after {
    top: 45%;
    transform: rotate(-45deg);
}

.accordion_question {
    font-size: clamp(30px, 6rem, 60px);
    font-weight: 400;

}

.accordion_answer {
    font-size: clamp(30px, 6rem, 60px);
    font-weight: 400;
    color: var(--red);
}

.answer_area {
    display: flex;
    align-items: end;
}

/* sec11 */
.sec11_back {
    background-color: #77E2D3;
    padding-top: 6.5rem;
    position: relative;
    padding-bottom: 30rem;
}

.sec11_back::after {
    content: "";
    background-image: url(../img/sec11_top.png);
    width: 100%;
    position: absolute;
    top: -8.3rem;
    height: 8.5rem;
    background-size: contain;
}

.sec11_title {
    font-size: clamp(20px, 3.6rem, 32px);
    color: var(--blue);
    font-weight: 400;
    text-align: center;
    padding-bottom: 2rem;
    border-bottom: solid 3px var(--blue);
    width: 110rem;
    max-width: 1100px;
    margin: 0 auto 3rem;
}

.sec_11area {
    width: 110rem;
    max-width: 1100px;
    padding-left: 5rem 3rem;
}

.sec11_text {
    font-weight: 400;
    font-size: clamp(15px, 2rem, 20px);
    margin-bottom: 2rem;

}

.sec11_sub_text {
    margin-bottom: 2rem;
}

.sec11_button {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.car_area {
    background-color: #E2F0F2;
    border-top: solid 5px var(--blue);
    height: 10rem;
    position: relative;
}

.car01 {
    width: 55rem;
    max-width: 550px;
    position: absolute;
    left: 0;
    object-fit: contain;
    z-index: 1;
    height: auto;
    bottom: 0;

}

.car02 {
    width: 21.2rem;
    max-width: 212px;
    position: absolute;
    left: 44%;
    object-fit: contain;
    z-index: 1;
    height: auto;
    bottom: -4rem;

}

.car03 {
    width: 12.9rem;
    max-width: 129px;
    position: absolute;
    left: 70%;
    object-fit: contain;
    z-index: 1;
    height: auto;
    bottom: -3rem;
}

.car04 {
    width: 18.4rem;
    max-width: 184px;
    position: absolute;
    right: 2%;
    object-fit: contain;
    z-index: 1;
    height: auto;
    bottom: -3rem;
}

/* bottom_menu */
.main_bottom_navigation {
    position: fixed;
    bottom: 2.5rem;
    padding-left: 2.5rem;
    transform: translateX(-100%);
    transition: all 0.5s ease-in-out;
    z-index: 2;
}

.scroll-stopped {
    transform: translateX(0);
}

.main_bottom_navi_li {
    margin-bottom: 1rem;
}

.main_bottom_text {
    font-size: 1.6rem;
    font-family: 'Noto Sans JP', sans-serif;
    cursor: pointer;
}


@media screen and (max-width: 699.98px) {
    .fv_flex_div {
        flex-direction: column;
        margin: 0 auto;
        width: 33.5rem;
        margin-bottom: 6rem;
    }

    .main_title {
        font-size: 3rem;
    }

    .border_circle {
        width: 33.5rem;
        padding: 2rem;
        border: solid .2rem var(--blue);
        margin-bottom: 4rem;
    }

    .fv_right01 {
        width: 33.5rem;
        margin: 0;
        margin-bottom: 3rem;
    }

    .button {
        width: 15.1rem;
        height: 5rem;
    }

    .button_text {
        font-size: 1.6rem;
        padding: 1.2rem;
    }

    .button_flex {
        width: 100%;
        justify-content: space-around;
    }

    .news_area {
        flex-direction: column;
        width: 33.5rem;
    }

    .news_img {
        width: 100%;
        max-width: 300px;
        height: 16.9rem;
    }

    .sec_title02 {
        font-size: clamp(15px, 2rem, 20px);
        overflow-wrap: break-word;
        width: 100%;
        text-align: left;
        padding-left: 2.3rem;
    }

    .sec_title02::before {
        left: 0;
    }

    .sec_border {
        width: 33.5rem;
        padding: 3rem 1.2rem 5rem;
        border-left: solid .2rem var(--blue);
        border-right: solid .2rem var(--blue);
    }

    .question_box {
        height: auto;
    }

    .question_text {
        font-size: clamp(11px, 1.6rem, 16px);
    }

    .question_area>.question_box:nth-child(1) {
        order: 1;
    }

    .question_area>.question_box:nth-child(2) {
        order: 4;
    }

    .question_area>.question_box:nth-child(3) {
        order: 2;
    }

    .question_area>.question_box:nth-child(4) {
        order: 5;
    }

    .question_area>.question_box:nth-child(5) {
        order: 3;
    }

    .question_area>.question_box:nth-child(6) {
        order: 6;
    }

    .mochi_fukidashi {
        flex-direction: column;
        align-items: baseline;
    }

    .fukidashi_img {
        margin-right: 0;
        width: 4.8rem;
        height: auto;
        margin-bottom: 1rem;
    }

    .text_tag_area {
        width: 100%;
    }

    .sec03_area {
        flex-direction: column;
    }

    .sec03_text {
        margin-bottom: 3rem;
    }

    .tag_area {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .tag_area>.tag_text:nth-child(4) {
        order: 1;
    }

    .fv_right02 {
        width: 100%;
        height: 18.4rem;
    }

    .sec_border::after {
        top: -0.5rem;
    }

    .sec_border::before {
        bottom: -0.5rem;
    }

    .sec04_sub_title {
        text-align: left;
    }

    .plan_img {
        width: 2.5rem;
        height: 2.5rem;
        grid-column: 1;
    }

    .plan_title {
        font-size: clamp(13px, 1.8rem, 18px);
        grid-column: 2;
        align-self: center;
        margin: 0;
    }

    .plan_box {
        display: grid;
        grid-template-columns: 3rem 1fr;
        gap: 1rem;
    }

    .plan_right_area {
        display: contents;
    }

    .plan_text {
        grid-column: 1 / 3;
        margin-top: 1rem;
    }

    .plan_flex02 {
        flex-direction: column;
        gap: 0;
    }

    .plan_menu {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 3rem;
    }

    .plan_height {
        height: auto;
    }

    .plan_yellow_area>p:nth-child(1) {
        margin-bottom: 1rem;
    }

    /* 追加分SP */
    .plan_menu_wide {
        max-width: 330px;
    }

    .plan_menu_wide:before{
        top:2rem;
        right:0;
        max-width:100px;
    }

    .plan_wide_flex {
        flex-direction: column;
        margin: 0;
    }

    .plan_money_wide_container {
        width: 100%;
        border: none;
        padding: 0;
    }

    .plan_border_wide {
        border-bottom: solid 0.1rem #286236;
    }

    .plan_text_wide_container {
        width: 100%;
        padding: 0;
    }

    .plan_yellow_area_wide {
        grid-template-columns: 1fr;
    }

    .plan_yellow_area_wide_title {
        grid-column: 1/1;
    }

    /* 追加分ここまで */

    .sec06_right_box {
        padding: 2rem 1rem;
    }

    .sec07_blue_area {
        display: grid;
        grid-template-columns: 4rem 1fr;
        gap: 1rem;
    }

    .sec07_img {
        display: block;
        width: 100%;
        height: 15rem;
        object-fit: cover;
        grid-column: 1 / -1;
        max-width: none;
    }

    .step_box {
        align-self: center;
    }

    .sec07_num {
        font-size: clamp(15px, 3rem, 30px);
        margin: 0;
        margin-left: 1rem;
        margin-right: 1rem;
    }

    .sec07_title {
        font-size: clamp(15px, 2rem, 20px);
        padding-top: 0;
        grid-column: 2;
        margin-bottom: 0;
        line-height: 2.2em;
        padding-right: 1rem;
    }

    .sec07_text {
        grid-column: 1/3;
        padding: 0 1rem;
        margin-bottom: 2.5rem;
    }

    .sec07_margin {
        display: contents;
    }

    .sec08_yellow_area {
        display: grid;
        grid-template-columns: 5rem 1fr;
        align-items: end;
    }

    .sec08_num {
        font-size: clamp(15px, 3rem, 30px);
        margin: 0;
        text-align: center;
    }

    .sec08_title {
        font-size: clamp(15px, 2rem, 20px);
        padding-top: 0;
        grid-column: 2;
        margin-bottom: 0;
        line-height: 2.2em;
        padding-right: 1rem;
    }

    .sec08_text {
        grid-column: 1 / 3;
        padding: 0 1rem;
        margin-bottom: 2.5rem;
    }

    .sec08_step {
        font-size: 1.3rem;
        margin-top: 1.8rem;
    }

    .sec09_area {
        flex-direction: column;
    }

    .sec09_img {
        width: 100%;
        height: 16.8rem;
        max-width: none;
    }

    .accordion-title {
        align-items: center;
    }

    .accordion_question {
        font-size: clamp(15px, 3.5rem, 35px);
    }

    .accordion-title {
        font-size: 1.6rem;
    }

    .accordion-title::after {
        right: 12px;
        top: 50%;
    }

    .accordion_answer {
        font-size: clamp(15px, 3.5rem, 35px);
    }

    .accordion-content p {
        align-items: start;
        padding-bottom: 0;
    }

    .accordion-content {
        padding-bottom: 3rem;
    }

    .sec11_title {
        width: 100%;
        font-size: 2rem;
        width: 33.5rem;
        border-bottom: solid 1px var(--blue);
        padding-bottom: 1.5rem;
    }

    .sec11_back::after {
        height: 1.8rem;
        top: -1.7rem
    }

    .area_margin {
        margin-bottom: 6rem;
    }

    .sec_11area {
        margin: 0 auto 3rem;
    }

    .car01 {
        width: 16rem;
        height: 9.5rem;
        bottom: -2rem;
    }

    .car02 {
        width: 6.9rem;
        height: 9.5rem;
        bottom: -2rem;
    }

    .car03 {
        width: 4.2rem;
        left: auto;
        height: 3.9rem;
        right: 8.3rem;
        bottom: -2rem;
    }

    .car04 {
        width: 6rem;
        height: 5.4rem;
        bottom: -2rem;
    }

    .sec11_back {
        padding-bottom: 10rem;
    }
}