@charset "UTF-8";

/* ブラウザ標準設定を解除 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* リストスタイルを解除 */
ul {
    list-style: none;
}

/* リンクスタイルを解除 */
a {
    text-decoration: none;
    color: #222;
}

/* ――――――――――――――――――――――――――――― */

/* 共通設定 */

/* ――――――――――――――――――――――――――――― */

/* セクション下に余白 */
section {
    margin-bottom: 110px;
}

/* スクロールをゆっくりに */
html {
    scroll-behavior: smooth;
}

/* 基本のフォントスタイル設定 */
body {
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    background-color: #FFFBF5;
}

/* PC時では非表示にする要素 */
.pc_none {
    display: none;
}

@media (width < 428px) {
    body {
        width: 100%;
    }

    .pc_none {
        display: block;
    }

    .sp_none {
        display: none;
    }
}

.jp_min {
    font-family: "Noto Serif JP", serif;
}

/* h2（見出し）設定 */
.h2_text {
    font-size: 40px;
    letter-spacing: .05em;
    text-align: center;
    color: #855436;
    margin-bottom: 40px;
}

@media (width < 428px) {
    .h2_text {
        font-size: 32px;
    }
}

/* 幅を制限したいテキスト設定 */
.low_text {
    max-width: 850px;
    width: calc(100% - 20px);
    margin: 0 auto;
}

/* 幅を制限したいセクション設定 */
.staffSec,
.aboutSec,
.scheduleSec,
.accessSec,
.denjihaSec,
.qaSec,
.securitySec {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto 100px;
}

@media (width < 428px) {

    .leadSec,
    .staffSec,
    .aboutSec,
    .accessSec,
    .qaSec,
    .securitySec {
        width: calc(100% - 40px);
        margin: 0 auto 100px;
    }
}

/* リンク先で上部に余白を取る */
.staffSec,
.aboutSec,
.worksSec,
.scheduleSec,
.accessSec,
.linkSec {
    margin-top: -40px;
    padding-top: 40px;
}

/* テキストの基本設定 */
P {
    line-height: 1.7;
    /* 行間設定 */
    letter-spacing: .05em;
    /* 文字間設定 */
}

/* 白文字要素 */
.text_w {
    color: #fff;
}

.text_y {
    color: #fffeaa;
}

/* マーカー設定 */
.marker {
    background: linear-gradient(transparent 70%, rgb(255, 247, 177) 60%);
}

/* fadeup */
/* ――――――――――――――――――――――――――――― */

/* 画面に表示するまでは非表示に */
.fadeup {
    opacity: 0;
    transition: 0.5s;
    transform: translateY(50px);
}

/* 画面に表示したら下からフェードアップ */
.fadeup.is_inview {
    opacity: 1;
    transition-delay: 0.5s;
    transform: translateY(0);
}

/* ――――――――――――――――――――――――――――― */

/* ヘッダー */

/* ――――――――――――――――――――――――――――― */

.head_container {
    max-width: 1180px;
    margin: 0 auto;
}

h1 {
    display: block;
    width: 200px;
}

h1 img {
    width: 100%;
}

@media (width < 428px) {
    h1 {
        padding-right: 80px;
        width: 70%;
        margin-bottom: 15px;
    }
}

/* ロゴとそれ以外全部をヨコ並びに */
.head_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0 20px;
}

.tel_icon_b {
    width: 9%;
    margin-right: -15px;
    padding-bottom: 15px;
    /* 少し上に位置を調整 */
}

/* SNSロゴと電話番号と営業時間をヨコ並びに */
.contact_info {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 20px;
}

/* 「事前連絡を」アニメーション設定 */
/* ――――――――――――――――――――――――――――― */
.c_info_span {
    font-size: 14px;
    color: #fff;
    display: inline-block;
    padding: 5px 8px;
    background-color: #FF8067;
    border-radius: 3px;
    animation: c_info_anime 3s ease-in-out infinite;
}

@media (width < 428px) {
    .c_info_span {
        display: none;
    }
}

@keyframes c_info_anime {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

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

/* 電話番号と営業時間をヨコ並びに */
.tel_sale_time_box {
    display: flex;
    align-items: center;
    gap: 20px;
}

@media (width < 428px) {

    .head_container {
        display: flex;
        width: 100%;
        flex-direction: column;
        padding: 0;
        margin: 30px 0 10px;
    }

    .contact_info {
        display: flex;
        flex-direction: column-reverse;
        justify-content: end;
        align-items: center;
        gap: 0;
    }

    .tel_sale_time_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        margin-bottom: 15px;
    }
}

/* SNSロゴをヨコ並びに */
.sns_icon ul {
    display: flex;
    padding-top: 5px;
    gap: 20px;
}

/* SNSロゴの大きさを調整 */
.sns_icon img {
    width: 30px;
    transition: 0.3s;
}

.sns_icon img:hover {
    transform: scale(1.1);
}

@media (width < 428px) {
    .sns_icon ul {
        display: flex;
        gap: 30px;
        margin-bottom: 16px;
    }

    .sns_icon img {
        width: 40px;
    }
}

/* ナビゲーションをヨコ並びに */
nav ul {
    display: flex;
    justify-content: end;
    padding-top: 10px;
}

/* ナビゲーションの罫線設定 */
nav li:not(:last-child) {
    border-right: 1px solid #DD765B;
}

/* ナビゲーションの余白（左右） */
nav li {
    padding: 0 13px;
}

nav li:last-child {
    padding-right: 0;
}

/* ナビゲーションのリンク設定 */
nav li a {
    color: #DD765B;
    font-size: 16px;
    transition: 0.3s;
}

/* ナビゲーションのhover設定 */
nav li a:hover {
    text-decoration: underline;
    text-underline-offset: 0.5em;
}

