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

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

body {
    font-family: "Shippori Mincho", serif;
}

.shippori-mincho {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
}

h2,
h3 {
    font-weight: 400 !important;
}

@media screen and (max-width: 600px) {
    h2 {
        font-size: 1.5em !important;
    }
}

#pagetop {
    border-radius: 0;
    /* color: #E50113;
    border-color: #E50113; */
    /* border-radius: 50%; */
}

/* メインビジュアルテキスト */
.mv-text-main {
    font-family: 'Noto Sans JP', sans-serif;
    transform: translateY(-2em);
}

.img-cafe {
    transform: translateY(-5em) translateX(1em);
}

.mv-text-sub {
    font-family: 'Noto Sans JP', sans-serif;
    transform: translateY(-5em);
}

@media screen and (max-width: 600px) {
    .mv-text-main {
        transform: translateY(-3em);
    }

    .img-cafe {
        width: 100px !important;
        transform: translateY(-7em) translateX(1em);
    }

    .mv-text-sub {
        transform: translateY(-7em);
    }
}

/* メインビジュアルボタン start */
/* ナビゲーションボタン カード型スタイル */

/* 通常時：濃い背景 × 白文字 */
.btn-top.is-style-btn_normal {
    background: #2d4b3e;
    border-radius: 4px;
    border: 1.5px solid #2d4b3e;
    box-shadow: none;
    transition: background 0.18s;
}

/* hover時：白背景 × 濃い文字 */
.btn-top.is-style-btn_normal:hover {
    background: #fff;
    box-shadow: none;
    transform: none;
}

.btn-top.is-style-btn_normal .swell-block-button__link {
    flex-direction: column;
    gap: 10px;
    padding: 28px 16px 20px;
    color: #fff;
    /* ← 通常時は白文字 */
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 12px;
    position: relative;
    transition: color 0.18s;
}

/* hover時：文字を濃い色に */
.btn-top.is-style-btn_normal:hover .swell-block-button__link {
    color: #2d4b3e;
}

/* ＋マーク */
.btn-top.is-style-btn_normal .swell-block-button__link::after {
    content: "+";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
    background: #fff;
    /* ← 反転 */
    border-radius: 50%;
    color: #2d4b3e;
    /* ← 反転 */
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    transition: background 0.18s, color 0.18s;
}

/* hover時：元の色に戻す */
.btn-top.is-style-btn_normal:hover .swell-block-button__link::after {
    background: #2d4b3e;
    color: #fff;
}

/* アイコン */
.btn-top.is-style-btn_normal .__icon {
    width: 40px;
    height: 40px;
    color: #fff;
    /* ← 反転 */
    transition: color 0.18s;
}

/* hover時 */
.btn-top.is-style-btn_normal:hover .__icon {
    color: #2d4b3e;
}

.btn-top.is-style-btn_normal:hover .__icon path,
.btn-top.is-style-btn_normal:hover .__icon circle {
    stroke: #2d4b3e;
    fill: #2d4b3e;
}

/* メインビジュアルボタン end */

/* タイトル装飾 */
.section-title::before {
    content: "";
    width: 1px;
    height: 120px;
    background-color: #E50113;
    position: absolute;
    top: -140px;
    left: 46px;
}

@media screen and (max-width: 600px) {
    .section-title::before {
        height: 80px;
        top: -100px;
        left: 32px;
    }
}

.section-title-owners::before {
    content: "";
    width: 1px;
    height: 120px;
    background-color: #E50113;
    position: absolute;
    top: -140px;
    left: 240px;
}

@media screen and (max-width: 600px) {
    .section-title-owners::before {
        height: 80px;
        top: -100px;
        left: 32px;
    }
}

/* 中央寄せセクションタイトルの上の縦線装飾 */
.section-title-center {
    position: relative;
    padding-top: 80px;
}

.section-title-center::before {
    content: "";
    width: 1px;
    height: 60px;
    background-color: #E50113;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 600px) {
    .section-title-center {
        padding-top: 70px;
    }

    .section-title-center::before {
        height: 50px;
    }
}


/* ボタンカスタマイズ */
.btn-custom a {
    border-radius: 4px;
    padding: 24px;
    transition: background-color 0.3s, color 0.3s;
    box-shadow: none;
}

.btn-custom a:hover {
    background-color: #ffffff;
    color: #2d4b3e;
    border: 1px solid #2d4b3e;
    box-shadow: none;
}

.btn-custom-small a {
    border-radius: 4px;
    transition: background-color 0.3s, color 0.3s;
    box-shadow: none;
}

.btn-custom-small a:hover {
    background-color: #ffffff;
    color: #2d4b3e;
    border: 1px solid #2d4b3e;
    box-shadow: none;
}


/* インスタアイコン */
.wp-social-link-instagram a {
    background: linear-gradient(45deg,
            #4C64D3,
            #CF2E92,
            #F26939,
            #FFDD83);
    border-radius: 50%;
    padding: 4px;
}

/* カラム幅を調整 */
.block-columns-custom-500 {
    max-width: 500px;
    margin: 0 auto;
}

.block-columns-custom-600 {
    max-width: 500px;
}

@media screen and (max-width: 600px) {
    .block-columns-custom-500 {
        max-width: 100%;
    }

    .block-columns-custom-600 {
        max-width: 100%;
        margin: 0 auto;
    }

    .sp-text-left {
        text-align: left !important;
    }
}

/* j-president */
@media (max-width: 600px) {
    /* .img-greeting .c-bannerLink__img {
        object-position: left 80%;
    } */

    .img-achievements .c-bannerLink__img {
        object-position: center top;
    }

    .img-j-president .c-bannerLink__img {
        object-position: center top;
    }
}

/* contact start */
.col-contact {
    padding: 3em !important;
}

/* 縦ライン */
/* 共通 */
.col-contact {
    position: relative;
}

.col-contact::after {
    content: "";
    position: absolute;
    background-color: #ccc;
}

/* PC：縦棒 */
@media (min-width: 600px) {
    .col-contact::after {
        top: 10%;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 80%;
    }
}

/* SP：横棒 */
@media (max-width: 599px) {
    .col-contact::after {
        left: 10%;
        top: 50%;
        transform: translateY(-50%);
        width: 80%;
        height: 1px;
    }

    .col-tel {
        padding-bottom: 1em;
    }

    .col-form {
        padding-top: 1em;
    }
}

/* contact end */

/* footer logo start */
/* PC: 50px */
.footer-apple {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-apple img {
    width: 50px !important;
    height: 50px !important;
    flex-shrink: 0;
}

/* SP: 36px（768px以下） */
@media (max-width: 768px) {
    .footer-apple img {
        width: 36px !important;
        height: 36px !important;
    }
}

/* footer logo end */