/*
Theme Name: アートスタジオよんなーよんなー
Theme URI: 
Description: アートスタジオよんなーよんなーのオリジナルテーマです。
Version: 1
Author: Artstudio Yonna-yonna-
Author URI: 
*/


@charset "UTF-8";

/* --------------------------
all
----------------------------*/

*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
html {
    width: 100%;
    height: 100%;
}


html {
    margin: 0;
    padding: 0;
}

body {
    font-family: "Noto Sans JP", serif;
    /* font-optical-sizing: auto; */
    font-weight: 300;
    font-style: normal;
    color: #4D5156;
}

a {
    text-decoration: none;
    transition-duration: 0.3s;
    color: #fff;
}

a:hover {
    opacity: 0.6;
}

ul {
    margin: 0;
    padding: 0;
}

ul li {
    list-style-type: none;
    padding: 0;
}


img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.body-wrapper {
    overflow-x: hidden;
}

.inner {
    width: 900px;
    margin: 0 auto;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

/* --------------------------
ヘッダー
----------------------------*/

#header,
.inner {
    overflow: visible;
    /* 親要素のoverflowを設定 */
}

#header .header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 80px;
    background-color: #fff;
}

#header .header-top-l {
    display: flex;
    align-items: center;
    margin-left: 50px;
}


#header .header_logo {
    width: 260px;
    line-height: 1;
    margin-left: 50px;
}

.header-addres {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    text-align: right;
    line-height: 1.2;
    margin-right: 50px;
}

.addres-detail {
    font-family: "Noto Sans JP", serif;
    font-weight: 300;
    font-size: 12px;
}


.header_sns {
    display: flex;
    column-gap: 15px;
    align-items: center;
    /* margin-left: 100px; */
}

/* ナビゲーション全体の帯背景と中央揃え */


.header-nav {
    display: flex;
    justify-content: flex-start;
    background-color: rgba(252, 150, 178, 0.8);
    /* ピンク背景＋透過 */
    padding: 0 0 0 50px;
    list-style: none;
    margin: 0;
    gap: 0;
    height: 54px;
    /* ナビ全体の高さを明確に指定 */
    position: relative;
    z-index: 10;
}

.header-nav li {
    margin: 0;
    height: 100%;
    /* li もナビ全体と同じ高さに */
}

.header-nav li a {
    display: flex;
    align-items: center;
    height: 100%;
    /* 親liに合わせる */
    padding: 0 12px;
    /* 左右の余白だけ。上下はナビ全体と合わせるためなし */
    text-decoration: none;
    font-family: "Noto Sans JP", serif;
    font-size: 14px;
    font-weight: 300;
    color: #5A2E2E;
    /* transition: background-color 0.3s ease; */
}

.header-nav li a:hover {
    background-color: rgba(231, 84, 128, 0.6);
    /* 濃いピンク＋透過 */
    border-radius: 0;
}

/* 固定時のスタイルを追加 */
.header-nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
}

/* 固定でズレないようにマージン追加 */
.header-nav-spacer {
    height: 54px;
    /* .header-navと同じ高さ */
    display: none;
}

.header-nav.fixed+.header-nav-spacer {
    display: block;
}

/* 右端寄せ： special-btn（＝li）に auto マージン */
.header-nav li.special-btn {
    margin-left: auto;
}

/* 2個ボタンが続くので、2個目は auto を無効化（右端に揃えて横並びにする）*/
.header-nav li.special-btn+li.special-btn {
    margin-left: 0;
}

/* ボタン装飾（li.special-btn の中の a）*/
.header-nav li.special-btn>a {
    background-color: rgba(253, 147, 186, 0.8);
    color: #fff;
    padding: 8px 20px;
    transition: 0.3s;
}

.header-nav li.special-btn>a:hover {
    background-color: rgba(244, 115, 160, 0.8);
}

/* 画面幅1200px以下で少し圧縮 */
@media screen and (max-width: 1200px) {
  .header-nav {
    padding-left: 30px; /* 左余白を少し減らす */
  }

  .header-nav li a {
    font-size: 13px; /* 少し小さく */
    padding: 0 10px; /* 横幅も圧縮 */
  }

  .header-nav li.special-btn > a {
    padding: 6px 16px; /* ボタンも少しコンパクトに */
  }
}

/* 画面幅1024px以下でさらに圧縮 */
@media screen and (max-width: 1024px) {
  .header-nav {
    padding-left: 20px;
  }

  .header-nav li a {
    font-size: 12px;
    padding: 0 8px;
  }

  .header-nav li.special-btn > a {
    font-size: 12px;
    padding: 5px 12px;
  }
}

/* 画面幅900px以下では文字縮小＋最小padding */
@media screen and (max-width: 900px) {
  .header-nav li a {
    font-size: 11.5px;
    padding: 0 6px;
  }

  .header-nav li.special-btn > a {
    font-size: 11.5px;
    padding: 4px 10px;
  }
}



/* --------------------------
メインビジュアル
----------------------------*/

/* スライダー全体 */
.slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 900px;
    background-color: #fff;
    /* top: -53px; */
    margin-bottom: -50px;
    margin-top: 0;
    /* 初期値として 0 にしておく */
}

/* 全面の白波 */
.shiro-nami {
    width: 100%;
    /* 画面幅いっぱいに広げる */
    height: 100vh;
    position: absolute;
    bottom: -800px;
    z-index: 2;
}

.shiro-nami img {
    width: 100%;
    /* 親要素にフィット */
    height: auto;
    /* アスペクト比を維持 */
    display: block;
    /* 余計な隙間をなくす */
}


/* スライダー画像 */
.slider .image {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 81%;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 140px;
}

/* 画像の設定 */
.slider .image:nth-of-type(1) {
    background-image: url(img/mv_01.jpg);
}

.slider .image:nth-of-type(2) {
    background-image: url(img/mv_02.jpg);
}

.slider .image:nth-of-type(3) {
    background-image: url(img/mv_03.jpg);
}

.slider .image:nth-of-type(4) {
    background-image: url(img/mv_04.jpg);
}

/* 1〜3枚目のスライドアニメーション */
.slider .image:nth-of-type(1) {
    animation: slideAnime 3s ease-in-out 0s forwards;
}

.slider .image:nth-of-type(2) {
    animation: slideAnime 3s ease-in-out 3s forwards;
}

.slider .image:nth-of-type(3) {
    animation: slideAnime 3s ease-in-out 6s forwards;
}

/* 4枚目はフェードインして固定 */
.slider .image:nth-of-type(4) {
    animation: fadeIn 3s ease-in-out 9s forwards;
}

/* スライドのフェードイン・フェードアウト */
@keyframes slideAnime {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: scale(1.1);
    }
}

/* 4枚目だけはそのまま維持 */
@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* テキストのアニメーション */
.text-animation {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    position: absolute;
    opacity: 0;
    transform: translateX(-50px);
}

.text-animation img {
    width: 500px;
    height: auto;
}

/* 各テキストのアニメーション */
.slider .image:nth-of-type(1) .text-animation {
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    left: 7%;
    bottom: 40%;
    animation: textAnime 3s ease-in-out 0s forwards;
}

.slider .image:nth-of-type(2) .text-animation {
    font-size: 3rem;
    font-weight: 300;
    left: 70%;
    bottom: 20%;
    animation: textAnime 3s ease-in-out 3s forwards;
}

.slider .image:nth-of-type(3) .text-animation {
    font-size: 2.5rem;
    font-weight: 300;
    left: 7%;
    bottom: 40%;
    animation: textAnime 3s ease-in-out 6s forwards;
}

.slider .image:nth-of-type(4) .text-animation {
    width: 100%;
    height: auto;
    left: 7%;
    bottom: 25%;
    animation: fadeInText 3s ease-in-out 9s forwards;
}

/* テキストのフェードイン・フェードアウトアニメーション */
@keyframes textAnime {
    0% {
        opacity: 0;
        transform: translateX(-40px);
    }

    /* 25% { opacity: 1; transform: translateX(0); } */
    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateX(30px);
    }
}

/* 4枚目のテキストはそのまま固定 */
@keyframes fadeInText {
    0% {
        opacity: 0;
        transform: translateX(-70px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 各画像にグラデーションを追加 */
.slider .image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    /* テキストの下に配置 */
}

/* 1枚目のグラデーション (上から下) */
.slider .image:nth-of-type(1)::before {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
}

/* 2枚目のグラデーション (左から右) */
.slider .image:nth-of-type(2)::before {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));
}

/* 3枚目のグラデーション (下から上) */
.slider .image:nth-of-type(3)::before {
     background: linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
}

/* 4枚目のグラデーション (右から左) */
.slider .image:nth-of-type(4)::before {
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

/* テキストがグラデーションの上にくるように調整 */
.text-animation {
    position: absolute;
    z-index: 3;
    /* グラデーションより前面 */
}

/* --------------------------
about
----------------------------*/

#about {
    position: relative;
    margin: 0 auto;
    z-index: 2;
}

.section_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    color: #F26E90;
    text-align: center;
    margin-bottom: 80px;
}

.sec1-title {
    width: 780px;
    height: auto;
    padding-left: 160px;
    margin-bottom: 80px;
}

.text {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 45px;
}

/* Read More ボタン */
.read-more_btn {
    background-color: #FC96B2;
    border-radius: 10px;
    width: 200px;
    color: #fff;
    font-size: 16px;
    display: block;
    padding: 10px 10px;
    text-align: center;
    transition: 0.3s;
    position: relative;
}

/* 上記のボタンをセンター表示 */
.btn-center {
    margin: 0 auto 250px;
}


.read-more_btn:hover {
    opacity: 0.9;
    transform: scale(1.02);
}

.about_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 150px;
    margin-top: 100px;
}

.about-l {
    padding-left: 70px;
}

.about-r {
    position: relative;
    /* これを追加 */
    display: inline-block;
    /* 必要に応じて調整 */
}

.about-r img {
    width: 550px;
    /* position: relative; */
    z-index: 1;
    /* 背景側 */
}

.explanation_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 150px;
    margin-top: 150px;
}


/* ▼ セクション１の背景飾り */
.sec1-bg01 {
    position: absolute;
    bottom: -150px;
    right: -90px;
}

.sec1-bg01 img {
    width: 250px;
    height: auto;
    max-width: none;
}

.sec1-bg02 {
    position: absolute;
    top: -120px;
    left: -660px;
}

.sec1-bg02 img {
    width: 250px;
    height: auto;
    max-width: none;
}

.sec1-bg03 {
    position: absolute;
    top: -180px;
    left: 600px;
}

.sec1-bg03 img {
    width: 180px;
    height: auto;
    max-width: none;
}

.sec1-bg04 {
    position: absolute;
    bottom: -85px;
    right: 840px;
}

.sec1-bg04 img {
    width: 200px;
    height: auto;
    max-width: none;
}


/* フェードインさせる要素 */
/* ▼ 下からフェードイン */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s, transform 1s;
}

.fadeIn {
    opacity: 1;
    transform: translateY(0);
}

/* ▼ 左からフェードイン */
.fade-left {
    opacity: 0;
    transform: translateX(-30px);
    /* 左に30pxずらす */
    transition: opacity 1s, transform 1s;
}

.fadeLeft {
    opacity: 1;
    transform: translateX(0);
}

/* ▼ 右からフェードイン */
.fade-right {
    opacity: 0;
    transform: translateX(30px);
    /* 右に30pxずらす */
    transition: opacity 1s, transform 1s;
}

.fadeRight {
    opacity: 1;
    transform: translateX(0);
}



/* --------------------------
チョークアートとは？
----------------------------*/
.explanation {
    background: url(img/bg_pink-wave.png) no-repeat top center;
    background-size: cover;
    /* 背景を全体にフィット */
    background-position: top center;
    /* 位置を調整 */
    width: 100vw;
    /* 画面幅いっぱい */
    min-height: 70vh;
    /* 画面全体の高さを確保 */
    max-height: 75vh;
    display: flex;
    /* 必要に応じてコンテンツの調整 */
    flex-direction: column;
    /* 子要素を縦に並べる */
    margin-bottom: 100px;
}

.explanation-l {
    width: 380px;
    position: relative;
}

.explanation-l img {
    position: absolute;
    bottom: -200px;
}

.explanation-r {
    padding-top: 50px;
    padding-right: 0;
}

.explanation_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    color: #F26E90;
    text-align: left;
    margin-bottom: 20px;
}

.sanbonsen {
    position: relative;
}

.sanbonsen::before {
    content: url(img/sanbonsen.svg);
    width: 40px;
    height: auto;
    position: absolute;
    top: -23px;
    left: -32px;
}

/* --------------------------
チョークアートの魅力
----------------------------*/

/* ▼ appeal 本体のスタイル（背景はなし） */
.appeal {
    position: relative;
    height: 350px;
    width: 100%;
    margin-bottom: 200px;
    padding-top: 50px;
    overflow: hidden;
    /* アニメーション時にはみ出さないように */
}

