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

html,
button,
input,
select,
textarea {
    font-family: "Shippori Mincho", sans-serif;
}

body {
    color: #1a1a1a;
    font-size: 16px;
    line-height: 1.5;
    min-width: 1440px;
}

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

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

a {
    color: #1a1a1a;
    text-decoration: none;
}

a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    color: inherit;
}

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

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

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

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

.common_page_wrap {
    padding: 100px 0;
}

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

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

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #1a1a1a;
    letter-spacing: 0.08em;
    padding-top: 12px;
    font-family: "Noto Sans JP", sans-serif;
}

.breadcrumb a {
    text-decoration: none;
    color: #1a1a1a;
    transition: all 0.3s;
}

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

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

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

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

.common_contact_form .form_box dl {
    display: grid;
    grid-template-columns: 26.5% 1fr;
    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: 0.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: 0.2em;
    font-weight: 700;
    border-radius: 100vmax;
    padding: 0.2em 0.9em;
}

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

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

.common_contact_form .form_box dl dt::after {
    content: "";
    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: 0.08em;
    font-weight: 400;
    padding: 0.8em 1em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 10px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mwform-checkbox-field-text::before {
    background: #f8f8f8;
    border: 1px solid #e6e6e6;
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1/1;
    min-width: 0;
    top: 50%;
    left: 0;
    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;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 4px;
    font-size: 16px;
    transition: 0.3s;
    margin: 0 auto;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-align: center;
}

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

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

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

/* ステップバー デザイン */
.page_contact .progressbar {
    display: 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: 0.08em;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    position: relative;
}

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

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

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

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

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

.privacy_check_list {
    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: 0.08em;
    border-radius: 30px;
    font-weight: 600;
}

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

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

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

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

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

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

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

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

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

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

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

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    color: #999;
    background-color: #fff;
    border: solid 1px #e0e0d2;
    padding: 8px 15px;
    margin: 0 2px;
    border-radius: 3px;
    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;
}

/*----------------------------------------
   共通
----------------------------------------*/
/* 下層ページmv
----------------------------------------*/
.page_main_mv {
    padding: 180px 0 88px 100px;
    position: relative;
}

.page_main_mv .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.page_main_mv .image::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    z-index: 1;
}

.page_main_mv .text_box {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.page_main_mv .text_box .common_title_box .en {
    font-size: 70px;
    font-weight: 700;
    line-height: 1.1428571429;
    font-family: "Paganini", sans-serif;
}

.page_main_mv .text_box .common_title_box .en::first-letter {
    text-transform: uppercase;
}

.page_main_mv .text_box .common_title_box .ja {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.44;
}

/* ボタン
----------------------------------------*/
.btn {
    position: relative;
    transition: all 0.3s;
    display: flex;
    align-items: center;
}

.btn .text {
    font-size: 14px;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    color: #fff;
    transition: all 0.3s;
}

.btn .btn_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: all 0.3s;
}

.btn::before,
.btn::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 5.6px;
    height: 2px;
    background-color: #fff;
    transform-origin: calc(100% - 1px) 50%;
    transition: all 0.3s;
}

.btn::before {
    transform: rotate(56.3deg);
}

.btn::after {
    transform: rotate(-56.3deg);
}

.btn_more {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 50px;
    background-color: transparent;
    padding: 13px 22px 16px 21px;
    transition: all 0.3s;
    border: 1px solid #5e0d28;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.btn_more .text {
    font-size: 18px;
    font-weight: 700;
    color: #5e0d28;
    transition: all 0.3s;
}

.btn_more .icon_box {
    width: 8px;
    height: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
}

.btn_more .icon {
    width: 8px;
    height: 8px;
    fill: #5e0d28;
    transition: all 0.3s;
}

.btn_more .arrow_box {
    width: 54px;
    height: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn_more .arrow {
    width: 54px;
    height: 10px;
    stroke: #5e0d28;
    transition: all 0.3s;
}

/* タイトル
----------------------------------------*/
.common_title_box {
    display: flex;
    flex-direction: column;
}

.common_title_box .en {
    font-size: 70px;
    font-weight: 400;
    color: #5e0d28;
    font-family: "Paganini", sans-serif;
    line-height: 1.1428571429;
    letter-spacing: 0.03em;
}

.common_title_box .ja {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 25px;
    font-weight: 700;
    position: relative;
    color: #5e0d28;
}

.common_title_box .ja::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 20px);
    width: 117px;
    height: 1px;
    background-color: #5e0d28;
    transform: translateY(-50%);
}

/*----------------------------------------
   トップページ
----------------------------------------*/
/* ヘッダー
----------------------------------------*/
#pc_header {
    position: fixed;
    top: 0;
    left: 50px;
    width: calc(100% - 100px);
    min-width: 1340px;
    z-index: 100;
    background: white;
    padding: 10px 50px;
    display: flex;
    justify-content: space-between;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
    border-radius: 0 0 5px 5px;
}

#pc_header .logo {
    display: flex;
    align-items: center;
    width: 411px;
    height: auto;
}

#pc_header .logo .image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

#pc_header .right {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

#pc_header .right .top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 17px;
}

#pc_header .right .top .contact_box {
    display: flex;
    flex-direction: column;
}

#pc_header .right .top .contact_box .phone {
    display: flex;
    align-items: center;
    gap: 9px;
}

#pc_header .right .top .contact_box .phone .image_box {
    width: 37px;
    height: auto;
}

#pc_header .right .top .contact_box .phone .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

#pc_header .right .top .contact_box .phone .number {
    font-size: 32px;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
}

#pc_header .right .top .contact_box .hours {
    font-size: 12px;
    font-weight: 500;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.2em;
}

#pc_header .right .top .btn_list {
    display: flex;
    align-items: center;
    gap: 12px;
}

#pc_header .right .top .btn_list .btn.btn_inquiry {
    width: 223px;
    height: 50px;
    padding-left: 66px;
}

#pc_header .right .top .btn_list .btn.btn_inquiry .btn_bg svg {
    width: 223px;
    height: 50px;
    fill: #c69a56;
    transition: all 0.3s;
}

#pc_header .right .top .btn_list .btn.btn_inquiry:before,
#pc_header .right .top .btn_list .btn.btn_inquiry:after {
    right: 20px;
}

#pc_header .right .top .btn_list .btn.btn_apply {
    width: 250px;
    height: 50px;
    padding-left: 11px;
}

#pc_header .right .top .btn_list .btn.btn_apply .btn_bg svg {
    width: 250px;
    height: 50px;
    fill: #5e0d28;
    transition: all 0.3s;
}

#pc_header .right .top .btn_list .btn.btn_apply:before,
#pc_header .right .top .btn_list .btn.btn_apply:after {
    right: 13px;
}

