    /* リセット */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    body {
      font-family: Arial, sans-serif;
      padding-top: 6em; /* ヘッダーの高さ */
      /*
      background-color: #fbf9fa;
      */
    }
    /* 固定ヘッダー：高さ80px、左右20pxのパディング */
    .header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 6em;
      /*
      background: #fff9f9;
      border-bottom: 1px solid #ddd;
      */
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0px;
    }
    .logo {
      font-size: 1.5rem;
      font-weight: bold;
      color: #333;
    }
    .logo span{
      padding-left: 2em;
    }
    .right-menu {
      display: flex;
      align-items: center;
    }
    /* テキストメニューボタン（PCのみ表示） */
    .text-menu {
      display: flex;

        }
    .text-menu span {
      font-size: 12px;
      line-height: 1.5em;
      padding-left: 0.5em;
  }
    .text-menu img{
      width: 20px;
      line-height: 20px;
    }
    .text-menu a {
      text-decoration: none;
      font-size: 1rem;
      padding: 0 10px;
    }
    .text-menu a:hover {
      color: #007BFF;
    }
    /* バーガーメニューコンテナ（右側、正方形 40px） */
    .burger-container {
      width: 6em;
      height: 6em;
      background: #666;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background 0.3s ease;
    }
    /* バーガーアイコンのスタイル：各バーの幅は上100%、中75%、下50%、左右は左寄せ、線は細く（1px） */
    .burger {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 28px;
      height: 17px;
    }
    .burger .bar {
      height: 1px;
      background: #fff;
      border-radius: 1px;
      transition: all 0.3s ease;
      margin-left: 0;
    }
    .burger .bar:nth-child(1) { width: 100%; }
    .burger .bar:nth-child(2) { width: 75%; }
    .burger .bar:nth-child(3) { width: 50%; }
    /* バーガーメニュー → バツ印への変化 */
    .burger-container.active .burger .bar:nth-child(1) {
      transform: translateY(8px) rotate(45deg);
    }
    .burger-container.active .burger .bar:nth-child(2) {
      opacity: 0;
    }
    .burger-container.active .burger .bar:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
    }
    /* 全画面展開メニュー（フェードイン/アウト設定） */
    .menu {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #f7f2f2;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease;
      z-index: 1100;
    }
    .menu.visible {
      opacity: 1;
      pointer-events: auto;
    }
    /* 全画面メニュー内ヘッダー：高さ80px、左右20pxのパディング、ヘッダーと同じレイアウト */
    .menu-header {
      height: 80px;
      padding: 0 10px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .menu-logo {
      font-size: 1.5rem;
      font-weight: bold;
      color: #fff;
    }
    /* 閉じるバツ印：バーガーメニューと同じサイズ・位置に配置 */
    .close-btn-new {
      width: 5em;
      height: 4em;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    /* カスタムバツ印：2本の細いライン（各1px） */
    .close-btn-new .close-line {
      position: absolute;
      width: 24px;
      height: 1px;
      background: #333;
      transform-origin: center;
      transition: all 0.3s ease;
    }
    .close-btn-new .close-line:first-child {
      transform: rotate(45deg);
    }
    .close-btn-new .close-line:last-child {
      transform: rotate(-45deg);
    }
    /* メニュー項目 */
    .menu ul {
      list-style: none;
      padding-top: 40px;
      text-align: left;
    }
    .menu li {
      border-bottom: 1px solid #444;
    }
    .menu li a {
      display: block;
      padding: 15px 20px;
      text-decoration: none;
      color: #fff;
      font-size: 1.2rem;
    }
    .menu li a:hover {
      background: #333;
    }
    .front-catch {
      padding: 95px 0;
      font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      border:none;
      background-color: #fbf9fa;
    }

      .front-catch .inner {
        max-width: 960px;
        margin: 0 auto;
        text-align: center;
        color: #454545;
    }

    .front-catch .inner h2 {
      font-size: 3.6rem;
      line-height: 1.85;
      margin: 0 0 36px;
      color: #71706a;
      font-family: "Cormorant Garamond", serif;
      font-weight: 400;
      /*
      border-bottom: 1px solid #ccc;
      */
    }
    .front-catch .inner h3 {
      font-size: 1.6rem;
      line-height: 2;
      margin: 0 0 40px;
      font-weight: normal;
    }
    .front-catch .inner .text {
      font-size: 1.4rem;
      line-height: 2.0;
      margin: 0 0 60px;
      font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      color: #33180a;
      font-weight: normal;
  }

    /*ロケーション*/
    .backgcolor-pink{
      background-color: #fbf9fa!important;
    }
    .backgcolor-white{
      background-color: #fff!important;
    }
    


    .front-price .inner .plan {
      font-size: 2.0rem;
      line-height: 1.7;
      text-align: center!important;
      margin: 0 0 10px;
      text-align: left;
      font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      color: #cf9599;
      font-weight: normal;
    }
  

    .front-price .inner ul li h3
    .front-price .inner .plan-header{
			text-align: center;
			margin: 0 0 73px;
		}


  .front-price .inner ul li .plan {
    font-size: 2.0rem;
    line-height: 1.7;
    text-align: center!important;
    margin: 0 0 10px;
    text-align: left;
    font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #cf9599;
    font-weight: normal;
  }

    

    .front-price .inner ul li .price {
      font-size: 2.2rem;
      line-height: 1.5;
      /* color: #cb797e; */
      color: #71706a;
      font-weight: normal;
      text-align: left;
      padding-bottom: 0.5em;
    }
    .front-price .inner ul li .price .yen_tax {
      font-size: 0.7em;
      font-weight: normal;
      font-feature-settings: "palt";
    }
    .front-price .inner ul li .plan-contents {
      background-color:#fff;
      padding: 0.5em;
      font-size: 1.7em;
      border: #cb797e solid 1px;
      text-align: center;
      margin-bottom: 0.5em;
      background-color: #cf9599;
      color: #fff;

    }


    .front-price .inner ul li .price-plan {
      font-size: 2.2rem;
      line-height: 1.5;
      color: #71706a;
      font-weight: normal;
      text-align: center;
      margin-bottom: 0em;
    }
    .front-price .inner ul li .price-plan .yen{
      font-size: 1.5rem;
    line-height: 1.5;
    }


    .photo-list{
      padding:0em 3em 3em 3em;
    }
    .photo-list-in{
      background-color: #fbf9fa;
      padding:0em 1em 1em 1em;
    }
    .photo-list-in-in{
      border-left: 1px solid #ccc;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      padding: 3em 2.5em 2.5em 2.5em;
      color: #412E27;
    }

    .photo-list-in-plan{
      background-color: #fbf9fa;
      padding:1em 1em 1em 1em;
    }

    .photo-list-in-in-plan{
      border-top: 1px solid #ccc;
      border-left: 1px solid #ccc;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      padding: 3em 2.5em 2.5em 2.5em;
      color: #412E27;
    }
    .photo-list-in-in-plan .text .yen_tax{

    }

    .location-header .inner {
      max-width: 490px;
      margin: 0 auto;
      /* color: #454545; */
  }    
  .location-heade .inner ul {
    display: flex;
    justify-content: space-between;
    align-items: inherit;
    flex-wrap: wrap;
}
    .location-header .inner ul li {
      flex-basis: 100%;
      flex-shrink: 0;
      flex-grow: 0;
      max-width: 100%;
      margin: 0;
  }
  .location-header .inner ul li .text{
    font-size: 1.4rem;
    margin: 0 0 20px;
    line-height: 1.5em;
  }


    .location-header .photo-list-in-plan{
      background-color: #fbf9fa;
      padding:1em 1em 1em 1em;
    }

    .location-header .photo-list-in-in-plan{
      border-top: 1px solid #ccc;
      border-left: 1px solid #ccc;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      padding: 3em 2.5em 2.5em 2.5em;
      color: #412E27;
    }
    .location-header h3{
      font-size: 2.0rem;
      line-height: 1.7;
      text-align: center;
      margin: 0 0 10px;
      font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      color: #cf9599;
      font-weight: normal;
    }
   .location-header .text{
      font-size: 1.4rem;
      text-align: left;
      margin: 0 0 20px;
      line-height: 1.5em;
      font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    }
    

    .gallery-list .page-num {
      font-size: 1.4rem;
      line-height: 1.5;
      padding: 27px 0 16px;
      margin: 70px 0 0;
      border-top: solid 1px #dfdfdf;
    }
    .gallery-list .archive-list {
      margin: 0 -6px;
    }
    .gallery-list .archive-list .item {
      width: 25%;
      box-sizing: border-box;
      padding: 6px;
    }
    .yen_basic_price{
      font-size: 1em; margin: 0 0.5em 0 0.5em;
    }
    .yen_price{
      font-size: 1.5em;
    }
    .yen_tax{
      font-size: 0.8em;
      font-feature-settings: "palt";
  
    }

    /* スマートフォン：テキストメニューボタン非表示 */
    @media (max-width: 768px) {
    /* 固定ヘッダー：高さ80px、左右20pxのパディング */
      .header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 6em;
        /*
        background: #fff;
        border-bottom: 1px solid #ddd;
        */
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0px;
      }
      .burger-container {
        width: 6em;
        height: 6em;
        background: #666;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background 0.3s ease;
      }
      /* 閉じるバツ印：バーガーメニューと同じサイズ・位置に配置 */
      .close-btn-new {
        width: 4em;
        height: 3em;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
      }
      .front-catch .inner h2 {
        font-size: 5.625vw;
        line-height: 1.85;
        margin: 0 0 20px;
      }
      .front-catch .inner h3 {
        font-size: 3.8vw;
        line-height: 2;
        margin: 0 0 20px;
      }
      /*
      ロケーション
      */
      .front-price {
        padding-top: 4em;
				margin: 0;
			}
      .front-price .inner .plan-header{
				margin: 0;
			}
			.front-price .inner .plan-header h2 {
				font-size: 6vw;
				line-height: 1.5;
				margin: 0;
				letter-spacing: 0.1em;
        padding-bottom: 0.75em;
			}
      .front-price .inner .plan-header .sub{
        font-size: 1.4rem;
        line-height: 1.5;
        text-align: center;
        padding: 0em 1em 1em 0em;
      }
      .front-price .inner ul {
        display: block;
        width: 100%;
        justify-content: space-between;
        align-items: inherit;
        flex-wrap: wrap;
      }
      .front-price .inner ul li {
        margin: 0 0 15px;
        max-width: 100%;
      }
      .photo-list{
        padding: 0em 1em 1em 1em;
      }
      .front-price .inner ul li h3{

      }
      .front-price .inner ul li .price {
        font-size: 2.0em;
        line-height: 1.5;
        text-align: left;
        padding-bottom: 0.5em;
    }
    .front-price .inner ul li .price .yen {
      font-size: 0.7em;
      line-height: 1.5;
  }
    .front-price .inner ul li .price .yen_tax {
      font-size: 0.8em;
      font-feature-settings: "palt";
    }
    .photo-list-in{
      padding: 0em 0.5em 0.5em 0.5em;
    }
    .photo-list-in-plan{
      padding: 0.5em 0.5em 0.5em 0.5em;
    }
    .photo-list-in-in{
      padding-left: 1em;
        padding-right: 1em;
    }
    ..photo-list-in-in-plan{
      padding-left: 1em;
      padding-right: 1em;

    }
    .front-price .inner .photo-list .photo-list-in .photo-list-in-in ul.icon-list li {
      padding: 0em 0.25em 0em 0.25em;
      margin-bottom: 0;
    }
      .text-menu {
        display: none;
      }
    }

    /* -------------------------------
       イメージ画像用のコンテナ設定
       ------------------------------- */
       .image-container {
        max-width: 1440px;
        margin: 0 auto;
        padding: 0 20px;
        background-color: #e7dacc;
      }
      .image-container img {
        width: 50%;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
        padding: 4em;
      }


/*
ここから下は無類

*/



/* コンテナのスタイル */

.container-slilder{
    overflow: hidden;
/*    width: 100vw; */
    width: 100%;
    height: 350px; /* 写真とキャプションが収まる高さに調整 */
    position: relative;
    background-color: #fbf9fa;
  }
  
  /* スライド全体のスタイル */
 .container-slilder .slide {
    display: flex;
    width: calc(100vw * 6); /* 6枚分の幅 */
    animation: slide-left 60s linear infinite;
  }
  
  /* 各スライドアイテムのスタイル */
  .container-slilder .slide .slide-item a {
    color:#333;
  }
  /* 各スライドアイテムのスタイル */
  .container-slilder .slide .slide-item {
    width: 33.3vw;
    flex-shrink: 0;
    text-align: center;
  }
  
  /* 画像のスタイル */
  .container-slilder .slide .slide-item img {
    width: 100%;
    height: 70%; /* 写真の高さを全体の70%に設定 */
    object-fit: cover; /* 画像をコンテナに合わせる */
    
  }
  
  /* キャプションのスタイル */
  .container-slilder .caption {
    height: 16%; /* キャプションの高さを全体の30%に設定 */
    padding: 5px 10px 10px 10px;
    text-align: left;
    font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif

  }
  
  .container-slilder .caption h2 {
    font-size: 1.6em;
    line-height: 1.7;
    margin: 0;
    text-align: left;
    font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #52514c;
    /*
    color: #2e93d4;
    */
    font-weight: normal;
  }
  
  .container-slilder .caption p {
    margin: 0;
    font-size: 1.4em;
  }
  .container-slilder .caption .price {
    font-size: 2.2rem;
    line-height: 1.5;
    /* color: #cb797e; */
    color: #71706a;
    font-weight: normal;
  }
  .container-slilder .caption .yen {
    font-size: 1.5rem;
    line-height: 1.5;
}

/*
ここはスマホ用
*/
  @media screen and (max-width: 768px) {
    .container-slilder{
        overflow: hidden;
        width: 100vw;
        height: 200px; /* 写真とキャプションが収まる高さに調整 */
        position: relative;
      }
      
      /* スライド全体のスタイル */
     .container-slilder .slide {
        display: flex;
        width: calc(100vw * 6); /* 6枚分の幅 */
        animation: slide-left 60s linear infinite;
      }
      
      /* 各スライドアイテムのスタイル */
      .container-slilder .slide .slide-item {
        width: 45.3vw;
        flex-shrink: 0;
        text-align: center;
      }
      .container-slilder .slide .slide-link a {
        color: #333;
      }
      /* 画像のスタイル */
      .container-slilder .slide .slide-item img {
        width: 100%;
        height: 70%; /* 写真の高さを全体の70%に設定 */
        object-fit: cover; /* 画像をコンテナに合わせる */
      }
      
      /* キャプションのスタイル */
      .container-slilder .caption {
        height: 16%; /* キャプションの高さを全体の30%に設定 */
        padding: 5px 10px 10px 10px;
        text-align: left;
      }
      
      .container-slilder .caption h2 {
        margin: 0;
        font-size: 1.4em;
        color: #2e93d4;
      }
      
      .container-slilder .caption p {
        margin: 0;
        font-size: 1.2rem;
      }
    }
    


/*
ロケーション
*/
.location-header{
  text-align: center;
  padding: 8em 0 3em;
  background-color: #fbf9fa;

}

.location-header .sub{
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #412E27;
}

.location-header .location-title {
  font-size: 3.2rem;
  text-align: center;
  font-family: "Cormorant Garamond", serif!important;
  line-height: 1.5;
  margin: 0 0 5px;
  letter-spacing: 0.2em;
  color: #71706a;
  padding-bottom: 2em;
}

.location-header .location-title::after {
/*
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background-color: #000;
  margin: 0.5em auto 0;
*/
}
@media screen and (max-width: 768px) {

  .location-header{
    text-align: center;
    padding: 0em 0 3em;
  }
  .location-header .location-title{
    font-size: 2.4em;
    letter-spacing: 0.1em;
    padding-bottom: 0em;
  }
  .location-header .sub{
    font-size: 3.125vw;
  }


}


/*
フォント
*/

.cormorant-garamond-light {
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  font-style: normal;
}

.cormorant-garamond-regular {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
}

.cormorant-garamond-medium {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-style: normal;
}

.cormorant-garamond-semibold {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-style: normal;
}

.cormorant-garamond-bold {
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-style: normal;
}

.cormorant-garamond-light-italic {
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  font-style: italic;
}

.cormorant-garamond-regular-italic {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: italic;
}

.cormorant-garamond-medium-italic {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-style: italic;
}

.cormorant-garamond-semibold-italic {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-style: italic;
}

.cormorant-garamond-bold-italic {
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-style: italic;
}


.front-plan {
  padding: 14em 0 7em;
  font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  background-color: #f7f2f2;

}

.front-plan .inner h2 {
  font-size: 3.2rem;
  text-align: center;
  font-family: "Cormorant Garamond", serif;
  line-height: 1.5;
  margin: 0 0 5px;
  letter-spacing: 0.2em;
  color: #71706a;
  padding-bottom: 2em;
}

.front-plan .inner ul {
  display: flex;
  justify-content: flex-start;
  align-items: inherit;
  flex-wrap: wrap;
}
.front-plan .inner ul li {
  flex-basis: 31.45%;
  flex-shrink: 0;
  flex-grow: 0;
  max-width: 31.45%;
  margin: 0 0 34px 2.825%;
  background-color: #f7f2f2;
/*
  background-color: #fbf9fa;
*/
}
  /*
.front-plan .inner ul li:nth-of-type(3n+1) {
  margin-left: 0;
  padding: 2em;
  background-color: #fbf9fa;
}
  */
.front-plan .inner ul li h3 {
  font-size: 2.0em;
  line-height: 1.7;
  margin: 0;
  text-align: left;
  font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #cf9599;
  /* color: #52514c; */
  font-weight: normal;
}
.front-plan .inner ul li a {
  color: #454545;
}
.front-plan .inner ul li .img {
  margin: 0;
}
.front-plan .inner ul li .text {
  font-size: 1.4rem;
  margin: 0 0 20px;
  line-height: 1.5em;
  color: #412E27;
}
.front-plan .inner ul li .line {
  padding: 2em 1em 0em 1em;
}
.front-plan .inner ul li .line-down {
  padding: 0em 1em 2em 1em;
}
.front-plan .inner ul li .line .line-area-up{
  background-color: #fff;
  padding: 2em 2em 1em 2em;
 
 /*
  border-left:1px solid #f00;
  border-top:1px solid #f00;
  border-right:1px solid #f00;
 */
}
.front-plan .inner ul li .line-down .line-area-down{
  background-color: #fff;
  padding: 2em 2em 1em 2em;
  /*
  border-left:1px solid #f00;
  border-bottom:1px solid #f00;
  border-right:1px solid #f00;
  */
}


.front-plan .inner ul li .price {
  font-size: 2.0rem;
  line-height: 1.5;
  /* color: #cb797e; */
  color: #71706a;
  font-weight: normal;
  text-align: center;
}



/*
footer
*/
.l-footer {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.l-footer-inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.l-footer-top {
  width: 100%;
}
.l-footer-top_left-block {
  display: grid;
  grid-template: "logo social-media" auto / 160px auto;
  gap: 0 42px;
}
.g-footer-logo{
  font-size: 1.4rem;
}
.g-footer-social-media{
  font-size: 1.3rem;
  width: 500px;
}
.g-footer-navigation {
  font-family: var(--font-gothic-en);
}
.g-footer-navigation-list {
  display: flex;
  flex-flow: row wrap;
  gap: 0 35px;
}

.l-footer-inner::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background-color: var(--color-gray-nurse);
}
.copyright {
  background: #e9e0e0;
  color: #71706a;
  padding: 3em;
  text-align: center;
  font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


@media screen and (min-width: 1024px) {
  .l-footer-top {
      display: grid;
      grid-template: "left right" auto / 200px auto;
      gap: var(--content-grid-column-gap);
  }
  .l-footer-top_left-block {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .l-footer-top_right-block {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .l-footer-top_right-block {
    grid-area: right;
  }
  .g-footer-navigation-list {
    justify-content: flex-end;
  }
  .l-footer-bottom {
    margin-top: 70px;
  }
  .g-pagetop-button {
    right: calc((var(--side-margin) - 13px)* -1);
  }
  .l-footer-inner::after {
    border-image-source: linear-gradient(var(--color-gray-nurse), var(--color-gray-nurse));
    border-image-slice: 0 fill;
    border-image-outset: 0 100vw 0 100vw;
  }
}

/* フッター全体のスタイル */
#footer {
  padding: 0;
  color: #333;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 1.2em;
}

/* 3カラムレイアウト */
.footer-columns {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

.footer-col {
  flex: 1;
/*  min-width: 250px; */
  padding: 10px;
}

/* 左カラム：社名（左寄せ） */
.footer-col-left {
  text-align: left;
  max-width: 180px;
}

/* 中央カラム：住所（中央寄せ） */
.footer-col-center {
  text-align: left;
}

/* 右カラム：メニュー（右寄せ） */
.footer-col-right {
  text-align: right;
  font-size: 0.8em;
}

/* メニューの横並び設定 */
.footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
}
.footer-menu a{
  color: #cf9599;
}
.footer-menu li {
  margin-left: 15px;
}

.footer-menu li:first-child {
  margin-left: 0;
}

/* レスポンシブ対応（スマートフォンなど画面幅768px以下の場合） */
@media screen and (max-width: 768px) {
  .footer-columns {
    flex-direction: column;
    align-items: center;
  }
  .footer-col {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2em;
    padding-right: 2em;
  }
  .footer-menu{
    justify-content: center;
  }
}






/* -------------------------
プラン
------------------------- */

.course_kv_single img{
  aspect-ratio: 25 / 12;
  object-fit: cover;
  width: 100%;
}
.single-plan-container .single-header h1{
  font-size: 2.8rem;
  text-align: center;
  font-family: "Cormorant Garamond", serif;
  line-height: 1.5;
  margin: 0 0 5px;
  letter-spacing: 0.2em;
  color: #71706a;
  /*padding-bottom: 0.75em;  */

}
.single-plan-container .single-header .sub {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #412E27;
}




@media screen and (max-width: 768px) {
  .course_kv_single img{
    aspect-ratio: 1 / 1;
  }
  .single-plan-container .single-header h1{
    font-size: 2.4rem;
  }

}
/* -------------------------
メニュー
------------------------- */
/* 全体の2カラムレイアウト（メニュー専用） */
.container-menu {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.5em;
  line-height: 1.5;
  color: #71706a;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.left,
.right {
  flex: 1 1 50%;
  box-sizing: border-box;
  padding: 20px;
}

/* 左カラム内部：デフォルトは上下（縦並び） */
.left-inner {
  display: flex;
  flex-direction: column;
  gap: 0px;
}

.left-inner a{
  color: #71706a;
}
.submenu{
  padding: 0.5em 0em 0em 1em
}
.submenu a{
  text-decoration: underline;
}
.menu_title{
  padding:0.75em 0em 0em 0em;
  color: #71706a;
}
.menu_title_location{

}
.submenu_title{
  padding: 0.5em 0em 0em 1em;
  color: #71706a;
}
.submenu_title a{
  text-decoration: underline;
}
.submenu_title_menu{
  padding: 0.5em 0em 0.5em 2em;
  text-decoration: underline;
}
.submenu_title_menu_sp{
  display:block;
  line-height: 1.75;
}
.right .button {
  margin: 2em 0px 0.5em 0px;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "MS P明朝", "MS PGothic", serif;
}
.right .button2 {
  margin: 0em 0px 0.5em 0px;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "MS P明朝", "MS PGothic", serif;
}
.tel-link {
  text-align: left;
  font-size: 1em;
  margin: 10px 0;
}
.tel-link span {
  font-size: 1.6em;
  font-weight: 100;
}
.tel-display{

}
.tel-font{

}
.tel-call {
  display: none;
}

  .button-outline {
    width: 100%;
    display: inline-block;
    padding: 10px 60px;
    font-size: 1.0em;
    background-color: #e9e0e0;
    color: #000;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 15px;
}
.button-outline span{
  padding-left: 0.5em;
  color: #000;
}

.button-outline img{
  width: 24px;
}
.right_menu_title{
  padding: 0;
}
.right_menu_title a{
  color: #71706a;
  text-decoration: underline;
}
.right_menu_title2{
  padding: 0.75em 0em 0em 0em;
}
.right_menu_title2 a{
  color: #71706a;
  text-decoration: underline;
}



.right .reception-hours {
  font-size: 0.8em;
  line-height: 1.0em;
  padding-bottom: 1em;
}
.right .company {
  font-size: 0.9em;
  padding-top: 2em;
  padding-bottom: 2em;
  font-weight: 100;
}
.sub_link{
  padding: 0em 0em 0em 1em;
}
.sns-icons {
  display: flex;
  justify-content: start;
  margin-top: 0px;
  gap: 10px;
}
.sns-icons img{
  width: 24px;
}
.sns-icons a{
  color: #71706a;
}
.sns-icons span{
  padding-left: 0.5em;
  color: #71706a;
}
.title_top{
  padding: 0;
}
.title_top a{
  text-decoration: underline ;
}
.title_stadio{
  padding: 0.5em 0em 0em 0em;
}

/* レスポンシブ対応：画面幅768px以下の場合 */
@media screen and (max-width: 768px) {
  .container-menu {
    overflow-y: auto;
  }
  
  /* 外側のカラムを縦並びに */
  .left,.right {
    flex: 1 1 100%;
    padding: 0 1em 0 1em;
    font-size: 1.1em;
  }
  /* 左カラム内部は左右に並ぶ */
  .left-inner{
    flex-direction: column;
  }
  .left-inner .top{
    padding-bottom: 1em;
  }
  .left-inner .bottom{
    padding-bottom: 0.5em;
  }
  /* 内部の各ブロックを均等な幅に */
  .left-inner > div {
    flex: 1;
  }
  .left-inner a{

  }
  .submenu{
    padding: 0.5em 0em 0em 0.5em;
  }

  .submenu a{
    color: #71706a;
  }

  .menu_title{
    padding:0;
  
  }
  .submenu_title{
    padding: 0.5em 0em 0em 0.5em;
  }
  .submenu_title_menu{
    padding: 0.5em 0em 0.75em 1.0em;
    line-height: 2.0;
  }
  .submenu_title_menu_sp{
    padding-right:1.0em;
    display: inline;
  }
  }
  .right .submenu{

  }

  .right ul li a {
    padding: 0.5em 0em 0.5em 0em;
  }
  .right .button {
    margin: 0.5em 0em 0.5em 0em;
  }
  .right .button2 {
    margin: 0em 0em 0.5em 0em;
  }
  .button-outline {
    margin-top: 0.75em;
    padding-top: 1em;
    margin-bottom: 0;
  }

  .tel-link {
    text-align: left;
    font-size: 0.5em;
    margin: 0 0 0.25em 0;
  }
  .tel-link span {
    font-size: 2.1em;
    font-weight: 100;
}
  .right .company {
    font-size: 0.9em;
    padding-top: 1em;
    padding-bottom: 0.75em;
    font-weight: normal;
  }
  .right .reception-hours {
    padding-bottom: 0.5em;
  }
  
  .sns-icons {
    margin-top: 0px;
    gap: 10px;
  }
  .sns-icons span{

  }
  .sns-icons img{
    width: 20px;
  }
  .title_stadio{
    padding-top: 1em;
  
  }
}


/* ---------------------
FQA
--------------------- */
.qa-menu {
  display: flex
;
  gap: 10px;
  justify-content: center;
  margin-bottom: 6em;
}
.q-and-a {
  font-family: Hannari, 游明朝, YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: rgb(65, 46, 39);
}
.q-and-a .answer {
  margin-top: 5px;
  text-align: left;
}
.front-catch .inner .single-body .q-and-a h2.qa_title {
  font-size: 2.6em;
  line-height: 1.85;
  margin: 4em 0 36px;
  color: #71706a;
  font-family: "Cormorant Garamond", serif;
  font-weight: normal;
  
}
.front-price .inner  h2{
  font-size: 3.2rem;
  text-align: center;
  font-family: "Cormorant Garamond", serif;
  line-height: 1.5;
  margin: 0 0 5px;
  letter-spacing: 0.2em;
  color: #71706a;
  padding-bottom: 2em;
}
.qa-button {
  font-size: 1.2em;
  padding: 10px 40px;
  background-color: #aaaaaa;
  color: #fff;
  text-decoration: none;
  border-radius: 20px;
  text-align: center;
  transition: background-color 0.3s;
}
.q-and-a .q-label{
  font-size: 1.4em;
  line-height: 1.75em;
  display: inline-block;
  padding: 5px 10px;
  background-color: #fbf9fa;
  border-radius: 5px;
  font-weight: bold;
  margin-right: 10px;
  align-self: flex-start;
}
.q-and-a .a-label {
  font-size: 1.4em;
  line-height: 1.75em;
  display: inline-block;
  padding: 5px 10px;
  background-color: #e7d3d3;
  border-radius: 5px;
  font-weight: bold;
  margin-right: 10px;
  align-self: flex-start;
}
.q-and-a .qa-content{
  font-size: 1.5em;
  line-height: 1.75em;
  display: inline-block;
  cursor: pointer;
}

.single-body{
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .front-catch .inner .single-body .q-and-a h2.qa_title {
    font-size: 1.8em;
    line-height: 1.85;
    margin: 4em 0 10px;
    color: #71706a;
    font-family: "Cormorant Garamond", serif;
    font-weight: normal;
    
  }
  
  .q-and-a {
    padding-left: 2em;
    padding-right: 2em;
  }
  .question-container{
    text-align: left;
  }
}
  
/* -----------------------
お問い合わせ
----------------------- */

.contact-step{
  font-size: 1.6em;
  padding-bottom: 2em;
  text-align: center;
}
.contact_area{
  padding-left: 2em;
  padding-right: 2em;
}
.contact_text{
  text-align: center;
  font-size: 1.8em;
  padding-bottom: 2em;
}
/* 各フォームグループ */
.form-group {
  margin-bottom: 15px;
}

label {
  display: block;
  margin-bottom: 12px;
  font-weight: normal;
  font-size: 1.4em;
  line-height: 1.6em;
  margin-top: 2em;
}

/* 入力欄 */
input, textarea {
  width: 100%;
  padding: 14px;
  border: none;
  background-color: #e9e0e0;
  background-color: #fff;
  border-radius: 4px;
}
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-size: 1.4em;
}
/* 送信ボタン */
button[type="submit"] {
  width: 320px;
  background-color: #2e93d4;
  color: #fff;
  padding: 12px;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
}

button[type="submit"]:hover {
  background-color: #d1b6b6;
}
/* 必須表示用のスタイル */
.required {
  background-color: #dda4a4;
  color: #fff;
  border-radius: 5px;
  padding: 4px 14px;
  margin-right: 5px;
  font-size: 0.8em;
}
@media screen and (max-width: 768px) {
  .contact-step {
    font-size: 1.3em;
    padding-bottom: 2em;
    text-align: center;
  }
}
/* ----------------------------
ギャラリー
---------------------------- */

.word-container {
  margin: 0 auto;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: left;
  padding-bottom: 2em;
}

/* 各ダミー単語に背景グレーと角丸を適用 */
.category-word {
background-color: #ffffff;
  padding: 6px 16px;
  border-radius: 24px;
  font-size: 1.3em;
  color: #6f5e5e;
}
.select_area{
padding-bottom:3em;
}
.select_area h3{
font-size: 1.7em;
  padding-bottom: 0.25em;
  border-bottom: 1px solid #dbd6d6;
  margin-bottom: 1em;
  font-weight: normal;
}
.gallery_link{
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-top: 8em;
}
.link-button {
  display: inline-block;
  padding: 10px 50px;
  background-color: #d1bcbc;
  color: #fff;
  text-decoration: none;
  border-radius: 20px;
  transition: background-color 0.3sease;
  font-size: 1.4em;
}

.link-button:hover {
  background-color: #2e93d4;
}

@media screen and (max-width: 768px) {
  .select_area{
    padding-left: 2em;
    padding-right: 2em;
    }
    .select_area h3 {
      padding-top: 1.1em;
    }
    
}
/*
ニュース
*/

.top-news-content {
  display: grid;
  grid-template: "head body" auto / 23% auto;
}
.top-news-content_head {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.top-heading {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 3.0em;
  line-height: 1.02;
  color: #71706a;
  letter-spacing: .24em;
}
.top-news-content_body {
  grid-area: body;
  max-width: 816px;
}
.news-item {
  border-bottom: 1px solid #f0f0f0;
}
a.news-item_link {
  display: grid;
  grid-template: "date category title" auto / 12.245% 18% auto;
  gap: 0 20px;
  align-items: start;
  padding: clamp(30px, 3.4vw, 34px) .4em;
  overflow: hidden;
  text-decoration: none;
  /*
  color: #412E27;
  color: #2e93d4;
  */
}
.news-item_date {
  padding-top: .1em;
  font-size: 1.4em;
}
.news-item_date::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_date::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.8)* .5em);
  content: "";
}