/* お問い合わせと電話番号をヨコ並びに */
.tel {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 「お問い合わせ」のあしらい */
.toiawase {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    color: #DD765B;
    padding: 5px 10px;
    border: 1px solid #DD765B;
}

/* 「電話番号」のあしらい */
.tel_number {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 45px;
    color: #DD765B;
    font-weight: 600;
}

.tel_number:hover {
    text-decoration: none;
}

@media (width > 428px) {
    .tel_number {
        pointer-events: none;
    }
}

.tel_icon_b {
    padding-top: 5px;
}

.tel_box {
    display: flex;
    width: 380px;
    justify-content: end;
    gap: 25px;
    padding-top: 10px;
    margin-left: auto;
}

@media (width < 428px) {

    .tel {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .tel_box {
        display: flex;
        justify-content: center;
        width: calc(100% - 40px);
        margin: 0 auto;
    }

    .tel_box img {
        width: 9%;
        padding-right: 10px;
    }

    .tel_number {
        font-family: "Inter", sans-serif;
        font-size: 32px;
        font-weight: 500;
        color: #DD765B;
        font-weight: 600;
        pointer-events: none;
    }
}

/* 営業時間の位置を調整 */
.sales_time {
    color: #DD765B;
}

/* 営業日時のテキスト配置（均等割り付け） */
.sales_time td:nth-child(1) {
    text-align: justify;
    text-align-last: justify;
}

/* 営業日時の文字サイズ */
.sales_time table,
.sales_time tr,
.sales_time td {
    font-size: 16px;
}

/* ハンバーガーメニュー */
/* ――――――――――――――――――――――――――――― */

@media (width < 428px) {

    /* 三本線 */
    /* ――――――――――――――――――――――――――――― */
    .humburger,
    nav {
        display: block;
    }

    .humburger {
        position: fixed;
        width: 70px;
        height: 70px;
        top: 3%;
        right: 7%;
        border: 1px solid #DD765B;
        border-radius: 5px;
        z-index: 101;
    }

    .humburger span {
        position: absolute;
        width: 70%;
        height: 4px;
        background-color: #DD765B;
        inset: 0;
        margin: auto;
        transition: 0.3s;
    }

    /* クリックされる前の三本線 */
    .humburger span:nth-child(1) {
        top: -40%;
    }

    .humburger span:nth-child(2) {
        top: 0;
    }

    .humburger span:nth-child(3) {
        top: 40%;
    }

    /* クリックされた後の三本線 */
    .humburger.active span:nth-child(1) {
        top: 0;
        transform: rotate(45deg);
        background-color: #fff;
    }

    .humburger.active span:nth-child(2) {
        top: 0;
        transform: rotate(45deg);
        background-color: #fff;
    }

    .humburger.active span:nth-child(3) {
        top: 0;
        transform: rotate(-45deg);
        background-color: #fff;
    }

    .humburger.active {
        border: 1px solid #fff;
    }

    /* ドロワー */
    /* ――――――――――――――――――――――――――――― */

    nav {
        position: fixed;
        visibility: hidden;
        opacity: 0;
        /* クリック前は非表示 */
        top: -1px;
        /* クリック前は非表示 */
        right: 0;
        left: 0;
        bottom: -1px;
        width: 100%;
        height: 100%;
        padding: 60px 20px 40px;
        background-color: #DD765B;
        overflow: scroll;
        transition: 0.3s ease-in-out;
        z-index: 100;
    }

    nav.drawer {
        visibility: visible;
        /* クリック時に表示 */
        opacity: 1;
        /* クリック時に表示 */
    }

    .drawer_img {
        width: 80%;
        margin: 0 auto;
        padding-top: 40px;
    }

    nav ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 10px 10px;
        padding-top: 40px;
    }

    nav li:not(:last-child) {
        border-right: none;
    }

    nav li {
        padding: 0 0 0 26%;
        margin-bottom: 24px;
    }

    nav li a {
        color: #fff;
        font-size: 18px;
        transition: 0.3s;
        text-align: left;
        position: relative;
    }

    /* リンク左の矢印設定 */
    nav li a::before {
        content: "";
        position: absolute;
        top: 50%;
        left: -2em;
        transform: translateY(-50%) rotate(45deg);
        width: 11px;
        height: 11px;
        border: none;
        border-top: 2px solid #fff;
        border-right: 2px solid #Fff;
        transition: 0.3s;
    }

    /* リンク左の矢印設定（ホバー時に移動） */
    nav li a:hover::before {
        left: -1.5em;
    }

    /* リンク左の矢印設定（クリック時に移動） */
    nav li a:active::before {
        left: -1.5em;
    }
}

/* ――――――――――――――――――――――――――――― */

/* TOP */

/* ――――――――――――――――――――――――――――― */

/* セクション幅 */
.topSec {
    width: 100%;
    height: 580px;
    margin: 0 auto 70px;
    background-color: #d3d3d3;
    position: relative;
}

/* モニター幅を超えないようにカット */
.top_mv {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* 表示範囲にいっぱいに（アングルは中心に） */
.top_mv video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* ヘッダー幅 */
.catchcopy_mv {
    width: 1080px;
    margin: 0 auto;
    position: absolute;
    top: 8%;
    left: 50%;
    transform: translateX(-50%);
}

@media (width < 428px) {

    .top_mv {
        width: 100%;
        height: 580px;
    }

    .catchcopy_mv {
        width: 100%;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        margin: 0 auto;
    }
}

/* TOP動画 アニメーション設定 */
/* ――――――――――――――――――――――――――――― */

/* 動画最後のカットでキャッチを表示 */
/* それまでは非表示に */
.fadeup_mv {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
}

.mv_pc {
    object-fit: cover;
    object-position: center;
}

.fadeup_mv.is_inview {
    animation: mv_anime ease forwards;
}

/* 表示間隔 */
.fadeup_mv.is_inview {
    animation-duration: 0.2s;
}

/* 表示までの待機時間 */
.fadeup_mv.is_inview:nth-child(1) {
    animation-delay: 23.5s;
}

.fadeup_mv.is_inview:nth-child(2) {
    animation-delay: 23.7s;
}

.fadeup_mv.is_inview:nth-child(3) {
    animation-delay: 23.9s;
}

.fadeup_mv.is_inview:nth-child(4) {
    animation-delay: 24.8s;
}

.fadeup_mv.is_inview:nth-child(5) {
    animation-delay: 25s;
}

@keyframes mv_anime {
    0% {
        opacity: 0;
        visibility: hidden;
        transform: translateY(50px);
    }

    100% {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

/* 動画キャッチを横並びに */
.copy_li_02,
.copy_li_01 {
    display: flex;
    justify-content: center;
}

/* 一行目の余白（水平方向） */
.copy_li_01 {
    gap: 12px;
    margin-bottom: 2px;
}

/* 一行目の書式設定 */
.copy_li_01 li {
    font-size: 22px;
    color: #fff;
    font-weight: 600;
    text-align: center;
    width: 186px;
    padding: 12px 0;
    background-color: #EF7568;
    border-radius: 10px;
    margin-bottom: 30px;
}

@media (width < 428px) {

    /* SP時は２列表示に */
    .copy_li_01 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 0 16px;
        width: calc(100% - 40px);
        padding-top: 30px;
        margin: 0 auto 30px;
    }

    /* SP時は幅いっぱいに */
    .copy_li_01 li {
        font-size: 18px;
        color: #fff;
        font-weight: 600;
        text-align: center;
        width: 100%;
        height: auto;
        padding: 12px 0;
        background-color: hsla(6, 81%, 67%, 0.8);
        border-radius: 10px;
        margin-bottom: 10px;
    }
}

/* 二行目の余白（水平方向） */
.copy_li_02 {
    gap: 30px;
    margin-bottom: 30px;
}

/* 二行目の書式設定 */
.copy_li_02 li {
    font-size: 44px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    width: 170px;
    height: 170px;
    line-height: 170px;
    border-radius: 50%;
    background: radial-gradient(circle 50px at 30% 30%, #86BDCE, #2A94AA);
}

/* 「一撃改善」の文字列（svg）設定 */
.itigeki {
    display: block;
    width: 60%;
    margin: 0 auto;
}

/* 手書きイラスト（フキダシ） */
.fukidashi {
    position: absolute;
    bottom: 20px;
    right: -100px;
    width: 227px;
    height: 264px;
    transform: scale(0.7);
}

@media (width < 428px) {

    /* SP時はフキダシを非表示に */
    .fukidashi {
        display: none;
    }
}

/* 手書きイラスト（本人）位置設定 */
.tsukada {
    display: block;
    position: absolute;
    bottom: -20px;
    right: 4%;
    z-index: 1;
}

.copy_li_02_catch {
    display: block;
    width: 8em;
    font-size: 40px;
    font-weight: 600;
    color: #EE796A;
    text-align: center;
    margin: 0 auto;
    margin-bottom: -5px;
}

@media (width < 428px) {

    /* モニター幅を超えないように */
    .topSec {
        overflow: hidden;
        height: 100%;
        width: auto;
    }

    /* 表示範囲いっぱいに */
    .top_mv video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    /* 動画キャッチ一行目の余白（水平方向） */
    .copy_li_02 {
        gap: 10px;
        margin-bottom: 30px;
    }

    /* 動画キャッチ一行目の表示設定 */
    .copy_li_02 li {
        font-size: 24px;
        width: 100px;
        height: 100px;
        line-height: 100px;
    }

    /* 手書きイラスト（本人）位置設定 */
    .tsukada {
        display: block;
        position: absolute;
        bottom: -220px;
        right: 4%;
        transform: scale(0.9);
        z-index: 1;
    }

    /* 「一撃改善」表示設定 */
    .itigeki {
        width: 95%;
    }
}

/* ――――――――――――――――――――――――――――― */

/* スタッフ */

/* ――――――――――――――――――――――――――――― */

/* 画像や自己紹介をヨコ並びに */
.staff_info {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 25px;
    margin: 0 auto 40px;
}

/* 本人画像（relative） */
.profile_pic_01 {
    position: relative;
}

/* 本人画像につくフキダシ */
.pfofile_pic_fukidashi {
    position: absolute;
    top: -80px;
    left: -150px;
    transform: scale(0.6);
}

@media (width < 428px) {

    /* SP時は本人画像のrelativeを解除 */
    .profile_pic_01 {
        position: static;
    }

    /* フキダシを非表示に */
    .profile_pic_01 img {
        width: 100%;
    }
}

/* プロフィール画像を横並びに */
.staff_pics {
    display: flex;
    width: 1080px;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px;
    margin-bottom: 70px;
}

/* インスタ埋め込み（relative） */
.instagram_box {
    position: relative;
}

/* インスタ画像にキャッチ */
.instagram_box::before {
    content: "＼最新情報はインスタに！／";
    position: absolute;
    top: -8%;
    right: -20%;
    color: #333;
    z-index: 1;
}

@media (width < 428px) {

    /* SP時はキャッチを非表示に */
    .instagram_box::before {
        content: none;
        position: absolute;
        top: -8%;
        right: -20%;
        color: #333;
        z-index: 1;
    }
}

/* インスタ埋め込み設定 */
.instagram_log {
    width: auto;
    height: 320px;
    overflow: hidden;
    border-radius: 10px;
    transition: 0.3s;
    position: relative;
}

/* インスタ埋め込み設定（hover） */
.instagram_log:hover {
    opacity: 0.7;
}

/* プロフィール画像の幅 */
.staff_pics li {
    width: 200px;
}

/* プロフィール画像の下余白 */
.staff_pics img {
    margin-bottom: 8px;
}

/* プロフィール画像（キャプション）設定 */
.staff_pics p {
    font-size: 16px;
}

/* プロフィール中見出し */
.prfile_title {
    display: inline-block;
    font-size: 26px;
    font-weight: 500;
    color: #855436;
    text-align: center;
    margin-bottom: 20px;
}

/* imgとspanをブロック要素に */
.staff_pics img,
.staffSec img,
.staffSec span {
    display: block;
}

.profile_box {
    display: flex;
    width: 860px;
    flex-direction: column;
    align-self: flex-end;
    margin: 0 auto 60px;
}

/* プロフィール（table罫線）設定 */
.column_01 {
    border-right: 1px solid #855436;
}

/* プロフィール（table罫線）設定 */
.row_line {
    border-bottom: 1px solid #855436;
}

@media (width < 428px) {

    /* 「ごあいさつ」書式設定 */
    .prfile_title {
        font-size: 30px;
    }

    /* プロフィール画像をタテ並びに */
    .staff_info {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 30px;
        margin-bottom: 70px;
    }

    /* プロフィール画像を２列表示に */
    .staff_pics {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: calc(100% - 20px);
        justify-content: center;
        grid-gap: 20px 25px;
        margin: 0 auto 70px;
    }

    /* プロフィール画像をモニター幅いっぱいに */
    .staff_pics li,
    .staff_info li {
        width: 100%;
    }

    /* プロフィール画像を親要素いっぱいに */
    .staff_pics img {
        width: 100%;
    }

    /* プロフィール画像（キャプション）書式設定 */
    .staff_pics p {
        font-size: 18px;
    }

    /* プロフィール情報をモニター幅いっぱいに */
    .profile_box {
        width: 100%;
    }
}

/* 自己紹介のtable設定 */
.profile_box table,
.profile_box tr,
.profile_box td {
    font-size: 16px;
    border-collapse: collapse;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}

/* 自己紹介の列（td）内の余白 */
.profile_box td {
    padding: 20px 20px;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

/* 自己紹介の１列目の設定 */
.profile_box td:nth-child(1) {
    width: 180px;
    text-align: justify;
    text-align-last: justify;
    padding: 0 20px;
}

@media (width < 428px) {

    /* プロフィール（table）書式設定 */
    .profile_box td {
        font-size: 18px;
        padding: 20px 20px;
    }

    /* プロフィール（table）一列目（幅） */
    .profile_box td:nth-child(1) {
        width: 110px;
    }

    /* SP時の各セクションの幅設定 */
    .priceSec,
    .worksSec,
    .voiceSec {
        width: calc(100% - 40px);
        margin-left: auto;
        margin-right: auto;
    }
}

/* カギカッコ（疑似要素用） */
.greeting_text {
    padding: 15px 25px;
    line-height: 1.8;
    position: relative;
}

/* あいさつ文カギカッコ（左上） */
.greeting_text::before {
    content: "";
    position: absolute;
    top: -20px;
    left: -30px;
    width: 60px;
    height: 40px;
    border: none;
    border-top: 2px solid #855436;
    border-left: 4px solid #855436;
}

/* あいさつ文カギカッコ（右下） */
.greeting_text::after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: -30px;
    width: 60px;
    height: 40px;
    border: none;
    border-right: 4px solid #855436;
    border-bottom: 2px solid #855436;
}

@media (width < 428px) {

    /* 「ごあいさつ」の書式設定 */
    .greeting_text {
        font-size: 20px;
        padding: 0;
    }

    /* 「ごあいさつ」のカギカッコを非表示に */
    .greeting_text::before {
        border-top: none;
        border-left: none;
    }

    /* 「ごあいさつ」のカギカッコを非表示に */
    .greeting_text::after {
        border-right: none;
        border-bottom: none;
    }
}

@media (width < 428px) {

    /* プロフィール画像のフキダシを非表示に */
    .profile_pic_01 .pfofile_pic_fukidashi {
        display: none;
    }
}

/* ――――――――――――――――――――――――――――― */

/* 筋整流法とは */

/* ――――――――――――――――――――――――――――― */

/* 要素の幅 */
.about_container {
    display: flex;
    width: 940px;
    flex-direction: column;
    justify-content: flex-start;
    gap: 30px;
    margin: 0 auto;
}

.about_mv {
    text-align: center;
    margin-bottom: 60px;
}

.about_mv iframe {
    width: 620px;
    height: 349px;
}

@media (width < 428px) {

    /* 項目「腱引き療法とは」をモニター幅いっぱいに */
    .about_container {
        width: 100%;
    }

    .about_mv {
        width: 100%;
    }

    .about_mv iframe {
        width: 100%;
        height: auto;
    }
}

@media (width < 428px) {

    .about_contents {
        width: 100%;
        gap: 20px;
    }
}

/* 「Q」とテキストを横並びに */
.about_lead {
    display: flex;
    gap: 20px;
    padding-left: 20px;
    /* margin-bottom: 16px; */
    position: relative;
}

/* 「Q」の文字の書式設定 */
.case_h2,
.access_title,
.about_title {
    display: inline-block;
    font-size: 26px;
    font-weight: 500;
    padding-top: 3px;
}

@media (width < 428px) {

    /* 「腱引き療法とは」の中見出し（書式設定） */
    .about_title {
        display: inline-block;
        font-size: 26px;
        font-weight: 500;
        padding: 3px 40px 0 10px;
    }
}

/* 「腱引き療法とは」の中見出し（書式設定） */
.about_title {
    color: #855436;
}

/* 行間の高さ */
.aboutSec p {
    line-height: 1.7;
}

/* 画像の右側に余白を作る（＜マークと重なるので） */
.about_container img {
    display: block;
    padding-right: 40px;
}

/* 本文と画像を横並びに */
.about_info {
    display: flex;
    justify-content: center;
    gap: 30px;
    width: 100%;
    margin-bottom: 16px;
    padding-top: 16px;
}

/* 見出しをクリックするまで本文は非表示に */
.toggle_box {
    display: none;
    width: 100%;
}

/* 本分の左側に余白を（家業書きマークと重なるので） */
.about_info p {
    padding-left: 20px;
}

@media (width < 428px) {

    /* 本分と画像をタテ並びに */
    .about_info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 30px;
        width: 100%;
        margin-bottom: 16px;
    }

    /* 画像をモニター幅いっぱいに */
    .about_container img {
        display: block;
        width: 100%;
        padding: 0 10px 0 20px;
    }
}

/* 箇条書きアイコン */
/* ―――――――――――――――――――――――― */

/* 箇条書きマーク（書式設定） */
.about_lead::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-40%);
    width: 10px;
    height: 30px;
    background-color: #a86e4a;
}

@media (width < 428px) {

    /* 一行表示の時は、箇条書きマークの高さを30pxに */
    .about_lead::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-40%);
        width: 10px;
        height: 30px;
        background-color: #a86e4a;
    }

    .about_01 {
        position: relative;
    }

    /* 一行表示の時は、箇条書きマークの高さを60pxに */
    .about_01::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-40%);
        width: 10px;
        height: 60px;
        background-color: #a86e4a;
    }
}