#pc_header .right .nav .list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#pc_header .right .nav .link {
    font-size: 14px;
    transition: all 0.3s;
    padding: 0 27.5px;
    border-left: 1px solid #1a1a1a;
    display: block;
    color: #1a1a1a;
    font-family: "Noto Serif JP", sans-serif;
    font-weight: 700;
}

#pc_header .right .nav .item:last-child .link {
    border-right: 1px solid #1a1a1a;
}

/* bg
----------------------------------------*/
.bg {
    position: relative;
}

.bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("image/bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -5;
}

.bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: -4;
}

/* mv
----------------------------------------*/
.mv {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Slickスタイル */
.mv-slider {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.mv-slider .slick-list {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.mv-slider .slick-track {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    z-index: 1;
}

.mv-slider .slick-slide {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.mv-slider .slick-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 1;
}

.mv-slider .slick-slide.slick-active img {
    -webkit-animation: zoomOut 10s linear 0s normal both;
    animation: zoomOut 10s linear 0s normal both;
    position: relative;
}

@-webkit-keyframes zoomOut {
    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes zoomOut {
    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

.mv-slider .slick-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    transform-origin: center;
}

/* MVコンテンツ */
.mv .content {
    text-align: center;
    padding-top: 249px;
    padding-bottom: 213px;
    position: relative;
    z-index: 1;
}

.mv .content .title {
    font-size: 73px;
    font-weight: 700;
    line-height: 1.3424657534;
    color: #fff;
    margin-bottom: 20px;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.mv .content .text {
    font-size: 30px;
    font-weight: 700;
    width: 860px;
    margin: 0 auto;
    padding: 7px 0 8px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 25%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0.8) 75%, rgba(255, 255, 255, 0) 100%);
    display: inline-block;
    position: relative;
}

.mv .content .text .highlight {
    color: #aa7c35;
}

/* strength
----------------------------------------*/
.strength {
    padding: 115px 0 0;
    position: relative;
    z-index: 1;
}

.strength::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 700px;
    background-color: rgba(98, 25, 25, 0.05);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 22%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 22%, 0% 100%);
    z-index: -1;
}

.strength .list::before {
    content: "";
    position: absolute;
    top: 25px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    z-index: 1;
}

.strength .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    margin-top: 72px;
}

.strength .list .item {
    display: flex;
    flex-direction: column;
}

.strength .list .item:nth-child(2) {
    transform: translateY(30px);
}

.strength .list .item:nth-child(3) {
    transform: translateY(60px);
}

.strength .list .item .image_box {
    width: 100%;
    height: 234px;
    -o-object-fit: cover;
    object-fit: cover;
}

.strength .list .item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.strength .list .item .title {
    font-size: 22px;
    font-weight: bold;
    position: relative;
    padding-left: 17px;
    color: #5e0d28;
    line-height: 1.3636363636;
    margin-top: 20px;
}

.strength .list .item .title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 100%;
    background-color: #5e0d28;
    transform: translateY(-50%);
}

.strength .list .item .title::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 7px;
    width: 2px;
    height: 100%;
    background-color: #5e0d28;
    transform: translateY(-50%);
}

.strength .list .item .text {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.8333333333;
    margin-top: 25px;
    padding-right: 30px;
}

.strength .btn_more {
    margin: 110px auto 0;
}

/* about
----------------------------------------*/
.about {
    padding: 118px 0 0;
    position: relative;
}

.about::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 510px;
    background-color: rgba(98, 25, 25, 0.03);
    -webkit-clip-path: polygon(0 86%, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 86%, 100% 0, 100% 100%, 0% 100%);
    z-index: -1;
}

.about .about_inner {
    display: flex;
    justify-content: space-between;
}

.about .left {
    padding-left: 100px;
}

.about .about_title_box {
    display: flex;
    flex-direction: column;
    position: relative;
}

.about .about_title_box::before {
    content: "";
    position: absolute;
    top: -239px;
    left: -92px;
    width: 492px;
    height: 585px;
    background-image: url("image/about_illust.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}

.about .about_title_box .ja {
    font-size: 41px;
    font-weight: 700;
    color: #5e0d28;
    line-height: 1.5365853659;
}

.about .about_title_box .en {
    font-size: 14px;
    font-weight: 400;
    color: #c69a56;
    line-height: 2;
    font-family: "Paganini", sans-serif;
    display: flex;
    flex-direction: column;
    letter-spacing: 0.05em;
}

.about .about_title_box .en_bottom {
    position: relative;
}

.about .about_title_box .en_bottom::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 204px;
    height: 1px;
    background-color: #c69a56;
}

.about .about_content {
    display: flex;
    flex-direction: column;
    margin-top: 50px;
}

.about .about_content .text_box {
    display: flex;
    flex-direction: column;
    gap: 33px;
}

.about .about_content .text_box .text {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.8333333333;
}

.about .about_content .btn_more {
    margin-top: 50px;
}

.about .right {
    margin-top: 63px;
}

.about .right .image_box {
    width: 733px;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
}

.about .right .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* service
----------------------------------------*/
.service {
    padding: 150px 0 108px;
    position: relative;
    overflow: hidden;
}

.service::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(98, 25, 25, 0.03);
    z-index: -3;
}

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

.service .list::before {
    content: "";
    position: absolute;
    top: -292px;
    right: -209px;
    width: 584px;
    height: 452px;
    background-image: url("image/service_illust.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    transform: rotate(-7deg);
}

.service .list .item {
    display: flex;
    flex-direction: column;
    position: relative;
}

.service .list .item::before {
    content: "";
    position: absolute;
    top: 215px;
    left: 100%;
    width: 27px;
    height: 2px;
    border-bottom: 2px dotted #c69a56;
}

.service .list .item:last-child::before {
    display: none;
}

.service .list .item .image_box {
    width: 100%;
    height: 157px;
    -o-object-fit: cover;
    object-fit: cover;
    background-color: #ccc;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}

.service .list .item .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.service .list .item .content {
    padding: 25px 25px 40px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    flex: 1;
    background-color: #fff;
    border-radius: 0 0 5px 5px;
}

.service .list .item .list_title_box {
    display: flex;
    align-items: center;
    padding-left: 15px;
}

.service .list .item .list_title_box .number_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid #5e0d28;
    padding-right: 20px;
}

.service .list .item .list_title_box .number_box .text {
    font-size: 15px;
    font-weight: 700;
    color: #aa7c35;
    font-family: "Paganini", sans-serif;
    line-height: 1;
}

.service .list .item .list_title_box .number_box .number {
    font-size: 41px;
    font-weight: 700;
    color: #aa7c35;
    font-family: "Paganini", sans-serif;
    line-height: 1;
}

.service .list .item .list_title {
    font-size: 18px;
    font-weight: 700;
    color: #5e0d28;
    line-height: 1.5555555556;
    margin-left: 18px;
}

.service .list .item .list_text {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6470588235;
    flex: 1;
}

/* contact
----------------------------------------*/
.contact {
    padding: 117px 0 102px;
    position: relative;
}

.contact::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2750px;
    background-color: rgba(255, 255, 255, 0.2);
}