/* ▼ 背景画像用の要素 */
.appeal-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(img/bg_appeal.png) no-repeat top right;
    background-size: contain;
}

.appeal-l p {
    margin-bottom: 50px;
}

.heart {
    position: relative;
}

.heart::before {
    content: url(img/heart.svg);
    width: 65px;
    height: auto;
    position: absolute;
    top: -45px;
    left: -25px;
}


/* --------------------------
お知らせ
----------------------------*/
.news-flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
}

.news-item {
    width: 22%;
    height: 200px;
}

.news-item img {
    border-radius: 15px;
    margin-bottom: 5px;
}

.news-date {
    font-size: 16px;
    color: #F26E90;
    margin-bottom: 5px;
}

.news-title {
    font-size: 16px;
    color: #4D5156;
}

/* ジグザグに並べる */
.news-item:nth-child(1) {
    margin-top: 0px;
}

.news-item:nth-child(2) {
    margin-top: 40px;
}

.news-item:nth-child(3) {
    margin-top: 20px;
}

.news-item:nth-child(4) {
    margin-top: 60px;
}


/* --------------------------
コースの紹介
----------------------------*/

#corse {
    background-color: #FAE7EB;
    padding: 0 0 50px;
    margin-bottom: 200px;
    position: relative;
}

#corse::before {
    content: "";
    position: absolute;
    top: -100px;
    /* 半円の位置をさらに上に */
    left: 50%;
    transform: translateX(-50%);
    width: 170%;
    /* 横幅を広げることで丸みを大きく */
    height: 1000px;
    /* 高さを増やす（大きくすると丸みが強くなる） */
    background-color: #FAE7EB;
    border-radius: 100% 100% 0 0;
    /* 上部の丸みを強調 */
}

.corse-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.corse_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 36px;
    color: #F26E90;
    text-align: center;
    margin-bottom: 50px;
}

.tensen {
    position: relative;
}

.tensen::before {
    content: url(img/tensen.svg);
    width: 40px;
    height: auto;
    position: absolute;
    left: 75px;
}

.tensen::after {
    content: url(img/tensen.svg);
    width: 40px;
    height: auto;
    transform: scale(-1, 1);
    position: absolute;
    right: 95px;
}

.corse_subcopy {
    font-size: 20px;
    line-height: 34px;
    text-align: center;
    margin-bottom: 60px;
}

.corse_subcopy span {
    font-weight: 500;
    color: #F26E90;
}

.corse-frame {
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 10px 10px 15px -17px;
    padding: 20px;
    margin-bottom: 30px;
}

.wi-100 {
    width: 100%;
}

.wi-48 {
    width: 48%;
}

.corse-name {
    background-color: #f98fab;
    border-radius: 8px;
    font-size: 25px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    height: 50px;
    line-height: 47px;
    /* 高さと揃える */
    margin-bottom: 20px;
}


.corse-wide {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.corse-left {
    width: 50%;
    margin-left: 40px;
}

.corse-right {
    width: 40%;
    height: auto;
    margin-right: 10px;
}

.corse-head {
    font-size: 21px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
}

.corse-lead {
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 30px;
    text-align: left;
}

.corse_flame-img {
    width: 95%;
    margin: 0 auto 20px;
}

.corse-vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 子要素を左右中央に配置 */
}

/* --------------------------
オンラインショップ
----------------------------*/
#shop {
    margin-bottom: 250px;
}

.shop_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    text-align: center;
    margin-bottom: 30px;
}

.shop-lead {
    font-size: 16px;
    font-weight: 400px;
    text-align: center;
    margin-bottom: 40px;
}

.shop-slider {
    overflow: hidden;
    width: 100%;
    margin-bottom: 40px;
}

.slider-track {
    display: flex;
    width: calc(250px * 12);
    /* 画像枚数 × 幅（ここでは12枚 × 250px） */
    animation: scroll 40s linear infinite;
}

.slider-track img {
    width: 250px;
    height: auto;
    margin-right: 10px;
}

/* アニメーションの定義 */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.shop_btn {
    background-color: #FC96B2;
    border-radius: 10px;
    width: 220px;
    color: #fff;
    font-size: 16px;
    display: block;
    padding: 10px 10px;
    text-align: center;
    transition: 0.3s;
    position: relative;
    margin: 0 auto;
}

/* --------------------------
オーダー制作
----------------------------*/
#order {
    position: relative;
    width: 100%;
    height: 450px;
    margin-bottom: 140px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.order-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(img/order_bg.jpg) no-repeat center center / cover;
    opacity: 0.15;
    /* 背景画像の不透明度15% */
    z-index: 1;
}

.order-content {
    position: relative;
    z-index: 2;
    /* 背景より前に出す */
    color: #333;
    /* お好みで調整 */
}

.order_btn_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 20px;
}

.order_btn {
    width: 450px;
    color: #ed6086;
    font-size: 20px;
    font-weight: 500;
    display: block;
    padding: 5px 0;
    border: 2px solid #ed6086;
    text-align: center;
    transition: 0.3s;
    position: relative;
    margin: 0 auto;
}


/* --------------------------
フッター
----------------------------*/

.site-footer {
    background: #ff91b3;
    color: #fff;
    padding: 40px 20px;
    font-size: 14px;
}

.footer-inner {
    position: relative;
    /* 相対位置を基準に */
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-col {
    flex: none;
    width: 30%;
    min-width: 250px;
}

.footer-logo {
    max-width: 280px;
    height: auto;
    margin-bottom: 10px;
}

.footer-col a {
    font-weight: 400;
    text-decoration: none;
}

.footer-info p {
    margin-top: 5px;
    padding-left: 5px;
}

.dli-mail {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    position: relative;
    width: 1.06667em;
    height: 0.8em;
    border: 0.1em solid currentColor;
    border-radius: 0.1em;
    box-sizing: content-box;
    overflow: hidden;
}

.dli-mail::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 0.75425em;
    height: 0.75425em;
    border: 0.1em solid currentColor;
    border-top-color: transparent;
    border-right-color: transparent;
    border-radius: 0 0 0 0.1em;
    box-sizing: content-box;
    transform: translate(-50%, -50%) rotate(-45deg) skew(10deg, 10deg);
}

.footer-map {
    flex: 1;
    min-width: 300px;
    max-width: 500px;
}


/* 横並びのボタン */
.btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.btn {
    display: inline-block;
    background: #fff;
    color: #ff91b3;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
}

/* フッターリンクを右中央に配置 */
.footer-links {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 200px;
    margin-left: auto;
    /* 🔸これで右端に寄せる */
    max-width: 240px;
    /* 任意：はみ出し防止 */
}



/* SNSボタンの横並び */
.sns-icons {
    display: flex;
    gap: 10px;
}


.sns-icons img {
    height: 32px;
    width: auto;
    display: block;
}

.footer-bottom {
    text-align: center;
    margin-top: 30px;
    font-size: 13px;
}




/* --------------------------
体験レッスンページ
----------------------------*/

.mv-etc-trial {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/trial_mv.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.mv-etc_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 42px;
    color: #F26E90;
    position: absolute;
    top: 110px;
    left: 150px;
}


.trial_container {
    display: block;
    margin: 200px auto 250px;

}

.trial_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    color: #F26E90;
    text-align: center;
    margin-bottom: 50px;
}

.trial-copy {
    font-size: 16px;
    line-height: 36px;
    text-align: center;
    margin-bottom: -150px;
    position: relative;
}

/* ▼ セクション１の背景飾り */
.trial-bg {
    margin-bottom: 200px;
}

.trial-bg01 {
    position: absolute;
    bottom: 120px;
    left: -80px;
}

.trial-bg01 img {
    width: 232px;
    height: auto;
    max-width: none;
}

.trial-bg02 {
    position: absolute;
    top: -40px;
    left: 10px;
}

.trial-bg02 img {
    width: 213px;
    height: auto;
    max-width: none;
}

.trial-bg03 {
    position: absolute;
    bottom: 20px;
    right: -110px;
}

.trial-bg03 img {
    width: 250px;
    height: auto;
    max-width: none;
}

.trial-bg04 {
    position: absolute;
    bottom: -190px;
    right: 50px;
}

.trial-bg04 img {
    width: 185px;
    height: auto;
    max-width: none;
}

.trial-bg-dot01 {
    position: absolute;
    top: 60px;
    left: -315px;
}

.trial-bg-dot01 img {
    width: 250px;
    height: auto;
    max-width: none;
}

.trial-bg-dot02 {
    position: absolute;
    top: -320px;
    right: -260px;
}

.trial-bg-dot02 img {
    width: 140px;
    height: auto;
    max-width: none;
}

.trial-bg-round {
    position: absolute;
    bottom: -240px;
    left: 230px;
}

.trial-bg-round img {
    width: 80px;
    height: auto;
    max-width: none;
}

.trial-bg-circle {
    position: absolute;
    bottom: -130px;
    right: -140px;
}

.trial-bg-circle img {
    width: 120px;
    height: auto;
    max-width: none;
}

/* ▼体験レッスンの流れ */
.trial-flow {
    background: url(img/bg_weve_dot-pink.png) no-repeat top center;
    background-size: cover;
    /* 背景を全体にフィット */
    background-position: top center;
    /* 位置を調整 */
    width: 100vw;
    /* 画面幅いっぱい */
    min-height: 1900px;
    /* 画面全体の高さを確保 */
    max-height: 2000px;
    display: flex;
    /* 必要に応じてコンテンツの調整 */
    flex-direction: column;
    /* 子要素を縦に並べる */
    margin-bottom: 100px;
}

.trial-flow-text {
    min-width: 350px;
}

.trial-flow-text .text {
    font-size: 18px;
    line-height: 28px;
    margin-left: 20px;
}

.trial-flow-text .text span {
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}


.trial-flow-title {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

.trial-step_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.trial-step_container img {
    width: 50%;
    /* position: relative; */
    z-index: 1;
    /* 背景側 */
}

.trial-step_container .pc img {
    width: 70%;
    /* position: relative; */
    z-index: 1;
    /* 背景側 */
}

.trial-flow-title img {
    width: 80px;
    height: auto;
}

.trial-flow-title p {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 25px;
    line-height: 32px;
    color: #F26E90;
    text-align: left;
    margin-left: 15px;
}

.trial-arrow {
    margin: 30px auto 30px;
    text-align: center;
}

.trial-arrow img {
    width: 56px;
    height: auto;
}

.trial-enjoy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 130px;
}

.trial-enjoy-text {
    width: 75%;
}

.enjoy-img {
    width: 840px;
    /* 少し大きく調整 */
    height: auto;
    position: relative;
    right: -25px;
    /* inner の右からはみ出す */
    bottom: 30px;
}


.enjoy-img img {
    width: 100%;
    height: auto;
}

.trial-bg-hexagon {
    position: absolute;
    top: -130px;
    left: -175px;
    z-index: -1;
}

.trial-bg-hexagon img {
    width: 310px;
}

.enjoy-img-2 {
    width: 840px;
    /* 少し大きく調整 */
    height: auto;
    position: relative;
    left: -40px;
    /* inner の左からはみ出す */
    bottom: 30px;
}


.enjoy-img-2 img {
    width: 100%;
    height: auto;
}

.trial-enjoy-title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    line-height: 31px;
    color: #F26E90;
    text-align: left;
    margin-bottom: 30px;
}

.trial-enjoy-text .text {
    font-size: 16px;
    line-height: 26px;
    margin-left: 20px;
}

.bg-position {
    position: relative;
}

.trial-bg-square-01 {
    position: absolute;
    top: 210px;
    left: -255px;
}

.trial-bg-square-01 img {
    width: 210px;
}

.trial-bg-square-02 {
    position: absolute;
    top: -50px;
    right: -260px;
}

.trial-bg-square-02 img {
    width: 360px;
}

.ma-bo200 {
    margin-bottom: 200px;
}

.trial-price {
    background-color: #fffedb;
    padding: 80px;
    text-align: center;
    margin-bottom: 200px;
}

.trial-price .price {
    font-size: 30px;
    line-height: 40px;
    font-weight: 500;
    margin-bottom: 50px;
}

.trial-price .price-text {
    font-size: 18px;
    line-height: 32px;
    font-weight: 400;
    margin-bottom: 50px;
}

.trial-price .price-lead {
    font-size: 24px;
    line-height: 38px;
    font-weight: 500;
    margin-bottom: 70px;
}

.trial-price hr {
    border-width: 1px 0px 0px 0px;
    border-style: solid;
    border-color: #040000;
    height: 1.2px;
    width: 600px;
    margin: 0 auto 70px;
}

.trial-price .apply {
    font-size: 24px;
    line-height: 38px;
    font-weight: 500;
    margin-bottom: 30px;
}

.trial-price .apply span {
    font-size: 20px;
    line-height: 32px;
    font-weight: 400;
    margin-bottom: 20px;
}

.apply-btn {
    background-color: #FC96B2;
    border-radius: 10px;
    width: 220px;
    color: #fff;
    font-size: 16px;
    display: block;
    padding: 10px 10px;
    text-align: center;
    transition: 0.3s;
    position: relative;
    margin: 0 auto 30px;
}