/* toggleメニュー */
/* ―――――――――――――――――――――――― */

/* 回答文右側の矢印の設定 */
.about_lead::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    border: none;
    border-right: 2px solid #855436;
    border-bottom: 2px solid #855436;
    transition: 0.3s ease;
    z-index: 10;
}

/* 質問文をクリック時、矢印を回転 */
.about_lead.is_open::after {
    transform: translateY(-50%) rotate(225deg);
    border-right: 2px solid #DD765B;
    border-bottom: 2px solid #DD765B;
}

@media (width < 428px) {

    /* 本分の右側の余白 */
    .about_lead p {
        padding-right: 40px;
    }
}

/* ――――――――――――――――――――――――――――― */

/* 料金・メニュー */

/* ――――――――――――――――――――――――――――― */

/* セクション幅・余白 */
.priceSec {
    width: 100%;
    background-color: #F78166;
    padding: 50px 0 70px;
}


/* 本項目の最大幅と中央揃え */
.price_list {
    width: 1080px;
    margin: 0 auto;
}

/* 料金リストをヨコ並びに */
.price_list ul {
    display: flex;
    width: 1080px;
    justify-content: space-between;
    gap: 40px;
    margin: 0 auto 20px;
}

/* １つあたりの料金リストの大きさ */
.price_list li {
    width: 100%;
    background-color: #FFFBF5;
    padding: 20px 30px 30px;
    border-radius: 10px;
}

