@charset "UTF-8";

/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
:root {
    --main-color: #C8BB8D;
    --sub-color: #fff;
}

body {
    color: #3E3A39;
    font-size: 16px;
    line-height: 2;
}

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

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

.yuji_syuku {
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
    font-style: normal;
}

/* PC固定ページ 共通設定 */
.common_page_main {
    padding-block: 110px 24px;
    position: relative;
    margin-top: 120px;
}

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

.common_page_main .title_box .title {
    margin: 20px 0 0 7px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
}

.common_page_main .title_box .title::before {
    content: "";
    width: 1px;
    height: 15px;
    background-color: #fff;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}

.common_page_wrap {
    padding: 140px 0;
}

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

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

/* パンくず */
.breadcrumb {
    margin-block: 66px 0;
    font-size: 12px;
    color: #fff;
    letter-spacing: 0.01em;
}

.breadcrumb a {
    text-decoration: underline;
    color: #fff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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 {
    font-size: 13px;
    border-left: solid 3px #ccc;
    padding-left: 1em;
    margin-bottom: 5px;
}

.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-top: solid 1px #e3e3e3;
    padding: 30px 0;
    border-bottom: solid 1px #e3e3e3;
    width: 60%;
    margin: 0 auto 50px;
}

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

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

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

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

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

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    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 {
    display: inline-block;
    cursor: pointer;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* サンクスページ */
.page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

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

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

.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 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 5.6em;
    margin-block: 0 3em;
}

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

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

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

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

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

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

.privacy_check_list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 25px;
}

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

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

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

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

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

/* ワールドスタイル様サイト追加CSS */
/* Satoshi-Bold */
@font-face {
    font-family: "Satoshi-Bold";
    src: url("/wp-content/themes/swell_child/font/Satoshi-Bold.otf") format("opentype");
    font-weight: 700;
}

/* Satoshi-BoldItalic */
@font-face {
    font-family: "Satoshi-BoldItalic";
    src: url("/wp-content/themes/swell_child/font/Satoshi-BoldItalic.otf") format("opentype");
    font-weight: 700;
    font-style: italic;
}

/* Satoshi-MediumItalic */
@font-face {
    font-family: "Satoshi-MediumItalic";
    src: url("/wp-content/themes/swell_child/font/Satoshi-MediumItalic.otf") format("opentype");
    font-weight: 500;
    font-style: italic;
}

body {
    font-family: "dnp-shuei-gothic-gin-std", sans-serif;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 2;
}

.inline_block {
    display: inline-block;
}

.line_break {
    word-break: keep-all;
    overflow-wrap: anywhere;
}

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

/* Set core body defaults */
body {
    min-height: 100vh;
}

/* Make images easier to work with */
img {
    max-width: 100%;
    display: block;
    width: 100%;
}

/* 共通設定 */
body {
    min-width: 1440px;
    position: relative;
}

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

/* 共通パーツ */
.button_icon {
    width: 150px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.button_icon a {
    width: 100%;
    color: #3E3A39;
    font-size: 14px;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.button_icon a::before {
    content: "";
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.button_icon.mail a {
    padding: 2.5px 20px;
    border: 1px solid #3E3A39;
    background-color: #fff;
    color: #3E3A39;
    gap: 6px;
}

.button_icon.mail a::before {
    width: 16px;
    aspect-ratio: 16/10.9;
    background: url(/wp-content/themes/swell_child/image/icon_mail.svg) no-repeat center center/contain;
}

.button_icon.assessment a {
    padding: 3.5px 33px;
    background-color: #3E3A39;
    color: #fff;
    gap: 8px;
}

.button_icon.assessment a::before {
    width: 14px;
    aspect-ratio: 14/16;
    background: url(/wp-content/themes/swell_child/image/icon_calculator.svg) no-repeat center center/contain;
}

.button_icon.line a {
    padding: 3.5px 25px;
    background-color: #18E06A;
    color: #fff;
    gap: 10px;
}

.button_icon.line a::before {
    width: 20px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/swell_child/image/icon_line.svg) no-repeat center center/contain;
}

.button_more {
    width: 163px;
}

.button_more a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.button_more a .button_text {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-weight: 700;
    font-style: italic;
    line-height: 1.2;
    color: #C8BB8D;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.button_more a .button_text::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #C8BB8D;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.button_more a .arrow {
    width: 50px;
    aspect-ratio: 1/1;
    border: 1px solid #C6C3B9;
    background: url(/wp-content/themes/swell_child/image/arrow_button.svg) no-repeat center center/5.7px;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.button_more a .arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #C8BB8D;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: transform ease 0.3s, opacity 0.3s;
    transition: transform ease 0.3s, opacity 0.3s, -webkit-transform ease 0.3s;
}

.button_contact a {
    width: 100%;
    padding: 10px 10px 10px 35px;
    background-color: #4E4A48;
    color: #fff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.button_contact a .text_block {
    margin-top: 16px;
}

.button_contact a .sub_title {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 32px;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
}

.button_contact.tel a {
    padding: 35.6px 35px 30.6px;
}

.button_contact.tel a .tel_block {
    margin: 18px 0 0 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.button_contact.tel a .number {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 28px;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
}

.button_contact.tel a .number::before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    width: 20px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/swell_child/image/icon_tel_white.svg) no-repeat center center/contain;
}

.button_contact.tel a .hour {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

.button_contact.mail a .sub_title::before {
    content: "";
    width: 20px;
    aspect-ratio: 20/13.6;
    background: url(/wp-content/themes/swell_child/image/icon_mail_white.svg) no-repeat center center/contain;
}

.button_contact.assessment a .sub_title::before {
    content: "";
    width: 18px;
    aspect-ratio: 18/20.6;
    background: url(/wp-content/themes/swell_child/image/icon_calculator_white.svg) no-repeat center center/contain;
}

.button_contact.line a .sub_title::before {
    content: "";
    width: 20px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/swell_child/image/icon_line.svg) no-repeat center center/contain;
}

.button_contact .title {
    margin-top: 7px;
    font-size: 14px;
    letter-spacing: 0;
}

.button_contact .arrow {
    display: block;
    padding: 12px;
    width: 30px;
    height: 130px;
    background: #3E3A39 url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/5.7px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.section_sub_title {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 48px;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
}

.section_title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #C8BB8D;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
}