.go-to-inquiry {
    text-align: center;
    margin-bottom: 180px;
}

.go-to-inquiry p {
    font-size: 24px;
    line-height: 38px;
    font-weight: 500;
    margin-bottom: 30px;
}

.inquiry_btn_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 20px;
}

.inquiry_btn {
    width: 200px;
    color: #ed6086;
    font-size: 16px;
    font-weight: 500;
    display: block;
    padding: 10px 10px;
    border: 2px solid #ed6086;
    text-align: center;
    transition: 0.3s;
    position: relative;
}



/* --------------------------
当教室について
----------------------------*/

.mv-etc-about {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/about_mv.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.about-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.about-text {
    width: 75%;
}

.about-title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 26px;
    line-height: 36px;
    color: #F26E90;
    text-align: left;
    margin-bottom: 30px;
}

.about-text .text {
    font-size: 16px;
    line-height: 26px;
}

.about-img-01 {
    width: 840px;
    height: auto;
    position: relative;
    right: -25px;
    bottom: -10px;
}

.about-img-01 img {
    width: 100%;
    height: auto;
}

.about-img-02 {
    width: 840px;
    height: auto;
    position: relative;
    left: -50px;
    bottom: 70px;
}

.about-img-02 img {
    width: 100%;
    height: auto;
}

.about-bg-01 {
    position: absolute;
    top: -60px;
    left: -231px;
    z-index: -1;
}

.about-bg-01 img {
    width: 310px;
}

.about-bg-02 {
    position: absolute;
    top: 143px;
    right: -308px;
    z-index: -1;
}

.about-bg-02 img {
    width: 280px;
}

.about-bg-03 {
    position: absolute;
    top: 167px;
    left: -266px;
    z-index: -1;
}

.about-bg-03 img {
    width: 270px;
}

.about-bg-04 {
    position: absolute;
    top: 37px;
    right: -268px;
    z-index: -1;
}

.about-bg-04 img {
    width: 304px;
}

/* --------------------------
プロフィール・屋号
----------------------------*/

.profile {
    background: url(img/profile-bg.png) no-repeat top center;
    background-size: cover;
    /* 背景を全体にフィット */
    background-position: top center;
    /* 位置を調整 */
    width: 100vw;
    /* 画面幅いっぱい */
    min-height: 70vh;
    /* 画面全体の高さを確保 */
    max-height: 75vh;
    display: flex;
    /* 必要に応じてコンテンツの調整 */
    flex-direction: column;
    /* 子要素を縦に並べる */
    margin-bottom: 100px;
    z-index: 1;

}

.profile_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 150px;
    margin-top: 50px;
}

.profile-l {
    width: 590px;
}

.profile-r {
    padding-left: 30px;
}

.profile_title {
    width: 360px;
    height: auto;
    margin-bottom: 10px;
}

.profile_title img {
    width: 100%;
    height: auto;
}

.profile-name {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    margin-left: 20px;
    margin-bottom: 15px;
}

.profile-name span {
    font-size: 24px;
}

.profile-r .text {
    line-height: 21px;
    margin-left: 20px;
}

.yago {
    position: relative;
    width: 100vw;
    height: calc(100vh + 350px);
    display: flex;
    flex-direction: column;
    margin-top: -400px;
    /* ← 上の要素に潜り込ませる */
    z-index: -1;
    overflow: hidden;
}

.yago::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(img/yago_bg.webp) no-repeat top center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    opacity: 0.2;
    /* ← 透過 */
}



.yago_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 150px;
    margin-top: 440px;
}

.yago-title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 38px;
    line-height: 46px;
    color: #F26E90;
    text-align: left;
    margin-bottom: 30px;
}

.yago-text .text {
    font-size: 16px;
    line-height: 26px;
}

.yago-img {
    width: 500px;
    height: auto;
    position: relative;
    right: -25px;
    bottom: -10px;
}

.yago-imgimg {
    width: 100%;
    height: auto;
}

/* --------------------------
コース紹介ページ
----------------------------*/

.mv-etc-corse {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/corse_mv.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.corse-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 100px;
}

.corse_name {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    line-height: 41px;
    color: #F26E90;
    display: inline-block;
    /* 下線の幅を文字に合わせるため */
    border-bottom: 2px solid #F26E90;
    /* 線の太さと色 */
    padding-bottom: 10px;
    /* 文字との間に余白を少し追加 */
    margin-bottom: 25px;
}

.corse_midashi {
    font-family: "Kiwi Maru", serif;
    font-weight: 500;
    font-style: normal;
    font-size: 24px;
    margin-bottom: 25px;
}

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

.corse-text {
    width: 75%;
}

.corse-text .text {
    font-size: 16px;
    line-height: 26px;
}

.corse-text .text p span {
    font-weight: 600;
}

.corse-img {
    width: 510px;
    height: auto;
    position: relative;
    right: -25px;
    bottom: -10px;
}

.corse-img img {
    width: 100%;
    height: auto;
}

.corse_price-time {
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
}

.corse_price {
    font-size: 36px;
    font-weight: 400;
    margin-bottom: 15px;
}

.corse_price span {
    font-size: 20px;
    font-weight: 400;
}

.corse_price-caution {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 15px;
}

.corse_price-lead {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 50px;
}

.go-to-form-btn {
    background-color: #FC96B2;
    border-radius: 10px;
    width: 220px;
    color: #fff;
    font-size: 16px;
    display: block;
    padding: 10px 10px;
    text-align: center;
    transition: 0.3s;
    position: relative;
}

.corse-btn-wrap01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 800px;
    gap: 10px 12px;
    margin: 0 auto 150px;
    align-items: center;
}

.corse-btn a,
.corse-btn span {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 10px;  /* pill */
  text-decoration: none;
  white-space: nowrap;    /* ボタン内の文言は折り返さない */
  border: 1px solid #FC96B2; /* お好みで */
  background: #FC96B2;       /* お好みで */
  color: #fff;
  transition: .2s;
}

.corse-btn a:hover {
  opacity: .85;
}

.corse-btn span {
  pointer-events: none;    /* 現在ページは非リンク */
  border-color: #f9c0cf;      /* 現在表示中の強調 */
  background: #f9c0cf;     /* お好みで */
}



/* --------------------------
オーダー制作ページ
----------------------------*/
.mv-etc-order {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/order_mv.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}


.order_container {
    display: block;
    margin: 100px auto 400px;

}

.order_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    line-height: 60px;
    color: #F26E90;
    text-align: center;
    margin-bottom: 100px;
    position: relative;
}

.order-copy {
    font-family: "Noto Sans JP", serif;
    font-weight: 300;
    font-style: normal;
    color: #4D5156;
    font-size: 18px;
    line-height: 36px;
    text-align: center;
    margin-top: 100px;
    margin-bottom: -150px;
}

/* ▼ セクション１の背景飾り */
.orderpage-bg {
    margin-bottom: 100px;
}

.orderpage-bg01 {
    position: absolute;
    bottom: -200px;
    left: -220px;
}

.orderpage-bg01 img {
    width: 400px;
    height: auto;
    max-width: none;
}

.orderpage-bg02 {
    position: absolute;
    bottom: -580px;
    left: -80px;
}

.orderpage-bg02 img {
    width: 300px;
    height: auto;
    max-width: none;
}

.orderpage-bg03 {
    position: absolute;
    bottom: -130px;
    right: -245px;
}

.orderpage-bg03 img {
    width: 400px;
    height: auto;
    max-width: none;
}

.orderpage-bg04 {
    position: absolute;
    bottom: -450px;
    right: -55px;
}

.orderpage-bg04 img {
    width: 250px;
    height: auto;
    max-width: none;
}

.orderpage-bg-dot01 {
    position: absolute;
    top: 175px;
    left: -340px;
}

.orderpage-bg-dot01 img {
    width: 250px;
    height: auto;
    max-width: none;
}

.orderpage-bg-dot02 {
    position: absolute;
    bottom: -300px;
    right: -260px;
}

.orderpage-bg-dot02 img {
    width: 140px;
    height: auto;
    max-width: none;
}

.orderpage-bg-round {
    position: absolute;
    bottom: -650px;
    right: 60px;
}

.orderpage-bg-round img {
    width: 60px;
    height: auto;
    max-width: none;
}

.orderpage-bg-circle {
    position: absolute;
    bottom: -570px;
    right: -140px;
}

.orderpage-bg-circle img {
    width: 120px;
    height: auto;
    max-width: none;
}

/* 作品例 */

.order_sec-title-wrap {
    text-align: center;
}

.order_sec-title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 35px;
    line-height: 41px;
    text-align: center;
    color: #F26E90;
    display: inline-block;
    /* テキスト幅を固定可能に */
    width: 600px;
    /* 下線の幅に合わせる */
    border-bottom: 2px solid #FFE1DC;
    padding-bottom: 15px;
    margin-bottom: 90px;
}

.order_sec-title span {
    font-size: 28px;
}

/* 作品例 */

.order-collection-wrap {
    margin-bottom: 300px;
}

.order-collection {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 200px;
}

.order-collection.reverse {
    flex-direction: row-reverse;
}


.order-collection-name {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    line-height: 41px;
    color: #4D5156;
    display: inline-block;
    /* テキスト幅を固定可能に */
    width: 260px;
    /* 下線の幅に合わせる */
    border-bottom: 2px solid #4D5156;
    padding-bottom: 10px;
    margin-bottom: 20px;
}


.order-collection-text {
    width: 40%;
    padding-left: 30px;
}

.order-collection-text .text {
    font-size: 18px;
    line-height: 32px;
    /* margin-left: 5px; */
}

.order-collection-img {
    width: 70%;
    /* 少し大きく調整 */
    height: auto;

}


.order-collection-img img {
    width: 100%;
    height: auto;
}

.order-collection-bg-01 {
    position: absolute;
    top: -130px;
    right: -350px;
    z-index: -1;
}

.order-collection-bg-01 img {
    width: 310px;
}

.order-collection-bg-02 {
    position: absolute;
    top: -130px;
    right: 454px;
    z-index: -1;
}

.order-collection-bg-02 img {
    width: 310px;
}

.order-collection-bg-03 {
    position: absolute;
    top: -150px;
    right: -150px;
    z-index: -1;
}

.order-collection-bg-03 img {
    width: 250px;
}

.order-collection-bg-05 {
    position: absolute;
    top: -190px;
    left: -117px;
    z-index: -1;
}

.order-collection-bg-05 img {
    width: 250px;
}

.order-collection-bg-06 {
    position: absolute;
    top: 630px;
    right: -340px;
}

.order-collection-bg-06 img {
    width: 560px;
}

.order-collection-bg-07 {
    position: absolute;
    top: -180px;
    left: -200px;
    z-index: -1;
}

.order-collection-bg-07 img {
    width: 300px;
}

.order-collection-bg-08 {
    position: absolute;
    top: 500px;
    left: 160px;
}

.order-collection-bg-08 img {
    width: 400px;
}

.order-collection-bg-09 {
    position: absolute;
    top: 340px;
    left: -50px;
}

.order-collection-bg-09 img {
    width: 275px;
}

.order-collection-bg-10 {
    position: absolute;
    top: 540px;
    left: 160px;
}

.order-collection-bg-10 img {
    width: 250px;
}

.order-collection-bg-11 {
    position: absolute;
    top: -144px;
    right: -60px;
}

.order-collection-bg-11 img {
    width: 300px;
}



/* オーダーの流れ */

.order-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.order-flow-item {
    position: relative;
    padding-bottom: 80px;
    /* 縦線が下に伸びるための余白 */
    margin-bottom: 30px;
}

.order-flow-item:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 50px;
    background-color: #FACACF;
    /* 縦線の色 */
}



.order-flow-number {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    line-height: 32px;
    color: #F26E90;
    text-align: center;
    margin-bottom: 20px;
    position: relative;
}

.order-flow-text {
    font-family: "Noto Sans JP", serif;
    font-weight: 300;
    font-style: normal;
    color: #4D5156;
    font-size: 18px;
    line-height: 32px;
    text-align: center;
}

.order-caution {
    font-family: "Noto Sans JP", serif;
    font-weight: 400;
    font-style: normal;
    color: #4D5156;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    margin-bottom: 300px;
}

/* 料金について */
.order-price {
    margin-bottom: 150px;
}

.price-table {
    width: 700px;
    border-collapse: collapse;
    font-family: "Noto Sans JP", sans-serif;
    margin: 0 auto 70px;
}

.price-table th,
.price-table td {
    border: 1px solid #fff;
    padding: 15px;
    text-align: center;
    font-size: 16px;
}

.price-table thead th {
    background-color: #F26E90;
    color: #fff;
    font-weight: 500;
}

.price-table tbody tr:nth-child(even) {
    background-color: #FFF1F1;
}

.price-table tfoot td {
    text-align: right;
    font-size: 14px;
    padding-top: 20px;
    border: none;
    color: #666;
}

