@charset "UTF-8";

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

:root {
    --main-color: #000;
    --sub-color: #fff;
}

/* Avenir */
@font-face {
    font-family: "Avenir";
    src: url("./fonts/Avenir-Black-03.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Avenir";
    src: url("./fonts/Avenir-Heavy-05.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Avenir";
    src: url("./fonts/Avenir-Medium-09.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Copperplate";
    src: url("./fonts/Copperplate-Bold-03.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "GenShinGothic";
    src: url("./fonts/GenShinGothic-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "GenShinGothic";
    src: url("./fonts/GenShinGothic-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "GenShinGothic";
    src: url("./fonts/GenShinGothic-Medium.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "GenShinGothic";
    src: url("./fonts/GenShinGothic-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "GenShinGothic";
    src: url("./fonts/GenShinGothic-Heavy.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Holland";
    src: url("./fonts/Holland.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

.font_Avenir {
    font-family: "Avenir", sans-serif;
    font-weight: 900;
}

.font_Copperplate {
    font-family: "Copperplate", serif;
    font-weight: 700;
}

.font_Holland {
    font-family: "Holland";
}

html,
button,
input,
select,
textarea {
    font-family: "GenShinGothic", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: 700;
}

body {
    color: #1A1A1A;
    font-size: 16px;
    line-height: 1.7;
    min-width: 1340px;
}

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

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

/* PC固定ページ 共通設定 */
.common_page_main {}

.common_page_main .image {
    width: 100%;
    height: 280px;
    position: relative;
    margin-bottom: 20px;
}

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

.common_page_main .image:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #1A1A1A;
    opacity: .14;
    position: absolute;
    left: 0;
    top: 0;
    mix-blend-mode: multiply;
}

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

.common_page_main .title_box .title .small {
    font-size: 18px;
}

.common_page_main .title_box .sub_title {
    font-size: 20px;
    margin-top: 0.3em;
    text-transform: uppercase;
}

.common_page_wrap {
    padding: 100px 0;
}

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

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

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #3E3E3E;
    letter-spacing: .08em;
    text-align: right;
    font-weight: 400;
    margin-bottom: 50px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.privacy_term_outer .privacy_term_inner .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: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
    padding: .5em 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* サンクスページ */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#pc_header {
    position: fixed;
    top: 30px;
    left: 50%;
    width: 1340px;
    background: #fff;
    border-radius: 10px;
    z-index: 10;
    transform: translateX(-50%);
    padding: 21px 30px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}

#pc_header .cont {
    align-items: center;
}

#pc_header .contents_box {
    align-items: center;
}

#pc_header .contents_box .nav {
    margin-right: 30px;
}

#pc_header .contents_box .nav ul {
    gap: 20px;
}

#pc_header .contents_box .nav ul li a {
    color: #1A1A1A;
    font-size: 14px;
    position: relative;
    letter-spacing: .07em;
}

#pc_header .contents_box .nav ul li a:after {
    background-color: #1a1a1a;
    bottom: -4px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
    width: 100%;
}

#pc_header .contents_box .nav ul li a:hover::after {
    transform: scale(1, 1);
    /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}

#pc_header .contents_box .button_box {
    gap: 10px;
}

#pc_header .contents_box .button_box .button a {
    width: 150px;
    line-height: 44px;
    font-size: 14px;
    background: #000000;
    color: #fff;
    display: block;
    text-align: center;
    border-radius: 6px;
    border: 2px solid #000;
    letter-spacing: .1em;
    transition: .3s;
}

#pc_header .contents_box .button_box .button a:hover {
    background: #fff;
    color: #000;
}

#pc_header .contents_box .button_box .button:nth-child(2) a:hover {
    color: #fff;
    background: #000;
    border-color: #000;
}

#pc_header .contents_box .button_box .button:nth-child(2) a {
    background: #fff;
    color: #000;
    border: 2px solid;
}

.section_fv .wrap {
    position: relative;
    height: 720px;
    padding-top: 180px;
}

.section_fv .wrap * {
    position: relative;
}

.section_fv .main_image {
    position: absolute;
    right: 0;
    top: 0;
    width: calc(1140px + ((100vw - 1140px) / 2));
    height: 100%;
    min-width: 1290px;
}

.section_fv .main_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section_fv .main_image:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #1A1A1A;
    mix-blend-mode: multiply;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .14;
    z-index: 1;
}

.section_fv .en_text {
    position: absolute;
    left: -150px;
    top: 0;
    opacity: .8;
    mix-blend-mode: overlay;
    z-index: 2;
}

.section_fv .catch_text {
    position: absolute;
    right: -130px;
    bottom: 0;
    color: #fff;
    font-size: 94px;
    font-weight: 800;
    letter-spacing: .25em;
    white-space: nowrap;
    line-height: .95;
    z-index: 2;
}

.section_fv .catch_text .dotted {
    position: relative;
}

.section_fv .catch_text .dotted:before {
    content: "・・";
    position: absolute;
    top: -.6em;
    left: .2em;
    font-size: 68px;
    letter-spacing: .7em;
}

.section_fv .lead_box {
    position: relative;
    z-index: 3;
}

.section_fv .lead_box .text {
    font-size: 26px;
    color: #fff;
    background: #000;
    display: inline-block;
    padding: 12px 30px;
    letter-spacing: .2em;
    font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    line-height: 1;
    font-weight: 500;
    position: relative;
}

.section_fv .lead_box .text:before {
    content: "";
    width: 447px;
    height: 50px;
    position: absolute;
    right: -10px;
    bottom: -10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
}

.section_fv .picture_box {
    position: absolute;
    right: -100px;
    top: 223px;
}

.section_fv .picture_box .picture {
    width: 190px;
    border-radius: 10px;
    overflow: hidden;
}

.section_fv .picture_box .text {
    font-size: 85px;
    line-height: 1;
    position: absolute;
    font-weight: 400;
    transform: rotate(-6deg);
    right: .2em;
    top: 1.8em;
}

.section_fv .recruitment_box {
    position: absolute;
    right: -127px;
    top: 445px;
    z-index: 2;
}

.section_fv .recruitment_box a {
    align-items: center;
    gap: 22px;
}

.section_fv .recruitment_box .arrow {
    width: 100px;
    height: 100px;
    border: 2px solid #fff;
    position: relative;
    border-radius: 100%;
    backdrop-filter: blur(3px) brightness(0.88);
    -webkit-backdrop-filter: blur(3px) brightness(0.88);
    background: rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    transition: .3s;
}

.section_fv .recruitment_box a:hover .arrow {
    transform: translateX(10px);
}

.section_fv .recruitment_box .arrow svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.section_fv .recruitment_box .text {
    writing-mode: vertical-rl;
    font-size: 34px;
    font-weight: 800;
    -webkit-text-stroke-width: 1.5px;
    -webkit-text-stroke-color: #000000;
    color: #fff;
    letter-spacing: .2em;
}

.section_about .wrap {
    position: relative;
    padding-top: 170px;
    text-align: center;
    padding-bottom: 150px;
}

.section_about .wrap:before {
    content: "";
    width: calc(570px + ((100vw - 1140px) / 2));
    height: 194px;
    background: #F7F7F7;
    position: absolute;
    left: 570px;
    top: 0;
}

.section_about .en_title {
    font-size: 46px;
    line-height: 1;
    position: relative;
    z-index: 2;
    display: inline-block;
    margin-bottom: 63px;
    color: #333333;
}

.section_about .en_title:before,
.section_about .en_title:after {
    content: "";
    width: 100%;
    height: 2px;
    background: #1A1A1A;
    position: absolute;
    left: 0;
    bottom: -10px;
}

.section_about .en_title:after {
    height: 4px;
    bottom: -20px;
}

.section_about .catch {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: .15em;
    margin-bottom: 38px;
    line-height: 1.45
}

.section_about .text_box {
    margin-bottom: 10px;
}

.section_about .text_box .text {
    letter-spacing: .1em;
    color: #484848;
}

.section_about .text_box .text+.text {
    margin-top: 1.3em;
}

.section_about .brand_name {
    justify-content: center;
    gap: 20px;
}

.section_about .brand_name .text {
    font-size: 66px;
    position: relative;
    color: #333333;
}

.section_about .brand_name .text small {
    position: absolute;
    font-size: 18px;
    white-space: nowrap;
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%);
    font-family: "GenShinGothic";
    font-weight: 800;
    letter-spacing: .1em;
}

.section_about .brand_name .text:last-child small {
    font-size: 26px;
    transform: translateX(0);
    margin-left: 2.8em;
    bottom: -25px;
    font-weight: 700;
}

.section_about .brand_name .text .crayon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.section_service .title_box {
    text-align: center;
    margin-bottom: 50px;
}

.section_service .title_box .en {
    font-size: 30px;
    margin-bottom: 5px;
}

.section_service .title_box .title {
    display: inline-block;
    background: #1A1A1A;
    color: #fff;
    font-size: 30px;
    padding: 4px 24px;
    letter-spacing: .1em;
}

.section_service .wrap {
    padding-bottom: 120px;
    position: relative;
}

.section_service .wrap:before {
    content: "";
    width: 1340px;
    height: calc(100% - 24px);
    background: url(./image/service_back.webp) no-repeat;
    background-size: cover;
    background-position: center;
    position: absolute;
    left: 50%;
    top: 24px;
    transform: translateX(-50%);
    z-index: -1;
    border-radius: 40px;
}

.section_service ul.item_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 20px;
    margin-bottom: 65px;
}

.section_service ul.item_list li.item {
    border: 2px solid #333333;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 0 #333333;
}

.section_service ul.item_list li.item .image {
    width: 190px;
    object-fit: cover;
}

.section_service ul.item_list li.item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section_service ul.item_list li.item .text_box {
    width: calc(100% - 190px);
    padding-left: 20px;
    padding: 21px 20px 21px 20px;
    position: relative;
}

.section_service ul.item_list li.item .text_box:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

.section_service ul.item_list li.item .text_box .point {
    border: 1px solid #1A1A1A;
    display: inline-block;
    position: relative;
    font-size: 20px;
    padding: 5px 10px 1px 10px;
    border-radius: 8px;
    line-height: 1.3;
    background: #fff;
    margin-bottom: 13px;
}

.section_service ul.item_list li.item .text_box .point:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #1A1A1A;
    position: absolute;
    left: 3px;
    bottom: -4px;
    border-radius: 8px;
    z-index: -1;
}

.section_service ul.item_list li.item .text_box .title {
    font-size: 20px;
    font-weight: 800;
    border-bottom: 2px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
    line-height: 1.4;
    letter-spacing: .05em;
}

.section_service ul.item_list li.item .text_box .title .big {
    font-size: 34px;
}

.section_service ul.item_list li.item .text_box .text {
    font-size: 14px;
    color: #606060;
    font-weight: 500;
    letter-spacing: .01em;
}

.common_button a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 320px;
    line-height: 70px;
    margin: 0 auto;
    border: 2px solid;
    color: #1A1A1A;
    border-radius: 5px;
    position: relative;
    background: #fff;
    padding: 0 30px;
}

.common_button a:before {
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid;
    border-radius: 5px;
    position: absolute;
    left: 7px;
    bottom: -7px;
    z-index: -1;
}

.common_button a:hover .plus svg {
    transition: transform 1s;
    transform: rotate(360deg);
}

.common_button a .plus svg {
    vertical-align: middle;
}

.section_works {
    padding: 130px 0;
}

.section_works .main_text_box {
    margin-bottom: 40px;
}

.section_works .main_text_box .title_box {
    align-items: center;
    gap: 30px;
}

.section_works .main_text_box .title_box .title {
    font-size: 70px;
    letter-spacing: .17em;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #000000;
    background: #fff;
    padding: 13px 15px 0 22px;
    border: 2px solid;
    border-radius: 8px 8px 0 0;
    position: relative;
    line-height: 1.2;
}

.section_works .main_text_box .title_box .title:before {
    content: "";
    width: 100%;
    height: 7px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: -5px;
}

.section_works .main_text_box .title_box .title:after {
    content: "";
    width: 100%;
    height: calc(100% - 3px);
    background: #1A1A1A;
    position: absolute;
    left: 7px;
    top: 5px;
    z-index: -1;
    border-radius: 8px 8px 0 0;
    z-index: -1;
}

.section_works .main_text_box .title_box .title .white {
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #000000;
    color: #fff;
}

.section_works .main_text_box .title_box .en {
    font-size: 40px;
}