.section_title::before {
    content: "";
    width: 1px;
    height: 15px;
    background-color: #C8BB8D;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}

/* PC_header */
.header {
    width: 100%;
    min-width: 1440px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 11;
}

.header .wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.header .logo {
    margin-top: 25px;
    width: 200px;
}

.header .logo_text {
    margin-top: 5px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #302D2C;
}

.header .right {
    margin-top: 7px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.header .tel_block {
    font-weight: 700;
    letter-spacing: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .tel_block a {
    font-family: "Satoshi-Bold", sans-serif;
    font-size: 28px;
    color: #3E3A39;
}

.header .tel_block a::before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    width: 17px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/swell_child/image/icon_tel.svg) no-repeat center center/contain;
}

.header .tel_block .hour {
    margin-left: 10px;
    font-size: 13px;
    line-height: 1.4;
}

.header .buttons {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.header .lower {
    margin-top: 22px;
}

.header .list {
    padding-bottom: 8.9px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    place-content: center;
}

.header .item {
    border-left: 1px solid #E8E8E8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

.header .item:last-of-type {
    border-right: 1px solid #E8E8E8;
}

.header .item::before {
    content: "";
    width: 100%;
    height: 3px;
    background-color: #C8BB8D;
    position: absolute;
    bottom: -10px;
    left: 50%;
    -webkit-transform: translateX(-50%) scale(0, 1);
    transform: translateX(-50%) scale(0, 1);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
}

.header .item a,
.header .item .text {
    padding: 2.5px 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #3E3A39;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .item.modal {
    position: relative;
}

.header .item.modal .text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.header .item.modal .text::after {
    content: "";
    width: 10px;
    aspect-ratio: 10/5.7;
    background: url(/wp-content/themes/swell_child/image/arrow_menu.svg) no-repeat center center/contain;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .modal_wrap {
    padding-top: 18px;
    width: 1340px;
    position: absolute;
    top: 1.3rem;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.header .modal_wrap_company {
    left: -225px;
}

.header .modal_wrap_service {
    left: -450px;
}

.header .modal_wrap_achievements {
    right: -225px;
}

.header .modal_contents {
    padding: 46.5px 108px 46.5px 100px;
    width: 100%;
    border: 1px solid #E8E8E8;
    background-color: #fff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .sub_title {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 24px;
    line-height: 1;
    color: #3E3A39;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .title {
    margin-top: 13px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #3E3A39;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .modal_list {
    padding-left: 50px;
    border-left: 1px solid #E8E8E8;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.header .modal_item {
    width: 280px;
}

.header .modal_item a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.header .modal_item .img {
    width: 100px;
    border: 1px solid #707070;
}

.header .modal_item .img img {
    width: 100%;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
}

.header .modal_item .modal_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .modal_item .modal_text::after {
    content: "";
    width: 10px;
    aspect-ratio: 10/5.7;
    background: url(/wp-content/themes/swell_child/image/arrow_menu.svg) no-repeat center center/contain;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .modal_item .modal_text .character {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.7;
    color: #3E3A39;
    position: relative;
}

.header .modal_item .modal_text .character::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #C8BB8D;
    position: absolute;
    bottom: -2px;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

/* PC_メインビュー */
.site-main {
    padding-top: 120px;
}

.sections_bg {
    position: relative;
}

.sections_bg::before {
    content: "";
    width: 96.5%;
    height: 87.6%;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    top: 240px;
    left: 0;
    z-index: -1;
}

.top_fv {
    padding: 62.1vh 0 1vh;
    position: relative;
}

.top_fv .wrap {
    width: 1240px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.top_fv .title {
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.3;
    background: linear-gradient(135deg, #3E3A39 0%, #3E3A39 30%, #C8BB8D 60%, #C8BB8D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.top_fv .scroll_down {
    margin-bottom: 42px;
    width: 124px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.top_fv .scroll_down .scroll_down_text {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 13px;
    font-weight: 500;
    font-style: italic;
    line-height: 1.3;
    color: #C8BB8D;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_fv .scroll_down .scroll_down_text::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #C8BB8D;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_fv .scroll_down .arrow {
    width: 20px;
    aspect-ratio: 1/1;
    border: 1px solid #C6C3B9;
    background: url(/wp-content/themes/swell_child/image/arrow_menu_after.svg) no-repeat center center/7px;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_fv .scroll_down .arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #C8BB8D;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: transform ease 0.3s, opacity 0.3s;
    transition: transform ease 0.3s, opacity 0.3s, -webkit-transform ease 0.3s;
}

.top_fv .img {
    width: 96.5%;
    height: 66.7vh;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.top_fv .img .slide {
    width: 100%;
    height: 100%;
}

.top_fv .img .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#top_mv .bg_img_slider .img img.pc {
    display: block;
}

#top_mv .bg_img_slider .img img.sp {
    display: none !important;
}

.top_fv .img .slick-track,
.top_fv .img .slick-list {
    height: 100%;
}

.top_fv .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* PC_INFORMATION */
.top_information {
    padding-top: 100px;
}

.top_information .upper_block {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.top_information .section_title_block {
    margin-bottom: 4px;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 38px;
}

.top_information .section_sub_title {
    font-size: 32px;
    font-style: italic;
}

.top_information .list {
    margin-top: 45px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.top_information .item a {
    height: 100%;
    display: block;
    padding: 35px 35px 35px 30px;
    background-color: #fff;
}

.top_information .date_block {
    padding-bottom: 15px;
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 14px;
    font-weight: 700;
    font-style: italic;
    color: #C8BB8D;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

.top_information .date_block::before,
.top_information .date_block::after {
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
}

.top_information .date_block::before {
    height: 1px;
    background-color: #E8E8E8;
    bottom: 0;
}

.top_information .date_block::after {
    height: 2px;
    background-color: #C8BB8D;
    bottom: 0;
    -webkit-transform: scale(0.25, 1);
    transform: scale(0.25, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_information .date_block .arrow {
    display: block;
    width: 5.7px;
    aspect-ratio: 5.7/10;
    background: url(/wp-content/themes/swell_child/image/arrow_button.svg) no-repeat center center/contain;
}

.top_information .title {
    margin-top: 33px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #3E3A39;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    position: relative;
}

.top_information .title::before,
.top_information .title::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #C8BB8D;
    position: absolute;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_information .title::before {
    top: 22px;
}

.top_information .title::after {
    bottom: 0;
}

.top_information .text {
    margin-top: 11px;
    font-size: 14px;
    line-height: 1.7;
    color: #3E3A39;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    position: relative;
}

.top_information .text::before,
.top_information .text::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #C8BB8D;
    position: absolute;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_information .text::before {
    top: 19px;
}

.top_information .text::after {
    bottom: 4px;
}

/* PC_CONCEPT */
.top_concept {
    padding: 130px 0;
    position: relative;
}

.top_concept .wrapper {
    margin-inline: auto;
    width: 100%;
    height: 152.8px;
    overflow: hidden;
    position: absolute;
    top: 243px;
    left: 0;
    z-index: -1;
}

.top_concept .loop {
    -webkit-animation: loop 120s linear infinite;
    animation: loop 120s linear infinite;
    width: 2604px;
    position: relative;
}

.top_concept .loop2 {
    width: 2604px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: loop 120s -60s linear infinite;
    animation: loop 120s -60s linear infinite;
}

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

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

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

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

.top_concept .main_contents {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 100px;
}

.top_concept .img_left_wrap {
    margin-top: 50px;
    width: 31.3%;
    max-height: 580px;
}

.top_concept .img_left {
    width: 50%;
    max-height: 580px;
}

.top_concept .img_left img {
    width: 100%;
    max-height: 550px;
    aspect-ratio: 225/550;
    -o-object-fit: cover;
    object-fit: cover;
}

.top_concept .img_left:last-of-type {
    margin-top: 30px;
}

.top_concept .center_block {
    margin-top: 55px;
    max-width: 540px;
    width: 100%;
}

.top_concept .center_block .text_block .text {
    font-size: 18px;
    line-height: 1.7;
}

.top_concept .section_sub_title {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 16px;
    font-style: italic;
    line-height: 1;
    color: #C8BB8D;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
}

.top_concept .section_sub_title::after {
    content: "";
    width: 100px;
    height: 1px;
    background-color: #C8BB8D;
}

.top_concept .section_title {
    margin-top: 49px;
    font-size: 48px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.3;
    color: #3E3A39;
    text-indent: -1.2em;
    padding-left: 1.2em;
}

.top_concept .section_title::before {
    content: initial;
}

.top_concept .text_block {
    margin-top: 45px;
}

.top_concept .text+.text {
    margin-top: 1em;
}

.top_concept .img_right {
    width: 17.4%;
    max-height: 550px;
}

.top_concept .img_right img {
    width: 100%;
    max-height: 550px;
    aspect-ratio: 25/55;
    -o-object-fit: cover;
    object-fit: cover;
}

/* PC_SERVICE */
.top_service {
    padding: 170px 0 130px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 100px;
}

.top_service .left_block {
    margin-top: 15px;
    width: 50%;
}

.top_service .left_inner {
    margin-left: auto;
    max-width: 520px;
    width: 100%;
}

.top_service .section_title_block {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 40px;
}

.top_service .detail_list {
    margin-top: 85px;
}

.top_service .detail_item {
    padding: 0 0 31px 12px;
    width: 520px;
    position: relative;
}

.top_service .detail_item::before,
.top_service .detail_item::after {
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
}

.top_service .detail_item::before {
    height: 1px;
    background-color: #E8E8E8;
    bottom: 0;
}

.top_service .detail_item::after {
    height: 2px;
    background-color: #C8BB8D;
    bottom: 0;
    -webkit-transform: scale(0.1, 1);
    transform: scale(0.1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_service .detail_item+.detail_item {
    margin-top: 30px;
}

.top_service .detail_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.top_service .text_block {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 40px;
}

.top_service .order {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 18px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #C8BB8D;
}

.top_service .sub_title {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 13px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #ACA9A8;
}

.top_service .title {
    margin-top: 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    color: #3E3A39;
}

.top_service .arrow {
    width: 40px;
    aspect-ratio: 1/1;
    border: 1px solid #E8E8E8;
    background: url(/wp-content/themes/swell_child/image/arrow_button.svg) no-repeat center center/5.7px;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_service .arrow::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #C8BB8D;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: transform ease 0.3s, opacity 0.3s;
    transition: transform ease 0.3s, opacity 0.3s, -webkit-transform ease 0.3s;
}

.top_service .right_block {
    width: 50%;
}

.top_service .main_img {
    height: 590px;
    position: relative;
}

.top_service .main_img_item {
    content: "";
    inset: 0;
    position: absolute;
    background: url(/wp-content/themes/swell_child/image/service_img01.jpg) no-repeat center center/cover;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.top_service .main_img_item.purchase {
    background: url(/wp-content/themes/swell_child/image/service_img02.jpg) no-repeat center center/cover;
}

.top_service .main_img_item.rental {
    background: url(/wp-content/themes/swell_child/image/service_img03.jpg) no-repeat center center/cover;
}

.top_service .main_img_item.management {
    background: url(/wp-content/themes/swell_child/image/service_img04.jpg) no-repeat center center/cover;
}

.top_service .main_img_item.renovation {
    background: url(/wp-content/themes/swell_child/image/service_img05.jpg) no-repeat center center/cover;
}

.top_service .sub_img_list {
    margin-top: 10px;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 10px;
}

.top_service .sub_img_item img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
}

/* PC_ACHIEVEMENTS */
.top_achievements {
    padding-bottom: 160px;
    position: relative;
}

.top_achievements::before {
    content: "";
    width: 96.5%;
    height: 1578px;
    background: url(/wp-content/themes/swell_child/image/achievements_bg.png) no-repeat center center/cover, radial-gradient(circle at center, #F8F8F8, #E3E3E3);
    position: absolute;
    top: 33px;
    right: 0;
    z-index: -1;
}

.top_achievements .section_sub_title {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 168px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.01em;
    color: #CBCAC7;
}

.top_achievements .wrap {
    margin-top: 53px;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 65px;
}

.top_achievements .section_title {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.1;
    color: #3E3A39;
    gap: 7px;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
}

.top_achievements .section_title::before {
    height: 32px;
    background-color: #3E3A39;
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
}

.top_achievements .contents {
    overflow: hidden;
}

.top_achievements .upper_block {
    width: 1090px;
}

.top_achievements .contents_sub_title {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 13px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #ACA9A8;
}

.top_achievements .contents_title {
    margin-top: 10px;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

.top_achievements .management {
    margin-top: 61px;
    position: relative;
}

.top_achievements .management::before,
.top_achievements .management::after,
.top_achievements .sales::before,
.top_achievements .sales::after {
    content: "";
    position: absolute;
    left: 0;
}

.top_achievements .management::before,
.top_achievements .sales::before {
    width: 1090px;
    height: 1px;
    background-color: #ccc;
    top: -61px;
}

.top_achievements .management::after,
.top_achievements .sales::after {
    width: 120px;
    height: 2px;
    background: #C8BB8D;
    top: -62px;
}

.top_achievements .swiper {
    margin-top: 35px;
    width: 100%;
}

.top_achievements .item {
    width: 295px;
}

.top_achievements .item .img {
    width: 100%;
}

.top_achievements .item .img img {
    width: 100%;
    aspect-ratio: 3/4;
    -o-object-fit: cover;
    object-fit: cover;
}

.top_achievements .title_block {
    /* margin: -70px 0 0 auto; */
    padding: 27px 20px;
    /* width: 90%; */
    width: 100%;
    min-height: 101px;
    border-left: 5px solid #C8BB8D;
    background-color: #fff;
    position: relative;
}

.top_achievements .item_title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.top_achievements .management_slider_button_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 26px;
    left: 151px;
}

.top_achievements .swiper-button-prev,
.top_achievements .swiper-button-next {
    position: relative;
    width: 50px;
    aspect-ratio: 1/1;
    border: 1px solid #C8BB8D;
    background-color: transparent;
    color: #C8BB8D;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_achievements .management_slider_button_wrap .swiper-button-prev {
    border: 1px solid #C6C3B9;
}

.top_achievements .management_slider_button_wrap .swiper-button-prev.is-active {
    border-color: #C8BB8D;
}

.top_achievements .management_slider_button_wrap .swiper-button-next {
    margin-left: 10px;
}

.top_achievements .sales {
    margin-top: 137px;
    position: relative;
}

.top_achievements .sales_slider_button_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 26px;
    left: 151px;
}

.top_achievements .sales_slider_button_wrap .swiper-button-prev {
    border: 1px solid #C6C3B9;
}

.top_achievements .sales_slider_button_wrap .swiper-button-prev.is-active {
    border-color: #C8BB8D;
}

.top_achievements .sales_slider_button_wrap .swiper-button-next {
    margin-left: 10px;
}

.top_achievements .swiper-button-prev::after,
.top_achievements .swiper-button-next::after {
    width: 7px;
    height: 7px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
}

.top_achievements .swiper-button-prev::before,
.top_achievements .swiper-button-next::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #C8BB8D;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: opacity 0.3s, -webkit-transform ease 0.3s;
    transition: transform ease 0.3s, opacity 0.3s;
    transition: transform ease 0.3s, opacity 0.3s, -webkit-transform ease 0.3s;
}

/* PC_ABOUT US*/
.top_about {
    padding-top: 80px;
    position: relative;
    margin-top: 80px;
}

.top_about::before {
    content: "";
    width: 93.1%;
    /* height: 900px; */
    height: 540px;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
}

.top_about .upper_block {
    margin: 0 auto;
    /* max-width: 1140px; */
    width: 100%;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: center;
    gap: 100px;
}

.top_about .main_img {
    max-width: 570px;
    width: 100%;
}

.top_about .main_img img {
    width: 100%;
    /* aspect-ratio: 52/62; */
    aspect-ratio: 52/34;
    -o-object-fit: cover;
    object-fit: cover;
}

.top_about .upper_right {
    /* margin-bottom: 58px; */
    max-width: 570px;
    width: 100%;
}

.top_about .section_title {
    margin: 20px 0 0 6px;
}

.top_about .text_block {
    margin-top: 48px;
}

.top_about .text+.text {
    margin-top: 32px;
}

.top_about .list {
    margin-top: 170px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.top_about .item a {
    display: block;
    padding: 302px 36px 35px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.top_about .item a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(62, 58, 57, 0)), to(rgba(62, 58, 57, 0.6)));
    background: linear-gradient(to bottom, rgba(62, 58, 57, 0), rgba(62, 58, 57, 0.6));
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_about .sub_title {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 32px;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 6px;
    position: relative;
}

.top_about .order {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 20px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
}

.top_about .title_block {
    margin-top: 12px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

.top_about .title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

.top_about .more {
    width: 96.7px;
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 13px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top_about .more::after {
    content: "";
    width: 5.7px;
    aspect-ratio: 5.7/10;
    background: url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/contain;
}

.top_about .img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_about .img img {
    width: 100%;
    aspect-ratio: 413.3/400;
    -o-object-fit: cover;
    object-fit: cover;
}

/* PC_RECRUIT */
.top_recruit {
    padding: 155px 0 130px;
}

.top_recruit .wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.top_recruit .section_sub_title {
    margin-left: -40px;
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 120px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.01em;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(200, 187, 141, 0.3);
    text-stroke: 1px rgba(200, 187, 141, 0.3);
}

.top_recruit .recruit_title {
    margin-top: -60px;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #3E3A39;
}

.top_recruit .recruit_title .strong {
    color: #C8BB8D;
}

.top_recruit .button_more {
    margin-top: 35px;
}

.top_recruit .text_block {
    margin-top: 50px;
    max-width: 650px;
    width: 100%;
}

.top_recruit .text+.text {
    margin-top: 30px;
}

/* PC_CONTACT */
.common_contact {
    padding-top: 80px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(62, 58, 57, 0.65)), to(#3E3A39)), url(/wp-content/themes/swell_child/image/contact_bg.jpg) no-repeat center center/cover;
    background: linear-gradient(to bottom, rgba(62, 58, 57, 0.65), #3E3A39), url(/wp-content/themes/swell_child/image/contact_bg.jpg) no-repeat center center/cover;
    color: #fff;
}

.common_contact .wrap {
    padding-bottom: 80px;
    border-bottom: 1px solid #606060;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.common_contact .section_title_block {
    padding-bottom: 10px;
}

.common_contact .section_title {
    margin: 20px 0 0 7px;
    color: #fff;
}

.common_contact .section_title::before {
    background-color: #fff;
}

.common_contact .list {
    max-width: 820px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.common_contact .button_contact.tel .arrow.sp {
    display: none;
}

/* PC_footer */
.footer {
    padding: 120px 0;
    width: 100%;
    background-color: #3E3A39;
    color: #fff;
    position: relative;
    z-index: 3;
}

.footer .wrap {
    width: 1240px;
}

.footer .upper {
    padding-bottom: 58px;
}

.footer .information_block {
    max-width: 380px;
    width: 100%;
}

.footer .information_block a {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.footer .logo {
    width: 230px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

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

.footer .logo_text {
    margin-top: 15px;
    font-weight: 700;
    line-height: 1;
}

.footer .address {
    margin-top: 30px;
    font-size: 14px;
    line-height: 1.7;
}

.footer .map {
    margin-top: 15px;
    aspect-ratio: 38/22;
}

.footer .map iframe {
    width: 100%;
    height: 100%;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}

.footer .menu_wrap {
    margin-top: 45px;
    max-width: 780px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.footer .nav_inner {
    gap: 77px;
}

.footer .item_block ul {
    margin-top: 22px;
}

.footer .item_block+.item_block {
    margin-top: 50px;
}

.footer .classification {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 20px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
}

.footer a.classification {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.footer a.classification .character {
    color: #fff;
    position: relative;
}

.footer a.classification .character::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: -2px;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.footer a.classification::after {
    content: "";
    width: 5.7px;
    aspect-ratio: 5.7/10;
    background: url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/contain;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.footer .menu_item a {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.footer .menu_item+.menu_item {
    margin-top: 2px;
}

.footer .lower {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer .internal_link {
    gap: 50px;
}

.footer .internal_link a {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 12px;
    font-style: italic;
    line-height: 1;
    display: block;
    color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.footer .copyright {
    display: inline-block;
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 12px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
}

.footer a.classification:hover .character::before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.footer .menu_item a:hover,
.footer .internal_link a:hover {
    opacity: 0.7;
}

/* PC下層ページ 共通設定 */
.common_page_main .en_title {
    font-family: "Satoshi-BoldItalic", sans-serif;
    font-size: 80px;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
    color: #fff;
    text-transform: uppercase;
}

.common_page_main .breadcrumb_symbol {
    margin: 0 19px;
}

.common_page_main .img {
    width: 96.5%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.common_page_main .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.common_page_main .img::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(62, 58, 57, 0.15);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.wp-pagenavi {
    text-align: center;
    margin-top: 80px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    color: var(--main-color);
    background-color: #FFF;
    border: solid 1px var(--main-color);
    padding: 5px;
    margin: 0 2px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    text-align: center;
    text-decoration: none;
}

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

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

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    border-color: var(--main-color);
}

.wp-pagenavi .prev,
.wp-pagenavi .next {
    display: none;
}

/* PC下層ページ 事業内容 */
.page_bg_upper {
    position: relative;
}

.page_bg_upper::before {
    content: "";
    width: 96.5%;
    /* height: 1825px; */
    height: 1960px;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    top: 170px;
    left: 0;
    z-index: -1;
}

.page_service .detail_item {
    padding: 0 0 20px 13px;
    width: 520px;
    position: relative;
}

.page_service .detail_item::before,
.page_service .detail_item::after {
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
}

.page_service .detail_item::before {
    height: 1px;
    background-color: #C6C3B9;
    bottom: 0;
}

.page_service .detail_item::after {
    height: 2px;
    background-color: #C8BB8D;
    bottom: 0;
    -webkit-transform: scale(0.1, 1);
    transform: scale(0.1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.page_service .text_block {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 33px;
}

.page_service .order {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 18px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #C8BB8D;
}

.page_service .sub_title {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 20px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #ACA9A8;
}

.page_service .title {
    margin-top: 10px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #3E3A39;
}

.page_service .list {
    margin-top: 34px;
}

.page_service .point_item {
    gap: 15px;
}

.page_service .point_item+.point_item {
    margin-top: 20px;
}

.page_service .point {
    padding: 8px;
    background-color: #C8BB8D;
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 13px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #fff;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-align: center;
}

.page_service .item_right {
    padding: 8px 0;
    max-width: 475px;
    width: 100%;
}

.page_service .item_title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .08em;
}

.page_service .page_bg_lower {
    position: relative;
}

.page_service .page_bg_lower::before {
    content: "";
    width: 96.5%;
    /* height: 1524px; */
    height: 1630px;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}

/* PC下層ページ 管理実績 */
/* PC下層ページ 売却実績 */
.page_achievements .common_page_wrap {
    position: relative;
}

.page_achievements .common_page_wrap::before {
    content: "";
    width: 96.5%;
    height: 103%;
    background: url(/wp-content/themes/swell_child/image/achievements_bg.png) no-repeat center center / cover, radial-gradient(circle at center, #F8F8F8, #E3E3E3);
    position: absolute;
    top: -170px;
    left: 0;
    z-index: -2;
}

.page_achievements .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 20px;
}

.page_achievements .item .img {
    width: 100%;
}

.page_achievements .item .img img {
    width: 100%;
    aspect-ratio: 27/30;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
}

.page_achievements .title_block {
    /* margin: -70px 0 0 auto; */
    padding: 20px 15px 20px 20px;
    /* width: 90%; */
    width: 100%;
    /* min-height: 140.4px; */
    min-height: 120px;
    border-left: 5px solid #C8BB8D;
    background-color: #fff;
    line-height: 1.3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    gap: 6px;
}

.page_achievements .title_block .item_title {
    font-size: 18px;
    font-weight: 700;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.page_achievements .title_block .prefectures {
    color: #C8BB8D;
}

/* PC下層ページ 会社概要 */
.page_bg_company {
    position: relative;
}

.page_bg_company::before {
    content: "";
    width: 96.5%;
    height: 2090px;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    top: 170px;
    left: 0;
    z-index: -1;
}

.page_company .detail_item {
    padding: 0 0 20px 13px;
    width: 520px;
    position: relative;
}

.page_company .detail_item::before,
.page_company .detail_item::after {
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
}

.page_company .detail_item::before {
    height: 1px;
    background-color: #C6C3B9;
    bottom: 0;
}

.page_company .detail_item::after {
    height: 2px;
    background-color: #C8BB8D;
    bottom: 0;
    -webkit-transform: scale(0.1, 1);
    transform: scale(0.1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.page_company .text_block {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 33px;
}

.page_company .order {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 18px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #C8BB8D;
}

.page_company .sub_title {
    font-family: "Satoshi-MediumItalic", sans-serif;
    font-size: 20px;
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    color: #ACA9A8;
}

.page_company .title {
    margin-top: 10px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #3E3A39;
}

.page_company .cont {
    margin-top: 50px;
}

.page_company .company_greeting_sec {
    margin-top: 140px;
    padding-bottom: 100px;
}

.page_company .text_box {
    margin-top: 50px;
}

.page_company .text+.text {
    margin-top: 30px;
}

.page_company .text.name {
    text-align: right;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.page_company .company_history_sec {
    margin-top: 100px;
}

.page_company .company_history_sec .lead {
    margin-top: 50px;
}

.page_company .company_history_sec .list {
    /* margin-top: 30px; */
    margin-top: 50px;
}

.page_company .company_history_sec .define {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #C8BB8D;
}

/* .page_company .company_history_sec .define:first-of-type {
    border-top: 1px solid #C8BB8D;
} */

.page_company .company_history_sec .year_month {
    padding: 20px;
    max-width: 250px;
    width: 100%;
    /* background-color: #E8E8E8; */
}

.page_company .company_history_sec .contents_block {
    padding: 20px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.page_company .company_history_sec .heading.bold {
    font-weight: 700;
}

/* .page_company .company_history_sec .contents {
    padding: 20px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
} */

.contents_block dd.contents:nth-of-type(2) {
    margin-top: 10px;
}

.page_company .company_history_sec .contents+.contents {
    margin-top: 6px;
}

/* PC下層ページ 採用情報 */
.page_bg_recruit {
    position: relative;
}

.page_bg_recruit::before {
    content: "";
    width: 96.5%;
    height: 595px;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    top: 170px;
    left: 0;
    z-index: -1;
}

.page_recruit .reserve_text {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-bottom: 1px solid #3E3A39;
}

.page_recruit .text {
    margin-top: 30px;
    padding-bottom: 100px;
    text-align: center;
}

/* PC下層ページ 個人情報保護方針 */
.page_bg_privacy {
    position: relative;
}

.page_bg_privacy::before {
    content: "";
    width: 96.5%;
    height: 1190px;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    top: 170px;
    left: 0;
    z-index: -1;
}

.privacy_cont_sec {
    padding-bottom: 100px;
}

/* PC下層ページ サイトマップ */
.page_bg_sitemap {
    position: relative;
}

.page_bg_sitemap::before {
    content: "";
    width: 96.5%;
    height: 600px;
    background: -webkit-gradient(linear, left top, right bottom, from(#F2F0E9), to(#E8E5DC));
    background: linear-gradient(to bottom right, #F2F0E9, #E8E5DC);
    position: absolute;
    top: 170px;
    left: 0;
    z-index: -1;
}

/* PC下層ページ お知らせ */
.l-content {
    margin: 0 auto 8.8em;
}

.p-authorBox .avatar {
    display: inline;
}

@media (min-width: 600px) {
    .l-content {
        padding-top: 8.8em;
    }
}

.-type-list .p-postList__thumb,
.-type-list2 .p-postList__thumb,
.-type-card .p-postList__thumb {
    display: none !important;
}

.-type-list .p-postList__body,
.-type-list2 .p-postList__body {
    width: 100% !important;
}

.-type-list .p-postList__link,
.-type-list2 .p-postList__link,
.-type-card .p-postList__link {
    border-bottom: 1px solid var(--color_border);
    padding-bottom: 10px;
}

@media (hover: hover) {
    .button_icon a:hover {
        opacity: 0.7;
    }

    .header a:hover .logo {
        opacity: 0.7;
    }

    .header .item:hover a {
        color: #C8BB8D;
    }

    .header .item:hover::before {
        -webkit-transform: translateX(-50%) scale(1, 1);
        transform: translateX(-50%) scale(1, 1);
    }

    .header .item.modal:hover .text {
        color: #C8BB8D;
    }

    .header .item.modal:hover .text::after {
        background: url(/wp-content/themes/swell_child/image/arrow_menu_after.svg) no-repeat center center/contain;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .header .item.modal:hover>.modal_wrap {
        opacity: 1;
        visibility: visible;
    }

    .header .modal_contents a:hover .sub_title,
    .header .modal_contents a:hover .title {
        color: #C8BB8D;
    }

    .header .modal_item a:hover .modal_text::after {
        background: url(/wp-content/themes/swell_child/image/arrow_menu_after.svg) no-repeat center center/contain;
    }

    .header .modal_item a:hover .modal_text .character {
        color: #C8BB8D;
    }

    .header .modal_item a:hover .modal_text .character::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .button_more a:hover .button_text::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .button_more a:hover .arrow {
        border: 1px solid #C8BB8D;
        background: url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/5.7px;
    }

    .button_more a:hover .arrow::before {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    .scroll_down:hover .scroll_down_text::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .scroll_down:hover .arrow {
        border: 1px solid #C8BB8D;
        background: url(/wp-content/themes/swell_child/image/arrow_scroll_after.svg) no-repeat center center/5.7px;
    }

    .scroll_down:hover .arrow::before {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    .top_information .item a:hover .date_block::after {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .top_information .item a:hover .title {
        color: #C8BB8D;
    }

    .top_information .item a:hover .title::before,
    .top_information .item a:hover .title::after {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .top_information .item a:hover .text {
        color: #C8BB8D;
    }

    .top_information .item a:hover .text::before,
    .top_information .item a:hover .text::after {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .top_service .detail_item:hover::after {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .top_service .detail_item:hover .text_block::after {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .top_service .detail_item:hover .title {
        color: #C8BB8D;
    }

    .top_service .detail_item:hover .arrow {
        border: 1px solid #C8BB8D;
        background: url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/5.7px;
    }

    .top_service .detail_item:hover .arrow::before {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    .top_achievements .swiper-button-prev:hover,
    .top_achievements .swiper-button-next:hover {
        color: #fff;
    }

    .top_achievements .swiper-button-prev:hover::before,
    .top_achievements .swiper-button-next:hover::before {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    .top_about .item a:hover::before {
        opacity: 0;
    }

    .top_about .item a:hover .img {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    .common_contact .button_contact a:hover {
        background-color: #3E3A39;
    }

    .common_contact .button_contact a:hover .arrow {
        background: #4E4A48 url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/5.7px;
    }

    .footer a:hover .logo {
        opacity: 0.7;
    }

    .footer a.classification:hover .character::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .footer .menu_item a:hover,
    .footer .internal_link a:hover {
        opacity: 0.7;
    }

    .button a:hover {
        background-color: #C8BB8D;
        color: #fff;
    }
}

@media (max-width: 750px) {
    body {
        line-height: 1.8;
    }

    .wrap {
        max-width: 90%;
    }

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

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

    body {
        font-size: 3.6vw;
        padding-top: 15.4vw;
    }

    /* SPヘッダー */
    .header.pc {
        display: none;
    }

    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
        z-index: 1000;
        padding: 0 14.1vw 0 2.6vw;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    #sp_header .logo {
        margin-top: 3.7vw;
    }

    #sp_header .logo img {
        width: 38.1vw;
        height: 4.4vw;
    }

    .logo_text {
        margin-bottom: 1.7vw;
        font-size: 3.1vw;
        letter-spacing: 0;
        color: #302D2C;
    }

    #sp_header .icon {
        width: 10.3vw;
        height: 10.3vw;
        border: 1px solid #3E3A39;
        background-color: #fff;
        color: #000;
    }

    #sp_header .tel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #sp_header .tel img {
        width: 4.4vw;
        aspect-ratio: 1/1;
        -o-object-fit: cover;
        object-fit: cover;
    }

    /* SP固定ページ 共通設定 */
    .common_page_main {
        padding-block: 21.7vw 2.3vw;
        margin-top: 0;
    }

    .common_page_main .title_box .title {
        margin: 3.3vw 0 0 1.5vw;
        font-size: 3.6vw;
        gap: 4vw;
    }

    .common_page_main .title_box .title::before {
        height: 3.3vw;
    }

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        margin-block: 11.7vw 0;
        font-size: 3.1vw;
    }

    /* 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 {
        grid-template-columns: 1fr;
        gap: 0.6em;
    }

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

    .common_contact_form .form_box dl dt {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        font-size: 4.1vw;
        padding-inline: 0;
    }

    .common_contact_form .form_box dl dt .label {
        font-size: 3.1vw;
    }

    .common_contact_form .form_box dl dt::after {
        content: none;
    }

    .common_contact_form input[type=text],
    .common_contact_form input[type=email],
    .common_contact_form #zip {
        font-size: 3.6vw;
    }

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
    }

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

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

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

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

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

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

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

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    }

    .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0;
    }

    .privacy_term_outer .privacy_term_inner .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 {
        width: 2.5vw;
        margin: 1.5vw auto 0;
    }

    /* サンクスページ */
    .page_contact .thanks_textArea .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .page_contact .thanks_textArea .contact_text {
        font-size: 3.5vw;
        margin-bottom: 2em;
        width: 100%;
    }

    .page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    .page_contact .progressbar {
        gap: 4.5em;
        margin-block: 0 2.5em;
    }

    .page_contact .progressbar .item {
        font-size: 3.1vw;
    }

    .page_contact .progressbar .item+.item::before {
        width: 5.7vw;
        top: 63%;
        left: -3.3em;
    }

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

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

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

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

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

    body #sitemap_list {
        padding: 0;
    }

    /* ○○様サイト SP版追加CSS */
    a[href^="tel:"] {
        pointer-events: auto;
    }

    /* 共通設定 */
    body {
        min-width: initial;
    }

    .wrap {
        max-width: 90%;
        width: initial;
    }

    /* 共通パーツ */
    .button_icon a {
        font-size: 3.3vw;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .button_icon.mail a {
        padding: 3.4vw 3.8vw;
        border: none;
        background-color: #C8BB8D;
        color: #fff;
        gap: 1.3vw;
    }

    .button_icon.mail a::before {
        width: 4.1vw;
        background: url(/wp-content/themes/swell_child/image/icon_mail_white.svg) no-repeat center center/contain;
    }

    .button_icon.assessment a {
        padding: 3.4vw 3.8vw;
        gap: 1.3vw;
    }

    .button_icon.assessment a::before {
        width: 3.6vw;
    }

    .button_icon.line a {
        padding: 3.4vw 3.8vw;
        gap: 1.3vw;
    }

    .button_icon.line a::before {
        width: 5.1vw;
    }

    .button_more {
        width: 41.8vw;
    }

    .button_more a .button_text {
        font-size: 4.1vw;
    }

    .button_more a .button_text::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .button_more a .arrow {
        width: 12.8vw;
        border: none;
        background: url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/1.5vw;
        position: relative;
    }

    .button_more a .arrow::before {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    .button_contact a {
        width: 100%;
        padding: 2.6vw 2.6vw 2.6vw 6.4vw;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .button_contact a .text_block {
        margin-bottom: 2.5vw;
    }

    .button_contact a .sub_title {
        font-size: 6.2vw;
        gap: 2.6vw;
    }

    .button_contact.tel a {
        padding: 2.6vw 2.6vw 2.6vw 6.5vw;
    }

    .button_contact.tel a .tel_wrap {
        margin-bottom: 2.6vw;
    }

    .button_contact.tel a .tel_block {
        margin: 0 0 0 1.3vw;
        gap: 1.3vw;
    }

    .button_contact.tel a .number {
        font-size: 6.2vw;
    }

    .button_contact.tel a .number::before {
        margin-right: 1.5vw;
        width: 4.1vw;
        aspect-ratio: 1/1;
    }

    .button_contact.tel a .hour {
        font-size: 2.6vw;
    }

    .button_contact.mail a .sub_title::before {
        width: 4.6vw;
    }

    .button_contact.assessment a .sub_title::before {
        width: 4.1vw;
    }

    .button_contact.line a .sub_title::before {
        width: 5.1vw;
    }

    .button_contact .title {
        margin-top: 0.5vw;
        font-size: 3.6vw;
        text-align: left;
    }

    .button_contact .arrow {
        padding: 1.8vw;
        width: 5.1vw;
        height: 20.5vw;
        background: #3E3A39 url(/wp-content/themes/swell_child/image/arrow_button_after.svg) no-repeat center center/1.2vw;
    }

    .button_contact+.button_contact {
        margin-top: 2.3vw;
    }

    .section_sub_title {
        font-size: 7.2vw;
    }

    .section_title {
        font-size: 3.6vw;
        gap: 4vw;
    }

    .section_title::before {
        height: 3.3vw;
    }

    .section_title::after {
        content: "";
        width: 1px;
        height: 3.3vw;
        background-color: #C8BB8D;
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    /* SP_メインビュー */
    .site-main {
        padding-top: 0;
    }

    .sections_bg::before {
        width: 97.4%;
        height: 90.3%;
        top: 57.7vw;
    }

    .top_fv {
        padding: 111.4vw 0 0;
        position: relative;
    }

    .top_fv .wrap {
        width: initial;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: initial;
        -ms-flex-align: initial;
        align-items: initial;
        gap: 7.4vw;
    }

    .top_fv .title {
        font-size: 8.2vw;
    }

    .top_fv .scroll_down {
        margin-left: auto;
        width: 31.8vw;
    }

    .top_fv .scroll_down .scroll_down_text {
        font-size: 3.3vw;
    }

    .top_fv .scroll_down .scroll_down_text::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    .top_fv .scroll_down .arrow {
        width: 5.1vw;
        border: none;
        background: url(/wp-content/themes/swell_child/image/arrow_scroll_after.svg) no-repeat center center/1.8vw;
    }

    .top_fv .scroll_down .arrow::before {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    .top_fv .img {
        width: 97.4%;
        height: 115.4vw;
    }

    /* SP_INFORMATION */
    .top_information {
        padding-top: 6.8vw;
    }

    .top_information .wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .top_information .upper_block {
        display: contents;
    }

    .top_information .section_title_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 3.5vw;
    }

    .top_information .section_sub_title {
        font-size: 7.2vw;
    }

    .top_information .button_more {
        margin: 3.8vw auto 0;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .top_information .contents {
        width: 96.9%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .top_information .list {
        margin-top: 2.5vw;
        grid-template-columns: 1fr;
        gap: 2.6vw;
    }

    .top_information .item a {
        padding: 6.8vw 6.4vw 6.5vw;
    }

    .top_information .date_block {
        padding-bottom: 2.8vw;
        font-size: 3.6vw;
    }

    .top_information .date_block::after {
        -webkit-transform: scale(0.26, 1);
        transform: scale(0.26, 1);
    }

    .top_information .date_block .arrow {
        display: block;
        width: 1.5vw;
    }

    .top_information .title {
        margin-top: 4.5vw;
        font-size: 4.1vw;
        -webkit-line-clamp: 1;
    }

    .top_information .text {
        margin-top: 2vw;
        font-size: 3.6vw;
    }

    /* SP_CONCEPT */
    .top_concept {
        padding: 15.4vw 0;
    }

    .top_concept .wrapper {
        height: 24.4vw;
        top: 84.5vw;
    }

    .top_concept .loop {
        -webkit-animation: loop 120s linear infinite;
        animation: loop 120s linear infinite;
        width: 400.8vw;
    }

    .top_concept .loop2 {
        width: 400.8vw;
        -webkit-animation: loop 120s -60s linear infinite;
        animation: loop 120s -60s linear infinite;
    }

    @-webkit-keyframes loop {
        0% {
            -webkit-transform: translateX(103%);
            transform: translateX(100%);
        }

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

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

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

    .top_concept .main_contents {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0;
    }

    .top_concept .img_left_wrap {
        margin-top: 0;
        width: 92.3vw;
        max-height: initial;
    }

    .top_concept .img_left {
        max-height: initial;
    }

    .top_concept .img_left img {
        aspect-ratio: 1/1;
    }

    .top_concept .img_left:last-of-type {
        margin-top: 5.1vw;
    }

    .top_concept .center_block {
        margin: 9.5vw 0 0 5.1vw;
        width: 87.3vw;
        max-width: initial;
    }

    .top_concept .section_sub_title {
        font-size: 3.6vw;
        gap: 3.1vw;
    }

    .top_concept .section_sub_title::after {
        width: 25.6vw;
    }

    .top_concept .section_title {
        margin-top: 5.9vw;
        font-size: 8.2vw;
        letter-spacing: 0.2em;
        line-height: 1.3;
        white-space: nowrap;
    }

    .top_concept .section_title::after {
        content: initial;
    }

    .top_concept .text_block {
        margin-top: 4.8vw;
    }

    .top_concept .text {
        font-size: 3.6vw;
    }

    .top_concept .center_block .text_block .text {
        font-size: 3.6vw;
    }

    .top_concept .img_right {
        margin: 5.9vw 0 0 auto;
        width: 94.9vw;
    }

    .top_concept .img_right img {
        aspect-ratio: 37/20;
    }

    /* SP_SERVICE */
    .top_service {
        padding: 12.8vw 0 15.2vw;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 3.8vw;
    }

    .top_service .left_block {
        width: 100%;
    }

    .top_service .left_inner {
        margin-left: auto;
        max-width: initial;
    }

    .top_service .section_title_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 3.4vw;
    }

    .top_service .detail_item {
        margin: -10vw 0 0 auto;
        padding: 5.2vw 5.1vw 2.6vw 6.9vw;
        width: 94.3%;
        background-color: #fff;
    }

    .top_service .detail_item::before,
    .top_service .detail_item::after {
        width: 87.9%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .top_service .detail_item::after {
        left: 5.1vw;
        -webkit-transform: scale(0.1, 1);
        transform: scale(0.1, 1);
    }

    .top_service .text_block {
        gap: 4.1vw;
    }

    .top_service .order {
        font-size: 3.1vw;
    }

    .top_service .sub_title {
        font-size: 3.1vw;
        color: #ACA9A8;
    }

    .top_service .title {
        margin-top: 1.8vw;
        font-size: 4.1vw;
    }

    .top_service .arrow {
        width: 5.1vw;
        background: url(/wp-content/themes/swell_child/image/arrow_button.svg) no-repeat center center/0.75vw;
    }

    .top_service .right_block {
        width: 90%;
    }

    .top_service .sub_img_list {
        margin-top: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 6.4vw;
    }

    .top_service .sub_img_item img {
        aspect-ratio: 35/20;
    }

    /* SP_ACHIEVEMENTS */
    .top_achievements {
        padding-bottom: 19.3vw;
    }

    .top_achievements::before {
        width: 97.4%;
        height: 306vw;
        background: url(/wp-content/themes/swell_child/image/achievements_bg_sp.png) no-repeat center center/cover, radial-gradient(circle at center, #F8F8F8, #E3E3E3);
        position: absolute;
        top: 3.8vw;
    }

    .top_achievements .section_sub_title {
        font-size: 12.3vw;
        white-space: nowrap;
    }

    .top_achievements .wrap {
        margin-top: 8.8vw;
        max-width: 84.7%;
        width: initial;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 11.5vw;
    }

    .top_achievements .section_title {
        font-size: 6.2vw;
        letter-spacing: 0.1em;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 3.8vw;
        writing-mode: initial;
        -webkit-writing-mode: initial;
        -moz-writing-mode: initial;
        -ms-writing-mode: initial;
    }

    .top_achievements .section_title::before {
        height: 6.2vw;
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    .top_achievements .section_title::after {
        height: 6.2vw;
        background-color: #3E3A39;
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    .top_achievements .upper_block {
        display: contents;
    }

    .top_achievements .contents_sub_title {
        font-size: 3.1vw;
        color: #ACA9A8;
    }

    .top_achievements .contents_title {
        margin-top: 1.8vw;
        font-size: 5.1vw;
    }

    .top_achievements .button_more {
        margin: 7vw auto 0;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .top_achievements .management {
        margin-top: 0;
    }

    .top_achievements .management,
    .top_achievements .sales {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .top_achievements .management::before,
    .top_achievements .management::after,
    .top_achievements .sales::before,
    .top_achievements .sales::after {
        content: "";
        position: absolute;
        left: 0;
    }

    .top_achievements .management::before,
    .top_achievements .sales::before {
        width: 87.2vw;
        top: -5.8vw;
    }

    .top_achievements .management::after,
    .top_achievements .sales::after {
        width: 23.1vw;
        top: -6vw;
    }

    .top_achievements .swiper {
        margin-top: 4.8vw;
        width: 419.2vw;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .top_achievements .item {
        width: 66.7vw;
    }

    .top_achievements .item .img img {
        aspect-ratio: 26/34;
    }

    .top_achievements .title_block {
        /* margin: -14.6vw 0 0 auto; */
        padding: 6.1vw 3.8vw 5.6vw 5.2vw;
        /* width: 92.3%; */
        min-height: 22.3vw;
        border-left: 1.3vw solid #C8BB8D;
    }

    .top_achievements .item_title {
        font-size: 4.1vw;
        line-height: 1.3;
    }

    .top_achievements .management_slider_button_wrap {
        top: 4.6vw;
        right: -2.8vw;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .top_achievements .swiper-button-prev,
    .top_achievements .swiper-button-next {
        width: 10.3vw;
        height: 10.3vw;
        border: none;
        background-color: #C8BB8D;
        color: #fff;
    }

    .top_achievements .management_slider_button_wrap .swiper-button-prev {
        border: none;
    }

    .top_achievements .management_slider_button_wrap .swiper-button-next {
        margin-left: 2.6vw;
    }

    .top_achievements .sales {
        margin-top: 18.4vw;
    }

    .top_achievements .sales_slider_button_wrap {
        top: 4.6vw;
        right: -2.8vw;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .top_achievements .sales_slider_button_wrap .swiper-button-prev {
        border: none;
    }

    .top_achievements .sales_slider_button_wrap .swiper-button-next {
        margin-left: 2.6vw;
    }

    .top_achievements .swiper-button-prev::after,
    .top_achievements .swiper-button-next::after {
        width: 1.8vw;
        height: 1.8vw;
    }

    /* SP_ABOUT US */
    .top_about {
        padding-top: 5vw;
        padding-bottom: 5vw;
    }

    .top_about::before {
        width: 94.9%;
        height: 130vw;
        top: 0;
    }

    .top_about .upper_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 7.5vw;
    }

    .top_about .main_img {
        max-width: initial;
    }

    .top_about .main_img img {
        aspect-ratio: 35/20;
    }

    .top_about .upper_right {
        margin-bottom: 0;
        max-width: initial;
        width: 94%;
    }

    .top_about .section_title {
        margin: 3vw 0 0 1.8vw;
    }

    .top_about .section_title::after {
        content: initial;
    }

    .top_about .text_block {
        margin-top: 4.3vw;
    }

    .top_about .text {
        line-height: 1.7;
    }

    .top_about .text+.text {
        margin-top: 5.9vw;
    }

    .top_about .list {
        margin-top: 15vw;
        grid-template-columns: 1fr;
    }

    .top_about .item a {
        padding: 32.6vw 5.4vw 4.9vw;
    }

    .top_about .sub_title {
        font-size: 6.2vw;
        gap: 0.8vw;
    }

    .top_about .order {
        font-size: 4.1vw;
    }

    .top_about .title_block {
        margin-top: 2.2vw;
    }

    .top_about .title {
        font-size: 4.1vw;
    }

    .top_about .more {
        width: 24vw;
        font-size: 3.1vw;
    }

    .top_about .more::after {
        width: 1.5vw;
    }

    .top_about .img img {
        aspect-ratio: 350/195;
    }

    /* SP_RECRUIT */
    .top_recruit {
        padding: 18vw 0 15vw;
    }

    .top_recruit .wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .top_recruit .left_block {
        display: contents;
    }

    .top_recruit .section_sub_title {
        margin-left: -2.6vw;
        font-size: 18.5vw;
    }

    .top_recruit .recruit_title {
        margin-top: -9.5vw;
        font-size: 7.2vw;
    }

    .top_recruit .button_more {
        margin-top: 3.6vw;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .top_recruit .text_block {
        margin-top: 6.5vw;
        max-width: initial;
    }

    .top_recruit .text {
        line-height: 1.7;
    }

    .top_recruit .text+.text {
        margin-top: 5.9vw;
    }

    /* SP_CONTACT */
    .common_contact {
        padding-top: 16.9vw;
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(62, 58, 57, 0.65)), to(#3E3A39)), url(/wp-content/themes/swell_child/image/contact_bg_sp.jpg) no-repeat center center/cover;
        background: linear-gradient(to bottom, rgba(62, 58, 57, 0.65), #3E3A39), url(/wp-content/themes/swell_child/image/contact_bg_sp.jpg) no-repeat center center/cover;
    }

    .common_contact .wrap {
        padding-bottom: 15.4vw;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .common_contact .section_title {
        margin: 3.2vw 0 0 2vw;
    }

    .common_contact .section_title::after {
        content: initial;
    }

    .common_contact .list {
        margin-top: 3.8vw;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .common_contact .button_contact a {
        background-color: #3E3A39;
    }

    .common_contact .button_contact .arrow {
        background-color: #4E4A48;
    }

    .common_contact .button_contact.tel .sub_title.pc {
        display: none;
    }

    .common_contact .button_contact.tel .arrow.sp {
        display: block;
    }

    /* SP_footer */
    .footer {
        padding: 15.4vw 0 28.2vw;
    }

    .footer .wrap {
        width: initial;
    }

    .footer .upper {
        padding-bottom: 10vw;
    }

    .footer .information_block {
        max-width: initial;
    }

    .footer .information_block a {
        margin: 0 auto;
    }

    .footer .logo {
        width: 59vw;
    }

    .footer .logo_text {
        margin-top: 3.6vw;
        font-size: 4.1vw;
        color: #fff;
        text-align: center;
    }

    .footer .address {
        margin-top: 5.5vw;
        font-size: 3.6vw;
        text-align: center;
    }

    .footer .map {
        margin-top: 2.5vw;
        aspect-ratio: 35/20;
    }

    .footer .lower {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        gap: 4.6vw;
    }

    .footer .internal_link {
        gap: 7.7vw;
    }

    .footer .internal_link a {
        font-size: 3.1vw;
        font-family: "Satoshi-BoldItalic", sans-serif;
    }

    .footer .copyright {
        font-size: 3.1vw;
    }

    /* SP_banner */
    .floating_banner {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 1000;
    }

    .floating_banner .button_icon {
        width: 100%;
    }

    .floating_banner .button_icon a {
        gap: 2vw;
    }

    .floating_banner .button_icon.mail a {
        padding: 3.45vw 1vw;
    }

    .floating_banner .button_icon.mail a::before {
        width: 6.5vw;
    }

    .floating_banner .button_icon.assessment a {
        padding: 3.27vw 1vw;
    }

    .floating_banner .button_icon.assessment a::before {
        width: 5.5vw;
    }

    .floating_banner .button_icon.line a {
        padding: 1.3vw 1vw;
    }

    .floating_banner .button_icon.line a::before {
        width: 10.2vw;
    }

    /* SP固定ページ 共通設定 */
    .common_page_main .wrap {
        width: 84.4%;
    }

    .common_page_main .en_title {
        font-size: 8.2vw;
    }

    .common_page_main .breadcrumb_symbol {
        margin: 0 4.7vw;
    }

    .common_page_main .img {
        width: 97.4%;
        height: auto;
    }

    .common_page_main .img img {
        height: initial;
        aspect-ratio: 38/22;
    }

    .wp-pagenavi {
        text-align: center;
        margin-top: 15vw;
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        padding: 0;
        font-size: 3.6vw;
        height: 9.2vw;
        line-height: 9.2vw;
        min-width: 9.2vw;
    }

    /* SP会社案内ページ 事業内容 */
    .page_bg_upper::before {
        width: 97.4%;
        /* height: 445vw; */
        height: 480vw;
        top: 28.2vw;
    }

    .page_service .detail_item {
        padding: 0 0 2.6vw 1.8vw;
        width: initial;
    }

    .page_service .text_block {
        gap: 4.1vw;
    }

    .page_service .order {
        font-size: 3.6vw;
    }

    .page_service .sub_title {
        font-size: 4.1vw;
    }

    .page_service .title {
        margin-top: 1.8vw;
        font-size: 6.2vw;
    }

    .page_service .list {
        margin-top: 5vw;
    }

    .page_service .point_item {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        gap: 3.6vw;
    }

    .page_service .point_item+.point_item {
        margin-top: 4vw;
    }

    .page_service .point {
        padding: 1.8vw;
        font-size: 3.1vw;
    }

    .page_service .item_right {
        max-width: initial;
        padding: 1vw 0;
    }

    .page_service .item_title {
        font-size: 4.6vw;
    }

    .page_service .page_bg_lower::before {
        width: 97.4%;
        /* height: 350vw; */
        height: 365vw;
        bottom: -15vw;
    }

    /* SP下層ページ 管理実績 */
    /* SP下層ページ 売却実績 */
    .page_bg_achievements::before {
        width: 97.4%;
        height: 555vw;
        top: 28.2vw;
    }

    .page_achievements .common_page_wrap::before {
        width: 97.4%;
        height: 102%;
        top: -27vw;
    }

    .page_achievements .list {
        grid-template-columns: 1fr;
        gap: 7vw;
    }

    .page_achievements .item .img img {
        aspect-ratio: 27/17;
    }

    .page_achievements .title_block {
        /* margin: -13vw 0 0 auto; */
        padding: 3.8vw 2.6vw 3.8vw 3.8vw;
        /* width: 92.3%; */
        min-height: initial;
        border-left: 1.3vw solid #C8BB8D;
        gap: 6px;
    }

    .page_achievements .title_block .item_title {
        font-size: 4.1vw;
        line-height: 1.3;
    }

    /* SP下層ページ 会社概要 */
    .page_bg_company::before {
        width: 97.4%;
        /* height: 412vw; */
        height: 544vw;
        top: 28.2vw;
    }

    .page_company .detail_item {
        padding: 0 0 2.6vw 1.8vw;
        width: initial;
    }

    .page_company .text_block {
        gap: 4.1vw;
    }

    .page_company .order {
        font-size: 3.6vw;
    }

    .page_company .sub_title {
        font-size: 4.1vw;
    }

    .page_company .title {
        margin-top: 1.8vw;
        font-size: 6.2vw;
    }

    .page_company .cont {
        margin-top: 2.6vw;
    }

    .page_company .company_greeting_sec {
        margin-top: 18vw;
        padding-bottom: 15vw;
    }

    .page_company .text_box {
        margin-top: 7.7vw;
    }

    .page_company .text+.text {
        margin-top: 5.9vw;
    }

    .page_company .text.name {
        font-size: 5vw;
    }

    .page_company .company_history_sec {
        margin-top: 18vw;
    }

    .page_company .company_history_sec .lead {
        margin-top: 7.7vw;
    }

    .page_company .company_history_sec .list {
        margin-top: 5.1vw;
    }

    .page_company .company_history_sec .define {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: initial;
        -ms-flex-align: initial;
        align-items: initial;
        border: 1px solid #C8BB8D;
    }

    .page_company .company_history_sec .define+.define {
        margin-top: 3.8vw;
    }

    .page_company .company_history_sec .year_month {
        padding: 3.8vw;
        max-width: initial;
    }

    .page_company .company_history_sec .contents_block {
        padding: 3.8vw;
        border-top: 1px solid #C8BB8D;
    }

    /* .page_company .company_history_sec .contents {
        padding: 3.8vw;
        border-top: 1px solid #C8BB8D;
    } */

    .contents_block dd.contents:nth-of-type(2) {
        margin-top: 2vw;
    }

    .page_company .company_history_sec .contents+.contents {
        margin-top: 1.5vw;
    }

    /* SP下層ページ 採用情報 */
    .page_bg_recruit::before {
        width: 97.4%;
        height: 108vw;
        top: 28.2vw;
    }

    .page_recruit .text {
        margin-top: 6.4vw;
        padding-bottom: 15vw;
    }

    /* PC下層ページ 個人情報保護方針 */
    .page_bg_privacy::before {
        width: 97.4%;
        height: 314vw;
        top: 28.2vw;
    }

    .privacy_cont_sec {
        padding-bottom: 15.4vw;
    }

    /* PC下層ページ サイトマップ */
    .page_bg_sitemap::before {
        width: 97.4%;
        height: 260vw;
        top: 28.2vw;
    }

    /* PC下層ページ お知らせ */
    .l-content {
        padding-top: 15vw;
        margin-bottom: 18vw;
    }

    .c-pagination {
        margin-top: 6.4vw;
    }

    .-type-list .p-postList__link,
    .-type-list2 .p-postList__link,
    .-type-card .p-postList__link {
        padding-bottom: 2vw;
    }

    .top_achievements .contents {
        overflow: visible;
    }
}