@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

:root {
    --main-color: #000;
    --sub-color: #B4CE6F;
    --point-color: #382511;
}

html,
button,
input,
select,
textarea {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
}

body {
    color: #382511;
    font-size: 16px;
    line-height: 1.7;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    min-width: 1380px;
    background-color: #FDFCF8;
}

.f_en {
    font-family: "Figtree", sans-serif;
    font-weight: 700;
}

.f_en.medium {
    font-weight: 500;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

.wrap.wide {
    width: 1380px;
}

/* 追従 */
.common_follow .link {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 160px;
    height: 162px;
    background: url(./image/illust_catalog1.png) center center / contain no-repeat;
    text-align: center;
    color: var(--point-color);
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 23px;
    transition: all .3s;
    z-index: 100;
}

.common_follow .link .size {
    font-size: 1.1em;
}

.common_follow .link:hover {
    background: url(./image/illust_catalog2.png) center center / contain no-repeat;
}

/* 共通タイトル */
.common_title_box {
    text-align: center;
}

.common_title_box .en {
    font-size: 14px;
    letter-spacing: .05em;
}

.common_title_box .title {
    font-size: 40px;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700;
}

/* PCヘッダー */
.main_header {
    position: absolute;
    top: 0;
    left: 0;
    width: fit-content;
    height: 100%;
    background-color: var(--point-color);
    padding: 60px 3.47vw 27px;
}

.main_header .inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.main_header .inner .logo a {
    display: block;
    width: 280px;
}

.main_header .inner .logo a img {
    width: 100%;
}

.main_header .inner .hd_nav {
    margin-top: 90px;
}

.main_header .inner .hd_nav ul li .link {
    display: inline-block;
    color: #fff;
    font-size: 16px;
    letter-spacing: 0em;
    font-weight: 700;
    position: relative;
    transition: all .3s;
}

.main_header .inner .hd_nav ul li .link:hover {
    padding-left: 15px;
}

.main_header .inner .hd_nav ul li+li {
    margin-top: 1em;
}

.main_header .inner .hd_nav ul li .link::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0% -50%;
    width: 7px;
    aspect-ratio: 1;
    min-width: 0;
    border-radius: 100%;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
}

.main_header .inner .hd_nav ul li .link:hover::before {
    opacity: 1;
    visibility: visible;
}

.main_header .scroll_box {
    margin-top: auto;
    display: inline-block;
    text-align: center;
}

.main_header .scroll_box .en {
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
}

.main_header .scroll_box .scroll {
    display: inline-block;
    width: 25px;
    height: 45px;
    border-radius: 100vmax;
    background-color: #fff;
    margin-top: 5px;
    position: relative;
}

.main_header .scroll_box .scroll::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 50%;
    translate: -50% 0%;
    width: 6px;
    aspect-ratio: 1;
    min-width: 0;
    border-radius: 100%;
    background-color: var(--point-color);
    animation: scrollmove 1.4s ease-in-out infinite;
}

@keyframes scrollmove {
    0% {
        top: 8px;
        opacity: 1;
    }

    70% {
        opacity: .8;
    }

    100% {
        top: 35px;
        opacity: 0;
    }
}

/* PCメインビジュアル */
.top_mv {
    padding-block: 50px 475px;
    position: relative;
    height: 100vh;
}

.top_mv .mv_img {
    position: absolute;
    bottom: -50px;
    right: 0;
    width: calc(100% - 300px);
    height: calc(100% - 120px);
}

.top_mv .mv_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 30px 0 0 30px;
}

.top_mv .text_area {
    position: relative;
    text-align: right;
}

.top_mv .text_area .sub {
    font-size: 20px;
    letter-spacing: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 .5em;
    color: var(--point-color);
}

.top_mv .text_area .sub::before,
.top_mv .text_area .sub::after {
    content: '';
    width: 10px;
    height: 1px;
    background-color: var(--point-color);
}

.top_mv .text_area .catch {
    font-size: 40px;
    line-height: 1.4;
    letter-spacing: .05em;
    font-weight: 700;
}

.top_mv .text_area .catch .line {
    position: relative;
    background: url(./image/deco_line.svg) center bottom / contain no-repeat;
}

.top_mv .text_area .heading {
    font-size: 18px;
    letter-spacing: .03em;
    font-weight: 500;
    margin-top: 1em;
}

.top_mv .text_area .heading .bg {
    background-color: #fff;
    padding: .15em .5em;
    display: block;
    width: fit-content;
    margin-left: auto;
}

.top_mv .text_area .heading .bg+.bg {
    margin-top: .5em;
}

/* PC　ギャラリーセクション */
.gallery_slider {
    padding-block: 150px 120px;
    overflow: hidden;
}

.gallery_slider .en_img {
    width: 1228px;
    margin-inline: auto;
}

.gallery_slider .en_img img {
    width: 100%;
}

.gallery_slider .js_gallery_slider {
    margin-top: -25px;
    position: relative;
    z-index: 1;
}

.gallery_slider .js_gallery_slider .img.slick-slide {
    width: 360px !important;
    margin-right: 30px;
}

.gallery_slider .js_gallery_slider .img img {
    width: 100%;
    aspect-ratio: 3/2;
    min-width: 0;
    object-fit: cover;
    border-radius: 5px;
}

.gallery_slider .js_gallery_slider .img:nth-child(even) {
    margin-top: 30px;
}

.gallery_slider .js_gallery_slider::before,
.gallery_slider .js_gallery_slider::after {
    content: '';
    position: absolute;
    width: 73px;
    aspect-ratio: 1;
    min-width: 0;
    background: url(./image/deco_dots.svg) center center / contain no-repeat;
    z-index: -1;
}

.gallery_slider .js_gallery_slider::before {
    bottom: -23px;
    right: 138px;
}

.gallery_slider .js_gallery_slider::after {
    top: 9px;
    right: 598px;
}

/* PC　暮らしを体験 */
.top_experience_sec {
    margin-bottom: 120px;
    position: relative;
}

.top_experience_sec::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 756px;
    bottom: -352px;
    left: 0;
    background: url(./image/experience_bg.png) top center / cover no-repeat;
    opacity: .3;
}

.top_experience_sec .title_box {
    width: fit-content;
    margin-inline: auto;
    position: relative;
}

.top_experience_sec .title_box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0%;
    width: 540px;
    height: 334px;
    border-radius: 100%;
    background-color: #F7F3E8;
}

.top_experience_sec .title_box .title {
    text-align: center;
    font-size: 24px;
    letter-spacing: .05em;
    font-weight: 700;
    position: relative;
    z-index: 1;
    padding-block: 30px 18px;
}

.top_experience_sec .title_box .title::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 12.5px;
    bottom: 0;
    left: 0;
    background: url(./image/deco_line2.png) center bottom / contain no-repeat;
}

.top_experience_sec .title_box .title .size {
    font-size: 48px;
    line-height: 1;
}

.top_experience_sec .title_box .title .color {
    color: var(--sub-color);
}

.top_experience_sec .title_box .title .img {
    width: 98px;
    display: inline-block;
}

.top_experience_sec .title_box .title .img img {
    width: 100%;
}

.top_experience_sec .title_box .text {
    position: relative;
    z-index: 1;
    margin-top: 10px;
    text-align: center;
    font-size: 24px;
    letter-spacing: .03em;
}

.top_experience_sec .inner {
    background-color: #F7F3E8;
    border-radius: 30px;
    padding: 134px 130px 80px;
    position: relative;
    margin-top: -105px;
}

.top_experience_sec .inner::before,
.top_experience_sec .inner::after {
    content: '';
    position: absolute;
    width: 180px;
}

.top_experience_sec .inner::before {
    top: -80px;
    left: 130px;
    rotate: -3deg;
    height: 157px;
    background: url(./image/illust_experience1.svg) center center / contain no-repeat;
}

.top_experience_sec .inner::after {
    top: -85px;
    right: 130px;
    rotate: 3deg;
    height: 163px;
    background: url(./image/illust_experience2.svg) center center / contain no-repeat;
}

.top_experience_sec .iframe_box iframe {
    width: 100%;
    height: 566px;
}

/* PC CTAセクション */
.banner_sec .link {
    margin-inline: auto;
    display: block;
    width: 100%;
    height: 461px;
    position: relative;
    transition: all .3s;
}

.banner_sec .link:hover {
    transform: translateY(-20px);
}

.banner_sec .link .banner {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: all .3s;
}

.banner_sec .link .banner.hover {
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
}

.banner_sec .link:hover .banner.hover {
    opacity: 1;
    visibility: visible;
}

/* PC コンセプト */
.top_concept_sec {
    margin-block: 125px 192px;
    position: relative;
}

.top_concept_sec .bg {
    position: absolute;
    inset: 0;
    width: calc(100% - 50px);
    height: 637px;
    overflow: hidden;
    border-radius: 0 50px 50px 0;
}

.top_concept_sec .bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #F7F3E8;
}

.top_concept_sec .bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url(./image/concept_bg.webp) center center / cover no-repeat;
    mix-blend-mode: multiply;
    opacity: .2;
}

.top_concept_sec .cont {
    position: relative;
    z-index: 1;
    padding-top: 110px;
    display: flex;
    gap: 0 34px;
}

.top_concept_sec .cont .img {
    flex-shrink: 0;
    width: 450px;
}

.top_concept_sec .cont .img img {
    width: 100%;
    aspect-ratio: 45/60;
    min-width: 0;
    object-fit: cover;
    border-radius: 10px;
}

.top_concept_sec .cont .catch {
    font-size: 48px;
    line-height: 1.4;
    letter-spacing: .05em;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.top_concept_sec .cont .catch .space {
    margin-left: 50px;
}

.top_concept_sec .cont .catch::before {
    content: '';
    position: absolute;
    bottom: -60px;
    left: -50px;
    width: 309px;
    height: 108px;
    background: url(./image/svg_concept.svg) center center / contain no-repeat;
    rotate: -3deg;
    z-index: -1;
}

.top_concept_sec .cont .text_box {
    margin-top: 50px;
    width: 510px;
    margin-inline: auto 46px;
}

.top_concept_sec .cont .text_box .text {
    font-size: 16px;
    line-height: 2.2;
    letter-spacing: .03em;
}

.top_concept_sec .cont .text_box .text+.text {
    margin-top: 2.4em;
}

.top_concept_sec .img_box {
    position: absolute;
    left: 0;
    bottom: -53px;
    width: 250px;
    height: 180px;
}

.top_concept_sec .img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 10px 10px 0;
}

/* PC こだわり */
.top_commitment_sec {
    padding-block: 0 85px;
    position: relative;
}

.top_commitment_sec::before {
    content: '';
    position: absolute;
    left: 50px;
    bottom: -20px;
    width: 680px;
    height: 262px;
    background: url(./image/illust_flower.png) center center / cover no-repeat;
    z-index: 1;
}

.top_commitment_sec .bg {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(100% - 100px);
    height: 415px;
    background-color: #F7F3E8;
    border-radius: 210px 0 0 210px;
    overflow: hidden;
}

.top_commitment_sec .bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url(./image/commitment_bg.webp) center center / cover no-repeat;
    mix-blend-mode: multiply;
    opacity: .35;
}

.top_commitment_sec .cont {
    display: flex;
    flex-wrap: wrap;
    gap: 0 50px;
    position: relative;
}

.top_commitment_sec .cont .title_box {
    flex-shrink: 0;
    writing-mode: vertical-rl;
    margin-right: 3px;
}

.top_commitment_sec .cont .title_box .en {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: .05em;
}

.top_commitment_sec .cont .title_box .title {
    font-size: 48px;
    letter-spacing: .3em;
    line-height: 1.2;
    font-weight: 700;
}

.top_commitment_sec .cont .item_box {
    width: 480px;
    flex-shrink: 0;
}

.top_commitment_sec .cont .item_box .img img {
    width: 100%;
    aspect-ratio: 48/32;
    min-width: 0;
    object-fit: cover;
    border-radius: 10px;
}

.top_commitment_sec .cont .item_box .heading_box {
    position: relative;
    z-index: 1;
    padding-top: 33px;
}

.top_commitment_sec .cont .item_box .heading_box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -50%;
    width: 2px;
    height: 50px;
    background-color: var(--point-color);
    background: linear-gradient(180deg, #EBE2CF 0%, #EBE2CF 50%, var(--point-color) 50%, var(--point-color) 100%);
}

.top_commitment_sec .cont .item_box .heading_box .heading {
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: .05em;
    font-weight: 700;
    text-align: center;
    position: relative;
    z-index: 1;
}

.top_commitment_sec .cont .item_box .heading_box .heading .big {
    font-size: 1.14em;
    display: inline-block;
    line-height: 1;
}

.top_commitment_sec .cont .item_box .heading_box .heading .size {
    font-size: 1.33em;
}

.top_commitment_sec .cont .item_box .heading_box .heading::before {
    content: '';
    position: absolute;
    width: 180px;
    height: 18px;
    bottom: -5px;
    left: 50%;
    translate: -50% 0%;
    background: url(./image/deco_line.svg) center center / contain no-repeat;
    z-index: -1;
}