.section_works .main_text_box .lead_box {
    padding: 15px 20px 15px 20px;
    border: 2px solid;
    border-radius: 0 8px 8px 8px;
    box-shadow: 5px 5px 0 #1A1A1A;
    display: inline-block;
    letter-spacing: .06em;
}

.section_works .num_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.section_works .num_list ul li {
    position: relative;
    border: 3px solid;
    border-radius: 10px;
    text-align: center;
    padding: 25px 0;
    box-shadow: 0 7px 0 #1A1A1A;
}

.section_works .num_list .circle {
    width: 14px;
    height: 14px;
    border: 3px solid #1A1A1A;
    border-radius: 100%;
    position: absolute;
}

.section_works .num_list .circle.left {
    left: 10px;
}

.section_works .num_list .circle.right {
    right: 10px;
}

.section_works .num_list .circle.top {
    top: 10px;
}

.section_works .num_list .circle.bottom {
    bottom: 10px;
}

.section_works .num_list ul li .title {
    font-size: 22px;
    display: inline-block;
    border: 2px solid;
    border-radius: 4px;
    width: 210px;
    line-height: 1.73;
    margin-bottom: 34px;
}

.section_works .num_list ul li .num {
    font-size: 42px;
    line-height: 1;
}

.section_works .num_list ul li .num .en {
    font-size: 80px;
}

.section_works .simulation_box .confirm_text {
    background: #1A1A1A;
    color: #fff;
    text-align: center;
    line-height: 80px;
    font-size: 26px;
    font-weight: 800;
    position: relative;
    margin-bottom: 10px;
    border-radius: 6px 6px 0 0;
    cursor: pointer;
}

.section_works .simulation_box .confirm_text .arrow {
    position: absolute;
    right: 53.5px;
    top: 0;
}

.section_works .simulation_box .confirm_text .arrow svg {
    vertical-align: middle;
}

.section_works .simulation_box .confirm_text.is-close .arrow svg {
    transform: scale(-1);
}

.section_works .simulation_box .cont .main_text {
    font-size: 38px;
    text-align: center;
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1.3;
}

.section_works .simulation_box .cont .main_text small {
    font-size: 28px;
    margin-right: -.4em;
}

.section_works .simulation_box .cont .main_text .red {
    color: #BC0000;
    letter-spacing: 0;
}

.section_works .simulation_box .cont .main_text .big {
    font-size: 90px;
    margin-left: -.15em;
    margin-right: -.05em;
}

.section_works .simulation_box .cont .table_box table {
    position: relative;
}

.section_works .simulation_box .cont .table_box table:before {
    content: "";
    width: 300px;
    height: calc(100% - 16px);
    border: 4px solid #BC0000;
    position: absolute;
    right: 0;
    top: 11px;
}

.section_works .simulation_box .cont .table_box table {
    width: 100%;
    border-collapse: revert;
    border-spacing: 6px;
    margin-bottom: 15px;
}

.section_works .simulation_box .cont .table_box table th,
.section_works .simulation_box .cont .table_box table td {
    background: #EBEBEB;
    padding: 17px;
    text-align: center;
    vertical-align: middle;
    width: 300px;
    font-size: 18px;
    font-weight: 800;
}

.section_works .simulation_box .cont .table_box table .text {
    line-height: 1;
}

.section_works .simulation_box .cont .table_box table th:first-child {
    background: #DDDDDD;
    width: 220px;
}

.section_works .simulation_box .cont .table_box table th:last-child,
.section_works .simulation_box .cont .table_box table td:last-child {
    background: #F8F8F8;
}

.section_works .simulation_box .cont .table_box table .text .num {
    font-size: 50px;
}

.section_works .simulation_box .cont .table_box table td:last-child {
    color: #BC0000;
}

.section_works .simulation_box .cont .table_box table .text .jp {
    font-size: 22px;
}

.section_works .simulation_box .cont .table_box .attention {
    font-size: 12px;
    font-weight: 400;
    text-align: right;
}

.common_section_cta {
    position: relative;
    z-index: 3;
}

.common_section_cta .cont {
    background: url(./image/common_cta_back.webp) no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

.common_section_cta .cont:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #1A1A1A;
    opacity: .44;
    mix-blend-mode: multiply;
    position: absolute;
    left: 0;
    top: 0;
}

.common_section_cta .cont * {
    position: relative;
    z-index: 2;
}

.common_section_cta .cont {
    padding: 80px 0 70px;
    text-align: center;
}

.common_section_cta .cont .logo {
    margin-bottom: 20px;
}

.common_section_cta .cont .catch {
    color: #fff;
    font-size: 47px;
    font-weight: 800;
    letter-spacing: .3em;
    line-height: 1.5;
}

.common_section_cta .cont .en {
    font-size: 41px;
    color: #fff;
    line-height: 1;
    font-weight: 400;
    margin-bottom: 40px;
}

.common_section_cta .cont ul {
    justify-content: center;
    gap: 20px;
}

.common_section_cta .cont ul li a {
    display: block;
    width: 210px;
    line-height: 62px;
    background: #000000;
    color: #fff;
    border-radius: 8px;
}

.common_section_cta .cont ul li:nth-child(2) a {
    background: #fff;
    color: #000000;
}

.section_flow {
    padding: 100px 0;
    position: relative;
}

.section_flow:before {
    content: "";
    width: 100%;
    height: calc(100% + 215px);
    background: #F7F7F7;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}

.section_flow .title_box {
    text-align: center;
    margin-bottom: 33px;
}

.section_flow .title_box .en {
    font-size: 30px;
    line-height: 1;
    margin-bottom: 20px;
}

.section_flow .title_box .title {
    font-size: 24px;
    font-weight: 800;
    display: inline-block;
    background: #1A1A1A;
    color: #fff;
    padding: 12px 35px;
    line-height: 1.3;
    letter-spacing: .1em;
}

/* top flow*/
.common_step_list ol {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 25px;
    position: relative;
    margin-bottom: 30px;
}

.common_step_list ol:before {
    content: "";
    width: 1069px;
    height: 2px;
    background: #1A1A1A;
    position: absolute;
    left: 50%;
    top: 47px;
    transform: translateX(-50%);

}

.common_step_list ol li {
    position: relative;
    padding-top: 83px;
}

.common_step_list ol li a {
    color: initial;
}

.common_step_list ol li .image {
    width: 120px;
    height: 120px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 15px;
}

.common_step_list ol li .image:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #1A1A1A;
    border-radius: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -46px;
}

.common_step_list ol li .image:after {
    content: "";
    width: 2px;
    height: 56px;
    background: #1A1A1A;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -46px;
    z-index: -1;
}

.common_step_list ol li .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100%;
    border: 2px solid #1A1A1A;
}

.common_step_list ol li .step {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    font-size: 20px;
    line-height: 1;
}

.common_step_list ol li .text_box .title {
    text-align: center;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 15px;
}

.common_step_list ol li .text_box .text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.42;
}

.common_step_list ol li .arrow {
    text-align: center;
}

.common_step_list ol li .arrow svg {
    transform: scale(-1);
    width: 20px;
}

.common_step_list ol li .arrow svg path {
    stroke: #333;
}

/* top flow end */

.page_flow .common_step_list ol {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 25px;
    position: relative;
    margin-bottom: 30px;
}

.page_flow .common_step_list ol:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #D8D8D8;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.page_flow .common_step_list ol li {
    position: relative;
    padding-top: unset;
}

.page_flow .common_step_list ol li a {
    position: relative;
    display: grid;
    place-content: center;
    color: initial;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: solid 1px #D8D8D8;
    background: #fff;
    color: initial;
}

.page_flow .common_step_list ol li a .text_box {
    transition: .3s;
}

.page_flow .common_step_list ol li a:hover .text_box {
    opacity: 0.6;
}

.page_flow .common_step_list ol li .image {
    width: 120px;
    height: 120px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 15px;
}

.page_flow .common_step_list ol li .image:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #1A1A1A;
    border-radius: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -46px;
}

.page_flow .common_step_list ol li .image:after {
    content: "";
    width: 2px;
    height: 56px;
    background: #1A1A1A;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -46px;
    z-index: -1;
}

.page_flow .common_step_list ol li .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100%;
    border: 2px solid #1A1A1A;
}

.page_flow .common_step_list ol li .step {
    position: static;
    transform: unset;
    font-size: 14px;
    margin-bottom: 3px;
    text-align: center;
    line-height: 1;
}

.page_flow .common_step_list ol li .text_box .title {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
}

.page_flow .common_step_list ol li .text_box .text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.42;
}

.page_flow .common_step_list ol li .arrow {
    position: absolute;
    left: 50%;
    bottom: 25px;
    transform: translateX(-50%);
    text-align: center;
}

.page_flow .common_step_list ol li .arrow svg {
    width: 15px;
    transform: unset;
}

.page_flow .common_step_list ol li .arrow svg path {
    stroke: #333;
}

.section_faq {
    padding: 116px 0 145px;
}

.common_page_wrap .section_faq {
    padding-bottom: 20px;
}

.section_faq .common_title_box {
    margin-bottom: 30px;
}

.section_faq .title_box {
    position: relative;
}

.section_faq .title_box .en {
    font-size: 110px;
    margin-bottom: 290px;
}

.section_faq .title_box .title {
    font-size: 24px;
    font-weight: 800;
    background: #1A1A1A;
    color: #fff;
    position: absolute;
    writing-mode: vertical-rl;
    left: 172px;
    top: 100px;
    padding: 18px 10px;
    letter-spacing: .2em;
}

.section_faq .title_box .en small {
    font-size: 60px;
}

.home .section_faq .common_faq_box {
    width: 755px;
}

.common_faq_box .common_title_box {
    text-align: left;
    margin-bottom: 30px;
}

.common_faq_box .common_title_box .title {
    display: block;
    padding: 0 0 20px 20px;
    font-size: 18px;
    letter-spacing: 0.15em;
    font-weight: 900;
    color: #1A1A1A;
    background-color: #fff;
    border-bottom: solid 2px #F0F0F0;
}

.common_faq_box dl+dl {
    margin-top: 20px;
}

.common_faq_box dl {
    border: 3px solid #333333;
    border-radius: 10px;
    padding: 20px;
    background: #fff;
}

.common_faq_box dl dt {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 800;
}

.common_faq_box dl dt:before {
    content: "Q";
    font-size: 30px;
    width: 60px;
    line-height: 60px;
    background: #1A1A1A;
    display: block;
    border-radius: 100%;
    color: #fff;
    text-align: center;
    font-family: "Avenir";
    font-weight: 900;
}

.common_faq_box dl dd {
    background: #F4F4F4;
    border-radius: 8px;
    padding: 20px;
    font-size: 14px;
    letter-spacing: .05em;
}

footer#main_footer {
    background: #1A1A1A;
    padding: 200px 0 84px;
    margin-top: -100px;
    border-radius: 0 0 50px 50px;
}

footer#main_footer a {
    transition: .3s;
}

footer#main_footer a:hover {
    opacity: .7;
}

footer#main_footer .contents_box {
    align-items: center;
    margin-bottom: 79px;
}

footer#main_footer .contents_box .logo img {
    width: 348px;
}

footer#main_footer .contents_box .nav ul {
    gap: 20px;
}

footer#main_footer .contents_box .nav ul li {
    line-height: 1;
}

footer#main_footer .contents_box .nav ul li a {
    color: #fff;
    font-size: 14px;
    display: inline-block;
    letter-spacing: .06em;
}

footer#main_footer .bottom_box {
    align-items: flex-end;
}

footer#main_footer .bottom_box .other_box ul {
    margin-bottom: 4px;
}

footer#main_footer .bottom_box .other_box ul li a {
    color: #fff;
    font-size: 12px;
    font-weight: 400;
}

footer#main_footer .bottom_box .other_box ul li:after {
    content: "|";
    color: #fff;
    margin: 0 .6em;
    font-weight: 400;
    font-size: 12px;
}

footer#main_footer .bottom_box .other_box ul li:last-child::after {
    display: none;
}

footer#main_footer .bottom_box .other_box .copyright small {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    font-weight: 400;
}

footer#main_footer .bottom_box .information_box {
    color: #fff;
    font-weight: 500;
    text-align: right;
}

footer#main_footer .bottom_box .information_box .mail {
    font-size: 14px;
    font-weight: 400;
}

footer#main_footer .bottom_box .information_box .company {
    font-size: 14px;
    margin-top: 1.1em;
    letter-spacing: .1em;
    font-weight: 400;
}

footer#main_footer .bottom_box .information_box .address {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .1em;
}

/* TENPOINTOのサービス内容（PC） */

.page_service .common_page_wrap {
    padding: 40px 0 125px;
}