.news-item_category {
  grid-area: category;
  padding-top: .1em;
  font-size: 1.3em;
}
.news-item_category::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_category::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_title {
  font-size: 1.4em;

}
.news-item_title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.8)* .5em);
  content: "";
}

.top-news-more-button {
  display: flex;
  justify-content: flex-end;
  margin-top: 36px;
}
.top-more-button {
  font-family: var(--font-gothic-en);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.02;
  text-transform: uppercase;
  letter-spacing: .24em;
}
.top-more-button a{
  color: #412E27;
}
.news_list_button{
  font-size: 1.2em;
  display: flex;
}
.news_list_button a{
  padding-left: 0.25em;
  padding-right: 0.25em;

}
@media screen and (max-width: 768px) {
  .top-news-content_head{
    margin-top: 1em;
  }
  .top-news-content {
    display: block;
    grid-template: "head body" auto / 23% auto;
}

.top-news-heading {
    text-align: center;
    font-size: 2.2em;
}

.top-news-content_body {
  margin-top: clamp(30px, 8vw, 80px);
}
a.news-item_link {
  display: flex;
  flex-flow: row wrap;
  gap: 15px 0;
  padding-left: 1em;
  padding-right: 1em;
}
.news-item_date {
  font-family: var(--font-gothic-en);
  font-size: 1.3em;
  font-weight: 300;
  line-height: 1.8;
  padding-right: 24px;
  color: var(--color-dove-gray);
  letter-spacing: .1em;
  transition: transform .4s var(--ease-out-quad);
}
.news-item_date::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_date::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_category {
  font-family: var(--font-gothic-en);
  font-size: 1.3em;
  line-height: 1.8;
  color: var(--color-silver-chalice);
  text-transform: uppercase;
  letter-spacing: .1em;
  transition: transform .4s var(--ease-out-quad);
}
.news-item_category::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_category::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.8)* .5em);
  content: "";
}
.news-item_title {
}
.news-item_title {
  width: 100%;
  padding-right: 1em;
  font-size: 1.5em;
  line-height: 1.8;
  transition: transform .4s var(--ease-out-quad);
}
.news-item_title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.8)* .5em);
  content: "";
}
.top-more-button{
  padding-right: 1em;
}


}
/* ---------------------------------------------
バナー
------------------------------------------------ */
.pickup_banner_title{
  font-size: 3.0em!important;
  text-align: center;
  font-family: "Cormorant Garamond", serif;
  line-height: 1.5;
  margin: 0 0 5px;
  letter-spacing: 0.2em;
  color: #71706a;
  padding-bottom:0em;
}
.banner-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.banner-item {
  width: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  /*
  background-color: #f0f0f0;
  font-size: 1.2rem;
  border-radius: 8px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  */
}
@media (max-width: 768px) {
  .banner-item{
    width: 90%;
  }
  .banner-container {
      flex-direction: column;
      align-items: center;
  }
  .front-price .inner .plan-header h2 {
    font-size: 6vw;
    line-height: 1.5;
    margin: 0;
    letter-spacing: 0.1em;
    padding-bottom: 0.75em;
  }
  .pickup_banner_title{
    font-size: 2.2em!important;

  }
  
}
/*
アルバム
*/
.front-price .inner .plan-album {
  font-size: 2.0rem;
  line-height: 1.7;
  text-align: center !important;
  margin: 0 0 10px;
  text-align: left;
  font-family: "Hannari", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #cf9599;
  font-weight: normal;
}
.front-price .inner .plan-header h2.album-sub-title{
  font-size: 2.2em;
  
}
.photo-list-album{
  padding:0em 3em 3em 3em;
}
.photo-list-in-album{
  background-color: #fbf9fa;
  padding:1em 1em 1em 1em;
}
.photo-list-in-in-album{
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 3em 2.5em 2.5em 2.5em;
  color: #412E27;
}