.top_commitment_sec .cont .item_box .text_box {
    margin-top: .5em;
}

.top_commitment_sec .cont .item_box .text_box .text {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .03em;
}

/* PC おすすめ */
.top_recommend_sec {
    padding-top: 140px;
}

.top_recommend_sec .title_box .title {
    font-size: 40px;
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1;
    width: fit-content;
    margin-inline: auto;
    position: relative;
    padding-bottom: 35px;
}

.top_recommend_sec .title_box .title .img {
    display: inline-block;
    width: 232px;
    margin: -20px 0 0 .15em;
}

.top_recommend_sec .title_box .title .img img {
    width: 100%;
}

.top_recommend_sec .title_box .title::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 14px;
    bottom: 0;
    left: 0;
    background: url(./image/deco_line3.png) center bottom / contain no-repeat;
}

.top_recommend_sec .item_box {
    margin-top: 30px;
}

.top_recommend_sec .item_box ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 52px;
}

.top_recommend_sec .item_box ul li {
    position: relative;
}

.top_recommend_sec .item_box ul li .icon img {
    width: 100%;
}

.top_recommend_sec .item_box ul li .text_box {
    display: flex;
    align-items: center;
    margin-top: .3em;
}

.top_recommend_sec .item_box ul li .text_box .num {
    padding-right: 15px;
    flex-shrink: 0;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .05em;
    text-align: center;
}

.top_recommend_sec .item_box ul li .text_box .num .size {
    font-size: 32px;
    margin-top: .04em;
    display: inline-block;
}

.top_recommend_sec .item_box ul li .text_box .text {
    border-left: 1px solid #EBE2CF;
    padding-left: 15px;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: .03em;
    font-weight: 700;
}

.top_recommend_sec .item_box ul li .text_box .text .color {
    color: var(--sub-color);
    font-size: 24px;
}

.top_recommend_sec .item_box ul li:nth-child(1)::before,
.top_recommend_sec .item_box ul li:nth-child(2)::before {
    content: '';
    position: absolute;
    width: 60px;
    aspect-ratio: 1;
    min-width: 0;
    background: url(./image/deco_dots2.svg) center center / contain no-repeat;
}

.top_recommend_sec .item_box ul li:nth-child(1)::before {
    top: 0;
    right: 0;
}

.top_recommend_sec .item_box ul li:nth-child(2)::before {
    top: 150px;
    left: -10px;
}

/* PC　建売・注文住宅との違い */
.top_difference_sec {
    padding-top: 197px;
}

.top_difference_sec .common_title_box {
    position: relative;
}

.top_difference_sec .common_title_box .title {
    font-size: 48px;
}

.top_difference_sec .common_title_box .title .color {
    color: var(--sub-color);
}

.top_difference_sec .common_title_box::before {
    content: '';
    position: absolute;
    width: 264px;
    height: 68px;
    top: -120px;
    right: 300px;
    background: url(./image/deco_curve.svg) center center / contain no-repeat;
    rotate: -10deg;
}

.top_difference_sec .text_area {
    margin-top: 55px;
}

.top_difference_sec .text_area .point_box {
    display: flex;
    gap: 0 36px;
    justify-content: center;
}

.top_difference_sec .text_area .point_box .point {
    position: relative;
    width: fit-content;
    padding-bottom: 15px;
}

.top_difference_sec .text_area .point_box .point::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 14px;
    bottom: 0;
    left: 0;
    background: url(./image/deco_line3.png) center bottom / contain no-repeat;
}

.top_difference_sec .text_area .point_box .point .text {
    font-size: 16px;
    letter-spacing: .01em;
    font-weight: 700;
}

.top_difference_sec .text_area .point_box .point .text .size {
    font-size: 1.28em;
}

.top_difference_sec .text_area .point_box .point .text .size.dot {
    background-image: radial-gradient(circle at center, #382511 18%, transparent 20%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em 1em;
    padding-top: .6em;
}

.top_difference_sec .catch_box {
    margin-top: 25px;
}

.top_difference_sec .catch_box .catch {
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: .03em;
    font-weight: 700;
    text-align: center;
}

.top_difference_sec .catch_box .catch .size {
    font-size: 1.5em;
    background: linear-gradient(to top, var(--sub-color) 17%, transparent 17%);
}

.top_difference_sec .catch_box .catch .num {
    font-size: 40px;
    letter-spacing: .03em;
}

.top_difference_sec .table_area {
    margin-top: 50px;
}

.top_difference_sec .table_area table {
    width: 100%;
    position: relative;
}

.top_difference_sec .table_area table::before {
    content: '';
    position: absolute;
    top: 0;
    left: 279px;
    width: 291px;
    height: 102%;
    border-radius: 20px;
    border: 10px solid #E2AC1D;
}

.top_difference_sec .table_area table::after {
    content: '';
    position: absolute;
    width: 1px;
    height: 97%;
    bottom: 0;
    right: 285px;
    background-color: #EDE9DF;
}

.top_difference_sec .table_area table th,
.top_difference_sec .table_area table td {
    vertical-align: middle;
}

.top_difference_sec .table_area table .head_group .head {
    background-color: #9F8E7D;
    border-radius: 20px 20px 0 0;
    width: 285px;
    font-size: 24px;
    letter-spacing: .05em;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    padding: .7em;
}

.top_difference_sec .table_area table .head_group .head.color {
    background-color: #E2AC1D;
    width: 291px;
    font-size: 32px;
}

.top_difference_sec .table_area table .head_group .head .small {
    font-size: .5em;
    display: block;
}

.top_difference_sec .table_area table .item_group tr:nth-child(odd) {
    background-color: #F7F5EF;
}

.top_difference_sec .table_area table .item_group tr:nth-child(even) {
    background-color: #fff;
}

.top_difference_sec .table_area table .item_group td {
    text-align: center;
    vertical-align: middle;
    padding: 1.1em .8em;
}

.top_difference_sec .table_area table .item_group .label {
    font-size: 20px;
    letter-spacing: .03em;
    font-weight: 700;
}

.top_difference_sec .table_area table .item_group tr:first-child .label {
    border-radius: 20px 0 0 0;
}

.top_difference_sec .table_area table .item_group tr:nth-child(5) .label {
    border-radius: 0 0 0 20px;
}

.top_difference_sec .table_area table .item_group tr:nth-child(5) td:nth-child(4) {
    border-radius: 0 0 20px 0;
}

.top_difference_sec .table_area table .item_group .icon {
    display: inline-block;
    line-height: 1;
}

.top_difference_sec .recommend_point {
    margin-top: 45px;
    position: relative;
    width: fit-content;
    margin-inline: auto;
}

.top_difference_sec .recommend_point::before,
.top_difference_sec .recommend_point::after {
    content: '';
    position: absolute;
    width: 27px;
    height: 39px;
    bottom: 5px;
    background: url(./image/deco_dobleline.svg) center center / contain no-repeat;
}

.top_difference_sec .recommend_point::before {
    left: -40px;
}

.top_difference_sec .recommend_point::after {
    right: -40px;
    transform: scale(-1, 1);
}

.top_difference_sec .recommend_point .text {
    text-align: center;
    font-size: 24px;
    line-height: 2.2;
    letter-spacing: .03em;
    font-weight: 700;
}

.top_difference_sec .recommend_point .text .line {
    font-size: 32px;
    background: linear-gradient(to top, var(--sub-color) 18%, transparent 18%);
}

.top_difference_sec .recommend_point .text .icon {
    display: inline-block;
    width: 166px;
    line-height: 1.3;
}

.top_difference_sec .recommend_point .text .icon img {
    width: 100%;
}

/* PC　3つのプラン */
.top_plan_sec {
    margin-block: 222px 300px;
    position: relative;
}

.top_plan_sec .bg {
    background: url(./image/plan_bg1.jpg) center top / cover no-repeat;
    padding-block: 65px 30px;
}

.top_plan_sec::before,
.top_plan_sec::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
}

.top_plan_sec::before {
    top: -95px;
    height: 155px;
    background: url(./image/plan_bg2.png) center top / cover no-repeat;
}

.top_plan_sec::after {
    bottom: 0;
    translate: 0% 100%;
    height: 192px;
    background: url(./image/plan_bg3.png) center bottom / cover no-repeat;
}

.top_plan_sec .title_box {
    position: relative;
    z-index: 1;
    width: fit-content;
    margin: 0 auto -60px;
}

.top_plan_sec .title_box::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -10px;
    width: 56px;
    height: 57px;
    background: url(./image/deco_dashed.svg) center center / contain no-repeat;
    rotate: -12deg;
}

.top_plan_sec .title_box .title .small {
    display: block;
    font-size: 24px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    margin-right: 43px;
    text-align: right;
}

.top_plan_sec .title_box .title .size {
    font-size: 48px;
    line-height: 0;
    letter-spacing: .05em;
    font-weight: 700;
}

.top_plan_sec .title_box .title .size .num {
    font-size: 160px;
    letter-spacing: .05em;
    color: var(--sub-color);
    font-style: italic;
}

.top_plan_sec .title_box .title .svg {
    display: inline-block;
}

.top_plan_sec .cont {
    margin-top: 44px;
}

.top_plan_sec .cont .item {
    display: flex;
    align-items: flex-end;
    gap: 0 50px;
}

.top_plan_sec .cont .item+.item {
    margin-top: 80px;
}

.top_plan_sec .cont .item:nth-child(even) {
    flex-direction: row-reverse;
}

.top_plan_sec .cont .item .plan_slider {
    width: 540px;
    flex-shrink: 0;
}

.top_plan_sec .cont .item .plan_slider .img img {
    width: 100%;
    aspect-ratio: 54/40;
    min-width: 0;
    object-fit: cover;
    border-radius: 20px;
}

.top_plan_sec .cont .item .catch_box .label {
    border-radius: 100vmax;
    background-color: var(--point-color);
    width: fit-content;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 700;
    color: #fff;
    padding: .2em .95em .5em;
}

.top_plan_sec .cont .item .catch_box .catch {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: .03em;
    font-weight: 700;
    margin-top: 10px;
}

.top_plan_sec .cont .item .catch_box .catch .line {
    background: linear-gradient(to top, var(--sub-color) 17%, transparent 17%);
}

.top_plan_sec .cont .item .price_box {
    margin-top: 25px;
}

.top_plan_sec .cont .item .price_box .price {
    font-size: 16px;
    line-height: 1;
    letter-spacing: .03em;
    font-weight: 700;
    position: relative;
    border-bottom: 1px solid #EBE2CF;
    padding-bottom: .5em;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.top_plan_sec .cont .item .price_box .price .num {
    color: #E2AC1D;
    font-size: 40px;
    letter-spacing: 0;
    margin-right: .1em;
    display: inline-block;
}

.top_plan_sec .cont .item .price_box .price .yen {
    display: inline-block;
    margin-top: .6em;
}

.top_plan_sec .cont .item .price_box .price::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -1.5px;
    width: 172px;
    height: 2px;
    background-color: var(--point-color);
}

.top_plan_sec .cont .item .price_box .tax {
    text-align: right;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: .03em;
    display: block;
    margin-top: .5em;
}

.top_plan_sec .cont .comment_box {
    margin-top: 35px;
    background-color: #fff;
    padding: 35px 45px 41px;
    position: relative;
}

.top_plan_sec .cont .item:nth-child(1) .comment_box::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: -60px;
    width: 100px;
    height: 70px;
    background: url(./image/icon_leaves3.svg) center center / contain no-repeat;
    rotate: -20deg;
    z-index: 1;
}

.top_plan_sec .cont .item:nth-child(2) .comment_box::before {
    content: '';
    position: absolute;
    bottom: -35px;
    left: -50px;
    width: 80px;
    height: 103px;
    background: url(./image/icon_flower2.svg) center center / contain no-repeat;
    rotate: -15deg;
    z-index: 1;
}

.top_plan_sec .cont .item:nth-child(3) .comment_box::before {
    content: '';
    position: absolute;
    bottom: -5px;
    right: -45px;
    width: 100px;
    height: 61px;
    background: url(./image/icon_leaves2.svg) center center / contain no-repeat;
    rotate: -31deg;
    z-index: 1;
}

.top_plan_sec .cont .comment_box .comment {
    font-size: 16px;
    letter-spacing: 0em;
}

.top_plan_sec .cont .comment_box .comment+.comment {
    margin-top: 1em;
}

.top_plan_sec .plan_slider .thumbnail .slick-track {
    margin-top: 10px;
    display: flex;
    justify-content: center;
}

.top_plan_sec .plan_slider .thumbnail .thum_img {
    width: 100px !important;
    flex-shrink: 0;
    margin-left: 10px;
    cursor: pointer;
}

.top_plan_sec .plan_slider .thumbnail .thum_img img {
    border-radius: 10px;
    width: 100%;
    aspect-ratio: 1;
    min-width: 0;
    object-fit: cover;
}

.top_plan_sec .plan_slider {
    position: relative;
}