/* 本項の本文と注釈文（欄外）の書式設定 */
.caution,
.price_list p {
    font-size: 16px;
    margin-bottom: 10px;
}

/* 注釈文の表示設定 */
.caution {
    display: block;
    margin-bottom: 8px;
    text-align: right;
}

@media (width < 428px) {

    /* 各料金表示をモニター幅いっぱいに */
    .price_list {
        width: 100%;
    }

    /* 料金表示をタテ並びに */
    .price_list ul {
        display: flex;
        flex-direction: column;
        width: 100%;
        justify-content: center;
        gap: 40px;
    }

    /* 料金表示の表示設定 */
    .price_list li {
        width: calc(100% - 40px);
        margin: 0 auto;
    }

    /* 最後の料金表示の下余白 */
    .price_list li:last-child {
        margin-bottom: 30px;
    }

    /* 本文の書式設定 */
    .price_list p {
        font-size: 17px;
        padding: 0 20px;
        margin-bottom: 10px;
    }

    /* 注釈文の書式設定 */
    .caution {
        font-size: 18px;
        line-height: 1.7;
        width: calc(100% - 100px);
        text-align: left;
        margin: 0 auto 16px;
    }
}

/* 文字（初回料金）をブロック要素に */
.price_s {
    display: block;
    text-align: center;
    margin-top: 16px;
}