.photo-list-in-plan-album{
  background-color: #fbf9fa;
  padding:1em 1em 1em 1em;
}

.album-icon-list{
  padding-top: 1em;
  text-align: center;

}

.album-icon-list li {
  width: calc(100% / 2);
  padding-bottom: 2em;
}
/* アイコン画像の設定 */
.album-icon-list li img {
  width:380px;
  margin-bottom: 0px;
  
}
.album-icon-list li .plan_item {
  font-size: 1.6em;
  line-height: 1.0em;
    padding-top:0.75em;
    padding-bottom:0em;
    color: #71706a;
}
@media (max-width: 768px) {
  .front-price .inner .plan-album {
    font-size: 1.8em;
    line-height: 1.7;
    text-align: center !important;
    color: #cf9599;
    font-weight: normal;
  }
  
  .photo-list-album {
    padding: 0em 1em 1em 1em;
  }
  .photo-list-in-album{
    padding: 0.5em 0.5em 0.5em 0.5em;
  }
  .photo-list-in-plan-album{
    padding: 0.5em 0.5em 0.5em 0.5em;
  }
  .photo-list-in-in-album{
    padding-left: 1em;
      padding-right: 1em;
  }
  ..photo-list-in-in-plan-album{
    padding-left: 1em;
    padding-right: 1em;

  }

  .front-price .inner .plan-header h2.album-sub-title {
    font-size: 1.8em;
    padding: 0.5em;
    margin-bottom: 0.5em;
  }
  .album-icon-list li {
    width: calc(100% / 1);
  }
  
}

/*
*/
/* 基本リセット */
html, body {
  margin: 0;
  padding: 0;
}
/* 固定配置のグラデーション背景（より淡い：alpha=0.2） */
.bg-gradient {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  transition: background 1s ease-in-out;
  background: linear-gradient(45deg, rgba(255,182,193,0.2), rgba(230,230,250,0.2));
}

/* グラデーションなしエリア（白背景） */
.no-gradient-area {
  background: #ffffff;
  padding: 20px;
}
/* スマホ対応 */
@media (max-width: 600px) {
  .container {
    width: 100vw;
    padding: 0px;
margin-bottom: 0;
  }
  .slider_topimage {
    width: 100vw;
    height: 62vh;
    aspect-ratio: unset;
  }
  .slider_topimage img {
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    height: 100%;
  }
}