.top_plan_sec .plan_slider .slick_prev,
.top_plan_sec .plan_slider .slick_next {
    content: "";
    position: absolute;
    top: -185px;
    width: 50px;
    aspect-ratio: 1;
    min-width: 0;
    background: url(./image/icon_arrow.svg) center center / contain no-repeat;
    display: block;
    z-index: 10;
    cursor: pointer;
}

.top_plan_sec .plan_slider .slick_prev {
    left: -20px;
    transform: scale(-1, 1);
}

.top_plan_sec .plan_slider .slick_next {
    right: -20px;
}

/* PC カラーバリエーション */
.top_variation_sec {
    padding-top: 12px;
}

.top_variation_sec .cont {
    position: relative;
}

.top_variation_sec .cont::before {
    content: '';
    position: absolute;
    width: 247px;
    height: 156px;
    left: -50px;
    top: -100px;
    background: url(./image/illust_butterfly.svg) center center / contain no-repeat;
}

.top_variation_sec .type_item .image_box {
    position: relative;
    width: fit-content;
    margin-inline: auto;
    z-index: 1;
}

.top_variation_sec .type_item .image_box .catch {
    width: fit-content;
    height: auto;
    position: absolute;
    background-color: var(--point-color);
    display: inline-block;
    font-size: 48px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    color: #fff;
    padding: .2em;
    writing-mode: vertical-lr;
    z-index: 10;
}

.top_variation_sec .type_item .image_box .catch:nth-child(1) {
    top: -20px;
    right: -20px;
}

.top_variation_sec .type_item .image_box .catch:nth-child(2) {
    bottom: -20px;
    left: -20px;
    font-size: 40px;
}

.top_variation_sec .type_item .image_box .slider_area {
    width: 800px;
    margin-inline: auto;
}

.top_variation_sec .type_item .image_box .main_img .img img {
    width: 100%;
    height: 488px;
    object-fit: cover;
    border-radius: 20px;
}

.top_variation_sec .type_item .color_item {
    background-color: #fff;
    border-radius: 10px;
    padding: 279px 80px 55px;
    margin-top: -220px;
    position: relative;
}

.top_variation_sec .type_item .color_item::before {
    content: '';
    position: absolute;
    width: 401px;
    height: 52px;
    bottom: 0;
    right: -50px;
    background: url(./image/svg_variations.svg) center center / contain no-repeat;
    rotate: -3deg;
}

.top_variation_sec .type_item .color_item .head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 1em;
    font-size: 24px;
    letter-spacing: .1em;
    font-weight: 700;
}

.top_variation_sec .type_item .color_item .head::before,
.top_variation_sec .type_item .color_item .head::after {
    content: '';
    flex-shrink: 0;
    width: 290px;
    height: 2px;
    background: url(./image/line_dashed.svg) center center / contain no-repeat;
}

.top_variation_sec .type_item .color_item .list {
    display: flex;
    justify-content: center;
    gap: 0 58px;
    text-align: center;
    margin-top: 1em;
}

.top_variation_sec .type_item .color_item .list .item {
    cursor: pointer;
}

.top_variation_sec .type_item .color_item .list .item .color {
    display: inline-block;
    width: 50px;
    aspect-ratio: 1;
    min-width: 0;
    border-radius: 100%;
}

.top_variation_sec .type_item .color_item .list .item .color {
    position: relative;
}

.top_variation_sec .type_item .color_item .list .item.is_active .color::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 44px;
    aspect-ratio: 1;
    border: 2px solid #fff;
    background-color: transparent;
    border-radius: 100%;
}

.top_variation_sec .type_item .color_item .list .item.white .color {
    background-color: #CBC9C7;
}

.top_variation_sec .type_item .color_item .list .item.black .color {
    background-color: #3B3A37;
}