.page_service .section_introduction .common_title_box {
    margin-bottom: 36px;
}

.page_service .common_nav_box ul li a .arrow svg {
    transform: rotate(-90deg);
}

.page_service .section_introduction {
    position: relative;
    margin-bottom: 152px;
}

.page_service .section_introduction::before {
    content: "";
    position: absolute;
    top: 200px;
    left: 0;
    width: 100%;
    height: 293px;
    background-image: url(./image/common_section_solution.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 30px;
    opacity: .3;
    z-index: -1;
}

.page_service .section_introduction .title_box {
    text-align: center;
    position: relative;
    margin-bottom: 20px;
}

.page_service .section_introduction .title_box:before {
    content: "";
    width: 100%;
    height: 2px;
    background: #1A1A1A;
    position: absolute;
    left: 0;
    top: 50%;
}

.page_service .section_introduction .title_box .title {
    font-size: 22px;
    position: relative;
    background: #fff;
    display: inline-block;
    padding: 0 20px;
}

.page_service .section_introduction ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 33px;
}

.page_service .section_introduction ul li {
    padding: 20px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
    border-radius: 10px;
    background-color: #fff;
}

.page_service .section_introduction ul li .image {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 20px;
    background-color: #F5F5F5;
    display: grid;
    place-content: center;
}

.page_service .section_introduction ul li .image img {
    width: 73px;
    height: auto;
    object-fit: contain;
}

.page_service .section_introduction ul li .text_box {
    height: 51px;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.page_service .section_introduction ul li .text_box .title {
    font-size: 18px;
    line-height: 1.3;
}

.page_service .section_introduction ul li .text_box .title small {
    font-size: 14px;
}

.page_service .section_service .main_title {
    text-align: center;
    width: fit-content;
    margin: 0 auto 40px;
}

.page_service .section_service .main_title .title {
    position: relative;
    font-size: 30px;
    letter-spacing: .12em;
    border-bottom: solid 4px #1A1A1A;
}

.page_service .section_service .main_title .title::before {
    content: "";
    position: absolute;
    bottom: 7px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #1A1A1A;
}

.page_service .section_service .main_title .title .en {
    font-size: 56px;
    margin-right: .05em;
}

.page_service .section_service .wrap {
    padding-top: unset;
    padding-bottom: unset;
}

.page_service .section_service .wrap:before {
    height: 100%;
    top: 0;
    display: none;
}

.page_service .section_service .inner_wrap {
    border: solid 2px #333333;
    border-radius: 30px;
    padding: 55px 50px 50px;
    box-shadow: 0 5px 0 #333333;
}

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

.page_service .section_service .items .item {
    position: relative;
    /* height: 100%; */
    display: flex;
    flex-direction: column;
}

.page_service .section_service .items .image {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    height: 220px;
    margin-bottom: 14px;
    z-index: -1;
}

.page_service .section_service .items .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.page_service .section_service .items .item .point {
    position: absolute;
    top: 10px;
    left: 10px;
    border: 1px solid #1A1A1A;
    display: inline-block;
    font-size: 20px;
    padding: 5px 10px 1px 10px;
    border-radius: 8px;
    line-height: 1.3;
    background: #fff;
    margin-bottom: 13px;
}

.page_service .section_service .items .item .point:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #1A1A1A;
    position: absolute;
    left: 3px;
    bottom: -4px;
    border-radius: 8px;
    z-index: -1;
}

.page_service .section_service .items .item .text_box {
    position: relative;
    flex-grow: 1;
    padding-bottom: 30px;
    border-bottom: dashed 2px #1A1A1A;
}

.page_service .section_service .items .item .text_box .title {
    font-size: 24px;
    font-weight: 800;
    border-bottom: 2px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
    line-height: 1.4;
    letter-spacing: .05em;
}

.page_service .section_service .items .item .text_box .title.hight {
    height: 93px;
}

.page_service .section_service .items .item .text_box .title .big {
    font-size: 34px;
}

.page_service .section_service .items .item .text_box .text {
    font-size: 14px;
    color: #606060;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.5;
}

.section_introduction .works_slider {
    margin-top: 70px;
}

.works_slider .works_slide {
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 10px;
    border-bottom: solid 5px #1A1A1A;
    background-color: #fff;
    /* transform: translateX(-90px); */
}

.works_slider .works_slide .slick-track {
    display: flex;
}

.works_slider .works_slide .slick-slide {
    height: auto !important;
}

.works_slider .works_slide+.works_slide {
    margin: 0 10px;
}

.works_slider .works_slide .img {
    flex-shrink: 0;
    width: 190px;
    height: 180px;
}

.works_slider .works_slide .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.works_slider .works_slide .text_box {
    flex-grow: 1;
    padding: 0 20px;
}

.works_slider .works_slide .text_box .title {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
    padding-bottom: 4px;
    border-bottom: solid 2px #1A1A1A;
}

.works_slider .works_slide .text_box .text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
}


/* 工務店様へ（PC） */

.common_section_assignment {
    padding-bottom: 100px;
}

.common_section_assignment .title_box {
    text-align: center;
    position: relative;
    margin-bottom: 20px;
}

.common_section_assignment .title_box:before {
    content: "";
    width: 100%;
    height: 2px;
    background: #1A1A1A;
    position: absolute;
    left: 0;
    top: 50%;
}

.common_section_assignment .title_box .title {
    font-size: 22px;
    position: relative;
    background: #fff;
    display: inline-block;
    padding: 0 20px;
}

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

.common_section_assignment ul .image {
    height: 190px;
    margin-bottom: 10px;
}

.common_section_assignment ul .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.common_section_assignment ul .text_box .title {
    font-size: 20px;
    border-bottom: 2px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.page_for_realestate .common_section_assignment ul .text_box .title {
    text-align: center;
    line-height: 1.5;
}

.common_section_assignment ul .text_box .text {
    font-size: 14px;
    font-weight: 500;
    color: #606060;
}

.common_title_box {
    text-align: center;
    margin-bottom: 40px;
}

.common_title_box .title {
    display: inline-block;
    background: #1A1A1A;
    color: #fff;
    font-size: 25px;
    letter-spacing: .1em;
    padding: .3em 1em;
}

.common_section_solution {
    position: relative;
    padding: 90px 0 80px;
}

.common_section_solution::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(./image/common_section_solution.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 40px;
    opacity: .3;
    z-index: -1;
}

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

.common_section_solution .common_title_box {
    margin-top: -117px;
    margin-bottom: 60px;
}

.common_section_solution .cont .box {
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}

.common_section_solution .cont .box .image {
    height: 170px;
}

.common_section_solution .cont .box .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_section_solution .cont .box .text_box .title {
    font-size: 26px;
    position: relative;
    margin-top: -50px;
    background-color: #1A1A1A;
    color: #fff;
    width: fit-content;
    padding: 0.1em 0.6em;
}

.common_section_solution .cont .box .text_box .title:before {
    content: "";
    width: 20px;
    height: 2px;
    background: #1A1A1A;
    position: absolute;
    left: 0;
    top: 50%;
}

.common_section_solution .cont .box .text_box .text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    padding: 20px 14px 0;
    color: #484848;
}

.common_section_solution .cont .box .text_box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 18px 14px 20px;
}

.common_section_solution .cont .box .text_box ul li {
    position: relative;
    display: flex;
    gap: 3px;
    width: fit-content;
    font-size: 16px;
    padding: 0.2em 0.4em;
    font-weight: 700;
    border-radius: 2px;
    border: solid 1px #F0F0F0;
    background-color: #F4F4F4;
}

.common_section_solution .cont .box .text_box ul li.bottom {
    align-items: flex-end;
}

.common_section_solution .cont .box .text_box ul li::before {
    content: "#";
    flex-shrink: 0;
}

.common_section_solution .cont .box .text_box ul li .small {
    font-size: 13px;
}

/* 開業までの流れ（PC） */
.page_flow .common_page_wrap {
    padding: 42px 0 120px;
}

.page_flow .section_flow_page {
    margin-bottom: 50px;
}

.page_flow .section_step {
    /* background: #F7F7F7; */
    /* padding: 100px 0; */
}

.page_flow .section_step .cont {
    position: relative;
}