/* 文字（2回目以降） */
.price_s_02 {
    display: block;
    text-align: center;
    padding-top: 16px;
}

/* 各リストの見出し書式 */
h3 {
    padding-top: 16px;
    margin-bottom: 16px;
    text-align: center;
    color: #DD765B;
}

/* 「価格（数字）」と「円」をヨコ並び */
.price {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 「価格（数字）」と「円」をインラインブロックに */
.price_num,
.yen {
    display: inline-block;
}

/* 「価格（数字）」の書式設定 */
.price_num {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 36px;
    font-weight: 600;
    padding: 6px 0 16px;
}

/* 金額（数字）の下余白 */
.num_02 {
    margin-bottom: 10px;
}

/* 「円」の書式設定 */
.yen {
    font-size: 19px;
}

/* ヨコ線の設定 */
.line {
    display: block;
    width: 80%;
    height: 1px;
    background-color: #DD765B;
    margin: 0 auto;
}

/* ――――――――――――――――――――――――――――― */

/* 施術の流れ */

/* ――――――――――――――――――――――――――――― */

/* セクション幅（画像の最大幅に合わせる） */
.worksSec {
    max-width: 940px;
    margin: 0 auto 100px;
}

/* コンテンツをヨコ並びに */
.step ul {
    display: flex;
    gap: 30px;
    padding-top: 40px;
}

/* コンテンツ幅 */
.step li {
    width: 300px;
    overflow: hidden;
}

@media (width < 428px) {

    /* コンテンツ幅 */
    .worksSec {
        width: calc(100% - 40px);
    }

    /* コンテンツをタテ並びに */
    .step ul {
        display: flex;
        width: calc(100% - 40px);
        flex-direction: column;
        width: 100%;
        margin: 0 auto;
    }

    /* コンテンツをモニター幅いっぱいに */
    .step li {
        width: 100%;
        margin: 0 auto 40px;
    }

}

/* 画像（picture）の高さ */
.step picture {
    height: 273px;
}

/* 見出しの書式設定 */
.works_h2 {
    display: block;
    text-align: center;
    font-size: 24px;
    color: #855436;
    letter-spacing: 0.06em;
    margin-bottom: 16px;
}

/* 本文の書式設定 */
.step p {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    margin-top: 8px;
}

/* 各項目の見出し設定 */
.work_content_title {
    display: block;
    font-size: 30px;
    color: #855436;
    margin-bottom: 16px;
}

@media (width < 428px) {

    /* 見出しの書式設定 */
    .works_h2 {
        font-size: 30px;
        margin-bottom: 20px;
    }

    /* 本文の書式設定 */
    .step p {
        font-size: 18px;
        padding: 0 10px;
    }

    .work_content_title {
        font-size: 25px;
    }

    /* 画像を親要素いっぱいに */
    .worksSec img {
        width: 100%;
    }
}

/* 各項目の画像とテキストの余白 */
.therapy_img,
.teaching img,
.therapy img,
.hearing_img {
    margin-bottom: 16px;
}

@media (width < 428px) {

    .teaching p,
    .therapy p,
    .hearing p {
        width: 100%;
        margin: 0 auto;
    }
}

/* 腱引き療法の３画像をヨコ並びに */
.therapy_wrapper_container {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

/* ――――――――――――――――――――――――――――― */

/* 施術事例 */

/* ――――――――――――――――――――――――――――― */

/* セクション幅 */
.treatment_caseSec {
    width: 100%;
    background-color: #F78166;
    padding: 50px 0 70px;
}

/* 中見出しの書式設定 */
.case_h2 {
    font-size: 26px;
    color: #fff;
    margin-bottom: 16px;
}

/* コンテンツ幅 */
.case_container {
    width: 940px;
    margin: 0 auto;
}

/* 本文の書式設定 */
.case_container p {
    color: #fff;
    letter-spacing: .05em;
    line-height: 1.6;
}

/* お客様の画像とフキダシを横並びに */
.case_wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    width: 940px;
}

/* 施術事例（その１）の下余白 */
.case_box {
    margin: 0 auto 60px;
}

/* 施術事例（その１）の本文と画像をタテ並びに */
.case_column {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    max-height: 100%;
}

/* 施術事例の各項目の下余白 */
.case_02,
.case_column p {
    margin-bottom: 16px;
}

/* 施術事例（その１）の大きな画像の表示設定 */
.case_pics_l {
    overflow: hidden;
    width: 100%;
    height: 362px;
}

/* 施術事例（その１）の小さな画像をヨコ並びに */
.case_pics ul {
    display: flex;
    justify-content: space-between;
    gap: 32px;
}

/* 施術事例（その２）の動画と画像を上端揃えに */
.case_02 {
    justify-content: flex-start;
}

/* 施術事例（その２）の動画（親要素）の表示設定 */
.video_container {
    width: auto;
    height: 327px;
    overflow: hidden;
}

/* 施術事例（その２）の動画（子要素）の表示設定 */
.video_container video {
    width: auto;
    height: 327px;
    object-position: center;
}

/* 施術事例（その２）の画像設定（relative） */
.case_02_box {
    position: relative;
}

/* 施術事例（その２）のフキダシ設定 */
.fukidashi_03 {
    position: absolute;
    top: -100px;
    right: -70px;
}

@media (width < 428px) {

    /* コンテンツの幅 */
    .case_container {
        width: calc(100% - 40px);
        margin: 0 auto;
        overflow: hidden;
    }

    /* コンテンツをタテ並びに */
    .case_wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    /* 本文の行間設定 */
    .case_container .case_h2 {
        line-height: 1.6;
    }

    /* 施術事例（その１）の小さい画像を２列表示に */
    .case_pics ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 15px 10px;
        width: 100%;
        margin: 0 auto;
    }

    .case_pics li {
        width: 100%;
    }

    /* 各画像を親要素の幅いっぱいに */
    .case_02 img,
    .case_01 img,
    .case_pics img {
        width: 100%;
    }


    /* 画像を親要素の幅いっぱいに */
    .case_02_box {
        width: 100%;
    }

    /* 動画を親要素の幅いっぱいに */
    .video_container video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .fukidashi_03 {
        display: none;
    }
}

