@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/
:root {
    --main-color: #002557;
    --sub-color: #fff;
}

body {
    color: #3B3938;
    font-size: 16px;
    line-height: 1.7;
}

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

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

/* PC固定ページ 共通設定 */
.common_page_main {
    padding-block: 135.4px;
}

.common_page_wrap {
    padding: 150px 0;
}

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

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

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

.breadcrumb a {
    text-decoration: none;
    color: rgba(59, 57, 56, 0.5);
}

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

.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: 35% 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: solid 1px #DFDFDF;
}

.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 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: 14px;
    font-weight: 700;
    padding: 20px;
    margin: auto 0;
}

.common_contact_form .form_box dl dd {
    padding: 20px;
    font-size: 14px;
    border-left: solid 1px #DFDFDF;
}

.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 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;
}

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

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

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

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

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

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

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

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

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

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

/* ○○様サイト追加CSS */
/* Arial */
@font-face {
    font-family: "Arial";
    src: url("/wp-content/themes/child/font/Arial.ttf") format("truetype");
}

/* Arial-Bold */
@font-face {
    font-family: "Arial-Bold";
    src: url("/wp-content/themes/child/font/Arial-Bold.ttf") format("truetype");
    font-weight: 700;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.03em;
}

@media (max-width: 750px) {
    body {
        font-size: 3.6vw;
        line-height: 1.5;
    }
}

.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;
}

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

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

/* 共通パーツ */
.button a {
    width: 100%;
    border-radius: 100vh;
    font-weight: 700;
    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: 10px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: relative;
}