.page_flow .section_step .cont::before {
    content: "";
    width: 2px;
    height: 100%;
    background: #1A1A1A;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

.page_flow .section_step .box {
    flex-wrap: nowrap;
    position: relative;
    justify-content: flex-start;
    gap: 30px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}

.page_flow .section_step .box:last-child:before {
    display: none;
}

.page_flow .section_step .box+.box {
    margin-top: 30px;
}

.page_flow .section_step .box .num {
    background: #1A1A1A;
    color: #fff;
    width: 103px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 18px;
    padding: 0.42em 0;
    position: relative;
    letter-spacing: 0.05em;
    margin-bottom: 16px;
    z-index: 2;
}

.page_flow .section_step .box .text_box {
    flex-grow: 1;
    padding: 25px 30px 25px 0;
}

.page_flow .section_step .box .text_box .title {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.page_flow .section_step .box .text_box .text {
    line-height: 1.6;
    font-size: 15px;
    font-weight: 500;
}

.page_flow .section_step .box .img_area {
    flex-shrink: 0;
    width: 300px;
    height: 230px;
}

.page_flow .section_step .box .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 収益モデルぺージ（PC） */

.page_business_model .common_page_wrap {
    padding: 74px 0 90px;
}

.page_business_model .section_works {
    padding-top: 0;
}

.page_business_model .model_works_sec {
    margin-bottom: 98px;
}

.page_business_model .model_works_sec .head_box {
    text-align: center;
    margin-bottom: 48px;
}

.page_business_model .model_works_sec .head_box .title {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 0.11em;
    margin-bottom: 20px;
}

.page_business_model .model_works_sec .head_box .text {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.page_business_model .model_works_sec .works_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 86px;
}

.page_business_model .model_works_sec .works_box .item {

    border-radius: 10px;
    background-color: #fff;
    border: solid 1px #D8D8D8;
}

.page_business_model .model_works_sec .works_box .item .title {
    width: fit-content;
    margin: -22px auto 0;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.17em;
    padding: 0.3em 0.7em;
    color: #fff;
    border-radius: 4px;
    background-color: #1A1A1A;
    text-align: center;
}

.page_business_model .model_works_sec .works_box .item .result {
    font-size: 34px;
    font-weight: 900;
    letter-spacing: 0.17em;
    text-align: center;
}

.page_business_model .model_works_sec .works_box .item .result .num {
    font-size: 70px;
    letter-spacing: 0;
    margin-right: 5px;
}

.page_business_model .model_works_sec .graph_box {
    display: flex;
    align-items: center;
    gap: 47px;
}

.page_business_model .model_works_sec .graph_box .text_area {
    flex-shrink: 0;
}

.page_business_model .model_works_sec .graph_box .title {
    font-size: 23px;
    font-weight: 700;
    margin-bottom: 35px;
    line-height: 1.4;
}

.page_business_model .model_works_sec .graph_box .title .small {
    font-size: 18px;
}

.page_business_model .model_works_sec .graph_box .title .large {
    font-size: 28px;
    letter-spacing: 0.11em;
}

.page_business_model .model_works_sec .graph_box .text_box .text {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

.page_business_model .model_works_sec .graph_box .text_box .text.right {
    text-align: right;
}

.page_business_model .model_works_sec .graph_box .text_box .text .color {
    color: #BC0000;
}

.page_business_model .model_works_sec .graph_box .text_box .text .mid1 {
    font-size: 38px;
    margin-left: 5px;
}

.page_business_model .model_works_sec .graph_box .text_box .text .mid2 {
    font-size: 43px;
}

.page_business_model .model_works_sec .graph_box .text_box .text .large {
    font-size: 70px;
    letter-spacing: 0;
    line-height: 1;
}

.page_business_model .model_works_sec .graph_box .text_box .text .small {
    font-size: 28px;
    letter-spacing: 0.04em;
}

.page_business_model .model_works_sec .graph_box .notes_text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    margin-top: 12px;
    text-align: center;
}

.page_business_model .model_works_sec .graph_box .img_box .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page_business_model .section_charm {
    position: relative;
    padding: 108px 0 91px;
}

.page_business_model .section_charm::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(./image/common_section_solution.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 40px;
    opacity: .3;
    z-index: -1;
}

.page_business_model .section_charm .common_title_box {
    margin-bottom: 20px;
}

.page_business_model .section_charm .common_title_box .title {
    font-size: 30px;
    letter-spacing: 0.12em;
}

.page_business_model .section_charm .common_title_box .lead {
    margin-top: 0.7em;
    letter-spacing: .1em;
    font-size: 25px;
}

.page_business_model .section_charm .common_title_box .lead .accent {
    color: #BC0000;
    font-size: 34px;
}

.page_business_model .section_charm .cont {
    background: #fff;
    border-radius: 30px;
}

.page_business_model .section_charm .box {
    padding: 40px;
    padding-bottom: 0;
}

.page_business_model .section_charm .box .box_title {
    position: relative;
    font-size: 19px;
    border-bottom: 3px solid;
    padding-bottom: 15px;
    margin-bottom: 0.7em;
}

.page_business_model .section_charm .box .box_title::after {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #1A1A1A;
}

.page_business_model .section_charm .box:nth-child(2) .box_title {
    /* color: #ec6101; */
}

.page_business_model .section_charm .box .info {
    margin-bottom: 20px;
}

.page_business_model .section_charm .box ul {
    display: flex;
    width: 100%;
    /* justify-content: space-between; */
    margin-bottom: 10px;
}

.page_business_model .section_charm .box ul li {
    width: 33.3%;
}

.page_business_model .section_charm .box:nth-child(2) ul {
    justify-content: flex-start;
    align-items: flex-end;
}

.page_business_model .section_charm .box:nth-child(2) ul li {
    width: 15%;
    flex-grow: 1;
}

.page_business_model .section_charm .box ul li .month {
    text-align: center;
    margin-bottom: .2em;
    font-size: 18px;
}

.page_business_model .section_charm .box ul li .in_box {
    height: 90px;
    padding-left: 30px;
    justify-content: left;
    align-items: center;
    text-align: center;
    clip-path: polygon(0 0, 93% 0, 100% 50%, 93% 100%, 0 100%);
}

.page_business_model .section_charm .box ul li.free {
    width: 47.6%;
    height: 90px;
    flex-shrink: 0;
    margin-left: 20px;
    clip-path: unset;
    border: 3px dashed #E2E2E2;
    border-radius: 6px;
}

.page_business_model .section_charm .box ul li.free .in_box {
    /* border: 1px dashed #ccc; */
    clip-path: unset;
}

.page_business_model .section_charm .box ul li:nth-child(1) .in_box {
    background: #5C5C5C;
}

.page_business_model .section_charm .box ul li:nth-child(2) .in_box {
    background: #333333;
    clip-path: polygon(0 0, 93% 0, 100% 50%, 93% 100%, 0 100%, 7% 50%);
    padding-left: 50px;
}

.page_business_model .section_charm .box ul li:nth-child(3) .in_box {
    background: #1A1A1A;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 7% 50%);
    padding-left: 50px;
}

.page_business_model .section_charm .box ul li:nth-child(1) .month {
    color: #5C5C5C;
}

.page_business_model .section_charm .box ul li:nth-child(2) .month {
    color: #333333;
}

.page_business_model .section_charm .box ul li:nth-child(3) .month {
    color: #1A1A1A;
}

.page_business_model .section_charm .box ul li .in_box .text {
    font-size: 21px;
    letter-spacing: 0.12em;
    line-height: 1.2;
    color: #fff;
    text-align: left;
}

.page_business_model .section_charm .box ul li .in_box .text .small {
    font-size: 14px;
}

.page_business_model .section_charm .box .last {
    text-align: center;
    font-size: 22px;
}

.page_business_model .section_charm .box .last .large {
    font-size: 28px;
}

.page_business_model .section_charm .box .last .num {
    font-size: 40px;
    margin-left: 3px;
}

.page_business_model .section_charm .box .last .accent {
    color: #BC0000;
    font-size: 25px;
    margin: 0 .1em;
}

.page_business_model .section_charm .box .last .arrow {
    display: block;
    margin-bottom: 10px;
}

.page_business_model .section_charm .box .last .arrow svg {
    /* width: 20px; */
    /* transform: scale(-1); */
}

.page_business_model .section_charm .box .last .arrow svg path {
    stroke: #1A1A1A;
}

.page_business_model .section_charm .box .last small {
    margin-right: .3em;
}

.page_business_model .section_charm .box:nth-child(2) ul li .in_box {
    padding-left: 20px;
    clip-path: polygon(0 0, 93% 0, 100% 50%, 93% 100%, 0 100%, 0 50%);
}

.page_business_model .section_charm .box:nth-child(2) ul li .in_box .text {
    font-size: 20px;
}

.page_business_model .section_charm .box:nth-child(2) ul li .in_box .text small {
    font-size: 14px;
    letter-spacing: 0;
}

.page_business_model .section_charm .box:nth-child(2) ul li:nth-child(1) .in_box {
    background: #5C5C5C;
}

.page_business_model .section_charm .box:nth-child(2) ul li:nth-child(2) .in_box {
    background: #333333;
    clip-path: polygon(0 0, 93% 0, 100% 50%, 93% 100%, 0 100%, 7% 50%);
    padding-left: 30px;
}

.page_business_model .section_charm .box:nth-child(2) ul li:nth-child(3) .in_box {
    background: #333333;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 7% 50%);
    padding-left: 30px;
}

.page_business_model .section_charm .box:nth-child(2) ul li:nth-child(1) .month {
    color: #5C5C5C;
}

.page_business_model .section_charm .box:nth-child(2) ul li:nth-child(2) .month {
    color: #333333;
}

.page_business_model .section_charm .box:nth-child(2) ul li:nth-child(3) .month {
    color: #333333;
}

.page_business_model .section_charm .sales_text {
    text-align: center;
    margin-top: 50px;
    padding-bottom: 40px;
}

.page_business_model .section_charm .sales_text .text {
    font-size: 30px;
    line-height: 0.5;
    letter-spacing: 0.04em;
}

.page_business_model .section_charm .sales_text .text .num {
    font-size: 70px;
}

.page_business_model .section_charm .sales_text:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 160px solid transparent;
    border-left: 160px solid transparent;
    border-top: 32px solid #333333;
    border-bottom: 0;
}

/* よくある質問（PC） */

.page_faq {
    padding-bottom: 100px;
}

.page_faq .common_page_wrap {
    padding: 30px 0 120px;
}

.common_nav_box {
    margin-bottom: 73px;
}

.common_nav_box ul {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
}

.common_nav_box ul li {
    width: 320px;
}

.common_nav_box ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    color: #1A1A1A;
    text-align: center;
    padding: 19px 30px;
    position: relative;
    font-size: 18px;
    letter-spacing: 0.08em;
    border: solid 1px #D8D8D8;
    transition: .3s;
}

.common_nav_box ul li a:hover {
    opacity: 0.6;
}

.common_nav_box ul li a .arrow svg {
    width: 15px;
    vertical-align: baseline;
}

.page_faq .common_faq_box+.common_faq_box {
    margin-top: 90px;
}

/* お問い合わせ（PC） */

.page_contact {
    background: #f7f7f7;
    margin-top: 100px;
}

.page_contact .common_contact_form {
    background: #fff;
    padding: 60px;
    margin-bottom: 30px;
}

.common_contact_form .flex_box .calendar_area {
    width: 450px;
    padding-right: 40px;
}

