@charset "UTF-8";

@font-face {
    font-display: swap;
    font-family: "DIN2014";
    font-style: normal;
    font-weight: 400;
    src: url("./font/DIN2014_Regular.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-family: "DIN2014";
    font-style: normal;
    font-weight: 500;
    src: url("./font/DIN2014_Demi.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-family: "DIN2014";
    font-style: normal;
    font-weight: 700;
    src: url("./font/DIN2014_Bold.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-family: "DIN2014";
    font-style: normal;
    font-weight: 900;
    src: url("./font/DIN2014_Extra-Bold.woff") format("woff");
}

/*　twentytwentyone子テーマの設定

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: #fff;
}

html,
button,
input,
select,
textarea {
    /* 不要な指定は消す */
    font-family: "Noto Sans JP", sans-serif;
}

body {
    color: #1A1A1A;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 1.67;
    min-width: 1440px;
}

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

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

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

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

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

.common_page_wrap {
    background: #FFFFFF;
    padding: 80px 0 210px;
}

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

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

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

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

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

.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 {
    align-items: center;
    display: grid;
    gap: 80px;
    grid-template-columns: 26.5% 1fr;
}

.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 {
    align-items: center;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    gap: 1.3em;
    letter-spacing: 0.08em;
    padding-inline: 0 0.5em;
    position: relative;
}

.common_contact_form .form_box dl dt .label {
    border-radius: 100vmax;
    color: #3E3E3E;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    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 {
    background: #AAA;
    content: "";
    height: 30px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
}

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

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

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

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

.common_contact_form select,
.common_contact_form .hasDatepicker[type=text],
.common_contact_form [type=number] {
    background: #FFFFFF;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: 0.08em;
    padding: 1em 1em;
    width: 47.5%;
}

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

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

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

.page_contact #btn_wrap button[name=submitBack] {
    background: #333;
    margin-top: 20px;
}

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

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

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

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 13px;
    margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
    border-left: solid 3px #ccc;
    font-size: 13px;
    margin-bottom: 5px;
    padding-left: 1em;
}

.privacy_term_outer .privacy_term_inner dl dd {
    font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 30px;
}

.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: #333;
    border-radius: 10px;
}

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

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

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

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

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

.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: 0.5em 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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;
    margin-bottom: 20px;
    text-align: center;
}

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

.page_contact .thanks_textArea .ichiran_link {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #195831;
    border: none;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 20px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 50px;
    margin: 0 auto;
    outline: none;
    padding: 0;
    text-align: center;
    text-decoration: none;
    transition: 0.3s;
    width: 300px;
}

.page_contact .thanks_textArea .ichiran_link:hover {
    opacity: 0.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 {
    align-items: center;
    display: flex;
    gap: 5.6em;
    justify-content: center;
    margin-block: 0 3em;
}

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

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

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

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

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

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

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

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

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

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

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

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

.l-content {
    padding-top: 130px;
}

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

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

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

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

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

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

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

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

.wp-pagenavi a:hover {
    background: #195831;
    border-color: #195831;
    color: #FFF;
}

.wp-pagenavi .current {
    background: #195831;
    border-color: #195831;
    color: #FFF;
    font-weight: bold;
}

a {
    color: inherit;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
    pointer-events: none;
}

.sp {
    display: none;
}

.common_btn01 {
    background: #195831;
    display: inline-block;
    padding: 14px 8px 14px 42.4px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: min(100%, 190px);
}

.common_btn01::before {
    background: #0C331B;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 5px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn01_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 5px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 32px);
}

.common_btn01_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn01_text {
    align-items: center;
    display: flex;
    font-size: 14px;
    font-weight: 900;
    gap: 2px;
    letter-spacing: 0.05em;
    line-height: 1.43;
}

.common_btn01_text_gold {
    flex-shrink: 0;
    width: 39.28px;
}

.common_btn01_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 39.28/13.33;
    height: auto;
    margin-bottom: 2px;
    object-fit: contain;
}

.common_btn01_text_white {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.43;
}

.common_btn02 {
    background: #00A343;
    display: inline-block;
    padding: 14px 8px 14px 53.4px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: min(100%, 190px);
}

.common_btn02::before {
    background: #008637;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 5px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn02_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 8px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 32px);
}

.common_btn02_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn02_text {
    align-items: center;
    display: flex;
    font-size: 14px;
    font-weight: 900;
    gap: 2px;
    letter-spacing: 0.05em;
    line-height: 1.43;
}

.common_btn02_text_gold {
    flex-shrink: 0;
    width: 39.28px;
}

.common_btn02_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 39.28/13.33;
    height: auto;
    margin-bottom: 2px;
    object-fit: contain;
}

.common_btn02_text_white {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.43;
}

.common_btn03 {
    background: #C45A00;
    display: inline-block;
    padding: 14px 8px 14px 49.3px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: min(100%, 190px);
}

.common_btn03::before {
    background: #813C00;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 5px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn03_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 8px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 32px);
}

.common_btn03_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn03_text {
    align-items: center;
    display: flex;
    font-size: 14px;
    font-weight: 900;
    gap: 3px;
    letter-spacing: 0.05em;
    line-height: 1.43;
}

.common_btn03_text_gold {
    flex-shrink: 0;
    width: 39.28px;
}

.common_btn03_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 39.28/13.33;
    height: auto;
    margin-bottom: 2px;
    object-fit: contain;
}

.common_btn03_text_white {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.43;
}

.common_btn04 {
    background: #C45A00;
    display: inline-block;
    padding: 23px 8px 23px 83px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: min(100%, 370px);
}

.common_btn04::before {
    background: #813C00;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 8px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn04::after {
    aspect-ratio: 1/2;
    background: url(./image/icon_right_white01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
}

.common_btn04_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 15px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 44.7px);
}

.common_btn04_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn04_text {
    align-items: center;
    display: flex;
    gap: 8.9px;
}

.common_btn04_text_gold {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    width: 56.12px;
}

.common_btn04_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 56.12/19.04;
    height: auto;
    margin-top: 2px;
    object-fit: contain;
    width: 100%;
}

.common_btn04_text_white {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.common_btn05 {
    background: #195831;
    display: inline-block;
    padding: 23px 8px 23px 71px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: min(100%, 370px);
}

.common_btn05::before {
    background: #0C331B;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 8px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn05::after {
    aspect-ratio: 1/2;
    background: url(./image/icon_right_white01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
}

.common_btn05_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 44.7px);
}

.common_btn05_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn05_text {
    align-items: center;
    display: flex;
    gap: 7px;
}

.common_btn05_text_gold {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    width: 56.12px;
}

.common_btn05_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 56.12/19.04;
    height: auto;
    margin-top: 2px;
    object-fit: contain;
    width: 100%;
}