.contact .contact_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 448px;
    z-index: 1;
}

.contact .contact_inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("image/contact_bg.jpg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}

.contact .contact_inner .contact_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.contact .contact_inner .contact_bg::after {
    content: "";
    position: absolute;
    top: -232px;
    left: -153px;
    width: 364px;
    height: 437px;
    background-image: url("image/contact_illust.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -3;
}

.contact .left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 50%;
    border-right: 1px solid #666;
}

.contact .left .contact_title_box {
    display: flex;
    flex-direction: column;
}

.contact .left .contact_title_box .en {
    font-size: 25px;
    font-weight: 700;
    color: #5e0d28;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
}

.contact .left .contact_title_box .en::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 15px);
    width: 292px;
    height: 1px;
    background-color: #5e0d28;
    transform: translateY(-50%);
}

.contact .left .contact_title_box .ja {
    font-size: 55px;
    font-weight: 700;
    color: #5e0d28;
    line-height: 1.36;
}

.contact .left .contact_title_box .ja .highlight {
    color: #c69a56;
}

.contact .left .text {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.44;
    margin-top: 25px;
    color: #5e0d28;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
}

.contact .left .text::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px dotted #5e0d28;
}

.contact .left .text::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px dotted #5e0d28;
}

.contact .right {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.contact .right .contact_box {
    display: flex;
    flex-direction: column;
}

.contact .right .contact_box .phone {
    display: flex;
    align-items: center;
    gap: 13px;
}

.contact .right .contact_box .phone .image_box {
    width: 60px;
    height: auto;
}

.contact .right .contact_box .phone .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.contact .right .contact_box .phone .number {
    font-size: 48px;
    line-height: 1;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
}

.contact .right .contact_box .tel {
    font-size: 18px;
    letter-spacing: .08em;
    font-weight: 500;
    font-family: "Noto Sans JP", sans-serif;
}

.contact .right .contact_box .hours {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.64;
    color: #232355;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.2em;
}

.contact .right .btn_contact {
    margin-top: 20px;
    width: 390px;
    height: 60px;
    padding-left: 102px;
}

.contact .right .btn_contact .btn_bg {
    width: 390px;
    height: 60px;
}

.contact .right .btn_contact .btn_bg svg {
    transition: all 0.3s;
    fill: #c69a56;
}

.contact .right .btn_contact:before,
.contact .right .btn_contact:after {
    right: 84px;
}

.contact .right .btn_contact .text {
    color: #fff;
    font-size: 16px;
}

/* faq
----------------------------------------*/
.faq {
    padding: 0 0 136px;
}

.faq .faq_inner {
    padding: 90px 0 0;
    border-top: 1px solid rgba(94, 13, 40, 0.1);
}

.faq .list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 36px;
}

.faq .list .item {
    display: flex;
    flex-direction: column;
    background-color: #fff6e8;
    padding: 45px;
    border-radius: 10px;
}

.faq .list .item .question {
    position: relative;
    padding-left: 15px;
    border-bottom: 1px dotted #5e0d28;
    display: flex;
    align-items: center;
    gap: 38px;
    padding-bottom: 28px;
}

.faq .list .item .question::before {
    content: "Q";
    font-size: 40px;
    font-weight: 400;
    color: #c69a56;
    line-height: 1;
    font-family: "Paganini", sans-serif;
}

.faq .list .item .question .text {
    font-size: 20px;
    font-weight: 700;
    color: #5e0d28;
    line-height: 1.3;
}

.faq .list .item .answer {
    position: relative;
    padding-left: 15px;
    padding-top: 28px;
    display: flex;
    align-items: flex-start;
    gap: 38px;
}

.faq .list .item .answer::before {
    content: "A";
    font-size: 40px;
    font-weight: 400;
    color: #5e0d28;
    line-height: 1;
    font-family: "Paganini", sans-serif;
    margin-top: 3px;
}

.faq .list .item .answer .text {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8333333333;
}

.faq .btn_more {
    margin: 40px auto 0;
}

/* recruit
----------------------------------------*/
.recruit .recruit_inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    height: 466px;
    padding: 80px 80px 70px 90px;
    z-index: 1;
    background-color: #fff;
}

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

.recruit .recruit_inner:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 720px;
    height: 465px;
    background-image: url("image/recruit_illust.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -2;
}

.recruit .right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-end;
    justify-content: flex-end;
}

.recruit .left .recruit_title_box {
    display: flex;
    flex-direction: column;
}

.recruit .left .recruit_title_box .en {
    font-size: 25px;
    font-weight: 700;
    color: #5e0d28;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
}

.recruit .left .recruit_title_box .en::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 15px);
    width: 436px;
    height: 1px;
    background-color: #5e0d28;
    transform: translateY(-50%);
}

.recruit .left .recruit_title_box .ja {
    font-size: 55px;
    font-weight: 700;
    color: #5e0d28;
    line-height: 1.3636363636;
}

.recruit .left .recruit_title_box .ja .highlight {
    color: #c69a56;
}

.recruit .left .text {
    font-size: 20px;
    font-weight: 700;
    margin-top: 25px;
    color: #5e0d28;
    line-height: 2.5;
    letter-spacing: 0.1em;
}

.recruit .left .text .text_underline {
    border-bottom: 1px dotted #5e0d28;
    display: block;
}

.recruit .left .text .text_underline.inline {
    display: inline-block;
}

.recruit .right .btn_list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.recruit .right .btn_list .btn.btn_recruit {
    width: 370px;
    padding-left: 98px;
    height: 75px;
}

.recruit .right .btn_list .btn.btn_recruit .btn_bg {
    width: 370px;
    height: 75px;
}

.recruit .right .btn_list .btn.btn_recruit .btn_bg svg {
    fill: #fff;
    transition: all 0.3s;
}

.recruit .right .btn_list .btn.btn_recruit:before,
.recruit .right .btn_list .btn.btn_recruit:after {
    right: 84px;
    background-color: #5e0d28;
}

.recruit .right .btn_list .btn.btn_recruit .text {
    color: #5e0d28;
    font-size: 20px;
}

.recruit .right .btn_list .btn.btn_apply {
    width: 370px;
    padding-left: 23px;
    height: 75px;
}

.recruit .right .btn_list .btn.btn_apply .btn_bg {
    width: 370px;
    height: 75px;
}