.top_variation_sec .type_item .color_item .list .item.silver .color {
    background: linear-gradient(45deg, #CFCFCF -10%, #CBCBCA 0%, #BFBFBE 20%, #ACABAA 30%, #918E8E 55%, #6E6A69 70%, #443F3D 95%, #251E1C 110%);
}

.top_variation_sec .type_item .color_item .list .item.blue .color {
    background-color: #38647E;
}

.top_variation_sec .type_item .color_item .list .item.green .color {
    background-color: #3C6648;
}

.top_variation_sec .type_item .color_item .list .item.red .color {
    background-color: #B26C6D;
}

.top_variation_sec .type_item .color_item .list .item .name {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: .03em;
    font-weight: 700;
    white-space: nowrap;
}

.top_variation_sec .type_item .color_pager {
    border: 1px solid #EBE2CF;
    border-radius: 100vmax;
    background-color: #fff;
    width: 270px;
    margin-inline: auto;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .05em;
    padding: .25em;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 50%;
}

.top_variation_sec .js_type_slider {
    position: relative;
}

.top_variation_sec .js_type_slider .slick_prev,
.top_variation_sec .js_type_slider .slick_next {
    display: block;
    width: 30px;
    aspect-ratio: 1;
    min-width: 0;
    position: absolute;
    bottom: -15.5px;
    background: url(./image/icon_arrow.svg) center center / contain no-repeat;
    z-index: 10;
    cursor: pointer;
}

.top_variation_sec .js_type_slider .slick_prev {
    left: 35%;
    transform: scale(-1, 1);
}

.top_variation_sec .js_type_slider .slick_next {
    right: 35%;
}


.top_variation_sec .nuck_cont {
    margin-top: 148px;
}

.top_variation_sec .nuck_cont .catch_box {
    position: relative;
    width: fit-content;
    margin-inline: auto;
    display: flex;
    align-items: center;
    gap: 0 25px;
}

.top_variation_sec .nuck_cont .catch_box::before,
.top_variation_sec .nuck_cont .catch_box::after {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 30px;
    height: 70px;
    background: url(./image/deco_accent.svg) center center / contain no-repeat;
}

.top_variation_sec .nuck_cont .catch_box::after {
    transform: scale(-1, 1);
}

.top_variation_sec .nuck_cont .catch_box .catch {
    font-size: 40px;
    line-height: 1.4;
    letter-spacing: .05em;
    font-weight: 700;
}

.top_variation_sec .nuck_cont .catch_box .catch .line {
    background: linear-gradient(to top, var(--sub-color) 17%, transparent 17%);
}

.top_variation_sec .nuck_cont .catch_box .catch .svg {
    display: inline-block;
    line-height: 1.2;
}

.top_variation_sec .nuck_cont .item_box {
    display: grid;
    grid-template-columns: repeat(2, 530px);
    align-items: center;
    gap: 0 80px;
    margin-top: 35px;
}

.top_variation_sec .nuck_cont .item_box .main_img {
    width: 100%;
    height: 514px;
    position: relative;
}

.top_variation_sec .nuck_cont .item_box .main_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.top_variation_sec .nuck_cont .item_box .main_img .point_box {
    position: absolute;
    top: 30px;
    left: -20px;
    z-index: 1;
}

.top_variation_sec .nuck_cont .item_box .main_img .point_box .point {
    background-color: var(--point-color);
    display: inline-block;
    font-size: 32px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    padding: .28em;
    color: #fff;
}

.top_variation_sec .nuck_cont .item_box .main_img .point_box .point+.point {
    margin-top: .1em;
}

.top_variation_sec .nuck_cont .item_box .title_box {
    position: relative;
    z-index: 1;
}

.top_variation_sec .nuck_cont .item_box .title_box::before {
    content: '';
    position: absolute;
    width: 130px;
    height: 104px;
    bottom: -35px;
    right: 0;
    background: url(./image/icon_leaves2.svg) center center / contain no-repeat;
    z-index: -1;
}

.top_variation_sec .nuck_cont .item_box .title_box .title {
    display: flex;
    align-items: center;
    gap: 0 .5em;
}

.top_variation_sec .nuck_cont .item_box .title_box .title .dots {
    background-image: radial-gradient(circle at center, #382511 20%, transparent 22%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em .6em;
    padding-top: .25em;
}

.top_variation_sec .nuck_cont .item_box .title_box .title::after {
    content: '';
    width: 200px;
    height: 1px;
    background-color: #EBE2CF;
}

.top_variation_sec .nuck_cont .item_box .title_box .title .color {
    flex-shrink: 0;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 700;
    display: block;
}

.top_variation_sec .nuck_cont .item_box .text_box {
    margin-top: 17px;
}

.top_variation_sec .nuck_cont .item_box .text_box .text {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .03em;
}

.top_variation_sec .nuck_cont .item_box .nuck_slider {
    margin-top: 35px;
    position: relative;
}

.top_variation_sec .nuck_cont .item_box .nuck_slider .slider {
    display: flex;
    align-items: center;
    gap: 0 30px;
}

.top_variation_sec .nuck_cont .item_box .nuck_slider .slider .illust {
    width: 260px;
    flex-shrink: 0;
}

.top_variation_sec .nuck_cont .item_box .nuck_slider .slider img {
    width: 100%;
}

.top_variation_sec .nuck_cont .nuck_slider .slick_prev,
.top_variation_sec .nuck_cont .nuck_slider .slick_next {
    content: '';
    position: absolute;
    top: 87px;
    width: 30px;
    aspect-ratio: 1;
    min-width: 0;
    background: url(./image/icon_arrow.svg) center center / contain no-repeat;
    z-index: 10;
    cursor: pointer;
}

.top_variation_sec .nuck_cont .nuck_slider .slick_prev {
    left: -15px;
    transform: scale(-1, 1);
}

.top_variation_sec .nuck_cont .nuck_slider .slick_next {
    right: -15px;
}

.top_variation_sec .nuck_cont .nuck_slider .slick-dots {
    display: flex;
    justify-content: center;
    gap: 0 10px;
    bottom: -10px;
}

.top_variation_sec .nuck_cont .nuck_slider .slick-dots li,
.top_variation_sec .nuck_cont .nuck_slider .slick-dots button {
    width: 10px;
    height: 10px;
    margin: 0;
    padding: 0;
    background-color: #EBE2CF;
    border-radius: 100%;
}

.top_variation_sec .nuck_cont .nuck_slider .slick-dots button::before {
    font-size: 0;
    font-family: none;
    width: 10px;
    height: 10px;
    border-radius: 100%;
}

.top_variation_sec .nuck_cont .nuck_slider .slick-dots li.slick-active button:before {
    background-color: var(--point-color);
}

/* PC　5つの特徴 */
.top_features_sec {
    background-color: #F7F3E8;
    margin-block: 231px 120px;
    position: relative;
}

.top_features_sec::before,
.top_features_sec::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 168px;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

.top_features_sec::before {
    top: -120px;
    background-position: top;
    background-image: url(./image/deco_waves1.png);
}

.top_features_sec::after {
    bottom: -144px;
    background-image: url(./image/deco_waves2.png);
    background-position: bottom;
}

.top_features_sec .cont {
    display: flex;
    flex-wrap: wrap;
    gap: 55px 70px;
}

.top_features_sec .cont .item {
    width: 400px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.top_features_sec .cont .item .title {
    margin-top: 160px;
    position: relative;
    z-index: 1;
}

.top_features_sec .cont .item .title::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 55px;
    width: 270px;
    height: 38px;
    background: url(./image/deco_features_line.svg) center bottom / contain no-repeat;
    z-index: -1;
}

.top_features_sec .cont .item .title::after {
    content: '';
    position: absolute;
    width: 200px;
    height: 226px;
    bottom: -100%;
    left: 100px;
    translate: 0% 60%;
    background: url(./image/illust_flower3.svg) center center / contain no-repeat;
    z-index: -1;
}

.top_features_sec .cont .item .title .small {
    font-size: 30px;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 700;
    display: block;
    margin-left: 150px;
}

.top_features_sec .cont .item .title .size {
    font-size: 56px;
    font-weight: 700;
    margin-top: -55px;
    display: block;
}

.top_features_sec .cont .item .title .size .color {
    font-size: 160px;
    letter-spacing: .05em;
    line-height: 1;
    color: var(--sub-color);
    font-style: italic;
}

.top_features_sec .cont .item:nth-child(3),
.top_features_sec .cont .item:nth-child(5) {
    margin-top: 50px;
}

.top_features_sec .cont .item:nth-child(6) {
    margin-top: 100px;
}

.top_features_sec .cont .item .features_slider {
    position: relative;
}

.top_features_sec .cont .item .features_slider .en {
    position: absolute;
    top: -20px;
    left: 10px;
    width: auto;
    height: auto;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 700;
    background-color: var(--sub-color);
    border-radius: 100vmax;
    padding: .3em .95em .4em;
    z-index: 2;
    rotate: 90deg;
    transform-origin: 0% 100%;
}

.top_features_sec .cont .item .img {
    height: 260px;
}

.top_features_sec .cont .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.top_features_sec .cont .item .text_box {
    margin-top: 20px;
}

.top_features_sec .cont .item .text_box .head {
    width: fit-content;
    margin-inline: auto;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: .05em;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.top_features_sec .cont .item:nth-child(2) .text_box .head::before,
.top_features_sec .cont .item:nth-child(3) .text_box .head::before {
    content: '';
    position: absolute;
    bottom: -8px;
    right: -8px;
    width: 93px;
    height: 17px;
    background: url(./image/deco_features_line2.svg) center bottom / contain no-repeat;
    z-index: -1;
}

.top_features_sec .cont .item:nth-child(3) .text_box .head::before {
    right: 8px;
}

.top_features_sec .cont .item:nth-child(4) .text_box .head::before,
.top_features_sec .cont .item:nth-child(5) .text_box .head::before,
.top_features_sec .cont .item:nth-child(6) .text_box .head::before {
    content: '';
    position: absolute;
    left: 50%;
    translate: -50% 0%;
    background: url(./image/deco_features_line3.svg) center bottom / contain no-repeat;
    z-index: -1;
}

.top_features_sec .cont .item:nth-child(4) .text_box .head::before {
    width: 180px;
    height: 18px;
    bottom: -6px;
    left: 38%;
}

.top_features_sec .cont .item:nth-child(5) .text_box .head::before {
    width: 261px;
    height: 18px;
    top: 18px;
}

.top_features_sec .cont .item:nth-child(6) .text_box .head::before {
    width: 232px;
    height: 18px;
    bottom: -5px;
    left: 45%;
}

.top_features_sec .cont .item .text_box .text {
    margin-top: 15px;
    font-size: 18px;
    letter-spacing: .03em;
}

.js_features_slider ul.slick-dots {
    display: flex;
    justify-content: center;
    gap: 0 10px;
    bottom: -5px;
}

.js_features_slider ul.slick-dots li,
.js_features_slider ul.slick-dots li button {
    width: 10px;
    height: 10px;
    margin: 0;
    padding: 0;
    background-color: #fff;
    border-radius: 100%;
}

.js_features_slider ul.slick-dots li button:before {
    font-size: 0;
    font-family: none;
    width: 10px;
    height: 10px;
    border-radius: 100%;
}

.js_features_slider ul.slick-dots li.slick-active button:before {
    background-color: var(--sub-color);
}

/* PC　COCOCIの家づくりのSTEP */
.top_step_sec {
    padding-top: 130px;
    position: relative;
}

.top_step_sec::before {
    content: '';
    position: absolute;
    inset: 0;
    top: 24px;
    width: 576px;
    height: 672px;
    background: url(./image/step_bg.png) center center / cover no-repeat;
}

.top_step_sec::after {
    content: '';
    position: absolute;
    left: 50px;
    top: 118px;
    width: 170px;
    height: 144px;
    background: url(./image/illust_flower2.svg) center center / cover no-repeat;
}

.top_step_sec .cont {
    display: flex;
    gap: 0 224px;
}

.top_step_sec .cont .title_box {
    position: relative;
    height: fit-content;
    margin-top: 145px;
}

.top_step_sec .cont .title_box .title {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: .05em;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.top_step_sec .cont .title_box .title .line {
    font-size: 40px;
    background: url(./image/deco_nami.svg) 25% bottom / 86% no-repeat;
}

.top_step_sec .cont .title_box .en {
    position: absolute;
    bottom: -45px;
    right: -173px;
    width: 190px;
    height: auto;
}

.top_step_sec .cont .title_box .en img {
    width: 100%;
}

.top_step_sec .cont .step_list {
    width: 620px;
    flex-shrink: 0;
    position: relative;
}

.top_step_sec .cont .step_list::before {
    content: '';
    position: absolute;
    width: 2px;
    height: 80%;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    border-right: 2px dashed var(--point-color);
}

.top_step_sec .cont .step_list ul li {
    border: 2px solid var(--point-color);
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    position: relative;
}

.top_step_sec .cont .step_list ul li+li {
    margin-top: 74px;
}

.top_step_sec .cont .step_list ul li .fukidashi {
    position: absolute;
    top: 0;
    right: 10px;
    rotate: 3deg;
    width: auto;
    height: auto;
    transform: translateY(-30%);
}

.top_step_sec .cont .step_list ul li:nth-child(even) .fukidashi {
    left: 19px;
    rotate: -3deg;
    transform: translateY(-55%);
}

.top_step_sec .cont .step_list ul li:nth-child(even) {
    flex-direction: row-reverse;
}

.top_step_sec .cont .step_list ul li:nth-child(1) {
    gap: 0 50px;
}

.top_step_sec .cont .step_list ul li:nth-child(2) {
    gap: 0 70px;
}

.top_step_sec .cont .step_list ul li:nth-child(3) {
    gap: 0 100px;
}

.top_step_sec .cont .step_list ul li .text_box .en {
    color: var(--sub-color);
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: .05em;
    margin-bottom: .3em;
}

.top_step_sec .cont .step_list ul li .text_box .text {
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: .05em;
    font-weight: 700;
}

.top_step_sec .cont .step_list ul li .icon {
    line-height: 1;
}

.top_step_sec .cont .step_list ul li .icon img {
    width: 100%;
}

.top_step_sec .cont .step_list ul li:nth-child(1) .icon {
    margin: 4px 0 0 20px;
}

.top_step_sec .cont .step_list ul li:nth-child(2) .icon {
    margin: -8px 20px -1px 0;
}

.top_step_sec .cont .step_list ul li:nth-child(3) .icon {
    margin: -5px 0 -1px 20px;
}

/* PC　よくある質問 */
.top_faq_sec {
    padding-block: 130px 90px;
}

.top_faq_sec .common_title_box {
    position: relative;
    width: fit-content;
    margin-inline: auto;
}

.top_faq_sec .common_title_box::before {
    content: '';
    position: absolute;
    right: -50%;
    top: 50%;
    translate: 50% -90%;
    width: 200px;
    aspect-ratio: 200/153;
    min-width: 0;
    background: url(./image/icon_leaves.svg) center center / contain no-repeat;
}

.top_faq_sec .cont_faq {
    margin: 35px auto 0;
    width: 940px;
}

.top_faq_sec .cont_faq dl {
    position: relative;
    padding: 30px 50px 35px 20px;
    border-top: 1px solid #EBE2CF;
}

.top_faq_sec .cont_faq dl::before {
    content: '';
    position: absolute;
    top: -1.8px;
    left: 0;
    width: 50px;
    height: 2px;
    background: var(--point-color);
}

.top_faq_sec .cont_faq dl::after {
    content: '';
    position: absolute;
    right: 20px;
    top: 40px;
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    border-right: 1px solid var(--point-color);
    border-top: 1px solid var(--point-color);
    rotate: 135deg;
    transition: all .3s;
}

.top_faq_sec .cont_faq dl.nowOpen::after {
    rotate: -45deg;
}

.top_faq_sec .cont_faq dl dt,
.top_faq_sec .cont_faq dl dd {
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.top_faq_sec .cont_faq dl .en {
    font-size: 24px;
    line-height: 1;
    letter-spacing: .05em;
    flex-shrink: 0;
}

.top_faq_sec .cont_faq dl dd .en {
    color: #C9BDAD;
}

.top_faq_sec .cont_faq dl dd {
    margin-top: 23px;
}

.top_faq_sec .cont_faq dl .closeBtnHat {
    display: none;
}

.top_faq_sec .cont_faq dl .item {
    font-size: 18px;
    letter-spacing: 0;
    font-weight: 700;
}

.top_faq_sec .cont_faq dl .text {
    font-size: 16px;
    letter-spacing: 0em;
}

/* PC 資料請求フォーム */
.top_form_sec {
    background: url(./image/wave_bg.png) center top / cover no-repeat;
    padding-block: 180px 300px;
}

.top_form_sec .common_title_box {
    position: relative;
    padding-top: 65px;
}

.top_form_sec .common_title_box .en,
.top_form_sec .common_title_box .title {
    position: relative;
    z-index: 1;
}

.top_form_sec .common_title_box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0%;
    width: 540px;
    height: 334px;
    border-radius: 100%;
    background-color: #fff;
}

.top_form_sec .common_title_box::after {
    content: '';
    position: absolute;
    width: 50px;
    aspect-ratio: 50/69;
    min-width: 0;
    top: 0;
    left: 50%;
    translate: -50% -35%;
    background: url(./image/icon_flower.svg) center center / contain no-repeat;
}

.top_form_sec .head_box {
    margin-block: 10px 35px;
    position: relative;
    z-index: 1;
}

.top_form_sec .head_box .text {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0em;
}

.top_form_sec .page_contact {
    background-color: #fff;
    border-radius: 20px;
    padding: 120px 150px 80px;
    position: relative;
    margin-top: -118px;
}

.top_form_sec .common_contact_form .form_box {
    margin-block: 0 35px;
}

.top_form_sec .common_contact_form .form_box dl {
    gap: 0 82px;
    grid-template-columns: 23% 480px;
    justify-content: center;
}

.top_form_sec .common_contact_form .form_box dl+dl {
    margin-top: 20px;
}

.top_form_sec .common_contact_form .form_box dl dt .label.hissu {
    background: var(--sub-color);
    color: var(--point-color);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    padding: .45em .78em;
}

.top_form_sec .common_contact_form .form_box dl dt {
    padding: 0;
    gap: 0 10px;
}

.top_form_sec .common_contact_form .form_box dl dt::after {
    display: none;
}

.top_form_sec .common_contact_form input[type="text"],
.top_form_sec .common_contact_form input[type="email"] {
    background-color: #fff;
}

.top_form_sec .page_contact #btn_wrap button {
    border-radius: 100vmax;
    background: var(--point-color);
    width: 320px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
}

.top_form_sec .page_contact #btn_wrap button:hover {
    background: #5A3B1B;
}

.top_form_sec .page_contact .privacy_term_outer {
    width: 840px;
    border-radius: 10px;
    border: 1px solid #E6E6E6;
    margin: 55px auto 0;
    padding: 35px 40px 35px 50px;
}

.top_form_sec .page_contact .privacy_term_outer .privacy_term_inner {
    padding-right: .5em;
}

.top_form_sec .page_contact .progressbar .item .mark {
    display: none;
}

.top_form_sec .page_contact .progressbar .item {
    border-radius: 100%;
    width: 100px;
    aspect-ratio: 1;
    min-width: 0;
    display: grid;
    place-content: center;
    background-color: #F7F3E8;
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--point-color);
    position: relative;
    z-index: 1;
    padding-top: .2em;
}

.top_form_sec .page_contact .progressbar .item .en {
    font-size: 14px;
    line-height: 1;
    letter-spacing: .05em;
    color: var(--point-color);
    font-family: "Figtree", sans-serif;
    font-weight: 700;
}

.top_form_sec .page_contact .progressbar .item+.item::before {
    background: #F7F3E8;
    height: 2px;
    top: 50%;
    left: 0;
    translate: -100% -50%;
    width: 100px;
    z-index: -1;
}

/* PC　フッター */
.footer_line_sec {
    position: relative;
    transform: translateY(50%);
    margin-top: -440px;
}

.footer_line_sec .bg {
    content: '';
    position: absolute;
    inset: 0;
    width: calc(100% - 50px);
    height: 100%;
    margin-left: auto;
    border-radius: 50px 0 0 50px;
    background: linear-gradient(to top, #382511, #4B351D);
    overflow: hidden;
}

.footer_line_sec .bg::before {
    content: '';
    position: absolute;
    width: 700px;
    height: 670px;
    left: 50%;
    top: 50%;
    translate: -14% -50%;
    background: url(./image/svg_linetext.svg) center center / contain no-repeat;
}

.footer_line_sec .cont {
    display: flex;
    align-items: center;
    gap: 0 114px;
    position: relative;
    z-index: 1;
}

.footer_line_sec .cont .img {
    width: 600px;
    flex-shrink: 0;
    margin: -80px -50px -46px 0;
    position: relative;
}

.footer_line_sec .cont .img img {
    width: 100%;
}

.footer_line_sec .cont .inner .title {
    font-size: 40px;
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 700;
    color: #fff;
}

.footer_line_sec .cont .inner .text_box {
    margin-top: 33px;
}

.footer_line_sec .cont .inner .text_box .text {
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0em;
}

.footer_line_sec .cont .line {
    margin-top: 25px;
    border-radius: 100vmax;
    background-color: #03C755;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 420px;
    font-size: 20px;
    letter-spacing: .03em;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    min-block-size: 80px;
    transition: all .3s;
}

.footer_line_sec .cont .line:hover {
    background-color: #04E562;
}

.footer_line_sec .cont .line::before,
.footer_line_sec .cont .line::after {
    content: '';
    width: 40px;
    aspect-ratio: 1;
    min-width: 0;
}

.footer_line_sec .cont .line::before {
    margin-right: 20px;
    background: url(./image/icon_line.svg) center center / contain no-repeat;
}

.footer_line_sec .cont .line::after {
    background: url(./image/line_arrow.svg) center center / contain no-repeat;
    margin-left: 56px;
}

.main_footer {
    padding-block: 305px 41px;
    background-color: #fff;
}

.main_footer .cont {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 197px;
    align-items: flex-end;
}

.main_footer .cont .logo .link {
    display: block;
    width: 367px;
    transition: all .3s;
}

.main_footer .cont .logo .link:hover {
    opacity: .5;
}

.main_footer .cont .logo .link img {
    width: 100%;
}

.main_footer .cont .item_box ul {
    display: grid;
    grid-template-columns: repeat(2, 260px);
    gap: 0 20px;
    margin-top: 20px;
}

.main_footer .cont .item_box ul li .map iframe {
    width: 100%;
    height: 160px;
    border-radius: 5px;
}

.main_footer .cont .item_box ul li .text_box {
    margin-top: 8px;
}

.main_footer .cont .item_box ul li .text_box .name {
    display: flex;
    align-items: center;
    gap: 0 .6em;
    font-size: 16px;
    letter-spacing: 0;
    font-weight: 700;
}

.main_footer .cont .item_box ul li .text_box .name::before {
    content: '';
    width: 8px;
    aspect-ratio: 1;
    background-color: var(--point-color);
    display: block;
}

.main_footer .cont .item_box ul li .text_box .address {
    font-size: 15.5px;
    letter-spacing: 0;
}

.main_footer .cont .ft_nav ul {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 0 80px;
    justify-content: space-between;
    margin-bottom: 20px;
}

.main_footer .cont .ft_nav ul li .link {
    display: flex;
    gap: 0 .5em;
    align-items: center;
    color: var(--point-color);
    font-size: 16px;
    letter-spacing: 0em;
    font-weight: 700;
    transition: all .3s;
}

.main_footer .cont .ft_nav ul li .link::before {
    display: block;
    content: "";
    width: 10px;
    height: 1px;
    background-color: var(--point-color);
}

.main_footer .cont .ft_nav ul li .link:hover {
    opacity: .5;
}

.main_footer .cont .ft_nav ul li:nth-child(n+3) {
    margin-top: 1em;
}

.main_footer .ft_bottom {
    margin-top: 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main_footer .ft_bottom .copy {
    font-size: 12px;
    letter-spacing: .05em;
    line-height: 1;
}

.main_footer .ft_bottom .sns_box {
    display: flex;
    gap: 0 25px;
}

.main_footer .ft_bottom .sns_box .follow {
    width: 76px;
    line-height: 1;
    margin-top: .3em;
}

.main_footer .ft_bottom .sns_box .follow img {
    width: 100%;
}

.main_footer .ft_bottom .sns_box .list ul {
    display: grid;
    grid-template-columns: 32px 30px 30px;
    gap: 15px;
    align-items: center;
}

.main_footer .ft_bottom .sns_box .list ul li .link {
    display: block;
    line-height: 1;
    transition: all .3s;
}

.main_footer .ft_bottom .sns_box .list ul li:first-child .link {
    margin-right: 2px;
}

.main_footer .ft_bottom .sns_box .list ul li .link img {
    width: 100%;
}

.main_footer .ft_bottom .sns_box .list ul li .link:hover {
    opacity: .7;
}


/* PC固定ページ 共通設定 */
.common_page_main {
    background: #F5F5F5;
    padding-block: 140px;
    margin-block: 0 1em;
}

.common_page_main .title_box {
    text-align: center;
}

.common_page_main .title_box .title {
    font-size: 40px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
}

.common_page_wrap {
    padding: 100px 0;
}

.not_found .text {
    text-align: center;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #3E3E3E;
    letter-spacing: .08em;
}

.breadcrumb a {
    text-decoration: none;
    color: #3E3E3E;
}

/* PC固定ページ お問い合わせ */
.contact_form_disc {
    color: #3E3E3E;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    margin-block: 0 3.8em;
}

.contact_form_disc .text {
    font-size: 16px;
    margin-block: 0 1em;
}

.contact_form_disc .caution {
    font-size: 14px;
}

.common_contact_form .form_box {
    margin-block: 0 50px;
}

.common_contact_form .form_box dl {
    display: grid;
    grid-template-columns: 26.5% 1fr;
    align-items: center;
    gap: 80px;
}

.common_contact_form .form_box dl.start {
    align-items: flex-start;
}

.common_contact_form .form_box dl+dl {
    margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
    display: flex;
    align-items: center;
    gap: 1.3em;
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 700;
    padding-inline: 0 0.5em;
    position: relative;
}

.common_contact_form .form_box dl dt .label {
    flex-shrink: 0;
    color: #3E3E3E;
    font-size: 12px;
    letter-spacing: .2em;
    font-weight: 700;
    border-radius: 100vmax;
    padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
    background: #C70000;
    color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
    background: #E0E0E0;
}

.common_contact_form .form_box dl dt::after {
    content: "";
    width: 1px;
    height: 30px;
    background: #AAA;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
    width: 100%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    padding: 0.8em 1em;
}

.common_contact_form textarea {
    width: 100%;
    height: 180px;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    padding: 1em;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
    color: #C7C4C4;
}

.common_contact_form select {
    width: 47.5%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    padding: 1.1em 1em;
}

.common_contact_form select.empty {
    color: #C7C4C4;
}

.page_contact #btn_wrap {
    justify-content: center;
    text-align: right;
    width: 74%;
    margin: auto;
}

.page_contact #btn_wrap button {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 310px;
    line-height: 60px;
    font-size: 18px;
    font-weight: 900;
    transition: .3s;
    text-align: center;
    letter-spacing: .08em;
    margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
    background: var(--main-color);
    margin-top: 20px;
}

.page_contact #btn_wrap button:hover {
    opacity: .8;
}