.button a::after {
    content: "";
    width: 10px;
    aspect-ratio: 10/8;
    background: url(/wp-content/themes/child/image/arrow_button.svg) no-repeat center center/contain;
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.button_consult {
    width: 300px;
}

.button_consult a {
    padding: 20.2px 30px;
    background-color: #002557;
}

.button_consult a::before {
    content: "";
    width: 23px;
    aspect-ratio: 23/19.6;
    background: url(/wp-content/themes/child/image/icon_consult.svg) no-repeat center center/contain;
}

.button_contact {
    width: 300px;
}

.button_contact a {
    padding: 22px 30px;
    background-color: #0046A5;
}

.button_contact a::before {
    content: "";
    width: 22px;
    aspect-ratio: 22/15.4;
    background: url(/wp-content/themes/child/image/icon_mail.svg) no-repeat center center/contain;
}

.button_section {
    width: 300px;
}

.button_section a {
    padding: 28px 30px;
    width: 100%;
    border-radius: 100vh;
    background-color: #3B3938;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    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-transition: 0.3s;
    transition: 0.3s;
}

.button_section a::after {
    content: "";
    width: 10px;
    aspect-ratio: 10/8;
    background: url(/wp-content/themes/child/image/arrow_button.svg) no-repeat center center/contain;
}

.section_title {
    font-size: 16px;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.section_title::after {
    content: "";
    margin-left: 10px;
    background-color: #3B3938;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 2px;
}

.section_subtitle {
    font-family: "Arial-Bold", sans-serif;
    font-size: 72px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #002557;
}

/* PC_header */
.header {
    width: 100%;
    min-width: 1440px;
    border-bottom: 1px solid #E0E0E0;
    background-color: #fff;
    position: relative;
    top: 0;
    left: 0;
    z-index: 11;
}

.header .upper {
    margin-top: 25px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .logo {
    width: 330px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

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

.header .tel_block {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .tel_block a {
    font-family: "Arial-Bold", sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .tel_block a::before {
    content: "";
    display: inline-block;
    margin: 0 7px 3px 0;
    width: 18px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/child/image/icon_tel.svg) no-repeat center center/contain;
}

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

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

.header .button_header_consult {
    width: 200px;
}

.header .button_header_consult a {
    padding: 15.5px 22px;
    background-color: #002557;
    font-size: 14px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.header .button_header_consult a::before {
    content: "";
    width: 15px;
    aspect-ratio: 15/12.8;
    background: url(/wp-content/themes/child/image/icon_consult.svg) no-repeat center center/contain;
}

.header .button_header_consult a::after {
    content: initial;
}

.header .button_header_contact {
    width: 200px;
}

.header .button_header_contact a {
    padding: 15.5px 22px;
    background-color: #0046A5;
    font-size: 14px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.header .button_header_contact a::before {
    content: "";
    width: 15px;
    aspect-ratio: 15/12.8;
    background: url(/wp-content/themes/child/image/icon_mail.svg) no-repeat center center/contain;
}

.header .button_header_contact a::after {
    content: initial;
}

.header .lower {
    margin-top: 23px;
    padding-bottom: 12px;
}

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

.header .item {
    padding: 0 35px;
    border-left: 1px solid #E0E0E0;
    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 #E0E0E0;
}

.header .item::before {
    content: "";
    width: 100%;
    height: 3px;
    background-color: #002557;
    position: absolute;
    bottom: -20px;
    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-weight: 700;
    line-height: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.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;
    position: relative;
}

.header .item.modal .text::before,
.header .item.modal .text::after {
    content: "";
    width: 10px;
    height: 2px;
    background-color: #3B3938;
    position: absolute;
    top: 50%;
    right: -15px;
}

.header .item.modal .text::before {
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
    -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.modal .text::after {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

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

.header .modal_contents {
    padding: 60px 150px;
    width: 100%;
    background-color: #fff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .sub_title {
    font-family: "Arial-Bold", sans-serif;
    font-size: 48px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #002557;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .title {
    margin-top: 13px;
    font-weight: 700;
    line-height: 1;
    color: #3B3938;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .modal_list {
    width: 770px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 10px;
}

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

.header .modal_item a::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #E0E0E0;
    position: absolute;
    bottom: -10px;
    left: 0;
}

.header .modal_item a::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #002557;
    position: absolute;
    bottom: -10px;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

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

.header .modal_item:first-of-type .img {
    width: 30px;
}

.header .modal_item:first-of-type .img img {
    aspect-ratio: 30/28.8;
}

.header .modal_item:nth-of-type(2) .img {
    width: 28px;
}

.header .modal_item:nth-of-type(2) .img img {
    aspect-ratio: 28/26.9;
}

.header .modal_item:nth-of-type(3) .img {
    width: 30px;
}

.header .modal_item:nth-of-type(3) .img img {
    aspect-ratio: 30/23.6;
}

.header .modal_item:nth-of-type(4) .img {
    width: 23px;
}

.header .modal_item:nth-of-type(4) .img img {
    aspect-ratio: 23/26.2;
}

.header .modal_item:last-of-type .img {
    width: 28px;
}

.header .modal_item:last-of-type .img img {
    aspect-ratio: 28/23.6;
}

.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: 20px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/child/image/arrow_menu.svg) no-repeat center center/contain;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.header .modal_item .modal_text .character {
    font-weight: 700;
    line-height: 1.8;
    color: #3B3938;
}

.header.pc {
    -webkit-transition: opacity 0.6s ease;
    transition: opacity 0.6s ease;
    opacity: 1;
    z-index: 4;
}

.header.pc.is-fixed {
    background-color: #fff;
    position: fixed;
    width: 100%;
    top: -145px;
    left: 0;
    z-index: 4;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.header.pc.is-fixed.is-visible {
    -webkit-transform: translateY(145px);
    transform: translateY(145px);
}

.header.pc.fade-out {
    opacity: 0;
    visibility: hidden;
}

/* PC_メインビュー */
.top_fv {
    padding: 10.3vh 0 8.9vh;
    min-height: 550px;
    position: relative;
}

.top_fv .wrap {
    height: max(61.3vh, 441.4px);
    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-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.top_fv .title {
    margin: 0 auto;
    padding-left: 45px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 53px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.3;
    color: #fff;
}

.top_fv .title .strong_square {
    margin: 10px -10px 0 0;
    padding: 0 22px;
    display: inline-block;
    font-size: 96px;
    line-height: 1.1;
    border: 2px solid #fff;
}

.top_fv .title .strong {
    font-size: 64px;
    letter-spacing: 0.05em;
    line-height: 1;
}

.top_fv .text {
    margin-top: 16px;
    line-height: 1.5;
    color: #fff;
    text-align: center;
}

.top_fv .button_block {
    margin-top: 36px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
}

.top_fv .button_consult {
    width: 280px;
}

.top_fv .button_contact {
    width: 280px;
}

.top_fv .fv_swiper {
    width: 100%;
    height: 100%;
    min-height: inherit;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.top_fv .fv_swiper .swiper-wrapper,
.top_fv .fv_swiper .swiper-slide {
    height: 100%;
}

.top_fv .img {
    display: block;
    height: 100%;
}

.top_fv .img::before {
    content: "";
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(59, 57, 56, 0.25)), to(rgba(59, 57, 56, 0.5))), url(/wp-content/themes/child/image/bg_fv.png) no-repeat center center/cover;
    background: linear-gradient(to bottom, rgba(59, 57, 56, 0.25), rgba(59, 57, 56, 0.5)), url(/wp-content/themes/child/image/bg_fv.png) no-repeat center center/cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

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

/* PC_STRENGTHS */
.top_strengths {
    padding: 150px 0 150px;
    position: relative;
}

.top_strengths::before {
    content: "";
    width: 100%;
    height: 749px;
    border-radius: 0 0 10px 10px;
    background-color: #F5F5F7;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

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

.top_strengths .strengths_subtitle {
    font-family: "Arial-Bold", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #002557;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top_strengths .strengths_subtitle::after {
    content: "";
    margin-left: 10px;
    width: 100px;
    height: 2px;
    background-color: #002557;
}

.top_strengths .strengths_title {
    margin-top: 22px;
    font-size: 48px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1;
    color: #3B3938;
}

.top_strengths .text {
    margin-top: 45px;
}

.top_strengths .list {
    margin-top: 42px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 37px 30px;
}

.top_strengths .item {
    border-radius: 10px;
    border: 2px solid #E0E0E0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
}

.top_strengths .item:nth-of-type(odd) .order {
    background-color: #002557;
}

.top_strengths .item:nth-of-type(even) .order {
    background-color: #0046A5;
}

.top_strengths .item:first-of-type .title_wrap::before {
    content: "";
    width: 21px;
    aspect-ratio: 21/36.2;
    background: url(/wp-content/themes/child/image/icon_strength01.svg) no-repeat center center/contain;
}

.top_strengths .item:nth-of-type(2) .title_wrap::before {
    content: "";
    width: 35px;
    aspect-ratio: 35/26.2;
    background: url(/wp-content/themes/child/image/icon_strength02.svg) no-repeat center center/contain;
}

.top_strengths .item:nth-of-type(3) .title_wrap::before {
    content: "";
    width: 35px;
    aspect-ratio: 35/35.9;
    background: url(/wp-content/themes/child/image/icon_strength03.svg) no-repeat center center/contain;
}

.top_strengths .item:nth-of-type(4) .title_wrap::before {
    content: "";
    width: 30.8px;
    aspect-ratio: 30.8/35.5;
    background: url(/wp-content/themes/child/image/icon_strength04.svg) no-repeat center center/contain;
}

.top_strengths .item:nth-of-type(5) .title_wrap::before {
    content: "";
    width: 30px;
    aspect-ratio: 30/38.4;
    background: url(/wp-content/themes/child/image/icon_strength05.svg) no-repeat center center/contain;
}

.top_strengths .item:nth-of-type(6) .title_wrap::before {
    content: "";
    width: 30.8px;
    aspect-ratio: 30.8/35.4;
    background: url(/wp-content/themes/child/image/icon_strength06.svg) no-repeat center center/contain;
}

.top_strengths .img {
    display: block;
    width: 100%;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}

.top_strengths .img img {
    width: 100%;
    aspect-ratio: 356/180;
    -o-object-fit: cover;
    object-fit: cover;
}

.top_strengths .title_wrap {
    padding: 0 30px;
    min-height: 76px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.top_strengths .order {
    display: inline-block;
    padding: 7px 10px;
    border-radius: 10px 10px 0 10px;
    font-family: "Arial-Bold", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #fff;
    position: absolute;
    top: -10px;
    left: 10px;
}

.top_strengths .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.top_strengths .small {
    font-size: 14px;
    font-weight: 700;
}

/* common_contact */
.common_contact {
    padding: 60px 0 50px;
    background-color: #002F6E;
    position: relative;
}

.common_contact::before {
    content: "";
    width: 100%;
    height: 500px;
    background: rgba(1, 47, 110, 0.55) url(/wp-content/themes/child/image/bg_contact.png) no-repeat center center/100%;
    background-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.common_contact .contact_title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    position: relative;
}

.common_contact .contact_title::before {
    content: "";
    width: 50px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.common_contact .heading {
    margin-top: 50px;
    color: #fff;
    text-align: center;
    position: relative;
}

.common_contact .bg_text {
    font-family: "Arial-Bold", sans-serif;
    font-size: 212px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: rgba(0, 37, 87, 0.15);
    mix-blend-mode: screen;
    position: absolute;
    top: 100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 0;
}

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

.common_contact .item {
    padding: 55px 40px 30px;
    background-color: #fff;
    position: relative;
}

.common_contact .item:first-of-type {
    border-radius: 10px 0 0 10px;
    position: relative;
}

.common_contact .item:first-of-type::after {
    content: "";
    width: 1px;
    height: 150px;
    background-color: #E0E0E0;
    position: absolute;
    top: 69px;
    right: 0;
}

.common_contact .item:last-of-type {
    border-radius: 0 10px 10px 0;
}

.common_contact .item:last-of-type::after {
    content: "";
    width: 1px;
    height: 150px;
    background-color: #E0E0E0;
    position: absolute;
    top: 69px;
    left: 0;
}

.common_contact .img {
    margin: 0 auto;
    width: 120px;
    position: absolute;
    top: -80px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.common_contact .title {
    margin-top: 18px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}

.common_contact .title .underline {
    -webkit-text-decoration: underline solid #3B3938;
    text-decoration: underline solid #3B3938;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.common_contact .text {
    font-size: 14px;
    text-align: center;
}

.common_contact .button {
    margin: 25px auto 0;
}

.common_contact .tel_block {
    margin: 17px 0 0 32px;
}

.common_contact .tel_block a {
    font-family: "Arial-Bold", sans-serif;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.common_contact .tel_block a::before {
    content: "";
    display: inline-block;
    margin: 0 10px 5px 0;
    width: 20px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/child/image/icon_tel.svg) no-repeat center center/contain;
}

.common_contact .tel_block .hour {
    margin-left: 30px;
    font-size: 12px;
    line-height: 1.3;
}

/* PC_SITUATION */
.sections_bg {
    position: relative;
}

.sections_bg::before {
    content: "";
    width: 93%;
    height: 1084px;
    border-radius: 10px;
    background-color: #FAFAFA;
    position: absolute;
    top: 200px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
}

.top_situation {
    padding: 150px 0 140px;
}

.top_situation .wrap {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 80px;
}

.top_situation .title_wrap {
    width: 100%;
    max-width: 500px;
}

.top_situation .section_subtitle {
    font-size: 64px;
}

.top_situation .section_title {
    margin-top: 15px;
}

.top_situation .heading {
    margin-top: 55px;
}

.top_situation .list {
    max-width: 690px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.top_situation .item:first-of-type .img,
.top_situation .item:last-of-type .img {
    width: 60px;
}

.top_situation .item:nth-of-type(2) .img {
    width: 55px;
}

.top_situation .item:nth-of-type(3) .img {
    width: 65px;
}

.top_situation .item:nth-of-type(4) .img {
    width: 48px;
}

.top_situation .item a {
    height: 100%;
    min-height: 300px;
    display: block;
    padding: 25px 23px;
    border-radius: 10px;
    border: 2px solid transparent;
    background-color: #fff;
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.top_situation .item a .button_more {
    margin-top: 23px;
    width: 170px;
    position: relative;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.top_situation .item a .button_more .inner {
    width: 100%;
    border-radius: 100vh;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    color: #002557;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    overflow: hidden;
}

.top_situation .item a .button_more .circle {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #002557;
}

.top_situation .item a .button_more::before,
.top_situation .item a .button_more::after {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.top_situation .item a .button_more::before {
    width: 10px;
    aspect-ratio: 10/8;
    background: url(/wp-content/themes/child/image/arrow_button.svg) no-repeat center center/contain;
    left: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

.top_situation .item a .button_more::after {
    width: calc(100% - 20px);
    height: 100%;
    border-radius: 100vh;
    background-color: #002557;
    left: 0;
    -webkit-transform: scale(0, 1) translate(0, -50%);
    transform: scale(0, 1) translate(0, -50%);
    -webkit-transform-origin: 20px top;
    transform-origin: 20px top;
    z-index: 0;
}

.top_situation .item .img {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.top_situation .text_block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.top_situation .title_block {
    display: contents;
}

.top_situation .title {
    margin-top: 14px;
    font-size: 20px;
    font-weight: 700;
}

.top_situation .text {
    margin-top: 5px;
    line-height: 1.5;
    color: #777;
}

/* PC_違い */
.top_difference::before {
    content: "";
    width: 50%;
    height: 460px;
    background: rgba(255, 255, 255, 0.8) url(/wp-content/themes/child/image/bg_difference.png) no-repeat center center/contain;
    position: absolute;
    bottom: 545px;
    left: 0;
    z-index: -2;
}

.top_difference .difference_title {
    font-size: 48px;
    font-weight: 700;
    text-align: center;
}

.top_difference .difference_title .strong_navy {
    padding: 0 12px;
    border-radius: 3px;
    background-color: #002557;
    color: #fff;
}

.top_difference .difference_title .strong_gray {
    padding: 0 12px;
    border-radius: 3px;
    background-color: #B4B4B4;
    color: #fff;
}

.top_difference .heading {
    margin-top: 10px;
    text-align: center;
}

.top_difference .table_block_outer {
    margin-top: 30px;
    padding-bottom: 150px;
}

.top_difference .table_block {
    margin: 0 auto;
    width: 100%;
    max-width: 1140px;
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}

.top_difference .difference_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background-color: #fff;
    table-layout: fixed;
    position: relative;
}

.top_difference .difference_table::before,
.top_difference .difference_table::after {
    content: "";
    width: 1px;
    background-color: #E0E0E0;
    position: absolute;
    bottom: 30px;
}

.top_difference .difference_table::before {
    height: 329px;
    left: 380px;
}

.top_difference .difference_table::after {
    height: 615px;
    right: 380px;
}

.top_difference .table_head {
    padding: 14.4px 10px;
    width: 33.3%;
    border-left: 1px solid #fff;
    border-radius: 10px 10px 0 0;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.top_difference .table_head:first-child {
    background-color: #002557;
}

.top_difference .table_head:nth-child(2) {
    background-color: #0046A5;
}

.top_difference .table_head:nth-child(3) {
    background-color: #B4B4B4;
}

.top_difference .table_data {
    width: 33.3333%;
    vertical-align: top;
    position: relative;
}

.top_difference .table_body_group .table_row:not(:first-child) .table_data::after {
    content: "";
    width: 80%;
    height: 1px;
    background-color: #e0e0e0;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.top_difference .table_body_group .table_row:last-child .data_wrap {
    padding: 30px 15px 61.5px;
}

.top_difference .data_wrap {
    padding: 30px 15px;
    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-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.top_difference .feature_wrap {
    padding: 50px 15px 30px;
}

.top_difference .feature_wrap .text {
    margin-top: 20px;
}

.top_difference .feature_text {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.top_difference .img01 {
    margin: 10px auto 0;
    width: 460px;
}

.top_difference .img02 {
    margin: 10px auto 0;
    width: 300px;
}

.top_difference .text {
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.top_difference .text .strong {
    color: #A50000;
    border-bottom: 2px solid #A50000;
}

/* PC_FLOW */
.top_flow {
    padding: 150px 0;
    background: rgba(255, 255, 255, 0.6) url(/wp-content/themes/child/image/bg_flow.png) no-repeat center 185px/93%;
    position: relative;
}

.top_flow::after {
    content: "";
    width: 1140px;
    height: 1px;
    background-color: #E0E0E0;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 0;
}

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

.top_flow .section_title {
    margin-top: 7px;
}

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

.top_flow .heading {
    margin-top: 12px;
}

.top_flow .list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 35px;
    position: relative;
}

.top_flow .list::before {
    content: "";
    width: 940.4px;
    height: 5px;
    background: linear-gradient(to right, #0046A5 10px, transparent 10px) repeat-x left bottom/20px 5px;
    position: absolute;
    top: 145px;
    left: 50%;
    -webkit-transform: translateX(-50%) scale(0, 1);
    transform: translateX(-50%) scale(0, 1);
    -webkit-transform-origin: left;
    transform-origin: left;
    z-index: 0;
    -webkit-transition: -webkit-transform 1s ease-out;
    transition: -webkit-transform 1s ease-out;
    transition: transform 1s ease-out;
    transition: transform 1s ease-out, -webkit-transform 1s ease-out;
}

.top_flow .list.active::before {
    -webkit-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
}

.top_flow .item {
    border-radius: 10px;
    background-color: #FAFAFA;
    overflow: hidden;
}

.top_flow .item:first-of-type .order {
    background-color: #0046A5;
}

.top_flow .item:nth-of-type(2) .order {
    background-color: #013D90;
}

.top_flow .item:nth-of-type(3) .order {
    background-color: #01357E;
}

.top_flow .item:nth-of-type(4) .order {
    background-color: #012D6A;
}

.top_flow .item:last-of-type .order {
    background-color: #002557;
}

.top_flow .order {
    padding: 18px 20px 16px;
    font-family: "Arial-Bold", sans-serif;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.top_flow .item_name {
    font-size: 14px;
    line-height: 1;
}

.top_flow .number {
    font-size: 24px;
    line-height: 1.3;
}

.top_flow .title_block {
    width: 100%;
    padding: 30px;
    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;
}

.top_flow .img {
    margin: 0 auto;
    width: 80px;
    position: relative;
}

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

.top_flow .title {
    margin: 25px auto 0;
    font-size: 24px;
    font-weight: 700;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
}

/* PC_REVIEW */
.top_review {
    padding-top: 150px;
    overflow-x: clip;
    position: relative;
}

.top_review::before {
    content: "";
    width: 66%;
    height: 850px;
    border-radius: 0 10px 10px 0;
    background-color: #F5F5F7;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.top_review .wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 80px;
}

.top_review .title_block {
    width: 310px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.top_review .section_title {
    margin-top: 8px;
}

.top_review .heading {
    margin-top: 54px;
}

.top_review .button_section {
    margin-top: 52px;
}

.top_review .contents {
    overflow: visible;
    position: relative;
}

.top_review .swiper {
    margin-top: 23px;
    width: 2260px;
}

.top_review .item {
    width: 360px;
}

.top_review .contents .swiper-pagination {
    width: 70.5%;
    font-family: "Arial-Bold", sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0;
    color: #002557;
    bottom: -84px;
}

.top_review .review_slider_button_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    bottom: -84px;
    left: 607px;
}

.top_review .swiper-button-prev,
.top_review .swiper-button-next {
    position: relative;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 2px solid #002557;
    background-color: transparent;
    color: #002557;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_review .review_slider_button_wrap .swiper-button-next {
    margin-left: 30px;
}

.top_review .review_slider_button_wrap .swiper-button-prev::before,
.top_review .review_slider_button_wrap .swiper-button-next::before {
    content: "";
    width: 12.5px;
    height: 10px;
    background: url(/wp-content/themes/child/image/arrow_navy.svg) no-repeat center center/contain;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_review .review_slider_button_wrap .swiper-button-prev::before {
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
    transform: translate(-50%, -50%) rotate(180deg);
}

.top_review .swiper-button-next:after,
.top_review .swiper-button-prev:after {
    content: initial;
}

.top_review .list {
    margin-top: 30px;
}

.top_review .item {
    padding-top: 35px;
    border-radius: 10px;
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    background-color: #fff;
    position: relative;
}

.top_review .item:nth-of-type(odd) .order,
.top_review .item:nth-of-type(odd) .attribute_block {
    background-color: #002557;
}

.top_review .item:nth-of-type(odd) .text::after {
    background-color: #002557;
}

.top_review .item:nth-of-type(even) .order,
.top_review .item:nth-of-type(even) .attribute_block {
    background-color: #01357E;
}

.top_review .item:nth-of-type(even) .text::after {
    background-color: #01357E;
}

.top_review .order {
    display: inline-block;
    padding: 7px 23px;
    border-radius: 10px 10px 0 10px;
    font-family: "Arial-Bold", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #fff;
    position: absolute;
    top: -10px;
    left: 10px;
}

.top_review .title {
    padding: 0 20px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.top_review .text {
    margin: 10px 20px 0;
    padding-top: 20px;
    color: #777;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    position: relative;
}

.top_review .text::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #E0E0E0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.top_review .text::after {
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left;
    transform-origin: left;
    z-index: 1;
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
}

.top_review .attribute_block {
    margin-top: 35px;
    padding: 15px 20px 12px;
    border-radius: 0 0 10px 10px;
    color: #fff;
    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_review .attribute_block::after {
    content: "";
    width: 40px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/child/image/arrow_review.svg) no-repeat center center/contain;
}

.top_review .address {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.top_review .date {
    font-family: "Arial-Bold", sans-serif;
    font-weight: 700;
}

/* PC_STAFF */
.top_staff {
    padding-top: 250px;
    position: relative;
}

.top_staff::before {
    content: "";
    width: 82.6%;
    height: 763px;
    background: rgba(255, 255, 255, 0.6) url(/wp-content/themes/child/image/bg_staff.png) no-repeat center center/contain;
    position: absolute;
    top: 200px;
    right: 0;
    z-index: -2;
}

.top_staff .wrap {
    padding-bottom: 150px;
    position: relative;
}

.top_staff .wrap::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #E0E0E0;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.top_staff .title_wrap {
    text-align: center;
}

.top_staff .section_title {
    margin-top: 4px;
    display: block;
}

.top_staff .heading {
    margin-top: 10px;
}

.top_staff .list {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    position: relative;
    z-index: 1;
}

.top_staff .item a {
    display: block;
    padding: 350px 20px 15px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.top_staff .item a::before {
    content: "";
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.55)));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.55));
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 1;
    visibility: visible;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.top_staff .text_block {
    position: relative;
}

.top_staff .position {
    display: inline-block;
    padding: 5px 15.5px;
    border-radius: 100vh;
    background-color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.top_staff .title {
    margin-top: 4px;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
}

.top_staff .more {
    font-family: "Arial-Bold", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top_staff .more::before {
    content: "";
    margin-right: 15px;
    background-color: #fff;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 2px;
}

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

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

.top_staff .button_section {
    margin: 35px auto 0;
}

/* PC_SNS */
.top_sns {
    padding: 120px 0;
    background: rgba(255, 255, 255, 0.8) url(/wp-content/themes/child/image/bg_sns.png) no-repeat left bottom/33.5%;
}

.top_sns .wrap {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.top_sns .title_block {
    margin-bottom: 80px;
    width: 375px;
}

.top_sns .section_title {
    margin-top: 17px;
}

.top_sns .heading {
    margin-top: 53px;
}

.top_sns .contents {
    width: 100%;
    max-width: 685px;
    text-align: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.top_sns .left_block {
    max-width: 425px;
}

.top_sns .insta_block .list {
    margin-top: 15px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.top_sns .tiktok_block {
    margin-top: 40px;
}

.top_sns .tiktok_block .button_section {
    width: 100%;
}

.top_sns .tiktok_block .button_section a {
    padding: 21.4px 28px 21.4px 34px;
    background-color: #000;
}

.top_sns .tiktok_block .button_section a::after {
    width: 20px;
}

.top_sns .tiktok_block .button_section a img {
    width: 121px;
}

.top_sns .youtube_block {
    max-width: 220px;
}

.top_sns .youtube_block .youtube {
    margin-top: 22px;
    aspect-ratio: 22/39;
}

.top_sns .youtube_block .youtube iframe {
    width: 100%;
    height: 100%;
}

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

.footer .wrap.footer_wrap {
    padding-top: 130px;
}

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

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

.footer .message {
    font-size: 53px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.3;
}

.footer .message .strong {
    display: inline-block;
    margin-top: 16px;
    font-size: 90px;
    letter-spacing: 0.1em;
    line-height: 1;
}

.footer .menu_wrap {
    margin-top: 8px;
}

.footer .nav_inner {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 77px;
}

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

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

.footer .classification {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    border-bottom: 1px solid #3B3938;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.footer .menu_item a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

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

.footer .character {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
}

.footer .character::before {
    content: "";
    width: 8px;
    height: 1px;
    background-color: #3B3938;
}

.footer .middle {
    padding-bottom: 35px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

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

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

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

.footer .comment {
    font-family: "Arial-Bold", sans-serif;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.footer .icon_block {
    margin-top: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.footer .icon_block a {
    width: 30px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.footer .icon_block a img {
    width: 100%;
    vertical-align: baseline;
}

.footer .lower {
    padding-top: 30px;
    border-top: 1px solid #E0E0E0;
    -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: 30px;
}

.footer .internal_link a {
    font-size: 12px;
    line-height: 1;
    display: block;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.footer .copyright {
    display: inline-block;
    font-family: "Arial", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
}

/* PC下層ページ 共通設定 */
.breadcrumb {
    margin-block: 4.1em 2.4em;
    text-align: right;
}

.breadcrumb .wrap {
    padding-bottom: 0.6em;
    border-bottom: 1px solid #E0E0E0;
}

.breadcrumb .symbol {
    margin: 0 5px;
}

.breadcrumb .symbol,
.breadcrumb {
    font-size: 12px;
    letter-spacing: 0.01em;
}

.breadcrumb .current-item {
    color: #3B3938;
}

.breadcrumb_symbol {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin: 1px 12px;
    background-color: #E0E0E0;
}

.common_page_main {
    position: relative;
}

.common_page_main .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.common_page_main .sub_title {
    font-family: "Arial-Bold", sans-serif;
    font-size: 64px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #fff;
    text-transform: uppercase;
}

.common_page_main .title {
    margin-top: 18px;
    font-weight: 700;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.common_page_main .title::after {
    content: "";
    width: 200px;
    height: 2px;
    background-color: #fff;
}

.common_page_main .img {
    display: block;
    width: 93.1%;
    height: 100%;
    border-radius: 10px;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
    overflow: hidden;
}

.common_page_main .img::before {
    content: "";
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(59, 57, 56, 0.25)), to(rgba(59, 57, 56, 0.5))), url(/wp-content/themes/child/image/bg_fv.png) no-repeat center center/cover;
    background: linear-gradient(to bottom, rgba(59, 57, 56, 0.25), rgba(59, 57, 56, 0.5)), url(/wp-content/themes/child/image/bg_fv.png) no-repeat center center/cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

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

.common_page_bg {
    width: 100%;
    height: 1000px;
    border-radius: 10px;
    background-color: #F5F5F7;
    position: absolute;
    top: 170px;
    left: 0;
    z-index: -2;
}

.sub_page_main .cont_sec+.cont_sec {
    margin-top: 150px;
}

.sub_page_main .title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}

.sub_page_main .sub_title {
    font-family: "Arial-Bold", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    color: #002557;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.sub_page_main .sub_title::after {
    content: "";
    width: 100px;
    height: 2px;
    background-color: #002557;
}

/* PC下層ページ 会社概要 */
.page_company .title {
    margin-top: 18px;
}

.page_company .message .text_block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.page_company .message .text_box {
    width: 100%;
}

.page_company .message .text_box .text {
    margin-top: 35px;
    line-height: 2;
}

.page_company .message .text_box ul {
    margin: 35px 0 0 10px;
}

.page_company .message .text_box li {
    padding-left: 1em;
    text-indent: -1em;
    line-height: 2;
}

.page_company .message .text_box li::before {
    content: "";
    display: inline-block;
    margin: 0 10px 2px 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #002557;
}

.page_company .message .img {
    width: 100%;
    max-width: 750px;
}

.page_company .message .img img {
    width: 100%;
    aspect-ratio: 5/2;
    -o-object-fit: cover;
    object-fit: cover;
}

.page_company .message .name {
    font-size: 18px;
}

.page_company .message .name .strong {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.4;
    color: #002557;
}

.page_company .company_profile_sec.associated {
    position: relative;
}

.page_company .company_profile_sec.associated::after {
    content: "";
    width: 650px;
    height: 500px;
    background: rgba(255, 255, 255, 0.8) url(/wp-content/themes/child/image/bg_sns.png) repeat center center/contain;
    position: absolute;
    bottom: -150px;
    left: 0;
    z-index: -1;
}

.page-template-page-company .common_page_bg {
    height: 575px;
}

/* PC下層ページ お客様の声一覧 */
.page_voice .cont_sec {
    position: relative;
}

.page_voice .cont_sec::after {
    content: "";
    width: 650px;
    height: 500px;
    background: rgba(255, 255, 255, 0.8) url(/wp-content/themes/child/image/bg_sns.png) repeat center center/contain;
    position: absolute;
    bottom: -150px;
    right: 0;
    z-index: -1;
}

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

.page_voice .item {
    padding-top: 35px;
    border-radius: 10px;
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    background-color: #fff;
    position: relative;
}

.page_voice .item:nth-of-type(odd) .order,
.page_voice .item:nth-of-type(odd) .attribute_block {
    background-color: #002557;
}

.page_voice .item:nth-of-type(odd) .text::after {
    background-color: #002557;
}

.page_voice .item:nth-of-type(even) .order,
.page_voice .item:nth-of-type(even) .attribute_block {
    background-color: #0046A5;
}

.page_voice .item:nth-of-type(even) .text::after {
    background-color: #01357E;
}

.page_voice .order {
    display: inline-block;
    padding: 7px 23px;
    border-radius: 10px 10px 0 10px;
    font-family: "Arial-Bold", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #fff;
    position: absolute;
    top: -10px;
    left: 10px;
}

.page_voice .title {
    padding: 0 20px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.page_voice .text {
    margin: 10px 20px 0;
    padding-top: 20px;
    color: #777;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    position: relative;
}

.page_voice .text::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #E0E0E0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.page_voice .text::after {
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left;
    transform-origin: left;
    z-index: 1;
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
}

.page_voice .attribute_block {
    margin-top: 35px;
    padding: 15px 20px 12px;
    border-radius: 0 0 10px 10px;
    color: #fff;
    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;
}

.page_voice .attribute_block::after {
    content: "";
    width: 40px;
    aspect-ratio: 1/1;
    background: url(/wp-content/themes/child/image/arrow_review.svg) no-repeat center center/contain;
}

.page_voice .address {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.page_voice .date {
    font-family: "Arial-Bold", sans-serif;
    font-weight: 700;
}

.post-type-archive-voice .common_page_bg {
    height: 500px;
}

/* PC下層ページ お客様の声詳細 */
.single_voice .item {
    padding-top: 45px;
    border-radius: 10px;
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    background-color: #fff;
    position: relative;
}

.single_voice .item .order,
.single_voice .item .attribute_block {
    background-color: #002557;
}

.single_voice .order {
    display: inline-block;
    padding: 9px 30px;
    border-radius: 10px 10px 0 10px;
    font-family: "Arial-Bold", sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #fff;
    position: absolute;
    top: -14px;
    left: 40px;
}

.single_voice .title {
    padding: 0 80px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

.single_voice .text {
    margin: 13px 80px 0;
    padding-top: 26px;
    font-size: 18px;
    color: #777;
    position: relative;
}

.single_voice .text::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #E0E0E0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.single_voice .attribute_block {
    margin-top: 45px;
    padding: 20px 80px 16px;
    border-radius: 0 0 10px 10px;
    font-size: 20px;
    color: #fff;
}

.single_voice .date {
    font-family: "Arial-Bold", sans-serif;
    font-weight: 700;
}

.voice-template-default .common_page_bg {
    height: 500px;
}

/* PC下層ページ ONE REAL ESTATEの強み */
.page_strength {
    position: relative;
}

.page_strength::before {
    content: "";
    width: 66%;
    height: 650px;
    border-radius: 0 10px 10px 0;
    background-color: #F5F5F7;
    position: absolute;
    bottom: 530px;
    left: 0;
    z-index: -1;
}

.page_strength::after {
    content: "";
    width: 82.6%;
    height: 763px;
    background: rgba(255, 255, 255, 0.6) url(/wp-content/themes/child/image/bg_staff.png) no-repeat center center/contain;
    position: absolute;
    bottom: 100px;
    right: 0;
    z-index: -2;
}

.page_strength .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.page_strength .item+.item {
    margin-block: 100px 0;
}

.page_strength .item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.page_strength .item .img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 550px;
    border-radius: 10px;
    overflow: hidden;
}

.page_strength .item .img img {
    width: 100%;
    aspect-ratio: 10/8;
    -o-object-fit: cover;
    object-fit: cover;
}

.page_strength .item .text_block {
    max-width: 510px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.page_strength .item .text_block .title {
    margin-top: 5px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.5;
}

.page_strength .item .text_block .sub_title {
    font-family: "Arial-Bold", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    color: #002557;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.page_strength .item .text_block .sub_title::after {
    content: "";
    width: 100px;
    height: 2px;
    background-color: #002557;
}

.page_strength .item .text_block .text {
    margin-top: 35px;
    line-height: 1.5;
}

.page-template-page-strength .common_page_bg {
    height: 1050px;
}

/* PC下層ページ ONE REAL ESTATEの売却の流れ */
.page-template-page-flow .common_page_bg {
    height: 1040px;
}

.page_flow .common_page_wrap {
    position: relative;
}

.page_flow .common_page_wrap::before {
    content: "";
    width: 1000px;
    height: 600px;
    border-radius: 10px 0 0 10px;
    background-color: #F5F5F7;
    position: absolute;
    bottom: 900px;
    right: 0;
    z-index: -1;
}

.page_flow .common_page_wrap::after {
    content: "";
    width: 482px;
    height: 389px;
    background: url(/wp-content/themes/child/image/bg_sns.png) no-repeat center center/contain;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.page_flow .lead {
    font-size: 20px;
    text-align: center;
}

.page_flow .link_list {
    margin-top: 80px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.page_flow .link_item {
    border-radius: 10px;
    background-color: #FAFAFA;
    overflow: hidden;
}

.page_flow .link_item:first-of-type .order {
    background-color: #0046A5;
}

.page_flow .link_item:nth-of-type(2) .order {
    background-color: #013D90;
}

.page_flow .link_item:nth-of-type(3) .order {
    background-color: #01357E;
}

.page_flow .link_item:nth-of-type(4) .order {
    background-color: #012D6A;
}

.page_flow .link_item:last-of-type .order {
    background-color: #002557;
}

.page_flow .link_item .order {
    padding: 18px 20px 16px;
    font-family: "Arial-Bold", sans-serif;
    font-weight: 700;
    color: #fff;
    text-align: center;
    position: relative;
}

.page_flow .link_item .order::after {
    content: "";
    width: 10px;
    aspect-ratio: 10/8;
    background: url(/wp-content/themes/child/image/arrow_button.svg) no-repeat center center/contain;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
}

.page_flow .link_item .item_name {
    font-size: 14px;
    line-height: 1;
}

.page_flow .link_item .number {
    display: inline-block;
    margin-left: 5px;
    font-size: 20px;
    line-height: 1.3;
}

.page_flow .link_item .title_block {
    padding: 30px 20px;
}

.page_flow .link_item .title {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}

.page_flow .item_list {
    margin-top: 80px;
    position: relative;
}

.page_flow .item_list::before {
    content: "";
    width: 5px;
    height: 84%;
    background: linear-gradient(to bottom, #0046A5 10px, transparent 10px) repeat-y left bottom/5px 20px;
    position: absolute;
    top: 40px;
    left: 40px;
    z-index: -1;
}

.page_flow .item_list .item {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.page_flow .item_list .item:first-of-type .order {
    background-color: #0046A5;
}

.page_flow .item_list .item:nth-of-type(2) .order {
    background-color: #013D90;
}

.page_flow .item_list .item:nth-of-type(3) .order {
    background-color: #01357E;
}

.page_flow .item_list .item:nth-of-type(4) .order {
    background-color: #012D6A;
}

.page_flow .item_list .item:last-of-type .order {
    background-color: #002557;
}

.page_flow .item_list .item+.item {
    margin-top: 120px;
}

.page_flow .item_list .order {
    padding: 10px 20px 2px;
    border-radius: 10px 10px 0 10px;
    font-family: "Arial-Bold", sans-serif;
    font-weight: 700;
    color: #fff;
    text-align: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.page_flow .item_list .item_name {
    font-size: 14px;
    line-height: 1;
}

.page_flow .item_list .number {
    font-size: 24px;
    line-height: 1.3;
}

.page_flow .item_list .text_block {
    width: 520px;
}

.page_flow .item_list .text {
    margin-top: 35px;
}

.page_flow .item_list .img {
    width: 450px;
    border-radius: 10px;
    overflow: hidden;
}

.page_flow .item_list .img img {
    width: 100%;
    aspect-ratio: 45/35;
    -o-object-fit: cover;
    object-fit: cover;
}

/* PC下層ページ 無料オンライン相談・お問い合わせ */
.page-template-page-contact .common_page_bg,
.page-template-page-consultation .common_page_bg {
    height: 635px;
}

.page-template-page-contact .explanation,
.page-template-page-consultation .explanation {
    margin-bottom: 10px;
    padding-left: 10px;
    border-left: 4px solid #3B3938;
    font-size: 18px;
    font-weight: 700;
}

.page-template-page-contact .explanation:last-of-type,
.page-template-page-consultation .explanation:last-of-type {
    margin-top: 30px;
}

.page-template-page-contact .footer_wrap,
.page-template-page-consultation .footer_wrap {
    border-top: 1px solid #E0E0E0;
}

.page-template-page-contact-confirm .common_page_bg,
.page-template-page-contact-thanks .common_page_bg,
.page-template-page-consultation-confirm .common_page_bg,
.page-template-page-consultation-thanks .common_page_bg {
    height: 470px;
}

.page-template-page-contact-confirm .page_contact .progressbar,
.page-template-page-contact-thanks .page_contact .progressbar,
.page-template-page-consultation-confirm .page_contact .progressbar,
.page-template-page-consultation-thanks .page_contact .progressbar {
    margin-block: 0 6em;
}

.page-template-page-contact-confirm .explanation,
.page-template-page-contact-thanks .explanation,
.page-template-page-consultation-confirm .explanation,
.page-template-page-consultation-thanks .explanation {
    display: none;
}

.common_contact_form .reserve_cont {
    display: grid;
    grid-template-columns: 470px 1fr;
    gap: 0 40px;
}

.common_contact_form .reserve_cont .calendar .ui-datepicker {
    width: 100%;
    padding: 5px;
}

.common_contact_form .reserve_cont .calendar table {
    width: 100%;
    margin: 0;
    border: none;
}

.common_contact_form .reserve_cont .calendar table td {
    width: auto;
    padding: 0;
    border: none;
}

.common_contact_form table td {
    width: 75%;
}

.common_contact_form table th,
.common_contact_form table td {
    padding: 20px;
    font-size: 14px;
    border: solid 1px #DFDFDF;
    vertical-align: middle;
}

.common_contact_form .reserve_cont .calendar table th {
    padding: 0;
    width: auto;
    border-color: #fff;
    background: transparent;
}

.common_contact_form .reserve_cont .calendar table th span {
    display: block;
    padding: 0.7em 0.3em;
    background: #ffebe1;
    color: #ed6103;
}

.common_contact_form .reserve_cont .calendar table th.ui-datepicker-week-end span {
    background: #e1f6ff;
    color: #3475ce;
}

.common_contact_form .reserve_cont .calendar table th.ui-datepicker-week-end:nth-of-type(1) span {
    background: #ffeaec;
    color: #e83250;
}

.common_contact_form .reserve_cont .calendar table td a {
    display: block;
    padding: 10px;
    border-color: #fff;
}

.common_contact_form .reserve_cont .calendar table td a.ui-state-highlight {
    border: 1px solid #ed6103;
    font-weight: 600;
    color: #ed6103;
    background: #ffebe1;
}

.common_contact_form .reserve_cont .calendar table td a.ui-state-active {
    border: 1px solid #ed6103;
    font-weight: 600;
    color: #ed6103;
    background: #fbf1ca;
}

.common_contact_form .reserve_cont .calendar table td a.ui-state-highlight {
    border: 1px solid #ed6103;
    font-weight: 600;
    color: #ed6103;
    background: #ffebe1;
}

.common_contact_form .reserve_cont .calendar table td {
    width: auto;
    padding: 0;
    border: none;
}

.common_contact_form .reserve_cont .calendar table td.ui-state-disabled {
    background: #f6f6f6;
    border: 2px solid #fff;
}

.common_contact_form .reserve_cont .calendar table td.ui-state-disabled span {
    background: #f6f6f6;
    border: none;
}

.common_contact_form .reserve_cont .form_box {
    width: 100%;
}

.common_contact_form .form_box dl.date {
    display: none;
}

.mw_wp_form_confirm .common_contact_form .reserve_cont {
    grid-template-columns: 1fr;
}

.mw_wp_form_confirm .common_contact_form .reserve_cont .form_box {
    width: 74%;
    margin: 0 auto 50px;
}

.mw_wp_form_confirm .common_contact_form .form_box dl.date {
    display: grid;
}

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

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

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

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

    .header .item.modal:hover .text::before {
        -webkit-transform: translateY(-50%) rotate(0);
        transform: translateY(-50%) rotate(0);
    }

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

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

    .header .modal_item a:hover::after {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    .header .modal_item a:hover .modal_text::after {
        -webkit-transform: translateX(10px);
        transform: translateX(10px);
    }

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

    .button_consult a:hover,
    .button_header_consult a:hover {
        background-color: #003B8D;
    }

    .button_contact a:hover,
    .button_header_contact a:hover {
        background-color: #0057CC;
    }

    .button_section a:hover {
        background-color: #002557;
    }

    .top_situation .item a:hover {
        border: 2px solid #002557;
    }

    .top_situation .item a:hover .button_more::before {
        -webkit-transform: translate(130px, -50%);
        transform: translate(130px, -50%);
    }

    .top_situation .item a:hover .button_more::after {
        -webkit-transform: scale(1.13, 1) translate(2%, -50%);
        transform: scale(1.13, 1) translate(2%, -50%);
    }

    .top_situation .item a:hover .button_more .inner {
        color: #fff;
        position: relative;
        z-index: 1;
    }

    .top_review .item:nth-of-type(odd) a:hover .title {
        color: #002557;
    }

    .top_review .item:nth-of-type(even) a:hover .title {
        color: #01357E;
    }

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

    .top_review .review_slider_button_wrap .swiper-button-prev:hover,
    .top_review .review_slider_button_wrap .swiper-button-next:hover {
        background-color: #002557;
    }

    .top_review .review_slider_button_wrap .swiper-button-prev:hover::before,
    .top_review .review_slider_button_wrap .swiper-button-prev:hover::before,
    .top_review .review_slider_button_wrap .swiper-button-next:hover::before,
    .top_review .review_slider_button_wrap .swiper-button-next:hover::before {
        background: url(/wp-content/themes/child/image/arrow_button.svg) no-repeat center center/contain;
    }

    .top_staff .item a:hover::before {
        opacity: 0;
        visibility: hidden;
    }

    .top_staff .item a:hover .img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

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

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

    .button a:hover {
        color: #fff;
    }
}

@media (max-width: 750px) {
    .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: 0;
    }

    /* SPヘッダー */
    #sp_header {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        border-bottom: 1px solid #E0E0E0;
        z-index: 999;
        height: 15.4vw;
    }

    #sp_header .logo {
        width: 64.1vw;
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        line-height: 0;
    }

    #sp_header .logo img {
        height: 10.3vw;
    }

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

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

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

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

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.6vw;
    }

    /* SP固定ページ お問い合わせ */
    .contact_form_disc {
        margin-block: 0 4em;
    }

    .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;
    }

    .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: 4vw;
        padding: 3vw;
        background: #F7F7F7;
    }

    .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 .form_box dl dd {
        padding: 5vw 4vw;
        font-size: 4vw;
        border-left: none;
        border-top: solid 1px #DFDFDF;
    }

    .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;
        margin: 0 auto;
    }

    .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投稿ページ アーカイブページ */
    .archive_page_list>article {
        padding-right: 20px;
    }

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

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

    .archive_page_list>article:after {
        width: 7px;
        height: 7px;
    }

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

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

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

    body #sitemap_list {
        padding: 0;
    }

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

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

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

    /* 共通パーツ */
    .button a {
        gap: 2.6vw;
    }

    .button a::after {
        width: 2.6vw;
        right: 7.7vw;
    }

    .button_consult {
        width: 76.9vw;
    }

    .button_consult a {
        padding: 5.2vw 7.7vw;
        font-size: 4.1vw;
    }

    .button_consult a::before {
        width: 5.9vw;
    }

    .button_contact {
        width: 76.9vw;
    }

    .button_contact a {
        padding: 5.6vw 7.7vw;
        font-size: 4.1vw;
    }

    .button_contact a::before {
        width: 5.6vw;
    }

    .button_section {
        width: 76.9vw;
    }

    .button_section a {
        padding: 7.2vw 7.7vw;
        font-size: 3.6vw;
    }

    .button_section a::after {
        width: 2.6vw;
    }

    .section_title {
        font-size: 4.1vw;
    }

    .section_title::after {
        margin-left: 2.6vw;
    }

    .section_subtitle {
        font-size: 12.3vw;
    }

    /* SP_メインビュー */
    .top_fv {
        padding: 5.8vw 0 12.6vw;
        min-height: initial;
    }

    .top_fv .wrap {
        height: initial;
        display: static;
    }

    .top_fv .title {
        padding-left: 3.1vw;
        font-size: 7.2vw;
    }

    .top_fv .title .strong_square {
        margin: 1.8vw -1vw 0 0;
        padding: 0 3.1vw 1vw;
        font-size: 12.3vw;
    }

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

    .top_fv .text {
        margin-top: 4.4vw;
        font-size: 3.6vw;
    }

    .top_fv .button_block {
        margin-top: 6.4vw;
        gap: 2.6vw;
    }

    .top_fv .button_consult {
        width: 71.8vw;
        font-size: 4.1vw;
    }

    .top_fv .button_contact {
        width: 71.8vw;
        font-size: 4.1vw;
    }

    .top_fv .fv_swiper {
        height: auto;
        min-height: initial;
    }

    /* SP_STRENGTHS */
    .top_strengths {
        padding: 15.4vw 0;
    }

    .top_strengths::before {
        height: 250.8vw;
    }

    .top_strengths .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_strengths .upper_block {
        display: contents;
    }

    .top_strengths .strengths_subtitle {
        font-size: 3.6vw;
    }

    .top_strengths .strengths_subtitle::after {
        margin-left: 2.6vw;
        width: 25.6vw;
    }

    .top_strengths .strengths_title {
        margin-top: 5.9vw;
        font-size: 6.2vw;
    }

    .top_strengths .strengths_title .strong {
        font-size: 8.2vw;
        display: inline-block;
    }

    .top_strengths .text {
        margin-top: 4.4vw;
    }

    .top_strengths .button_section {
        margin: 6.4vw auto 0;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .top_strengths .button_section a {
        padding: 5.9vw 7.7vw;
    }

    .top_strengths .list {
        margin-top: 7.4vw;
        grid-template-columns: 1fr;
        gap: 5.1vw;
    }

    .top_strengths .item {
        border-radius: 2.6vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .top_strengths .item:first-of-type .title_wrap::before {
        width: 4.1vw;
    }

    .top_strengths .item:nth-of-type(2) .title_wrap::before {
        width: 6.9vw;
    }

    .top_strengths .item:nth-of-type(3) .title_wrap::before {
        width: 6.4vw;
    }

    .top_strengths .item:nth-of-type(4) .title_wrap::before {
        width: 6.4vw;
    }

    .top_strengths .item:nth-of-type(5) .title_wrap::before {
        width: 6.4vw;
    }

    .top_strengths .item:nth-of-type(6) .title_wrap::before {
        width: 6.4vw;
    }

    .top_strengths .img {
        width: 30.8vw;
        border-radius: 2.1vw 0 0 2.1vw;
    }

    .top_strengths .img img {
        aspect-ratio: 120/96;
    }

    .top_strengths .title_wrap {
        padding: 0 4.1vw;
        min-height: initial;
        gap: 3.1vw;
    }

    .top_strengths .order {
        padding: 2.1vw 2.6vw;
        border-radius: 2.6vw 2.6vw 0 2.6vw;
        font-size: 3.6vw;
        top: -2.8vw;
        left: 34.4vw;
    }

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

    .top_strengths .small {
        font-size: 3.1vw;
    }

    /* SP_common_contact */
    .common_contact {
        padding: 14.4vw 0 12.8vw;
    }

    .common_contact::before {
        height: 58.1vw;
        background: rgba(1, 47, 110, 0.55) url(/wp-content/themes/child/image/bg_contact_sp.png) no-repeat center center/100%;
    }

    .common_contact .wrap {
        max-width: 94.9%;
    }

    .common_contact .contact_title {
        font-size: 6.2vw;
    }

    .common_contact .contact_title::before {
        width: 7.7vw;
        bottom: -5.1vw;
    }

    .common_contact .heading {
        margin-top: 11.8vw;
        font-size: 4.1vw;
    }

    .common_contact .bg_text {
        font-size: 18.5vw;
        top: 8.2vw;
    }

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

    .common_contact .item {
        padding: 6.4vw 5.6vw;
        border-radius: 2.6vw;
    }

    .common_contact .item:first-of-type {
        border-radius: 2.6vw;
    }

    .common_contact .item:first-of-type::after {
        content: initial;
    }

    .common_contact .item:last-of-type {
        border-radius: 2.6vw;
    }

    .common_contact .item:last-of-type::after {
        content: initial;
    }

    .common_contact .contents {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 4.1vw;
    }

    .common_contact .img {
        margin: 0;
        width: 20.5vw;
        position: static;
        top: initial;
        left: initial;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .common_contact .title {
        margin-top: 0;
        font-size: 4.6vw;
        line-height: 1.4;
        text-align: left;
    }

    .common_contact .text {
        margin-top: 2.6vw;
        font-size: 3.6vw;
        line-height: 1.3;
        text-align: left;
    }

    .common_contact .button_consult {
        margin: 1.3vw auto 0;
    }

    .common_contact .button_contact {
        margin: 3.8vw auto 0;
    }

    .common_contact .tel_block {
        margin: 3.8vw 0 0;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .common_contact .tel_block a {
        margin: 0 auto;
        padding: 4.3vw 7.7vw;
        width: 76.9vw;
        border-radius: 100vh;
        background-color: #3B3938;
        font-size: 6.2vw;
        color: #fff;
    }

    .common_contact .tel_block a::before {
        margin-right: 2.6vw;
        width: 5.1vw;
        background: #fff;
        -webkit-mask: url(/wp-content/themes/child/image/icon_tel.svg) center/contain no-repeat;
        mask: url(/wp-content/themes/child/image/icon_tel.svg) center/contain no-repeat;
    }

    .common_contact .tel_block .hour {
        margin: 1.3vw 0 0 0;
        font-size: 3.1vw;
        text-align: center;
    }

    /* SP_SITUATION */
    .sections_bg::before {
        width: 94.9%;
        height: 303.3vw;
        top: 20.5vw;
    }

    .top_situation {
        padding: 16.5vw 0 15.3vw;
    }

    .top_situation .wrap {
        -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;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        gap: 7.7vw;
    }

    .top_situation .title_wrap {
        max-width: initial;
    }

    .top_situation .section_subtitle {
        font-size: 12.3vw;
    }

    .top_situation .section_title {
        margin-top: 2vw;
    }

    .top_situation .heading {
        margin-top: 4.4vw;
        font-size: 4.1vw;
        line-height: 1.3;
    }

    .top_situation .list {
        max-width: initial;
        grid-template-columns: 1fr;
        gap: 2.6vw;
    }

    .top_situation .item:first-of-type .img,
    .top_situation .item:last-of-type .img {
        width: 15.4vw;
    }

    .top_situation .item:nth-of-type(2) .img {
        width: 14.1vw;
    }

    .top_situation .item:nth-of-type(3) .img {
        width: 16.7vw;
    }

    .top_situation .item:nth-of-type(4) .img {
        width: 12.3vw;
    }

    .top_situation .item a {
        min-height: initial;
        padding: 5vw 6.4vw;
        border-radius: 2.6vw;
        border: none;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 5.4vw;
    }

    .top_situation .item a .button_more {
        margin-top: 0;
        width: initial;
    }

    .top_situation .item a .button_more .circle {
        width: 6.4vw;
        height: 6.4vw;
    }

    .top_situation .item a .button_more::before {
        width: 2.6vw;
        left: 46%;
        -webkit-transform: translate(-40%, -50%);
        transform: translate(-40%, -50%);
    }

    .top_situation .item .img {
        -webkit-box-flex: initial;
        -ms-flex-positive: initial;
        flex-grow: initial;
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    .top_situation .text_block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .top_situation .title_block {
        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_situation .title {
        margin-top: 0;
        font-size: 5.1vw;
    }

    .top_situation .text {
        margin-top: 1.3vw;
        font-size: 4.1vw;
    }

    /* SP_違い */
    .top_difference .wrap {
        max-width: 95%;
    }

    .top_difference::before {
        height: 62.8vw;
        background: rgba(255, 255, 255, 0.8) url(/wp-content/themes/child/image/bg_difference_sp.png) no-repeat center center/contain;
        bottom: 63.6vw;
    }

    .top_difference .difference_title {
        font-size: 6.2vw;
        line-height: 1.6;
    }

    .top_difference .difference_title .strong_navy {
        padding: 0 2.5vw;
    }

    .top_difference .difference_title .strong_gray {
        padding: 0 2.5vw;
    }

    .top_difference .heading {
        margin-top: 3.8vw;
        font-size: 4.1vw;
    }

    .top_difference .table_block_outer {
        margin-top: 4.4vw;
        padding: 0 5.1vw 3.8vw;
        overflow-x: auto;
        -ms-overflow-style: auto;
        scrollbar-width: auto;
    }

    .top_difference .table_block_outer::-webkit-scrollbar {
        height: 2.1vw;
        display: block;
    }

    .top_difference .table_block_outer::-webkit-scrollbar-track {
        background: #F0F0F0;
        border-radius: 100vh;
    }

    .top_difference .table_block_outer::-webkit-scrollbar-thumb {
        background-color: #002557;
        border-radius: 100vh;
    }

    .top_difference .table_block {
        width: 181.8vw;
        max-width: initial;
        border-radius: 0 0 2.6vw 2.6vw;
    }

    .top_difference .difference_table {
        width: 100%;
    }

    .top_difference .difference_table::before,
    .top_difference .difference_table::after {
        bottom: 5.1vw;
    }

    .top_difference .difference_table::before {
        height: 51vw;
        left: 60.6vw;
    }

    .top_difference .difference_table::after {
        height: 109vw;
        right: 60.6vw;
    }

    .top_difference .table_head {
        padding: 3.1vw;
        border-radius: 2.6vw 2.6vw 0 0;
        font-size: 4.6vw;
    }

    .top_difference .table_body_group .table_row:not(:first-child) .table_data::after {
        width: 82%;
    }

    .top_difference .table_body_group .table_row:last-child .data_wrap {
        padding: 4.6vw 3.8vw 9.2vw;
    }

    .top_difference .data_wrap {
        padding: 4.1vw 3.8vw;
        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-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .top_difference .feature_wrap {
        padding: 6.7vw 3.8vw 1.5vw;
    }

    .top_difference .feature_wrap .text {
        margin-top: 4.1vw;
        font-size: 3.6vw;
    }

    .top_difference .feature_text {
        font-size: 4.1vw;
    }

    .top_difference .img01 {
        margin: 3.6vw auto 0;
        width: 84.6vw;
    }

    .top_difference .img02 {
        margin: 2.6vw auto 0;
        width: 44.6vw;
    }

    .top_difference .text {
        font-size: 3.3vw;
        line-height: 1.3;
    }

    /* SP_FLOW */
    .top_flow {
        padding: 30.8vw 0 15.4vw;
        background: rgba(255, 255, 255, 0.6) url(/wp-content/themes/child/image/bg_flow_sp.png) no-repeat center 140px/95%;
    }

    .top_flow::after {
        width: 94.9vw;
        top: 15.4vw;
    }

    .top_flow .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_flow .upper_block {
        display: contents;
    }

    .top_flow .section_title {
        margin-top: 1.8vw;
    }

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

    .top_flow .heading {
        margin-top: 4.1vw;
        font-size: 4.1vw;
        line-height: 1.3;
    }

    .top_flow .button_section {
        margin: 6.4vw auto 0;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .top_flow .button_section a {
        padding: 7.2vw 7.7vw;
    }

    .top_flow .list {
        margin-top: 6.9vw;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .top_flow .list::before {
        content: "";
        width: 0.5vw;
        height: 92%;
        background: linear-gradient(to bottom, #0046A5 4px, transparent 4px) repeat-y left bottom/2px 8px;
        top: 50%;
        left: 27.2vw;
        -webkit-transform: translateY(-50%) scale(1, 0);
        transform: translateY(-50%) scale(1, 0);
        -webkit-transform-origin: top;
        transform-origin: top;
    }

    .top_flow .list.active::before {
        -webkit-transform: translateY(-50%) scale(1);
        transform: translateY(-50%) scale(1);
    }

    .top_flow .item {
        border-radius: 2.6vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .top_flow .order {
        padding: 4.6vw 4.2vw 2.8vw;
    }

    .top_flow .item_name {
        font-size: 3.1vw;
    }

    .top_flow .number {
        font-size: 6.2vw;
        line-height: 1.2;
    }

    .top_flow .title_block {
        flex-direction: row;
        padding: 4.5vw 5.1vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 2.6vw;
    }

    .top_flow .img {
        margin: 0;
        width: 9vw;
    }

    .top_flow .title {
        margin: 0;
        font-size: 4.6vw;
        writing-mode: initial;
        -webkit-writing-mode: initial;
        -moz-writing-mode: initial;
        -ms-writing-mode: initial;
    }

    /* PC_REVIEW */
    .top_review {
        padding-top: 15.4vw;
    }

    .top_review::before {
        width: 97.4%;
        height: 205.9vw;
    }

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

    .top_review .title_block {
        width: 100%;
        display: contents;
    }

    .top_review .section_title {
        margin-top: 2.1vw;
    }

    .top_review .heading {
        margin-top: 3.8vw;
        font-size: 4.1vw;
        line-height: 1.4;
    }

    .top_review .button_section {
        margin: 20.5vw auto 0;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .top_review .swiper {
        margin-top: 0;
        width: 505.1vw;
    }

    .top_review .item {
        width: 82.1vw;
    }

    .top_review .contents .swiper-pagination {
        width: 100%;
        font-size: 6.2vw;
        bottom: -14.1vw;
    }

    .top_review .review_slider_button_wrap {
        width: 106%;
        bottom: -15.4vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .top_review .review_slider_button_wrap .swiper-button-next {
        margin-left: 0;
    }

    .top_review .list {
        margin-top: 7.7vw;
    }

    .top_review .item {
        padding-top: 9vw;
        border-radius: 2.6vw;
    }

    .top_review .order {
        padding: 2.1vw 5.9vw;
        border-radius: 2.6vw 2.6vw 0 2.6vw;
        font-size: 3.6vw;
        top: -2.8vw;
        left: 2.6vw;
    }

    .top_review .title {
        padding: 0 5.1vw;
        font-size: 4.1vw;
    }

    .top_review .text {
        margin: 4.6vw 5.1vw 0;
        padding-top: 5.1vw;
    }

    .top_review .attribute_block {
        margin-top: 6.4vw;
        padding: 3.8vw 5.1vw 3.1vw;
        border-radius: 0 0 2.6vw 2.6vw;
    }

    .top_review .attribute_block::after {
        width: 10.3vw;
    }

    .top_review .address {
        font-size: 4.1vw;
    }

    .top_review .date {
        font-size: 4.1vw;
        line-height: 1.7;
    }

    /* PC_STAFF */
    .top_staff {
        padding-top: 17.9vw;
    }

    .top_staff::before {
        content: "";
        width: 82.1%;
        height: 163.6vw;
        background: rgba(255, 255, 255, 0.6) url(/wp-content/themes/child/image/bg_staff_sp.png) no-repeat center center/contain;
        position: absolute;
        top: 7.7vw;
        right: 0;
        z-index: -2;
    }

    .top_staff .wrap {
        max-width: 100%;
        padding-bottom: 15.4vw;
    }

    .top_staff .wrap::after {
        width: 94.9%;
    }

    .top_staff .section_title {
        margin-top: 2.1vw;
    }

    .top_staff .heading {
        margin-top: 3.6vw;
        font-size: 4.1vw;
    }

    .top_staff .list_wrap {
        padding: 0 5.1vw;
        overflow-x: auto;
    }

    .top_staff .list_wrap::-webkit-scrollbar {
        display: none;
    }

    .top_staff .list {
        margin-top: 4.1vw;
        width: 220.5vw;
        gap: 2.6vw;
    }

    .top_staff .item a {
        padding: 74.9vw 5.1vw 2.1vw;
        border-radius: 2.6vw;
    }

    .top_staff .position {
        padding: 1.3vw 4vw;
        font-size: 3.6vw;
    }

    .top_staff .title {
        margin-top: 1.3vw;
        font-size: 5.1vw;
    }

    .top_staff .more {
        margin-top: 0.3vw;
        font-size: 3.6vw;
    }

    .top_staff .more::before {
        margin-right: 2.6vw;
    }

    .top_staff .button_section {
        margin: 5.1vw auto 0;
    }

    .top_staff .scroll-hint-icon-wrap {
        z-index: 1;
    }

    /* PC_SNS */
    .top_sns {
        padding: 15.4vw 0 17.9vw;
        background: rgba(255, 255, 255, 0.6) url(/wp-content/themes/child/image/bg_sns_sp.png) no-repeat left top 171px/82.1%;
    }

    .top_sns .wrap {
        -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;
    }

    .top_sns .title_block {
        margin-bottom: 6.2vw;
        width: 100%;
    }

    .top_sns .section_title {
        margin-top: 2.1vw;
    }

    .top_sns .heading {
        margin-top: 3.8vw;
        font-size: 4.1vw;
        line-height: 1.3;
    }

    .top_sns .contents {
        max-width: initial;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .top_sns .left_block {
        max-width: 100%;
        display: contents;
    }

    .top_sns .insta_block .list {
        margin-top: 2.6vw;
    }

    .top_sns .insta_block .logo {
        margin: 0 auto;
        width: 40vw;
    }

    .top_sns .tiktok_block {
        margin: 5.1vw auto 0;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .top_sns .tiktok_block .button_section {
        width: 82.1vw;
    }

    .top_sns .tiktok_block .button_section a {
        padding: 4.9vw 7.7vw;
    }

    .top_sns .tiktok_block .button_section a img {
        width: 25.1vw;
    }

    .top_sns .youtube_block {
        margin: 6.6vw auto 0;
        max-width: 62.7%;
    }

    .top_sns .youtube_block .logo {
        margin: 0 auto;
        width: 34.9vw;
    }

    .top_sns .youtube_block .youtube {
        margin-top: 4vw;
    }

    /* SP_footer */
    .footer {
        padding-bottom: 31vw;
    }

    .footer .wrap.footer_wrap {
        padding-top: 16vw;
    }

    .footer .middle {
        padding-bottom: 5.5vw;
        text-align: center;
        -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: 12.8vw;
    }

    .footer .logo {
        width: 82.1vw;
    }

    .footer .address {
        margin-top: 3.8vw;
        font-size: 3.6vw;
    }

    .footer .comment {
        font-size: 4.1vw;
        text-align: center;
    }

    .footer .icon_block {
        margin-top: 2.6vw;
        gap: 5.1vw;
    }

    .footer .icon_block a {
        width: 7.7vw;
    }

    .footer .lower {
        padding-top: 8.2vw;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        gap: 6.6vw;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .footer .internal_link {
        gap: 7.7vw;
    }

    .footer .internal_link a {
        font-size: 3.1vw;
    }

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

    /* SP_banner */
    .floating_banner {
        width: 100%;
        border-radius: 1.3vw 1.3vw 0 0;
        background-color: #fff;
        -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 1000;
    }

    .floating_banner .banner_button {
        margin-top: auto;
    }

    .floating_banner .banner_button a {
        margin-bottom: 2.1vw;
        font-size: 2.6vw;
        font-weight: 700;
        color: #002557;
        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;
    }

    .floating_banner .banner_button a::before {
        content: "";
        width: 3.8vw;
        background: #002557;
    }

    .floating_banner .banner_button.banner_consult a {
        position: relative;
    }

    .floating_banner .banner_button.banner_consult a::before {
        margin-bottom: 1vw;
        aspect-ratio: 15/12.8;
        -webkit-mask: url(/wp-content/themes/child/image/icon_consult.svg) center/contain no-repeat;
        mask: url(/wp-content/themes/child/image/icon_consult.svg) center/contain no-repeat;
    }

    .floating_banner .banner_button.banner_consult a::after {
        content: "";
        width: 0.3vw;
        height: 6.7vw;
        background-color: #E0E0E0;
        position: absolute;
        bottom: 0.8vw;
        right: 0;
    }

    .floating_banner .banner_button.banner_contact a {
        position: relative;
    }

    .floating_banner .banner_button.banner_contact a::before {
        margin-bottom: 1.3vw;
        aspect-ratio: 15/10.5;
        -webkit-mask: url(/wp-content/themes/child/image/icon_mail.svg) center/contain no-repeat;
        mask: url(/wp-content/themes/child/image/icon_mail.svg) center/contain no-repeat;
    }

    .floating_banner .banner_button.banner_contact a::after {
        content: "";
        width: 0.3vw;
        height: 6.7vw;
        background-color: #E0E0E0;
        position: absolute;
        bottom: 0.8vw;
        right: 0;
    }

    .floating_banner .banner_button.banner_tel a::before {
        margin-bottom: 0.8vw;
        aspect-ratio: 15/15;
        -webkit-mask: url(/wp-content/themes/child/image/icon_tel.svg) center/contain no-repeat;
        mask: url(/wp-content/themes/child/image/icon_tel.svg) center/contain no-repeat;
    }

    .floating_banner .banner_button.banner_hamburger {
        padding: 6.9vw 0 2.1vw;
        border-radius: 0 1.3vw 0 0;
        background-color: #002557;
        font-size: 2.6vw;
        font-weight: 700;
        color: #fff;
        text-align: center;
    }

    /* SP固定ページ 共通設定 */
    .breadcrumb {
        margin-block: 3.5em 1.4em;
    }

    .breadcrumb .wrap {
        padding-bottom: 0.4em;
    }

    .breadcrumb_symbol {
        width: 1.5vw;
        height: 1.5vw;
        margin: 0.5vw 2.1vw;
    }

    .common_page_main .sub_title {
        font-size: 12.3vw;
    }

    .common_page_main .title {
        margin-top: 2.1vw;
        font-size: 4.1vw;
        gap: 2.6vw;
    }

    .common_page_main .title::after {
        width: 20vw;
    }

    .common_page_main .img {
        width: 94.9%;
        border-radius: 2.6vw;
    }

    .common_page_bg {
        height: 333.3vw;
        top: 25.6vw;
    }

    .sub_page_main .cont_sec+.cont_sec {
        margin-top: 18vw;
    }

    .sub_page_main .title {
        font-size: 6.2vw;
    }

    .sub_page_main .sub_title {
        font-size: 4.1vw;
        gap: 2.6vw;
    }

    /* SP下層ページ 会社概要 */
    .page_company .title {
        margin-top: 2.6vw;
    }

    .page_company .message .item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .page_company .message .upper_block {
        display: contents;
    }

    .page_company .message .text_block {
        display: contents;
    }

    .page_company .message .text_box .text {
        margin-top: 5vw;
    }

    .page_company .message .text_box ul {
        margin: 5vw 0 0 2vw;
    }

    .page_company .message .text_box li::before {
        margin: 0 2.1vw 0.8vw 0;
        width: 1.3vw;
        height: 1.3vw;
    }

    .page_company .message .img {
        margin-top: 5.1vw;
    }

    .page_company .message .img img {
        aspect-ratio: 5/3;
    }

    .page_company .message .name {
        margin-top: 5.1vw;
        font-size: 3.6vw;
        text-align: right;
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }

    .page_company .message .name .strong {
        font-size: 5.6vw;
    }

    .page_company .company_profile_sec.associated::after {
        width: 82vw;
        height: 102.6vw;
        background: rgba(255, 255, 255, 0.8) url(/wp-content/themes/child/image/bg_sns_sp.png) repeat center center/100%;
        bottom: -18vw;
    }

    .page-template-page-company .common_page_bg {
        height: 107.7vw;
    }

    /* SP下層ページ お客様の声一覧 */
    .page_voice .cont_sec::after {
        width: 82vw;
        height: 102.6vw;
        background: rgba(255, 255, 255, 0.8) url(/wp-content/themes/child/image/bg_sns_sp.png) repeat center center/100%;
        bottom: -18vw;
    }

    .page_voice .list {
        grid-template-columns: 1fr;
        gap: 10.3vw;
    }

    .page_voice .item {
        padding-top: 9vw;
        border-radius: 2.6vw;
    }

    .page_voice .order {
        padding: 2.1vw 2.6vw;
        border-radius: 2.6vw 2.6vw 0 2.6vw;
        font-size: 3.6vw;
        top: -2.8vw;
        left: 2.6vw;
    }

    .page_voice .title {
        padding: 0 5.1vw;
        font-size: 4.1vw;
    }

    .page_voice .text {
        margin: 4.6vw 5.1vw 0;
        padding-top: 5.1vw;
        font-size: 3.6vw;
    }

    .page_voice .attribute_block {
        margin-top: 6.4vw;
        padding: 3.8vw 5.1vw 3.1vw;
        border-radius: 0 0 2.6vw 2.6vw;
    }

    .page_voice .attribute_block::after {
        width: 10.3vw;
    }

    .page_voice .address {
        font-size: 4.1vw;
    }

    .page_voice .date {
        font-size: 4.1vw;
        line-height: 1.7;
    }

    .post-type-archive-voice .common_page_bg {
        height: 76.9vw;
    }

    /* SP下層ページ お客様の声詳細 */
    .single_voice .item {
        padding-top: 9vw;
        border-radius: 2.6vw;
    }

    .single_voice .order {
        padding: 2.1vw 2.6vw;
        border-radius: 2.6vw 2.6vw 0 2.6vw;
        font-size: 3.6vw;
        top: -2.8vw;
        left: 2.6vw;
    }

    .single_voice .title {
        padding: 0 5.1vw;
        font-size: 4.1vw;
    }

    .single_voice .text {
        margin: 4.6vw 5.1vw 0;
        padding-top: 5.1vw;
        font-size: 3.3vw;
    }

    .single_voice .attribute_block {
        margin-top: 6.4vw;
        padding: 3.8vw 5.1vw 3.1vw;
        border-radius: 0 0 2.6vw 2.6vw;
    }

    .single_voice .address {
        font-size: 4.1vw;
    }

    .single_voice .date {
        font-size: 4.1vw;
        line-height: 1.7;
    }

    .voice-template-default .common_page_bg {
        height: 76.9vw;
    }

    /* SP下層ページ ONE REAL ESTATEの強み */
    .page_strength::before {
        width: 97.4%;
        height: 159vw;
        bottom: 102.6vw;
    }

    .page_strength::after {
        width: 82%;
        height: 138.5vw;
        background: rgba(255, 255, 255, 0.6) url(/wp-content/themes/child/image/bg_staff_sp.png) no-repeat center center/contain;
        bottom: 11.5vw;
    }

    .page_strength .item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 5.5vw;
    }

    .page_strength .item+.item {
        margin-block: 15vw 0;
    }

    .page_strength .item:nth-child(even) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .page_strength .item .img {
        width: 100%;
        border-radius: 2.6vw;
    }

    .page_strength .item .img img {
        aspect-ratio: 10/6;
    }

    .page_strength .item .text_block {
        max-width: 100%;
    }

    .page_strength .item .text_block .title {
        margin-top: 1.3vw;
        font-size: 6.2vw;
    }

    .page_strength .item .text_block .sub_title {
        font-size: 4.1vw;
        gap: 2.6vw;
    }

    .page_strength .item .text_block .text {
        margin-top: 3.8vw;
        font-size: 3.6vw;
    }

    .page-template-page-strength .common_page_bg {
        height: 250vw;
    }

    /* PC下層ページ ONE REAL ESTATEの売却の流れ */
    .page-template-page-flow .common_page_bg {
        height: 260vw;
    }

    .page_flow .common_page_wrap::before {
        content: initial;
    }

    .page_flow .common_page_wrap::after {
        width: 82.1%;
        height: 173.1vw;
        background: url(/wp-content/themes/child/image/bg_sns_sp.png) no-repeat center center/contain;
    }

    .page_flow .lead {
        font-size: 4.3vw;
        line-height: 1.8;
    }

    .page_flow .link_list {
        margin-top: 15.4vw;
        grid-template-columns: 1fr;
        gap: 2.6vw;
    }

    .page_flow .link_item a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .page_flow .link_item .order {
        padding: 4.6vw 5.1vw 3.1vw;
    }

    .page_flow .link_item .order::after {
        content: initial;
    }

    .page_flow .link_item .item_name {
        font-size: 3.1vw;
    }

    .page_flow .link_item .number {
        display: block;
        margin-left: 0;
        font-size: 5.1vw;
    }

    .page_flow .link_item .title_block {
        padding: 6.7vw 5.1vw;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        position: relative;
    }

    .page_flow .link_item .title_block::before {
        content: "";
        width: 6.4vw;
        height: 6.4vw;
        border-radius: 50%;
        background-color: #002557;
        position: absolute;
        top: 50%;
        right: 5.1vw;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .page_flow .link_item .title_block::after {
        content: "";
        width: 2.6vw;
        aspect-ratio: 10/8;
        background: url(/wp-content/themes/child/image/arrow_button.svg) no-repeat center center/contain;
        position: absolute;
        top: 50%;
        right: 7.1vw;
        -webkit-transform: translateY(-50%) rotate(90deg);
        transform: translateY(-50%) rotate(90deg);
    }

    .page_flow .link_item .title {
        font-size: 4.6vw;
        text-align: left;
    }

    .page_flow .item_list {
        margin-top: 20.5vw;
    }

    .page_flow .item_list::before {
        width: 0.5vw;
        height: 82%;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(1vw, #0046A5), color-stop(1vw, transparent)) repeat-y left bottom/0.5vw 2.1vw;
        background: linear-gradient(to bottom, #0046A5 1vw, transparent 1vw) repeat-y left bottom/0.5vw 2.1vw;
        top: 10.3vw;
        left: 10.3vw;
    }

    .page_flow .item_list .item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .page_flow .item_list .item+.item {
        margin-top: 12.8vw;
    }

    .page_flow .item_list .order {
        padding: 2.6vw 5.1vw 0.5vw;
    }

    .page_flow .item_list .item_name {
        font-size: 3.6vw;
    }

    .page_flow .item_list .number {
        font-size: 6.2vw;
    }

    .page_flow .item_list .text_block {
        padding-top: 5.1vw;
        width: 100%;
        background-color: #fff;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .page_flow .item_list .text {
        margin-top: 3.8vw;
    }

    .page_flow .item_list .img {
        margin-top: 3.1vw;
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .page_flow .item_list .img img {
        aspect-ratio: 45/27;
    }

    /* PC下層ページ 無料オンライン相談・お問い合わせ */
    .page-template-page-contact .common_page_main .sub_title,
    .page-template-page-consultation .common_page_main .sub_title {
        font-size: 11vw;
    }

    .page-template-page-contact .common_page_bg,
    .page-template-page-consultation .common_page_bg {
        height: 129.5vw;
    }

    .page-template-page-contact .explanation,
    .page-template-page-consultation .explanation {
        font-size: 4.4vw;
    }

    .page-template-page-contact .explanation:last-of-type,
    .page-template-page-consultation .explanation:last-of-type {
        margin-top: 7.7vw;
    }

    .page-template-page-contact-confirm .common_page_main .sub_title,
    .page-template-page-contact-thanks .common_page_main .sub_title,
    .page-template-page-consultation-confirm .common_page_main .sub_title,
    .page-template-page-consultation-thanks .common_page_main .sub_title {
        font-size: 11vw;
    }

    .page-template-page-contact-confirm .common_page_bg,
    .page-template-page-contact-thanks .common_page_bg,
    .page-template-page-consultation-confirm .common_page_bg,
    .page-template-page-consultation-thanks .common_page_bg {
        height: 76.9vw;
    }

    .common_contact_form .reserve_cont {
        grid-template-columns: 1fr;
        gap: 9vw 0;
    }

    .mw_wp_form_confirm .common_contact_form .reserve_cont .form_box {
        width: 100%;
        margin: 0 auto 12.8vw;
    }

    .page-template-page-consultation .footer_wrap {
        border-top: 1px solid #E0E0E0;
    }

    .page-template-page-nonresidence .common_page_main .sub_title {
        font-size: 10vw;
    }
}