.recruit .right .btn_list .btn.btn_apply .btn_bg svg {
    fill: #5e0d28;
    transition: all 0.3s;
}

.recruit .right .btn_list .btn.btn_apply:before,
.recruit .right .btn_list .btn.btn_apply:after {
    right: 23px;
    background-color: #fff;
}

.recruit .right .btn_list .btn.btn_apply .text {
    color: #fff;
    font-size: 20px;
}

/* news
----------------------------------------*/
.news {
    padding: 113px 0 130px;
}

.news .list {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
}

.news .list .item .link {
    display: flex;
    align-items: center;
    gap: 42px;
    padding: 40px;
    border-bottom: 1px dotted #b9aeb2;
    position: relative;
    transition: all 0.3s;
}

.news .list .item:first-child .link {
    padding-top: 0;
}

.news .list .item .link::before,
.news .list .item .link::after {
    content: "";
    position: absolute;
    bottom: 50px;
    right: 0;
    width: 7px;
    height: 2px;
    background-color: #aa7c35;
    transform-origin: calc(100% - 1px) 50%;
}

.news .list .item .link::before {
    transform: rotate(53.15deg);
}

.news .list .item .link::after {
    transform: rotate(-53.15deg);
}

.news .list .item .link .date {
    font-size: 14px;
    font-weight: 700;
    width: 130px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #c69a56;
    color: #fff;
    font-family: "Paganini", sans-serif;
    line-height: 1;
}

.news .list .item .link .text {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    flex: 1;
}

.news .btn_more {
    margin: 40px auto 0;
}

/* footer
----------------------------------------*/
#pc_footer {
    padding: 93px 0 0;
    position: relative;
    z-index: 1;
}

#pc_footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("image/footer_bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}

#pc_footer .logo {
    width: 610px;
    height: auto;
}

#pc_footer .logo .image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

#pc_footer .content {
    display: flex;
    justify-content: space-between;
    margin-top: 65px;
    gap: 195px;
}

#pc_footer .content .left .text_box {
    display: flex;
    flex-direction: column;
}

#pc_footer .content .left .text_box .text {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
}

#pc_footer .content .left .text_box .address {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 1.5555555556;
    margin-top: 38px;
}

#pc_footer .content .left .text_box .mail {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1.75;
    margin-top: 28px;
}

#pc_footer .content .left .text_box .fax {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.75;
    color: #fff;
}

#pc_footer .content .left .text_box .license {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.75;
    color: #fff;
    margin-top: 28px;
}

#pc_footer .content .right {
    padding-right: 25px;
    flex: 1;
}

#pc_footer .content .right .nav .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px 110px;
}

#pc_footer .content .right .nav .list .item .link {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    padding-left: 11px;
    position: relative;
    line-height: 1;
    transition: all 0.3s;
}

#pc_footer .content .right .nav .list .item .link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #fff;
}

#pc_footer .content .right .btn_list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-top: 65px;
}

#pc_footer .content .right .btn_list .btn.btn_inquiry {
    width: 263px;
    height: 60px;
    padding-left: 44px;
}

#pc_footer .content .right .btn_list .btn.btn_inquiry .btn_bg {
    width: 263px;
    height: 60px;
}

#pc_footer .content .right .btn_list .btn.btn_inquiry .btn_bg svg {
    width: 263px;
    height: 60px;
    fill: #c69a56;
    transition: all 0.3s;
}

#pc_footer .content .right .btn_list .btn.btn_inquiry:before,
#pc_footer .content .right .btn_list .btn.btn_inquiry:after {
    right: 44px;
}

#pc_footer .content .right .btn_list .btn.btn_inquiry .text {
    font-size: 16px;
    color: #fff;
}

#pc_footer .content .right .btn_list .btn.btn_apply {
    width: 290px;
    height: 60px;
    padding-left: 16px;
}

#pc_footer .content .right .btn_list .btn.btn_apply .btn_bg svg {
    fill: #fff;
    transition: all 0.3s;
}

#pc_footer .content .right .btn_list .btn.btn_apply:before,
#pc_footer .content .right .btn_list .btn.btn_apply:after {
    right: 16px;
    background-color: #5e0d28;
}

#pc_footer .content .right .btn_list .btn.btn_apply .text {
    color: #5e0d28;
    font-size: 16px;
}

#pc_footer .content .right .contact_box {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 10px;
}

#pc_footer .content .right .contact_box .phone {
    display: flex;
    align-items: center;
    gap: 11px;
}

#pc_footer .content .right .contact_box .phone .image_box {
    width: 52px;
    height: auto;
}

#pc_footer .content .right .contact_box .phone .image_box .image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

#pc_footer .content .right .contact_box .phone .number {
    font-size: 40px;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    color: #fff;
}

#pc_footer .content .right .tel {
    font-size: 15px;
    letter-spacing: .08em;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
}

#pc_footer .content .right .contact_box .hours {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5714285714;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.1em;
}

#pc_footer .bottom {
    margin-top: 60px;
    padding-top: 24px;
    padding-bottom: 65px;
    border-top: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#pc_footer .bottom .list {
    display: flex;
    align-items: center;
    gap: 40px;
}

#pc_footer .bottom .list .item .link {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    transition: all 0.3s;
}

#pc_footer .bottom .copyright {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}

#sp_footer {
    display: none;
}

/*----------------------------------------
   会社概要
----------------------------------------*/
.page_company .common_page_wrap {
    padding: 80px 0 90px;
}

.company_profile_sec .cont {
    display: grid;
    grid-template-columns: 600px 1fr;
    gap: 0 50px;
    margin-left: 50px;
}

.company_profile_sec .cont .detail .item {
    border-bottom: 1px solid #e6d3da;
}

.company_profile_sec .cont .detail .item .inbox {
    display: flex;
    gap: 0 27px;
}

.company_profile_sec .cont .detail .item .inbox .head {
    flex-shrink: 0;
    width: 80px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.875;
    padding: 25px 0 18px;
    color: #5e0d28;
    border-bottom: 2px solid #5e0d28;
    letter-spacing: 0.1em;
}

.company_profile_sec .cont .detail .item .inbox .text_area {
    width: 100%;
    font-size: 16px;
    line-height: 1.875;
    padding: 25px 0 18px;
    color: #1a1a1a;
    letter-spacing: 0.1em;
}

.company_profile_sec .cont .detail .item .inbox .text_area .text {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    color: #1a1a1a;
}

.company_profile_sec .cont .image_box {
    margin-top: 75px;
}

.company_profile_sec .cont .detail .item .map {
    margin: 60px 0 100px;
}

.company_profile_sec .cont .detail .item .map iframe {
    width: 100%;
    height: 100%;
}

/* map section */
.company_profile_sec .map {
    margin: 60px 0 100px;
}