/* ――――――――――――――――――――――――――――― */

/* イベント情報・スケジュール */

/* ――――――――――――――――――――――――――――― */

/* スケジュールの表示設定 */
.schedule {
    display: block;
    width: 100%;
    height: 450px;
    margin: 0 auto;
}

@media (width < 428px) {

    /* スケジュールの表示設定 */
    .schedule {
        width: calc(100% - 40px);
    }
}

.calendar_caption {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 50px;
    margin: 20px auto 0;
}

.color_cap {
    display: flex;
    justify-content: center;
    gap: 8px;
    align-items: center;
}

.color_cap p {
    font-size: 16px;
    line-height: 16px;
    padding-bottom: 2px;
    font-feature-settings: "palt";
}

.color_ex_01,
.color_ex_02,
.color_ex_03 {
    width: 16px;
    height: 16px;
}

.color_ex_01 {
    background-color: #EF6C00;
}

.color_ex_02 {
    background-color: #0B8043;
}

.color_ex_03 {
    background-color: #8E24AA;
}

@media (width < 428px) {

    .calendar_caption {
        display: flex;
        flex-wrap: wrap;
        width: calc(100% - 80px);
        justify-content: left;
        gap: 20px 50px;
        margin: 20px auto 0;
    }

    .color_cap {
        display: flex;
        justify-content: center;
        gap: 8px;
        align-items: flex-start;
    }

    .color_cap p {
        font-size: 16px;
        line-height: 1.5;
        padding-bottom: 0;
        margin-top: -5px;
        font-feature-settings: "palt";
    }
}

/* ――――――――――――――――――――――――――――― */

/* アクセス */

/* ――――――――――――――――――――――――――――― */

/* 要素の幅 */
.access_info {
    width: 650px;
    margin: 0 auto 40px;
}

/* 「駅からのルート案内」の表示設定 */
.access_title {
    display: block;
    text-align: center;
    color: #855436;
    margin-bottom: 40px;
    /* 書式設定はabout_titleと同じ */
}

@media (width < 428px) {

    /* 項目を親要素の幅いっぱいに */
    .access_info {
        width: 100%;
        margin: 0 auto 40px;
    }

    /* 地図の高さ */
    .map {
        width: 100%;
        height: 300px;
    }
}

.acceess_text {
    display: block;
}