.price-lead {
    font-family: "Noto Sans JP", serif;
    font-weight: 300;
    font-style: normal;
    color: #4D5156;
    font-size: 18px;
    line-height: 32px;
    text-align: center;
}

.order-date {
    margin-bottom: 150px;
}

.date-lead {
    font-family: "Noto Sans JP", serif;
    font-weight: 300;
    font-style: normal;
    color: #4D5156;
    font-size: 18px;
    line-height: 36px;
    text-align: center;
}

.date-lead span {
    display: block;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
}


.nigaoe-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 130px;
}

.nigaoe-midashi {
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    line-height: 41px;
    color: #4D5156;
    margin-bottom: 20px;
}


.nigaoe-text {
    width: 35%;
    padding-left: 30px;
    padding-top: 70px;
}

.nigaoe-text .text {
    font-size: 18px;
    line-height: 32px;
    padding-left: 20px;
}

.nigaoe-img {
    width: 50%;
    /* 少し大きく調整 */
    height: auto;

}

.nigaoe-img img {
    width: 100%;
    height: auto;
}

.order-request {
    display: block;
    width: 600px;
    margin: 0 auto 200px;
}

.order-request-text {
    font-size: 18px;
    line-height: 32px;
    padding-left: 20px;
    margin-bottom: 70px;
    text-align: center;
}

.order-request-appli {
    display: block;
    justify-content: center;
    gap: 50px;
}

.order-request-mail {
    font-size: 18px;
    line-height: 46px;
    text-align: center;
    margin-bottom: 70px;
}

.order-request-mail a {
    font-size: 20px;
    font-weight: 400;
    color: #4D5156;
}

.order-request-line {
    font-size: 18px;
    line-height: 42px;
    text-align: center;
    margin-bottom: 70px;
}

.order-request-line img {
    width: 180px;
    height: auto;
}

.order-greeting {
    font-size: 18px;
    line-height: 32px;
    text-align: center;
    margin-bottom: 200px;
}

.order-greeting span {
    font-size: 26px;
    font-weight: 400;
}

.fixed-order-btn {
    position: fixed;
    bottom: 30px;
    right: 20px;
    z-index: 1000;
    display: block;
    width: 120px;
    /* 必要に応じて画像のサイズに調整 */
}

.fixed-order-btn img {
    width: 100%;
    height: auto;
}


/* --------------------------
レッスン申込みフォーム
----------------------------*/

.mv-etc-form {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/form_mv.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.mv-etc-contact {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/contact_mv.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.form-wrapper {
    max-width: 700px;
    margin: 0 auto 200px;
}

.form-description {
    text-align: center;
    margin-bottom: 50px;
    font-size: 16px;
    line-height: 1.6;
}

.form-group {
    margin-bottom: 40px;
}

label {
    font-weight: bold;
    display: block;
    margin-bottom: 7px;
}

.required,
.optional {
    display: inline-block;
    padding: 2px 6px;
    font-size: 12px;
    border-radius: 4px;
    margin-left: 6px;
}

.required {
    background-color: #f8a9ba;
    color: #fff;
}

.optional {
    background-color: #ccc;
    color: #fff;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #f8a9ba;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 14px;
}


.name-fields {
    display: flex;
    gap: 10px;
}

.name-fields input {
    width: 100%;
}

small {
    font-size: 12px;
    color: #666;
    display: block;
    margin-bottom: 5px;
}

textarea {
    resize: vertical;
}

.form-button {
    text-align: center;
    margin-top: 30px;
}

.form-button button {
    background-color: #f8a9ba;
    border: none;
    color: white;
    padding: 12px 40px;
    border-radius: 10px;
    font-size: 16px;
    cursor: pointer;
    transition: opacity 0.3s;
}

button:hover {
    opacity: 0.8;
}

.date-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.date-fields label {
    font-size: 14px;
    margin-bottom: 3px;
    display: block;
}

.date-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    /* スマホ時は折り返す */
}

.date-input {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.date-input label {
    font-size: 14px;
    margin-bottom: 4px;
}

input[type="date"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #f8a9ba;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 14px;
}

.form-note {
  font-size: 14px;
  line-height: 1.8;
  color: #555;
  margin-top: 10px;
}


/* エラー表示用 */
input.error,
select.error,
textarea.error {
    border-color: red;
    background-color: #ffe6e6;
}

.error-message {
    color: red;
    font-size: 12px;
    margin-top: 5px;
}

/* 確認用モーダルウィンドウ */
.modal.hidden {
    display: none;
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-content {
    background: #fff;
    padding: 30px;
    border-radius: 10px;
    width: 90%;
    max-width: 500px;
    text-align: left;
}

.modal-content h3 {
    margin-top: 0;
    font-size: 20px;
    margin-bottom: 15px;
}

.confirm-list p {
    margin: 8px 0;
}

.modal-buttons {
    text-align: center;
    margin-top: 20px;
}

.modal-buttons button {
    background-color: #f8a9ba;
    color: white;
    padding: 10px 25px;
    margin: 0 10px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.select-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}

.select-wrap select {
    width: 100%;
    padding-right: 2.5em;
    /* 矢印分の余白 */
    appearance: none;
    /* 矢印非表示 */
    -webkit-appearance: none;
    -moz-appearance: none;
}

.select-wrap .select-arrow {
    position: absolute;
    top: 50%;
    right: 1em;
    pointer-events: none;
    transform: translateY(-50%);
    font-size: 0.9em;
    color: #555;
}

.select-wrap.open .select-arrow::after {
    content: "▲";
}

.select-wrap .select-arrow::after {
    content: "▼";
}


/* --------------------------
サンクスページ
----------------------------*/

.thanks {
    margin: 300px auto;
    text-align: center;
}

.thanks h2 {
    margin-bottom: 30px;
}

.go-home_btn {
    background-color: #FC96B2;
    border-radius: 10px;
    width: 200px;
    color: #fff;
    font-size: 16px;
    display: block;
    padding: 10px 10px;
    text-align: center;
    transition: 0.3s;
    margin: 50px auto;
}



/* --------------------------
ブログページ
----------------------------*/

#blog-page {
    margin-bottom: 100px;
}

.blog-container {
    display: flex;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
    box-sizing: border-box;
}

.blog-content {
    width: 70%;
    padding-right: 40px;
}

.sidebar {
    width: 30%;
    /* border-left: 1px solid #eee; */
    padding-left: 20px;
}

.blog-title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    color: #f26c9a;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 10px;
}

.blog-date {
    font-size: 14px;
    color: #666;
    margin-bottom: 20px;
}

.blog-date a {
    color: #f26c9a;
    text-decoration: none;
    margin-right: 5px;
}

.blog-date a:hover {
    text-decoration: underline;
}


.blog-image img {
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
    border: 1px solid #ccc;
}

.blog-text p {
    line-height: 1.8;
    margin-bottom: 60px;
}

.sidebar h2 {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    color: #f26c9a;
    font-size: 24px;
    border-bottom: 1px solid #f26c9a;
    padding-bottom: 5px;
    margin-top: 30px;
}

.sidebar ul {
    list-style: none;
    padding-left: 0;
    margin: 10px 0 0;
}

.sidebar ul li {
    margin-bottom: 8px;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
}

/* sidebarカテゴリ用 */
.sidebar .category ul,
.sidebar .archive ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar .category li,
.sidebar .archive li {
    font-size: 14px;
    color: #333;
    margin-bottom: 10px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

.sidebar .category li a,
.sidebar .archive li a {
    color: #333;
    text-decoration: none;
    display: inline-block;
    width: 100%;
}

/* hover効果（任意） */
.sidebar .category li a:hover,
.sidebar .archive li a:hover {
    text-decoration: underline;
}

.pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #aaa;
    padding-top: 30px;
    margin-top: 60px;
    font-size: 16px;
    color: #666;
}

.pagination a {
    font-family: "Noto Sans JP", serif;
    font-weight: 300;
    color: #f26c9a !important;
    font-size: 16px;
    text-decoration: none;
    opacity: 1;
    display: inline-block;
}

.pagination div {
    display: inline-block;
    margin: 0 10px;
}


.prev-post {
    text-align: left;
}

.next-post {
    text-align: right;
}


/* --------------------------
アーカイブページ
----------------------------*/

#archive {
    margin-bottom: 100px;
}

.archive-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
    display: flex;
    gap: 30px;
}

.archive-main {
    width: 70%;
}

.archive-title {
    font-size: 24px;
    margin-bottom: 30px;
}

.archive-post {
    display: flex;
    border-bottom: 1px solid #ccc;
    padding: 20px 0;
}

.archive-post img {
    width: 200px;
    height: auto;
    margin-right: 20px;
}

.post-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.post-title {
    color: #f26c9a;
    font-size: 18px;
    margin: 0;
}

.post-category {
    background-color: #f26c9a;
    color: #fff;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 4px;
    white-space: nowrap;
}

.post-excerpt {
    color: #333;
    line-height: 1.6;
    font-size: 14px;
    margin-bottom: 8px;
}

.post-meta {
    color: #666;
    font-size: 13px;
}

.archive-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.archive-pagination a,
.archive-pagination span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    text-align: center;
    font-size: 14px;
    border: 1px solid #ccc;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
    background-color: #fff;
    transition: all 0.2s ease;
}

/* 現在のページ */
.archive-pagination .current {
    background-color: #f26c9a;
    color: #fff;
    border-color: #f26c9a;
    pointer-events: none;
    /* クリック不可に */
}