.company_profile_sec .map .map_inner {
    display: grid;
    grid-template-columns: 705px 1fr;
}

.company_profile_sec .map .map_image {
    width: 100%;
}

.company_profile_sec .map .map_image img {
    width: 100%;
    height: auto;
    display: block;
}

.company_profile_sec .map .access_list .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.company_profile_sec .map .content {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 40px 68px 32px;
}

.company_profile_sec .map .content .logo {
    width: 378px;
    height: auto;
}

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

.company_profile_sec .map .content .address {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5625;
    margin-top: 30px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e6d3da;
}

.company_profile_sec .map .content .access_box {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 30px;
}

.company_profile_sec .map .content .access_box .access_title {
    font-size: 20px;
    font-weight: 700;
    color: #5e0d28;
    padding-left: 15px;
    position: relative;
    line-height: 1;
}

.company_profile_sec .map .content .access_box .access_title::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background-color: #5e0d28;
}

.company_profile_sec .map .content .access_box .access_title::after {
    content: "";
    position: absolute;
    top: 0;
    left: 7px;
    width: 2px;
    height: 100%;
    background-color: #5e0d28;
}

.company_profile_sec .map .content .access_box .access_line {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5625;
    padding-left: 15px;
}

/*----------------------------------------
   ホバー
----------------------------------------*/
@media (min-width: 751px) {
    .breadcrumb a:hover {
        color: #0094ff;
    }

    .btn_more:hover {
        background-color: #5e0d28;
    }

    .btn_more:hover .text {
        color: #fff;
    }

    .btn_more:hover .icon {
        fill: #fff;
    }

    .btn_more:hover .arrow {
        stroke: #fff;
    }

    #pc_header .right .top .btn_list .btn.btn_inquiry:hover .btn_bg svg {
        fill: #d0a562;
    }

    #pc_header .right .top .btn_list .btn.btn_apply:hover .btn_bg svg {
        fill: #771838;
    }

    #pc_header .right .nav .link:hover {
        color: #5e0d28;
    }

    .contact .right .btn_contact:hover .btn_bg svg {
        fill: #d0a562;
    }

    .recruit .right .btn_list .btn.btn_recruit:hover .btn_bg svg {
        fill: #fafafa;
    }

    .recruit .right .btn_list .btn.btn_apply:hover .btn_bg svg {
        fill: #771838;
    }

    .news .list .item .link:hover {
        opacity: 0.7;
    }

    #pc_footer .content .right .nav .list .item .link:hover {
        opacity: 0.5;
    }

    #pc_footer .content .right .btn_list .btn.btn_inquiry:hover .btn_bg svg {
        fill: #fff;
    }

    #pc_footer .content .right .btn_list .btn.btn_inquiry:hover::before,
    #pc_footer .content .right .btn_list .btn.btn_inquiry:hover::after {
        background-color: #c69a56;
    }

    #pc_footer .content .right .btn_list .btn.btn_inquiry:hover .text {
        color: #c69a56;
    }

    #pc_footer .content .right .btn_list .btn.btn_apply:hover .btn_bg svg {
        fill: #ebebeb;
    }

    #pc_footer .bottom .list .item .link:hover {
        opacity: 0.5;
    }
}