/* 住所と電話番号（table）の下余白 */
.accessSec>table {
    margin-bottom: 40px;
}

@media (width < 428px) {

    /* 住所と電話番号（table）の幅 */
    .accessSec>table {
        width: calc(100% - 40px);
    }

    /* 住所と電話番号（table１列目）の幅 */
    .access_info>table td:first-child {
        width: 80px;
    }
}

/* コンテンツ幅 */
.route_guide {
    width: 520px;
    margin: 0 auto;
}

@media (width < 428px) {

    /* コンテンツを親要素の幅いっぱいに */
    .route_guide {
        width: 100%;
    }
}

/* コンテンツをヨコ並びに */
.route_car,
.route_train {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 30px;
    margin-top: 40px;
}

/* 本文の表示設定 */
.route_text {
    display: block;
    text-align: left;
}

/* spanをblock要素に */
.route_text span {
    display: block;
}

/* google map設定（iframeに直接サイズ設定を入れない） */
.map {
    display: block;
    max-width: 1080px;
    width: 100%;
    height: 450px;
    margin: 0 auto 60px;
}

address {
    font-style: normal;
}

/* 本文の書式設定 */
.accessSec p {
    font-size: 16px;
}

/* コンテンツ幅 */
.route_guide_station {
    width: 940px;
    margin: 0 auto;
}

/* コンテンツをヨコ並びに（折り返す） */
.route_guide_station ul {
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
    gap: 24px;
}

/* １つあたりのコンテンツ幅 */
.route_guide_station li {
    width: 217px;
}

@media (width < 428px) {

    /* コンテンツを親要素の幅いっぱいに */
    .route_guide_station {
        width: 100%;
    }

    /* コンテンツを２列表示に */
    .route_guide_station ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    /* １つあたりのコンテンツを親要素の幅いっぱいに */
    .route_guide_station li {
        width: 100%;
    }

    /* 画像を親要素の幅いっぱいに */
    .route_guide_station img {
        width: 100%;
    }
}

/* ――――――――――――――――――――――――――――― */

/* お問い合わせ */

/* ――――――――――――――――――――――――――――― */

/* 要素の幅 */
.qa_container {
    width: 800px;
    margin: 0 auto;
}

@media (width < 428px) {

    /* コンテンツを親要素の幅いっぱいに */
    .qa_container {
        width: 100%;
    }
}

/* 質問下の罫線 */
.qa_box {
    border-bottom: 1px solid #855436;
    margin-bottom: 20px;
}

/* 「Q」とテキストを横並びに */
.question {
    display: flex;
    gap: 20px;
}

/* 「Q」の文字の書式設定 */
.qa_title {
    font-family: "Josefin Sans", sans-serif;
    font-size: 26px;
    padding-top: 3px;
    display: inline-block;
}

/* 「Q」の文字色 */
.q_title {
    color: #855436;
}

/* 「A」の文字色 */
.a_title {
    color: #DD765B;
}

/* 行間の高さ */
.qaSec p {
    line-height: 1.6;
}

/* 質問文の下余白（relative） */
.question {
    margin-bottom: 8px;
    position: relative;
}


@media (width < 428px) {

    /* 回答文の右側に余白を */
    .question p {
        padding-right: 50px;
    }
}

/* 「Q」のクリック前は「A」要素は非表示に */
.answer {
    display: none;
    margin-bottom: 16px;
}

/* 回答文の左側に余白を（「A」と重なるため） */
.answer p {
    display: inline;
    padding-left: 20px;
    color: #b85137;
}


/* toggleメニュー */
/* ―――――――――――――――――――――――― */

/* 回答文右側の矢印の設定 */
.question::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    border: none;
    border-right: 2px solid #855436;
    border-bottom: 2px solid #855436;
    transition: 0.3s ease-out;
    z-index: 10;
}

/* 質問文をクリック時、矢印を回転 */
.question.is_open::after {
    transform: translateY(-50%) rotate(225deg);
    border-right: 2px solid #DD765B;
    border-bottom: 2px solid #DD765B;
}



/* ――――――――――――――――――――――――――――― */

/* 電磁波も無関係ではありません */

/* ――――――――――――――――――――――――――――― */

/* コンテンツをヨコ並びに */
.denjiha_container {
    display: flex;
    width: 100%;
    gap: 30px;
    align-items: flex-start;
}

/* イラスト設定（relative） */
.illust_box {
    position: relative;
}

.caption_01,
.caption_02 {
    font-size: 16px;
}

/* キャプション（施術マット）の配置設定 */
.caption_01 {
    position: absolute;
    bottom: 25px;
    left: 50px;
    font-feature-settings: "palt";
    letter-spacing: .05em;
}

/* キャプション（低周波除去器）の配置設定 */
.caption_02 {
    position: absolute;
    bottom: 0px;
    right: 60px;
}

.denjiha_wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    gap: 30px;
    margin-bottom: 10px;
}

.denjiha_01,
.denjiha_02 {
    width: 217px;
}

.denjiha_wrapper img,
.denjiha_wrapper span {
    display: block;
}

.denjiha_wrapper span {
    font-size: 16px;
    text-align: center;
    padding: 0 20px;
    letter-spacing: .05em;
}

.denjiha_wrapper img {
    width: 100%;
    margin-bottom: 8px;
    line-height: 1.6;
}

@media (width < 428px) {

    .denjiha_wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-bottom: 10px;
    }

    .denjiha_wrapper span {
        font-size: 18px;
    }

    .denjiha_wrapper img {
        display: block;
        width: 100%;
        text-align: center;
        margin: 0 auto 10px;
    }

    .denjiha_01,
    .denjiha_02 {
        width: 100%;
    }

    /* コンテンツをタテ並びに */
    .denjiha_container {
        display: flex;
        flex-direction: column;
        width: calc(100% - 40px);
        align-items: flex-start;
        margin: 0 auto;
    }

    /* 画像を親要素の幅いっぱいに */
    .illust_box img {
        width: 100%;
        margin: 10px 0 0;
    }

    /* キャプション（施術マット）の配置設定 */
    .caption_01 {
        position: absolute;
        bottom: 15px;
        left: 15px;
    }

    /* キャプション（低周波除去器）の配置設定 */
    .caption_02 {
        position: absolute;
        bottom: -5px;
        right: 30px;
    }
}