.page-template-page-consultation .ui-datepicker {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.page-template-page-consultation .ui-datepicker-header {
    background: #f7f7f7;
    border-bottom: 1px solid #ddd;
    border-radius: 10px 10px 0 0;
    padding: 8px 0;
    text-align: center;
    font-weight: 600;
}

.common_contact_form .flex_box .form_box {
    width: 650px;
}

.common_contact_form .flex_box .form_box .title {
    border-left: 5px solid;
    margin-top: 40px;
    margin-bottom: 20px;
    padding-left: 1em;
}

.common_contact_form .flex_box .form_box .title:first-child {
    margin-top: 0;
}

.common_contact_form .flex_box .form_box .attention {
    font-size: 12px;
    font-weight: 400;
    margin-top: 1em;
}

.common_contact_form .flex_box .form_box dl {
    grid-template-columns: 32.5% 1fr;

}

.common_head_box {
    margin-top: 40px;
    padding-bottom: 32px;
    border-bottom: solid 2px #E8E8E8;
}

.common_head_box .text {
    font-size: 18px;
    letter-spacing: 0.15em;
}

/* 工務店様へ */
.worries_sec {
    padding: 12px 0 150px;
}

.worries_sec .title_box {
    position: relative;
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 40px;
    text-align: center;
}

.worries_sec .title_box::after {
    content: "";
    position: absolute;
    width: 37.8px;
    height: 49.8px;
    top: -35px;
    right: 178px;
    background-image: url(./image/icon_moyamoya.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.page_for_realestate .worries_sec .title_box::after {
    right: 181px;
}

.worries_sec .title_box .title {
    margin-bottom: 40px;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-align: center;
}

.worries_sec .title_box .title .large {
    font-size: 34px;
}

.worries_sec .cont .column {
    position: relative;
    display: flex;
    gap: 70px;
    padding: 30px 38px;
}

.worries_sec .cont .column:first-child {
    border-top: solid 1px #1A1A1A;
}

.worries_sec .cont .column:last-child {
    border-bottom: solid 1px #1A1A1A;
}

.worries_sec .cont .column::before,
.worries_sec .cont .column::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 80px;
    background-color: #818181;
}

.worries_sec .cont .column:first-child:before,
.worries_sec .cont .column:first-child::after {
    height: 120px;
}

.worries_sec .cont .column::before {
    left: 0;
}

.worries_sec .cont .column::after {
    right: 0;
}

.worries_sec .cont .column+.column {
    border-top: solid 1px #1A1A1A;
}

.worries_sec .cont .column .img_box {
    position: relative;
    flex-shrink: 0;
    display: grid;
    place-content: center;
}

.worries_sec .cont .column .img_box .img {
    width: 76px;
}

.worries_sec .cont .column .img_box::after {
    content: "";
    position: absolute;
    width: 2px;
    height: 80px;
    top: 50%;
    right: -35px;
    transform: translateY(-50%);
    background: #818181;
}

.worries_sec .cont .column:first-child .img_box::after {
    height: 120px;
}

.worries_sec .cont .column .img_box .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.worries_sec .cont .column .text_box .title {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
}

.worries_sec .cont .column .text_box .title .large {
    font-size: 28px;
}

.worries_sec .cont .column .text_box .text {
    color: #484848;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.45;
}

.cash_flow_sec {
    padding-top: 100px;
}

.cash_flow_sec .common_title_box {
    margin-bottom: 50px;
}

.cash_flow_sec .head_title {
    position: relative;
    font-size: 24px;
    border-bottom: 3px solid;
    padding-bottom: 15px;
    margin-bottom: 0.7em;
    letter-spacing: 0;
}

.cash_flow_sec .head_title::after {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #1A1A1A;
}

.cash_flow_sec .cont {
    position: relative;
}

.cash_flow_sec .cont .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cash_flow_sec .cont .pass_box {
    position: absolute;
    display: grid;
    place-content: center;
    width: 80%;
    height: 300px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 20px;
    background-color: rgba(255, 255, 255, .6);
}

.cash_flow_sec .cont .pass_box .post-password-form__input {
    margin-left: 5px;
    border-radius: 3px;
    background-color: #fff;
    border: solid 1px #aaa;
}

.cash_flow_sec .cont .pass_box .post-password-form__submit {
    width: 50px;
    margin-left: 5px;
    border-radius: 3px;
    background-color: rgb(239, 239, 239);
    border: solid 1px #aaa;
    font-weight: 500;
    padding: 3px;
    font-size: 14px;
    text-align: center;
}

.cash_flow_sec .cont .pass_box .form_link {
    width: 200px;
    line-height: 44px;
    font-size: 14px;
    background: #000000;
    color: #fff;
    display: block;
    text-align: center;
    border-radius: 6px;
    border: 2px solid #000;
    letter-spacing: .1em;
    transition: .3s;
    margin: 20px auto 0;
}

.cash_flow_sec .cont .pass_box .form_link:hover {
    background: #fff;
    color: #000;
}

.cash_flow_sec .graph_box {
    margin-top: 20px;
    margin-bottom: 90px;
}

.cash_flow_sec .graph_box .graph {
    display: grid;
    color: #fff;
}

.cash_flow_sec .graph_box .notes_text {
    font-size: 22px;
    font-weight: 700;
    margin-top: 12px;
}

.cash_flow_sec .graph_box .notes_text.mt {
    margin-top: 19px;
}

.cash_flow_sec .graph_box .graph .text {
    height: 180px;
    display: grid;
    place-content: center;
    font-size: 23px;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
}

.cash_flow_sec .graph_box .graph .text:first-child {
    background-color: #606060;
}

.cash_flow_sec .graph_box .graph .text:last-child {
    background-color: #1A1A1A;
}

.cash_flow_sec .graph_box .graph_1 .text:nth-child(2) {
    position: relative;
    background-color: #333333;
}

.cash_flow_sec .graph_box .graph_1 .text:nth-child(2)::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 73px;
    bottom: -76px;
    left: 0;
    background-image: url(./image/cash_flow_sec_border_pc.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.cash_flow_sec .graph_box .graph_1 {
    grid-template-columns: 50% 20% 30%;
}

.cash_flow_sec .graph_box .graph_2 {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 30px;
}

.cash_flow_sec .table_box .price_table {
    border-collapse: separate;
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin-top: 40px;
}

.cash_flow_sec .table_box .price_table th.none {
    background: transparent;
    border: none;
}

.cash_flow_sec .table_box .price_table th,
.cash_flow_sec .table_box .price_table td {
    background: #F2F2F2;
    padding: 14px 10px;
    vertical-align: middle;
    font-size: 19px;
    font-weight: 700;
}

.cash_flow_sec .table_box .price_table thead th {
    background: #F2F2F2;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    font-size: 24px;
    height: 140px;
}

.cash_flow_sec .table_box .price_table .label_col {
    background: #1A1A1A;
    color: #fff;
    font-weight: 700;
    width: 400px;
    height: 100px;
    vertical-align: middle;
}

.cash_flow_sec .table_box .price_table .highlight_cell {
    font-weight: 700;
}

.cash_flow_sec .table_box .summary_text {
    font-size: 24px;
    font-weight: 700;
    margin-top: 30px;
    text-align: center;
}

.page_for_realestate .common_page_wrap .section_faq {
    padding: 100px 0 0;
}


/* 工務店様へ end */


@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.3vw;
        min-width: unset;
        margin-bottom: 60px;
    }

    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 5%;
        top: 20px;
        width: 90%;
        background: #fff;
        box-shadow: 1px 1px #ccc;
        z-index: 999;
        height: 70px;
        border-radius: 6px;
        padding: 20px;
    }

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

    #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 .image {
        height: 41vw;
    }

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

    .common_page_main .title_box .sub_title {
        font-size: 3.58vw;
        margin-top: .4em;
    }

    .common_page_wrap {
        padding: 16vw 0 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

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

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

    .contact_form_disc .text {
        font-size: 3.6vw;
        margin-block: 0 0.8em;
    }

    .contact_form_disc .caution {
        font-size: 3.1vw;
        letter-spacing: .06em;
    }

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

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

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

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

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

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

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

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
        height: 12.3vw;
        padding: 1em;
    }

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

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

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

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

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

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

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

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

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

    .privacy_check_list {
        margin-bottom: 6vw;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /* SP投稿ページ アーカイブページ */
    .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;
    }

    .section_fv {
        position: relative;
        z-index: 3;
    }

    .section_fv .wrap {
        height: auto;
        padding-top: calc(90px + 50vw);
        padding-bottom: 20vw;
    }

    .section_fv .main_image {
        position: absolute;
        right: auto;
        top: 0;
        width: 90vw;
        min-width: unset;
        left: -5vw;
    }

    .section_fv .en_text {
        left: -5vw;
        top: 90px;
        width: 100vw;
    }

    .section_fv .en_text img {
        width: 100vw;
    }

    .section_fv .catch_text {
        position: relative;
        right: auto;
        bottom: auto;
        font-size: 13.7vw;
        white-space: initial;
        line-height: 1.4;
    }

    .section_fv .catch_text .dotted:before {
        display: none;
    }

    .section_fv .lead_box {
        text-align: right;
        margin-bottom: 12.8vw;
    }

    .section_fv .lead_box .text {
        font-size: 4.6vw;
        padding: 2.3vw 3.7vw;
        line-height: 1.2;
        letter-spacing: .29em;
        font-weight: bold;
    }

    .section_fv .lead_box .text:before {
        width: 100%;
        height: 10vw;
        right: auto;
        left: -2.5vw;
        bottom: -2.5vw;
        border-right: none;
        border-left: 2px solid #fff;
        border-bottom: 2px solid #fff;
    }

    .section_fv .lead_box .text:after {
        width: 2px;
        height: 10vw;
        right: auto;
        bottom: -2.5vw;
        left: -2.5vw;
    }

    .section_fv .picture_box {
        right: auto;
        top: auto;
        left: 28vw;
        bottom: 15vw;
        z-index: 3;
    }

    .section_fv .picture_box .picture {
        display: none;
    }

    .section_fv .picture_box .text {
        font-size: 16.5vw;
        position: static;
    }

    .section_fv .recruitment_box {
        right: 0;
        top: auto;
        bottom: 12.8vw;
        z-index: 4;
    }

    .section_fv .recruitment_box a {
        gap: 5.12vw;
        flex-wrap: nowrap;
    }

    .section_fv .recruitment_box .arrow {
        width: 15.2vw;
        height: 15.2vw;
        margin-bottom: 4vw;
    }

    .section_fv .recruitment_box .arrow svg {
        width: 3.3vw;
    }

    .section_fv .recruitment_box .text {
        writing-mode: initial;
    }

    .section_fv .recruitment_box .text img {
        width: 9.2vw;
    }

    .section_fv .button_box {
        position: absolute;
        left: 0;
        bottom: -47vw;
        width: 100%;
        z-index: 5;
    }

    .section_fv .button_box .button+.button {
        margin-top: 2.5vw;
    }

    .section_fv .button_box .button a {
        display: block;
        color: #fff;
        font-size: 4.6vw;
        text-align: center;
        width: 100%;
        background: #1A1A1A;
        border-radius: 6px;
        line-height: 15.2vw;
        border: 2px solid #1A1A1A;
    }

    .section_fv .button_box .button:nth-child(2) a {
        background: #fff;
        color: #1A1A1A;
    }

    .section_about .wrap {
        padding-top: 50vw;
        text-align: left;
        padding-bottom: 19vw;
    }

    .section_about .wrap:before {
        content: "";
        width: 50vw;
        height: 138vw;
        left: auto;
        right: -5vw;
        top: -85vw;
        z-index: -1;
    }

    .section_about .en_title {
        font-size: 5.6vw;
        margin-bottom: 11.2vw;
    }

    .section_about .en_title:before,
    .section_about .en_title:after {
        bottom: -2.5vw;
    }

    .section_about .en_title:after {
        height: 3px;
        bottom: -4.8vw;
    }

    .section_about .catch {
        font-size: 5.6vw;
        margin-bottom: 6.15vw;
    }

    .section_about .text_box {
        margin-bottom: 10px;
    }

    .section_about .text_box .text {
        font-size: 3.5vw;
    }

    .section_about .brand_name {
        gap: 1.5vw;
    }

    .section_about .brand_name .text {
        font-size: 11.8vw;
    }

    .section_about .brand_name .text:first-child {
        font-size: 12.3vw;
    }

    .section_about .brand_name .text.result {
        width: 100%;
        text-align: center;
    }

    .section_about .brand_name .text.result span {
        transform: rotate(90deg);
        display: inline-block;
    }

    .section_about .brand_name .text small {
        font-size: 4.1vw;
        bottom: -4vw;
    }

    .section_about .brand_name .text:last-child {
        margin-top: -10vw;
    }

    .section_about .brand_name .text:last-child small {
        font-size: 5.12vw;
        margin-left: .6em;
        bottom: -6vw;
    }

    .section_about .brand_name .text .crayon img {
        width: 43.5vw;
    }

    .section_service .title_box {
        margin-bottom: 6.4vw;
    }

    .section_service .title_box .en {
        font-size: 5.6vw;
        margin-bottom: 2vw;
    }

    .section_service .title_box .title {
        font-size: 5.6vw;
        padding: 1vw 3.7vw;
    }

    .section_service .wrap {
        padding-bottom: 17.4vw;
    }

    .section_service .wrap:before {
        width: 90vw;
        height: calc(100% - 4vw);
        top: 4vw;
        border-radius: 30px;
    }

    .section_service ul.item_list {
        grid-template-columns: repeat(1, 1fr);
        gap: 3.7vw;
        margin-bottom: 0;
    }

    .section_service .slick-initialized .slick-slide {
        padding: 0 1.25vw;
    }

    .section_service ul.item_list li.item {
        border-radius: 8px;
        position: relative;
        min-height: 54vw;
    }

    .section_service .slick-dots {
        bottom: -40px;
    }

    .section_service .slick-arrow {
        width: 2vw;
        height: 4.1vw;
        background: url(./image/slick_arrow.svg) no-repeat;
        background-size: contain;
        background-position: center;
        top: calc(100% + 25px);
        z-index: 3;
    }

    .section_service .slick-arrow:before {
        display: none;
    }

    .section_service .slick-prev {
        left: 13.2vw;
    }

    .section_service .slick-next {
        right: 13.2vw;
        transform: translate(0, -50%) scale(-1, -1);
    }

    .section_service .slick-dots li {
        width: 20vw;
        background: #CCCCCC;
        height: 4px;
    }

    .section_service .slick-dots li.slick-active {
        background: #1A1A1A;
    }

    .section_service .slick-dots li button:before {
        display: none;
    }

    .section_service ul.item_list li.item .image {
        width: 22.8vw;
        height: 22.8vw;
        border-radius: 100%;
        overflow: hidden;
        position: absolute;
        left: 3.7vw;
        top: 3.7vw;
    }

    .section_service ul.item_list li.item .text_box {
        width: 100%;
        padding: 3.7vw;
    }

    .section_service ul.item_list li.item .text_box:before {
        content: "";
        width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1;
    }

    .section_service ul.item_list li.item .text_box .point {
        font-size: 3.5vw;
        padding: 1.5vw 2vw 1vw 2vw;
        border-radius: 4px;
        margin-bottom: 2vw;
        margin-left: 30vw;
    }

    .section_service ul.item_list li.item .text_box .point:before {
        border-radius: 4px;
    }

    .section_service ul.item_list li.item .text_box .title {
        font-size: 4.6vw;
        padding-bottom: 0;
        margin-bottom: 3.3vw;
        margin-left: 30vw;
        border-bottom: none;
    }

    .section_service ul.item_list li.item .text_box .title .big {
        font-size: 6.6vw;
    }

    .section_service ul.item_list li.item .text_box .text {
        font-size: 3.3vw;
        letter-spacing: .05em;
    }

    .section_service .common_button {
        margin-top: 20vw;
    }

    .common_button a {
        width: 70vw;
        line-height: 16.5vw;
        padding: 0 5.12vw;
        font-size: 3.5vw;
    }

    .common_button a .plus svg {
        width: 4.1vw;
    }

    .section_works {
        padding: 15vw 0 13.5vw;
    }

    .section_works .main_text_box {
        margin-bottom: 6.4vw;
    }

    .section_works .main_text_box .title_box {
        gap: 2vw;
    }

    .section_works .main_text_box .title_box .title {
        font-size: 10vw;
        -webkit-text-stroke-width: 1px;
        padding: 3.5vw 4.6vw 0 4.6vw;
        order: 2;
    }

    .section_works .main_text_box .title_box .title:before {
        height: 7px;
        bottom: -5px;
    }

    .section_works .main_text_box .title_box .title .white {
        -webkit-text-stroke-width: 1px;
    }

    .section_works .main_text_box .title_box .en {
        font-size: 7.15vw;
        line-height: 1;
        margin-left: 4.6vw;
    }

    .section_works .main_text_box .lead_box {
        padding: 3.5vw 6.5vw 3.3vw 4.6vw;
    }

    .section_works .main_text_box .lead_box .lead {
        font-size: 3.5vw;
    }

    .section_works .num_list {
        margin-bottom: 6.4vw;
        border: 3px solid #333333;
        border-radius: 10px;
        position: relative;
        padding: 8.6vw 0;
    }

    .section_works .num_list ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
        margin-bottom: 0;
    }

    .section_works .num_list ul li {
        border: none;
        border-radius: 0;
        padding: 0;
        box-shadow: none;
    }

    .section_works .num_list ul li .circle {
        display: none;
    }

    .section_works .num_list .circle.left {
        left: 5.12vw;
    }

    .section_works .num_list .circle.right {
        right: 5.12vw;
    }

    .section_works .num_list .circle.top {
        top: 5.12vw;
    }

    .section_works .num_list .circle.bottom {
        bottom: 5.12vw;
    }

    .section_works .num_list ul li+li {
        margin-top: 5vw;
    }

    .section_works .num_list ul li .title {
        font-size: 4.6vw;
        width: 46vw;
        margin-bottom: 4.1vw;
    }

    .section_works .num_list ul li .num {
        font-size: 8.2vw;
    }

    .section_works .num_list ul li .num .en {
        font-size: 15.2vw;
    }

    .section_works .simulation_box .confirm_text {
        line-height: 1;
        height: 20vw;
        font-size: 4.1vw;
        margin-bottom: 6.15vw;
        padding-top: 5vw;
    }

    .section_works .simulation_box .confirm_text .arrow {
        right: 50%;
        top: auto;
        bottom: 4vw;
        transform: translateX(50%);
    }

    .section_works .simulation_box .confirm_text .arrow svg {
        width: 4vw;
    }

    .section_works .simulation_box .cont .main_text {
        font-size: 7.6vw;
        text-align: right;
        line-height: 1.2;
        margin-bottom: 4.5vw;
    }

    .section_works .simulation_box .cont .main_text small {
        font-size: 5.6vw;
        margin-right: 0;
        display: block;
        text-align: left;
    }

    .section_works .simulation_box .cont .main_text .big {
        font-size: 15.2vw;
    }

    .section_works .simulation_box .cont .main_text .price {
        display: block;
        text-align: center;
    }

    .section_works .simulation_box .cont .table_box table:before {
        width: 100%;
        height: 28vw;
        right: 0;
        top: auto;
        bottom: 0;
    }

    .section_works .simulation_box .cont .table_box table {
        border-spacing: 2px;
        margin-bottom: 2.5vw;
    }

    .section_works .simulation_box .cont .table_box table th,
    .section_works .simulation_box .cont .table_box table td {
        padding: 2.5vw;
        width: 50%;
        font-size: 3.5vw;
        background: #EBEBEB;
    }

    .section_works .simulation_box .cont .table_box table tr.company th,
    .section_works .simulation_box .cont .table_box table tr.company td {
        background: #F8F8F8;
    }

    .section_works .simulation_box .cont .table_box table th:first-child {
        background: #EBEBEB;
        width: auto;
    }

    .section_works .simulation_box .cont .table_box table th:last-child,
    .section_works .simulation_box .cont .table_box table td:last-child {
        background: #EBEBEB;
    }

    .section_works .simulation_box .cont .table_box table .text .num {
        font-size: 10vw;
    }

    .section_works .simulation_box .cont .table_box table td:last-child {
        color: #1A1A1A;
    }

    .section_works .simulation_box .cont .table_box table .text .jp {
        font-size: 4.6vw;
    }

    .section_works .simulation_box .cont .table_box .attention {
        font-size: 3.07vw;
    }

    .common_section_cta .cont {
        border-radius: 10px;
    }

    .common_section_cta .cont {
        padding: 7.6vw 5.5vw;
        background: url(./image/common_cta_back_sp.webp) no-repeat;
        background-position: center;
        background-size: cover;
    }

    .common_section_cta .cont .logo {
        margin-bottom: 10vw;
    }

    .common_section_cta .cont .logo img {
        width: 33vw;
    }

    .common_section_cta .cont .catch {
        font-size: 8.6vw;
        text-align: left;
    }

    .common_section_cta .cont .en {
        font-size: 5.9vw;
        margin-bottom: 11.5vw;
        text-align: left;
    }

    .common_section_cta .cont ul {
        gap: 2.5vw;
    }

    .common_section_cta .cont ul li a {
        width: 61.5vw;
        line-height: 12.8vw;
        font-size: 4.1vw;
    }

    .section_flow {
        padding: 12.8vw 0 17.5vw;
    }

    .section_flow:before {
        height: calc(100% + 56vw);
    }

    .section_flow .title_box {
        margin-bottom: 7.6vw;
    }

    .section_flow .title_box .en {
        font-size: 5.6vw;
        margin-bottom: 2.5vw;
    }

    .section_flow .title_box .title {
        font-size: 5.6vw;
        padding: 1.5vw 3.7vw;
        letter-spacing: .2em;
    }

    /* top flow */
    .common_step_list ol {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw;
        margin-bottom: 12vw;
    }

    .common_step_list ol:before {
        display: none;
    }

    .common_step_list ol li {
        padding-top: 0;
        display: flex;
        align-items: center;
    }

    .common_step_list ol li .image {
        width: 28vw;
        height: 28vw;
        margin: 0;
        margin-bottom: 0;
    }

    .common_step_list ol li .image:before {
        display: none;
    }

    .common_step_list ol li .image:after {
        width: 2px;
        height: 6vw;
        top: 100%;
    }

    .common_step_list ol li:last-child .image:after {
        display: none;
    }

    .common_step_list ol li .text_box {
        width: calc(100% - 28vw);
        padding-left: 5vw;
    }

    .common_step_list ol li .step {
        position: static;
        transform: translateX(0);
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .common_step_list ol li .text_box .title {
        text-align: left;
        font-size: 4.1vw;
        margin-bottom: 2.5vw;
    }

    .common_step_list ol li .text_box .text {
        font-size: 3.3vw;
        letter-spacing: .05em;
    }

    /* top flow end */

    .page_flow .common_step_list ol {
        grid-template-columns: repeat(1, 1fr);
        gap: 2vw;
        margin-bottom: 12vw;
    }

    .page_flow .common_step_list ol:before {
        display: none;
    }

    .page_flow .common_step_list ol li {
        padding-top: 0;
        display: flex;
        align-items: center;
    }

    .page_flow .common_step_list ol li .image {
        width: 28vw;
        height: 28vw;
        margin: 0;
        margin-bottom: 0;
    }

    .page_flow .common_step_list ol li .image:before {
        display: none;
    }

    .page_flow .common_step_list ol li .image:after {
        width: 2px;
        height: 6vw;
        top: 100%;
    }

    .page_flow .common_step_list ol li:last-child .image:after {
        display: none;
    }

    .page_flow .common_step_list ol li .text_box {
        display: flex;
        gap: 4.1vw;
        align-items: center;
        width: 100%;
        padding-left: unset;
    }

    .page_flow .common_step_list ol li a:hover .text_box {
        opacity: 1;
    }

    .page_flow .common_step_list ol li .step {
        position: static;
        transform: translateX(0);
        font-size: 3vw;
        line-height: 1.6;
        text-align: center;
        margin-bottom: unset;
    }

    .page_flow .common_step_list ol li .step .large {
        display: block;
        font-size: 5.6vw;
        line-height: 1;
    }

    .page_flow .common_step_list ol li .text_box .title {
        text-align: left;
        font-size: 4.1vw;
        margin-bottom: unset;
    }

    .page_flow .common_step_list ol li .text_box .text {
        font-size: 3.3vw;
        letter-spacing: .05em;
    }

    .section_faq {
        padding: 12vw 0 18vw;
    }

    .section_faq .common_title_box {
        margin-bottom: 6.2vw;
    }

    .section_faq .title_box {
        width: 100%;
    }

    .section_faq .title_box .en {
        font-size: 22.8vw;
        margin-bottom: 9.7vw;
    }

    .section_faq .title_box .title {
        font-size: 4.6vw;
        writing-mode: unset;
        left: 32vw;
        top: 24vw;
        padding: 2vw 2.5vw;
        letter-spacing: .2em;
        line-height: 1.35;
    }

    .section_faq .title_box .en small {
        font-size: 15.2vw;
    }

    .home .section_faq .common_faq_box {
        width: 100%;
    }

    .common_faq_box dl+dl {
        margin-top: 2.5vw;
    }

    .common_faq_box dl {
        border-radius: 8px;
        padding: 5vw;
    }

    .common_faq_box dl dt {
        gap: 3.7vw;
        margin-bottom: 2.5vw;
        font-size: 4.1vw;
    }

    .common_faq_box dl dt:before {
        font-size: 6.15vw;
        width: 12.8vw;
        min-width: 12.8vw;
        line-height: 12.8vw;
    }

    .common_faq_box dl dd {
        border-radius: 6px;
        padding: 5vw;
        font-size: 3.3vw;
    }

    .section_faq .common_button {
        margin-top: 10vw;
    }

    .section_faq .common_button a {
        margin: 0 auto;
    }

    footer#main_footer {
        padding: 44vw 0 12.8vw;
        margin-top: -28vw;
        border-radius: 0 0 20px 20px;
    }

    footer#main_footer .contents_box {
        align-items: center;
        margin-bottom: 23px;
    }

    footer#main_footer .contents_box .logo {
        text-align: center;
        width: 100%;
        margin-bottom: 5.9vw;
    }

    footer#main_footer .contents_box .logo img {
        width: 52vw;
    }

    footer#main_footer .contents_box .nav {
        display: none;
    }

    footer#main_footer .bottom_box .other_box {
        order: 2;
        width: 100%;
    }

    footer#main_footer .bottom_box .other_box ul {
        display: none;
    }

    footer#main_footer .bottom_box .other_box .copyright {
        text-align: center;
    }

    footer#main_footer .bottom_box .other_box .copyright small {
        font-size: 3.07vw;
    }

    footer#main_footer .bottom_box .information_box {
        text-align: center;
        margin-bottom: 14vw;
        width: 100%;
    }

    footer#main_footer .bottom_box .information_box .mail {
        font-size: 3.5vw;
    }

    footer#main_footer .bottom_box .information_box .mail a {
        color: #fff;
    }

    footer#main_footer .bottom_box .information_box .company {
        font-size: 3.5vw;
    }

    footer#main_footer .bottom_box .information_box .address {
        font-size: 3.07vw;
    }

    .fixed_button_box {
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 10;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
    }

    .fixed_button_box .button a {
        display: block;
        line-height: 60px;
        color: #fff;
        background: #1A1A1A;
        text-align: center;
        font-size: 15px;
        letter-spacing: .1em;
    }

    .fixed_button_box .button:nth-child(2) a {
        background: #F7F7F7;
        color: #252525;
    }

    /* TENPOINTOのサービス内容（SP） */

    .page_service .common_page_wrap {
        padding: 8.2vw 0 15.3vw;
    }

    .page_service .section_introduction {
        margin-bottom: 20vw;
    }

    .page_service .section_introduction::before {
        top: 51vw;
        height: 90vw;
        border-radius: 20px;
    }

    .page_service .section_introduction .title_box {
        margin-bottom: 5.12vw;
    }

    .page_service .section_introduction .common_title_box {
        margin-bottom: 6vw;
    }

    .page_service .section_introduction .common_title_box .title {
        font-size: 5.6vw;
        background-color: unset;
    }

    .page_service .section_introduction .common_title_box .bg_line {
        display: inline-block;
        padding: 0 0.5em;
        background-color: #1A1A1A;
    }

    .page_service .section_introduction .common_title_box .bg_line.mt {
        margin-top: 1.5vw;
    }

    .page_service .section_introduction ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5vw;
    }

    .page_service .section_introduction ul li {
        padding: 2.3vw;
    }

    .page_service .section_introduction ul li .image {
        width: 20vw;
        height: 20vw;
        margin-bottom: 3vw;
    }

    .page_service .section_introduction ul li .image img {
        width: 10.5vw;
    }

    .page_service .section_introduction ul li .text_box {
        height: auto;
    }

    .page_service .section_introduction ul li .text_box .title {
        font-size: 4.1vw;
        line-height: 1.35;
    }

    .page_service .section_introduction ul li .text_box .title.small {
        font-size: 3.6vw;
    }

    .page_service .section_introduction ul li .text_box .title small {
        font-size: 3vw;
    }

    .section_introduction .works_slider {
        margin-top: 10.2vw;
    }

    .works_slider .works_slide {
        gap: 5.1vw;
        border-radius: 6px;
    }

    .works_slider .works_slide {
        margin: 0 1.25vw !important;
    }

    .works_slider .works_slide+.works_slide {
        margin: unset;
    }

    .works_slider .works_slide .img {
        width: 35.8vw;
        height: 35.8vw;
    }

    .works_slider .works_slide .text_box {
        padding: 0 4.1vw 0 0;
    }

    .works_slider .works_slide .text_box .title {
        font-size: 3.8vw;
        margin-bottom: 3vw;
        padding-bottom: 3vw;
    }

    .works_slider .works_slide .text_box .text {
        font-size: 3.3vw;
    }

    .page_service .section_service .main_title {
        margin-bottom: 6.6vw;
    }

    .page_service .section_service .main_title .title {
        font-size: 4.5vw;
        line-height: 1.5;
        padding-bottom: 3vw;
        white-space: nowrap;
        letter-spacing: 0;
    }

    .page_service .section_service .main_title .title .en {
        font-size: 12.8vw;
        line-height: 1;
    }

    .page_service .section_service .wrap {
        padding: unset;
    }

    .page_service .section_service .inner_wrap {
        padding: 10.2vw 5.1vw 17.6vw;
    }

    .page_service .section_service .items {
        grid-template-columns: 1fr;
        gap: 4.1vw;
    }

    .page_service .section_service .items .item {
        height: 88.2vw !important;
    }

    .page_service .section_service .items .item+.item {
        margin-top: 5.1vw;
    }

    .page_service .section_service .items .item .image {
        width: 100%;
        height: 35.8vw;
        margin-bottom: 3vw;
        flex-shrink: 0;
    }

    .page_service .section_service .items .item .image img {
        border-radius: 8px;
    }

    .page_service .section_service .items .item .text_box {
        width: 100%;
        padding-bottom: unset;
        flex-grow: 1;
    }

    .page_service .section_service .items .item .point {
        font-size: 4.1vw;
        padding: 1.5vw 2vw 1vw 2vw;
        border-radius: 4px;
        margin-bottom: 4vw;
    }

    .page_service .section_service .items .item .point:before {
        border-radius: 4px;
    }

    .page_service .section_service .items .item .text_box .title {
        font-size: 4.6vw;
        padding-bottom: 2.2vw;
        margin-bottom: 2.7vw;
    }

    .page_service .section_service .items .item .text_box .title.hight {
        height: unset;
    }

    .page_service .section_service .items .item .text_box .title .big {
        font-size: 6.1vw;
    }

    .page_service .section_service .items .item .text_box .text {
        font-size: 3.3vw;
        line-height: 1.5;
    }

    .slick-track {
        display: flex;
    }

    .slick-slide {
        height: auto !important;
    }

    .page_service .section_service .slick-dots {
        bottom: -45px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .page_service .section_service .slick-arrow {
        width: 2vw;
        height: 4.1vw;
        background: url(./image/slick_arrow.svg) no-repeat;
        background-size: contain;
        background-position: center;
        top: calc(100% + 36px);
        z-index: 3;
    }

    .page_service .section_service .slick-arrow:before {
        display: none;
    }

    .page_service .section_service .slick-prev {
        left: 15vw;
    }

    .page_service .section_service .slick-next {
        right: 15vw;
        transform: translate(-50%, -50%) scale(-1, -1);
    }

    .page_service .section_service .slick-dots li {
        width: 2.56vw;
        height: 2.56vw;
        border-radius: 50%;
        background: #CCCCCC;
    }

    .page_service .section_service .slick-dots li.slick-active {
        width: 4.6vw;
        height: 4.6vw;
        background: #1A1A1A;
    }

    .page_service .section_service .slick-dots li button:before {
        display: none;
    }

    /* 工務店様へ（SP） */

    .common_section_assignment {
        padding-bottom: 20vw;
    }

    .common_section_assignment .title_box {
        margin-bottom: 4vw;
    }

    .common_section_assignment .title_box .title {
        font-size: 4.5vw;
        padding: 0 2.5vw;
    }

    .common_section_assignment ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 7vw;
    }

    .common_section_assignment ul .image {
        height: 40vw;
    }

    .common_section_assignment ul .image img {
        border-radius: 6px;
    }

    .common_section_assignment ul .text_box .title {
        font-size: 4.8vw;
        padding-bottom: 1.5vw;
        margin-bottom: 1.5vw;
    }

    .common_section_assignment ul .text_box .text {
        font-size: 3.3vw;
    }

    .common_title_box {
        margin-bottom: 10vw;
    }

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

    .common_section_solution {
        margin-bottom: unset;
        padding: 24.1vw 0 19.4vw;
    }

    .common_section_solution .wrap {
        max-width: 100%;
    }

    .common_section_solution::before {
        border-radius: 20px;
    }

    .common_section_solution .cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw;
        margin-bottom: unset;
    }

    .common_section_solution .common_title_box {
        margin-top: -28.7vw;
        margin-bottom: 7.1vw;
    }

    .common_section_solution .common_title_box .title {
        font-size: 5.6vw;
        background-color: unset;
        letter-spacing: 0;
        padding: unset;
    }

    .common_section_solution .common_title_box .title .bg_line {
        display: inline-block;
        padding: 0 0.5em;
        background-color: #1A1A1A;
    }

    .common_section_solution .common_title_box .title .bg_line+.bg_line {
        margin-top: 1.22vw;
    }

    .common_section_solution .cont .box {
        margin: 2.56vw;
    }

    .common_section_solution .cont .slick-list .slick-track {
        display: flex;
    }

    .common_section_solution .cont .slick-slide {
        height: auto !important;
    }

    .common_section_solution .cont .slick-dots {
        bottom: -6.5vw;
    }

    .common_section_solution .cont .slick-dots li {
        width: 2.6vw;
        height: 2.6vw;
        margin: 0 1.28vw;
    }

    .common_section_solution .cont .slick-dots li button {
        width: 100%;
        height: 100%;
    }

    .common_section_solution .cont .slick-dots li button::before {
        content: "";
        width: 100%;
        height: 100%;
        background: #606060;
        opacity: 1;
        border-radius: 50%;
        transition: .3s;
    }

    .common_section_solution .cont .slick-dots li.slick-active button::before {
        background: #1A1A1A;
        scale: 1.8;
    }

    .common_section_solution .cont .box .image {
        height: 35.8vw;
        margin-bottom: 2vw;
    }

    .common_section_solution .cont .box .text_box .title {
        font-size: 5vw;
        margin-top: -7vw;
    }

    .common_section_solution .cont .box .text_box .title:before {
        width: 6vw;
        display: none;
    }

    .common_section_solution .cont .box .text_box .title:before {
        display: none;
    }

    .common_section_solution .cont .box .text_box .text {
        letter-spacing: unset;
        padding: 3.8vw 2.8vw 0;
    }

    .common_section_solution .cont .box .text_box ul {
        min-height: unset;
        gap: 1vw;
        padding: 3 2.8vw 5.1vw;
    }

    .common_section_solution .cont .box .text_box ul li {
        position: relative;
        width: fit-content;
        font-size: 3.3vw;
        padding: 0.2em 0.3em;
        font-weight: 700;
        border-radius: 2px;
        background-color: #F4F4F4;
    }

    .common_section_solution .cont .box .text_box ul li .small {
        font-size: 2.8vw;
    }

    /* 開業までの流れ（SP） */

    .page_flow .common_page_wrap {
        padding: 5.1vw 0 15.3vw;
    }

    .page_business_model .section_charm {
        padding: 15.385vw 0 13.333vw;
    }

    .page_business_model .section_charm::after {
        border-radius: 20px;
    }

    .page_business_model .section_charm .common_title_box .title {
        font-size: 4.615vw;
        margin-bottom: 2.564vw;
    }

    .page_flow .section_flow_page {
        margin-bottom: 7.69vw;
    }

    .page_flow .section_flow_page .common_step_list li {
        display: block;
    }

    .page_flow .section_flow_page .common_step_list li a {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        border-radius: unset;
        aspect-ratio: unset;
        height: 13.8vw;
        padding: 0 4.1vw;
    }

    .page_flow .section_flow_page .common_step_list li .arrow {
        position: absolute;
        right: 4.1vw;
        left: auto;
        top: 22%;
        bottom: unset;
        transform: unset;
    }

    .page_flow .section_flow_page .common_step_list li .arrow svg {
        width: 4vw;
    }

    .page_flow .section_step .box {
        flex-direction: column;
        padding: 2.5vw 2.5vw 4.1vw;
        gap: 3.3vw;
    }

    .page_flow .section_step .box:before {
        height: calc(100% + 10vw);
        left: 8vw;
    }

    .page_flow .section_step .box+.box {
        margin-top: 5.1vw;
    }

    .page_flow .section_step .box .num {
        width: 18.7vw;
        height: unset;
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .page_flow .section_step .box .text_box {
        width: 100%;
        padding: unset;
    }

    .page_flow .section_step .box .text_box .text {
        font-size: 3.3vw;
        font-weight: 500;
        letter-spacing: 0.03em;
    }

    .page_flow .section_step .box .img_area .title {
        font-size: 5.1vw;
    }

    .page_flow .section_step .box .img_area {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 4.1vw;
        height: unset;
    }

    .page_flow .section_step .box .image {
        width: 25.6vw;
        height: 25.6vw;
        border-radius: 50%;
        overflow: hidden;
    }

    /* 収益モデルぺージ（SP） */

    .page_business_model .common_page_wrap {
        padding: 7.692vw 0 15.385vw;
    }

    .page_business_model .model_works_sec {
        margin-bottom: 12.821vw;
    }

    .page_business_model .model_works_sec .head_box {
        margin-bottom: 5.897vw;
    }

    .page_business_model .model_works_sec .head_box .title {
        font-size: 6.667vw;
        letter-spacing: 0.22em;
        margin-bottom: 3.590vw;
    }

    .page_business_model .model_works_sec .head_box .text {
        font-size: 3.590vw;
    }

    .page_business_model .model_works_sec .works_box {
        grid-template-columns: 1fr;
        gap: 2.564vw;
        margin-bottom: 12.821vw;
    }

    .page_business_model .model_works_sec .works_box .item {
        display: flex;
        align-items: center;
        gap: 10.769vw;
        padding: 2.564vw 4.103vw 2.564vw 2.564vw;
    }

    .page_business_model .model_works_sec .works_box .item.pr {
        padding: 2.564vw 10.256vw 2.564vw 2.564vw;
    }

    .page_business_model .model_works_sec .works_box .item .title {
        flex-shrink: 0;
        width: 20.513vw;
        height: 20.513vw;
        border-radius: 50%;
        margin: unset;
        font-size: 4.103vw;
        padding: unset;
        display: grid;
        place-content: center;
        text-align: justify;
        line-height: 1.3;
    }

    .page_business_model .model_works_sec .works_box .item .result {
        font-size: 6.154vw;
        text-align: right;
        flex-grow: 1;
        letter-spacing: 0;
    }

    .page_business_model .model_works_sec .works_box .item .result .num {
        font-size: 13.333vw;
        margin-right: unset;
    }

    .page_business_model .model_works_sec .graph_box {
        flex-direction: column;
        gap: 4.872vw;
    }

    .page_business_model .model_works_sec .graph_box .title {
        font-size: 5.128vw;
        margin-bottom: 5.897vw;
        line-height: 1.4;
        text-align: center;
    }

    .page_business_model .model_works_sec .graph_box .title .small {
        font-size: 4.103vw;
        letter-spacing: 0.12em;
    }

    .page_business_model .model_works_sec .graph_box .title .large {
        font-size: 6.154vw;
        letter-spacing: 0.22em;
    }

    .page_business_model .model_works_sec .graph_box .text_box .text {
        font-size: 5.641vw;
        line-height: 1.4;
    }

    .page_business_model .model_works_sec .graph_box .text_box .text.center {
        text-align: center;
    }

    .page_business_model .model_works_sec .graph_box .text_box .text .mid1 {
        font-size: 7.692vw;
        margin-left: 0.513vw;
    }

    .page_business_model .model_works_sec .graph_box .text_box .text .mid2 {
        font-size: 7.692vw;
    }

    .page_business_model .model_works_sec .graph_box .text_box .text .large {
        font-size: 15.385vw;
    }

    .page_business_model .model_works_sec .graph_box .notes_text {
        font-size: 3.590vw;
        margin-top: 1.795vw;
        letter-spacing: 0;
    }

    .page_business_model .model_works_sec .graph_box .img_box .img {
        height: 78.7vw;
        margin-bottom: 4.872vw;
    }

    .page_business_model .section_charm .common_title_box .lead {
        font-size: 4.1vw;
        letter-spacing: .08em;
        line-height: 1.4;
    }

    .page_business_model .section_charm .common_title_box .lead .large {
        font-size: 5.1vw;
    }

    .page_business_model .section_charm .common_title_box .lead .accent {
        font-size: 7.692vw;
    }

    .page_business_model .section_charm .box {
        padding: 6vw 4vw;
    }

    .page_business_model .section_charm .box:nth-child(2) {
        padding-top: 0;
        padding-bottom: 0;
    }

    .page_business_model .section_charm .box .box_title {
        font-size: 4vw;
        padding-bottom: 3.077vw;
    }

    .page_business_model .section_charm .box .info {
        margin-bottom: 2.4vw;
    }

    .page_business_model .section_charm .box ul {
        display: block;
    }

    .page_business_model .section_charm .box ul li {
        position: relative;
        display: flex;
        width: 100%;
        align-items: center;
        gap: 0.769vw;
    }

    .page_business_model .section_charm .box ul li.free {
        display: block;
        width: 10.2vw !important;
        height: 25.6vw;
        margin-left: 7.7vw;
        border: 1px dashed #707070;
        border-radius: unset;
        margin-top: 0.3vw !important;
    }

    .page_business_model .section_charm .box ul li+li {
        margin-top: -2.3vw;
    }

    .page_business_model .section_charm .box ul li .month {
        color: #fff;
        width: 10.2vw;
        height: 28vw;
        display: flex;
        align-items: center;
        justify-content: center;
        clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
        font-size: 4vw;
        padding-bottom: 4vw;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li .month {
        height: 18.2vw;
        padding-bottom: 2.3vw;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li+li {
        margin-top: -0.8vw;
    }

    .page_business_model .section_charm .box ul li:nth-child(1) .month {
        background: #5C5C5C;
        color: #fff;
        display: flex;
        align-items: center;
    }

    .page_business_model .section_charm .box ul li::before {
        content: "";
        flex-shrink: 0;
        width: 7.1vw;
        height: 17.9vw;
        margin-top: -3.846vw;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
    }

    .page_business_model .section_charm .box ul li:nth-child(1)::before {
        background-image: url(./image/two_month.png);
    }

    .page_business_model .section_charm .box ul li:nth-child(2) .month {
        background: #333333;
        color: #fff;
        clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    }

    .page_business_model .section_charm .box ul li:nth-child(2)::before {
        background-image: url(./image/two_month.png);
    }

    .page_business_model .section_charm .box ul li:nth-child(3) .month {
        background: #1A1A1A;
        color: #fff;
        clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 100%, 50% 100%, 0 100%);
    }

    .page_business_model .section_charm .box ul li:nth-child(3)::before {
        background-image: url(./image/two_month.png);
    }

    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(1)::before,
    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(2)::before,
    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(3)::before {
        flex-shrink: 0;
        background-image: url(./image/one_month.png);
    }

    .page_business_model .section_charm .box ul li:nth-child(1) .in_box .text {
        color: #333333;
    }

    .page_business_model .section_charm .box ul li:nth-child(2) .in_box .text {
        color: #333333;
    }

    .page_business_model .section_charm .box ul li:nth-child(3) .in_box .text {
        color: #333333;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(1) .month {
        background: #5C5C5C;
        color: #fff;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(2) .month {
        background: #333333;
        color: #fff;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(3) .month {
        background: #1A1A1A;
        color: #fff;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(1) .in_box .text {
        color: #333333;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(2) .in_box .text {
        color: #333333;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li:nth-child(3) .in_box .text {
        color: #333333;
    }

    .page_business_model .section_charm .box:nth-child(2) ul {
        justify-content: space-between;
        gap: 0;
    }

    .page_business_model .section_charm .box:nth-child(2) ul li {
        width: 100%;
    }

    .page_business_model .section_charm .box ul li .in_box {
        height: auto;
        width: 55%;
        background: none !important;
        clip-path: unset;
        display: block;
        padding-left: 5.641vw !important;
        flex-grow: 1;
    }

    .page_business_model .section_charm .box ul li .in_box .text {
        font-size: 5.6vw;
        text-align: left;
        font-weight: 800;
    }

    .page_business_model .section_charm .box ul li .in_box .text small {
        font-size: 4.1vw;
    }

    .page_business_model .section_charm .box .last {
        font-size: 4.5vw;
    }

    .page_business_model .section_charm .box .last .num {
        font-size: 10vw;
    }

    .page_business_model .section_charm .box .last .accent {
        font-size: 6vw;
    }

    .page_business_model .section_charm .box .last .arrow {
        margin-bottom: -2vw;
    }

    .page_business_model .section_charm .box .last .arrow svg {
        width: 10vw;
    }

    .page_business_model .section_charm .sales_text {
        margin-top: 4vw;
        padding-bottom: 6vw;
    }

    .page_business_model .section_charm .sales_text .text {
        font-size: 5.6vw;
        line-height: 1.05;
    }

    .page_business_model .section_charm .sales_text .text .num {
        font-size: 12.8vw;
    }

    .page_business_model .section_charm .sales_text:before {
        border-right: 22.5vw solid transparent;
        border-left: 22.5vw solid transparent;
        border-top: 4.6vw solid #252525;
    }

    /* よくある質問（SP） */

    .page_faq {
        padding-bottom: unset;
    }

    .page_faq .common_page_wrap {
        padding: 5.1vw 0 15.3vw;
    }

    .common_nav_box {
        margin-bottom: 10vw;
    }

    .common_nav_box ul {
        display: flex;
        flex-direction: column;
        gap: 2vw;
        justify-content: space-between;
    }

    .common_nav_box ul li {
        width: 100%;
    }

    .common_nav_box ul li a {
        padding: 4.1vw 5.1vw;
        font-size: 4.1vw;
    }

    .common_nav_box ul li a:hover {
        opacity: 1;
    }

    .common_nav_box ul li a .arrow {
        bottom: 3vw;
    }

    .common_nav_box ul li a .arrow svg {
        width: 3.8vw;
    }

    .page_faq .common_faq_box+.common_faq_box {
        margin-top: 12.8vw;
    }

    /* お問い合わせ（SP） */

    .page_contact {
        margin-top: 10vw;
    }

    .page_contact .common_contact_form {
        padding: 4vw;
    }

    .common_contact_form .flex_box .calendar_area {
        width: 100%;
        margin-bottom: 10vw;
        padding: 0;
    }

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

    .common_contact_form .flex_box .form_box dl {
        grid-template-columns: 1fr;
    }

    .common_contact_form .flex_box .form_box .title {
        font-size: 4vw;
    }

    .common_button a:hover .plus svg {
        transform: rotate(0);
    }

    .section_fv .recruitment_box a:hover .arrow {
        transform: translateX(0);
    }

    footer#main_footer a:hover {
        opacity: 1;
    }

    .common_page_wrap .section_faq {
        padding-top: 15.3vw;
        padding-bottom: 10vw;
    }

    .common_head_box {
        margin-top: 6.154vw;
        padding-bottom: 7.692vw;
        border-bottom: solid 2px #E8E8E8;
    }

    .common_head_box .text {
        font-size: 4.103vw;
    }

    /* 工務店様へ */
    .page_for_construction .common_page_wrap {
        padding: 12.8vw 0 20vw;
    }

    .page_for_construction .common_page_wrap .section_faq {
        padding-bottom: unset;
    }

    .worries_sec {
        padding: 0 0 19.744vw;
    }

    .worries_sec .title_box {
        margin-bottom: 7.692vw;
    }

    .worries_sec .title_box::after {
        width: 7.103vw;
        height: 9.385vw;
        top: -5.385vw;
        right: 3.077vw;
    }

    .page_for_realestate .worries_sec .title_box::after {
        right: -3.846vw;
    }

    .worries_sec .title_box .title {
        margin-bottom: 7.692vw;
        font-size: 4.615vw;
        line-height: 1.5;
        letter-spacing: 0.15em;
    }

    .worries_sec .title_box .title .large {
        font-size: 5.641vw;
    }

    .worries_sec .cont .column {
        position: relative;
        flex-direction: column;
        gap: 5.128vw;
        padding: 5.128vw 0;
    }

    .worries_sec .cont .column:first-child {
        border-top: solid 1px #1A1A1A;
    }

    .worries_sec .cont .column:last-child {
        border-bottom: solid 1px #1A1A1A;
    }

    .worries_sec .cont .column::before,
    .worries_sec .cont .column::after {
        display: none;
    }

    .worries_sec .cont .column+.column {
        border-top: solid 1px #1A1A1A;
    }

    .worries_sec .cont .column .img_box {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 5.128vw;
    }

    .worries_sec .cont .column .img_box .img {
        flex-shrink: 0;
        width: 14.615vw;
    }

    .worries_sec .cont .column .img_box::after {
        display: none;
    }

    .worries_sec .cont .column .img::after {
        display: none;
    }

    .worries_sec .cont .column .img_box .title {
        font-size: 4.615vw;
        line-height: 1.45;
        margin-bottom: unset;
    }

    .worries_sec .cont .column .img_box .title .large {
        font-size: 5.897vw;
    }

    .worries_sec .cont .column .text_box .text {
        font-size: 3.333vw;
        font-weight: 700;
    }

    .cash_flow_sec {
        padding-top: 15.385vw;
    }

    .cash_flow_sec .common_title_box {
        margin-bottom: 9.231vw;
    }

    .cash_flow_sec .common_title_box .title {
        font-size: 4.6vw;
        padding: unset;
        background-color: unset;
    }

    .cash_flow_sec .common_title_box .title .bg_line {
        display: inline-block;
        padding: 0.25em 0.5em;
        background-color: #1A1A1A;
    }

    .cash_flow_sec .common_title_box .title .bg_line+.bg_line {
        margin-top: 1.12vw;
    }

    .cash_flow_sec .head_title {
        position: relative;
        font-size: 4.615vw;
        border-bottom: 3px solid;
        padding-bottom: 2.564vw;
        margin-bottom: 0.7em;
        letter-spacing: 0;
    }

    .cash_flow_sec .head_title::after {
        content: "";
        position: absolute;
        bottom: 1.282vw;
        left: 0;
        width: 100%;
        height: 0.513vw;
        background-color: #1A1A1A;
    }

    .cash_flow_sec .cont {
        position: relative;
    }

    .cash_flow_sec .cont .img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .cash_flow_sec .cont .pass_box {
        width: 90%;
        height: 45vw;
        border-radius: 10px;
        padding: 10px;
    }

    .cash_flow_sec .cont .pass_box .post-password-form__input {
        margin-left: 5px;
        border-radius: 3px;
        background-color: #fff;
        border: solid 1px #aaa;
    }

    .cash_flow_sec .cont .pass_box .post-password-form__submit {
        width: 50px;
        margin-left: 5px;
        border-radius: 3px;
        background-color: rgb(239, 239, 239);
        border: solid 1px #aaa;
        font-weight: 500;
        padding: 3px;
        font-size: 14px;
        text-align: center;
    }

    .cash_flow_sec .cont .pass_box .form_link {
        width: 61.5vw;
        line-height: 12.8vw;
        font-size: 4.1vw;
        margin-top: 2vw;
    }

    .cash_flow_sec .cont .pass_box .form_link:hover {
        background: #000;
        color: #fff;
    }

    .cash_flow_sec .graph_box {
        margin-top: 2.564vw;
        margin-bottom: 10.256vw;
    }

    .cash_flow_sec .notes_text {
        font-size: 4.103vw;
        margin-top: 3.077vw;
    }

    .cash_flow_sec .graph_box .notes_text {
        font-size: 4.103vw;
        margin-top: 3.077vw;
    }

    .cash_flow_sec .graph_box .notes_text.mt {
        margin-top: 2.564vw;
    }

    .cash_flow_sec .graph_box .graph .text {
        height: 25.641vw;
        font-size: 4.103vw;
        line-height: 1.4;
    }

    .cash_flow_sec .graph_box .graph_1 .text:nth-child(2)::after {
        width: 100%;
        height: 10.256vw;
        bottom: -10.256vw;
        background-image: url(./image/cash_flow_sec_border_sp.svg);
    }

    .cash_flow_sec .graph_box .graph_2 {
        margin-top: 10.256vw;
    }

    .cash_flow_sec .table_box .price_table {
        font-size: 4.103vw;
        margin-top: 7.692vw;
    }

    .cash_flow_sec .table_box .price_table th,
    .cash_flow_sec .table_box .price_table td {
        padding: unset;
        font-size: 3.590vw;
        line-height: 1.5;
    }

    .cash_flow_sec .table_box .price_table th {
        font-size: 4.103vw;
    }

    .cash_flow_sec .table_box .price_table td.center {
        text-align: center;
    }

    .cash_flow_sec .table_box .price_table td.center .center_inner {
        display: inline-block;
        text-align: left;
    }

    .cash_flow_sec .table_box .price_table thead th {
        background: #F2F2F2;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
        font-size: 3.333vw;
        height: 17.949vw;
    }

    .cash_flow_sec .table_box .price_table .label_col {
        width: 28.205vw;
        height: 17.949vw;
    }

    .cash_flow_sec .table_box .price_table .highlight_cell {
        font-weight: 700;
    }

    .cash_flow_sec .table_box .summary_text {
        font-size: 5.128vw;
        margin-top: 5.641vw;
    }

    .page_for_realestate .common_page_wrap .section_faq {
        padding: 12.821vw 0 0;
    }

    /* 工務店様へ end */
}