@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: 13px;
        padding-top: 80px;
        min-width: 100%;
    }

    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        z-index: 99999;
        height: 80px;
        padding: 0 20px 0 10px;
        display: flex;
        align-items: center;
        box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
    }

    #sp_header .logo {
        width: 286px;
        height: auto;
    }

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

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

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

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .privacy_check_list {
        margin-bottom: 6vw;
    }

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

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

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

    /*----------------------------------------
     共通
  ----------------------------------------*/
    /* 下層ページmv
  ----------------------------------------*/
    .page_main_mv {
        padding: 11.03vw 0 14.36vw 5.13vw;
        position: relative;
    }

    .page_main_mv .text_box .common_title_box .en {
        font-size: 10.26vw;
        line-height: 1.15;
    }

    .page_main_mv .text_box .common_title_box .ja {
        font-size: 5.13vw;
        line-height: 1.45;
    }

    .page_main_mv .text_box .common_title_box .ja:before {
        width: 30vw;
    }

    /* ボタン
  ----------------------------------------*/
    .btn .text {
        font-size: 3.59vw;
    }

    .btn::before,
    .btn::after {
        top: calc(50% - 0.26vw);
        width: 1.44vw;
        height: 0.51vw;
        transform-origin: calc(100% - 0.26vw) 50%;
    }

    .btn_more {
        gap: 3.08vw;
        padding: 3.33vw 5.64vw 4.1vw 5.38vw;
    }

    .btn_more .text {
        font-size: 4.62vw;
    }

    .btn_more .icon_box {
        width: 2.05vw;
        height: 2.05vw;
    }

    .btn_more .icon {
        width: 2.05vw;
        height: 2.05vw;
    }

    .btn_more .arrow_box {
        width: 13.85vw;
        height: 2.56vw;
    }

    .btn_more .arrow {
        width: 13.85vw;
        height: 2.56vw;
    }

    /* タイトル
  ----------------------------------------*/
    .common_title_box .en {
        font-size: 11.54vw;
        line-height: 1.1333333333;
    }

    .common_title_box .ja {
        font-size: 4.62vw;
    }

    .common_title_box .ja::before {
        left: calc(100% + 2.56vw);
        width: 41.03vw;
    }

    /* bg
  ----------------------------------------*/
    /*----------------------------------------
     トップページ
  ----------------------------------------*/
    /* mv
  ----------------------------------------*/
    /* MVコンテンツ */
    .mv .content {
        padding-top: 60.26vw;
        padding-bottom: 53.08vw;
    }

    .mv .content .title {
        font-size: 9.49vw;
        line-height: 1.3513513514;
        padding-left: 3.85vw;
        white-space: nowrap;
    }

    .mv .content .text {
        font-size: 4.62vw;
        width: 100%;
        padding: 1.28vw 0 1.79vw;
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 20%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0.9) 80%, rgba(255, 255, 255, 0) 100%);
    }

    /* strength
  ----------------------------------------*/
    .strength {
        padding: 12.05vw 0 0;
    }

    .strength::after {
        width: 100%;
        height: 115.38vw;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 48%, 0% 100%);
        clip-path: polygon(0 0, 100% 0, 100% 48%, 0% 100%);
    }

    .strength .list::before {
        top: 3.33vw;
    }

    .strength .list {
        grid-template-columns: 1fr;
        gap: 12.82vw;
        margin-top: 6.41vw;
    }

    .strength .list .item:nth-child(2) {
        transform: translateY(0);
    }

    .strength .list .item:nth-child(3) {
        transform: translateY(0);
    }

    .strength .list .item .image_box {
        height: auto;
    }

    .strength .list .item .title {
        font-size: 5.64vw;
        padding-left: 4.36vw;
        margin-top: 6.41vw;
    }

    .strength .list .item .text {
        font-size: 4.1vw;
        line-height: 1.875;
        margin-top: 5.13vw;
        padding-right: 0;
    }

    .strength .btn_more {
        margin: 10.26vw auto 0;
    }

    /* about
  ----------------------------------------*/
    .about {
        padding: 17.95vw 0 0;
    }

    .about::after {
        height: 246.15vw;
        -webkit-clip-path: polygon(0 22%, 100% 0, 100% 100%, 0% 100%);
        clip-path: polygon(0 22%, 100% 0, 100% 100%, 0% 100%);
        z-index: -2;
    }

    .about .about_inner {
        display: flex;
        flex-direction: column-reverse;
        gap: 3.33vw;
    }

    .about .left {
        padding-left: 0;
    }

    .about .about_title_box::before {
        display: none;
    }

    .about .about_title_box .ja {
        font-size: 8.46vw;
        line-height: 1.4545454545;
    }

    .about .about_title_box .en {
        font-size: 3.59vw;
        line-height: 1.7857142857;
    }

    .about .about_title_box .en_bottom::before {
        width: 36.15vw;
    }

    .about .about_content {
        margin-top: 8.97vw;
    }

    .about .about_content .text_box {
        gap: 7.18vw;
    }

    .about .about_content .text_box .text {
        font-size: 4.1vw;
        line-height: 1.75;
        letter-spacing: -0.01em;
    }

    .about .about_content .btn_more {
        margin: 7.69vw auto 0;
    }

    .about .right {
        margin-top: 0;
        position: relative;
    }

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

    .about .right::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        z-index: -2;
    }

    .about .right .image_box {
        width: calc(100% - 2.05vw);
        margin: 0 auto;
        height: auto;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .about .right .image_box .image {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .about .right .text_top {
        font-size: 2.56vw;
        font-weight: 700;
        color: #c69a56;
        letter-spacing: 0.2em;
        text-align: center;
        padding: 2.05vw 0;
    }

    .about .right .text_bottom {
        font-size: 2.56vw;
        font-weight: 700;
        color: #c69a56;
        letter-spacing: 0.2em;
        text-align: center;
        padding: 2.05vw 0;
    }

    /* service
  ----------------------------------------*/
    .service {
        padding: 26.92vw 0 26.15vw;
    }

    .service .title_box .ja::before {
        width: calc(87.18vw - 100%);
    }

    .service .list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 5.13vw;
        margin-top: 5.13vw;
    }

    .service .list::before {
        top: -54.62vw;
        right: -20.77vw;
        width: 91.54vw;
        height: 108.97vw;
        background-image: url("image/service_illust_sp.png");
        transform: rotate(0);
    }

    .service .list .item {
        display: flex;
        flex-direction: column;
        position: relative;
    }

    .service .list .item::before {
        display: none;
    }

    .service .list .item:last-child::before {
        display: none;
    }

    .service .list .item .image_box {
        display: none;
    }

    .service .list .item .content {
        padding: 5.13vw;
        display: flex;
        flex-direction: column;
        gap: 0;
        border-radius: 1.28vw;
    }

    .service .list .item .list_title_box {
        display: flex;
        align-items: center;
        padding-left: 3.85vw;
        padding-bottom: 5.13vw;
        border-bottom: 1px dotted #5e0d28;
    }

    .service .list .item .list_title_box .number_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        border-right: 1px solid #5e0d28;
        padding-right: 8.97vw;
    }

    .service .list .item .list_title_box .number_box .text {
        font-size: 3.85vw;
        line-height: 1;
    }

    .service .list .item .list_title_box .number_box .number {
        font-size: 10.51vw;
        line-height: 1;
    }

    .service .list .item .list_title {
        font-size: 5.13vw;
        line-height: 1.4;
        margin-left: 5.38vw;
    }

    .service .list .item .list_text {
        font-size: 4.1vw;
        line-height: 1.75;
        padding-top: 5.13vw;
    }

    /* contact
  ----------------------------------------*/
    .contact {
        padding: 0;
        position: relative;
    }

    .contact::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 49.23vw;
        background-color: rgba(98, 25, 25, 0.03);
    }

    .contact .contact_inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 12.31vw 6.67vw 12.56vw;
        justify-content: unset;
        height: auto;
    }

    .contact .contact_inner::before {
        background-image: url("image/contact_bg_sp.png");
    }

    .contact .contact_title_box {
        display: flex;
        flex-direction: column;
        padding-left: 2.56vw;
    }

    .contact .contact_title_box .en {
        font-size: 4.1vw;
        font-weight: 700;
        color: #5e0d28;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        position: relative;
    }

    .contact .contact_title_box .en::before {
        content: "";
        position: absolute;
        top: 50%;
        left: calc(100% + 3.85vw);
        width: 50.77vw;
        height: 1px;
        background-color: #5e0d28;
        transform: translateY(-50%);
    }

    .contact .contact_title_box .ja {
        font-size: 9.23vw;
        font-weight: 700;
        color: #5e0d28;
        line-height: 1.3611111111;
    }

    .contact .contact_title_box .ja .highlight {
        color: #c69a56;
    }

    .contact .content_text {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.5;
        margin-top: 4.36vw;
        color: #5e0d28;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        position: relative;
        margin-left: 2.56vw;
    }

    .contact .content_text::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        border-bottom: 1px dotted #5e0d28;
    }

    .contact .content_text::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        border-bottom: 1px dotted #5e0d28;
    }

    .contact .btn_mail {
        width: 75.45vw;
        height: 15.38vw;
        padding-left: 16.67vw;
        margin-top: 5.64vw;
    }

    .contact .btn_mail:before,
    .contact .btn_mail:after {
        right: 6.92vw;
    }

    .contact .btn_mail .btn_bg {
        width: 75.45vw;
        height: 15.38vw;
    }

    .contact .btn_mail .btn_bg svg {
        width: 75.45vw;
        height: 15.38vw;
    }

    .contact .btn_mail .text {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.5;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
    }

    .contact .btn_phone {
        width: 75.45vw;
        height: 15.38vw;
        padding-left: 9.74vw;
        margin-top: 5.64vw;
        display: flex;
        gap: 3.85vw;
        pointer-events: auto;
    }

    .contact .btn_phone .image_box {
        width: 8.21vw;
        height: auto;
    }

    .contact .btn_phone .image_box .image {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
        object-fit: contain;
    }

    .contact .btn_phone:before,
    .contact .btn_phone:after {
        right: 6.92vw;
    }

    .contact .btn_phone .btn_bg {
        width: 75.45vw;
        height: 15.38vw;
    }

    .contact .btn_phone .btn_bg svg {
        width: 75.45vw;
        height: 15.38vw;
    }

    .contact .btn_phone .text {
        font-size: 4.62vw;
        font-weight: 700;
        line-height: 1.4444444444;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
    }

    .contact .text_bottom {
        font-size: 3.08vw;
        font-weight: 500;
        line-height: 1.9166666667;
        color: #232355;
        margin: 1.79vw auto 0;
        font-family: "Noto Sans JP", sans-serif;
    }

    .contact_inner .tel {
        margin: 3vw auto 0;
    }

    .contact_inner .tel .small {
        display: inline-block;
        font-size: 3.2vw;
        letter-spacing: .05em;
        font-weight: 500;
        font-family: "Noto Sans JP", sans-serif;
    }

    /* faq
  ----------------------------------------*/
    .faq {
        padding: 0 0 23.08vw;
    }

    .faq .faq_inner {
        padding: 16.67vw 0 0;
        border-top: none;
    }

    .faq .title_box .ja::before {
        width: calc(87.18vw - 100%);
    }

    .faq .list {
        display: flex;
        flex-direction: column;
        gap: 5.13vw;
        margin-top: 5.13vw;
    }

    .faq .list .item {
        padding: 6.41vw 3.59vw;
        border-radius: 2.56vw;
    }

    .faq .list .item .question {
        padding-left: 3.33vw;
        display: flex;
        align-items: flex-start;
        gap: 4.87vw;
        padding-bottom: 4.62vw;
        padding-right: 5.13vw;
    }

    .faq .list .item .question::before {
        font-size: 7.18vw;
        margin-top: 0.77vw;
    }

    .faq .list .item .question .text {
        font-size: 4.62vw;
        font-weight: 700;
        line-height: 1.5555555556;
    }

    .faq .list .item .answer {
        padding-left: 3.33vw;
        padding-top: 4.62vw;
        display: flex;
        align-items: flex-start;
        gap: 4.87vw;
        padding-right: 5.13vw;
    }

    .faq .list .item .answer::before {
        font-size: 7.18vw;
        margin-top: 0.77vw;
    }

    .faq .list .item .answer .text {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.75;
    }

    .faq .btn_more {
        margin: 10.26vw auto 0;
    }

    /* recruit
  ----------------------------------------*/
    .recruit .recruit_inner {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        position: relative;
        height: auto;
        padding: 11.03vw 6.67vw 11.54vw;
        z-index: 1;
        background-color: #fff;
    }

    .recruit .recruit_inner::before {
        background-image: url("image/recruit_bg_sp.png");
    }

    .recruit .recruit_inner:after {
        content: "";
        position: absolute;
        top: 2.05vw;
        right: -2.56vw;
        width: 63.33vw;
        height: 48.72vw;
        background-image: url("image/recruit_illust_sp.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        z-index: -1;
    }

    .recruit .right {
        display: flex;
        flex-direction: column;
        gap: 5.13vw;
        align-items: flex-end;
        justify-content: flex-end;
    }

    .recruit .left .recruit_title_box {
        display: flex;
        flex-direction: column;
    }

    .recruit .left .recruit_title_box .en {
        font-size: 4.87vw;
    }

    .recruit .left .recruit_title_box .en::before {
        left: calc(100% + 2.56vw);
        width: 51.03vw;
    }

    .recruit .left .recruit_title_box .ja {
        font-size: 9.23vw;
        line-height: 1.3888888889;
        white-space: nowrap;
    }

    .recruit .left .text {
        font-size: 4.62vw;
        margin: 5.13vw 3.33vw 0;
        line-height: 1.8888888889;
    }

    .recruit .left .text .text_underline {
        padding: 0 1.28vw;
        white-space: nowrap;
    }

    .recruit .right .btn_list {
        display: flex;
        flex-direction: column;
        gap: 4.1vw;
        margin-top: 8.46vw;
    }

    .recruit .right .btn_list .btn.btn_recruit {
        width: 75.45vw;
        padding-left: 21.03vw;
        height: 15.38vw;
    }

    .recruit .right .btn_list .btn.btn_recruit .btn_bg {
        width: 75.45vw;
        height: 15.38vw;
    }

    .recruit .right .btn_list .btn.btn_recruit:before,
    .recruit .right .btn_list .btn.btn_recruit:after {
        right: 6.92vw;
        color: #5e0d28;
    }

    .recruit .right .btn_list .btn.btn_recruit .text {
        color: #5e0d28;
        font-size: 4.1vw;
    }

    .recruit .right .btn_list .btn.btn_apply {
        width: 75.45vw;
        padding-left: 4.62vw;
        height: 15.38vw;
    }

    .recruit .right .btn_list .btn.btn_apply .btn_bg {
        width: 75.45vw;
        height: 15.38vw;
    }

    .recruit .right .btn_list .btn.btn_apply .btn_bg svg {
        fill: #5e0d28;
        transition: all 0.3s;
    }

    .recruit .right .btn_list .btn.btn_apply:before,
    .recruit .right .btn_list .btn.btn_apply:after {
        right: 4.62vw;
        background-color: #fff;
    }

    .recruit .right .btn_list .btn.btn_apply .text {
        color: #fff;
        font-size: 4.1vw;
    }

    /* news
  ----------------------------------------*/
    .news {
        padding: 16.67vw 0 18.46vw;
    }

    .news .title_box .ja::before {
        width: calc(87.18vw - 100%);
    }

    .news .list {
        margin-top: 6.92vw;
    }

    .news .list .item .link {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2.56vw;
        padding: 7.69vw 5.13vw 7.69vw 0;
    }

    .news .list .item .link::before,
    .news .list .item .link::after {
        content: "";
        position: absolute;
        bottom: 10.26vw;
        right: 0;
        width: 1.79vw;
        height: 0.51vw;
        background-color: #aa7c35;
        transform-origin: calc(100% - 0.26vw) 50%;
    }

    .news .list .item .link .date {
        font-size: 3.59vw;
        width: 27.44vw;
        height: 6.15vw;
    }

    .news .list .item .link .text {
        font-size: 3.59vw;
    }

    .news .btn_more {
        margin: 7.69vw auto 0;
    }

    /* footer
  ----------------------------------------*/
    #pc_footer {
        display: none;
    }

    #sp_footer {
        padding: 18.46vw 0 0;
        position: relative;
        z-index: 1;
        display: block;
    }

    #sp_footer::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("image/footer_bg_sp.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: -1;
    }

    #sp_footer .logo {
        width: 64.1vw;
        height: auto;
        margin: 0 auto;
    }

    #sp_footer .logo .image {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
        object-fit: contain;
    }

    #sp_footer .text_box {
        display: flex;
        text-align: center;
        flex-direction: column;
    }

    #sp_footer .text_box .address {
        font-size: 4.1vw;
        font-weight: 500;
        color: #fff;
        line-height: 1.625;
        margin-top: 8.97vw;
    }

    #sp_footer .text_box .mail {
        font-size: 4.1vw;
        font-weight: 700;
        color: #fff;
        line-height: 1.75;
        margin-top: 6.15vw;
    }

    #sp_footer .text_box .fax {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.75;
        color: #fff;
    }

    #sp_footer .text_box .fax a {
        pointer-events: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        text-decoration: none;
        color: #fff;
    }

    #sp_footer .text_box .fax .fax-number {
        pointer-events: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        text-decoration: none;
        color: #fff;
    }

    #sp_footer .text_box .license {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.75;
        color: #fff;
        margin-top: 7.18vw;
    }

    #sp_footer .btn_list {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 10.26vw;
    }

    #sp_footer .btn_list .btn.btn_mail {
        width: 74.36vw;
        height: 15.38vw;
        padding-left: 16.67vw;
    }

    #sp_footer .btn_list .btn.btn_mail:before,
    #sp_footer .btn_list .btn.btn_mail:after {
        right: 6.92vw;
    }

    #sp_footer .btn_list .btn.btn_mail .btn_bg {
        width: 74.36vw;
        height: 15.38vw;
    }

    #sp_footer .btn_list .btn.btn_mail .btn_bg svg {
        width: 74.36vw;
        height: 15.38vw;
    }

    #sp_footer .btn_list .btn.btn_mail .text {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.5;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
    }

    #sp_footer .btn_list .btn.btn_apply {
        width: 75.45vw;
        padding-left: 4.62vw;
        height: 15.38vw;
        margin-top: 5.13vw;
    }

    #sp_footer .btn_list .btn.btn_apply .btn_bg {
        width: 75.45vw;
        height: 15.38vw;
    }

    #sp_footer .btn_list .btn.btn_apply:before,
    #sp_footer .btn_list .btn.btn_apply:after {
        right: 4.62vw;
        background-color: #5e0d28;
    }

    #sp_footer .btn_list .btn.btn_apply .text {
        color: #5e0d28;
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.5;
        font-family: "Noto Sans JP", sans-serif;
    }

    #sp_footer .btn_list .btn.btn_phone {
        width: 75.45vw;
        height: 15.38vw;
        padding-left: 9.74vw;
        display: flex;
        gap: 3.85vw;
        margin-top: 5.13vw;
    }

    #sp_footer .btn_list .btn.btn_phone .image_box {
        width: 8.21vw;
        height: auto;
    }

    #sp_footer .btn_list .btn.btn_phone .image_box .image {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
        object-fit: contain;
    }

    #sp_footer .btn_list .btn.btn_phone:before,
    #sp_footer .btn_list .btn.btn_phone:after {
        right: 6.92vw;
    }

    #sp_footer .btn_list .btn.btn_phone .btn_bg {
        width: 75.45vw;
        height: 15.38vw;
    }

    #sp_footer .btn_list .btn.btn_phone .btn_bg svg {
        width: 75.45vw;
        height: 15.38vw;
    }

    #sp_footer .btn_list .btn.btn_phone .text {
        font-size: 4.62vw;
        font-weight: 700;
        line-height: 1.4444444444;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
    }

    #sp_footer .btn_list .tel {
        font-size: 3.3vw;
        letter-spacing: .08em;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        text-align: center;
        margin-top: 3vw;
    }

    #sp_footer .btn_list .hours {
        font-size: 3.33vw;
        font-weight: 500;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        margin-top: 2.56vw;
        margin-bottom: 10.26vw;
    }

    #sp_footer .bottom {
        padding: 5.13vw 0 10.26vw;
        border-top: 1px solid #fff;
    }

    #sp_footer .bottom .list {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6.41vw;
    }

    #sp_footer .bottom .list .item .link {
        font-size: 3.08vw;
        font-weight: 700;
        color: #fff;
    }

    #sp_footer .bottom .copyright_box {
        text-align: center;
        margin-top: 5.13vw;
    }

    #sp_footer .bottom .copyright {
        font-size: 2.56vw;
        font-weight: 700;
        color: #fff;
        line-height: 2;
    }

    /*----------------------------------------
     会社概要
  ----------------------------------------*/
    .page_company .common_page_wrap {
        padding: 10.26vw 0 12.82vw;
    }

    .company_profile_sec .cont {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0 12.82vw;
        margin-left: 0;
    }

    .company_profile_sec .cont .detail .item {
        border-bottom: 1px solid #e6d3da;
        position: relative;
    }

    .company_profile_sec .cont .detail .item::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 20.51vw;
        height: 2px;
        background-color: #5e0d28;
    }

    .company_profile_sec .cont .detail .item .inbox {
        display: flex;
        flex-direction: column;
        gap: 0 0;
    }

    .company_profile_sec .cont .detail .item .inbox .head {
        width: 100%;
        font-size: 4.1vw;
        line-height: 1.875;
        padding: 7.69vw 0 0;
        border-bottom: none;
    }

    .company_profile_sec .cont .detail .item .inbox .text_area {
        width: 100%;
        font-size: 4.1vw;
        line-height: 1.625;
        padding: 2.56vw 0 5.64vw;
    }

    .company_profile_sec .cont .image_box {
        margin-top: 10.26vw;
    }

    /* map section */
    .company_profile_sec .map {
        margin: 10.26vw 0 12.82vw;
    }

    .company_profile_sec .map .map_inner {
        display: grid;
        grid-template-columns: 1fr;
    }

    .company_profile_sec .map .map_image {
        width: 100%;
        height: 51.28vw;
    }

    .company_profile_sec .map .content {
        display: flex;
        flex-direction: column;
        background-color: #fff;
        padding: 7.69vw 0 0;
    }

    .company_profile_sec .map .content .logo {
        width: 64.1vw;
        height: auto;
        margin: 0 auto;
    }

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

    .company_profile_sec .map .content .address {
        font-size: 4.1vw;
        font-weight: 700;
        line-height: 1.5625;
        margin-top: 5.13vw;
        padding-bottom: 3.59vw;
        border-bottom: 1px solid #e6d3da;
        text-align: center;
    }

    .company_profile_sec .map .content .access_box {
        display: flex;
        flex-direction: column;
        gap: 1.28vw;
        margin-top: 7.69vw;
    }

    .company_profile_sec .map .content .access_box .access_title {
        font-size: 5.13vw;
        padding-left: 3.85vw;
        position: relative;
        line-height: 1;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
    }

    .company_profile_sec .map .content .access_box .access_line {
        font-size: 4.1vw;
        text-align: center;
        padding-left: 0;
    }
}

/*# sourceMappingURL=style.css.map */