.privacy_term_outer .privacy_term_inner {
    height: 138px;
    margin: auto;
    overflow: auto;
}

.privacy_term_outer .privacy_term_inner .head {
    font-size: 18px;
    letter-spacing: 0;
    font-weight: 700;
    border-bottom: 1px solid #D5D5D5;
    padding-bottom: .5em;
    position: relative;
}

.privacy_term_outer .privacy_term_inner .head::before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 50px;
    height: 2px;
    background-color: var(--point-color);
}

.privacy_term_outer .privacy_term_inner .privacy_index {
    font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 14px;
    margin-block: 1em;
}

.privacy_term_outer .privacy_term_inner ol {
    list-style-type: auto;
    padding-left: 14px;
}

.privacy_term_outer .privacy_term_inner ol li .list {
    margin-top: .4em;
}

.privacy_term_outer .privacy_term_inner ol li .list .sub {
    margin-left: -8px;
}

.privacy_term_outer .privacy_term_inner ol li .list .text {
    margin-left: 26px;
}

.privacy_term_outer .privacy_term_inner .info_box {
    margin-top: 1.5em;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
    width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
    background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: var(--point-color);
    border-radius: 10px;
}

.privacy_term_outer {
    border-top: solid 1px #e3e3e3;
    padding: 30px 0;
    border-bottom: solid 1px #e3e3e3;
    width: 60%;
    margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
    padding-right: 0;
}

.privacy_check_list .error {
    font-size: 12px;
}

.privacy_term_detail {
    text-align: center;
    font-size: 13px;
    margin: 20px 0;
    position: relative;
    font-weight: 600;
}

.privacy_term_detail::after {
    content: "";
    margin: 5px auto 0;
    border: solid #333;
    border-width: 2px 2px 0 0;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    rotate: 135deg;
    display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
    display: none;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
    padding: .5em 0;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
    display: none;
}

.radio_btns label {
    display: inline-block;
    cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #E6E6E6;
    background: #F8F8F8;
    border-radius: 50%;
    width: 20px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0px;
    left: 5px;
    border: none;
    background: #5A5A5A;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    transition: all .3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field label {
    cursor: pointer;
}

.mwform-checkbox-field-text {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    display: inline-block;
    position: relative;
    padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #333 #333;
    border-style: solid;
    width: 20px;
    aspect-ratio: 2/1;
    min-width: 0;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0 !important;
}

/* サンクスページ */

.page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
    margin: 0 auto 50px;
    width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 4px;
    font-size: 16px;
    transition: .3s;
    margin: 0 auto;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: center;
}

.page_contact .thanks_textArea .ichiran_link:hover {
    opacity: .8;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.6em;
    margin-block: 0 3em;
}

.page_contact .progressbar .item {
    color: #3E3E3E;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    position: relative;
}

.page_contact .progressbar .item+.item::before {
    content: "";
    width: 50px;
    height: 1px;
    background: #E6E6E6;
    position: absolute;
    top: 64%;
    left: -5em;
}

.page_contact .progressbar .item .mark {
    width: 36px;
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid #AFAFAF;
    border-radius: 50%;
    display: block;
    margin: 0 auto 0.5em;
    position: relative;
}

.page_contact .progressbar .item .mark::before {
    content: "";
    width: 41%;
    aspect-ratio: 1;
    background: #5A5A5A;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
    opacity: 1;
}

.page_contact .progressbar .item .en {
    display: block;
    color: #A7A7A7;
    letter-spacing: 0;
    font-family: 'Helvetica', 'Arial', sans-serif;
}

.privacy_check_list {
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.privacy_check_list .hissu {
    background: #c70200;
    color: #fff;
    padding: 2px 15px;
    font-size: 10px;
    letter-spacing: .08em;
    border-radius: 30px;
    font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
    margin: 0;
}

/* PC固定ページ 404ページ */
#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list>article {
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 1px dashed #eee;
    padding-right: 30px;
}

.archive_page_list>article:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    right: 5px;
    bottom: 0;
    margin: auto;
    border: solid #ccc;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

.archive_page_list>article .date {
    font-weight: bold;
    font-size: 80%;
    width: 100px;
}

.archive_page_list>article .content_area {
    width: calc(100% - 100px);
}