.common_btn05_text_white {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.common_btn06 {
    background: #195831;
    border: 2px solid #195831;
    color: #FFFFFF;
    display: inline-block;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 24.5px 21px;
    position: relative;
    transition: 0.3s ease;
    width: min(100%, 360px);
}

.common_btn06::after {
    -webkit-mask-image: url("./image/icon_right_white01.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    aspect-ratio: 1/2;
    background: #FFFFFF;
    content: "";
    height: auto;
    mask-image: url("./image/icon_right_white01.png");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
}

.common_btn07 {
    background: #195831;
    border: 2px solid #195831;
    display: inline-block;
    padding: 22.5px 10px;
    position: relative;
    transition: 0.3s ease;
    width: min(100%, 270px);
}

.common_btn07::after {
    -webkit-mask-image: url("./image/icon_right_white01.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    aspect-ratio: 1/2;
    background: #FFFFFF;
    content: "";
    height: auto;
    mask-image: url("./image/icon_right_white01.png");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
}

.common_btn07_text {
    color: #FFFFFF;
    display: block;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    padding-right: 6px;
    text-align: center;
    transition: 0.3s ease;
}

.common_btn08 {
    background: #195831;
    border: 2px solid #195831;
    display: inline-block;
    padding: 13px 10px;
    position: relative;
    transition: 0.3s ease;
    width: min(100%, 180px);
}

.common_btn08::after {
    -webkit-mask-image: url("./image/icon_right_white01.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    aspect-ratio: 1/2;
    background: #FFFFFF;
    content: "";
    height: auto;
    mask-image: url("./image/icon_right_white01.png");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
}

.common_btn08_text {
    color: #FFFFFF;
    display: block;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    padding-right: 8px;
    text-align: center;
    transition: 0.3s ease;
}

.common_btn09 {
    display: block;
    width: min(100%, 350px);
}

.common_btn09_decotext {
    display: block;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin-inline: auto;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.common_btn09_decotext::before,
.common_btn09_decotext::after {
    aspect-ratio: 2/18;
    background: #000000;
    bottom: 3px;
    content: "";
    content: "";
    position: absolute;
    width: 2px;
}

.common_btn09_decotext::before {
    left: -15px;
    rotate: -30deg;
}

.common_btn09_decotext::after {
    right: -15px;
    rotate: 30deg;
}

.common_btn09_link {
    background: #C45A00;
    display: block;
    margin-top: 6px;
    padding: 20.5px 8px 20.5px 108.9px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: 100%;
}

.common_btn09_link::before {
    background: #813C00;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 8px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn09_link::after {
    aspect-ratio: 1/2;
    background: url(./image/icon_right_white01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
}

.common_btn09_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 13px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 40px);
}

.common_btn09_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn09_text {
    align-items: center;
    display: flex;
    gap: 7.7px;
}

.common_btn09_text_gold {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    width: 52px;
}

.common_btn09_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 50.51/17.14;
    display: block;
    height: auto;
    margin-top: 2px;
    object-fit: contain;
    width: 100%;
}

.common_btn09_text_white {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.common_btn10 {
    display: block;
    width: min(100%, 350px);
}

.common_btn10_decotext {
    display: block;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin-inline: auto;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.common_btn10_decotext::before,
.common_btn10_decotext::after {
    aspect-ratio: 2/18;
    background: #000000;
    bottom: 3px;
    content: "";
    content: "";
    position: absolute;
    width: 2px;
}

.common_btn10_decotext::before {
    left: -15px;
    rotate: -30deg;
}

.common_btn10_decotext::after {
    right: -15px;
    rotate: 30deg;
}

.common_btn10_link {
    background: #195831;
    display: block;
    margin-top: 6px;
    padding: 20.5px 8px 20.5px 90.9px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: 100%;
}

.common_btn10_link::before {
    background: #0C331B;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 8px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn10_link::after {
    aspect-ratio: 1/2;
    background: url(./image/icon_right_white01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
}

.common_btn10_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 15px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 40px);
}

.common_btn10_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn10_text {
    align-items: center;
    display: flex;
    gap: 5.6px;
}

.common_btn10_text_gold {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    width: 52px;
}

.common_btn10_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 50.51/17.14;
    display: block;
    height: auto;
    margin-top: 2px;
    object-fit: contain;
    width: 100%;
}

.common_btn10_text_white {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.common_btn11 {
    display: block;
    width: min(100%, 350px);
}

.common_btn11_decotext {
    display: block;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin-inline: auto;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.common_btn11_decotext::before,
.common_btn11_decotext::after {
    aspect-ratio: 2/18;
    background: #000000;
    bottom: 3px;
    content: "";
    content: "";
    position: absolute;
    width: 2px;
}

.common_btn11_decotext::before {
    left: -15px;
    rotate: -30deg;
}

.common_btn11_decotext::after {
    right: -15px;
    rotate: 30deg;
}

.common_btn11_link {
    background: #00A845;
    display: block;
    margin-top: 6px;
    padding: 20.5px 8px 20.5px 106.5px;
    position: relative;
    position: relative;
    top: 0;
    transition: 0.3s ease;
    width: 100%;
}

.common_btn11_link::before {
    background: #008637;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 8px;
    transition: 0.3s ease;
    width: 100%;
    z-index: -1;
}

.common_btn11_link::after {
    aspect-ratio: 1/2;
    background: url(./image/icon_right_white01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
}

.common_btn11_icon {
    aspect-ratio: 1/1;
    height: auto;
    left: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 40px);
}

.common_btn11_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_btn11_text {
    align-items: center;
    display: flex;
    gap: 4px;
}

.common_btn11_text_gold {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    width: 52px;
}

.common_btn11_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 50.51/17.14;
    display: block;
    height: auto;
    margin-top: 2px;
    object-fit: contain;
    width: 100%;
}

.common_btn11_text_white {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.common_btn12 {
    background: #1C482D;
    border: 2px solid #195831;
    color: #FFFFFF;
    display: inline-block;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 9px;
    position: relative;
    text-align: center;
    transition: 0.3s ease;
    width: 100%;
}

.common_btn12::after {
    -webkit-mask-image: url("./image/icon_right_white01.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    aspect-ratio: 1/2;
    background: #FFFFFF;
    content: "";
    height: auto;
    mask-image: url("./image/icon_right_white01.png");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
}

.common_btn13 {
    background: #FFFFFF;
    color: #183F27;
    display: inline-block;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 11px;
    position: relative;
    text-align: center;
    transition: 0.3s ease;
    width: 100%;
}

.common_btn13::after {
    -webkit-mask-image: url("./image/icon_right_green01.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    aspect-ratio: 1/2;
    background: #183F27;
    content: "";
    height: auto;
    mask-image: url("./image/icon_right_green01.png");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
}

.common_headline01 {
    text-align: center;
}

.common_headline01_sub {
    font-family: "DIN2014", sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.29;
}

.common_headline01_main {
    color: #183F27;
    font-size: 56px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.32;
    margin-top: 7px;
}

.common_headline01_main_big {
    font-size: 60px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
    margin-top: 0px;
}

.common_headline01_main0s1 {
    color: #073E1C;
}

.common_headline02 {
    text-align: center;
}

.common_headline02_sub {
    color: #FFFFFF;
    font-family: "DIN2014", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.29;
}

.common_headline02_main {
    color: #FFFFFF;
    font-size: 50px;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1.44;
    margin-top: -4px;
}

.common_lower_headline01_sub {
    color: #FFFFFF;
    font-family: "DIN2014", sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.29;
}

.common_lower_headline01_sub:first-letter {
    text-transform: uppercase;
}

.common_lower_headline01_main {
    color: #FFFFFF;
    font-size: 46px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.43;
}

.breadcrumb span,
.breadcrumb a {
    color: #838383;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.46;
    transition: 0.3s ease;
}

.breadcrumb_icon {
    color: #838383;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.46;
    margin-inline: 6px;
}

.common_card01 {
    padding-top: 18px;
    position: relative;
    width: min(100%, 310px);
}

.common_card01_tag {
    background: #327140;
    color: #FFFFFF;
    display: inline-block;
    font-size: 20px;
    font-weight: 900;
    left: 0;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    padding: 8px 11px;
    position: absolute;
    right: 0;
    top: 0;
    white-space: nowrap;
    width: -moz-fit-content;
    width: fit-content;
}

.common_card01_img {
    border: 3px solid #245F31;
    display: block;
}

.common_card01_img img {
    -o-object-fit: cover;
    aspect-ratio: 310/200;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.common_card02 {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-top: 55px;
    position: relative;
}

.common_card02_tag {
    align-items: center;
    aspect-ratio: 1/1;
    background: #FFFFFF;
    border-radius: 100vh;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    height: auto;
    left: 50%;
    padding: 10px;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 132px;
}

.common_card02_tag_text {
    color: #572A04;
    font-family: "DIN2014", sans-serif;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0em;
    line-height: 1;
}

.common_card02_tag_num {
    color: #572A04;
    font-family: "DIN2014", sans-serif;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 0em;
    line-height: 1;
}

.common_card02_img_wrap {
    position: relative;
}

.common_card02_img {
    display: block;
}

.common_card02_img img {
    -o-object-fit: cover;
    aspect-ratio: 390/210;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.common_card02_img01 img {
    aspect-ratio: 390/190;
}

.common_card02_banner_wrap {
    align-items: flex-start;
    bottom: -18px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    left: 0;
    position: absolute;
    z-index: 1;
}

.common_card02_banner {
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1;
    padding: 7px 10px 7px 15px;
    position: relative;
}

.common_card02_banner_gold {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(180deg, #FFF8A0, #FDCB6B);
    background-clip: text;
    color: transparent;
}

.common_card02_banner01 {
    padding-right: 10px;
}

.common_card02_banner01::before {
    background: url(./image/top_features_deco01.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner02 {
    padding-right: 27.5px;
}

.common_card02_banner02::before {
    background: url(./image/top_features_deco02.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0px;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner03 {
    padding-right: 25px;
}

.common_card02_banner03::before {
    background: url(./image/top_features_deco03.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner04 {
    padding-right: 28.9px;
}

.common_card02_banner04::before {
    background: url(./image/top_features_deco04.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner05 {
    padding-right: 23px;
}

.common_card02_banner05::before {
    background: url(./image/top_features_deco05.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner06 {
    padding-right: 22.8px;
}

.common_card02_banner06::before {
    background: url(./image/top_features_deco06.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner07 {
    padding-right: 25px;
}

.common_card02_banner07::before {
    background: url(./image/top_features_deco07.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner08 {
    padding-right: 26.5px;
}

.common_card02_banner08::before {
    background: url(./image/top_features_deco08.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner09 {
    padding-right: 25px;
}

.common_card02_banner09::before {
    background: url(./image/top_features_deco09.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner10 {
    padding-right: 24.5px;
}

.common_card02_banner10::before {
    background: url(./image/top_features_deco10.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner11 {
    padding-right: 19.6px;
}

.common_card02_banner11::before {
    background: url(./image/top_features_deco11.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_banner12 {
    padding-right: 25px;
}

.common_card02_banner12::before {
    background: url(./image/top_features_deco12.png) left center/contain no-repeat;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.common_card02_body {
    background: #FFFFFF;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    flex: 1;
    padding: 31px 10px 25px 20px;
}

.common_card02_text {
    color: #5F5F5F;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.64;
}

.common_cards01_pc {
    display: grid;
    gap: 30px 35px;
    grid-template-columns: repeat(3, 1fr);
}

.common_cards01_sp {
    display: none;
}

.common_cards01_sp .swiper-slide {
    display: flex;
    flex-direction: column;
    gap: 4.62vw;
}

.common_cards01_sp .swiper-pagination {
    display: flex;
    gap: 3.08vw;
    justify-content: center;
    left: 50%;
    transform: translateX(-50%);
}

.common_cards01_sp .swiper-pagination-bullet {
    background: #CCCCCC;
    border-radius: 0;
    height: 1.79vw;
    margin: 0;
    opacity: 1;
    width: 12.82vw;
}

.common_cards01_sp .swiper-pagination-bullet-active {
    background: #195831;
}

.common_cards01_lower {
    display: grid;
    gap: 30px 35px;
    grid-template-columns: repeat(3, 1fr);
}

.common_contact {
    background: url(./image/common_contact_bg01.png) center center/cover no-repeat;
    padding-block: 68px 80px;
}

.common_contact_text {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.64;
    margin-top: 8px;
    text-align: center;
}

.common_contact_wrap {
    -webkit-backdrop-filter: blur(2px) brightness(1.2);
    backdrop-filter: blur(2px) brightness(1.2);
    background: rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    margin-top: 42px;
    padding: 37px 35px 31px;
    position: relative;
}

.common_contact_decotext {
    align-items: center;
    background: #743603;
    border-radius: 24px;
    display: flex;
    left: 50%;
    padding: 7px 18px 7px 25px;
    position: absolute;
    top: -21px;
    transform: translateX(-50%);
    white-space: nowrap;
}

.common_contact_decotext_white {
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

.common_contact_decotext_gold {
    margin-left: 5px;
    margin-right: 5px;
    width: 148.33px;
}

.common_contact_decotext_gold img {
    -o-object-fit: contain;
    aspect-ratio: 148.33/28.04;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_contact_btn {
    position: relative;
    width: min(100%, 350px);
}

.common_contact_btn::after {
    background-image: repeating-linear-gradient(180deg, #4e4e4e, #4e4e4e 2px, transparent 2px, transparent 4px);
    background-position: right top;
    background-repeat: repeat-y;
    background-size: 2px 100%;
    bottom: -6px;
    content: "";
    height: 74px;
    position: absolute;
    right: -30px;
    width: 2px;
}

.common_contact_btn:last-of-type::after {
    display: none;
}

.common_contact_tel {
    margin-top: 20px;
    position: relative;
}

.common_contact_tel::before,
.common_contact_tel::after {
    background: #FFFFFF;
    content: "";
    height: 2px;
    left: 50%;
    opacity: 0.3;
    position: absolute;
    transform: translateX(-50%);
    width: min(100%, 760px);
}

.common_contact_tel::before {
    top: 0;
}

.common_contact_tel::after {
    bottom: 0;
}

.common_contact_telwrap {
    align-items: center;
    display: flex;
    justify-content: center;
    padding-block: 15px 15px;
    padding-right: 35px;
}

.common_contact_teltext {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1.44;
    padding-right: 35px;
    position: relative;
}

.common_contact_teltext::after {
    background: #FFFFFF;
    content: "";
    height: 42px;
    opacity: 0.3;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
}

.common_contact_telmeta {
    align-items: center;
    display: flex;
    gap: 9.1px;
    padding-left: 35.5px;
}

.common_contact_icon {
    flex-shrink: 0;
    width: 20.63px;
}

.common_contact_icon img {
    -o-object-fit: contain;
    aspect-ratio: 20.63/26.9;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_contact_telnum {
    color: #FFFFFF;
    font-family: "DIN2014", sans-serif;
    font-size: 33px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.27;
}

.common_follow_pc {
    bottom: 30px;
    display: block;
    position: fixed;
    right: 30px;
    transition: 0.3s ease;
    width: 170px;
    z-index: 1600;
    z-index: 100;
}

.common_follow_pc_circle {
    background: linear-gradient(170deg, #376A4A, #153E24);
    border-radius: 50%;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
    height: 170px;
    overflow: visible;
    position: relative;
    width: 170px;
}

.common_follow_pc_circle::before {
    border: 1.5px dashed #FFFFFF;
    border-radius: 50%;
    content: "";
    height: 160px;
    left: 5px;
    opacity: 0.3;
    pointer-events: none;
    position: absolute;
    top: 5px;
    width: 160px;
}

.common_follow_pc_circle_inner {
    padding: 35px 13px 0;
    position: relative;
    width: 100%;
}

.common_follow_pc_text_line {
    color: #FFFFFF;
    display: block;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.44;
}

.common_follow_pc_text_line01 {
    padding-left: 16px;
}

.common_follow_pc_text_line02 {
    line-height: 1;
}

.common_follow_pc_text_line:first-child {
    margin-top: 0;
}

.common_follow_pc_text_wrap {
    align-items: flex-end;
    display: inline-flex;
    margin-top: 5px;
}

.common_follow_pc_text_gold {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(to bottom, #FFF8A0, #FDCB6B);
    background-clip: text;
    display: inline-block;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    white-space: nowrap;
}

.common_follow_pc_icon {
    height: 48px;
    position: absolute;
    right: 8px;
    top: 11px;
    width: 55px;
}

.common_follow_pc_icon::before {
    background: linear-gradient(170deg, #376A4A, #153E24);
    border-radius: 100vh;
    content: "";
    height: 70px;
    position: absolute;
    right: -8px;
    top: -9px;
    width: 70px;
    z-index: -1;
}

.common_follow_pc_icon img {
    -o-object-fit: contain;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.common_follow_pc_btn {
    background: #FFFFFF;
    border: 2px solid #183F27;
    border-radius: 13px;
    bottom: 12px;
    display: inline-block;
    left: 50%;
    padding: 5px 25px 5px 21px;
    position: absolute;
    transform: translateX(-50%);
    white-space: nowrap;
}

.common_follow_pc_btn_text {
    color: #183F27;
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
}

.common_follow_pc_btn_arrow {
    aspect-ratio: 1/2;
    background: url(./image/icon_right_green01.png) center center/contain no-repeat;
    height: auto;
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 7px;
}

.common_follow_sp01 {
    display: none;
}

.common_follow_sp01_icon img {
    -o-object-fit: contain;
    aspect-ratio: 33.61/29.2;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_follow_sp02 {
    display: none;
}

.common_follow_sp02_banner_text_gold img {
    -o-object-fit: contain;
    aspect-ratio: 96.03/16.04;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_follow_sp02_btn_main_icon img {
    -o-object-fit: contain;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.common_item01 {
    padding-top: 28px;
    position: relative;
    position: relative;
}

.common_item01::before {
    aspect-ratio: 1/1;
    background: #1C482D;
    border: 4px solid #FFFFFF;
    border-radius: 100vh;
    content: "";
    height: auto;
    left: 50%;
    position: absolute;
    top: -40px;
    transform: translateX(-50%);
    width: 20px;
}

.common_item01::after {
    background-image: repeating-linear-gradient(180deg, #1C482D, #1C482D 2px, transparent 2px, transparent 4px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 2px 100%;
    content: "";
    height: 47px;
    left: 50%;
    position: absolute;
    top: -19px;
    transform: translateX(-50%);
    width: 2px;
    z-index: -1;
}

.common_item01_tag {
    align-items: center;
    aspect-ratio: 1/1;
    background: url(./image/top_flow_bg01.png) center center/cover no-repeat;
    border: 2px solid #183F27;
    border-radius: 100vh;
    display: flex;
    flex-direction: column;
    height: auto;
    left: 50%;
    padding-top: 6px;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 56px;
}

.common_item01_tag::before {
    background-color: rgba(103, 180, 132, 0.2);
    border-radius: 100vh;
    content: "";
    inset: 0;
    position: absolute;
}

.common_item01_tag_even {
    background-image: url(./image/top_flow_bg02.png);
}

.common_item01_tag_even::before {
    background-color: rgba(1, 16, 7, 0.35);
}

.common_item01_tag_text {
    color: #FFFFFF;
    font-family: "DIN2014", sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
    position: relative;
}

.common_item01_tag_num {
    color: #FFFFFF;
    font-family: "DIN2014", sans-serif;
    font-size: 27px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
    position: relative;
}

.common_item01_wrap {
    border: 2px solid #1C482D;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

.common_item01_wrap_even {
    border-color: #265D43;
}

.common_item01_img {
    display: block;
}

.common_item01_img img {
    -o-object-fit: cover;
    aspect-ratio: 132/100;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.common_item01_body {
    background: #F5F7F6;
    border-top: 2px solid #183F27;
    display: flex;
    flex: 1;
    justify-content: center;
    padding: 15px;
}

.common_item01_body_even {
    background: #EFFAF4;
}

.common_item01_title {
    display: flex;
    flex-direction: column;
    font-size: 22px;
    font-weight: 900;
    gap: 8px;
    letter-spacing: 0.25em;
    line-height: 1;
    writing-mode: vertical-rl;
}

.common_item02 .closeBtnHat {
    display: none;
}

.common_item02_question {
    align-items: center;
    background: #194329;
    cursor: pointer;
    display: flex;
    gap: 20px;
    padding: 13px 20px;
    position: relative;
    transition: 0.3s ease;
}

.common_item02_question_even {
    background: #21553D;
}

.common_item02_question_even .common_item02_question_icon {
    color: #21553D;
}

.common_item02_question_icon {
    background: #FFFFFF;
    border-radius: 100vh;
    color: #194329;
    display: grid;
    flex-shrink: 0;
    font-family: "DIN2014", sans-serif;
    font-size: 36px;
    font-weight: 700;
    height: 50px;
    letter-spacing: 0em;
    line-height: 1;
    padding-left: 7px;
    place-items: center;
    width: 50px;
}

.common_item02_question_text {
    color: #FFFFFF;
    flex: 1;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.common_item02_question_mark {
    aspect-ratio: 24/12;
    background: url(./image/icon_down_white01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    flex-shrink: 0;
    height: auto;
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.4s;
    width: 28px;
}

.common_item02_question_mark01 {
    aspect-ratio: 1/2;
    background: url(./image/icon_right_white01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    height: auto;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.4s;
    width: 13px;
}

.common_item02_question.nowOpen .common_item02_question_mark {
    transform: translateY(-50%) rotateX(180deg);
}

.common_item02_answer {
    background: #FFFFFF;
    padding: 14px 80px 14px 32px;
}

.common_item02_answer_text {
    align-items: center;
    color: #5F5F5F;
    display: flex;
    font-size: 14px;
    font-weight: 400;
    gap: 26px;
    letter-spacing: 0.04em;
    line-height: 1.79;
}

.common_item02_answer_label {
    color: #D54827;
    font-family: "DIN2014", sans-serif;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
}

.common_item03 {
    display: block;
    width: min(100%, 550px);
}

.common_item03_wrap {
    align-items: center;
    display: flex;
    gap: 20px;
}

.common_item03_img {
    overflow: hidden;
    width: min(100%, 230px);
}

.common_item03_img img {
    -o-object-fit: cover;
    aspect-ratio: 230/160;
    height: auto;
    object-fit: cover;
    transition: 0.3s ease;
    width: 100%;
}

.common_item03_textwrap {
    flex: 1;
}

.common_item03_headline {
    color: #000000;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
    padding-bottom: 7px;
    position: relative;
}

.common_item03_headline::after {
    background-image: repeating-linear-gradient(90deg, #707070, #707070 3px, transparent 3px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}

.common_item03_address {
    color: #5F5F5F;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.58;
    margin-top: 8px;
}

.common_item03_hours {
    color: #797979;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.55;
    margin-top: 9px;
}

.common_item03_btn {
    margin-top: 13px;
}

.common_item04_img iframe {
    -o-object-fit: cover;
    aspect-ratio: 280/150;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.common_item04_textwrap {
    margin-top: 10px;
}

.common_item04_headline {
    color: #000000;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
    padding-bottom: 8px;
    position: relative;
}

.common_item04_headline::after {
    background-image: repeating-linear-gradient(90deg, #707070, #707070 3px, transparent 3px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}

.common_item04_address {
    color: #5F5F5F;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.58;
    margin-top: 8px;
}

.common_item04_hours {
    color: #797979;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.55;
    margin-top: 8px;
}

.common_item04_btn {
    margin-top: 18px;
}

.common_item05 {
    padding-block: 16px 22px;
    position: relative;
}

.common_item05::after {
    background-image: repeating-linear-gradient(90deg, #b2b2b2, #b2b2b2 2px, transparent 2px, transparent 4px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}

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

.common_item05_head_meta {
    align-items: center;
    display: flex;
    gap: 12.9px;
}

.common_item05_rating {
    display: inline-block;
    flex-shrink: 0;
    position: relative;
    width: min(100%, 128.14px);
}

.common_item05_stars {
    display: flex;
    gap: 2px;
}

.common_item05_stars_fill {
    display: flex;
    gap: 2px;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
}

.common_item05_star {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    flex-shrink: 0;
    height: 24px;
    width: 24px;
}

.common_item05_star_base {
    background-image: url(./image/icon_star_gray01.png);
}

.common_item05_star_fill {
    background-image: url(./image/icon_star_yellow01.png);
    transform: scale(0);
}

.common_item05_name {
    color: #000000;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
    white-space: nowrap;
}

.common_item05_shop {
    color: #183F27;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.common_item05_text {
    color: #5F5F5F;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.57;
    margin-top: 9px;
}

.common_item06 {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-block: 50px;
    position: relative;
}

.common_item06_body {
    width: min(100%, 580px);
}

.common_item06_titlewrap {
    align-items: center;
    display: flex;
    gap: 20px;
}

.common_item06_number {
    align-items: center;
    background: #195831;
    border-radius: 100vh;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    height: 60px;
    justify-content: center;
    padding-top: 4px;
    width: 60px;
}

.common_item06_number_small {
    color: #FFFFFF;
    display: block;
    font-family: "DIN2014", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
    text-align: center;
}

.common_item06_number_big {
    color: #FFFFFF;
    display: block;
    font-family: "DIN2014", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
    text-align: center;
}

.common_item06_title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.6;
}

.common_item06_txt {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin-top: 20px;
}

.common_item06_img {
    border: 2px solid #1C482D;
    border-radius: 10px;
    overflow: hidden;
    width: min(100%, 375px);
}

.common_item06_img img {
    -o-object-fit: cover;
    aspect-ratio: 375/250;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.common_item07 {
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    margin-inline: auto;
    overflow: hidden;
    width: min(100%, 900px);
}

.common_item07_row {
    display: flex;
}

.common_item07_row:last-child .common_item07_label::after,
.common_item07_row:last-child .common_item07_value::after {
    display: none;
}

.common_item07_label {
    align-items: center;
    background: #e9edea;
    color: #183F27;
    display: flex;
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 700;
    gap: 12px;
    padding: 24px;
    position: relative;
    width: 250px;
}

.common_item07_label::after {
    background-image: repeating-linear-gradient(90deg, #1C482D, #1C482D 2px, transparent 2px, transparent 4px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}

.common_item07_label_icon {
    aspect-ratio: 1/1;
    display: grid;
    flex-shrink: 0;
    height: auto;
    place-items: center;
    width: 20px;
}

.common_item07_label_icon svg {
    aspect-ratio: 1/1;
    display: grid;
    height: auto;
    width: 100%;
}

.common_item07_label_text {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5;
}

.common_item07_value {
    background: #F5F7F6;
    flex: 1;
    font-size: 15px;
    font-weight: 500;
    padding: 24px;
    position: relative;
}

.common_item07_value::after {
    background-image: repeating-linear-gradient(90deg, #b2b2b2, #b2b2b2 2px, transparent 2px, transparent 4px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}

.common_items01 {
    display: grid;
    gap: 36px;
    grid-template-columns: repeat(7, 1fr);
    position: relative;
    z-index: 1;
}

.common_items01::before {
    background: url(./image/top_flow01.png) center center/contain no-repeat;
    content: "";
    display: inline-block;
    height: 14px;
    left: 50%;
    position: absolute;
    top: -37px;
    transform: translateX(-50%);
    width: 1020px;
}

.common_items02 {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(1, 1fr);
}

.common_items03_inner {
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(1, 1fr);
}

.common_items03.swiper-initialized .common_items03_inner {
    display: flex;
}

.common_items03.swiper-initialized .common_items03_item {
    flex-shrink: 0;
    width: 100%;
}

.common_items03 .swiper-pagination {
    display: none;
}

.common_items03 .swiper-pagination-bullet {
    background: #CCCCCC;
    border-radius: 0;
    height: 1.79vw;
    margin: 0;
    opacity: 1;
    width: 12.82vw;
}

.common_items03 .swiper-pagination-bullet-active {
    background: #195831;
}

.common_items04 {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(2, 1fr);
}

.common_items05_item:first-of-type .common_item05 {
    padding-top: 0;
}

.common_items06_item {
    position: relative;
}

.common_items06_item::after {
    background-image: radial-gradient(circle, #EBEBEB 1.5px, transparent 1.5px);
    background-repeat: repeat-x;
    background-size: 9px 3px;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 3px;
    left: 0;
    position: absolute;
    width: 100%;
}

.common_items06_item:last-of-type::after {
    display: none;
}

.common_lower_mv_breadcrumb {
    display: flex;
    justify-content: flex-end;
    padding-top: 20px;
}

.common_lower_mv {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 120px;
    min-height: 280px;
    padding-block: 88px 90px;
    position: relative;
}

.common_lower_mv_img {
    display: block;
    height: 280px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.common_lower_mv_img::after {
    background-color: rgba(0, 0, 0, 0.3);
    content: "";
    inset: 0;
    position: absolute;
}

.common_lower_mv_img img {
    -o-object-fit: cover;
    aspect-ratio: 1440/280;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.common_lower_mv_container {
    position: relative;
}

.common_lower_section01 {
    padding-block: 100px 110px;
}

.common_media01 {
    align-items: flex-end;
    background: #FFFFFF;
    border: 3px solid #183F27;
    display: flex;
    justify-content: space-between;
    padding: 47px;
}

.common_media01_reverse {
    flex-direction: row-reverse;
}

.common_media01_img {
    display: block;
    width: min(100%, 470px);
}

.common_media01_img img {
    -o-object-fit: cover;
    aspect-ratio: 470/350;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.common_media01_body {
    width: min(100%, 520px);
}

.common_media01_textwrap {
    display: contents;
}

.common_media01_header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-bottom: 19px;
    position: relative;
}

.common_media01_header::after {
    background-image: repeating-linear-gradient(90deg, #707070, #707070 3px, transparent 3px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}

.common_media01_title {
    color: #000000;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.common_media01_btn {
    width: min(100%, 180px);
}

.common_media01_text {
    color: #5F5F5F;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.69;
    margin-top: 13px;
}

.common_media01_infowrap {
    align-items: center;
    background: #F8F8F8;
    display: flex;
    gap: 19px;
    margin-top: 18px;
    padding: 20px;
}

.common_media01_map {
    width: min(100%, 160px);
}

.common_media01_map iframe {
    -o-object-fit: cover;
    aspect-ratio: 160/120;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.common_media01_info {
    flex: 1;
}

.common_media01_address {
    color: #5F5F5F;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.62;
}

.common_media01_hours {
    color: #797979;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.64;
    margin-top: 12px;
}

.common_slider03 {
    overflow: hidden;
}

@keyframes loop_reverse {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}

.common_slider01 {
    overflow: hidden;
}

.common_slider01 .swiper-wrapper {
    -webkit-backface-visibility: hidden;
    align-items: stretch;
    animation: loop 80s linear infinite;
    backface-visibility: hidden;
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    will-change: transform;
}

@keyframes loop {
    0% {
        transform: translateX(0) translateZ(0);
    }

    100% {
        transform: translateX(-50%) translateZ(0);
    }
}

.common_slider01 .swiper-slide {
    -webkit-backface-visibility: hidden;
    align-items: stretch;
    backface-visibility: hidden;
    display: flex;
    flex-shrink: 0;
    height: auto;
    margin-left: 20px;
    width: 310px;
}

.common_slider01 .swiper-slide:first-child {
    margin-left: 0;
}

.common_slider02 {
    overflow: hidden;
}

@keyframes loop {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.common_tag01 {
    background: #F2FAF2;
    display: grid;
    min-height: 120px;
    outline: 2px solid #D0E5D0;
    outline-offset: -10px;
    padding: 10px;
    place-items: center;
    position: relative;
    text-align: center;
}

.common_tag01::before {
    background-image: repeating-linear-gradient(-45deg, #000000, #000000 6px, transparent 6px, transparent 12px);
    content: "";
    height: 100%;
    left: 0;
    opacity: 0.008;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

.common_tag01_pale {
    background: #F0FCF6;
    outline-color: #CFE0D7;
}

.common_tag01_icon {
    aspect-ratio: 61/63;
    height: auto;
    position: absolute;
    top: -17px;
    width: 61px;
}

.common_tag01_icon01 {
    right: 34px;
}

.common_tag01_icon02 {
    right: 57px;
}

.common_tag01_icon03 {
    right: 39px;
}

.common_tag01_icon04 {
    right: 38px;
}

.common_tag01_icon05 {
    right: 43px;
}

.common_tag01_icon06 {
    right: 10px;
}

.common_tag01_num {
    color: #D2E6DD;
    font-family: "DIN2014", sans-serif;
    font-size: 26px;
    font-weight: 700;
    left: 20px;
    letter-spacing: 0em;
    line-height: 1.27;
    position: absolute;
    top: 14px;
}

.common_tag01_text_black {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.6;
}

.common_tag01_text_green {
    color: #265D43;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.27;
}

.common_tags01 {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(3, 1fr);
}

.ekoda_access_map {
    margin-top: 40px;
    width: 100%;
}

.ekoda_access_map iframe {
    -o-object-fit: cover;
    aspect-ratio: 1140/350;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.ekoda_info {
    background: url(./image/top_store_bg01.jpg) center center/cover no-repeat;
}

.ekoda_info_item {
    margin-top: 40px;
}

.ekoda_message_container {
    position: relative;
}

.ekoda_message_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 10px;
    margin-top: 12px;
    text-align: center;
}

.ekoda_message_img {
    display: block;
    margin-top: 40px;
    padding-left: 10px;
    padding-top: 10px;
    position: relative;
    width: min(100%, 1130px);
}

.ekoda_message_img::before {
    background: #1C482D;
    content: "";
    height: calc(100% - 10px);
    left: 0;
    position: absolute;
    top: 0;
    width: calc(100% - 10px);
    z-index: -1;
}

.ekoda_message_img img {
    -o-object-fit: cover;
    aspect-ratio: 1130/350;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.features01 {
    padding-block: 110px 119px;
    position: relative;
}

.features01::before {
    background: url(./image/top_features_bg01.jpg) center center/cover no-repeat;
    bottom: 0;
    content: "";
    height: calc(100% + 50px);
    left: 0;
    position: absolute;
    width: 100%;
    z-index: -1;
}

.features01_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    text-align: center;
}

.features01_item {
    margin-top: 35px;
}

.features01_btn {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

.features01_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 10px;
    text-align: center;
}

.footer {
    background-color: #F5F5F5;
    padding-block: 101px 51px;
}

.footer_main {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
}

.footer_info {
    width: min(100%, 440px);
}

.footer_info::after {
    display: none;
}

.footer_catch {
    color: #626262;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.46;
}

.footer_logo {
    display: inline-block;
    margin-top: 7.5px;
    transition: 0.3s ease;
    width: min(100%, 384px);
}

.footer_logo img {
    -o-object-fit: contain;
    aspect-ratio: 384/63.53;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.footer_images {
    display: grid;
    gap: 13px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 33px;
}

.footer_images_item img {
    -o-object-fit: cover;
    aspect-ratio: 138/110;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.footer_desc {
    color: #5F5F5F;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.62;
    margin-top: 10px;
}

.footer_stores {
    flex-shrink: 0;
    width: min(100%, 590px);
}

.footer_nav {
    margin-top: 70px;
}

.footer_nav_list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 19.5px;
}

.footer_nav_link {
    display: block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5;
    padding: 10px;
    transition: 0.3s ease;
}

.footer_nav_link01 {
    padding-left: 0;
}

.footer_copyright {
    color: #797979;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.42;
    margin-top: 40px;
    text-align: center;
}

/* drawer */
body.is_open {
    height: 100%;
    overflow: hidden;
    position: fixed;
    width: 100%;
}

nav.globalMenuSp {
    display: none;
}

/* このクラスを、jQueryで付与・削除する */

/* Site Contentsセクション */

.globalMenuSp_item {
    display: block;
    position: relative;
}

.globalMenuSp_trigger01 {
    cursor: pointer;
    display: block;
    padding-block: 5.38vw 5.64vw;
    position: relative;
}

.globalMenuSp_trigger01.is_active .globalMenuSp_trigger01_icon {
    transform: translateY(-50%) rotateX(180deg);
}

/* お問い合わせエリア */
.globalMenuSp_decotext_text_bold img {
    -o-object-fit: contain;
    aspect-ratio: 125.14/24;
    height: auto;
    object-fit: contain;
    width: 100%;
}

/* コピーライト */

/* ハンバーガーメニュー */
.hamburger {
    display: none;
}

/* ヘッダーが固定位置になったときのハンバーガーメニューの位置調整 */

.hamburger.is_open .hamburger_line:nth-of-type(1) {
    top: 4.36vw;
    transform: translateX(-50%) rotate(330deg);
}

.hamburger.is_open .hamburger_line:nth-of-type(2) {
    opacity: 0;
    visibility: hidden;
}

.hamburger.is_open .hamburger_line:nth-of-type(3) {
    top: 4.36vw;
    transform: translateX(-50%) rotate(-330deg);
}

/* header */
.header {
    background: #FFFFFF;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    left: 0;
    margin-inline: auto;
    min-width: 1440px;
    opacity: 1;
    padding-top: 15px;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    visibility: visible;
    width: 100%;
    width: 100%;
    z-index: 2000;
}

.header:has(.header_item.is_active) {
    box-shadow: inset 0 -4px 4px -4px rgba(0, 0, 0, 0.08);
}

.header_fixed {
    min-width: 1440px;
    opacity: 1;
    position: fixed;
    right: auto;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    visibility: visible;
    width: 100%;
}

.header_visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.header_hidden {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.header_inner {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-inline: auto;
    padding-inline: 50px;
    width: 1440px;
}

/* ロゴエリア */
.header_logo_area {
    width: min(100%, 430px);
}

.header_logo_desc {
    color: #626262;
    display: block;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.46;
    opacity: 0.8;
}

.header_logo_link {
    display: inline-block;
    margin-top: 7.5px;
    transition: 0.3s ease;
}

.header_logo_img {
    display: block;
    width: min(100%, 383px);
}

.header_logo_img img {
    -o-object-fit: contain;
    aspect-ratio: 383/63;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.header_container {
    flex: 1;
}

.header_wrap {
    display: flex;
    gap: 21.2px;
    justify-content: flex-end;
}

/* 電話エリア */
.header_tel {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.header_tel_badge {
    align-items: center;
    background: #6C3609;
    border-radius: 24px;
    display: flex;
    padding: 3px 5px 3px 10px;
    white-space: nowrap;
    width: min(100%, 215px);
}

.header_tel_badge_text {
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0em;
    line-height: 1.45;
    width: -moz-fit-content;
    width: fit-content;
}

.header_tel_badge_gold {
    width: min(100%, 90px);
}

.header_tel_badge_gold img {
    -o-object-fit: contain;
    aspect-ratio: 84.33/14.36;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.header_tel_link {
    align-items: center;
    display: flex;
    gap: 5px;
    margin-top: 3px;
    transition: 0.3s ease;
}

.header_tel_icon {
    flex-shrink: 0;
    width: 18px;
}

.header_tel_icon img {
    -o-object-fit: contain;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.header_tel_number {
    color: #1A1A1A;
    font-family: "DIN2014", sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
}

/* ヘッダーボタン */
.header_btns {
    display: flex;
    gap: 12px;
}

.header_btn {
    position: relative;
    width: 190px;
    z-index: 1;
}

/* ナビゲーション */
.header_nav {
    flex-shrink: 0;
}

.header_list {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}

.header_item {
    flex-shrink: 0;
}

.header_link {
    display: inline-block;
    padding: 13px 29.5px 15px;
    position: relative;
    transition: 0.5s;
    transition: 0.3s ease;
}

.header_link::after {
    background: #939393;
    content: "";
    height: 16px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
}

.header_link01 {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 9px;
    padding: 13px 0px 15px 29.5px;
    transition: 0.3s ease;
}

.header_link_text {
    color: #1A1A1A;
    display: block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.43;
    position: relative;
    transition: 0.5s;
}

.header_link_icon {
    aspect-ratio: 2/1;
    background: url(./image/icon_down_black01.png) center center/contain no-repeat;
    display: block;
    height: auto;
    position: relative;
    transition: 0.8s ease;
    width: 12px;
}

.header_sublist_wrap {
    background: #FFFFFF;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    left: 50%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: calc(100% - 1px);
    transform: translateX(-50%);
    transition: opacity 0.5s ease, visibility 0.5s ease;
    visibility: hidden;
    width: max(100vw, 1440px);
    z-index: 100;
}

.header_sublist {
    background: #FFFFFF;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-inline: auto;
    padding-block: 41px 50px;
    width: 1240px;
}

.header_subitem:first-of-type {
    padding-right: 70px;
    position: relative;
}

.header_subitem:first-of-type::after {
    background: #DDDDDD;
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 2px;
}

.header_subitem:last-of-type {
    padding-left: 70px;
}

.header_hamburger {
    display: none;
}

.header_item.is_active .header_link_text {
    opacity: 0.7;
}

.header_item.is_active .header_link_icon {
    transform: rotateX(180deg);
}

.header_item.is_active .header_sublist_wrap {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.inbox {
    align-items: center;
    display: flex;
    gap: 0.7em;
}

.inbox_text {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.input_group {
    display: flex;
    gap: 0.7em;
}

.page_main .lower_flow {
    padding-bottom: 220px;
}

.page_main .lower_service {
    padding-top: 100px;
}

.page-id-27 .common_page_wrap {
    padding-block: 100px 110px;
}

.question01_btn {
    margin-top: 50px;
}

.f_din {
    font-family: "din-2014", sans-serif;
}

.single_page {
    background: #F5F5F5;
    padding-block: 3em 0;
}

.single_question01 {
    padding-top: 150px;
}

.single_page .common_page_wrap {
    padding-block: 80px 140px;
}

.single_page .article {
    background: #fff;
    border: 2px solid #E3E3E3;
    border-radius: 50px;
    padding: 100px 125px;
}

.single_page .article .main_title {
    margin-block: 0 3em;
    padding-inline: 4.3em 0;
    position: relative;
}

.single_page .article .main_title::before {
    background: #195831;
    border-radius: 100vmax;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 8px;
}

.single_page .article .main_title .title {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
}

.single_page .article .main_title .cat_box {
    display: flex;
    gap: 1em;
    margin-block: 0 1.5em;
}

.single_page .article .main_title .cat_box .cat_list {
    width: 100%;
}

.single_page .article .main_title .cat_box .cat_list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 0.7em;
}

.single_page .article .main_title .cat_box .cat_list li {
    color: #848484;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

.single_page .article .main_img {
    margin: 0 auto 1.7em;
    width: 100%;
}

.single_page .article .main_img img {
    -o-object-fit: cover;
    aspect-ratio: 3/2;
    object-fit: cover;
    width: 100%;
}

.single_page .article .cont {
    padding-inline: 70px;
}

.single_page .article .cont p {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.9;
}

.single_page .article .cont p+p {
    margin-block: 2em 0;
}

.single_page .article .cont h2 {
    border-left: 6px solid var(--main-color);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-block: 3em 1.2em;
    padding-inline: 0.7em 0;
}

.single_page .article .cont h3 {
    border-bottom: 1px solid #959595;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-block: 3em 1.2em;
    padding-block: 0 0.2em;
}

.single_page .article .cont h4,
.single_page .article .cont h5,
.single_page .article .cont h6 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-block: 3em 1.2em;
}

.single_page .article .cont .post_image {
    margin-block: 1.5em;
}

.single_page .article .cont ul {
    list-style: disc;
    margin-block: 1.2em;
    padding-inline: 1em 0;
}

.single_page .article .cont ul li {
    font-size: 16px;
    letter-spacing: 0.06em;
    line-height: 1.5;
}

.single_page .article .cont ul li+li {
    margin-block: 0.25em 0;
}

.single_page .archive_btn {
    margin: 2.5em auto 0;
    width: -moz-fit-content;
    width: fit-content;
}

.single_page .archive_btn .link {
    align-items: center;
    color: #195831;
    display: flex;
    font-size: 22px;
    font-weight: 500;
    gap: 0.4em;
    justify-content: center;
    letter-spacing: 0.08em;
    position: relative;
}

.single_page .archive_btn .link .mark {
    aspect-ratio: 1;
    background: #195831;
    border-radius: 50%;
    display: grid;
    min-width: 0;
    place-content: center;
    width: 20px;
}

.single_page .archive_btn .link .mark::before {
    aspect-ratio: 5/9;
    content: "";
    display: block;
    min-width: 0;
    translate: -0.05em 0;
    width: 5px;
}

.single_page .archive_btn .link::after {
    background: #195831;
    border-radius: 100vmax;
    bottom: 0;
    content: "";
    height: 2px;
    pointer-events: none;
    position: absolute;
    right: 0.2em;
    width: 78%;
}

.syakujii_access_map {
    margin-top: 40px;
    width: 100%;
}

.syakujii_access_map iframe {
    -o-object-fit: cover;
    aspect-ratio: 1140/350;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.syakujii_info {
    background: url(./image/top_store_bg01.jpg) center center/cover no-repeat;
}

.syakujii_info_item {
    margin-top: 40px;
}

.syakujii_message_container {
    position: relative;
}

.syakujii_message_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 10px;
    margin-top: 12px;
    text-align: center;
}

.syakujii_message_img {
    display: block;
    margin-top: 40px;
    padding-left: 10px;
    padding-top: 10px;
    position: relative;
    width: min(100%, 1130px);
}

.syakujii_message_img::before {
    background: #1C482D;
    content: "";
    height: calc(100% - 10px);
    left: 0;
    position: absolute;
    top: 0;
    width: calc(100% - 10px);
    z-index: -1;
}

.syakujii_message_img img {
    -o-object-fit: cover;
    aspect-ratio: 1130/350;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.top_cta01 {
    margin-top: -101px;
}

.top_cta01_container {
    background: #265D43;
    border-radius: 14px;
    margin-inline: auto;
    padding: 20px;
    position: relative;
    width: min(100%, 920px);
    z-index: 1;
}

.top_cta01_banner {
    align-items: center;
    background: #6C3609;
    border-radius: 24px;
    display: flex;
    left: 50%;
    padding: 8px 20px 8px 28px;
    position: absolute;
    top: -14px;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 2;
}

.top_cta01_banner_text {
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

.top_cta01_banner_gold {
    margin-left: 5px;
    margin-right: 5px;
    width: 162.62px;
}

.top_cta01_banner_gold img {
    -o-object-fit: contain;
    aspect-ratio: 162.62/27.25;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.top_cta01_body {
    -webkit-backdrop-filter: blur(2px) brightness(1.2);
    backdrop-filter: blur(2px) brightness(1.2);
    background: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    padding: 34px 40px 28px;
}

.top_cta01_check {
    align-items: center;
    display: flex;
    gap: 5px;
    justify-content: center;
    padding-left: 40px;
}

.top_cta01_check_icon {
    width: 32.99px;
}

.top_cta01_check_icon img {
    -o-object-fit: contain;
    aspect-ratio: 32.99/31.59;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.top_cta01_check_text {
    align-items: baseline;
    display: flex;
    gap: 17px;
}

.top_cta01_check_text_highlight {
    color: #C45A00;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.46;
}

.top_cta01_check_text_black {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

.top_cta01_decotext {
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
    margin-inline: auto;
    margin-top: 2px;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.top_cta01_decotext::before,
.top_cta01_decotext::after {
    aspect-ratio: 2/34;
    background: #000000;
    content: "";
    position: absolute;
    top: 3px;
    width: 2px;
}

.top_cta01_decotext::before {
    left: -18px;
    rotate: -36deg;
}

.top_cta01_decotext::after {
    right: -18px;
    rotate: 36deg;
}

.top_cta01_btns {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-top: 17px;
}

.top_cta01_btn {
    position: relative;
    width: min(100%, 370px);
}

.top_cta01_btn:first-of-type::after {
    background-image: repeating-linear-gradient(180deg, #939393, #939393 2px, transparent 2px, transparent 4px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 2px 100%;
    content: "";
    height: 70px;
    position: absolute;
    right: -30px;
    top: 5.5px;
    width: 2px;
}

.top_estate {
    background: #FFFFFF;
    padding-bottom: 290px;
    position: relative;
}

.top_estate_container {
    position: relative;
}

.top_estate_container::before {
    background: #F5F5F5;
    content: "";
    display: inline-block;
    height: 460px;
    left: 100px;
    position: absolute;
    top: 190px;
    width: min(100%, 1190px);
}

.top_estate_img {
    display: block;
    padding-left: 10px;
    padding-top: 10px;
    position: relative;
    width: min(100%, 1240px);
    z-index: 1;
}

.top_estate_img::before {
    background: #1C482D;
    content: "";
    height: 330px;
    left: 0;
    position: absolute;
    top: 0;
    width: min(100%, 1200px);
    z-index: -1;
}

.top_estate_img img {
    -o-object-fit: contain;
    aspect-ratio: 1230/350;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.top_estate_textwrap {
    margin-inline: auto;
    margin-top: 40px;
    padding-left: 20px;
    position: relative;
}

.top_estate_headline_sub {
    font-family: "DIN2014", sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.29;
}

.top_estate_headline_main {
    color: #183F27;
    font-size: 50px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.22;
    margin-top: 8px;
}

.top_estate .estate_box {
    margin-top: 40px;
    background-color: #fff;
    padding: 40px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    height: 330px;
    overflow-y: scroll;
}

.top_estate_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin-top: 7px;
}

.top_estate_text+.top_estate_text {
    margin-top: 1.3em;
}

.top_faq {
    background: #FFFFFF;
    padding-block: 140px 130px;
}

.top_faq_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 12px;
    text-align: center;
}

.top_faq_item {
    margin-top: 37px;
}

.top_faq_btn {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.top_features {
    background: url(./image/top_features_bg01.jpg) center center/100% 100% no-repeat;
    padding-block: 110px 119px;
}

.top_features_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 10px;
    text-align: center;
}

.top_features_item {
    margin-top: 33px;
}

.top_features_btn {
    display: flex;
    justify-content: center;
    margin-top: 59px;
}

.top_flow {
    background: #FFFFFF;
    padding-block: 130px 142px;
}

.top_flow_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 8px;
    text-align: center;
}

.top_flow_item {
    margin-top: 74px;
}

.top_flow_btn {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.top_follow {
    padding-block: 61px 94px;
    position: relative;
}

.top_follow::before {
    background: url(./image/top_follow_bg01.jpg) center center/100% 100% no-repeat;
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(50% + 430px);
}

.top_follow_img {
    left: -150px;
    position: absolute;
    top: -120px;
    width: 600px;
    z-index: 1;
}

.top_follow_img img {
    -o-object-fit: cover;
    aspect-ratio: 600/540;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.top_follow_img::before {
    background: #1C482D;
    content: "";
    display: inline-block;
    height: 100%;
    left: 10px;
    position: absolute;
    top: 10px;
    width: 100%;
    z-index: -1;
}

.top_follow_container {
    position: relative;
}

.top_follow_textwrap {
    margin-left: auto;
    width: min(100%, 580px);
}

.top_follow_headline_sub {
    font-family: "DIN2014", sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.29;
}

.top_follow_headline_main {
    margin-top: 14px;
}

.top_follow_headline_main_black {
    display: block;
    font-size: 38px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

.top_follow_headline_main_green {
    color: #183F27;
    font-size: 54px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.22;
    margin-top: 1px;
}

.top_follow_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 21px;
}

.top_follow_checks {
    margin-top: 32px;
}

.top_follow_check {
    align-items: center;
    background: #FFFFFF;
    display: flex;
    gap: 14px;
    padding: 12px 18px 15.5px;
}

.top_follow_check+.top_follow_check {
    margin-top: 14px;
}

.top_follow_check_icon {
    flex-shrink: 0;
    width: 27.97px;
}

.top_follow_check_icon img {
    -o-object-fit: contain;
    aspect-ratio: 27.97/26.75;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.top_follow_check_text {
    display: inline-block;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.78;
}

.top_follow_check_text_line {
    background-image: repeating-linear-gradient(90deg, #707070, #707070 3px, transparent 3px, transparent 6px);
    background-position: left bottom;
    background-position: left bottom;
    background-repeat: repeat-x;
    background-repeat: repeat-x;
    background-size: 100% 2px;
    display: inline-block;
    display: inline;
    padding-bottom: 4.5px;
    position: relative;
}

.top_follow_check_text_highlight {
    color: #265D43;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

.top_mv {
    margin-top: 120px;
    overflow: hidden;
    padding-block: 30px 171px;
    position: relative;
}

.top_mv::before {
    background: url(./image/top_mv01.jpg) center center/cover no-repeat;
    content: "";
    filter: blur(4px);
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.top_mv::after {
    background-color: rgba(0, 0, 0, 0.3);
    content: "";
    inset: 0;
    position: absolute;
}

.top_mv_container {
    position: relative;
    z-index: 1;
}

.top_mv_catch {
    text-align: center;
}

.top_mv_catch01 {
    align-items: baseline;
    color: #FFFFFF;
    display: flex;
    font-size: 45px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0.04em;
    line-height: 1.4;
    padding-left: 47px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.top_mv_catch01_text {
    color: #FFFFFF;
    font-size: 45px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.6);
}

.top_mv_catch01_text_gold {
    color: #FAD887;
}

.top_mv_catch01_num {
    color: #FFFFFF;
    font-family: "DIN2014", sans-serif;
    font-size: 72px;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.28;
    margin-right: 6px;
}

.top_mv_catch02 {
    display: block;
    margin-top: -19px;
}

.top_mv_catch02_text {
    color: #FFFFFF;
    font-size: 70px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.6);
}

.top_mv_catch02_gold {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(to bottom, #FFF8A0, #FDCB6B);
    background-clip: text;
    display: inline-block;
    filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.6));
    margin-right: -3px;
    text-shadow: none;
}

.top_mv_band {
    align-items: center;
    background: #235536;
    clip-path: polygon(0 0, 100% 0, 98% 50%, 100% 100%, 0 100%, 2% 50%);
    display: flex;
    justify-content: center;
    margin-inline: auto;
    margin-top: 3px;
    padding: 6px 36px 6px 30px;
    width: -moz-fit-content;
    width: fit-content;
}

.top_mv_band_secret_pc {
    align-items: flex-end;
    display: flex;
    gap: 3.7px;
    padding-right: 18px;
    position: relative;
}

.top_mv_band_secret_pc::after {
    background-image: repeating-linear-gradient(180deg, #ffffff, #ffffff 2px, transparent 2px, transparent 4px);
    background-position: right top;
    background-repeat: repeat-y;
    background-size: 2px 100%;
    content: "";
    height: 30px;
    opacity: 0.7;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
}

.top_mv_line {
    display: none;
}

.top_mv_line img {
    -o-object-fit: contain;
    aspect-ratio: 300/4;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.top_mv_band_secret_sp {
    display: none;
}

.top_mv_band_secret_icon {
    background: #174328;
    border-radius: 100vh;
    display: grid;
    height: 36.35px;
    place-items: center;
    width: 36.35px;
}

.top_mv_band_secret_icon img {
    -o-object-fit: contain;
    aspect-ratio: 17.87/22.98;
    height: auto;
    object-fit: contain;
    width: 17.87px;
}

.top_mv_band_secret_text {
    color: #FFED67;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.45;
    position: relative;
}

.top_mv_band_secret_text::before {
    background-image: radial-gradient(circle, #ffed67 2.5px, transparent 2.5px), radial-gradient(circle, #ffed67 2.5px, transparent 2.5px);
    background-position: left top, left bottom;
    background-repeat: repeat-x, repeat-x;
    background-size: 21px 5px, 21px 5px;
    content: "";
    height: 5px;
    left: 48%;
    position: absolute;
    top: -3.3px;
    transform: translateX(-50%);
    width: 100%;
}

.top_mv_band_text {
    color: #FFFFFF;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
    padding-left: 18px;
}

.top_mv_powered {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin-top: 8px;
    text-align: center;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.6);
}

.top_mv_badges {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 31px;
}

.top_mv_badges_item {
    display: block;
    flex-shrink: 0;
    position: relative;
    width: 310px;
}

.top_mv_badges_item img {
    -o-object-fit: contain;
    aspect-ratio: 310/110;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.top_mv_badges_item::before {
    aspect-ratio: 300/130;
    background: #FFFFFF;
    border-radius: 63px;
    content: "";
    filter: blur(30px);
    height: auto;
    left: 50%;
    opacity: 0.8;
    position: absolute;
    top: -15px;
    transform: translateX(-50%);
    width: 300px;
    z-index: -1;
}

.top_problem {
    background: #FFFFFF;
    padding-block: 148px 110px;
}

.top_problem_text {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 12px;
    text-align: center;
}

.top_problem_item {
    margin-top: 39px;
}

.top_review {
    background: url(./image/top_review_bg01.png) center center/cover no-repeat;
    padding-block: 66px 90px;
}

.top_review_headline {
    text-align: center;
}

.top_review_sub {
    color: #FFFFFF;
    font-family: "DIN2014", sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.29;
}

.top_review_main {
    margin-top: 7px;
    padding-left: 14px;
}

.top_review_main_white {
    color: #FFFFFF;
    font-size: 50px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.44;
}

.top_review_main_white02 {
    display: block;
    margin-top: -8px;
}

.top_review_main_gold {
    color: #FFEB95;
    font-size: 57px;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-left: 6px;
}

.top_review_text {
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.4;
    margin-top: 10px;
    text-align: center;
}

.top_review_textimg {
    display: block;
    margin-inline: auto;
    margin-top: 17px;
    width: min(100%, 505.33px);
}

.top_review_textimg img {
    -o-object-fit: contain;
    aspect-ratio: 505.33/126.62;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.top_review_content {
    align-items: center;
    background: #EFEFEF;
    display: flex;
    justify-content: space-between;
    margin-top: 45px;
    padding: 50px;
}

.top_review_textcontent {
    background: #FFFFFF;
    padding: 35px 36px 35px 40px;
    width: min(100%, 800px);
}

.top_review_textwrap {
    display: flex;
    gap: 40px;
    height: 285px;
    position: relative;
}

.top_review_scrollarea {
    -ms-overflow-style: none;
    flex: 1;
    height: 100%;
    overflow-y: scroll;
    position: relative;
    /* ネイティブスクロールバーを非表示 */
    scrollbar-width: none;
}

.top_review_scrollarea::-webkit-scrollbar {
    display: none;
}

.top_review_scrollhint {
    display: none;
}

@keyframes scrollhint {

    0%,
    100% {
        transform: translate(-50%, -50%);
    }

    50% {
        transform: translate(-50%, -60%);
    }
}

.top_review_scrollbar {
    flex-shrink: 0;
    height: 100%;
    position: relative;
    width: 14px;
}

.top_review_scrollbar_track {
    background: #DDDDDD;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 2px;
}

.top_review_scrollbar_thumb {
    background: #265D43;
    border-radius: 7px;
    cursor: grab;
    height: 70px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    transition: background 0.2s;
    width: 14px;
}

.top_review_scrollbar_thumb:active {
    cursor: grabbing;
}

.top_review_banners {
    width: min(100%, 320px);
}

.top_review_banner {
    display: block;
    transition: 0.3s ease;
}

.top_review_banner+.top_review_banner {
    margin-top: 15px;
}

.top_review_banner_img {
    display: grid;
    padding: 23px;
    place-items: center;
}

.top_review_banner_img img {
    -o-object-fit: contain;
    aspect-ratio: 220/90;
    height: auto;
    object-fit: contain;
    width: 220px;
}

.top_review_banner_img01 {
    background: #255AA7;
}

.top_review_banner_img02 {
    background: #F5E1C6;
}

.top_review_banner_head {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.43;
    padding: 6px 2px 8px;
    text-align: center;
}

.top_review_banner_head01 {
    background: #143260;
}

.top_review_banner_head02 {
    background: #523A1B;
}

.top_service {
    background: #FFFFFF;
    overflow-x: clip;
    padding-top: 130px;
}

.top_service_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 12px;
    text-align: center;
}

.top_service_slider_pc {
    margin-top: 40px;
}

.top_service_slider_sp {
    display: none;
}

.top_store {
    background: url(./image/top_store_bg01.jpg) center center/cover no-repeat;
    padding-block: 120px 128px;
}

.top_store_container {
    position: relative;
}

.top_store_text {
    color: #5F5F5F;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.67;
    margin-top: 12px;
    text-align: center;
}

.top_store_item {
    margin-top: 36px;
}

.error-404 {
    padding-block: 200px 100px;
}

@media screen and (max-width: 750px) {
    .radio_btns .radio_btns__item+span {
        font-size: 3.59vw;
    }

    .radio_btns .radio_btns__item+span::before,
    .radio_btns .radio_btns__item+span::after {
        width: 5.13vw;
    }

    .radio_btns .radio_btns__item+span::after {
        left: 1.28vw;
        width: 2.56vw;
    }

    .mwform-checkbox-field-text {
        font-size: 3.59vw;
        padding-left: 7.69vw;
    }

    .mwform-checkbox-field-text::before {
        width: 5.13vw;
    }

    .mwform-checkbox-field-text::after {
        width: 5.13vw;
    }

    .l-content {
        padding-top: 22.56vw;
    }

    a[href^="tel:"] {
        pointer-events: all;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    img {
        /* タッチイベント自体を無効化 */
        -webkit-touch-callout: none;
        /* 長押し時のメニューを無効化 (iOS Safari) */
        -webkit-user-select: none;
        /* テキスト選択を無効化 */
        -webkit-user-drag: none;
        /* ドラッグ動作を無効化 */
        -moz-user-select: none;
        pointer-events: none;
        /* 他のブラウザでの選択無効化 */
        touch-action: manipulation;
        user-select: none;
        /* ズームやスクロールジェスチャーを制限 */
    }

    .wrap {
        max-width: 89.75%;
    }

    .wrap.lr {
        max-width: 94.87%;
    }

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

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

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

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

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

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

    #sp_header .icon {
        color: #000;
        position: absolute;
    }

    #sp_header .mail {
        font-size: 25px;
        right: 70px;
        top: 13px;
    }

    #sp_header .tel {
        font-size: 20px;
        right: 110px;
        top: 15px;
    }

    /* SP固定ページ 共通設定 */
    .common_page_main {
        padding-block: 20vw;
    }

    .common_page_main .title_box .title {
        font-size: 5.6vw;
    }

    .common_page_wrap {
        padding: 10.26vw 0 20.51vw;
    }

    .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: 0.06em;
    }

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

    .common_contact_form .form_box dl {
        gap: 0.6em;
        grid-template-columns: 1fr;
    }

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

    .common_contact_form .form_box dl dt {
        flex-direction: row-reverse;
        font-size: 4.1vw;
        justify-content: space-between;
        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 [type=number],
    .common_contact_form #zip,
    .common_contact_form #zip2 {
        font-size: 3.6vw;
    }

    .common_contact_form [type=number] {
        flex-shrink: 0;
        width: 49%;
    }

    .common_contact_form select,
    .common_contact_form .hasDatepicker[type=text] {
        font-size: 3.6vw;
        width: 100%;
    }

    .common_contact_form textarea {
        font-size: 3.6vw;
        height: 33vw;
    }

    .radio_btns .radio_btns__item+span {
        font-size: 3.6vw;
    }

    .radio_btns .radio_btns__item+span::before,
    .radio_btns .radio_btns__item+span::after {
        width: 5vw;
    }

    /* after上書き */
    .radio_btns .radio_btns__item+span::after {
        left: 1.25vw;
        width: 2.5vw;
    }

    .radio_btns,
    .checkboxes {
        gap: 0.5em 2.5em;
    }

    .page_contact #btn_wrap button {
        font-size: 4.6vw;
        line-height: 15.5vw;
        width: 83%;
    }

    .page_contact #btn_wrap button[name=submitBack] {
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .page_contact #btn_wrap {
        text-align: center;
        width: 100%;
    }

    .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 6.41vw;
    }

    .mwform-checkbox-field-text::before {
        border-radius: 0.51vw;
        width: 3.85vw;
    }

    .mwform-checkbox-field-text::after {
        width: 3.85vw;
    }

    .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 {
        padding: 5vw 0;
        width: 96%;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dt {
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dd {
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .privacy_term_outer .privacy_term_inner dl+dl {
        margin-top: 7vw;
    }

    .privacy_term_detail::after {
        margin: 1.5vw auto 0;
        width: 2.5vw;
    }

    /* サンクスページ */
    .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 {
        font-size: 4vw;
        line-height: 12vw;
        width: 80%;
    }

    /* ステップバー デザイン */
    .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 {
        left: -3.3em;
        top: 63%;
        width: 5.7vw;
    }

    .page_contact .progressbar .item .mark {
        margin: 0 auto 0.4em;
        width: 7.7vw;
    }

    /* 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: 5.13vw;
    }

    .archive_page_list>article .date {
        width: 80px;
    }

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

    .archive_page_list>article:after {
        height: 1.79vw;
        width: 1.79vw;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        line-height: 9vw;
        margin-bottom: 1vw;
        padding: 1vw 2vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    .common_btn04 {
        padding: 4.74vw 1.28vw 4.62vw 14.1vw;
        width: min(100%, 76.92vw);
    }

    .common_btn04::before {
        top: 1.54vw;
    }

    .common_btn04::after {
        right: 2.82vw;
        width: 2.82vw;
    }

    .common_btn04_icon {
        left: 1.79vw;
        width: min(100%, 10.26vw);
    }

    .common_btn04_text {
        gap: 1.13vw;
    }

    .common_btn04_text_gold {
        width: 11.51vw;
    }

    .common_btn04_text_gold img {
        margin-top: 0.51vw;
    }

    .common_btn04_text_white {
        font-size: 3.85vw;
        line-height: 1.4;
    }

    .common_btn05 {
        padding: 4.74vw 1.28vw 4.62vw 14.1vw;
        width: min(100%, 76.92vw);
    }

    .common_btn05::before {
        top: 1.54vw;
    }

    .common_btn05::after {
        right: 2.82vw;
        width: 2.82vw;
    }

    .common_btn05_icon {
        left: 1.79vw;
        width: min(100%, 10.26vw);
    }

    .common_btn05_text {
        gap: 1.13vw;
    }

    .common_btn05_text_gold {
        width: 11.51vw;
    }

    .common_btn05_text_gold img {
        margin-top: 0.51vw;
    }

    .common_btn05_text_white {
        font-size: 3.85vw;
        line-height: 1.4;
    }

    .common_btn06 {
        font-size: 3.85vw;
        padding: 5.26vw 4.87vw;
        width: min(100%, 79.49vw);
    }

    .common_btn06::after {
        right: 3.08vw;
        width: 2.82vw;
    }

    .common_btn07 {
        padding: 5.26vw 2.56vw;
        width: min(100%, 58.97vw);
    }

    .common_btn07::after {
        right: 3.85vw;
        width: 2.82vw;
    }

    .common_btn07_text {
        font-size: 3.85vw;
        padding-right: 1.54vw;
    }

    .common_btn08 {
        padding: 2.82vw 2.56vw;
        width: min(100%, 82.05vw);
    }

    .common_btn08::after {
        right: 3.33vw;
        width: 2.56vw;
    }

    .common_btn08_text {
        font-size: 3.59vw;
        padding-right: 0vw;
    }

    .common_btn09 {
        width: min(100%, 79.49vw);
    }

    .common_btn09_decotext {
        display: none;
    }

    .common_btn09_link {
        margin-top: 0;
        padding: 4.62vw 1.28vw 4.62vw 20.77vw;
        width: min(100%, 79.49vw);
    }

    .common_btn09_link::before {
        top: 1.54vw;
    }

    .common_btn09_link::after {
        right: 4.36vw;
        width: 2.31vw;
    }

    .common_btn09_icon {
        left: 2.56vw;
        width: min(100%, 10.26vw);
    }

    .common_btn09_text {
        gap: 1.82vw;
    }

    .common_btn09_text_gold {
        width: 11.79vw;
    }

    .common_btn09_text_gold img {
        margin-top: 0.51vw;
    }

    .common_btn09_text_white {
        font-size: 4.1vw;
        line-height: 1.5;
    }

    .common_btn10 {
        width: min(100%, 79.49vw);
    }

    .common_btn10_decotext {
        display: none;
    }

    .common_btn10_link {
        margin-top: 0;
        padding: 4.62vw 1.28vw 4.62vw 20.77vw;
        width: min(100%, 79.49vw);
    }

    .common_btn10_link::before {
        top: 1.54vw;
    }

    .common_btn10_link::after {
        right: 4.36vw;
        width: 2.31vw;
    }

    .common_btn10_icon {
        left: 2.56vw;
        width: min(100%, 10.26vw);
    }

    .common_btn10_text {
        gap: 1.31vw;
    }

    .common_btn10_text_gold {
        width: 11.79vw;
    }

    .common_btn10_text_gold img {
        margin-top: 0.51vw;
    }

    .common_btn10_text_white {
        font-size: 4.1vw;
        line-height: 1.5;
    }

    .common_btn11 {
        width: min(100%, 79.49vw);
    }

    .common_btn11_decotext {
        display: none;
    }

    .common_btn11_decotext::before,
    .common_btn11_decotext::after {
        aspect-ratio: 2/22;
        bottom: -0.77vw;
        width: 0.51vw;
    }

    .common_btn11_decotext::before {
        left: -3.59vw;
        rotate: -30deg;
    }

    .common_btn11_decotext::after {
        right: -3.59vw;
        rotate: 30deg;
    }

    .common_btn11_link {
        margin-top: 0;
        padding: 4.62vw 1.28vw 4.62vw 20.77vw;
        width: min(100%, 79.49vw);
    }

    .common_btn11_link::before {
        top: 1.54vw;
    }

    .common_btn11_link::after {
        right: 4.36vw;
        width: 2.31vw;
    }

    .common_btn11_icon {
        left: 2.82vw;
        width: min(100%, 10.26vw);
    }

    .common_btn11_text {
        gap: 1.82vw;
    }

    .common_btn11_text_gold {
        width: 11.79vw;
    }

    .common_btn11_text_gold img {
        aspect-ratio: 46/15.23;
        margin-top: 0.51vw;
    }

    .common_btn11_text_white {
        font-size: 4.1vw;
        line-height: 1.5;
    }

    .common_btn13 {
        font-size: 3.08vw;
        padding: 2.31vw;
    }

    .common_btn13::after {
        right: 2.56vw;
        width: 1.79vw;
    }

    .common_btn14 {
        background: #C45A00;
        display: inline-block;
        padding: 4.92vw 1.28vw 4.92vw 19.49vw;
        position: relative;
        width: min(100%, 74.36vw);
    }

    .common_btn14::before {
        background: #813C00;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 1.28vw;
        width: 100%;
        z-index: -1;
    }

    .common_btn14::after {
        aspect-ratio: 1/2;
        background: url(./image/icon_right_white01.png) center center/contain no-repeat;
        content: "";
        display: inline-block;
        position: absolute;
        right: 3.85vw;
        top: 50%;
        transform: translateY(-50%);
        width: 2.31vw;
    }

    .common_btn14_icon {
        aspect-ratio: 1/1;
        height: auto;
        left: 2.56vw;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: min(100%, 10.26vw);
    }

    .common_btn14_icon img {
        -o-object-fit: contain;
        aspect-ratio: 1/1;
        height: auto;
        object-fit: contain;
        width: 100%;
    }

    .common_btn14_text {
        align-items: center;
        display: flex;
        gap: 1.31vw;
    }

    .common_btn14_text_gold {
        align-items: center;
        display: flex;
        flex-shrink: 0;
        width: 11.51vw;
    }

    .common_btn14_text_gold img {
        -o-object-fit: contain;
        aspect-ratio: 44.89/15.23;
        height: auto;
        margin-top: 0.51vw;
        object-fit: contain;
        width: 100%;
    }

    .common_btn14_text_white {
        color: #FFFFFF;
        font-size: 3.85vw;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1.4;
    }

    .common_btn15 {
        background: #195831;
        display: inline-block;
        padding: 4.92vw 1.28vw 4.92vw 19.49vw;
        position: relative;
        width: min(100%, 74.36vw);
    }

    .common_btn15::before {
        background: #0C331B;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 1.28vw;
        width: 100%;
        z-index: -1;
    }

    .common_btn15::after {
        aspect-ratio: 1/2;
        background: url(./image/icon_right_white01.png) center center/contain no-repeat;
        content: "";
        display: inline-block;
        position: absolute;
        right: 3.85vw;
        top: 50%;
        transform: translateY(-50%);
        width: 2.31vw;
    }

    .common_btn15_icon {
        aspect-ratio: 1/1;
        height: auto;
        left: 2.56vw;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: min(100%, 10.26vw);
    }

    .common_btn15_icon img {
        -o-object-fit: contain;
        aspect-ratio: 1/1;
        height: auto;
        object-fit: contain;
        width: 100%;
    }

    .common_btn15_text {
        align-items: center;
        display: flex;
        gap: 1.31vw;
    }

    .common_btn15_text_gold {
        align-items: center;
        display: flex;
        flex-shrink: 0;
        width: 11.51vw;
    }

    .common_btn15_text_gold img {
        -o-object-fit: contain;
        aspect-ratio: 44.89/15.23;
        height: auto;
        margin-top: 0.51vw;
        object-fit: contain;
        width: 100%;
    }

    .common_btn15_text_white {
        color: #FFFFFF;
        font-size: 3.85vw;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1.4;
    }

    .common_btn16 {
        background: #00A845;
        display: inline-block;
        padding: 4.62vw 1.28vw 4.62vw 19.49vw;
        position: relative;
        width: min(100%, 74.36vw);
    }

    .common_btn16::before {
        background: #008637;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 1.28vw;
        width: 100%;
        z-index: -1;
    }

    .common_btn16::after {
        aspect-ratio: 1/2;
        background: url(./image/icon_right_white01.png) center center/contain no-repeat;
        content: "";
        display: inline-block;
        position: absolute;
        right: 3.85vw;
        top: 50%;
        transform: translateY(-50%);
        width: 2.31vw;
    }

    .common_btn16_icon {
        aspect-ratio: 1/1;
        height: auto;
        left: 2.56vw;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: min(100%, 10.26vw);
    }

    .common_btn16_icon img {
        -o-object-fit: contain;
        aspect-ratio: 1/1;
        height: auto;
        object-fit: contain;
        width: 100%;
    }

    .common_btn16_text {
        align-items: center;
        display: flex;
        gap: 1.31vw;
    }

    .common_btn16_text_gold {
        align-items: center;
        display: flex;
        flex-shrink: 0;
        width: 11.51vw;
    }

    .common_btn16_text_gold img {
        -o-object-fit: contain;
        aspect-ratio: 44.89/15.23;
        height: auto;
        margin-top: 0.51vw;
        object-fit: contain;
        width: 100%;
    }

    .common_btn16_text_white {
        color: #FFFFFF;
        font-size: 4.1vw;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1.5;
    }

    .common_headline01_sub {
        font-size: 5.64vw;
        line-height: 1.27;
    }

    .common_headline01_main {
        font-size: 7.69vw;
        line-height: 1.2;
        margin-top: 2.05vw;
    }

    .common_headline01_main_big {
        font-size: 8.72vw;
        line-height: 1.29;
        margin-top: 1.54vw;
    }

    .common_headline02_sub {
        font-size: 5.64vw;
        line-height: 1.27;
    }

    .common_headline02_main {
        font-size: 7.69vw;
        letter-spacing: 0.04em;
        line-height: 1.47;
        margin-top: 0.51vw;
    }

    .common_lower_headline01_sub {
        font-size: 5.13vw;
        line-height: 1.25;
    }

    .common_lower_headline01_main {
        font-size: 7.18vw;
        line-height: 1.32;
    }

    .common_lower_headline01_main_small {
        display: block;
        font-size: 5.64vw;
        margin-left: -2.56vw;
    }

    .breadcrumb span,
    .breadcrumb a {
        font-size: 3.08vw;
        line-height: 1.58;
    }

    .breadcrumb_icon {
        font-size: 3.08vw;
        line-height: 1.58;
        margin-inline: 1.28vw;
    }

    .common_card01 {
        padding-top: 2.82vw;
        width: min(100%, 44.62vw);
    }

    .common_card01_tag {
        font-size: 3.85vw;
        padding: 1.41vw 1.79vw;
    }

    .common_card01_img img {
        aspect-ratio: 174/120;
    }

    .common_card02 {
        padding-top: 10.77vw;
        width: min(100%, 89.74vw);
    }

    .common_card02_tag {
        padding: 1.28vw;
        width: 30.77vw;
    }

    .common_card02_tag_text {
        font-size: 3.08vw;
    }

    .common_card02_tag_num {
        font-size: 6.67vw;
        margin-top: -0.51vw;
    }

    .common_card02_img img {
        aspect-ratio: 350/165;
    }

    .common_card02_banner_wrap {
        bottom: -4.36vw;
        gap: 1.03vw;
    }

    .common_card02_banner {
        font-size: 4.62vw;
        padding: 2.05vw 3.85vw;
    }

    .common_card02_banner01 {
        padding-right: 2.82vw;
    }

    .common_card02_banner02 {
        padding-right: 6.79vw;
    }

    .common_card02_banner03 {
        padding-right: 5.38vw;
    }

    .common_card02_banner04 {
        padding-right: 6.31vw;
    }

    .common_card02_banner05 {
        padding-right: 5.38vw;
    }

    .common_card02_banner06 {
        padding-right: 6.41vw;
    }

    .common_card02_banner07 {
        padding-right: 5.38vw;
    }

    .common_card02_banner08 {
        padding-right: 6.41vw;
    }

    .common_card02_banner09 {
        padding-right: 5.38vw;
    }

    .common_card02_banner10 {
        padding-right: 6.41vw;
    }

    .common_card02_banner11 {
        padding-right: 5.38vw;
    }

    .common_card02_banner12 {
        padding-right: 6.41vw;
    }

    .common_card02_body {
        min-height: 36.4vw;
        padding: 7.44vw 3.85vw 4.62vw;
    }

    .common_card02_text {
        font-size: 3.08vw;
        letter-spacing: 0.06em;
        line-height: 1.58;
    }

    .common_cards01_pc {
        display: none;
    }

    .common_cards01_sp {
        display: block;
        padding-bottom: 11.54vw;
        position: relative;
    }

    .common_cards01_lower {
        gap: 5.13vw;
        grid-template-columns: repeat(1, 1fr);
    }

    .common_contact {
        background-image: url(./image/common_contact_bg_sp01.png);
        padding-block: 14.62vw 14.36vw;
    }

    .common_contact_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-left: -0.26vw;
        margin-top: 2.31vw;
    }

    .common_contact_wrap {
        border-radius: 2.05vw;
        flex-direction: column;
        margin-top: 11.54vw;
        padding: 9.23vw 5.13vw 6.67vw;
    }

    .common_contact_decotext {
        padding: 1.79vw 2.82vw 1.79vw 3.85vw;
        top: -4.36vw;
    }

    .common_contact_decotext_white {
        font-size: 3.85vw;
        line-height: 1.4;
    }

    .common_contact_decotext_gold {
        margin-left: 1.36vw;
        margin-right: 1.08vw;
        width: 28.35vw;
    }

    .common_contact_decotext_gold img {
        aspect-ratio: 110.58/18.44;
    }

    .common_contact_btn {
        width: 100%;
    }

    .common_contact_btn+.common_contact_btn {
        margin-top: 8.72vw;
    }

    .common_contact_btn::after {
        background-image: repeating-linear-gradient(90deg, #4e4e4e, #4e4e4e 0.51vw, transparent 0.51vw, transparent 1.03vw);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 100% 0.51vw;
        bottom: -5.13vw;
        height: 0.51vw;
        left: 0;
        right: unset;
        width: 100%;
    }

    .common_contact_tel {
        margin-top: 6.15vw;
    }

    .common_contact_tel::before,
    .common_contact_tel::after {
        height: 0.51vw;
        width: 66.67vw;
    }

    .common_contact_telwrap {
        flex-direction: column;
        gap: 0.26vw;
        padding-block: 2.82vw 2.05vw;
        padding-right: 0;
    }

    .common_contact_teltext {
        font-size: 3.85vw;
        line-height: 1.4;
        padding-right: 0;
    }

    .common_contact_teltext::after {
        display: none;
    }

    .common_contact_telmeta {
        gap: 2.1vw;
        padding-left: 0;
    }

    .common_contact_icon {
        width: 4.77vw;
    }

    .common_contact_telnum {
        font-size: 7.18vw;
        line-height: 1.29;
    }

    .common_follow_pc {
        display: none;
    }

    .common_follow_sp01 {
        align-items: center;
        background: linear-gradient(to bottom, #2F5F41, #153E24);
        display: flex;
        gap: 5.79vw;
        left: 0;
        left: 0;
        padding: 1.1vw 3.03vw 1.67vw;
        position: fixed;
        position: fixed;
        top: 20.51vw;
        width: 100%;
        z-index: 1600;
    }

    .common_follow_sp01_icon {
        flex-shrink: 0;
        width: 8.62vw;
    }

    .common_follow_sp01_text {
        color: #FFFFFF;
        font-size: 3.85vw;
        font-weight: 900;
        letter-spacing: 0.05em;
        line-height: 1;
    }

    .common_follow_sp01_text_gold {
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background: linear-gradient(to bottom, #FFF8A0, #FDCB6B);
        background-clip: text;
        display: inline-block;
        font-size: 4.36vw;
        font-weight: 900;
        letter-spacing: 0.11em;
        line-height: 1;
    }

    .common_follow_sp01_arrow {
        aspect-ratio: 1/2;
        background: url(./image/icon_right_white01.png) center center/contain no-repeat;
        height: auto;
        position: absolute;
        right: 3.33vw;
        top: 50%;
        transform: translateY(-50%);
        width: 2.56vw;
    }

    .common_follow_sp02 {
        background: #195831;
        bottom: 0;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
        display: block;
        left: 0;
        opacity: 0;
        padding: 2.05vw 2.56vw;
        position: fixed;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        visibility: hidden;
        width: 100%;
        z-index: 1000;
    }

    .common_follow_sp02.is_visible {
        opacity: 1;
        visibility: visible;
    }

    .common_follow_sp02_banner {
        align-items: center;
        background: #6C3609;
        border-radius: 4.62vw;
        display: flex;
        gap: 0.26vw;
        justify-content: center;
        left: 50%;
        padding: 1.28vw 4.1vw 1.54vw 4.36vw;
        position: absolute;
        top: -2.82vw;
        transform: translateX(-50%);
        white-space: nowrap;
    }

    .common_follow_sp02_banner_text {
        color: #FFFFFF;
        font-size: 3.33vw;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1.46;
    }

    .common_follow_sp02_banner_text_gold {
        width: 26.41vw;
    }

    .common_follow_sp02_body {
        align-items: center;
        background: #FFFFFF;
        border-radius: 1.03vw;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
        display: flex;
        gap: 2.05vw;
        padding: 4.62vw 2.05vw 2.05vw;
    }

    .common_follow_sp02_btn_main {
        background: #C45A00;
        flex-shrink: 0;
        padding: 3.72vw 1.28vw 3.72vw 11.03vw;
        position: relative;
        width: 46.15vw;
    }

    .common_follow_sp02_btn_main_icon {
        flex-shrink: 0;
        left: 1.03vw;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 9.23vw;
    }

    .common_follow_sp02_btn_main_text {
        align-items: center;
        color: #FFFFFF;
        display: flex;
        font-size: 3.85vw;
        font-weight: 900;
        gap: 0.77vw;
        letter-spacing: 0.04em;
        line-height: 1.4;
    }

    .common_follow_sp02_btn_main_text_gold {
        display: inline-block;
        width: 12.82vw;
    }

    .common_follow_sp02_btn_main_text_gold img {
        -o-object-fit: contain;
        aspect-ratio: 44.89/15.23;
        display: block;
        height: auto;
        margin-top: 0.77vw;
        object-fit: contain;
        width: 100%;
    }

    .common_follow_sp02_btn_line {
        background: #00A845;
        display: grid;
        flex-shrink: 0;
        height: 12.82vw;
        place-items: center;
        width: 12.82vw;
    }

    .common_follow_sp02_btn_line img {
        -o-object-fit: contain;
        aspect-ratio: 1/1;
        height: auto;
        object-fit: contain;
        width: 10.26vw;
    }

    .common_follow_sp02_btn_mail {
        background: #195831;
        display: grid;
        flex-shrink: 0;
        height: 12.82vw;
        place-items: center;
        width: 12.82vw;
    }

    .common_follow_sp02_btn_mail img {
        -o-object-fit: contain;
        aspect-ratio: 1/1;
        height: auto;
        object-fit: contain;
        width: 10.26vw;
    }

    .common_follow_sp02_btn_tel {
        background: #195831;
        display: grid;
        flex-shrink: 0;
        height: 12.82vw;
        place-items: center;
        width: 12.82vw;
    }

    .common_follow_sp02_btn_tel img {
        -o-object-fit: contain;
        aspect-ratio: 1/1;
        height: auto;
        object-fit: contain;
        width: 10.26vw;
    }

    .common_item01 {
        padding-left: 13.33vw;
        padding-top: 0;
    }

    .common_item01::before {
        display: none;
    }

    .common_item01::after {
        background-image: repeating-linear-gradient(90deg, #1C482D, #1C482D 0.51vw, transparent 0.51vw, transparent 1.03vw);
        background-position: left top;
        background-repeat: repeat-x;
        background-repeat: repeat-x;
        background-size: 100% 0.51vw;
        height: 0.51vw;
        left: 5.13vw;
        top: 50%;
        transform: translateY(-50%);
        width: 17.95vw;
    }

    .common_item01_tag {
        height: 10.26vw;
        left: 0;
        padding-top: 1.03vw;
        top: 50%;
        transform: translateX(0) translateY(-50%);
        width: 10.26vw;
    }

    .common_item01_tag_text {
        font-size: 2.56vw;
    }

    .common_item01_tag_num {
        font-size: 4.87vw;
    }

    .common_item01_wrap {
        align-items: stretch;
        flex-direction: row;
        min-height: unset;
    }

    .common_item01_img {
        width: min(100%, 22.56vw);
    }

    .common_item01_img img {
        aspect-ratio: 88/66;
    }

    .common_item01_body {
        align-items: center;
        border-left: 2px solid #183F27;
        border-top: none;
        justify-content: flex-start;
        padding: 2.56vw 3.85vw;
    }

    .common_item01_title {
        font-size: 4.36vw;
        gap: 0vw;
        letter-spacing: 0.04em;
        line-height: 1.35;
        writing-mode: unset;
    }

    .common_item02_question {
        gap: 3.33vw;
        padding: 3.59vw 13.08vw 3.59vw 3.08vw;
    }

    .common_item02_question_icon {
        font-size: 7.18vw;
        height: 10.26vw;
        padding-left: 1.54vw;
        width: 10.26vw;
    }

    .common_item02_question_text {
        font-size: 3.85vw;
        letter-spacing: 0.03em;
        line-height: 1.4;
    }

    .common_item02_question_mark {
        right: 3.85vw;
        width: 5.13vw;
    }

    .common_item02_question_mark01 {
        right: 4.62vw;
        width: 2.56vw;
    }

    .common_item02_answer {
        padding: 2.56vw 0.26vw 3.59vw 5.64vw;
    }

    .common_item02_answer_text {
        align-items: flex-start;
        font-size: 3.08vw;
        gap: 4.62vw;
        line-height: 1.58;
    }

    .common_item02_answer_label {
        font-size: 7.18vw;
        line-height: 1.29;
    }

    .common_item04_img iframe {
        aspect-ratio: 168/90;
    }

    .common_item04_textwrap {
        margin-top: 1.54vw;
    }

    .common_item04_headline {
        font-size: 3.33vw;
        line-height: 1.46;
        padding-bottom: 1.79vw;
    }

    .common_item04_headline::after {
        background-image: repeating-linear-gradient(90deg, #707070, #707070 0.77vw, transparent 0.77vw, transparent 1.54vw);
    }

    .common_item04_address {
        font-size: 3.08vw;
        line-height: 1.5;
        margin-top: 1.28vw;
    }

    .common_item04_hours {
        display: none;
    }

    .common_item04_btn {
        margin-top: 2.82vw;
    }

    .common_item05 {
        display: flex;
        flex-direction: column;
        padding-block: 5.13vw 3.85vw;
    }

    .common_item05::after {
        background-image: repeating-linear-gradient(90deg, #b2b2b2, #b2b2b2 0.51vw, transparent 0.51vw, transparent 1.03vw);
    }

    .common_item05_head {
        display: contents;
    }

    .common_item05_head_meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.77vw;
        order: 1;
    }

    .common_item05_rating {
        width: min(100%, 25.25vw);
    }

    .common_item05_stars {
        gap: 0.51vw;
    }

    .common_item05_stars_fill {
        gap: 0.51vw;
    }

    .common_item05_star {
        background-size: 4.74vw 4.74vw;
        height: 4.74vw;
        width: 4.74vw;
    }

    .common_item05_name {
        font-size: 4.36vw;
        line-height: 1.47;
    }

    .common_item05_shop {
        font-size: 3.33vw;
        line-height: 1.46;
        margin-top: 2.31vw;
        order: 3;
        text-align: right;
    }

    .common_item05_text {
        font-size: 3.08vw;
        line-height: 1.58;
        margin-top: 1.54vw;
        order: 2;
    }

    .common_item06 {
        flex-direction: column-reverse;
        gap: 5.13vw;
        padding-block: 7.69vw;
    }

    .common_item06_body {
        width: 100%;
    }

    .common_item06_titlewrap {
        gap: 3.85vw;
    }

    .common_item06_number {
        height: 12.82vw;
        padding-top: 0.77vw;
        width: 12.82vw;
    }

    .common_item06_number_small {
        font-size: 3.08vw;
    }

    .common_item06_number_big {
        font-size: 5.13vw;
    }

    .common_item06_title {
        font-size: 4.62vw;
    }

    .common_item06_txt {
        font-size: 3.59vw;
        margin-top: 2.56vw;
    }

    .common_item06_img {
        border: 0.51vw solid #1C482D;
        border-radius: 2.56vw;
        width: 100%;
    }

    .common_item06_img img {
        aspect-ratio: 347/180;
    }

    .common_item07_row {
        flex-direction: column;
    }

    .common_item07_row:last-child .common_item07_label::after {
        display: block;
    }

    .common_item07_label {
        gap: 2.56vw;
        padding: 5.13vw 2.56vw;
        width: 100%;
    }

    .common_item07_label::after {
        background-image: repeating-linear-gradient(90deg, #1C482D, #1C482D 0.51vw, transparent 0.51vw, transparent 1.03vw);
    }

    .common_item07_label_icon {
        width: 5.13vw;
    }

    .common_item07_label_text {
        font-size: 3.59vw;
    }

    .common_item07_value {
        font-size: 3.33vw;
        padding: 5.13vw 2.56vw;
    }

    .common_item07_value::after {
        background-image: repeating-linear-gradient(90deg, #b2b2b2, #b2b2b2 0.51vw, transparent 0.51vw, transparent 1.03vw);
    }

    .common_items01::before {
        background-image: url(./image/top_flow_sp01.png);
        height: 135.13vw;
        left: 3.33vw;
        top: 12.31vw;
        transform: unset;
        width: 3.59vw;
    }

    .common_items01 {
        gap: 5.13vw;
        grid-template-columns: repeat(1, 1fr);
    }

    .common_items02 {
        gap: 2.56vw;
    }

    .common_items03 {
        padding-bottom: 9.49vw;
        position: relative;
    }

    .common_items03_inner {
        gap: 0;
    }

    .common_items03 .swiper-pagination {
        bottom: 0;
        display: flex;
        gap: 3.08vw;
        justify-content: center;
        left: 50%;
        transform: translateX(-50%);
    }

    .common_items04 {
        gap: 3.59vw;
    }

    .common_items06_item::after {
        background-image: radial-gradient(circle, #EBEBEB 0.38vw, transparent 0.38vw);
        background-size: 2.31vw 0.77vw;
        height: 0.77vw;
    }

    .common_lower_mv_breadcrumb {
        justify-content: flex-start;
        padding-top: 3.08vw;
    }

    .common_lower_mv {
        margin-top: 30.77vw;
        min-height: 48.72vw;
        padding-block: 10.26vw 10vw;
    }

    .common_lower_mv_img {
        height: 48.72vw;
    }

    .common_lower_mv_img::after {
        background-color: rgba(0, 0, 0, 0.4);
    }

    .common_lower_mv_img img {
        aspect-ratio: 390/190;
    }

    .common_lower_section01 {
        padding-block: 17.95vw;
    }

    .common_media01 {
        align-items: center;
        border-width: 0.64vw;
        flex-direction: column;
        padding: 3.33vw;
    }

    .common_media01_reverse {
        flex-direction: column;
    }

    .common_media01_img {
        order: 1;
        width: 100%;
    }

    .common_media01_img img {
        aspect-ratio: 320/160;
    }

    .common_media01_body {
        display: contents;
    }

    .common_media01_header {
        display: contents;
    }

    .common_media01_header::after {
        display: none;
    }

    .common_media01_title {
        font-size: 4.62vw;
        line-height: 1.44;
        margin-top: 2.56vw;
        order: 2;
        padding-bottom: 2.05vw;
        position: relative;
        width: 100%;
    }

    .common_media01_title::after {
        background-image: repeating-linear-gradient(90deg, #707070, #707070 0.77vw, transparent 0.77vw, transparent 1.54vw);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 100% 1px;
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        width: 100%;
    }

    .common_media01_btn {
        margin-top: 3.85vw;
        order: 5;
        width: 100%;
    }

    .common_media01_text {
        font-size: 3.08vw;
        line-height: 1.58;
        margin-top: 2.56vw;
        order: 3;
    }

    .common_media01_infowrap {
        display: grid;
        gap: 3.08vw 2.56vw;
        grid-template-areas: "map address" "hours hours";
        grid-template-columns: 30.26vw 1fr;
        margin-top: 3.33vw;
        order: 4;
        padding: 3.85vw 3.85vw 4.87vw;
    }

    .common_media01_map {
        grid-area: map;
        width: 100%;
    }

    .common_media01_map iframe {
        aspect-ratio: 118/80;
    }

    .common_media01_info {
        display: contents;
    }

    .common_media01_address {
        font-size: 3.08vw;
        grid-area: address;
        line-height: 1.5;
    }

    .common_media01_hours {
        font-size: 3.08vw;
        grid-area: hours;
        line-height: 1.42;
        margin-top: 0;
    }

    .common_slider03 .swiper-wrapper {
        align-items: stretch;
        animation: loop_reverse 80s linear infinite;
        display: flex;
        width: -moz-fit-content;
        width: fit-content;
    }

    .common_slider03 .swiper-slide {
        align-items: stretch;
        display: flex;
        flex-shrink: 0;
        height: auto;
        margin-left: 3.59vw;
        width: 44.62vw;
    }

    .common_slider03 .swiper-slide:first-child {
        margin-left: 0;
    }

    .common_slider02 .swiper-wrapper {
        align-items: stretch;
        animation: loop 80s linear infinite;
        display: flex;
        width: -moz-fit-content;
        width: fit-content;
    }

    .common_slider02 .swiper-slide {
        align-items: stretch;
        display: flex;
        flex-shrink: 0;
        height: auto;
        margin-left: 3.59vw;
        width: 44.62vw;
    }

    .common_slider02 .swiper-slide:first-child {
        margin-left: 0;
    }

    .common_tag01 {
        min-height: 20.51vw;
        outline-offset: -1.92vw;
        outline-width: 0.51vw;
        padding: 2.56vw;
    }

    .common_tag01::before {
        background-image: repeating-linear-gradient(-45deg, #000000, #000000 1.54vw, transparent 1.54vw, transparent 3.08vw);
    }

    .common_tag01_icon {
        right: 12.05vw;
        top: -1.54vw;
        width: 12.82vw;
    }

    .common_tag01_icon01 {
        right: 12.05vw;
    }

    .common_tag01_icon02 {
        right: 15.13vw;
    }

    .common_tag01_icon03 {
        right: 10vw;
    }

    .common_tag01_icon04 {
        right: 12.56vw;
    }

    .common_tag01_icon05 {
        right: 13.33vw;
    }

    .common_tag01_icon06 {
        right: 5.13vw;
    }

    .common_tag01_num {
        font-size: 6.15vw;
        left: 3.85vw;
        line-height: 1.29;
        top: 2.31vw;
    }

    .common_tag01_text_black {
        font-size: 4.1vw;
        line-height: 1.5;
    }

    .common_tag01_text_green {
        font-size: 4.62vw;
        line-height: 1.33;
    }

    .common_tags01 {
        gap: 2.05vw;
        grid-template-columns: repeat(1, 1fr);
    }

    .ekoda_access_map {
        margin-left: -5.13vw;
        margin-top: 7.69vw;
        width: 100vw;
    }

    .ekoda_access_map iframe {
        aspect-ratio: 380/200;
    }

    .ekoda_info_item {
        margin-top: 7.69vw;
    }

    .ekoda_message_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-top: 2.56vw;
    }

    .ekoda_message_img {
        margin-left: -5.13vw;
        margin-top: 7.69vw;
        padding-left: 2.05vw;
        padding-top: 2.05vw;
        width: 97.44vw;
    }

    .ekoda_message_img::before {
        height: calc(100% - 2.05vw);
        width: calc(100% - 2.05vw);
    }

    .ekoda_message_img img {
        aspect-ratio: 380/200;
    }

    .features01 {
        padding-block: 17.95vw 18.21vw;
    }

    .features01::before {
        background-image: url(./image/top_features_bg_sp01.jpg);
        height: calc(100% + 10.26vw);
    }

    .features01_text {
        font-size: 3.33vw;
        line-height: 1.69;
    }

    .features01_item {
        margin-top: 5.13vw;
    }

    .features01_btn {
        margin-top: 12.82vw;
    }

    .features01_text {
        font-size: 3.33vw;
        line-height: 1.69;
    }

    .footer {
        padding-block: 15.38vw 36.92vw;
    }

    .footer_main {
        flex-direction: column;
    }

    .footer_info {
        padding-bottom: 7.69vw;
        position: relative;
        width: 100%;
    }

    .footer_info::after {
        background-image: repeating-linear-gradient(90deg, #c4c4c4, #c4c4c4 3px, transparent 3px, transparent 6px);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 100% 1px;
        bottom: 0;
        content: "";
        display: block;
        height: 1px;
        left: 0;
        position: absolute;
        width: 100%;
    }

    .footer_catch {
        font-size: 3.33vw;
        line-height: 1.46;
        text-align: center;
    }

    .footer_logo {
        display: block;
        margin-inline: auto;
        margin-top: 2.77vw;
        width: min(100%, 77.17vw);
    }

    .footer_logo img {
        height: auto;
        max-width: 77.18vw;
        width: auto;
    }

    .footer_images {
        gap: 2.56vw;
        margin-top: 6.67vw;
    }

    .footer_images_item img {
        aspect-ratio: 110/100;
    }

    .footer_desc {
        font-size: 3.08vw;
        line-height: 1.58;
        margin-top: 2.31vw;
    }

    .footer_stores {
        border-bottom: 1px solid #D6D6D6;
        margin-top: 7.69vw;
        padding-bottom: 10.26vw;
        position: relative;
        width: 100%;
    }

    .footer_nav {
        margin-top: 7.18vw;
    }

    .footer_nav_list {
        align-items: flex-start;
        flex-direction: column;
        gap: 0vw;
    }

    .footer_nav_item {
        width: 100%;
    }

    .footer_nav_link {
        font-size: 3.59vw;
        line-height: 1.43;
        padding: 2.56vw 0;
    }

    .footer_copyright {
        font-size: 3.08vw;
        line-height: 1.42;
        margin-top: 12.82vw;
    }

    nav.globalMenuSp {
        background: #EDEFEE;
        background-attachment: local;
        display: block;
        height: 100dvh;
        left: 0;
        overflow-y: scroll;
        position: fixed;
        top: 0;
        transform: translateX(100%);
        transition: all 0.6s;
        width: 100%;
        z-index: 1500;
    }

    .globalMenuSp_container {
        padding: 38.46vw 5.13vw 10.26vw;
        position: relative;
        z-index: 1;
    }

    nav.globalMenuSp.is_open {
        transform: translateX(0%);
    }

    .globalMenuSp_contents_title {
        color: #D1D1D1;
        font-family: "DIN2014", sans-serif;
        font-size: 8.72vw;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.26;
    }

    .globalMenuSp_list {
        background: #FFFFFF;
        margin-top: 1.28vw;
        padding: 1.03vw 6.41vw 7.69vw;
    }

    .globalMenuSp_item::after {
        background-image: repeating-linear-gradient(90deg, #C4C4C4, #C4C4C4 3px, transparent 3px, transparent 6px);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 100% 1px;
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        width: 100%;
    }

    .globalMenuSp_trigger {
        display: block;
        font-size: 3.85vw;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.4;
        padding-block: 5.38vw 5.64vw;
        position: relative;
    }

    .globalMenuSp_trigger::after {
        background: url(./image/icon_right_black01.png) center center/contain no-repeat;
        content: "";
        height: 3.59vw;
        position: absolute;
        right: 1.28vw;
        top: 50%;
        transform: translateY(-50%);
        width: 3.33vw;
    }

    .globalMenuSp_trigger01_text {
        color: #1A1A1A;
        font-size: 3.85vw;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.4;
    }

    .globalMenuSp_trigger01_icon {
        aspect-ratio: 2/1;
        background: url(./image/icon_down_black02.png) center center/contain no-repeat;
        display: inline-block;
        position: absolute;
        right: 0.51vw;
        top: 50%;
        transform: translateY(-50%);
        transition: 0.5s ease;
        width: 5.13vw;
    }

    .globalMenuSp_submenu {
        height: 0;
        overflow: hidden;
        position: relative;
        transition: height 0.3s ease, padding-bottom 0.3s ease;
        width: 100%;
    }

    .globalMenuSp_subitem:first-of-type .globalMenuSp_sublink {
        padding-top: 0;
    }

    .globalMenuSp_subitem:last-of-type .globalMenuSp_sublink {
        padding-bottom: 7.69vw;
    }

    .globalMenuSp_sublink {
        color: #6A6A6A;
        display: block;
        font-size: 3.59vw;
        font-weight: 600;
        letter-spacing: 0.04em;
        line-height: 1.43;
        padding-block: 2.31vw;
        width: 100%;
    }

    .globalMenuSp_infowrap {
        margin-top: 10.26vw;
    }

    .globalMenuSp_decotext {
        align-items: flex-end;
        display: flex;
        justify-content: center;
        margin-inline: auto;
        width: -moz-fit-content;
        width: fit-content;
    }

    .globalMenuSp_decotext::before,
    .globalMenuSp_decotext::after {
        background: #000000;
        content: "";
        display: inline-block;
        height: 8.97vw;
        margin-bottom: -0.77vw;
        width: 0.51vw;
    }

    .globalMenuSp_decotext::before {
        margin-right: 5.13vw;
        transform: rotate(-30deg);
    }

    .globalMenuSp_decotext::after {
        margin-left: 3.85vw;
        transform: rotate(30deg);
    }

    .globalMenuSp_decotext_text {
        font-size: 4.1vw;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1.5;
        text-align: center;
        width: min(100%, 46.15vw);
    }

    .globalMenuSp_decotextwrap {
        align-items: flex-end;
        display: flex;
        justify-content: center;
        white-space: nowrap;
        width: -moz-fit-content;
        width: fit-content;
    }

    .globalMenuSp_decotext_text_bold {
        display: inline-block;
        width: min(100%, 32.09vw);
    }

    .globalMenuSp_decotext_text_small {
        font-size: 4.1vw;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1.5;
        margin-left: 1.28vw;
        margin-top: 1.03vw;
    }

    .globalMenuSp_btns {
        margin-top: 3.59vw;
        text-align: center;
    }

    .globalMenuSp_btn {
        margin-inline: auto;
        padding-bottom: 5.13vw;
        position: relative;
        width: min(100%, 74.36vw);
    }

    .globalMenuSp_btn+.globalMenuSp_btn {
        margin-top: 3.85vw;
    }

    .globalMenuSp_btn::after {
        background-image: repeating-linear-gradient(90deg, #939393, #939393 2px, transparent 2px, transparent 4px);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 100% 1px;
        bottom: 0;
        content: "";
        height: 0.51vw;
        left: 0;
        position: absolute;
        width: 100%;
    }

    .globalMenuSp_btn:last-of-type::after {
        display: none;
    }

    .globalMenuSp_tel_wrap {
        margin-inline: auto;
        margin-top: 1.79vw;
        padding-block: 2.82vw 2.31vw;
        position: relative;
        width: min(100%, 51.28vw);
    }

    .globalMenuSp_tel_wrap::before,
    .globalMenuSp_tel_wrap::after {
        background: #1A1A1A;
        content: "";
        height: 0.38vw;
        left: 0;
        opacity: 0.2;
        position: absolute;
        width: 100%;
    }

    .globalMenuSp_tel_wrap::before {
        top: 0;
    }

    .globalMenuSp_tel_wrap::after {
        bottom: 0;
    }

    .globalMenuSp_tel_label {
        color: #1A1A1A;
        font-size: 3.33vw;
        font-weight: 900;
        letter-spacing: 0.06em;
        line-height: 1.46;
        text-align: center;
    }

    .globalMenuSp_tel {
        align-items: center;
        display: flex;
        gap: 1.28vw;
        justify-content: center;
    }

    .globalMenuSp_tel_icon {
        width: 4.58vw;
    }

    .globalMenuSp_tel_icon img {
        -o-object-fit: contain;
        aspect-ratio: 17.88/23.32;
        height: auto;
        object-fit: contain;
        width: 100%;
    }

    .globalMenuSp_tel_num {
        font-family: "DIN2014", sans-serif;
        font-size: 6.67vw;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.27;
    }

    .globalMenuSp_copyright {
        margin-top: 9.74vw;
        text-align: center;
    }

    .globalMenuSp_copyright small {
        color: #797979;
        font-size: 3.08vw;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 1.42;
    }

    .hamburger {
        background: #EFFAF4;
        border: none;
        display: block;
        height: 12.82vw;
        pointer-events: auto;
        position: fixed;
        right: 3.85vw;
        top: 3.85vw;
        transition: 0.5s;
        width: 12.82vw;
        z-index: 9999;
    }

    .header_fixed .hamburger {
        top: 2.05vw;
    }

    .hamburger_line {
        background: #183F27;
        content: "";
        height: 2px;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        transition: 0.5s;
        width: 6.67vw;
    }

    .hamburger_line:nth-of-type(1) {
        top: 2.56vw;
    }

    .hamburger_line:nth-of-type(2) {
        top: 4.36vw;
    }

    .hamburger_line:nth-of-type(3) {
        top: 6.15vw;
    }

    .hamburger_text {
        bottom: 1.23vw;
        color: #183F27;
        font-family: "DIN2014", sans-serif;
        font-size: 2.82vw;
        font-weight: 500;
        left: 50%;
        letter-spacing: 0em;
        line-height: 1.27;
        position: absolute;
        transform: translateX(-50%);
        transition: 0.5s;
    }

    .hamburger_text:nth-of-type(5) {
        opacity: 0;
        visibility: hidden;
    }

    .hamburger.is_open .hamburger_text:nth-of-type(4) {
        opacity: 0;
        visibility: hidden;
    }

    .hamburger.is_open .hamburger_text:nth-of-type(5) {
        opacity: 1;
        visibility: visible;
    }

    .header {
        min-width: unset;
        padding-block: 4.05vw 4.56vw;
        position: fixed;
        top: 0;
        width: 100%;
    }

    .header_fixed {
        min-width: unset;
    }

    .header_inner {
        flex-wrap: wrap;
        gap: 10px;
        padding-inline: 3.85vw;
        width: 100%;
    }

    .header_logo_area {
        width: min(100%, 71.79vw);
    }

    .header_logo_desc {
        display: none;
    }

    .header_logo_link {
        margin-top: 0;
    }

    .header_logo_img {
        width: 100%;
    }

    .header_logo_img img {
        aspect-ratio: 279.97/46.31;
    }

    .header_container {
        display: none;
    }

    .header_tel {
        display: none;
    }

    .header_nav {
        display: none;
    }

    .header_list {
        display: none;
    }

    .header_hamburger {
        display: block;
    }

    .inbox_text {
        font-size: 3.59vw;
    }

    .page_main .lower_flow {
        padding-bottom: 55.13vw;
    }

    .page_main .lower_service {
        padding-top: 17.95vw;
    }

    .page-id-27 .common_page_wrap {
        padding-block: 17.95vw;
    }

    .question01_btn {
        margin-top: 7.69vw;
    }

    .f_din {
        font-size: 3.33vw;
    }

    .single_page .article .cont {
        font-size: 3.33vw;
    }

    .single_page {
        padding-block: 1em 0;
    }

    .single_question01 {
        padding-top: 33.33vw;
    }

    .single_page .common_page_wrap {
        padding-block: 15vw 18vw;
    }

    .single_page .wrap {
        max-width: 95%;
    }

    .breadcrumb .wrap {
        max-width: 90%;
    }

    .single_page .article {
        border-radius: 8vw;
        padding: 10vw 6.5vw;
    }

    .single_page .article .main_title {
        margin-block: 0 2.5em;
        padding-inline: 2em 0;
    }

    .single_page .article .main_title::before {
        width: 7px;
    }

    .single_page .article .main_title .title {
        font-size: 4.1vw;
        letter-spacing: 0.07em;
    }

    .single_page .article .main_title .cat_box {
        margin-block: 0 1.2em;
    }

    .single_page .article .main_title .cat_box .cat_list li {
        font-size: 3.6vw;
    }

    .single_page .article .main_img {
        margin: 0 auto 1.2em;
    }

    .single_page .article .cont {
        padding-inline: 0;
    }

    .single_page .article .cont p {
        font-size: 3.6vw;
        line-height: 1.7;
    }

    .single_page .article .cont p+p {
        margin-block: 1.5em 0;
    }

    .single_page .article .cont h2 {
        font-size: 3.9vw;
        line-height: 1.5;
    }

    .single_page .article .cont h3 {
        font-size: 3.7vw;
    }

    .single_page .article .cont h4,
    .single_page .article .cont h5,
    .single_page .article .cont h6 {
        font-size: 3.6vw;
    }

    .single_page .article .cont ul li {
        font-size: 3.6vw;
    }

    .single_page .archive_btn .link {
        font-size: 4.6vw;
        gap: 0.7em;
    }

    .single_page .archive_btn .link .mark {
        width: 6.4vw;
    }

    .single_page .archive_btn .link .mark::before {
        width: 1.5vw;
    }

    .single_page .archive_btn .link::after {
        bottom: -0.1em;
        width: 71%;
    }

    .syakujii_access_map {
        margin-left: -5.13vw;
        margin-top: 7.69vw;
        width: 100vw;
    }

    .syakujii_access_map iframe {
        aspect-ratio: 380/200;
    }

    .syakujii_info_item {
        margin-top: 7.69vw;
    }

    .syakujii_message_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-top: 2.56vw;
    }

    .syakujii_message_img {
        margin-left: -5.13vw;
        margin-top: 7.69vw;
        padding-left: 2.05vw;
        padding-top: 2.05vw;
        width: 97.44vw;
    }

    .syakujii_message_img::before {
        height: calc(100% - 2.05vw);
        width: calc(100% - 2.05vw);
    }

    .syakujii_message_img img {
        aspect-ratio: 380/200;
    }

    .top_cta01 {
        margin-top: -15.9vw;
    }

    .top_cta01_container {
        border-radius: 2.05vw;
        padding: 2.56vw;
        width: 100%;
    }

    .top_cta01_banner {
        border-radius: 4.62vw;
        padding: 1.79vw 2.82vw 1.79vw 3.85vw;
        top: -3.59vw;
    }

    .top_cta01_banner_text {
        font-size: 3.85vw;
        line-height: 1.4;
    }

    .top_cta01_banner_gold {
        margin-left: 0.51vw;
        margin-right: 0.77vw;
        width: 29.74vw;
    }

    .top_cta01_banner_gold img {
        aspect-ratio: 110.58/18.44;
    }

    .top_cta01_body {
        border-radius: 1.54vw;
        padding: 5.38vw 3.85vw;
    }

    .top_cta01_check {
        display: block;
        padding-left: 0;
    }

    .top_cta01_check_icon {
        display: none;
    }

    .top_cta01_check_text {
        display: block;
        margin-left: 3.08vw;
        text-align: center;
    }

    .top_cta01_check_text_highlight {
        font-size: 4.62vw;
        line-height: 1.28;
    }

    .top_cta01_check_text_black {
        font-size: 3.85vw;
        line-height: 1.53;
        margin-left: -0.77vw;
    }

    .top_cta01_decotext {
        font-size: 4.1vw;
        line-height: 1.5;
        margin-top: 2.05vw;
    }

    .top_cta01_decotext::before,
    .top_cta01_decotext::after {
        aspect-ratio: 2/23;
        top: 0.51vw;
        width: 0.51vw;
    }

    .top_cta01_decotext::before {
        left: -3.08vw;
        rotate: -32deg;
    }

    .top_cta01_decotext::after {
        right: -3.08vw;
        rotate: 32deg;
    }

    .top_cta01_btns {
        align-items: center;
        flex-direction: column;
        gap: 7.69vw;
        margin-top: 2.56vw;
    }

    .top_cta01_btn {
        width: 100%;
    }

    .top_cta01_btn:first-of-type::after {
        background-image: repeating-linear-gradient(90deg, #939393, #939393 0.51vw, transparent 0.51vw, transparent 1.03vw);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 100% 0.51vw;
        bottom: -4.62vw;
        height: 0.51vw;
        left: 0;
        right: unset;
        top: unset;
        width: 100%;
    }

    .top_estate {
        padding-bottom: 71.79vw;
    }

    .top_estate_container::before {
        height: 143.59vw;
        left: unset;
        right: -5.13vw;
        top: 29.23vw;
        width: min(100%, 89.74vw);
    }

    .top_estate_img {
        margin-left: -5.13vw;
        margin-right: -5.13vw;
        padding-left: 2.05vw;
        padding-top: 2.82vw;
        width: 100vw;
    }

    .top_estate_img::before {
        height: 46.15vw;
        width: 94.87vw;
    }

    .top_estate_img img {
        aspect-ratio: 382/200;
    }

    .top_estate_textwrap {
        flex-direction: column;
        gap: 1.54vw;
        margin-top: 4.36vw;
        padding-left: 0;
        width: 100%;
    }

    .top_estate_headline {
        width: 100%;
    }

    .top_estate_headline_sub {
        font-size: 5.64vw;
        line-height: 1.27;
    }

    .top_estate_headline_main {
        font-size: 7.18vw;
        line-height: 1.43;
        margin-top: 0.26vw;
    }

    .top_estate .estate_box {
        margin-top: 5vw;
        padding: 5vw;
        height: 73vw;
    }

    .top_estate_text {
        font-size: 3.3vw;
        line-height: 1.77;
        width: 100%;
    }

    .top_faq {
        padding-block: 15.38vw 20.51vw;
    }

    .top_faq_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-right: -0.26vw;
        margin-top: 2.56vw;
    }

    .top_faq_item {
        margin-top: 7.69vw;
    }

    .top_faq_btn {
        margin-top: 7.69vw;
    }

    .top_features {
        background-image: url(./image/top_features_bg_sp01.jpg);
        padding-block: 17.95vw 18.21vw;
    }

    .top_features_text {
        font-size: 3.33vw;
        line-height: 1.69;
    }

    .top_features_item {
        margin-top: 5.13vw;
    }

    .top_features_btn {
        margin-top: 10.26vw;
    }

    .top_flow {
        padding-block: 17.95vw 20.51vw;
    }

    .top_flow_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-left: -0.26vw;
        margin-top: 2.82vw;
    }

    .top_flow_item {
        margin-top: 7.44vw;
    }

    .top_flow_btn {
        margin-top: 10.26vw;
    }

    .top_follow {
        padding-block: 31.54vw 18.21vw;
    }

    .top_follow::before {
        background-image: url(./image/top_follow_bg_sp01.jpg);
        width: 100%;
    }

    .top_follow_img {
        left: -5.13vw;
        top: -66.15vw;
        width: 92.31vw;
    }

    .top_follow_img img {
        aspect-ratio: 360/230;
    }

    .top_follow_img::before {
        left: 2.56vw;
        top: 2.56vw;
    }

    .top_follow_textwrap {
        margin-left: unset;
        width: 100%;
    }

    .top_follow_headline_sub {
        font-size: 5.64vw;
        line-height: 1.27;
    }

    .top_follow_headline_main {
        margin-top: 2.05vw;
    }

    .top_follow_headline_main_black {
        font-size: 6.15vw;
        line-height: 1.46;
    }

    .top_follow_headline_main_green {
        font-size: 7.69vw;
        line-height: 1.23;
        margin-top: -0.77vw;
    }

    .top_follow_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-top: 3.33vw;
    }

    .top_follow_checks {
        margin-top: 6.15vw;
    }

    .top_follow_check {
        gap: 3.85vw;
        padding: 2.82vw 5.64vw 3.33vw 4.36vw;
    }

    .top_follow_check+.top_follow_check {
        margin-top: 2.56vw;
    }

    .top_follow_check_icon {
        width: 7.17vw;
    }

    .top_follow_check_text {
        font-size: 3.59vw;
        line-height: 1.93;
    }

    .top_follow_check_text_line {
        background-image: repeating-linear-gradient(90deg, #707070, #707070 0.77vw, transparent 0.77vw, transparent 1.54vw);
        background-size: 100% 0.51vw;
        padding-bottom: 1.03vw;
    }

    .top_follow_check_text_highlight {
        font-size: 4.36vw;
        line-height: 1.59;
    }

    .top_mv {
        margin-top: 30.77vw;
        padding-block: 7.69vw 28.46vw;
    }

    .top_mv::before {
        background: url(./image/top_mv_sp01.jpg) center center/cover no-repeat;
        filter: unset;
    }

    .top_mv::after {
        background-color: rgba(0, 0, 0, 0.2);
    }

    .top_mv_catch01 {
        font-size: 6.15vw;
        line-height: 1.42;
        padding-left: 6.41vw;
    }

    .top_mv_catch01_text {
        font-size: 5.64vw;
    }

    .top_mv_catch01_num {
        font-size: 8.97vw;
        line-height: 1.26;
        margin-left: -0.51vw;
        margin-right: 0.77vw;
    }

    .top_mv_catch02 {
        margin-top: 1.28vw;
    }

    .top_mv_catch02_text {
        font-size: 11.54vw;
        line-height: 1.22;
    }

    .top_mv_catch02_gold {
        margin-right: 0;
    }

    .top_mv_band {
        clip-path: polygon(0 0, 100% 0, 97% 50%, 100% 100%, 0 100%, 4% 50%);
        flex-direction: column;
        gap: 2.05vw;
        margin-right: 2.56vw;
        margin-top: 1.28vw;
        padding: 1.28vw 5.38vw 1.28vw 8.21vw;
    }

    .top_mv_band_secret_pc {
        display: none;
    }

    .top_mv_line {
        display: block;
        margin-inline: auto;
        margin-top: 1.28vw;
        width: 76.92vw;
    }

    .top_mv_band_secret_sp {
        align-items: center;
        display: flex;
        gap: 1.23vw;
        justify-content: center;
        margin-top: 2.44vw;
    }

    .top_mv_band_secret_icon {
        height: 8.4vw;
        width: 8.4vw;
    }

    .top_mv_band_secret_icon img {
        width: 4.13vw;
    }

    .top_mv_band_secret_text {
        font-size: 4.62vw;
        line-height: 1.44;
        margin-top: 1.03vw;
    }

    .top_mv_band_secret_text::before {
        background-image: radial-gradient(circle, #ffed67 0.6vw, transparent 0.6vw);
        background-position: left top;
        background-repeat: repeat-x;
        background-size: 4.79vw 1.2vw;
        top: -0.79vw;
    }

    .top_mv_band_text {
        font-size: 4.1vw;
        line-height: 1.25;
        padding-left: 0;
        text-align: center;
    }

    .top_mv_band_text01 {
        margin-right: 3.33vw;
    }

    .top_mv_powered {
        font-size: 3.33vw;
        line-height: 1.38;
        margin-top: 1.03vw;
    }

    .top_mv_badges {
        align-items: center;
        flex-direction: column;
        gap: 2.05vw;
        margin-top: 6.15vw;
    }

    .top_mv_badges_item {
        width: 66.67vw;
    }

    .top_mv_badges_item img {
        aspect-ratio: 260/79.75;
    }

    .top_mv_badges_item::before {
        aspect-ratio: 260/70;
        border-radius: 16.15vw;
        filter: blur(3.08vw);
        opacity: 0.58;
        top: 2.23vw;
        width: 66.67vw;
    }

    .top_problem {
        padding-block: 17.95vw 17.95vw;
    }

    .top_problem_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-left: -0.26vw;
        margin-top: 3.85vw;
    }

    .top_problem_item {
        margin-left: -0.26vw;
        margin-top: 7.69vw;
    }

    .top_review {
        background-image: url(./image/top_review_bg_sp01.png);
        padding-block: 12.82vw 10.26vw;
    }

    .top_review_sub {
        font-size: 5.64vw;
        line-height: 1.27;
    }

    .top_review_main {
        margin-top: 2.05vw;
        padding-left: 0;
    }

    .top_review_main_white {
        font-size: 8.21vw;
        line-height: 1.44;
    }

    .top_review_main_white02 {
        font-size: 7.44vw;
        line-height: 1.45;
        margin-top: -1.54vw;
        white-space: nowrap;
    }

    .top_review_main_gold {
        display: block;
        font-size: 8.72vw;
        letter-spacing: 0.04em;
        line-height: 1.44;
        margin-left: 0;
        margin-top: -1.28vw;
    }

    .top_review_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-top: 3.08vw;
    }

    .top_review_textimg {
        margin-top: 4.36vw;
        width: min(100%, 80.77vw);
    }

    .top_review_textimg img {
        aspect-ratio: 315/79.86;
    }

    .top_review_content {
        flex-direction: column;
        gap: 3.85vw;
        margin-top: 6.41vw;
        padding: 3.85vw;
    }

    .top_review_textcontent {
        padding: 5.13vw;
        width: 100%;
    }

    .top_review_textwrap {
        display: block;
        height: 69.23vw;
    }

    .top_review_scrollhint {
        animation: scrollhint 2s ease-in-out infinite;
        display: block;
        left: 50%;
        opacity: 1;
        pointer-events: none;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        transition: opacity 0.3s ease;
        width: min(100%, 25.64vw);
    }

    .top_review_scrollhint.is-hidden {
        animation: none;
        opacity: 0;
    }

    .top_review_scrollhint img {
        -o-object-fit: contain;
        aspect-ratio: 1/1;
        height: auto;
        object-fit: contain;
        width: 100%;
    }

    .top_review_scrollbar {
        display: none;
    }

    .top_review_banners {
        width: 100%;
    }

    .top_review_banner+.top_review_banner {
        margin-top: 3.85vw;
    }

    .top_review_banner_img {
        padding: 3.33vw;
    }

    .top_review_banner_img img {
        aspect-ratio: 210/90;
        width: 53.85vw;
    }

    .top_review_banner_head {
        font-size: 3.59vw;
        padding: 1.54vw 0.51vw 2.05vw;
    }

    .top_service {
        padding-top: 17.95vw;
    }

    .top_service_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-top: 3.85vw;
    }

    .top_service_slider_pc {
        display: none;
    }

    .top_service_slider_sp {
        display: flex;
        flex-direction: column;
        gap: 5.13vw;
        margin-top: 7.69vw;
    }

    .top_store {
        background-image: url(./image/top_store_bg_sp01.jpg);
        padding-block: 17.95vw 17.95vw;
    }

    .top_store_text {
        font-size: 3.33vw;
        line-height: 1.69;
        margin-top: 3.08vw;
    }

    .top_store_item {
        margin-top: 6.67vw;
    }

    .error-404 {
        padding-block: 20vw;
    }
}

@media (any-hover: hover) {
    .common_btn01:hover {
        top: 5px;
    }

    .common_btn01:hover::before {
        top: 0;
    }

    .common_btn02:hover {
        top: 5px;
    }

    .common_btn02:hover::before {
        top: 0;
    }

    .common_btn03:hover {
        top: 5px;
    }

    .common_btn03:hover::before {
        top: 0;
    }

    .common_btn04:hover {
        top: 8px;
    }

    .common_btn04:hover::before {
        top: 0;
    }

    .common_btn05:hover {
        top: 8px;
    }

    .common_btn05:hover::before {
        top: 0;
    }

    .common_btn06:hover {
        background: #FFFFFF;
        color: #195831;
    }

    .common_btn06:hover::after {
        background: #195831;
    }

    .common_btn07:hover {
        background: #FFFFFF;
    }

    .common_btn07:hover::after {
        background: #195831;
    }

    .common_btn07:hover .common_btn07_text {
        color: #195831;
    }

    .common_btn08:hover {
        background: #FFFFFF;
    }

    .common_btn08:hover::after {
        background: #195831;
    }

    .common_btn08:hover .common_btn08_text {
        color: #195831;
    }

    .common_btn09_link:hover {
        top: 8px;
    }

    .common_btn09_link:hover::before {
        top: 0;
    }

    .common_btn10_link:hover {
        top: 8px;
    }

    .common_btn10_link:hover::before {
        top: 0;
    }

    .common_btn11_link:hover {
        top: 8px;
    }

    .common_btn11_link:hover::before {
        top: 0;
    }

    .common_btn13:hover {
        background: #195831;
        color: #FFFFFF;
    }

    .common_btn13:hover::after {
        background: #FFFFFF;
    }

    .breadcrumb a:hover {
        opacity: 0.7;
    }

    .common_follow_pc:hover {
        opacity: 0.7;
    }

    a.common_item02_question:hover {
        opacity: 0.7;
    }

    .common_item03:hover .common_item03_img img {
        scale: 1.1;
    }

    .common_item03:hover .common_btn12 {
        background: #FFFFFF;
        color: #195831;
    }

    .common_item03:hover .common_btn12::after {
        background: #195831;
    }

    .footer_nav_link:hover {
        opacity: 0.7;
    }

    .footer_logo:hover {
        opacity: 0.7;
    }

    .header_link:hover .header_link_text {
        opacity: 0.7;
    }

    .header_link01:hover {
        opacity: 0.7;
    }

    .header_logo_link:hover {
        opacity: 0.7;
    }

    .header_tel_link:hover {
        opacity: 0.7;
    }

    .top_review_banner:hover {
        opacity: 0.7;
    }

}