/* ――――――――――――――――――――――――――――― */

/* リンク */

/* ――――――――――――――――――――――――――――― */

/* コンテンツ幅 */
.linkSec {
    width: 960px;
    margin: 0 auto 100px;
}

/* 見出しの下余白 */
.linkSec>.h2_text {
    margin-bottom: 8px;
}

/* 「別ウインドウで開きます」書式設定 */
.linkSec span {
    display: block;
    font-size: 16px;
    text-align: center;
    margin-bottom: 60px;
}

/* コンテンツをヨコ並びに */
.linkSec ul {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin: 0 auto;
}

/* 画像を親要素の幅いっぱいに */
.linkSec ul img {
    width: 100%;
    transition: 0.3s;
}

@media (width < 428px) {

    /* コンテンツを親要素の幅いっぱいに */
    .linkSec {
        width: 100%;
    }

    /* コンテンツをタテ並びに */
    .linkSec ul {
        display: flex;
        width: calc(100% - 40px);
        flex-direction: column;
        justify-content: center;
        gap: 50px;
        margin: 0 auto;
    }

    /* コンテンツを中央寄せ */
    .linkSec li {
        margin: 0 auto;
    }

    /* 画像を親要素の幅いっぱいに */
    .linkSec ul img {
        display: block;
        width: calc(100% - 40px);
        margin: 0 auto;
    }
}

/* 画像のhover設定（少し薄くする） */
.linkSec ul img:hover {
    opacity: 0.8;
}

/* ――――――――――――――――――――――――――――― */

/* フッター */

/* ――――――――――――――――――――――――――――― */

/* フッター上のイラストをモニター幅いっぱいに */
.footer_bg {
    display: block;
    width: 100%;
    transform: translateY(1px);
}

/* フッターの表示設定（モニター幅いっぱいに） */
footer {
    width: 100%;
    padding: 30px 0 40px;
    background-color: #F78166;
}

/* フッター内容の幅 */
.footer_container {
    width: 1180px;
    margin: 0 auto;
}

.footer_link_top {
    margin-bottom: 20px;
}

/* コンテンツをヨコ並びに */
.footer_container>ul {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 20px;
}

/* リンクの表示設定 */
.footer_container a {
    text-align: left;
    color: #fff;
}

/* リンクのhover設定（下線を表示） */
.footer_container a:hover {
    text-decoration: underline;
    text-underline-offset: 0.5em;
}

/* 「お問い合わせ」コンテンツをヨコ並びに */
.footer_contact {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0px;
    margin: 0 auto 10px;
}

@media (width < 428px) {

    /* コンテンツを親要素の幅いっぱいに */
    .footer_container {
        width: calc(100% - 40px);
        margin: 0 auto;
    }

    /* コンテンツを３列表示に */
    .footer_container>ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 20px 10px;
        margin-bottom: 50px;
    }

    /* １つあたりのコンテンツの高さ */
    .footer_container>li {
        height: 40px;
    }

    /* リンクの書式設定 */
    .footer_container a {
        display: block;
        text-align: center;
    }

    /* コンテンツをタテ並びに */
    .footer_contact {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 100%;
    }
}

/* SNSアイコンをヨコ並びに */
.footer_sns_icon ul {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 2px;
    gap: 20px;
}

/* SNSアイコンの大きさ */
.footer_sns_icon img {
    display: block;
    width: 40px;
    transition: 0.3s;
}

/* SNSアイコンのhover設定（少し大きくする） */
.footer_sns_icon img:hover {
    transform: scale(1.1);
}

/* 「お問い合わせ」の書式設定 */
.footer_otoiawase {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    margin-top: 2px;
    padding: 5px 8px;
    color: #fff;
    border: 1px solid #fff;
}

/* コンテンツをヨコ並びに */
.footer_tel {
    display: flex;
    width: 470px;
    justify-content: center;
    gap: 30px;
    margin: 0;
}

/* 電話アイコンの表示設定 */
.tel_icon_w {
    width: 7%;
    margin-right: -15px;
}

/* 電話番号の書式設定 */
footer .tel_number {
    font-family: "Inter", sans-serif;
    display: block;
    color: #fff;
}

footer .tel_number:hover {
    text-decoration: none;
}

@media (width > 428px) {
    footer .tel_number {
        pointer-events: none;
    }
}

/* ヨコ線の書式設定 */
.footer_line {
    width: 80%;
    height: 1px;
    background-color: #fff;
    margin: 0 auto 20px;
}

/* コピーライトの書式設定 */
.copy_right {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
}

@media (width < 428px) {

    /* 「お問い合わせ」の書式設定 */
    .footer_otoiawase {
        font-size: 18px;
        font-weight: 400;
        padding: 5px 30px;
        margin-bottom: 15px;
    }

    /* アイコンと画像の表示設定 */
    .footer_tel {
        display: flex;
        width: 100%;
        justify-content: center;
        gap: 30px;
        margin: 0;
    }

    /* 電話アイコンの表示設定 */
    .tel_icon_w {
        width: 9%;
        margin-right: -15px;
        padding-bottom: 15px;
        /* 少し上に位置を調整 */
    }

    /* 電話番号の表示設定 */
    footer .tel_number {
        font-size: 32px;
        display: block;
        color: #fff;
        margin-bottom: 15px;
    }

    /* SNSアイコンの表示設定 */
    .footer_sns_icon ul {
        gap: 30px;
        margin-bottom: 20px;
    }

    /* SNSアイコンの表示設定 */
    .footer_sns_icon img {
        display: block;
        width: 50px;
    }

    /* ヨコ線の表示設定 */
    .footer_line {
        width: 100%;
    }
}