.post-meta-list {
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.module-Article_Item_Cat {
    background-color: #f26c9a;
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 13px;
}

/* --------------------------
スケジュール・アクセス
----------------------------*/

.mv-etc-schedule {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/schedule_mv.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.schedule_title {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    color: #F26E90;
    text-align: center;
    margin-bottom: 50px;
}

.schedule_lead {
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 30px;
    text-align: center;
}

.calendar-wrap {
    background-color: #fef9d4;
    /* 背景色を任意で */
    padding: 10px;
    border-radius: 8px;
    /* 角丸など好みで */
    max-width: 800px;
    margin: 50px auto 200px;
    box-sizing: border-box;
}

/* iframe本体 */
.google-calendar {
    width: 100%;
    height: 600px;
    border: 0;
}

.map-wrap {
    max-width: 100%;
    margin: 0 auto;
    padding: 10px;
    box-sizing: border-box;
}

.google-map {
    width: 100%;
    height: 450px;
    border: 0;
    display: block;
}

.map_lead {
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
    text-align: center;
    margin: 20px auto 15px;
}

.map_caution {
    font-size: 16px;
    line-height: 24px;
    font-weight: 300;
    text-align: center;
    margin-bottom: 150px;
}

/* --------------------------
ギャラリー
----------------------------*/

.mv-etc-gallery {
    display: flex;
    height: 360px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
        url(img/gallery_mv.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.single-gallery .gallery-thumbnail {
    margin-bottom: 20px;
}

.single-gallery .gallery-title {
    font-size: 28px;
    margin-bottom: 10px;
}

.single-gallery .gallery-content {
    margin-bottom: 20px;
}

.gallery-category a {
    margin-right: 10px;
    text-decoration: underline;
    color: #333;
}

.back-to-gallery {
    margin-top: 30px;
}

.gallery-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    margin-bottom: 100px;
}

.gallery-item {
    width: calc(33.333% - 14px);
    /* 3列表示。gapを考慮 */
    box-sizing: border-box;
}

.gallery-item img {
    width: 100%;
    height: auto;
    display: block;
}

.gallery-item h3 {
    color: #333;
    font-size: 14px;
    font-weight: 400;
    margin-top: 8px;
    text-align: left;
}

.back-to-gallery {
    margin: 40px auto 100px;
    text-align: center;
}

.back-to-gallery a {
    font-size: 16px;
    /* text-decoration: underline; */
    color: #333;
}

.gallery-nav {
    display: flex;
    justify-content: space-between;
    margin: 40px 0;
    gap: 10px;
}

.gallery-nav .next-link,
.gallery-nav .prev-link {
    width: 50%;
    text-align: left;
}

.gallery-nav .prev-link {
    text-align: right;
}

.gallery-nav a {
    font-size: 14px;
    text-decoration: underline;
    color: #333;
}

.prev-link a,
.next-link a {
    font-size: 14px;
    text-decoration: underline;
    color: #333;
}

.gallery-nav span {
    display: inline-block;
    width: 100%;
    height: 1em;
    /* 高さ確保のため */
}


/* トップページのギャラリー */
.gallery-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    margin: 40px auto 50px;
}

.gallery-item {
    width: calc(25% - 15px);
    /* 4列 */
    box-sizing: border-box;
    text-align: center;
}

.gallery-img img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.gallery-title {
    margin-top: 10px;
    font-size: 16px;
    color: #333;
}

 /* --------------------------
オーダーご依頼フォーム
----------------------------*/

.order-form-wrapper {
  max-width: 760px;
}

.tel-fields {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tel-fields input {
  width: 100%;
  max-width: 110px;
}

.tel-hyphen {
  font-size: 20px;
  color: #666;
  line-height: 1;
}

.radio-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.radio-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border: 1px solid #f3b2c1;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s;
  background: #fff;
}

.radio-card:hover {
  opacity: 0.85;
}

.radio-card input[type="radio"] {
  width: 20px;
  height: 20px;
  accent-color: #e59db3;
  flex-shrink: 0;
}

.radio-card span {
  font-size: 16px;
  line-height: 1.5;
}

.radio-card-group.error-group .radio-card {
  border-color: red;
  background-color: #fff0f0;
}

.error-message {
  color: red;
  font-size: 12px;
  margin-top: 6px;
}

input.error,
textarea.error,
select.error {
  border-color: red !important;
  background-color: #fff0f0;
}

.confirm-list p {
  line-height: 1.8;
  word-break: break-word;
}

.confirm-list span {
  display: inline-block;
  white-space: normal;
}

@media screen and (max-width: 767px) {
  .tel-fields {
    gap: 6px;
  }

  .tel-fields input {
    max-width: none;
    min-width: 0;
  }

  .radio-card {
    padding: 14px 14px;
  }

  .radio-card span {
    font-size: 14px;
  }
}

/*---------------------- スマホ版 ----------------------------*/

@media screen and (max-width:767px) {


    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    body,
    html {
        width: 100%;
        height: auto;
        overflow-x: hidden;
    }

    body {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    .inner {
        width: 85%;
        margin: 0 auto;
    }


    /* --------------------------
ヘッダー
----------------------------*/

    #header,
    .sp {
        overflow: visible;
        /* 明示してもよい */
    }


    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    #header .header-fixed,
    #header .mobile-nav {
        width: 100%;
        max-width: 100%;
    }

    #header {
        position: sticky;
        top: 0;
        z-index: 1000;
        background: white;
    }


    #header .header-fixed {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100px;
        background-color: white;
        display: flex;
        justify-content: space-between;
        z-index: 1000;

        box-sizing: border-box;
    }

    main {
        padding-top: 100px;
        /* ヘッダーの高さに合わせて調整 */
    }


    #header .header-top-sp {
        display: block;
        align-items: center;
        padding: 8px;
        max-width: 100%;
        gap: 10px;
    }

    #header .header_logo {
        width: 81%;
        min-width: 0;
        /* ←これ地味に重要！ */
        margin-left: 10px;
    }

    #header .menu-btn {
        background-color: #eab1c4;
        border: none;
        color: #5C4033;
        font-size: 1.2rem;
        padding: 5px 25px;
        white-space: nowrap;
        max-width: 40%;
    }


    #header .header_logo img {
        width: 100%;
        /* 念のため明示 */
        height: auto;
        display: block;
    }


    #header .header-addres {
        font-size: 12px;
        text-align: left;
        line-height: 1.2;
        margin-right: 0;
        padding: 5px 10px 5px;
        background: white;
        box-sizing: border-box;
    }

    #header .header_logo img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    #header .addres-detail {
        font-size: 10px;
    }

    /* モバイルナビ全体の背景とレイアウト */
    .sp .mobile-nav {
        display: none;
        flex-direction: column;
        align-items: center;
        background-color: #fcd6e0;
        /* 薄ピンク背景 */
        backdrop-filter: blur(5px);
        transition: opacity 0.5s ease;
        padding: 20px 0;
        position: fixed;
        top: 90px;
        left: 0;
        width: 100%;
        z-index: 999;
        box-sizing: border-box;
        max-height: calc(100dvh - 90px);
        /* 画面高 - ヘッダー高 */
        overflow-y: auto;
    }

    .sp .mobile-nav.open {
        display: flex;
        animation: fadeIn 0.5s ease forwards;
    }

    /* ナビリスト（縦並び） */
    .sp .header-nav-sp {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    .sp .header-nav-sp li {
        margin: 0 auto;
        width: 300px;
        border-top: 0.5px solid #5A2E2E;
    }

    .sp .header-nav-sp li:first-child {
        border-top: none;
    }

    /* .sp .header-nav-sp li:last-child {
        border-bottom: 0.5px solid #5A2E2E;
    } */

    .sp .header-nav-sp a {
        display: block;
        width: 100%;
        padding: 15px 20px;
        text-align: center;
        color: #5C4033;
        font-size: 16px;
        box-sizing: border-box;
    }

    /* SNSアイコン（下に横並び） */
    .sp .header_sns-sp {
        list-style: none;
        display: flex;
        justify-content: center;
        gap: 15px;
        padding: 20px 0 0;
    }

    .header-nav-sp li.special-btn {
  border-top: none;      /* 上の罫線を消す */
  border-bottom: none;   /* 下の罫線を消す */
  margin: 0;             /* デフォルトのmarginをリセット */
  width: 100%;           /* ボタン幅はそのまま100% */
}

/* ボタンの間にだけ余白 */
.header-nav-sp li.special-btn + li.special-btn {
  margin-top: 6px; /* ここで好きな間隔に調整（例: 10px） */
}

/* ボタン自体のデザイン */
.header-nav-sp li.special-btn > a {
  display: block;
  width: 340px;
  background-color: #fd93ba; /* お好みのカラー */
  color: #fff;
  padding: 15px;
  border-radius: 6px;
  text-align: center;
  margin: 0 auto;
}


    /* --------------------------
メインビジュアル
----------------------------*/

    /* スライダー全体 */
    .slider {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 100vh;
        background-color: #fff;
        margin-bottom: -50px;
        margin-top: 0;
        /* 初期値として 0 にしておく */
    }

    /* 全面の白波 */
    .shiro-nami {
        width: 100vw;
        height: auto;
        position: relative;
        bottom: 0;
        /* 不要な場合は削除 */
        z-index: 2;
        margin-top: -120px;
        /* または調整値に応じて */
    }


    .shiro-nami img {
        width: 100%;
        /* 親要素にフィット */
        height: auto;
        /* アスペクト比を維持 */
        display: block;
        /* 余計な隙間をなくす */
    }


    /* スライダー画像 */
    .slider .image {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 90%;
        opacity: 0;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        padding-top: 140px;
    }

    /* 画像の設定 */
    .slider .image:nth-of-type(1) {
        background-image: url(img/mv_01-sp.jpg);
    }

    .slider .image:nth-of-type(2) {
        background-image: url(img/mv_02-sp.jpg);
    }

    .slider .image:nth-of-type(3) {
        background-image: url(img/mv_03-sp.jpg);
    }

    .slider .image:nth-of-type(4) {
        background-image: url(img/mv_04-sp.jpg);
    }

    .text-animation img {
    width: 92%;
    height: auto;
}


    /* 各テキストのアニメーション */
    .slider .image:nth-of-type(1) .text-animation {
        font-size: 2.5rem;
        line-height: 1.2;
        font-weight: 400;
        letter-spacing: 0.02em;
        left: 10%;
        bottom: 15%;
        animation: textAnime 3s ease-in-out 0s forwards;
    }

    .slider .image:nth-of-type(2) .text-animation {
        font-size: 3rem;
        font-weight: 300;
        left: 20%;
        top: 10%;
        animation: textAnime 3s ease-in-out 3s forwards;
    }

    .slider .image:nth-of-type(3) .text-animation {
        font-size: 2.3rem;
        font-weight: 300;
        left: 10%;
        bottom: 25%;
        animation: textAnime 3s ease-in-out 6s forwards;
    }

    .slider .image:nth-of-type(4) .text-animation {
        font-size: 2rem;
        font-weight: 400;
        letter-spacing: 0.02em;
        color: #ED6086;
        left: 5%;
        top: 3%;
        animation: fadeInText 3s ease-in-out 9s forwards;
    }

    .slider .image:nth-of-type(4) .text-animation span {
        font-size: 3rem;
        font-weight: 500;
        line-height: 1;
        top: 5%;
    }

    /* テキストのフェードイン・フェードアウトアニメーション */
    @keyframes textAnime {
        0% {
            opacity: 0;
            transform: translateX(-40px);
        }

        /* 25% { opacity: 1; transform: translateX(0); } */
        50% {
            opacity: 1;
        }

        100% {
            opacity: 0;
            transform: translateX(30px);
        }
    }

    /* 4枚目のテキストはそのまま固定 */
    @keyframes fadeInText {
        0% {
            opacity: 0;
            transform: translateX(-70px);
        }

        100% {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* 各画像にグラデーションを追加 */
    .slider .image::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        /* テキストの下に配置 */
    }

    /* 1枚目のグラデーション (上から下) */
    .slider .image:nth-of-type(1)::before {
        background: linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
    }

    /* 2枚目のグラデーション (左から右) */
    .slider .image:nth-of-type(2)::before {
        background: linear-gradient(left, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));
    }

    /* 3枚目のグラデーション (下から上) */
    .slider .image:nth-of-type(3)::before {
        background: linear-gradient(to top, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
    }

    /* 4枚目のグラデーション (右から左) */
    .slider .image:nth-of-type(4)::before {
        background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
    }

    /* テキストがグラデーションの上にくるように調整 */
    .text-animation {
        position: absolute;
        z-index: 3;
        /* グラデーションより前面 */
    }

    /* --------------------------
about
----------------------------*/

    #about {
        position: relative;
        margin: -100px auto 0;
        z-index: 2;
    }

    .section_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 32px;
        color: #F26E90;
        text-align: center;
        margin-bottom: 80px;
    }

    .sec1-title {
        width: 100%;
        height: auto;
        padding-left: 0;
        margin-bottom: 40px;
    }

    .text {
        font-size: 4vw;
        text-align: center;
        line-height: 1.5;
        margin-bottom: 45px;
    }

    /* Read More ボタン */
    .read-more_btn {
        background-color: #FC96B2;
        border-radius: 10px;
        width: 200px;
        color: #fff;
        font-size: 16px;
        display: block;
        padding: 10px 10px;
        text-align: center;
        transition: 0.3s;
        position: relative;
        margin: 0 auto;
    }

    /* 上記のボタンをセンター表示 */
    .btn-center {
        margin: 0 auto 250px;
    }


    .read-more_btn:hover {
        opacity: 0.9;
        transform: scale(1.02);
    }

    .about_container {
        display: block;
        margin-bottom: 10px;
        margin-top: 50px;
    }

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

    .about-r {
        position: relative;
        /* これを追加 */
        display: inline-block;
        /* 必要に応じて調整 */
        text-align: center;
    }

    .about-r img {
        width: 90%;
        /* position: relative; */
        z-index: 1;
        /* 背景側 */
    }

    .explanation_container {
        display: block;
        align-items: center;
        margin-bottom: 150px;
        margin-top: 150px;
    }




    /* フェードインさせる要素 */
    /* ▼ 下からフェードイン */
    .fade-in {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 1s, transform 1s;
    }

    .fadeIn {
        opacity: 1;
        transform: translateY(0);
    }

    /* ▼ 左からフェードイン */
    .fade-left {
        opacity: 0;
        transform: translateX(-30px);
        /* 左に30pxずらす */
        transition: opacity 1s, transform 1s;
    }

    .fadeLeft {
        opacity: 1;
        transform: translateX(0);
    }

    /* ▼ 右からフェードイン */
    .fade-right {
        opacity: 0;
        transform: translateX(30px);
        /* 右に30pxずらす */
        transition: opacity 1s, transform 1s;
    }

    .fadeRight {
        opacity: 1;
        transform: translateX(0);
    }

    /* --------------------------
チョークアートとは？
----------------------------*/
    .explanation {
        background: url(img/bg_pink-wave.png) no-repeat top center;
        background-size: cover;
        /* 背景を全体にフィット */
        background-position: top center;
        /* 位置を調整 */
        width: 100vw;
        /* 画面幅いっぱい */
        min-height: 80vh;
        /* 画面全体の高さを確保 */
        max-height: 120vh;
        display: flex;
        /* 必要に応じてコンテンツの調整 */
        flex-direction: column;
        /* 子要素を縦に並べる */
        margin-bottom: 50px;
        margin-top: 250px;
    }

    .explanation-l {
        width: 80%;
        margin: 0 auto;
    }

    .explanation-l img {
        position: absolute;
        bottom: -50px;
    }

    .explanation-r {
        padding-top: 70px;
        padding-right: 0;
    }

    .explanation-r .text {
        font-size: 4.5vw;
    }

    .explanation_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 8vw;
        color: #F26E90;
        text-align: center;
        margin-bottom: 20px;
    }

    .sanbonsen {
        position: relative;
    }

    .sanbonsen::before {
        content: url(img/sanbonsen.svg);
        width: 32px;
        height: auto;
        position: absolute;
        top: -23px;
        left: -5px;
    }

    /* --------------------------
チョークアートの魅力
----------------------------*/

    /* ▼ appeal 本体のスタイル（背景はなし） */
    .appeal {
        position: relative;
        height: auto;
        width: 100%;
        margin-bottom: 120px;
        padding-top: 50px;
        overflow: hidden;
        /* アニメーション時にはみ出さないように */
    }


    .appeal-img {
        margin-bottom: 20px;
    }

    .appeal-img img {
        width: 100%;
        height: auto;
    }

    .appeal-l p {
        font-size: 4.5vw;
        margin-bottom: 30px;
    }

    .heart {
        position: relative;
    }

    .heart::before {
        content: url(img/heart.svg);
        width: 60px;
        height: auto;
        position: absolute;
        top: -42px;
        left: -15px;
    }


    /* --------------------------
お知らせ
----------------------------*/
    .news-flex {
        display: block;
        margin-bottom: 20px;
    }

    .news-item {
        width: 100%;
        height: 200px;
        gap: 10px;
        /* 画像とテキストの隙間 */
    }

    .news-item a {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        /* 画像とテキストの隙間 */
    }

    .news-img {
        width: 50%;
    }

    .news-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 15px;
    }

    .news-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        /* 縦中央揃え */
        width: 50%;
    }

    .news-date {
        font-size: 16px;
        color: #F26E90;
        margin-bottom: 5px;
    }

    .news-title {
        font-size: 16px;
        color: #4D5156;
    }

    /* ジグザグに並べる */
    .news-item:nth-child(1) {
        margin-top: 0;
    }

    .news-item:nth-child(2) {
        margin-top: 0;
    }

    .news-item:nth-child(3) {
        margin-top: 0;
    }

    .news-item:nth-child(4) {
        margin-top: 0;
    }


    /* --------------------------
コースの紹介
----------------------------*/

    #corse {
        background-color: #FAE7EB;
        padding: 0 0 50px;
        margin-bottom: 150px;
        position: relative;
    }

    #corse::before {
        content: "";
        position: absolute;
        top: -100px;
        /* 半円の位置をさらに上に */
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        /* 横幅を広げることで丸みを大きく */
        height: 200px;
        /* 高さを増やす（大きくすると丸みが強くなる） */
        background-color: #FAE7EB;
        border-radius: 100% 100% 0 0;
        /* 上部の丸みを強調 */
    }

    .corse-flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .corse_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 8vw;
        line-height: 1.2;
        color: #F26E90;
        text-align: center;
        margin-bottom: 30px;
    }

    .tensen {
        position: relative;
    }

    .tensen::before {
        content: url(img/tensen.svg);
        width: 32px;
        height: auto;
        position: absolute;
        left: -5px;
        top: 10px;
    }

    .tensen::after {
        content: url(img/tensen.svg);
        width: 32px;
        height: auto;
        transform: scale(-1, 1);
        position: absolute;
        right: -7px;
        top: 10px;
    }

    .corse_subcopy {
        font-size: 4.5vw;
        line-height: 2;
        text-align: center;
        margin-bottom: 60px;
    }

    .corse_subcopy span {
        font-weight: 500;
        color: #F26E90;
    }

    .corse-frame {
        background-color: #fff;
        border-radius: 16px;
        box-shadow: 10px 10px 15px -17px;
        padding: 20px;
        margin-bottom: 30px;
    }

    .wi-100 {
        width: 100%;
    }

    .wi-48 {
        width: 100%;
    }

    .corse-name {
        background-color: #f98fab;
        border-radius: 8px;
        font-size: 5.5vw;
        font-weight: 400;
        color: #fff;
        text-align: center;
        height: 50px;
        line-height: 47px;
        /* 高さと揃える */
        margin-bottom: 20px;
    }


    .corse-wide {
        display: block;
        justify-content: space-between;
        align-items: center;
    }


    .corse-left {
        width: 100%;
        margin-left: 0;
    }

    .corse-right {
        display: none;
    }

    .corse-head {
        font-size: 21px;
        font-weight: 600;
        margin-bottom: 20px;
        margin-top: 20px;
        text-align: center;

    }

    .corse-lead {
        font-size: 16px;
        font-weight: 300;
        margin-bottom: 30px;
        text-align: left;
    }

    .corse_flame-img {
        width: 95%;
        margin: 0 auto 20px;
    }

    .corse-vertical {
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 子要素を左右中央に配置 */
    }

    /* --------------------------
オンラインショップ
----------------------------*/
    #shop {
        margin-bottom: 250px;
    }

    .shop_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 8vw;
        text-align: center;
        margin-bottom: 30px;
    }

    .shop-lead {
        width: 85%;
        font-size: 4.5vw;
        text-align: center;
        margin: 0 auto 40px;
    }

    .shop-slider {
        overflow: hidden;
        width: 100%;
        margin-bottom: 40px;
    }

    .slider-track {
        display: flex;
        width: calc(250px * 12);
        /* 画像枚数 × 幅（ここでは12枚 × 250px） */
        animation: scroll 40s linear infinite;
    }

    .slider-track img {
        width: 250px;
        height: auto;
        margin-right: 10px;
    }

    /* アニメーションの定義 */
    @keyframes scroll {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-50%);
        }
    }

    .shop_btn {
        background-color: #FC96B2;
        border-radius: 10px;
        width: 220px;
        color: #fff;
        font-size: 16px;
        display: block;
        padding: 10px 10px;
        text-align: center;
        transition: 0.3s;
        position: relative;
        margin: 0 auto;
    }

    /* --------------------------
オーダー制作
----------------------------*/
    #order {
        position: relative;
        width: 100%;
        height: 1123px;
        margin-bottom: 100px;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .order-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1123px;
        background: url(img/order_bg-sp.jpg) no-repeat center center / cover;
        opacity: 0.15;
        /* 背景画像の不透明度15% */
        z-index: 1;
    }

    .order-content {
        position: relative;
        z-index: 2;
        /* 背景より前に出す */
        color: #333;
        /* お好みで調整 */
    }

    .order_btn_wrap {
        display: block;
        justify-content: center;
        align-items: center;
        column-gap: 25px;
    }

    .order_btn {
        width: 250px;
        color: #ed6086;
        font-size: 18px;
        font-weight: 500;
        display: block;
        padding: 10px 10px;
        border: 2px solid #ed6086;
        text-align: center;
        transition: 0.3s;
        position: relative;
        margin: 0 auto 20px;
    }

    .fixed-order-btn {
        position: fixed;
        bottom: 30px;
        right: 30px;
        opacity: 0.7;
        z-index: 1000;
        display: block;
        width: 120px;
        /* 必要に応じて画像のサイズに調整 */
    }

    .fixed-order-btn img {
        width: 100%;
        height: auto;
    }


    /* --------------------------
フッター
----------------------------*/

    .footer-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-col {
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }

    .footer-info p {
        padding-left: 0;
    }

    .footer-logo {
        max-width: 200px;
        margin: 0 auto 10px;
    }

    .footer-links {
        align-items: center;
        margin-left: 0;
    }

    .btn-group {
        justify-content: center;
    }

    .sns-icons {
        justify-content: center;
        margin-top: 10px;
    }

    .sns-icons img {
        height: 28px;
    }


    /* --------------------------
体験レッスンページ
----------------------------*/

    .mv-etc-trial {
        display: flex;
        width: 100%;
        height: 430px;
        background-image:
            linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
            url(img/trial_mv-sp.jpg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }

    .mv-etc_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 10vw;
        line-height: 1.2;
        color: #F26E90;
        position: absolute;
        top: 40px;
        left: 35px;
    }


    .trial_container {
        display: block;
        margin: 215px auto 250px;

    }

    .trial_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 32px;
        color: #F26E90;
        text-align: center;
        margin-bottom: 50px;
    }

    .trial-copy {
        font-size: 15px;
        line-height: 36px;
        text-align: center;
        margin-bottom: -150px;
        position: relative;
    }

    /* ▼ セクション１の背景飾り */
    .trial-bg {
        margin-bottom: 200px;
    }

    .trial-bg01 {
        position: absolute;
        bottom: 340px;
        left: -50px;
    }

    .trial-bg01 img {
        width: 200px;
        height: auto;
        max-width: none;
    }

    .trial-bg02 {
        position: absolute;
        top: 126px;
        left: -57px;
    }

    .trial-bg02 img {
        width: 200px;
        height: auto;
        max-width: none;
    }

    .trial-bg03 {
        position: absolute;
        bottom: 335px;
        right: -7px;
    }

    .trial-bg03 img {
        width: 170px;
        height: auto;
        max-width: none;
    }

    .trial-bg04 {
        position: absolute;
        bottom: -285px;
        right: -60px;
    }

    .trial-bg04 img {
        width: 170px;
        height: auto;
        max-width: none;
    }

    .trial-bg-dot01 {
        position: absolute;
        top: -119px;
        left: -184px;
    }

    .trial-bg-dot01 img {
        width: 200px;
        height: auto;
        max-width: none;
    }

    .trial-bg-dot02 {
        position: absolute;
        top: -370px;
        right: -120px;
    }

    .trial-bg-dot02 img {
        width: 130px;
        height: auto;
        max-width: none;
    }

    .trial-bg-round {
        position: absolute;
        bottom: -300px;
        left: 153px;
    }

    .trial-bg-round img {
        width: 50px;
        height: auto;
        max-width: none;
    }

    .trial-bg-circle {
        position: absolute;
        bottom: -44px;
        right: -77px;
    }

    .trial-bg-circle img {
        width: 100px;
        height: auto;
        max-width: none;
    }

    /* ▼体験レッスンの流れ */
    .trial-flow {
        background: url(img/bg_weve_dot-pink.png) no-repeat top center;
        background-size: cover;
        /* 背景を全体にフィット */
        background-position: top center;
        /* 位置を調整 */
        width: 100vw;
        /* 画面幅いっぱい */
        min-height: 2500px;
        /* 画面全体の高さを確保 */
        max-height: 3000px;
        display: flex;
        /* 必要に応じてコンテンツの調整 */
        flex-direction: column;
        /* 子要素を縦に並べる */
        margin-bottom: 20px;
    }

    .trial-flow-text .text {
        font-size: 16px;
        line-height: 26px;
        margin-left: 20px;
    }

    .trial-flow-text .text span {
        font-size: 18px;
        font-weight: 400;
        line-height: 28px;
    }


    .trial-flow-title {
        display: flex;
        align-items: center;
        margin-bottom: 25px;
        gap: 0;
    }

    .trial-step_container {
        display: block;
        justify-content: space-between;
        align-items: center;
    }

    .trial-step_container img {
        display: block;
        width: 90%;
        margin: 0 auto;
        /* position: relative; */
        z-index: 1;
        /* 背景側 */
    }

    .trial-flow-title img {
        width: 80px;
        height: auto;
    }

    .trial-flow-title p {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 20px;
        line-height: 28px;
        color: #F26E90;
        text-align: left;
        margin-left: 0;
    }

    .ma-ri50 {
        margin-right: 50px;
    }

    .trial-arrow {
        margin: 30px auto 30px;
        text-align: center;
    }

    .trial-arrow img {
        width: 50px;
        height: auto;
    }

    .trial-enjoy {
        display: block;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 130px;
    }

    .trial-enjoy-text {
        width: 100%;
    }

    .enjoy-img {
        width: 100%;
        /* 少し大きく調整 */
        height: auto;
        position: relative;
        right: 0;
        /* inner の右からはみ出す */
        bottom: 0;
    }

    .enjoy-img img {
        width: 100%;
        height: auto;
    }

    .trial-bg-hexagon {
        position: absolute;
        top: -100px;
        left: -150px;
        z-index: -1;
    }

    .trial-bg-hexagon img {
        width: 210px;
    }

    .enjoy-img-2 {
        width: 100%;
        /* 少し大きく調整 */
        height: auto;
        position: relative;
        left: 0;
        /* inner の左からはみ出す */
        bottom: 0;
    }


    .enjoy-img-2 img {
        width: 100%;
        height: auto;
    }

    .trial-enjoy-title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 20px;
        line-height: 31px;
        color: #F26E90;
        text-align: center;
        margin-bottom: 30px;
    }

    .trial-enjoy-text .text {
        font-size: 16px;
        line-height: 26px;
        margin-left: 0;
    }

    .bg-position {
        position: relative;
    }

    .trial-bg-square-01 {
        position: absolute;
        top: 115px;
        left: -150px;
    }

    .trial-bg-square-01 img {
        width: 190px;
    }

    .trial-bg-square-02 {
        position: absolute;
        top: -133px;
        right: -227px;
    }

    .trial-bg-square-02 img {
        width: 320px;
    }

    .ma-bo200 {
        margin-bottom: 150px;
    }

    .trial-price {
        background-color: #fffedb;
        padding: 80px 20px;
        text-align: center;
        margin-bottom: 200px;
    }

    .trial-price .price {
        font-size: 25px;
        line-height: 35px;
        font-weight: 500;
        margin-bottom: 50px;
    }

    .trial-price .price-text {
        font-size: 16px;
        line-height: 32px;
        font-weight: 400;
        margin-bottom: 50px;
    }

    .trial-price .price-lead {
        font-size: 20px;
        line-height: 32px;
        font-weight: 500;
        margin-bottom: 70px;
    }

    .trial-price hr {
        border-width: 1px 0px 0px 0px;
        border-style: solid;
        border-color: #040000;
        height: 1.2px;
        width: 95%;
        margin: 0 auto 70px;
    }

    .trial-price .apply {
        font-size: 20px;
        line-height: 38px;
        font-weight: 500;
        margin-bottom: 30px;
    }

    .trial-price .apply span {
        font-size: 16px;
        line-height: 32px;
        font-weight: 400;
        margin-bottom: 20px;
    }

    .apply-btn {
        background-color: #FC96B2;
        border-radius: 10px;
        width: 220px;
        color: #fff;
        font-size: 16px;
        display: block;
        padding: 10px 10px;
        text-align: center;
        transition: 0.3s;
        position: relative;
        margin: 0 auto 30px;
    }

    .go-to-inquiry {
        width: 85%;
        text-align: center;
        margin: 0 auto 180px;
    }

    .go-to-inquiry p {
        font-size: 20px;
        line-height: 32px;
        font-weight: 500;
        margin-bottom: 30px;
    }

    .inquiry_btn_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 15px;
    }

    .inquiry_btn {
        width: 200px;
        font-size: 16px;
        font-weight: 500;
        display: block;
        padding: 10px 10px;
        border: 2px solid #ed6086;
        text-align: center;
        transition: 0.3s;
        position: relative;
    }

    .inquiry_btn a {
        display: block;
        /* ← ブロック要素にすることで親のサイズに合わせる */
        width: 100%;
        /* ← 横幅を親に合わせる */
        height: 100%;
        /* ← 高さを親に合わせる */
        color: #ed6086;
    }

    /* --------------------------
当教室について
----------------------------*/

    .mv-etc-about {
        display: flex;
        width: 100%;
        height: 430px;
        background-image:
            linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
            url(img/about_mv-sp.jpg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }

    .about-wrap {
        display: block;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 30px;
    }

    .about-text {
        width: 100%;
    }

    .about-title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 26px;
        line-height: 36px;
        color: #F26E90;
        text-align: center;
        margin-bottom: 30px;
    }

    .about-text .text {
        font-size: 16px;
        line-height: 26px;
    }

    .about-img-01 {
        width: 100%;
        height: auto;
        position: relative;
        right: 0;
        bottom: -10px;
    }

    .about-img-01 img {
        width: 100%;
        height: auto;
    }

    .about-img-02 {
        width: 100%;
        height: auto;
        position: relative;
        left: 0;
        bottom: 0;
    }

    .about-img-02 img {
        width: 100%;
        height: auto;
    }

    .about-bg-01 {
        position: absolute;
        top: -60px;
        left: -231px;
        z-index: -1;
    }

    .about-bg-01 img {
        width: 310px;
    }

    .about-bg-02 {
        position: absolute;
        top: 143px;
        right: -308px;
        z-index: -1;
    }

    .about-bg-02 img {
        width: 280px;
    }

    .about-bg-03 {
        position: absolute;
        top: 167px;
        left: -266px;
        z-index: -1;
    }

    .about-bg-03 img {
        width: 270px;
    }

    .about-bg-04 {
        position: absolute;
        top: 37px;
        right: -268px;
        z-index: -1;
    }

    .about-bg-04 img {
        width: 304px;
    }

    /* --------------------------
プロフィール・屋号
----------------------------*/

    .profile {
        background: url(img/profile-bg-sp.png) no-repeat top center;
        background-size: cover;
        /* ← 横を画面いっぱいに拡大（余白なし） */
        background-position: top center;
        background-repeat: no-repeat;
        width: 100vw;
        min-height: 800px;
        max-height: 900px;
        display: flex;
        flex-direction: column;
        z-index: 1;
    }


    .profile_container {
        display: block;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 150px;
        margin-top: 50px;
    }

    .profile-l {
        width: 65%;
        margin: 0 auto 15px;
    }

    .profile-r {
        padding-left: 0;
    }

    .profile_title {
        width: 360px;
        height: auto;
        margin-bottom: 15px;
    }

    .profile_title img {
        width: 100%;
        height: auto;
    }

    .profile-name {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 32px;
        margin-left: 20px;
        margin-bottom: 15px;
    }

    .profile-name span {
        font-size: 24px;
    }

    .profile-r .text {
        line-height: 21px;
        margin-left: 20px;
    }

    .yago {
        position: relative;
        width: 100vw;
        height: calc(100vh + 350px);
        display: flex;
        flex-direction: column;
        margin-top: -400px;
        /* ← 上の要素に潜り込ませる */
        z-index: -1;
        overflow: hidden;
    }

    .yago::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(img/yago_bg.jpg) no-repeat top center;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: top center;
        opacity: 0.2;
        /* ← 透過 */
    }



    .yago_container {
        display: block;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 150px;
        margin-top: 440px;
    }

    .yago-title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 38px;
        line-height: 46px;
        color: #F26E90;
        text-align: left;
        margin-bottom: 30px;
    }

    .yago-text .text {
        font-size: 16px;
        line-height: 26px;
    }

    .yago-img {
        width: 100%;
        height: auto;
        position: relative;
        right: 0;
        bottom: 0;
    }

    .yago-imgimg {
        width: 100%;
        height: auto;
    }


    /* --------------------------
コース紹介ページ
----------------------------*/

    .mv-etc-corse {
        display: flex;
        width: 100%;
        height: 430px;
        background-image: linear-gradient(to right,
                rgba(255, 255, 255, 1),
                rgba(255, 255, 255, 0)),
            url(img/corse_mv-sp.jpg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }

    .corse-wrap {
        display: block;
        align-items: center;
        margin-bottom: 130px;
    }

    .corse_name-wrapper {
        text-align: center;
        /* 子要素を中央揃えに */
    }

    .corse_name {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 30px;
        line-height: 41px;
        color: #F26E90;
        display: inline-block;
        border-bottom: 2px solid #F26E90;
        padding-bottom: 10px;
        margin-bottom: 25px;
    }


    .corse_midashi {
        font-family: "Kiwi Maru", serif;
        font-weight: 500;
        font-style: normal;
        font-size: 21px;
        margin-bottom: 25px;
        text-align: center;
    }

    .corse_midashi span {
        font-size: 16px;
    }

    .corse-text {
        width: 100%;
    }

    .corse-text .text {
        font-size: 16px;
        line-height: 26px;
    }

    .corse-text .text p span {
        font-weight: 600;
    }

    .corse-img {
        width: 100%;
        height: auto;
        position: relative;
        right: 0;
        bottom: 0;
        margin-bottom: 30px;
    }

    .corse-img img {
        width: 100%;
        height: auto;
    }

    .corse_price-time {
        font-size: 20px;
        font-weight: 400;
        line-height: 26px;
        text-align: center;
    }

    .corse_price {
        font-size: 36px;
        font-weight: 400;
        margin-bottom: 15px;
        text-align: center;
    }

    .corse_price span {
        font-size: 20px;
        font-weight: 400;
    }

    .corse_price-caution {
        font-size: 14px;
        font-weight: 400;
        margin-bottom: 15px;
        text-align: center;
    }

    .corse_price-lead {
        font-size: 14px;
        font-weight: 400;
        text-align: center;
    }

    .go-to-form-btn {
        background-color: #FC96B2;
        border-radius: 10px;
        width: 220px;
        color: #fff;
        font-size: 16px;
        display: block;
        padding: 10px 10px;
        text-align: center;
        transition: 0.3s;
        position: relative;
        margin: 0 auto;
    }

    .corse-btn-wrap01 {
        display: block;
        width: 75%;
        margin: 0 auto 15px;
    }

    .corse-btn-wrap02 {
        display: block;
        width: 75%;
        margin: 0 auto 15px;
    }

    .corse-btn-wrap03 {
        display: block;
        width: 75%;
        margin: 0 auto 180px;
    }

    .corse-btn a {
        background-color: #fff;
        /* 背景を白に */
        border: 1px solid #FC96B2;
        /* 枠線を追加 */
        border-radius: 10px;
        color: #FC96B2;
        /* 文字色を現在の背景色に */
        font-size: 16px;
        font-weight: 400;
        display: block;
        padding: 10px 0;
        text-align: center;
        transition: 0.3s;
        position: relative;
        margin-bottom: 15px;
    }

    .corse-btn a:hover {
        opacity: 0.9;
        transform: scale(1.02);
    }

    .corse-btn span {
        background-color: #FC96B2;
        /* 背景を白に */
        border: 1px solid #FC96B2;
        /* 枠線を追加 */
        border-radius: 10px;
        color: #fff;
        /* 文字色を現在の背景色に */
        font-size: 16px;
        font-weight: 400;
        display: block;
        padding: 10px 0;
        text-align: center;
        transition: 0.3s;
        position: relative;
        margin-bottom: 15px;
    }

    /* --------------------------
オーダー制作ページ
----------------------------*/
    .mv-etc-order {
        display: flex;
        width: 100%;
        height: 430px;
        background-image: linear-gradient(to bottom,
                rgba(255, 255, 255, 1),
                rgba(255, 255, 255, 0)),
            url(img/order_mv-sp.webp);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }


    .order_container {
        display: block;
        margin: 100px auto 400px;

    }

    .order_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 26px;
        line-height: 40px;
        color: #F26E90;
        text-align: center;
        margin-bottom: 100px;
        position: relative;
    }

    .order-copy {
        font-family: "Noto Sans JP", serif;
        font-weight: 300;
        font-style: normal;
        color: #4D5156;
        font-size: 18px;
        line-height: 36px;
        text-align: center;
        margin-top: 100px;
        margin-bottom: -150px;
    }

    /* ▼ セクション１の背景飾り */
    .orderpage-bg {
        margin-bottom: 100px;
    }

    .orderpage-bg01 {
        position: absolute;
        bottom: -200px;
        left: -200px;
    }

    .orderpage-bg01 img {
        width: 400px;
        height: auto;
        max-width: none;
    }

    .orderpage-bg02 {
        position: absolute;
        bottom: -580px;
        left: -80px;
    }

    .orderpage-bg02 img {
        width: 300px;
        height: auto;
        max-width: none;
    }

    .orderpage-bg03 {
        position: absolute;
        bottom: -130px;
        right: -230px;
    }

    .orderpage-bg03 img {
        width: 400px;
        height: auto;
        max-width: none;
    }

    .orderpage-bg04 {
        position: absolute;
        bottom: -450px;
        right: -55px;
    }

    .orderpage-bg04 img {
        width: 250px;
        height: auto;
        max-width: none;
    }

    .orderpage-bg-dot01 {
        position: absolute;
        top: 210px;
        left: -210px;
    }

    .orderpage-bg-dot01 img {
        width: 250px;
        height: auto;
        max-width: none;
    }

    .orderpage-bg-dot02 {
        position: absolute;
        bottom: -250px;
        right: -90px;
    }

    .orderpage-bg-dot02 img {
        width: 140px;
        height: auto;
        max-width: none;
    }

    .orderpage-bg-round {
        position: absolute;
        bottom: -650px;
        right: -85px;
    }

    .orderpage-bg-round img {
        width: 80px;
        height: auto;
        max-width: none;
    }

    .orderpage-bg-circle {
        position: absolute;
        bottom: -490px;
        right: -82px;
    }

    .orderpage-bg-circle img {
        width: 120px;
        height: auto;
        max-width: none;
    }

    /* 作品例 */

    .order_sec-title-wrap {
        text-align: center;
    }

    .order_sec-title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 35px;
        line-height: 41px;
        text-align: center;
        color: #F26E90;
        display: inline-block;
        /* テキスト幅を固定可能に */
        width: 100%;
        /* 下線の幅に合わせる */
        border-bottom: 2px solid #FFE1DC;
        padding-bottom: 15px;
        margin-bottom: 50px;
    }

    .order_sec-title span {
        font-size: 28px;
    }

    /* 作品例 */

    .order-collection-wrap {
        margin-bottom: 200px;
    }

    .order-collection {
        display: block;
        align-items: center;
        margin-bottom: 100px;
    }

    .order-collection.reverse {
        flex-direction: row-reverse;
    }


    .order-collection-name {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 32px;
        line-height: 41px;
        text-align: center;
        color: #4D5156;
        display: inline-block;
        /* テキスト幅を固定可能に */
        width: 260px;
        /* 下線の幅に合わせる */
        border-bottom: 2px solid #4D5156;
        padding-bottom: 10px;
        margin-bottom: 20px;
    }


    .order-collection-text {
        width: 100%;
        padding-left: 0;
        text-align: center;
    }

    .order-collection-text .text {
        font-size: 18px;
        line-height: 32px;
        /* margin-left: 5px; */
    }

    .order-collection-img {
        width: 100%;
        height: auto;

    }


    .order-collection-img img {
        width: 100%;
        height: auto;
    }

    .order-collection-bg-01 {
        position: absolute;
        top: -50px;
        right: -190px;
        z-index: -1;
    }

    .order-collection-bg-01 img {
        width: 230px;
    }

    .order-collection-bg-02 {
        position: absolute;
        top: -130px;
        right: 454px;
        z-index: -1;
    }

    .order-collection-bg-02 img {
        width: 310px;
    }

    .order-collection-bg-03 {
        position: absolute;
        top: 50px;
        right: -210px;
        z-index: -1;
    }

    .order-collection-bg-03 img {
        width: 250px;
    }

    .order-collection-bg-05 {
        position: absolute;
        top: 90px;
        left: -100px;
        z-index: -1;
    }

    .order-collection-bg-05 img {
        width: 180px;
    }

    .order-collection-bg-06 {
        position: absolute;
        top: 630px;
        right: -340px;
    }

    .order-collection-bg-06 img {
        width: 560px;
    }

    .order-collection-bg-07 {
        position: absolute;
        top: 110px;
        left: -260px;
        z-index: -1;
    }

    .order-collection-bg-07 img {
        width: 300px;
    }

    .order-collection-bg-08 {
        position: absolute;
        top: 500px;
        left: 160px;
    }

    .order-collection-bg-08 img {
        width: 400px;
    }

    .order-collection-bg-09 {
        position: absolute;
        top: 340px;
        left: -50px;
    }

    .order-collection-bg-09 img {
        width: 275px;
    }

    .order-collection-bg-10 {
        position: absolute;
        top: 540px;
        left: 160px;
    }

    .order-collection-bg-10 img {
        width: 250px;
    }

    .order-collection-bg-11 {
        position: absolute;
        top: -80px;
        right: -148px;
        z-index: -1;
    }

    .order-collection-bg-11 img {
        width: 300px;
    }



    /* オーダーの流れ */

    .order-flow {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
    }

    .order-flow-item {
        position: relative;
        padding-bottom: 80px;
        /* 縦線が下に伸びるための余白 */
        margin-bottom: 30px;
    }

    .order-flow-item:not(:last-child)::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 2px;
        height: 50px;
        background-color: #FACACF;
        /* 縦線の色 */
    }



    .order-flow-number {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 30px;
        line-height: 32px;
        color: #F26E90;
        text-align: center;
        margin-bottom: 20px;
        position: relative;
    }

    .order-flow-text {
        font-family: "Noto Sans JP", serif;
        font-weight: 300;
        font-style: normal;
        color: #4D5156;
        font-size: 18px;
        line-height: 32px;
        text-align: center;
    }

    .order-caution {
        font-family: "Noto Sans JP", serif;
        font-weight: 400;
        font-style: normal;
        color: #4D5156;
        font-size: 14px;
        line-height: 24px;
        text-align: center;
        margin-bottom: 200px;
    }

    /* 料金について */
    .order-price {
        margin-bottom: 150px;
    }

    .price-table {
        width: 100%;
        border-collapse: collapse;
        font-family: "Noto Sans JP", sans-serif;
        margin: 0 auto 70px;
    }

    .price-table th,
    .price-table td {
        border: 1px solid #fff;
        padding: 15px;
        text-align: center;
        font-size: 16px;
    }

    .price-table thead th {
        background-color: #F26E90;
        color: #fff;
        font-weight: 500;
    }

    .price-table tbody tr:nth-child(even) {
        background-color: #FFF1F1;
    }

    .price-table tfoot td {
        text-align: right;
        font-size: 14px;
        padding-top: 20px;
        border: none;
        color: #666;
    }

    .price-lead {
        font-family: "Noto Sans JP", serif;
        font-weight: 300;
        font-style: normal;
        color: #4D5156;
        font-size: 18px;
        line-height: 32px;
        text-align: center;
    }

    .order-date {
        margin-bottom: 150px;
    }

    .date-lead {
        font-family: "Noto Sans JP", serif;
        font-weight: 300;
        font-style: normal;
        color: #4D5156;
        font-size: 18px;
        line-height: 36px;
        text-align: center;
    }

    .date-lead span {
        display: block;
        font-weight: 400;
        font-size: 14px;
        line-height: 24px;
    }


    .nigaoe-wrap {
        display: block;
        align-items: center;
        margin-bottom: 130px;
    }

    .nigaoe-midashi {
        font-weight: 400;
        font-style: normal;
        font-size: 32px;
        line-height: 41px;
        text-align: center;
        color: #4D5156;
        margin-bottom: 20px;
    }


    .nigaoe-text {
        width: 100%;
        padding-left: 0;
        padding-top: 0;
    }

    .nigaoe-text .text {
        font-size: 18px;
        line-height: 32px;
        padding-left: 0;
    }

    .nigaoe-img {
        width: 100%;
        /* 少し大きく調整 */
        height: auto;

    }

    .nigaoe-img img {
        width: 100%;
        height: auto;
    }

    .order-request {
        display: block;
        width: 100%;
        margin: 0 auto 200px;
    }

    .order-request-text {
        font-size: 18px;
        line-height: 32px;
        padding-left: 20px;
        margin-bottom: 70px;
        text-align: center;
    }

    .order-request-appli {
        display: block;
        justify-content: center;
        gap: 50px;
    }

    .order-request-mail {
        font-size: 18px;
        line-height: 46px;
        text-align: center;
        margin-bottom: 70px;
    }

    .order-request-mail a {
        font-size: 20px;
        font-weight: 400;
        color: #4D5156;
    }

    .order-request-line {
        font-size: 18px;
        line-height: 42px;
        text-align: center;
        margin-bottom: 70px;
    }

    .order-request-line img {
        width: 180px;
        height: auto;
    }

    .order-greeting {
        font-size: 18px;
        line-height: 32px;
        text-align: center;
        margin-bottom: 200px;
    }

    .order-greeting span {
        font-size: 26px;
        font-weight: 400;
    }


    /* --------------------------
レッスン申込みフォーム
----------------------------*/

    .mv-etc-form {
        display: flex;
        width: 100%;
        height: 430px;
        background-image: linear-gradient(to bottom,
                rgba(255, 255, 255, 1),
                rgba(255, 255, 255, 0)),
            url(img/form_mv-sp.webp);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }

    .mv-etc-contact {
        display: flex;
        width: 100%;
        height: 430px;
        background-image: linear-gradient(to bottom,
                rgba(255, 255, 255, 1),
                rgba(255, 255, 255, 0)),
            url(img/contact_mv-sp.jpg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }

    .form-wrapper {
        max-width: 85%;
        margin: 0 auto 200px;
    }

    .form-description {
        text-align: center;
        margin-bottom: 50px;
        font-size: 16px;
        line-height: 1.6;
    }

    .form-group {
        margin-bottom: 40px;
    }

    label {
        font-weight: bold;
        display: block;
        margin-bottom: 7px;
    }

    .required,
    .optional {
        display: inline-block;
        padding: 2px 6px;
        font-size: 12px;
        border-radius: 4px;
        margin-left: 6px;
    }

    .required {
        background-color: #f8a9ba;
        color: #fff;
    }

    .optional {
        background-color: #ccc;
        color: #fff;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    select,
    textarea {
        width: 100%;
        padding: 10px;
        border: 1px solid #f8a9ba;
        border-radius: 6px;
        box-sizing: border-box;
        font-size: 14px;
    }

    .name-fields {
        display: flex;
        gap: 10px;
    }

    .name-fields input {
        width: 100%;
    }

    small {
        font-size: 12px;
        color: #666;
        display: block;
        margin-bottom: 5px;
    }

    textarea {
        resize: vertical;
    }

    .form-button {
        text-align: center;
        margin-top: 30px;
    }

    .form-button button {
        background-color: #f8a9ba;
        border: none;
        color: white;
        padding: 12px 40px;
        border-radius: 10px;
        font-size: 16px;
        cursor: pointer;
        transition: opacity 0.3s;
    }

    button:hover {
        opacity: 0.8;
    }

    .date-fields {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .date-fields label {
        font-size: 14px;
        margin-bottom: 3px;
        display: block;
    }

    .date-row {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
        /* スマホ時は折り返す */
    }

    .date-input {
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .date-input label {
        font-size: 14px;
        margin-bottom: 4px;
    }

    input[type="date"] {
        width: 100%;
        padding: 10px;
        border: 1px solid #f8a9ba;
        border-radius: 6px;
        box-sizing: border-box;
        font-size: 14px;
    }




    /* エラー表示用 */
    input.error,
    select.error,
    textarea.error {
        border-color: red;
        background-color: #ffe6e6;
    }

    .error-message {
        color: red;
        font-size: 12px;
        margin-top: 5px;
    }

    /* 確認用モーダルウィンドウ */
    .modal.hidden {
        display: none;
    }

    .modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9999;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .modal-content {
        background: #fff;
        padding: 30px;
        border-radius: 10px;
        width: 90%;
        max-width: 500px;
        text-align: left;
    }

    .modal-content h3 {
        margin-top: 0;
        font-size: 20px;
        margin-bottom: 15px;
    }

    .confirm-list p {
        margin: 8px 0;
    }

    .modal-buttons {
        text-align: center;
        margin-top: 20px;
    }

    .modal-buttons button {
        background-color: #f8a9ba;
        color: white;
        padding: 10px 25px;
        margin: 0 10px;
        border: none;
        border-radius: 8px;
        cursor: pointer;
    }

    /* --------------------------
サンクスページ
----------------------------*/

    .thanks {
        margin: 300px auto;
        text-align: center;
    }

    .thanks h2 {
        margin-bottom: 30px;
    }




    /* --------------------------
ブログページ
----------------------------*/
    .blog-container {
        flex-direction: column;
        padding: 20px;
    }

    .blog-content,
    .sidebar {
        width: 100%;
        padding: 0;
        border: none;
    }

    .blog-date {
        font-size: 14px;
        color: #666;
        margin-bottom: 20px;
    }

    .blog-date a {
        color: #f26c9a;
        text-decoration: none;
        margin-right: 5px;
    }

    .blog-date a:hover {
        text-decoration: underline;
    }


    .sidebar h2 {
        margin-top: 20px;
    }



    /* --------------------------
アーカイブページ
----------------------------*/

    #archive {
        margin-bottom: 100px;
    }

    .archive-container {
        max-width: 1000px;
        margin: 0 auto;
        padding: 40px 20px;
        display: block;
        gap: 30px;
    }

    .archive-main {
        width: 100%;
    }

    .archive-title {
        font-size: 24px;
        margin-bottom: 30px;
    }

    .archive-post {
        display: block;
        border-bottom: 1px solid #ccc;
        padding: 20px 0;
    }

    .archive-post img {
        width: 100%;
        height: auto;
        margin-right: 20px;
    }

    .post-title {
        color: #f26c9a;
        font-size: 18px;
        margin-bottom: 10px;
    }

    .post-excerpt {
        color: #333;
        line-height: 1.6;
        font-size: 14px;
    }

    .post-meta {
        color: #666;
        font-size: 13px;
        margin-top: 10px;
    }

    .archive-pagination {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .archive-pagination a {
        min-width: 36px;
        text-align: center;
    }

    /* --------------------------
スケジュール・アクセス
----------------------------*/

    .mv-etc-schedule {
        display: flex;
        width: 100%;
        height: 450px;
        background-image: linear-gradient(to bottom,
                rgba(255, 255, 255, 1),
                rgba(255, 255, 255, 0)),
            url(img/schedule_mv-sp.webp);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }

    .schedule_title {
        font-family: "Kiwi Maru", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 26px;
        color: #F26E90;
        text-align: center;
        margin-bottom: 50px;
    }

    .schedule_lead {
        font-size: 16px;
        font-weight: 300;
        margin-bottom: 30px;
        text-align: center;
    }

    .calendar-wrap {
        background-color: #fef9d4;
        /* 背景色を任意で */
        padding: 10px;
        border-radius: 8px;
        /* 角丸など好みで */
        max-width: 800px;
        margin: 50px auto 100px;
        box-sizing: border-box;
    }

    .google-calendar {
        height: 500px;
    }

    .google-map {
        height: 350px;
    }

    .map_lead {
        font-size: 16px;
        line-height: 26px;
        font-weight: 500;
        text-align: center;
        margin: 20px auto 15px;
    }

    .map_caution {
        font-size: 14px;
        line-height: 22px;
        font-weight: 300;
        text-align: center;
        margin-bottom: 150px;
    }

    /* --------------------------
ギャラリー
----------------------------*/
    .mv-etc-gallery {
        display: flex;
        width: 100%;
        height: 430px;
        background-image: linear-gradient(to right,
                rgba(255, 255, 255, 1),
                rgba(255, 255, 255, 0)),
            url(img/gallery_mv-sp.jpg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        position: relative;
        margin-bottom: 120px;
    }

    .gallery-item {
        width: calc(50% - 10px);
        /* タブレットで2列 */
    }
}

@media screen and (max-width: 480px) {
    .gallery-item {
        width: 100%;
        /* スマホで1列 */
    }

    /* トップページのギャラリー */
    .gallery-item {
        width: calc(50% - 10px);
        /* タブレットは2列 */
    }


}