.archive_page_list>article .content_area .ttl {
    font-weight: bold;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.archive_page_list>article .content_area .content {
    font-size: 80%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* wp-pagenavi base */
.wp-pagenavi {
    text-align: center;
    margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    color: #999;
    background-color: #FFF;
    border: solid 1px #e0e0d2;
    padding: 8px 15px;
    margin: 0 2px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
}

.wp-pagenavi a:hover {
    color: #FFF;
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.wp-pagenavi .current {
    color: #FFF;
    background-color: var(--main-color);
    border-color: var(--main-color);
    font-weight: bold;
}

@media (max-width: 750px) {

    .wrap,
    .wrap.mid,
    .wrap.lr {
        max-width: 92%;
    }

    .wrap.wide {
        width: 95%;
    }

    a[href $='.pdf']::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    a[href $='.pdf']:hover {
        text-decoration: underline;
    }

    body {
        font-size: 13px;
        min-width: unset;
    }

    /* 追従 */
    .common_follow .link {
        bottom: 3vw;
        right: 3vw;
        width: 30vw;
        height: 30vw;
        background: url(./image/illust_catalog_sp.png) center center / contain no-repeat;
        font-size: 3.5vw;
        padding-bottom: 4vw;
        transition: all .3s;
    }

    .common_follow .link .size {
        font-size: 1.1em;
    }

    .common_follow .link:hover {
        background: url(./image/illust_catalog_sp.png) center center / contain no-repeat;
    }

    /* 共通タイトル */
    .common_title_box .en {
        font-size: 3.8vw;
    }

    .common_title_box .title {
        font-size: 6.5vw;
    }

    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: transparent;
        z-index: 999;
        height: 55px;
    }

    #sp_header .logo {
        position: absolute;
        left: 10px;
        top: 10px;
        line-height: 0;
    }

    #sp_header .logo img {
        height: 40px;
    }

    /* SPメインビジュアル */
    .top_mv {
        padding-block: 20vw 10vw;
        z-index: 1001;
        height: 100%;
    }

    .top_mv .mv_img {
        width: 100%;
        height: 100%;
        bottom: unset;
        top: 0;
    }

    .top_mv .mv_img img {
        border-radius: 0 0 20px 20px;
        object-position: 50% 90%;
    }

    .top_mv .text_area {
        position: relative;
        text-align: right;
    }

    .top_mv .text_area .sub {
        font-size: 4.2vw;
    }

    .top_mv .text_area .catch {
        font-size: 6vw;
        line-height: 1.8;
        margin-top: .3em;
    }

    .top_mv .text_area .heading {
        font-size: 3.8vw;
    }

    .top_mv .text_area .sp_link {
        margin: 60vw auto 0;
        display: grid;
        place-content: center;
        background-color: #F0CA63;
        border-radius: 100vmax;
        border: 2px solid var(--point-color);
        font-size: 4.3vw;
        line-height: 1;
        letter-spacing: .05em;
        font-weight: 700;
        min-block-size: 15vw;
        width: 75vw;
        color: var(--point-color);
        box-shadow: 3px 3px 0 var(--point-color);
        position: relative;
    }

    .top_mv .text_area .sp_link::before {
        content: '';
        position: absolute;
        width: 8vw;
        aspect-ratio: 1;
        min-width: 0;
        right: 10px;
        top: 50%;
        translate: 0% -50%;
        background: url(./image/icon_arrow.svg) center center / contain no-repeat;
    }

    /* SP　ギャラリーセクション */
    .gallery_slider {
        padding-block: 30vw 35vw;
        position: relative;
    }

    .gallery_slider .en_img {
        position: absolute;
        top: 15vw;
        left: 50%;
        translate: -50% 0%;
        width: 90vw;
        height: auto;
    }

    .gallery_slider .en_img img {
        width: 100%;
    }

    .gallery_slider .js_gallery_slider {
        margin-top: -4vw;
    }

    .gallery_slider .js_gallery_slider .img.slick-slide {
        width: 70vw !important;
        height: 50vw;
        margin-right: 4vw;
    }

    .gallery_slider .js_gallery_slider .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 5px;
    }

    .gallery_slider .js_gallery_slider .img:nth-child(even) {
        margin-top: 4vw;
    }

    .gallery_slider .js_gallery_slider::before {
        bottom: -8vw;
        right: inherit;
        left: 4vw;
        width: 12vw;
    }

    .gallery_slider .js_gallery_slider::after {
        display: none;
    }

    .gallery_slider .js_gallery_slider .slick-dots {
        display: flex;
        justify-content: center;
        gap: 0 3vw;
        bottom: -12vw;
    }

    .gallery_slider .js_gallery_slider .slick-dots li,
    .gallery_slider .js_gallery_slider .slick-dots button {
        width: 2.5vw;
        height: 2.5vw;
        margin: 0;
        padding: 0;
        background-color: #EBE2CF;
        border-radius: 100%;
    }

    .gallery_slider .js_gallery_slider .slick-dots button::before {
        font-size: 0;
        font-family: none;
        width: 2.5vw;
        height: 2.5vw;
        border-radius: 100%;
    }

    .gallery_slider .js_gallery_slider .slick-dots li.slick-active button:before {
        background-color: var(--point-color);
    }


    /* SP　暮らしを体験 */
    .top_experience_sec {
        margin-bottom: 10vw;
    }

    .top_experience_sec::before {
        height: 100vw;
        bottom: -50vw;
    }

    .top_experience_sec .title_box::before {
        width: 85vw;
        height: 50vw;
    }

    .top_experience_sec .title_box .title {
        font-size: 4.2vw;
        padding-block: 12vw 5vw;
    }

    .top_experience_sec .title_box .title::before {
        width: 78%;
        height: 13vw;
        bottom: 0;
        left: 50%;
        translate: -50% 0%;
    }

    .top_experience_sec .title_box .title .size {
        font-size: 9vw;
    }

    .top_experience_sec .title_box .title .img {
        width: 18vw;
    }

    .top_experience_sec .title_box .text {
        margin-top: 3vw;
        font-size: 4vw;
    }

    .top_experience_sec .inner {
        border-radius: 10px;
        padding: 36vw 3vw 8vw;
        margin-top: -30vw;
    }

    .top_experience_sec .inner::before,
    .top_experience_sec .inner::after {
        width: 25vw;
    }

    .top_experience_sec .inner::before {
        top: -20vw;
        left: 2vw;
        rotate: -3deg;
        height: 28vw;
    }

    .top_experience_sec .inner::after {
        top: -20vw;
        right: 2vw;
        height: 26vw;
    }

    .top_experience_sec .iframe_box iframe {
        height: 70vw;
    }

    /* PC CTAセクション */
    .banner_sec .link {
        height: 100%;
    }

    .banner_sec .link:hover {
        transform: translateY(0px);
    }

    .banner_sec .link .banner {
        position: unset;
    }

    .banner_sec .link .banner.hover {
        display: none;
    }

    .banner_sec .link:hover .banner.hover {
        opacity: 0;
        visibility: hidden;
    }

    /* SP コンセプト */
    .top_concept_sec {
        margin-block: 20vw 65vw;
    }

    .top_concept_sec .bg {
        width: calc(100% - 2vw);
        height: 100%;
        border-radius: 0 20px 20px 0;
        margin-top: 15vw;
    }

    .top_concept_sec .bg::after {
        height: 90vw;
        background: url(./image/concept_bg.webp) center top / cover no-repeat;
    }

    .top_concept_sec .cont {
        padding-top: 0;
        flex-direction: column-reverse;
        gap: 7vw 0;
        padding-bottom: 10vw;
    }

    .top_concept_sec .cont .img {
        width: 100%;
    }

    .top_concept_sec .cont .img img {
        aspect-ratio: 3/2;
        object-position: 50% 70%;
    }

    .top_concept_sec .cont .catch {
        font-size: 5.8vw;
        line-height: 1.8;
    }

    .top_concept_sec .cont .catch .space {
        margin-left: 3vw;
    }

    .top_concept_sec .cont .catch::before {
        bottom: -7vw;
        left: -2vw;
        width: 30vw;
        height: 11vw;
    }

    .top_concept_sec .cont .text_box {
        margin-top: 10vw;
        width: 100%;
    }

    .top_concept_sec .cont .text_box .text {
        font-size: 3.8vw;
        line-height: 1.7;
    }

    .top_concept_sec .cont .text_box .text+.text {
        margin-top: 2em;
    }

    .top_concept_sec .img_box {
        bottom: -30vw;
        width: 50vw;
        height: 30vw;
    }

    .top_concept_sec .img_box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0 10px 10px 0;
    }

    /* SP こだわり */
    .top_commitment_sec {
        padding-block: 0 15vw;
    }

    .top_commitment_sec::before {
        left: -5vw;
        bottom: -5vw;
        width: 100%;
        height: 40vw;
    }

    .top_commitment_sec .bg {
        width: calc(100% - 3vw);
        height: 80%;
        border-radius: 20px 0 0 20px;
    }

    .top_commitment_sec .cont {
        display: flex;
        flex-wrap: wrap;
        gap: 6vw 3vw;
        position: relative;
    }

    .top_commitment_sec .cont .title_box {
        margin-top: -15vw;
    }

    .top_commitment_sec .cont .title_box .en {
        font-size: 3.6vw;
    }

    .top_commitment_sec .cont .title_box .title {
        font-size: 8vw;
        letter-spacing: .08em;
    }

    .top_commitment_sec .cont .item_box:nth-of-type(2) {
        order: -1;
    }

    .top_commitment_sec .cont .item_box {
        width: 70vw;
        margin-left: auto;
    }

    .top_commitment_sec .cont .item_box .heading_box {
        padding-top: 6vw;
    }

    .top_commitment_sec .cont .item_box .heading_box::before {
        height: 9vw;
    }

    .top_commitment_sec .cont .item_box .heading_box .heading {
        font-size: 4.2vw;
    }

    .top_commitment_sec .cont .item_box:nth-of-type(2) .heading_box .heading::before {
        bottom: -1vw;
        left: 63%;
        width: 22vw;
    }

    .top_commitment_sec .cont .item_box .heading_box .heading::before {
        width: 25vw;
        height: 4vw;
        bottom: -2.5vw;
    }

    .top_commitment_sec .cont .item_box .text_box {
        margin-top: 1.5em;
    }

    .top_commitment_sec .cont .item_box .text_box .text {
        font-size: 3.6vw;
    }

    /* SP おすすめ */
    .top_recommend_sec {
        padding-top: 25vw;
    }

    .top_recommend_sec .title_box .title {
        font-size: 7vw;
        padding-bottom: 6vw;
    }

    .top_recommend_sec .title_box .title .img {
        width: 38vw;
    }

    .top_recommend_sec .title_box .title::before {
        height: 3vw;
    }

    .top_recommend_sec .item_box {
        margin-top: 10vw;
    }

    .top_recommend_sec .item_box ul {
        grid-template-columns: repeat(1, 100%);
        gap: 8vw 0;
    }

    .top_recommend_sec .item_box ul li .icon {
        width: 80vw;
        margin-inline: auto;
    }

    .top_recommend_sec .item_box ul li .text_box {
        margin-top: 3vw;
    }

    .top_recommend_sec .item_box ul li .text_box .num {
        padding-right: 4vw;
        font-size: 3vw;
        text-align: right;
        line-height: 1.2;
    }

    .top_recommend_sec .item_box ul li .text_box .num .size {
        font-size: 6.5vw;
        margin-right: .1em;
    }

    .top_recommend_sec .item_box ul li .text_box .text {
        padding-left: 4vw;
        font-size: 4.2vw;
    }

    .top_recommend_sec .item_box ul li .text_box .text .color {
        font-size: 4.8vw;
    }

    .top_recommend_sec .item_box ul li:nth-child(1)::before,
    .top_recommend_sec .item_box ul li:nth-child(2)::before {
        width: 10vw;
    }

    .top_recommend_sec .item_box ul li:nth-child(1)::before {
        display: none;
    }

    .top_recommend_sec .item_box ul li:nth-child(2)::before {
        top: 40vw;
        left: 4vw;
    }

    /* SP　建売・注文住宅との違い */
    .top_difference_sec {
        padding-top: 35vw;
    }

    .top_difference_sec .common_title_box .title {
        font-size: 6.5vw;
    }

    .top_difference_sec .common_title_box::before {
        width: 50vw;
        height: 13vw;
        top: -22vw;
        right: unset;
        left: 50%;
        translate: -50% 0%;
        background: url(./image/deco_curve.svg) center center / contain no-repeat;
        rotate: -10deg;
    }

    .top_difference_sec .text_area {
        margin-top: 5vw;
    }

    .top_difference_sec .text_area .point_box {
        flex-direction: column;
        gap: 4vw 0;
    }

    .top_difference_sec .text_area .point_box .point {
        padding-bottom: 3vw;
    }

    .top_difference_sec .text_area .point_box .point:nth-child(2) {
        margin-left: auto;
        padding-inline: 3vw;
    }

    .top_difference_sec .text_area .point_box .point::before {
        height: 3vw;
        background: url(./image/deco_line2.png) center bottom / contain no-repeat;
    }

    .top_difference_sec .text_area .point_box .point .text {
        text-align: center;
        font-size: 3.8vw;
    }

    .top_difference_sec .text_area .point_box .point .text .size.dot {
        background-image: radial-gradient(circle at center, #382511 14%, transparent 13%);
        padding-top: .65em;
    }

    .top_difference_sec .catch_box {
        margin-top: 5vw;
    }

    .top_difference_sec .catch_box .catch {
        font-size: 5vw;
    }

    .top_difference_sec .catch_box .catch .num {
        font-size: 7.5vw;
    }

    .top_difference_sec .catch_box .catch .text {
        display: inline-block;
        margin-bottom: 3vw;
    }

    .top_difference_sec .catch_box .catch .size {
        background: linear-gradient(to top, var(--sub-color) 23%, transparent 23%);
        display: inline-block;
        font-size: 1.2em;
    }

    .top_difference_sec .table_area {
        margin-top: 10vw;
        padding-block: 3vw;
        margin-right: calc(50% - 50vw);
    }

    .top_difference_sec .table_area table {
        width: 165vw;
    }

    .top_difference_sec .table_area table::before {
        left: 34vw;
        width: 45vw;
        height: 101%;
        border-radius: 10px;
        border: 5px solid #E2AC1D;
    }

    .top_difference_sec .table_area table::after {
        height: 98.5%;
        right: 43vw;
    }

    .top_difference_sec .table_area table .head_group .head {
        border-radius: 10px 10px 0 0;
        width: 43vw;
        font-size: 5vw;
    }

    .top_difference_sec .table_area table .head_group .head.color {
        width: 45vw;
        font-size: 5.5vw;
    }

    .top_difference_sec .table_area table .item_group .label {
        font-size: 3.8vw;
        line-height: 1.3;
    }

    .top_difference_sec .table_area table .item_group td {
        padding: 1.5em .8em;
    }

    .top_difference_sec .table_area table .item_group tr:first-child .label {
        border-radius: 10px 0 0 0;
    }

    .top_difference_sec .table_area table .item_group tr:nth-child(5) .label {
        border-radius: 0 0 0 10px;
    }

    .top_difference_sec .table_area table .item_group tr:nth-child(5) td:nth-child(4) {
        border-radius: 0 0 10px 0;
    }

    .top_difference_sec .recommend_point {
        margin-top: 8vw;
    }

    .top_difference_sec .recommend_point::before,
    .top_difference_sec .recommend_point::after {
        width: 8vw;
        height: 12vw;
    }

    .top_difference_sec .recommend_point::before {
        left: 4vw;
    }

    .top_difference_sec .recommend_point::after {
        right: 4vw;
    }

    .top_difference_sec .recommend_point .text {
        font-size: 4.5vw;
    }

    .top_difference_sec .recommend_point .text .line {
        font-size: 6.5vw;
        background: linear-gradient(to top, var(--sub-color) 22%, transparent 22%);
    }

    .top_difference_sec .recommend_point .text .icon {
        width: 35vw;
    }

    /* SP　3つのプラン */
    .top_plan_sec {
        margin-block: 35vw 37vw;
    }

    .top_plan_sec .bg {
        background: url(./image/plan_bg1_sp.jpg) center top / cover no-repeat;
        padding-block: 15vw;
        overflow: hidden;
    }

    .top_plan_sec::before {
        top: -14px;
        height: 12.6vw;
        background: url(./image/plan_bg2_sp.png) center top / cover no-repeat;
    }

    .top_plan_sec::after {
        height: 12vw;
        background: url(./image/plan_bg3_sp.png) center bottom / cover no-repeat;
    }

    .top_plan_sec .title_box {
        margin: 0 auto -12vw;
    }

    .top_plan_sec .title_box::before {
        top: -13vw;
        right: 1vw;
        width: 12vw;
        height: 13vw;
    }

    .top_plan_sec .title_box .title .small {
        font-size: 4.8vw;
        margin-right: 14vw;
        line-height: 0;
    }

    .top_plan_sec .title_box .title .size {
        font-size: 10vw;
    }

    .top_plan_sec .title_box .title .size .num {
        font-size: 33vw;
    }

    .top_plan_sec .title_box .title .svg {
        width: 38vw;
    }

    .top_plan_sec .cont {
        margin-top: 10vw;
    }

    .top_plan_sec .cont .item {
        display: grid;
        grid-template-columns: repeat(1, 100%);
        gap: 5vw 0;
    }

    .top_plan_sec .cont .item+.item {
        margin-top: 10vw;
    }

    .top_plan_sec .cont .item:nth-child(even) {
        display: grid;
    }

    .top_plan_sec .cont .item .plan_slider {
        width: 100%;
    }

    .top_plan_sec .cont .item .plan_slider .img img {
        border-radius: 10px;
    }

    .top_plan_sec .cont .item .text_area {
        display: contents;
    }

    .top_plan_sec .cont .item .catch_box {
        order: -1;
    }

    .top_plan_sec .cont .item .catch_box .label {
        font-size: 3.6vw;
        padding: .3em .95em .5em;
    }

    .top_plan_sec .cont .item .catch_box .catch {
        font-size: 5.3vw;
        margin-top: 2vw;
    }

    .top_plan_sec .cont .item .catch_box .catch .line {
        background: linear-gradient(to top, var(--sub-color) 22%, transparent 22%);
    }

    .top_plan_sec .cont .item .price_box {
        margin-top: 0;
    }

    .top_plan_sec .cont .item .price_box .price {
        font-size: 3.8vw;
    }

    .top_plan_sec .cont .item .price_box .price .num {
        font-size: 10vw;
    }

    .top_plan_sec .cont .item .price_box .price::before {
        width: 40vw;
    }

    .top_plan_sec .cont .item .price_box .tax {
        font-size: 3.5vw;
    }

    .top_plan_sec .cont .comment_box {
        margin-top: 0;
        padding: 7vw 5vw 6vw;
    }

    .top_plan_sec .cont .item:nth-child(1) .comment_box::before {
        right: -4vw;
        width: 15vw;
        height: 11vw;
    }

    .top_plan_sec .cont .item:nth-child(2) .comment_box::before {
        bottom: -5vw;
        left: -4vw;
        width: 16vw;
        height: 20vw;
    }

    .top_plan_sec .cont .item:nth-child(3) .comment_box::before {
        bottom: -1vw;
        right: -4vw;
        width: 18vw;
        height: 14vw;
    }

    .top_plan_sec .cont .comment_box .comment {
        font-size: 3.6vw;
        position: relative;
        z-index: 1;
    }

    .top_plan_sec .plan_slider .thumbnail .slick-track {
        margin-top: 2vw;
    }

    .top_plan_sec .plan_slider .thumbnail .thum_img {
        width: 17vw !important;
        margin-left: 2vw;
    }

    .top_plan_sec .plan_slider .thumbnail .thum_img img {
        border-radius: 5px;
    }

    .top_plan_sec .plan_slider .slick_prev,
    .top_plan_sec .plan_slider .slick_next {
        top: -38vw;
        width: 40px;
    }

    .top_plan_sec .plan_slider .slick_prev {
        left: -3vw;
    }

    .top_plan_sec .plan_slider .slick_next {
        right: -3vw;
    }

    /* SP カラーバリエーション */
    .top_variation_sec {
        padding-top: 3vw;
    }

    .top_variation_sec .cont::before {
        display: none;
    }

    .top_variation_sec .type_item .image_box {
        width: 100%;
        text-align: center;
    }

    .top_variation_sec .type_item .image_box .catch {
        font-size: 5.8vw;
        margin-inline: auto;
        writing-mode: horizontal-tb;
        display: inline-block;
        text-align: center;
        margin-bottom: 5vw;
        padding: .5em .5em;
    }

    .top_variation_sec .type_item .image_box .catch:nth-child(1) {
        position: unset;
    }

    .top_variation_sec .type_item .image_box .catch:nth-child(2) {
        position: unset;
    }

    .top_variation_sec .type_item .image_box .slider_area {
        width: 100%;
    }

    .top_variation_sec .type_item .image_box .main_img .img img {
        width: 95%;
        height: 55vw;
        margin-inline: auto;
        border-radius: 10px;
    }

    .top_variation_sec .type_item .color_item {
        padding: 44vw 5vw 15vw;
        margin-top: -22vw;
        width: 95vw;
        margin-inline: auto;
    }

    .top_variation_sec .type_item .color_item::before {
        width: 65vw;
        height: 10vw;
        right: 0;
    }

    .top_variation_sec .type_item .color_item .head {
        font-size: 4.8vw;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
    }

    .top_variation_sec .type_item .color_item .head::before,
    .top_variation_sec .type_item .color_item .head::after {
        width: 13vw;
        background: url(./image/line_dashed.svg) center center / cover no-repeat;
    }

    .top_variation_sec .type_item .color_item .list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 3vw;
        margin-top: 1.5em;
    }

    .top_variation_sec .type_item .color_item .list .item .color {
        width: 10vw;
    }

    .top_variation_sec .type_item .color_item .list .item.is_active .color::before {
        width: 9vw;
    }

    .top_variation_sec .type_item .color_item .list .item .name {
        font-size: 3.3vw;
    }

    .top_variation_sec .type_item .color_pager {
        width: 70vw;
        font-size: 5vw;
        bottom: -4vw;
        translate: -50% 100%;
    }

    .top_variation_sec .js_type_slider .slick_prev,
    .top_variation_sec .js_type_slider .slick_next {
        width: 7vw;
        bottom: -13vw;
    }

    .top_variation_sec .js_type_slider .slick_prev {
        left: 15%;
    }

    .top_variation_sec .js_type_slider .slick_next {
        right: 15%;
    }

    .top_variation_sec .nuck_cont {
        margin-top: 20vw;
    }

    .top_variation_sec .nuck_cont .catch_box {
        display: block;
        margin-inline: 0;
        position: relative;
    }

    .top_variation_sec .nuck_cont .catch_box::before,
    .top_variation_sec .nuck_cont .catch_box::after {
        width: 7vw;
        height: 16vw;
        position: absolute;
        bottom: 0;
        left: 10vw;
    }

    .top_variation_sec .nuck_cont .catch_box::after {
        right: 10vw;
        left: unset;
    }

    .top_variation_sec .nuck_cont .catch_box .catch {
        font-size: 6vw;
        text-align: center;
    }

    .top_variation_sec .nuck_cont .catch_box .catch .line {
        background: linear-gradient(to top, var(--sub-color) 22%, transparent 22%);
        display: inline-block;
    }

    .top_variation_sec .nuck_cont .catch_box .catch .svg {
        width: 45vw;
        margin-top: 7vw;
    }

    .top_variation_sec .nuck_cont .item_box {
        grid-template-columns: repeat(1, 100%);
        gap: 6vw 0;
        margin-top: 6vw;
    }

    .top_variation_sec .nuck_cont .item_box .main_img {
        height: 60vw;
    }

    .top_variation_sec .nuck_cont .item_box .main_img img {
        border-radius: 10px;
    }

    .top_variation_sec .nuck_cont .item_box .main_img .point_box {
        top: 2vw;
        left: -2vw;
    }

    .top_variation_sec .nuck_cont .item_box .main_img .point_box .point {
        font-size: 4.5vw;
        display: block;
        width: fit-content;
    }

    .top_variation_sec .nuck_cont .item_box .main_img .point_box .point+.point {
        margin-top: .3em;
    }

    .top_variation_sec .nuck_cont .item_box .title_box::before {
        display: none;
    }

    .top_variation_sec .nuck_cont .item_box .title_box .title .dots {
        background-image: radial-gradient(circle at center, #382511 20%, transparent 22%);
        background-position: top right;
        background-repeat: repeat-x;
        background-size: 1em .6em;
        padding-top: .25em;
    }

    .top_variation_sec .nuck_cont .item_box .title_box .title::after {
        width: 25vw;
    }

    .top_variation_sec .nuck_cont .item_box .title_box .title .color {
        font-size: 5vw;
    }

    .top_variation_sec .nuck_cont .item_box .text_box {
        margin-top: 2vw;
    }

    .top_variation_sec .nuck_cont .item_box .text_box .text {
        font-size: 3.6vw;
        line-height: 1.8;
    }

    .top_variation_sec .nuck_cont .item_box .nuck_slider {
        margin-top: 4vw;
    }

    .top_variation_sec .nuck_cont .item_box .nuck_slider .slider {
        gap: 0 5vw;
        align-items: flex-start;
    }

    .top_variation_sec .nuck_cont .item_box .nuck_slider .slider .illust {
        width: 35vw;
    }

    .top_variation_sec .nuck_cont .item_box .nuck_slider .slider .svg {
        width: 38vw;
        margin-top: 6vw;
    }

    .top_variation_sec .nuck_cont .item_box .nuck_slider .slider:nth-child(2) .svg {
        margin-top: 3vw;
        width: 35vw;
    }

    .top_variation_sec .nuck_cont .item_box .nuck_slider .slider:nth-child(3) .svg {
        margin-top: 3vw;
        width: 30vw;
    }

    .top_variation_sec .nuck_cont .item_box .nuck_slider .slider .svg img {
        width: 100%;
    }

    .top_variation_sec .nuck_cont .nuck_slider .slick_prev,
    .top_variation_sec .nuck_cont .nuck_slider .slick_next {
        top: 10vw;
        width: 8vw;
    }

    .top_variation_sec .nuck_cont .nuck_slider .slick_prev {
        left: -3vw;
    }

    .top_variation_sec .nuck_cont .nuck_slider .slick_next {
        right: -3vw;
    }

    .top_variation_sec .nuck_cont .nuck_slider .slick-dots {
        gap: 0 3vw;
        bottom: -4vw;
    }

    .top_variation_sec .nuck_cont .nuck_slider .slick-dots li,
    .top_variation_sec .nuck_cont .nuck_slider .slick-dots button {
        width: 2.5vw;
        height: 2.5vw;
    }

    .top_variation_sec .nuck_cont .nuck_slider .slick-dots button::before {
        width: 2.5vw;
        height: 2.5vw;
    }

    /* SP　5つの特徴 */
    .top_features_sec {
        margin-block: 20vw;
    }

    .top_features_sec::before,
    .top_features_sec::after {
        height: 11vw;
    }

    .top_features_sec::before {
        top: -40px;
    }

    .top_features_sec::after {
        bottom: -40px;
    }

    .top_features_sec .cont {
        flex-direction: column;
        align-items: flex-start;
        gap: 6vw 0;
        padding-block: 18vw 10vw;
    }

    .top_features_sec .cont .item {
        width: 100%;
    }

    .top_features_sec .cont .item .title {
        margin-top: 0;
    }

    .top_features_sec .cont .item .title::before {
        right: 36vw;
        width: 40vw;
        height: 6vw;
        bottom: -2vw;
    }

    .top_features_sec .cont .item .title::after {
        width: 25vw;
        height: 28vw;
        bottom: -7vw;
        left: unset;
        right: 0;
        translate: 0% 0%;
    }

    .top_features_sec .cont .item .title .small {
        font-size: 4.2vw;
        margin-left: 24vw;
        line-height: 0;
    }

    .top_features_sec .cont .item .title .size {
        font-size: 9vw;
        margin-top: -8vw;
    }

    .top_features_sec .cont .item .title .size .color {
        font-size: 26vw;
    }

    .top_features_sec .cont .item:nth-child(3),
    .top_features_sec .cont .item:nth-child(5) {
        margin-top: 0;
    }

    .top_features_sec .cont .item:nth-child(6) {
        margin-top: 0;
    }

    .top_features_sec .cont .item .features_slider .en {
        top: -4vw;
        left: 2vw;
        font-size: 3.5vw;
    }

    .top_features_sec .cont .item .img {
        height: 58vw;
    }

    .top_features_sec .cont .item .text_box {
        margin-top: 4vw;
    }

    .top_features_sec .cont .item .text_box .head {
        font-size: 5.2vw;
        text-align: center;
    }

    .top_features_sec .cont .item:nth-child(2) .text_box .head::before,
    .top_features_sec .cont .item:nth-child(3) .text_box .head::before {
        bottom: -1vw;
        right: -2vw;
        width: 20vw;
        height: 4vw;
    }

    .top_features_sec .cont .item:nth-child(3) .text_box .head::before {
        right: 0;
        bottom: -2vw;
    }

    .top_features_sec .cont .item:nth-child(4) .text_box .head::before {
        width: 33vw;
        height: 3vw;
        bottom: -2vw;
    }

    .top_features_sec .cont .item:nth-child(5) .text_box .head::before {
        width: 48vw;
        height: 4vw;
        top: 4vw;
    }

    .top_features_sec .cont .item:nth-child(6) .text_box .head::before {
        width: 45vw;
        height: 4vw;
        bottom: -3vw;
    }

    .top_features_sec .cont .item .text_box .text {
        margin-top: 3vw;
        font-size: 3.8vw;
    }

    .js_features_slider ul.slick-dots {
        gap: 0 3vw;
        bottom: -1.5vw;
    }

    .js_features_slider ul.slick-dots li,
    .js_features_slider ul.slick-dots li button {
        width: 2.5vw;
        height: 2.5vw;
    }

    .js_features_slider ul.slick-dots li button:before {
        width: 2.5vw;
        height: 2.5vw;
    }

    /* SP　COCOCIの家づくりのSTEP */
    .top_step_sec {
        padding-top: 0;
    }

    .top_step_sec::before {
        top: 0;
        width: 90vw;
        height: 100vw;
        background: url(./image/step_bg.png) center top / cover no-repeat;
    }

    .top_step_sec::after {
        left: unset;
        right: 3vw;
        top: 13vw;
        width: 20vw;
        height: 18vw;
    }

    .top_step_sec .cont {
        flex-direction: column;
        gap: 8vw 0;
    }

    .top_step_sec .cont .title_box {
        margin-top: 10vw;
    }

    .top_step_sec .cont .title_box .title {
        font-size: 5.8vw;
        line-height: 1.4;
    }

    .top_step_sec .cont .title_box .title .line {
        font-size: 7.8vw;
    }

    .top_step_sec .cont .title_box .en {
        bottom: -6vw;
        right: 12vw;
        width: 30vw;
    }

    .top_step_sec .cont .step_list {
        width: 100%;
    }

    .top_step_sec .cont .step_list::before {
        border-right: 2px solid var(--point-color);
    }

    .top_step_sec .cont .step_list ul li {
        padding: 8vw 5vw;
    }

    .top_step_sec .cont .step_list ul li+li {
        margin-top: 10vw;
    }

    .top_step_sec .cont .step_list ul li:nth-child(even) .fukidashi {
        left: 19px;
        rotate: -3deg;
        transform: translateY(-55%);
    }

    .top_step_sec .cont .step_list ul li:nth-child(1),
    .top_step_sec .cont .step_list ul li:nth-child(2),
    .top_step_sec .cont .step_list ul li:nth-child(3) {
        gap: 0 3vw;
        justify-content: space-between;
    }

    .top_step_sec .cont .step_list ul li:nth-child(2) {
        justify-content: space-between;
    }

    .top_step_sec .cont .step_list ul li .text_box .en {
        font-size: 3.5vw;
        margin-bottom: .4em;
    }

    .top_step_sec .cont .step_list ul li .text_box .text {
        font-size: 4vw;
    }

    .top_step_sec .cont .step_list ul li .icon {
        width: 35vw;
    }

    .top_step_sec .cont .step_list ul li:nth-child(1) .icon,
    .top_step_sec .cont .step_list ul li:nth-child(2) .icon,
    .top_step_sec .cont .step_list ul li:nth-child(3) .icon {
        margin: 0;
    }

    /* SP　よくある質問 */
    .top_faq_sec {
        padding-block: 40vw 20vw;
    }

    .top_faq_sec .common_title_box::before {
        right: 0%;
        top: -28vw;
        translate: 30% 0%;
        width: 30vw;
        min-width: 0;
    }

    .top_faq_sec .cont_faq {
        margin: 6vw auto 0;
        width: 100%;
    }

    .top_faq_sec .cont_faq dl {
        padding: 5vw 8vw 5vw 4vw;
    }

    .top_faq_sec .cont_faq dl::before {
        width: 10vw;
    }

    .top_faq_sec .cont_faq dl::after {
        right: 4vw;
        top: 8vw;
        width: 2vw;
    }

    .top_faq_sec .cont_faq dl dt,
    .top_faq_sec .cont_faq dl dd {
        gap: 0 4vw;
    }

    .top_faq_sec .cont_faq dl .en {
        font-size: 5.5vw;
    }

    .top_faq_sec .cont_faq dl dd {
        margin-top: 5vw;
    }

    .top_faq_sec .cont_faq dl .item {
        font-size: 4vw;
        line-height: 1.3;
    }

    .top_faq_sec .cont_faq dl .text {
        font-size: 3.6vw;
    }

    /* SP 資料請求フォーム */
    .top_form_sec {
        background: url(./image/wave_bg_sp.png) center top / cover no-repeat;
        padding-block: 15vw 105vw;
    }

    .top_form_sec .common_title_box {
        padding-top: 10vw;
    }

    .top_form_sec .common_title_box::before {
        top: 0;
        width: 80vw;
        height: 50vw;
    }

    .top_form_sec .common_title_box::after {
        width: 10vw;
        top: -3vw;
    }

    .top_form_sec .head_box {
        margin-block: 2vw 5vw;
    }

    .top_form_sec .head_box .text {
        font-size: 3.6vw;
    }

    .top_form_sec .page_contact {
        border-radius: 10px;
        padding: 30vw 5vw 10vw;
        margin-top: -30vw;
    }

    .top_form_sec .common_contact_form .form_box {
        margin-block: 0 8vw;
    }

    .top_form_sec .common_contact_form .form_box dl {
        gap: 2vw 0;
        grid-template-columns: repeat(1, 100%);
        justify-content: flex-start;
    }

    .top_form_sec .common_contact_form .form_box dl+dl {
        margin-top: 8vw;
    }

    .top_form_sec .common_contact_form .form_box dl dt .label.hissu {
        font-size: 3.3vw;
    }

    .top_form_sec .common_contact_form .form_box dl dt {
        gap: 0 2vw;
        justify-content: flex-start;
        flex-direction: row;
    }

    .top_form_sec .page_contact #btn_wrap button {
        width: 70vw;
        font-size: 3.8vw;
    }

    .top_form_sec .page_contact .privacy_term_outer {
        width: 100%;
        margin: 8vw auto 0;
        padding: 6vw 3vw 6vw 5vw;
    }

    .top_form_sec .page_contact .progressbar {
        gap: 5vw;
    }

    .top_form_sec .page_contact .progressbar .item {
        width: 20vw;
        font-size: 4vw;
        flex-shrink: 0;
    }

    .top_form_sec .page_contact .progressbar .item .en {
        font-size: 3vw;
    }

    .top_form_sec .page_contact .progressbar .item+.item::before {
        width: 8vw;
    }


    /* SP　フッター */
    .footer_line_sec {
        margin-top: -140vw;
    }

    .footer_line_sec .bg {
        width: calc(100% - 3vw);
        border-radius: 20px 0 0 20px;
    }

    .footer_line_sec .bg::before {
        width: 103vw;
        height: 99vw;
        translate: -50% -50%;
        top: 13vw;
    }

    .footer_line_sec .cont {
        flex-direction: column-reverse;
        gap: 3vw 0;
        padding: 5vw 3vw 12vw;
    }

    .footer_line_sec .cont .img {
        width: 100%;
        margin: -15vw 0 0 0;
    }

    .footer_line_sec .cont .inner .title {
        font-size: 6.5vw;
    }

    .footer_line_sec .cont .inner .text_box {
        margin-top: 4vw;
    }

    .footer_line_sec .cont .inner .text_box .text {
        font-size: 3.8vw;
    }

    .footer_line_sec .cont .line {
        margin-top: 6vw;
        width: 80vw;
        font-size: 4.2vw;
        min-block-size: 15vw;
    }

    .footer_line_sec .cont .line:hover {
        background-color: #03C755;
    }

    .footer_line_sec .cont .line::before,
    .footer_line_sec .cont .line::after {
        width: 7.8vw;
    }

    .footer_line_sec .cont .line::before {
        margin-right: 3vw;
    }

    .footer_line_sec .cont .line::after {
        margin-left: 5vw;
    }

    .main_footer {
        padding-block: 70vw 10vw;
    }

    .main_footer .cont {
        grid-template-columns: repeat(1, 100%);
        gap: 0;
    }

    .main_footer .cont .logo .link {
        width: 80vw;
        margin-inline: auto;
    }

    .main_footer .cont .logo .link:hover {
        opacity: 1;
    }

    .main_footer .cont .item_box ul {
        grid-template-columns: repeat(1, 80vw);
        gap: 5vw 0;
        margin-top: 5vw;
        justify-content: center;
    }

    .main_footer .cont .item_box ul li .map iframe {
        height: 45vw;
    }

    .main_footer .cont .item_box ul li .text_box {
        margin-top: 2vw;
    }

    .main_footer .cont .item_box ul li .text_box .name {
        justify-content: center;
        gap: 0;
        font-size: 4vw;
    }

    .main_footer .cont .item_box ul li .text_box .name::before {
        display: none;
    }

    .main_footer .cont .item_box ul li .text_box .address {
        font-size: 3.6vw;
        text-align: center;
    }

    .main_footer .ft_bottom {
        margin-top: 10vw;
        flex-direction: column-reverse;
        justify-content: center;
        gap: 10vw 0;
    }

    .main_footer .ft_bottom .copy {
        font-size: 3vw;
        text-align: center;
    }

    .main_footer .ft_bottom .sns_box {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5vw 0;
    }

    .main_footer .ft_bottom .sns_box .follow {
        width: 20vw;
    }

    .main_footer .ft_bottom .sns_box .list ul {
        grid-template-columns: 8vw 8vw 8vw;
        gap: 0 5vw;
    }



    /* SP固定ページ 共通設定 */
    .common_page_main {
        padding-block: 20vw;
    }

    .common_page_main .title_box .title {
        font-size: 5.6vw;
    }

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 3vw;
    }

    /* SP固定ページ お問い合わせ */
    .contact_form_disc {
        margin-block: 0 2em;
    }

    .contact_form_disc .text {
        font-size: 3.6vw;
        margin-block: 0 0.8em;
    }

    .contact_form_disc .caution {
        font-size: 3.1vw;
        letter-spacing: .06em;
    }

    .common_contact_form .form_box {
        margin-block: 0 10vw;
    }

    .common_contact_form .form_box dl {
        grid-template-columns: 1fr;
        gap: 0.6em;
    }

    .common_contact_form .form_box dl+dl {
        margin-block: 1.3em 0;
    }

    .common_contact_form .form_box dl dt {
        flex-direction: row-reverse;
        justify-content: space-between;
        font-size: 4.1vw;
        padding-inline: 0;
    }

    .common_contact_form .form_box dl dt .label {
        font-size: 3.1vw;
    }

    .common_contact_form .form_box dl dt::after {
        content: none;
    }

    .common_contact_form input[type="text"],
    .common_contact_form input[type="email"],
    .common_contact_form #zip {
        font-size: 3.6vw;
    }

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
    }

    .common_contact_form textarea {
        height: 33vw;
        font-size: 3.6vw;
    }

    .radio_btns,
    .checkboxes {
        gap: 0.5em 2.5em;
    }

    .page_contact #btn_wrap button {
        width: 83%;
        line-height: 15.5vw;
        font-size: 4.6vw;
    }

    .page_contact #btn_wrap button[name="submitBack"] {
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .page_contact #btn_wrap {
        width: 100%;
        text-align: center;
    }

    .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    }

    .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0;
    }

    .privacy_term_outer .privacy_term_inner .head {
        font-size: 3.6vw;
    }

    .privacy_term_outer .privacy_term_inner .head::before {
        width: 10vw;
    }

    .privacy_term_outer .privacy_term_inner .privacy_index {
        font-size: 3.3vw;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.3vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner ol {
        padding-left: 4vw;
    }

    .privacy_term_outer .privacy_term_inner ol li .list {
        margin-top: .4em;
    }

    .privacy_term_outer .privacy_term_inner ol li .list .sub {
        margin-left: -1.5vw;
    }

    .privacy_term_outer .privacy_term_inner ol li .list .text {
        margin-left: 7vw;
    }


    .privacy_term_detail::after {
        width: 2.5vw;
        margin: 1.5vw auto 0;
    }

    /* サンクスページ */
    .page_contact .thanks_textArea .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .page_contact .thanks_textArea .contact_text {
        font-size: 3.5vw;
        margin-bottom: 2em;
        width: 100%;
    }

    .page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    .page_contact .progressbar {
        gap: 4.5em;
        margin-block: 0 2.5em;
    }

    .page_contact .progressbar .item {
        font-size: 3.1vw;
    }

    .page_contact .progressbar .item+.item::before {
        width: 5.7vw;
        top: 63%;
        left: -3.3em;
    }

    .page_contact .progressbar .item .mark {
        width: 7.7vw;
        margin: 0 auto 0.4em;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP投稿ページ アーカイブページ */
    .archive_page_list>article {
        padding-right: 20px;
    }

    .archive_page_list>article .date {
        width: 80px;
    }

    .archive_page_list>article .content_area {
        width: calc(100% - 80px);
    }

    .archive_page_list>article:after {
        width: 7px;
        height: 7px;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }
}