@charset "utf-8";

/*
Theme Name: Eclat
*/

/*===========================================
Foundation
===========================================*/
/*
Reset.cssやNormalize.cssなどを用いたブラウザのデフォルトスタイルの初期化や、
プロジェクトにおける基本的なスタイルを定義します。
ページの下地としての全体の背景や、基本的なタイポグラフィなどが該当します。
*/

/* ress.min.css */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}

/* splide-core.min.css */
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}

/* Cormorant Garamond */
@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 700;
  src: url("assets/fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.woff2") format("woff2"),
       url("assets/fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.woff") format("woff"),
       url("assets/fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.ttf") format("truetype");
}

/* Shippori Mincho */
@font-face {
  font-display: swap;
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/Shippori_Mincho/ShipporiMincho-Regular.woff2") format("woff2"),
       url("assets/fonts/Shippori_Mincho/ShipporiMincho-Regular.woff") format("woff"),
       url("assets/fonts/Shippori_Mincho/ShipporiMincho-Regular.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 500;
  src: url("assets/fonts/Shippori_Mincho/ShipporiMincho-Medium.woff2") format("woff2"),
       url("assets/fonts/Shippori_Mincho/ShipporiMincho-Medium.woff") format("woff"),
       url("assets/fonts/Shippori_Mincho/ShipporiMincho-Medium.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 600;
  src: url("assets/fonts/Shippori_Mincho/ShipporiMincho-SemiBold.woff2") format("woff2"),
       url("assets/fonts/Shippori_Mincho/ShipporiMincho-SemiBold.woff") format("woff"),
       url("assets/fonts/Shippori_Mincho/ShipporiMincho-SemiBold.otf") format("opentype");
}

/* Zen Kaku Gothic New */
@font-face {
  font-display: swap;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.woff2") format("woff2"),
       url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.woff") format("woff"),
       url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  src: url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Medium.woff2") format("woff2"),
       url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Medium.woff") format("woff"),
       url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Medium.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.woff2") format("woff2"),
       url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.woff") format("woff"),
       url("assets/fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.ttf") format("truetype");
}

body {
  background: #f8f5ef;
  color: #29251f;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
}

textarea {
  border-radius: 0;
  vertical-align: bottom
}

picture {
  display: block
}

address {
  font-style: normal
}

iframe {
  vertical-align: bottom
}

table {
  width: 100%;
  border-collapse: collapse
}

video {
  vertical-align: bottom
}

time {
  display: block
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}

li {
  list-style-type: none
}

a {
  text-decoration: none
}

a[href^="tel:"] {
  pointer-events: none;
}

[id] {
  /*scroll-margin-top: calc(70px + 40px);*/
  scroll-margin-top: calc(80px + 40px);
}

@media screen and (max-width: 767px) {

  a[href^="tel:"] {
    pointer-events: auto;
  }

  [id] {
    /*scroll-margin-top: calc(80px + 24px);*/
    scroll-margin-top: calc(72px + 24px);
  }

}

/*===========================================
Layout
===========================================*/
/*
ページを構成するヘッダーやメインのコンテンツエリア、
サイドバーやフッターといったプロジェクト共通の
コンテナーブロックのスタイルを定義します。
*/

.l-wrapper {
  overflow: clip;
  /*min-width: calc(1280px + (24px * 2));*/
  /*margin: 0 auto;*/
  /*padding-top: 74px;*/
  padding-top: 80px;
}

.l-container {
  padding: 120px 0;
}

.l-container__inner {
  max-width: calc(1224px + (24px * 2));
  margin: 0 auto;
  padding: 0 24px;
}

.l-container__content {
  display: grid;
  grid-template-columns: 1fr 276px;
  gap: 0 64px;
}

@media screen and (max-width: 767px) {

  .l-wrapper {
    /*min-width: 100%;*/
    padding-top: 72px;
  }

}

/*===========================================
Layout
===========================================*/
/*
ページを構成するヘッダーやメインのコンテンツエリア、
サイドバーやフッターといったプロジェクト共通の
コンテナーブロックのスタイルを定義します。
*/

/* ヘッダー */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  /*height: 74px;*/
  height: 80px;
  border-bottom: 1px solid rgba(41, 37, 31, .14);
  background: rgba(248, 245, 239, 0.86);
}

.l-header__inner {
  height: 100%;
  max-width: calc(1220px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.l-header__content {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 24px;
  height: 100%;
}

.l-header__logo {
  /*width: 152px;*/
  margin-right: auto;
}

.l-header__logo a {
  display: block;
  transition: opacity 0.3s;
}

.l-header__logo a:hover {
  opacity: .7;
}

.l-header__logo img {
  display: block;
  width: 176px;
}

.l-header__button a {
  display: block;
  padding: 11px 20px;
  border-radius: 2px;
  background: #b26a45;
  color: #fff;
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: background 0.3s;
}

.l-header__button a:hover {
  background: #9e5a38;
}

.l-hamburger {
  display: grid;
  gap: 4px 0;
  cursor: pointer;

  gap: 6px 0;

}

.l-hamburger__lines {
  display: grid;
  gap: 6px 0;

  gap: 10px 0;

}

.l-hamburger__line {
  width: 30px;
  height: 1px;
  background: #333;

  width: 43px;

}

.l-hamburger__line:nth-child(3) {
  display: none;
}

/*.l-hamburger.is-open .l-hamburger__line:first-child {
  transform: translateY(7px) rotate(20deg);
}

.l-hamburger.is-open .l-hamburger__line:nth-child(2) {
  opacity: 0;
}

.l-hamburger.is-open .l-hamburger__line:nth-child(3) {
  transform: translateY(-7px) rotate(-20deg);
}*/

.l-hamburger__text {
  color: #000;
  font-size: 9px;
  text-transform: uppercase;
  line-height: calc(12 / 9);
  letter-spacing: calc((0.56 / 9) * 1em);

  color: #6E665B;
  font-family: "Cormorant Garamond", serif;
  font-size: 13px;
  letter-spacing: calc((2 / 13) * 1em);

}

@media screen and (max-width: 767px) {

  .l-header {
    height: 72px;
  }

  .l-header__logo img {
    width: 160px;
  }

  .l-header__button {
    display: none;
  }

}

/* ドロワー */
.l-drawer {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 30;
  overflow-y: auto;
  visibility: hidden;
  height: 100%;
  box-shadow: -20px 0px 60px -30px rgba(41, 37, 31, 0.5);
  background: #F5F1E8;
  opacity: 0;
  /*transition: visibility .3s cubic-bezier(0.8, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.8, 0, 0.2, 1);*/
}

.l-drawer.is-open {
  visibility: visible;
  opacity: 1;
}

.l-drawer__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 48px;
}

.l-drawer__title {
  color: #B26A45;
  font-family: "Cormorant Garamond", serif;
  font-size: 19px;
  font-style: italic;
  font-weight: 300;
  text-transform: capitalize;
  line-height: 1.9;
  letter-spacing: 0.1em;
}

.l-drawer__body {
  padding: 34px 48px 112px;
  border-top: 1px solid rgba(41, 37, 31, .14);
  border-bottom: 1px solid rgba(41, 37, 31, .14);
}

.l-drawer__footer {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  gap: 20px 0;
  padding: 30px 48px 40px;
  background: rgba(255, 255, 255, 0.5);
}

.l-drawer__button a {
  display: block;
  width: 344px;
  padding: 11.5px 16px;
  border-radius: 2px;
  background: #B26A45;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 14.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.08em;
  transition: background 0.3s;
}

.l-drawer__button a:hover {
  background: #9E5A38;
}

.l-drawer__follow-button a {
  display: block;
  width: 344px;
  padding: 9.5px 16px;
  border-radius: 2px;
  border: 1px solid #B26A45;
  background: transparent;
  color: #B26A45;
  font-size: 14.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: opacity 0.3s;
}

.l-drawer__follow-button span {
  margin-right: 10px;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-style: italic;
  letter-spacing: 0.04em;
}

.l-drawer__follow-button a:hover {
  opacity: 0.7;
}

.l-drawer__number {
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.03em;
}

.l-drawer__number a {
  display: inline-block;
  color: #b26a45;
  transition: opacity 0.3s;
}

.l-drawer__number a:hover {
  opacity: 0.7;
}

.l-drawer__hours {
  color: #6e665b;
  font-size: 12.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {

  .l-drawer {
    width: 100%;
  }

  .l-drawer__header {
    padding: 14px 28px;
  }

  .l-drawer__body {
    padding: 18px 28px 112px;
  }

  .l-drawer__button a {
    width: 100%;
  }

  .l-drawer__follow-button a {
    width: 100%;
  }

  .l-drawer__footer {
    padding: 20px 28px 28px;
    padding: 20px 28px calc(28px + 60px * 2);
  }

  .l-drawer__number {
    font-size: 20px;
  }

  .l-drawer__hours {
    font-size: 13.5px;
  }

}

/* トグル */
.l-toggle {
  display: flex;
  align-items: center;
  gap: 0 6px;
}

.l-toggle__label {
  color: #6E665B;
  font-family: "Cormorant Garamond", serif;
  font-size: 13px;
  text-transform: uppercase;
  line-height: 1.9;
  letter-spacing: 0.18em;
}

.l-toggle__lines {
  display: grid;
  gap: 6px 0;
}

.l-toggle__line {
  width: 20px;
  height: 1.5px;
  background: #29251F;
}

.l-toggle__line:first-child {
  transform: translateY(4px) rotate(45deg);
}

.l-toggle__line:nth-child(2) {
  transform: translateY(-4px) rotate(-45deg);
}

@media screen and (max-width: 767px) {



}

/* マスク */
.l-mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  visibility: hidden;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(41, 37, 31, 0.4), rgba(41, 37, 31, 0.4));
  opacity: 0;
  content: "";
  cursor: pointer;
}

.l-mask.is-open {
  visibility: visible;
  opacity: 1;
}

@media screen and (max-width: 767px) {



}

/* グローバルナビゲーション */
.l-gnav__list {
  counter-reset: counter;
}

.l-gnav__item {
  border-bottom: 1px solid rgba(41, 37, 31, .14);
}

.l-gnav__item a {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  gap: 0 16px;
  padding: 14.5px 0;
  color: #29251F;
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: opacity 0.3s;
}

.l-gnav__item a::before {
  transform: translateY(4px);
  color: #B26A45;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-style: italic;
  letter-spacing: 0.08em;
  counter-increment: counter;
  content: counter(counter, decimal-leading-zero);
}

.l-gnav__item.is-current a {
  color: #B26A45;
}

.l-gnav__item a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {

  .l-gnav__item a {
    padding: 11.5px 0;
    font-size: 17px;
  }

}

/* スマホ固定ナビ */
.l-sp-fixed-nav {
  display: none;
}

@media screen and (max-width: 767px) {

  .l-sp-fixed-nav {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 100%;
  }

  .l-sp-fixed-nav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .l-sp-fixed-nav__item a {
    display: block;
    padding: 14px 0;
    background: #B26A45;
    color: #fff;
    text-align: center;
    line-height: 1.9;
    letter-spacing: calc((0.87 / 16) * 1em);
    transition: opacity 0.7s;
  }

  .l-sp-fixed-nav__item--gray a {
    background: #7C756A;
    letter-spacing: calc((0.56 / 16) * 1em);
  }

  .l-sp-fixed-nav__item a:hover {
    opacity: 0.7;
  }

}

/* ページヘッダー */
.l-page-header {
  position: relative;
  padding: 110px 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.l-page-header--no-thumbnail {
  padding: 74px 0;
  border-bottom: 1px solid rgba(41, 37, 31, .14);
  background: #F1ECE2;
}

.l-page-header__inner {
  max-width: calc(1080px + (24px * 2));
  margin: 0 auto;
  padding: 0 24px;
}

.l-page-header__title {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 48px;
  font-weight: 500;
  text-align: center;
  text-shadow: 0px 2px 18px rgba(0, 0, 0, 0.4);
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.l-page-header--no-thumbnail .l-page-header__title {
  color: #29251F;
  font-size: 42px;
  text-shadow: none;
  letter-spacing: 0.1em;
}

.l-page-header__title::before {
  display: block;
  margin-bottom: 14px;
  color: #F1E4D6;
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-style: italic;
  font-weight: 400;
  text-transform: capitalize;
  text-shadow: 0px 1px 10px rgba(0, 0, 0, 0.4);
  letter-spacing: 0.14em;
  content: attr(data-title);
}

.l-page-header--no-thumbnail .l-page-header__title::before {
  color: #B26A45;
  text-shadow: none;
}

@media screen and (max-width: 767px) {

  .l-page-header {
    padding: 60px 0;
  }

  .l-page-header--no-thumbnail {
    padding: 46px 0;
    border-bottom: none;
  }

  .l-page-header__title {
    font-size: 28px;
  }

  .l-page-header--no-thumbnail .l-page-header__title {
    font-size: 26px;
  }

  .l-page-header__title::before {
    font-size: 15px;
  }

}

/* パンくずリスト */
.l-breadcrumb {
  padding: 13px 0;
  border-bottom: 1px solid rgba(41, 37, 31, .14);
  background: #f8f5ef;
}

.l-breadcrumb__inner {
  max-width: calc(1080px + (24px * 2));
  margin: 0 auto;
  padding: 0 24px;
}

.l-breadcrumb__list {
  display: flex;
}

.l-breadcrumb__item {
  display: inline;
  color: #29251F;
  font-size: 12.5px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.l-breadcrumb__item:nth-last-child(n + 2) {
  flex: 0 0 auto;
}

.l-breadcrumb__item:nth-last-child(n + 2)::after {
  margin: 0 1em;
  content: "＞";
}

.l-breadcrumb__item:last-child {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
}

.l-breadcrumb__item:last-child span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.l-breadcrumb__item a {
  color: #6E665B;
  transition: opacity 0.3s;
}

.l-breadcrumb__item a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {



}

/* 卒業袴の試着・ご相談 受付中 */
.l-reservation {
  padding: 100px 0;
  background: linear-gradient(180deg, rgba(41, 37, 31, .55), rgba(41, 37, 31, .62)),
              url("assets/images/bg_reservation_pc.jpg") no-repeat center / cover;
}

.l-reservation__inner {
  max-width: calc(820px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.l-reservation__heading {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 36px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.l-reservation__heading::before {
  display: block;
  margin-bottom: 12px;
  color: #e9d9cb;
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-style: italic;
  font-weight: 300;
  text-transform: capitalize;
  line-height: 1.9;
  letter-spacing: 0.1em;
  content: attr(data-title);
}

.l-reservation__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 18px;
  margin-top: 40px;
}

.l-reservation__card {
  padding: 34px 26px;
  border-radius: 5px;
  background: #fff;
}

.l-reservation-card__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
}

.l-reservation-card__heading::before {
  display: block;
  margin-bottom: 6px;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 16px;
  font-style: italic;
  font-weight: 300;
  text-transform: capitalize;
  line-height: 1.9;
  letter-spacing: 0.06em;
  content: attr(data-title);
}

.l-reservation-card__microcopy {
  margin-top: 6px;
  padding-bottom: 20px;
  color: #6e665b;
  font-size: 12.5px;
  text-align: center;
  line-height: 1.9;
}

.l-reservation-card__number {
  margin-top: 6px;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.l-reservation-card__number a {
  display: inline-block;
  color: #b26a45;
  transition: opacity 0.3s;
}

.l-reservation-card__number a:hover {
  opacity: 0.7;
}

.l-reservation-card__hours {
  margin-top: 6px;
  color: #6e665b;
  font-size: 12px;
  text-align: center;
  line-height: 1.9;
}

/*.l-reservation__link {
  margin-top: 26px;
  font-size: 13.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.l-reservation__link a {
  display: inline-block;
  position: relative;
  color: #fff;
  transition: opacity 0.3s;
}

.l-reservation__link a:hover {
  opacity: 0.7;
}

.l-reservation__link a::before {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(245, 239, 230, 0.5);
  content: "";
}*/

.l-reservation__button {
  margin-top: 24px;
  text-align: center;
}

.l-reservation__button a {
  display: inline-block;
  padding: 13px 32px;
  border-radius: 2px;
  border: 1px solid #fff;
  background: rgba(41, 37, 31, 0.4);
  color: #fff;
  font-size: 13.5px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  transition: border 0.3s, color 0.3s;
}

.l-reservation__button a:hover {
  border: 1px solid #b26a45;
  color: #b26a45;
}

@media screen and (max-width: 767px) {

  .l-reservation {
    padding: 80px 0;
    background: linear-gradient(180deg, rgba(41, 37, 31, .55), rgba(41, 37, 31, .62)),
                url("assets/images/bg_reservation_sp.jpg") no-repeat center / cover;
  }

  .l-reservation__heading {
    font-size: 23px;
  }

  .l-reservation__heading::before {
    font-size: 16px;
  }

  .l-reservation__cards {
    grid-template-columns: none;
    gap: 18px 0;
    margin-top: 28px;
  }

  .l-reservation__card {
    padding: 26px;
  }

  .l-reservation-card__number {
    font-size: 23px;
  }

  .l-reservation__link {
    margin-top: 22px;
    padding-bottom: 6px;
  }

  .l-reservation__button {
    margin-top: 18px;
  }

  .l-reservation__button a {
    display: block;
  }

}

/* フッター */
.l-footer {
  padding: 74px 0 30px;
  background: #29251f;
}

.l-footer__inner {
  max-width: calc(1120px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.l-footer__columns {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.l-footer__logo-wrap {
  padding: 10px 14px;
}

.l-footer__logo {
  width: 152px;
}

.l-footer__logo a {
  display: block;
  transition: opacity 0.3s;
}

.l-footer__logo a:hover {
  opacity: 0.7;;
}

.l-footer__logo img {
  width: 100%;
}

.l-footer__tagline {
  margin-top: 12px;
  color: rgba(217, 210, 198, 0.65);
  font-size: 13px;
  line-height: 1.9;
}

.l-footer__buttons {
  display: inline-grid;
  gap: 16px 0;
  margin-top: 24px;
}

.l-footer__button a {
  display: block;
  padding: 8px 34px;
  border-radius: 2px;
  background: #b26a45;
  color: #fff;
  font-size: 15px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.08em;
  transition: border 0.3s, background 0.3s, color 0.3s;
}

.l-footer__button a[target="_blank"] {
  border: 1px solid #f1ece2;
  background: transparent;
  color: #f1ece2;
}

.l-footer__button a:hover {
  background: #9e5a38;
}

.l-footer__button a[target="_blank"]:hover {
  border: 1px solid #b26a45;
  background: transparent;
  color: #b26a45;
}

.l-footer__menu {
  margin-right: -8px;
}

.l-footer-menu__list {
  display: grid;
  gap: 13.5px 0;
}

.l-footer-menu__item {
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.l-footer-menu__item a {
  display: block;
  color: #d9d2c6;
  transition: opacity 0.3s;
}

.l-footer-menu__item a:hover {
  opacity: 0.7;
}

.l-footer-info__heading {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.l-footer-info__address {
  display: grid;
  gap: 4px 0;
  margin-top: 12px;
  color: rgba(217, 210, 198, 0.85);
  font-size: 14px;
  line-height: 2;
}

.l-footer-info__address a {
  color: rgba(217, 210, 198, 0.85);
  transition: opacity 0.3s;
}

.l-footer-info__address a:hover {
  opacity: 0.7;
}

.l-footer__copyright {
  color: rgba(217, 210, 198, 0.55);
  font-size: 12px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.l-footer__copyright span {
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {

  .l-footer {
    padding: 48px 0 30px;
  }

  .l-footer__columns {
    flex-direction: column;
    justify-content: normal;
    gap: 30px 0;
    padding-bottom: 46px;
  }

  .l-footer__logo-wrap {
    padding: 0;
  }

  .l-footer__buttons {
    display: grid;
    gap: 16px 0;
  }

  .l-footer__menu {
    margin-right: 0;
  }

}

/*===========================================
Object
===========================================*/
/*-------------------------------------------
Component
-------------------------------------------*/
/*
再利用できるパターンとして、小さな単位のモジュールを定義します。
出来る限り、最低限の機能を持ったものとして定義されるべきであり、
それ自体が固有の幅や色などの特色を持つことは避けるのが望ましいです。
*/

/* 見出し */
.c-heading {
  display: flex;
  flex-direction: column;
  gap: 18px 0;
  font-family: "Shippori Mincho", serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.c-heading--center {
  text-align: center;
}

.c-heading--symbol {
  flex-direction: column-reverse;
  font-size: 37px;
  /*line-height: calc(55.5 / 37);*/
  line-height: calc(70.3 / 37);
}

.c-heading::before {
  display: block;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.9;
  letter-spacing: 0.42em;
  content: attr(data-title);
}

.c-heading.c-heading--italic::before {
  font-style: italic;
  font-size: 18px;
  text-transform: capitalize;
  letter-spacing: 0.1em;
}

.c-heading.c-heading--symbol::before {
  order: 1;
}

.c-heading--symbol::after {
  width: 110px;
  height: 22px;
  background: url("assets/images/icon_symbol.png") no-repeat center / contain;
  content: "";
  content: none;
}

.c-heading--center.c-heading--symbol::after {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {

  .c-heading {
    gap: 17px 0;
    font-size: 22px;
    line-height: 1.4;
  }

  .c-heading--symbol {
    font-size: 23px;
    line-height: 1.5;
  }

}

/* 内容を簡潔に説明する一文 */
.c-caption {
  margin-top: 14px;
  color: #6e665b;
  font-size: 13.5px;
  line-height: 1.9;
}

.c-caption--center {
  text-align: center;
}

@media screen and (max-width: 767px) {

  .c-caption {
    margin-top: 16px;
    font-size: 14.5px;
  }

}

/* ボタン */
.c-button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 14px 0;
  border-radius: 2px;
  background: #b26a45;
  color: #fff;
  font-size: 14.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: background 0.3s;
}

.c-button--dark {
  background: #29251f;
}

.c-button--gray {
  background: #7C756A;
}

.c-button--target::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_2342_3267)%22%3E%0A%3Cpath%20d%3D%22M12.5%2014.5H1.5V3.25H7.5V2.25H0.5V15.5H13.5V8.5H12.5V14.5Z%22%20fill%3D%22%23fff%22%2F%3E%0A%3Cpath%20d%3D%22M9.50002%200.5V1.5H13.7929L5.89648%209.39647L6.60355%2010.1035L14.5%202.20709V6.5H15.5V0.5H9.50002Z%22%20fill%3D%22%23fff%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_2342_3267%22%3E%0A%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background 0.3s;
}

.c-button:hover {
  background: #935a38;
}

.c-button--dark:hover {
  background: #000;
}

@media screen and (max-width: 767px) {

  .c-button {
    padding: 13px 0;
  }

}

/* フォローボタン */
.c-follow-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 12px 30px;
  border-radius: 2px;
  border: 1px solid #b26a45;
  color: #b26a45;
  font-size: 14.5px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: border 0.3s, color 0.3s;
}

.c-follow-button:hover {
  border: 1px solid #935a38;
  color: #935a38;
}

.c-follow-button::after {
  width: 16px;
  height: 16px;
  margin-left: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_2342_3267)%22%3E%0A%3Cpath%20d%3D%22M12.5%2014.5H1.5V3.25H7.5V2.25H0.5V15.5H13.5V8.5H12.5V14.5Z%22%20fill%3D%22%23B26A45%22%2F%3E%0A%3Cpath%20d%3D%22M9.50002%200.5V1.5H13.7929L5.89648%209.39647L6.60355%2010.1035L14.5%202.20709V6.5H15.5V0.5H9.50002Z%22%20fill%3D%22%23B26A45%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_2342_3267%22%3E%0A%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background 0.3s;
}

.c-follow-button:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_2342_3267)%22%3E%0A%3Cpath%20d%3D%22M12.5%2014.5H1.5V3.25H7.5V2.25H0.5V15.5H13.5V8.5H12.5V14.5Z%22%20fill%3D%22%23935a38%22%2F%3E%0A%3Cpath%20d%3D%22M9.50002%200.5V1.5H13.7929L5.89648%209.39647L6.60355%2010.1035L14.5%202.20709V6.5H15.5V0.5H9.50002Z%22%20fill%3D%22%23935a38%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_2342_3267%22%3E%0A%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E") no-repeat center / contain;
}

.c-follow-button span {
  margin-right: 10px;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-style: italic;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {



}

/* テキストリンク */
.c-link-text {
  display: inline-block;
  color: #b26a45;
  font-size: 14.5px;
  line-height: 1.9;
  letter-spacing: 0.05em;
  transition: opacity 0.3s;
}

.c-link-text:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {



}

/* ページネーション */
.c-pagination__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.c-pagination__item span,
.c-pagination__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  border-radius: 3px;
  font-size: 16px;
}

.c-pagination__item span {
  background: #B26A45;
  color: #fff;
}

.c-pagination__item a {
  border: 1px solid rgba(37, 41, 31, 0.14);
  color: #29251F;
  transition: opacity 0.3s;
}

.c-pagination__item.c-pagination__item--prev a,
.c-pagination__item.c-pagination__item--next a {
  color: #6E665B;
}

.c-pagination__item a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {

  .c-pagination__item.c-pagination__item--prev a,
  .c-pagination__item.c-pagination__item--next a {
    font-size: 14px;
  }

}

/* ポストナビゲーション */
.c-post-nav__container {
  max-width: 740px;
  margin: 0 auto;
}

.c-post-nav__list {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  justify-content: space-between;
  border-top: 1px solid rgba(37, 41, 31, 0.14);
  border-bottom: 1px solid rgba(37, 41, 31, 0.14);
  padding: 8px 0;
}

.c-post-nav__item a {
  display: block;
  padding-block: 18px;
  color: #29251F;
  font-size: 13.5px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: opacity 0.3s;
}

.c-post-nav__item--back a {
  padding-inline: 30px;
  border-right: 1px solid rgba(37, 41, 31, 0.14);
  border-left: 1px solid rgba(37, 41, 31, 0.14);
}

.c-post-nav__item a:hover {
  opacity: 0.7;
}

.c-post-nav__item--prev a,
.c-post-nav__item--next a {
  padding-inline: 8px;
  color: #6E665B;
}

.c-post-nav__item--next {
  text-align: right;
}

@media screen and (max-width: 767px) {

  .c-post-nav__container {
    padding: 0 4px;
  }

  .c-post-nav__item--back a {
    padding-inline: 16px;
  }

}

/*-------------------------------------------
Project
-------------------------------------------*/
/*
プロジェクト固有のパターンであり、いくつかのComponentと、
それに該当しない要素によって構成されるものを定義します。
例えば、記事一覧や、ユーザープロフィール、
画像ギャラリーなどコンテンツを構成する要素などが該当します。
*/

/* メインビジュアル */
.p-main-visual__container {
  position: relative;
}

.p-main-visual__container::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(30, 26, 20, 0.3) 0%, rgba(30, 26, 20, 0.06) 46%, rgba(30, 26, 20, 0) 70%);
  content: "";
}

.p-main-visual .splide__slide img {
  width: 100%;
  aspect-ratio: 1440 / 738;
  object-fit: cover;
}

.p-main-visual .splide__pagination {
  display: flex;
  justify-content: center;
  gap: 0 10px;
  position: absolute;
  bottom: 26px;
  left: 0;
  width: 100%;
}

.p-main-visual .splide__pagination__page {
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 9999px;
  background: rgba(41, 37, 31, 0.28);
  transition: width 0.3s;
}

.p-main-visual .splide__pagination__page.is-active {
  width: 28px;
  background: #b26a45;
}

.p-main-visual__content {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  padding: 0 26px;
}

.p-main-visual__tagline {
  color: #f8f5ef;
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-style: italic;
  text-align: center;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
  line-height: 1.9;
  letter-spacing: 0.14em;
}

.p-main-visual__heading {
  /*margin-top: 20px;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 62px;
  font-weight: 500;
  text-align: center;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.4);
  line-height: 1.45;
  letter-spacing: 0.05em;*/
}

.p-main-visual__heading {
  margin-top: 20px;
  color: #fff;
  font-size: 14px;
  font-size: 15.5px;
  font-weight: 400;
  text-align: center;
  text-shadow: 0px 1px 12px rgba(0, 0, 0, 0.4);
  text-shadow: 0px 1px 12px rgba(0, 0, 0, 0.6);
  line-height: calc(25.6 / 14);
  letter-spacing: calc((1.16 / 14) * 1em);
}

.p-main-visual__heading span {
  display: block;
  margin-bottom: 28px;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 62px;
  font-weight: 500;
  /*text-shadow: 0 2px 22px rgba(0, 0, 0, 0.4);*/
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.6);
  line-height: 1.45;
  letter-spacing: 0.05em;
}

.p-main-visual__desc {
  /*display: none;*/
}

.p-main-visual__buttons {
  display: flex;
  justify-content: center;
  gap: 0 14px;
  margin-top: 96px;
}

.p-main-visual__button {
  display: block;
  border-radius: 2px;
  padding: 16px 34px;
  background: #b26a45;
  color: #fff;
  font-size: 15px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.08em;
  transition: background 0.3s;
}

.p-main-visual__button--light {
  padding: 16px 30px;
  background: rgba(248, 245, 239, 0.92);
  color: #29251f;
}

.p-main-visual__button:hover {
  background: #9e5a38;
}

.p-main-visual__button--light:hover {
  background: #fff;
}

@media screen and (max-width: 767px) {

  .p-main-visual .splide__slide img {
    aspect-ratio: 390 / 640;
  }

  .p-main-visual__content {
    top: calc(50% + 24px);
  }

  .p-main-visual__tagline {
    font-size: 15px;
    text-align: left;
  }

  .p-main-visual__heading {
    /*font-size: 30px;
    text-align: left;
    letter-spacing: calc((1.16 / 30) * 1em);*/
  }

  .p-main-visual__heading {
    text-align: left;
  }

  .p-main-visual__heading span {
    margin-bottom: 20px;
    font-size: 30px;
    text-align: left;
    letter-spacing: calc((1.16 / 30) * 1em);
  }

  .p-main-visual__desc {
    /*display: block;
    margin-top: 28px;
    color: #fff;
    font-size: 14px;
    text-shadow: 0px 1px 12px rgba(0, 0, 0, 0.4);
    line-height: calc(25.6 / 14);
    letter-spacing: calc((1.16 / 14) * 1em);*/
  }

  .p-main-visual__buttons {
    flex-direction: column;
    justify-content: normal;
    gap: 14px 0;
    margin-top: 38px;
  }

}

/* 仙台の卒業袴レンタルを、… */
.p-top-concept {
  padding: 124px 0;
  background: url("assets/images/bg_symbol.png") no-repeat bottom -70px left -70px / 340px auto, #f1ece2;
}

.p-top-concept__inner {
  max-width: calc(800px + (24px * 2));
  margin: 0 auto;
  padding: 0 24px;
}

.p-top-concept__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 32px;
  font-weight: 500;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.06em;
}

.p-top-concept__heading::before {
  display: block;
  margin-bottom: 22px;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  text-transform: capitalize;
  line-height: 1.9;
  letter-spacing: 0.1em;
  content: attr(data-title);
}

.p-top-concept__text {
  margin-top: 34px;
  color: #6e665b;
  font-size: 15.5px;
  text-align: center;
  line-height: calc(34.9 / 15.5);
  letter-spacing: calc((0.47 / 15.5) * 1em);
}

@media screen and (max-width: 767px) {

  .p-top-concept {
    padding: 80px 0;
  }

  .p-top-concept__inner {
    padding: 0 16px;
  }

  .p-top-concept__heading {
    font-size: 21px;
    line-height: calc(36.8 / 21);
    letter-spacing: calc((1.16 / 21) * 1em);
  }

  .p-top-concept__text {
    /*padding: 0 8px;*/
    /*font-size: 14px;*/
    text-align: left;
    line-height: 2.25;
    letter-spacing: 0.03em;
  }

}

/* Eclatの卒業袴レンタルが選ばれる理由 */
.p-top-reason {
  padding: 124px 0;
  background: url("assets/images/bg_symbol.png") no-repeat top 34px right -40px / 280px auto;
}

.p-top-reason__inner {
  max-width: calc(1160px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-top-reason__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 38px;
  margin-top: 52px;
}

.p-top-reason-card__image {
  position: relative;
  overflow: hidden;
  border-radius: 3px;
}

.p-top-reason-card__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.p-top-reason-card__image span {
  position: absolute;
  top: 15px;
  left: 14px;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 40px;
  font-style: italic;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
  line-height: calc(38 / 40);
}

.p-top-reason-card__heading {
  margin-top: 12px;
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-top-reason-card__text {
  margin-top: 7px;
  color: #6E665B;
  font-size: 14.5px;
  line-height: calc(28.3 / 14.5);
}

@media screen and (max-width: 767px) {

  .p-top-reason {
    padding: 80px 0;
    background: url("assets/images/bg_symbol.png") no-repeat bottom -50px right -40px / 280px auto;
  }

  .p-top-reason__cards {
    grid-template-columns: none;
    gap: 40px 0;
    margin-top: 36px;
  }

  .p-top-reason-card__image img {
    aspect-ratio: 350 / 360;
  }

  .p-top-reason-card__heading {
    margin-top: 14px;
    text-align: center;
  }

  .p-top-reason-card__text {
    margin-top: 9px;
    font-size: 15.5px;
  }

}

/* おすすめパック比較 */
.p-top-plan {
  padding: 115px 0;
  background: url("assets/images/bg_dot.jpg") repeat center top / 1440px auto;
}

.p-top-plan__inner {
  max-width: calc(1160px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-top-plan__banner {
  margin-top: 48px;
}

.p-top-plan__banner img {
  width: 100%;
}

.p-top-plan__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 28px;
  margin-top: 56px;
}

.p-top-plan__card {
  padding: 34px 26px 28px;
  border: 1px solid rgba(37, 41, 31, 0.14);
  border-radius: 5px;
  background: #fff;
}

.p-top-plan__card--recommend {
  position: relative;
  border: 1px solid #b26a45;
  box-shadow: 0 18px 40px -26px rgba(158, 90, 56, 0.5);
}

.p-top-plan-card__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 18px;
  border-radius: 9999px;
  background: #b26a45;
  color: #fff;
  font-size: 12px;
  line-height: 1.9;
  letter-spacing: 0.14em;
}

.p-top-plan-card__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 23px;
  font-weight: 600;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.p-top-plan-card__text {
  margin-top: 4px;
  color: #6e665b;
  font-size: 13px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.p-top-plan-card__table {
  margin-top: 20px;
  border-collapse: separate;
  border-radius: 3px;
  border-spacing: 0;
  border-top: 1px solid rgba(37, 41, 31, 0.14);
  border-left: 1px solid rgba(37, 41, 31, 0.14);
}

.p-top-plan-card__table tr > * {
  padding: 11px 15px;
  border-bottom: 1px solid rgba(37, 41, 31, 0.14);
  font-size: 14px;
  line-height: 1.9;
}

.p-top-plan-card__table tr > *:last-child {
  border-right: 1px solid rgba(37, 41, 31, 0.14);
}

.p-top-plan-card__table tr:first-child > *:first-child {
  border-radius: 3px 0 0 0;
}

.p-top-plan-card__table tr:first-child > *:last-child {
  border-radius: 0 3px 0 0;
}

.p-top-plan-card__table tr:last-child > *:first-child {
  border-radius: 0 0 0 3px;
}

.p-top-plan-card__table tr:last-child > *:last-child {
  border-radius: 0 0 3px 0;
}

.p-top-plan-card__table th {
  font-weight: 400;
  text-align: left;
}

.p-top-plan-card__table td {
  width: 50px;
  color: #b8b0a4;
  text-align: center;
}

.p-top-plan-card__table td span {
  color: #b26a45;
}

.p-top-plan-card__pricing {
  margin-top: 24px;
}

.p-top-plan-card__normal {
  color: #6e665b;
  font-size: 12.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-top-plan-card__normal span {
  position: relative;
}

.p-top-plan-card__normal span::before {
  position: absolute;
  top: calc(50% + 2px);
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 0.5px;
  background: #6e665b;
  content: "";
}

.p-top-plan-card__label {
  margin-top: 6px;
  color: #b26a45;
  font-family: "Shippori Mincho", serif;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-top-plan-card__special {
  color: #6e665b;
  font-size: 11.5px;
  text-align: center;
  line-height: 1.9;
}

.p-top-plan-card__special > span {
  display: block;
  margin-bottom: 2px;
  color: #29251f;
  font-family: "Shippori Mincho", serif;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  line-height: 1.1;
}

.p-top-plan__card--recommend .p-top-plan-card__special > span {
  color: #b26a45;
}

.p-top-plan-card__special > span span {
  font-size: 34px;
  line-height: 1.1;
}

.p-top-plan-card__button {
  margin-top: 20px;
}

.p-top-plan-card__link {
  /*margin-top: 6px;*/
  margin-top: 24px;
  font-size: 13px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.p-top-plan-card__link a {
  display: inline-block;
  color: #6e665b;
  transition: color 0.3s;
}

.p-top-plan-card__link a:hover {
  color: #b26a45;
}

.p-top-plan-customize {
  padding-top: 46px;
}

.p-top-plan-customize__container {
  overflow: hidden;
  max-width: 760px;
  margin: 0 auto;
  padding: 28px 24px 26px;
  border: 1px dashed #b26a45;
  border-radius: 5px;
  background: #fff;
}

.p-top-plan-customize__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 17px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-top-plan-customize__text {
  margin-top: 6px;
  color: #6e665b;
  font-size: 14px;
  text-align: center;
  line-height: 1.9;
}

.p-top-plan-customize__link {
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .p-top-plan {
    padding: 80px 0;
    background: url("assets/images/bg_dot.jpg") repeat left calc(50% - 12px) top 0 / 1440px auto;
  }

  .p-top-plan__banner {
    margin-top: 36px;
  }

  .p-top-plan__cards {
    grid-template-columns: none;
    gap: 18px 0;
    margin-top: 34px;
  }

  .p-top-plan-card__text {
    font-size: 14.5px;
  }

  .p-top-plan-card__normal {
    font-size: 14.5px;
  }

  .p-top-plan-card__link {
    /*margin-top: 8px;*/
    margin-top: 20px;
  }

  .p-top-plan-customize {
    padding-top: 30px;
  }

  .p-top-plan-customize__text {
    font-size: 15px;
    text-align: left;
  }

}

/* 卒業式当日までの流れ */
.p-top-flow {
  padding: 115px 0;
  background: url("assets/images/bg_symbol.png") no-repeat top 40px left -50px / 260px auto;
}

.p-top-flow__inner {
  max-width: calc(1120px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-top-flow__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 26px;
  margin-top: 58px;
}

.p-top-flow__item {
  padding: 50px 24px 32px;
  border: 1px solid rgba(37, 41, 31, 0.14);
  border-radius: 5px;
  background: #fff;
}

.p-top-flow-item__icon {
  width: 59px;
  margin: 0 auto;
}

.p-top-flow-item__icon img {
  width: 100%;
}

.p-top-flow-item__heading {
  margin-top: 10px;
  font-family: "Shippori Mincho", serif;
  font-size: 19px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.p-top-flow-item__text {
  margin-top: 10px;
  color: #6e665b;
  font-size: 13.5px;
  /*text-align: center;*/
  line-height: calc(25.6 / 13.5);
}

.p-top-flow-item__text a {
  color: #6e665b;
  transition: opacity 0.3s;
}

.p-top-flow-item__text a:hover {
  opacity: 0.7;
}

.p-top-flow-item__button {
  margin-top: 36px;
  text-align: center;
}

.p-top-flow-item__button a {
  display: inline-block;
  padding: 14px 30px;
  border-radius: 2px;
  border: 1px solid rgba(41, 37, 31, .28);
  color: #29251f;
  font-size: 14.5px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: border 0.3s, color 0.3s;
}

.p-top-flow-item__button a:hover {
  border: 1px solid #b26a45;
  color: #b26a45;
}

@media screen and (max-width: 767px) {

  .p-top-flow {
    padding: 80px 0;
  }

  .p-top-flow__list {
    grid-template-columns: none;
    gap: 24px 0;
    margin-top: 62px;
  }

  .p-top-flow__item {
    padding: 36px 24px 34px;
  }

  .p-top-flow-item__text {
    margin-top: 12px;
    padding: 0 42px;
    font-size: 14.5px;
  }

}

/* 式当日のお支度は… */
.p-top-salon__inner {
  max-width: calc(1120px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-top-salon__container {
  padding: 40px;
  background: #f1ece2;
}

.p-top-salon__columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 0 54px;
}

.p-top-salon__image {
  overflow: hidden;
  border-radius: 4px;
}

.p-top-salon__image img {
  width: 100%;
  aspect-ratio: 493 / 394;
  object-fit: cover;
}

.p-top-salon__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-top-salon__heading::before {
  display: block;
  margin-bottom: 16px;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.9;
  letter-spacing: 0.42em;
  content: attr(data-title);
}

.p-top-salon__text {
  margin-top: 20px;
  color: #6e665b;
  font-size: 15px;
  line-height: 2.1;
}

.p-top-salon__link {
  margin-top: 28px;
}

@media screen and (max-width: 767px) {

  .p-top-salon__container {
    padding: 20px 20px 40px;
  }

  .p-top-salon__columns {
    grid-template-columns: none;
    gap: 24px 0;
  }

  .p-top-salon__heading {
    font-size: 21px;
  }

  .p-top-salon__heading::before {
    margin-bottom: 14px;
  }

  .p-top-salon__text {
    font-size: 15.5px;
  }

}

/* よくあるご質問 */
.p-top-faq {
  padding: 104px 0;
}

.p-top-faq__inner {
  max-width: calc(840px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-top-faq__header {
  padding-bottom: 56px;
}

.p-top-faq__link {
  margin-top: 42px;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .p-top-faq {
    padding: 82px 0;
  }

  .p-top-faq__header {
    padding-bottom: 38px;
  }

}

/* 最新情報 */
.p-top-news {
  padding: 104px 0;
  background: #f1ece2;
}

.p-top-news__inner {
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-top-news__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.p-top-news__link {
  margin-bottom: -4px;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.p-top-news__link a {
  display: inline-block;
  color: #b26a45;
  transition: opacity 0.3s;
}

.p-top-news__link a:hover {
  opacity: 0.7;
}

.p-top-news__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 30px;
  margin-top: 40px;
}

.p-top-news__card {
  overflow: hidden;
  border: 1px solid rgba(37, 41, 31, 0.14);
  border-radius: 4px;
}

.p-top-news__card a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.p-top-news-card__image {
  overflow: hidden;
}

.p-top-news-card__image img {
  width: 100%;
  aspect-ratio: 338 / 212;
  object-fit: cover;
  transition: transform 0.3s;
}

.p-top-news__card a:hover .p-top-news-card__image img {
  transform: scale(1.05);
}

.p-top-news-card__content {
  flex: 1 0 auto;
  padding: 17px 20px 22px;
  background: #fff;
}

.p-top-news-card__time {
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 300;
  line-height: calc(26.6 / 14);
  letter-spacing: 0.1em;
}

.p-top-news-card__heading {
  margin-top: 10px;
  color: #29251f;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {

  .p-top-news {
    padding: 78px 0;
  }

  .p-top-news__cards {
    grid-template-columns: none;
    gap: 30px 0;
    margin-top: 42px;
  }

}

/* アクセス */
.p-top-access {
  padding: 115px 0;
}

.p-top-access__inner {
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-top-access__gmap {
  margin-top: 54px;
}

.p-top-access__gmap iframe {
  width: 100%;
  height: 438px;
}

.p-top-access__text {
  margin-top: 36px;
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-top-access__link {
  margin-top: 14px;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .p-top-access {
    padding: 80px 0;
  }

  .p-top-access__gmap {
    margin-top: 38px;
  }

  .p-top-access__gmap iframe {
    height: 398px;
  }

  .p-top-access__text {
    margin-top: 24px;
    text-align: left;
  }

  .p-top-access__link {
    margin-top: 20px;
    text-align: left;
  }

}

/* アコーディオン（FAQ） */
.p-accordion__list {
  display: grid;
  gap: 12px 0;
}

.p-accordion__item {
  border: 1px solid rgba(41, 37, 31, 0.14);
  border-radius: 4px;
  background: #fff;
}

.p-accordion-item__question {
  position: relative;
  padding: 22px calc((24px * 2) + 14px) 22px 52px;
  cursor: pointer;

  padding: 19px calc((24px * 2) + 18px) 19px 52px;

}

.p-accordion-item__question:before,
.p-accordion-item__question:after {
  position: absolute;
  top: calc(((15.5px * 1.6) + (19px * 2)) / 2);
  right: 24px;
  width: 14px;
  height: 1.5px;
  background: #b26a45;
  content: "";
  transition: transform 0.3s;

  width: 18px;

}

.p-accordion-item__question:before {
  /*transform: translateY(-50%);*/
}

.p-accordion-item__question:after {
  /*transform: translateY(-50%) rotate(-90deg);*/
  transform: rotate(-90deg);
}

.p-accordion__item.is-open .p-accordion-item__question:after {
  /*transform: translateY(-50%);*/
  transform: rotate(0deg);
}

.p-accordion-item__title {
  position: relative;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;

  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15.5px;
  letter-spacing: 0.02em;

}

.p-accordion-item__title:before {
  position: absolute;
  top: calc((-38px + (15.5px * 1.6)) / 2);
  left: -30px;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-style: italic;
  line-height: 1.9;
  content: 'Q';

  font-style: normal;

}

.p-accordion-item__answer {
  overflow: hidden;
  height: 0;
  transition: height 0.3s;
}

.p-accordion-item__content {
  position: relative;
  /*padding: 18px 24px 22px 52px;*/
  padding: 18px 24px 22px 50px;
}

.p-accordion-item__content::before {
  position: absolute;
  top: 0;
  left: 24px;
  width: calc(100% - (24px * 2));
  height: 1px;
  background: rgba(41, 37, 31, 0.14);
  content: "";
}

.p-accordion-item__text {
  position: relative;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14.5px;
  font-weight: 400;
  line-height: calc(29.7 / 14.5);
  letter-spacing: calc((0.14 / 14.5) * 1em);

  font-family: "Zen Kaku Gothic New", sans-serif;

}

.p-accordion-item__text:before {
  position: absolute;
  top: calc((-38px + (14.5px * (29.7 / 14.5))) / 2);
  left: -28px;
  color: #b0a594;
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-style: italic;
  line-height: 1.9;
  content: 'A';

  font-style: normal;

}

.p-accordion-item__button {
  margin-top: 14px;
}

.p-accordion-item__button a {
  display: inline-block;
  padding: 11px 25px;
  border-radius: 2px;
  background: #b26a45;
  color: #fff;
  font-size: 13.5px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: background 0.3s;
}

.p-accordion-item__button a:hover {
  background: #9e5a38;
}

@media screen and (max-width: 767px) {

  .p-accordion-item__question {
    padding: 20px calc((24px * 2) + 14px) 20px 52px;

    padding: 19px calc((24px * 2) + 0px) 19px 52px;

  }

  .p-accordion-item__question:before,
  .p-accordion-item__question:after {
    width: 18px;
  }

  .p-accordion-item__text {
    font-size: 15px;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/* 選べる4つのパックと…（プラン・料金） */
.p-plan-concept {
  padding: 124px 0;
  background: #F1ECE2;
}

.p-plan-concept__inner {
  max-width: calc(820px + (24px * 2));
  margin: 0 auto;
  padding: 0 24px;
}

.p-plan-concept__title {
  font-family: "Shippori Mincho", serif;
  font-size: 29px;
  font-weight: 500;
  text-align: center;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.p-plan-concept__title::before {
  display: block;
  margin-bottom: 18px;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.7;
  letter-spacing: 0.42em;
  content: attr(data-title);
}

.p-plan-concept__text {
  margin-top: 24px;
  color: #6e665b;
  font-size: 15.5px;
  /*text-align: center;*/
  line-height: 2.2;
}

@media screen and (max-width: 767px) {

  .p-plan-concept {
    padding: 80px 0;
  }

  .p-plan-concept__title {
    font-size: 20px;
  }

  .p-plan-concept__title::before {
    margin-bottom: 20px;
  }

  .p-plan-concept__text {
    /*font-size: 14px;*/
    /*text-align: left;*/
  }

}

/* インデックス（プラン・料金） */
.p-plan-index {
  padding: 40px 0;
  border-top: 1px solid rgba(41, 37, 31, 0.14);
  border-bottom: 1px solid rgba(41, 37, 31, 0.14);
}

.p-plan-index__inner {
  max-width: calc(1160px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-plan-index__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.p-plan-index__item a {
  display: block;
  min-width: 282px;
  padding: 6px;
  border: 1px solid rgba(41, 37, 31, .14);
  border-radius: 9990px;
  background: #fff;
  color: #6E665B;
  font-size: 13.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: border 0.3s, background 0.3s, color 0.3s;
}

.p-plan-index__item a:hover {
  border: 1px solid #9e5a38;
  background: #9e5a38;
  color: #fff;
}

@media screen and (max-width: 767px) {

  .p-plan-index__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .p-plan-index__item a {
    min-width: auto;
  }

}

/* プレミアムパック・その他（プラン・料金） */
.p-plan-pack {
  padding: 40px 0 240px;
  background: url("assets/images/bg_dot.jpg") repeat center top / 1440px auto;
}

.p-plan-pack__inner {
  max-width: calc(1180px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-plan-pack__banner {
  padding: 0 10px;
}

.p-plan-pack__banner img {
  width: 100%;
}

.p-plan-pack__cards {
  display: grid;
  gap: 26px 0;
  margin-top: 40px;
}

.p-plan-pack__card {
  padding: 38px 38px 54px;
  border: 1px solid rgba(41, 37, 31, .14);
  border-radius: 6px;
  background: #fff;
}

.p-plan-pack__card--recommend {
  position: relative;
  border: 1px solid #b26a45;
  box-shadow: 0 18px 40px -26px rgba(158, 90, 56, 0.5);
}

.p-plan-pack-card__badge {
  position: absolute;
  top: -12px;
  left: 38px;
  padding: 6px 16px;
  border-radius: 9999px;
  background: #b26a45;
  color: #fff;
  font-size: 11.5px;
  line-height: 1.9;
  letter-spacing: 0.1em;
}

.p-plan-pack-card__wrap {
  display: grid;
  grid-template-columns: 300px 1fr;
  /*align-items: center;*/
  gap: 0 44px;
}

.p-plan-pack-card__image {
  overflow: hidden;
  border-radius: 4px;
}

.p-plan-pack-card__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.p-plan-pack-card__content {
  padding-top: 84px;
}

.p-plan-pack-card__head {
  display: flex;
  align-items: flex-end;
  gap: 0 14px;
}

.p-plan-pack-card__title {
  padding: 11px 32px;
  border-radius: 3px;
  background: #7C756A;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.p-plan-pack__card--recommend .p-plan-pack-card__title {
  background: #B26A45;
}

.p-plan-pack-card__text {
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.03em;
}

.p-plan-pack-card__pricing {
  display: flex;
  align-items: center;
  gap: 0 40px;
  margin-top: 12px;
}

.p-plan-pack-card__campaign {
  display: flex;
  align-items: center;
  gap: 0 18px;
}

.p-plan-pack-card__label {
  font-family: "Shippori Mincho", serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.p-plan-pack-card__discount {
  padding: 8px 14px;
  border-radius: 2px;
  background: #29251F;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-plan-pack-card__price {
  display: flex;
  align-items: center;
  gap: 0 8px;
}

.p-plan-pack-card__normal {
  padding-top: 12px;
  color: #6E665B;
  font-size: 15px;
  line-height: 1.9;
}

.p-plan-pack-card__arrow {
  color: #B26A45;
  font-size: 20px;
  line-height: 1.9;
}

.p-plan-pack-card__special {
  color: #6E665B;
  font-size: 13px;
  line-height: 1.9;
}

.p-plan-pack-card__special span {
  margin-right: 10px;
  color: #B26A45;
  font-family: "Shippori Mincho", serif;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.9;
}

.p-plan-pack-card__subtitle {
  margin-top: 36px;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.p-plan-pack-card__caption {
  margin-top: -2px;
  color: #6E665B;
  font-size: 12.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.p-plan-pack-card__caption span {
  color: #B26A45;
}

.p-plan-pack-card__list {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(41, 37, 31, .14);
}

.p-plan-pack-card__item {
  display: flex;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(41, 37, 31, .14);
}

.p-plan-pack-card__item dt {
  font-size: 14.5px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.p-plan-pack-card__item dd {
  font-family: "Shippori Mincho", serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.9;
}

.p-plan-pack-card__link {
  margin-top: 24px;
  font-size: 13.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-plan-pack-card__link a {
  display: inline-block;
  position: relative;
  color: #29251f;
  transition: opacity 0.3s;
}

.p-plan-pack-card__link a:hover {
  opacity: 0.7;
}

.p-plan-pack-card__link a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(41, 37, 31, 0.14);
  content: "";
}

.p-plan-pack-card__button {
  margin-top: 32px;
}

.p-plan-pack-card__button .c-button {
  max-width: 314px;
  margin: 0 auto;
}

.p-plan-pack__customize {
  margin-top: 80px;
}

.p-plan-pack-customize__container {
  max-width: 900px;
  margin: 0 auto;
  padding: 44px 24px;
  border: 1px dashed #b26a45;
  border-radius: 6px;
  background: #fff;
}

.p-plan-pack-customize__title {
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 600;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.p-plan-pack-customize__title::before {
  display: block;
  margin-bottom: 12px;
  color: #B26A45;
  font-family: "Cormorant Garamond", serif;
  font-size: 13px;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.9;
  letter-spacing: 0.42em;
  content: attr(data-title);
}

.p-plan-pack-customize__text {
  margin-top: 14px;
  color: #6E665B;
  font-size: 14.5px;
  text-align: center;
  line-height: calc(29.7 / 14.5 );
}

.p-plan-pack-customize__button {
  margin-top: 22px;
  text-align: center;
}

.p-plan-pack-customize__button a {
  display: inline-block;
  padding: 15px 40px;
  border-radius: 2px;
  background: #b26a45;
  color: #fff;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: background 0.3s;
}

.p-plan-pack-customize__button a:hover {
  background: #9e5a38;
}

.p-plan-pack-customize__annot {
  margin-top: 20px;
  color: #6E665B;
  font-size: 11.5px;
  line-height: 1.9;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .p-plan-pack {
    padding: 40px 0 160px;
  }

  .p-plan-pack__banner {
    padding: 0;
  }

  .p-plan-pack__cards {
    gap: 18px 0;
    margin-top: 110px;
  }

  .p-plan-pack__card {
    padding: 24px 24px 40px;
  }

  .p-plan-pack-card__badge {
    left: 22px;
  }

  .p-plan-pack-card__content {
    padding-top: 0;
  }

  .p-plan-pack-card__wrap {
    grid-template-columns: none;
    gap: 20px 0;
  }

  .p-plan-pack-card__head {
    display: block;
  }

  .p-plan-pack-card__title {
    font-size: 19px;
    text-align: center;
  }

  .p-plan-pack-card__text {
    margin-top: 20px;
    font-size: 15px;
  }

  .p-plan-pack-card__label {
    margin-right: 0;
    font-size: 15px;
  }

  .p-plan-pack-card__discount {
    font-size: 13px;
  }

  .p-plan-pack-card__pricing {
    flex-direction: column;
    align-items: normal;
    gap: 4px 0;
    margin-top: 22px;
  }

  .p-plan-pack-card__campaign {
    gap: 0 12px;
  }

  .p-plan-pack-card__price {
    gap: 0 6px;
  }

  .p-plan-pack-card__arrow {
    padding-top: 4px;
  }

  .p-plan-pack-card__special span {
    margin-right: 2px;
    font-size: 27px;
  }

  .p-plan-pack-card__subtitle {
    margin-top: 58px;
    font-size: 18px;
  }

  .p-plan-pack-card__caption {
    /*margin-top: -4px;*/
    font-size: 14px;
  }

  .p-plan-pack-card__item {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0 16px;
    padding: 14px 8px;
  }

  .p-plan-pack-card__item dt {
    line-height: calc(21.8 / 14.5);
  }

  .p-plan-pack-card__button .c-button {
    max-width: none;
  }

  .p-plan-pack-customize__container {
    padding: 28px 24px;
  }

  .p-plan-pack-customize__title {
    font-size: 19px;
  }

  .p-plan-pack-customize__text {
    font-size: 14px;
    font-size: 15px;
    text-align: left;
    line-height: calc(29.7 / 14);
  }

  .p-plan-pack-customize__annot {
    font-size: 13px;
  }

}

/* 料金一覧（プラン・料金） */
.p-plan-price {
  padding: 124px 0;
}

.p-plan-price__inner {
  max-width: calc(920px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-plan-price__groups {
  display: grid;
  gap: 29px 0;
  margin-top: 54px;
}

.p-plan-price__title {
  position: relative;
  padding-left: 18px;
  font-family: "Shippori Mincho", serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-plan-price__title::before {
  position: absolute;
  top: calc(((17px * 1.9) - (6px / 2)) / 2);
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #B26A45;
  content: "";
}

.p-plan-price__title span {
  margin-left: 10px;
  color: #6E665B;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.p-plan-price__list {
  margin-top: 10px;
  border-top: 1px solid rgba(41, 37, 31, 0.14);
}

.p-plan-price__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 22px;
  border-bottom: 1px solid rgba(41, 37, 31, 0.14);
}

.p-plan-price__item dt {
  font-size: 14.5px;
  line-height: 1.9;
}

.p-plan-price__item dt span {
  margin-left: 4px;
  color: #B26A45;
  font-size: 11.5px;
}

.p-plan-price__item dd {
  color: #B26A45;
  font-family: "Shippori Mincho", serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
}

.p-plan-price__annot {
  margin-top: 30px;
  color: #6E665B;
  font-size: 12px;
  text-align: right;
  line-height: 1.9;
}

@media screen and (max-width: 767px) {

  .p-plan-price {
    padding: 80px 0;
  }

  .p-plan-price__groups {
    gap: 25px 0;
    margin-top: 42px;
  }

  .p-plan-price__title::before {
    top: calc(((17px * 1.9) - (6px / 2)) / 2 - 3px);
  }

  .p-plan-price__title span {
    display: block;
    margin: -2px 0 0;
  }

  .p-plan-price__list {
    margin-top: 16px;
  }

  .p-plan-price__item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0 16px;
  }

  .p-plan-price__item dt {
    line-height: 1.6;
  }

  .p-plan-price__item dt span {
    display: block;
    margin: 2px 0 0;
  }

  .p-plan-price__annot {
    margin-top: 20px;
  }

}

/* ご持参いただく小物（プラン・料金） */
.p-plan-bring {
  padding-top: 124px;
  background: url("assets/images/bg_symbol.png") no-repeat top 30px right -50px / 260px auto;
}

.p-plan-bring__inner {
  max-width: calc(920px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-plan-bring__text {
  margin-top: 42px;
  color: #6e665b;
  font-size: 14px;
  text-align: center;
  line-height: 2;
}

.p-plan-bring__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 30px;
}

.p-plan-bring__item {
  padding: 18px 0;
  border: 1px solid rgba(41, 37, 31, 0.14);
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.p-plan-bring-own {
  margin-top: 30px;
  padding-top: 56px;
  border-top: 1px solid rgba(41, 37, 31, 0.14);
}

.p-plan-bring-own__title {
  font-family: "Shippori Mincho", serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-plan-bring-own__text {
  margin-top: 4px;
  color: #6E665B;
  font-size: 13px;
  line-height: 1.9;
}

.p-plan-bring-own__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-top: 20px;
}

.p-plan-bring-own__item {
  display: flex;
  align-items: center;
  gap: 0 8px;
  padding: 10px 14px;
  border-radius: 3px;
  background: #F1ECE2;
  font-size: 13px;
  line-height: 1.9;
}

.p-plan-bring-own__item::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #B26A45;
  content: "";
}

.p-plan-bring-own__annot {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed rgba(41, 37, 31, 0.14);
  color: #6E665B;
  font-size: 12px;
  line-height: 1.9;
}

@media screen and (max-width: 767px) {

  .p-plan-bring {
    padding-top: 80px;
  }

  .p-plan-bring__text {
    margin-top: 30px;
    font-size: 15px;
    text-align: left;
  }

  .p-plan-bring__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-plan-bring-own {
    margin-top: 24px;
    padding: 34px 24px 24px;
    border: 1px solid rgba(41, 37, 31, 0.14);
  }

  .p-plan-bring-own__text {
    font-size: 14.5px;
  }

  .p-plan-bring-own__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-plan-bring-own__annot {
    font-size: 13.5px;
  }

}

/* プランやお支度に関するご質問は、…（プラン・料金） */
.p-plan-contact {
  padding: 116px 0 80px;
}

.p-plan-contact__inner {
  max-width: calc(920px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-plan-contact__title {
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

.p-plan-contact__button {
  margin-top: 20px;
  text-align: center;
}

.p-plan-contact__button a {
  display: inline-block;
  padding: 14px 40px;
  border-radius: 2px;
  border: 1px solid rgba(41, 37, 31, 0.28);
  color: #29251F;
  font-size: 14.5px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: border 0.3s, color 0.3s;
}

.p-plan-contact__button a:hover {
  border: 1px solid #935a38;
  color: #935a38;
}

@media screen and (max-width: 767px) {

  .p-plan-contact {
    padding: 80px 0 58px;
  }

  .p-plan-contact__title {
    font-size: 16px;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* 卒業式までの流れ */
.p-flow {
  padding: 96px 0 124px;
}

.p-flow__inner {
  max-width: calc(860px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-flow__card {
  padding: 26px;
  border: 1px solid rgba(41, 37, 31, 0.14);
  border-radius: 6px;
  background: #fff;
}

.p-flow__card:nth-child(n + 2) {
  margin-top: 24px;
}

.p-flow__card.p-flow__card--supplement {
  margin-top: 12px;
  padding: 30px;
}

.p-flow-card__head {
  display: flex;
  align-items: center;
}

.p-flow-card__number,
.p-flow-card__title {
  font-family: "Shippori Mincho", serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-flow-card__number::after {
  display: inline-block;
  content: "｜";
}

.p-flow-card__label {
  display: inline-block;
  margin-left: 12px;
  padding: 3px 12px;
  border: 1px solid #B26A45;
  border-radius: 9999px;
  font-size: 11.5px;
  color: #B26A45;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.p-flow-card__caption {
  margin-top: 8px;
  color: #9E5A38;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.p-flow-card__subtitle {
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.03em;
}

* + .p-flow-card__subtitle {
  margin-top: 14px;
}

.p-flow-card__text {
  margin-top: 14px;
  color: #6E665B;
  font-size: 14px;
  line-height: 1.95;
}

.p-flow-card__list {
  display: grid;
  gap: 10px 0;
  margin-top: 14px;
}

.p-flow-card__item {
  position: relative;
  padding-left: 20px;
  color: #6E665B;
  font-size: 14.5px;
  line-height: 1.9;
}

.p-flow-card__item--annot {
  color: #A79C8C;
  font-size: 13px;
}

.p-flow-card__item::before {
  position: absolute;
  top: calc(((14.5px * 1.9) - (6px / 2)) / 2);
  left: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #B26A45;
  content: "";
}

.p-flow-card__item--gray::before {
  background: #7C756A;
}

.p-flow-card__item--annot::before {
  top: calc(((13px * 1.9) - (6px / 2)) / 2);
  background: #C9BCA9;
}

.p-flow-card__item span {
  color: #A79C8C;
  font-size: 12.5px;
}

.p-flow-card__link {
  margin-top: 18px;
  text-align: right;
}

.p-flow-card__text + .p-flow-card__link {
  margin-top: 2px;
}

.p-flow-card__cta {
  margin-top: 38px;
}

.p-flow-card-cta__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 18px;
}

.p-flow-card-cta__card {
  padding: 20px 26px;
  border-radius: 5px;
  background: #F8F5EF;
}

.p-flow-card-cta__microcopy {
  margin-top: 6px;
  color: #6E665B;
  font-size: 12.5px;
  text-align: center;
  line-height: 1.9;
}

.p-flow-card-cta__number {
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.p-flow-card-cta__number a {
  display: inline-block;
  color: #b26a45;
  transition: opacity 0.3s;
}

.p-flow-card-cta__number a:hover {
  opacity: 0.7;
}

.p-flow-card-cta__hours {
  margin-top: 6px;
  color: #6e665b;
  font-size: 12px;
  text-align: center;
  line-height: 1.9;
}

.p-flow-card__payment {
  margin-top: 6px;
  padding: 32px 22px 18px;
  border-radius: 5px;
  background: rgba(248, 245, 239, 0.97);
}

.p-flow-card-payment__title {
  font-family: "Shippori Mincho", serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-flow-card-payment__list {
  display: grid;
  gap: 11px 0;
  margin-top: 14px;
}

.p-flow-card-payment__item {
  display: grid;
  grid-template-columns: 144px 1fr;
}

.p-flow-card-payment__item dt,
.p-flow-card-payment__item dd {
  font-size: 13.5px;
  line-height: 1.9;
}

.p-flow-card-payment__item dt {
  font-weight: 700;
  letter-spacing: calc((0.41 / 13.5) * 1em);
}

.p-flow-card-payment__item dd {
  color: #6E665B;
}

.p-flow-card__prep {
  margin-top: 24px;
}

.p-flow-card-prep__title {
  padding: 4px;
  border-radius: 3px;
  background: #7C756A;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.p-flow-card-prep__caption {
  margin-top: 14px;
  color: #6E665B;
  font-size: 13.5px;
  text-align: center;
  line-height: 1.9;
}

.p-flow-card-prep__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 14px;
  margin-top: 24px;
  padding-bottom: 10px;
}

.p-flow-card-prep__item {
  position: relative;
  padding-left: 14px;
  color: #6E665B;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.01em;
}

.p-flow-card-prep__item::before {
  position: absolute;
  top: calc(((14px * 1.9) - (5px / 2)) / 2);
  left: 2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #B26A45;
  content: "";
}

@media screen and (max-width: 767px) {

  .p-flow {
    padding: 40px 0 80px;
  }

  .p-flow__card {
    padding: 26px 28px;
  }

  .p-flow__card.p-flow__card--supplement {
    padding: 22px;
  }

  .p-flow-card__number,
  .p-flow-card__title {
    font-size: 18px;
  }

  .p-flow-card__caption {
    font-size: 16px;
  }

  .p-flow-card__subtitle {
    /*font-size: 15.5px;*/
    font-size: 16px;
  }

  .p-flow-card__text {
    font-size: 15px;
  }

  .p-flow-card__link {
    margin-top: 4px;
  }

  .p-flow-card__item {
    font-size: 15.5px;
  }

  .p-flow-card__item span {
    font-size: 13.5px;
    line-height: calc(23.8 / 12.5);
  }

  .p-flow-card__cta {
    margin-top: 34px;
  }

  .p-flow-card-cta__cards {
    grid-template-columns: none;
    gap: 16px 0;
  }

  .p-flow-card-cta__hours {
    margin-top: 2px;
  }

  .p-flow-card__payment {
    margin-top: 18px;
    padding: 20px 22px;
  }

  .p-flow-card-payment__item {
    grid-template-columns: none;
    gap: 4px 0;
  }

  .p-flow-card-payment__item dd {
    line-height: calc(23 / 13.5);
  }

  .p-flow-card__prep {
    margin-top: 22px;
  }

  .p-flow-card-prep__title {
    padding: 11px;
    font-size: 16px;
  }

  .p-flow-card-prep__caption {
    font-size: 14.5px;
  }

  .p-flow-card-prep__list {
    grid-template-columns: none;
    gap: 14px 0;
  }

  .p-flow-card-prep__item {
    font-size: 15px;
  }

}

/* 美容室KISEI内に…（店舗紹介） */
.p-access-about {
  padding: 124px 0;
  background: #f1ece2;
}

.p-access-about__inner {
  max-width: calc(820px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.p-access-about__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 27px;
  font-weight: 500;
  text-align: center;
  line-height: calc(47.3 / 27);
  letter-spacing: 0.05em;
}

.p-access-about__heading::before {
  display: block;
  margin-bottom: 16px;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.9;
  letter-spacing: 0.42em;
  content: attr(data-title);
}

.p-access-about__text {
  margin-top: 24px;
  color: #6E665B;
  font-size: 15.5px;
  text-align: center;
  line-height: 2.2;
}

@media screen and (max-width: 767px) {

  .p-access-about {
    padding: 80px 0;
  }

  .p-access-about__heading {
    font-size: 19px;
    line-height: calc(33.3 / 19);
  }

  .p-access-about__heading::before {
    margin-bottom: 18px;
  }

  .p-access-about__text {
    margin-top: 22px;
    /*font-size: 14px;*/
    text-align: left;
  }

}

/* アクセス（店舗紹介） */
.p-access-access {
  padding: 96px 0;
}

.p-access-access__inner {
  max-width: calc(1000px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-access-access__gmap {
  margin-top: 38px;
}

.p-access-access__gmap iframe {
  width: 100%;
  height: 566px;
}

.p-access-access__info {
  margin-top: 44px;
}

.p-access-access__shop-name {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-access-access__list {
  margin-top: 8px;
}

.p-access-access__item {
  display: grid;
  grid-template-columns: 128px 1fr;
  align-items: center;
  gap: 0 20px;
  padding: 18px 30px;
  border-top: 1px solid rgba(41, 37, 31, 0.14);
}

.p-access-access__item dt {
  font-family: "Shippori Mincho", serif;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.p-access-access__item dd {
  color: #6E665B;
  font-size: 13.5px;
  line-height: calc(25 / 13.5);
}

.p-access-access__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 12px;
}

@media screen and (max-width: 767px) {

  .p-access-access {
    padding: 80px 0;
  }

  .p-access-access__gmap {
    margin-top: 24px;
  }

  .p-access-access__gmap iframe {
    height: 398px;
  }

  .p-access-access__info {
    margin-top: 26px;
  }

  .p-access-access__shop-name {
    font-size: 18px;
  }

  .p-access-access__list {
    margin-top: 10px;
  }

  .p-access-access__item {
    grid-template-columns: none;
    align-items: normal;
    gap: 4px 0;
    padding: 18px 16px;
  }

  .p-access-access__item dt {
    font-size: 15px;
    text-align: left;
  }

  .p-access-access__item dd {
    font-size: 14.5px;
  }

  .p-access-access__buttons {
    grid-template-columns: none;
    gap: 12px 0;
  }

}

/* 店舗フォトギャラリー（店舗紹介） */
.p-access-gallery {
  padding: 96px 0;
  background: #f1ece2;
}

.p-access-gallery__inner {
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-access-gallery__images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 42px;
}

.p-access-gallery__image {
  overflow: hidden;
  border-radius: 3px;
}

.p-access-gallery__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.p-access-gallery__button {
  margin-top: 38px;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .p-access-gallery {
    padding: 80px 0;
  }

  .p-access-gallery__images {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 28px;
  }

  .p-access-gallery__button {
    margin-top: 26px;
  }

}

/* お客様の声・口コミ（店舗紹介） */
.p-access-reviews {
  padding: 96px 0;
}

.p-access-reviews__inner {
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-access-reviews__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 22px;
  margin-top: 44px;
}

.p-access-reviews__card {
  padding: 26px 24px;
  border: 1px solid rgba(41, 37, 31, 0.14);
  border-radius: 6px;
  background: #fff;
}

.p-access-reviews-card__star-rating {
  color: #e4a93c;
  line-height: 1.9;
  letter-spacing: 0.125em;
}

.p-access-reviews-card__text {
  margin-top: 14px;
  color: #413b32;
  font-size: 14px;
  line-height: 1.95;
}

.p-access-reviews-card__author {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 0 10px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(41, 37, 31, 0.14);
}

.p-access-reviews-card__icon {
  overflow: hidden;
  border-radius: 50%;
}

.p-access-reviews-card__icon img {
  width: 100%;
}

.p-access-reviews-card__name {
  color: #6e665b;
  font-size: 13px;
  line-height: 1.9;
}

.p-access-reviews__link {
  margin-top: 40px;
  padding-bottom: 4px;
  font-size: 14px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-access-reviews__link a {
  display: inline-block;
  position: relative;
  color: #29251f;
  transition: opacity 0.3s;
}

.p-access-reviews__link a:hover {
  opacity: 0.7;
}

.p-access-reviews__link a::before {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(41, 37, 31, 0.14);
  content: "";
}

@media screen and (max-width: 767px) {

  .p-access-reviews {
    padding: 80px 0;
  }

  .p-access-reviews__cards {
    grid-template-columns: none;
    gap: 14px 0;
    margin-top: 28px;
  }

  .p-access-reviews__link {
    margin-top: 30px;
  }

}

/* 卒業式当日のお支度サロン（店舗紹介） */
.p-access-salon {
  padding: 96px 0;
  background: #f1ece2;
}

.p-access-salon__inner {
  max-width: calc(1120px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-access-salon__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-weight: 600;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-access-salon__heading::before {
  display: block;
  margin-bottom: 8px;
  color: #b26a45;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.9;
  letter-spacing: 0.42em;
  content: attr(data-title);
}

.p-access-salon__heading span {
  color: #6E665B;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: calc((1.2 / 21) * 1em);
}

.p-access-salon__caption {
  margin-top: 18px;
  color: #6e665b;
  font-size: 14.5px;
  text-align: center;
  line-height: 1.9;
}

.p-access-salon__cards {
  display: grid;
  gap: 16px 0;
  margin-top: 46px;
}

.p-access-salon__card {
  display: grid;
  grid-template-columns: 160px 1fr auto;
  align-items: center;
  gap: 0 26px;
  padding: 18px 24px;
  border: 1px solid rgba(41, 37, 31, 0.14);
  border-radius: 6px;
  background: #fff;
}

.p-access-salon-card__image {
  overflow: hidden;
  border-radius: 4px;
}

.p-access-salon-card__image img {
  width: 100%;
  aspect-ratio: 160 / 120;
  object-fit: cover;
}

.p-access-salon-card__info {
  padding-bottom: 4px;
}

.p-access-salon-card__shop-name {
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.03em;
}

.p-access-salon-card__address {
  margin-top: 4px;
  color: #6E665B;
  font-size: 13px;
  line-height: 1.9;
}

.p-access-salon-card__number {
  margin-top: 2px;
  font-size: 13.5px;
  letter-spacing: 0.02em;
  line-height: 1.9;
}

.p-access-salon-card__button a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 11px 22px;
  border-radius: 2px;
  background: #7c756a;
  color: #fff;
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: opacity 0.3s;
}

.p-access-salon-card__button a:hover {
  opacity: 0.7;
}

.p-access-salon-card__button a::after {
  width: 14px;
  height: 14px;
  margin-left: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_2342_3267)%22%3E%0A%3Cpath%20d%3D%22M12.5%2014.5H1.5V3.25H7.5V2.25H0.5V15.5H13.5V8.5H12.5V14.5Z%22%20fill%3D%22%23fff%22%2F%3E%0A%3Cpath%20d%3D%22M9.50002%200.5V1.5H13.7929L5.89648%209.39647L6.60355%2010.1035L14.5%202.20709V6.5H15.5V0.5H9.50002Z%22%20fill%3D%22%23fff%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_2342_3267%22%3E%0A%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

@media screen and (max-width: 767px) {

  .p-access-salon {
    padding: 82px 0;
  }

  .p-access-salon__heading {
    margin-bottom: -2px;
    font-size: 20px;
  }

  .p-access-salon__heading::before {
    margin-bottom: 10px;
  }

  .p-access-salon__heading span {
    display: block;
    font-size: 14px;
  }

  .p-access-salon__cards {
    gap: 12px 0;
    margin-top: 30px;
  }

  .p-access-salon__card {
    grid-template-columns: none;
    gap: 11px 0;
    padding: 14px 16px;
  }

  .p-access-salon-card__shop-name {
    font-size: 15.5px;
  }

  .p-access-salon-card__address {
    font-size: 14px;
  }

  .p-access-salon-card__number {
    margin-top: 0;
    font-size: 14.5px;
  }

  .p-access-salon-card__button a {
    /*display: inline-block;*/
    display: inline-flex;
  }

}

/* よくあるご質問 */
.p-faq {
  padding: 40px 0;
}

.p-faq__inner {
  max-width: calc(940px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-faq__indexes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  counter-reset: counter;
}

.p-faq__index a {
  display: flex;
  align-items: center;
  gap: 0 12px;
  padding: 16px 18px;
  border: 1px solid rgba(41, 37, 31, .14);
  border-radius: 4px;
  background: #fff;
  color: #29251F;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.02em;
  transition: border 0.3s, color 0.3s;
}

.p-faq__index a:hover {
  border: 1px solid #9e5a38;
  color: #9e5a38;
}

.p-faq__index a::before {
  color: #B26A45;
  font-family: "Cormorant Garamond", serif;
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0;
  counter-increment: counter;
  content: counter(counter, decimal-leading-zero);
}

.p-faq__groups {
  display: grid;
  gap: 54px 0;
  margin-top: 80px;
  counter-reset: counter;
}

.p-faq__title {
  display: flex;
  align-items: center;
  gap: 0 14px;
  padding-bottom: 16px;
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  font-weight: 600;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

.p-faq__title::before {
  color: #B26A45;
  font-family: "Cormorant Garamond", serif;
  font-size: 26px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0;
  counter-increment: counter;
  content: counter(counter, decimal-leading-zero);
}

@media screen and (max-width: 767px) {

  .p-faq {
    padding: 36px 0 96px;
  }

  .p-faq__indexes {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-faq__index a {
    height: 100%;
    padding: 14px 0 14px 18px;
    line-height: 1.4;
  }

  .p-faq__groups {
    gap: 26px 0;
    margin-top: 30px;
  }

  .p-faq__title {
    padding-bottom: 12px;
    font-size: 19px;
  }

  .p-faq__title::before {
    transform: translateY(1px);
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/* お知らせ（一覧） */
.p-news-index {
  padding: 80px 0 240px;
}

.p-news-index__inner {
  max-width: calc(960px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-news-index__tags {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.p-news-index__tag a {
  display: block;
  padding: 6px 22px;
  border-radius: 9999px;
  border: 1px solid rgba(41, 37, 31, .14);
  background: #fff;
  color: #29251F;
  font-size: 13.5px;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.06em;
  transition: border 0.3s, background 0.3s, color 0.3s;
}

.p-news-index__tag.is-current a {
  background: #B26A45;
  color: #fff;
}

.p-news-index__tag a:hover {
  border: 1px solid #B26A45;
  background: #B26A45;
  color: #fff;
}

.p-news-index__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 42px 24px;
  margin-top: 56px;
}

.p-news-index__card {
  overflow: hidden;
  border: 1px solid rgba(37, 41, 31, 0.14);
  border-radius: 4px;
}

.p-news-index__card a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.p-news-index-card__image {
  overflow: hidden;
}

.p-news-index-card__image img {
  width: 100%;
  aspect-ratio: 302 / 224;
  object-fit: cover;
  transition: transform 0.3s;
}

.p-news-index__card a:hover .p-news-index-card__image img {
  transform: scale(1.05);
}

.p-news-index-card__content {
  flex: 1 0 auto;
  padding: 17px 20px 22px;
  background: #fff;
}

.p-news-index-card__meta {
  display: flex;
  align-items: center;
  gap: 0 12px;
}

.p-news-index-card__time {
  color: #6E665B;
  font-family: "Cormorant Garamond", serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.9;
  letter-spacing: 0.1em;
}

.p-news-index-card__tag {
  display: inline-block;
  padding: 3px 11px;
  border-radius: 3px;
  background: #6E7256;
  color: #fff;
  font-size: 11px;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.p-news-index-card__tag.is-customer {
  background: #8C7A5B;
}

.p-news-index-card__tag.is-campaign {
  background: #B26A45;
}

.p-news-index-card__heading {
  margin-top: 10px;
  color: #29251f;
  font-family: "Shippori Mincho", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.p-news-index__pagination {
  margin-top: 64px;
}

@media screen and (max-width: 767px) {

  .p-news-index {
    padding: 40px 0 120px;
  }

  .p-news-index__tags {
    display: flex;
    flex-wrap: wrap;
  }

  .p-news-index__tag a {
    min-width: 108px;
  }

  .p-news-index__cards {
    grid-template-columns: none;
    gap: 24px 0;
    margin-top: 30px;
  }

  .p-news-index-card__image img {
    aspect-ratio: 348 / 262;
  }

  .p-news-index__pagination {
    margin-top: 36px;
  }

}

/* お知らせ（投稿） */
.p-news-page {
  padding: 80px 0;
}

.p-news-page__inner {
  max-width: calc(960px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-news-page__meta {
  display: flex;
  align-items: center;
  gap: 0 16px;
}

.p-news-page__time {
  color: #6E665B;
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.9;
  letter-spacing: calc((1.5 / 18) * 1em);
}

.p-news-page__tag {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 4px;
  background: #6E7256;
  color: #fff;
  font-size: 12px;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.p-news-page__tag.is-customer {
  background: #8C7A5B;
}

.p-news-page__tag.is-campaign {
  background: #B26A45;
}

.p-news-page__title {
  margin-top: 18px;
  font-family: "Shippori Mincho", serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.03em;
}

.p-news-page__image {
  overflow: hidden;
  margin-top: 20px;
  border-radius: 5px;
}

.p-news-page__image img {
  width: 100%;
  aspect-ratio: 960 / 480;
  object-fit: cover;
}

.p-news-page__body {
  margin-top: 44px;
}

.p-news-page__footer {
  margin-top: 120px;
}

.p-news-page__button {
  margin-top: 40px;
  text-align: center;
}

.p-news-page__button a {
  display: inline-block;
  padding: 14px 40px;
  border-radius: 2px;
  border: 1px solid rgba(41, 37, 31, 0.28);
  color: #29251F;
  font-size: 14.5px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  transition: background 0.3s;
}

@media screen and (max-width: 767px) {

  .p-news-page {
    padding: 40px 0 120px;
  }

  .p-news-page__time {
    font-size: 15px;
  }

  .p-news-page__tag {
    border-radius: 2px;
  }

  .p-news-page__title {
    margin-top: 16px;
    font-size: 23px;
    line-height: 1.6;
  }

  .p-news-page__image {
    margin-top: 26px;
  }

  .p-news-page__image img {
    aspect-ratio: 342 / 262;
  }

  .p-news-page__body {
    margin-top: 30px;
  }

  .p-news-page__footer {
    margin-top: 100px;
  }

  .p-news-page__button {
    margin-top: 26px;
  }

}

/* 投稿デザイン */
.p-entry-content {
  color: #413B32;
  font-size: 15.5px;
  line-height: calc(33.3 / 15.5);
}

.p-entry-content > *:first-child {
  margin-top: 0;
}

.p-entry-content > * {
  margin-top: 16px;
}

.p-entry-content h2,
.p-entry-content h3,
.p-entry-content h4,
.p-entry-content h5,
.p-entry-content h6 {
  position: relative;
  padding-left: 17px;
  color: #29251F;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.p-entry-content h2::before,
.p-entry-content h3::before,
.p-entry-content h4::before,
.p-entry-content h5::before,
.p-entry-content h6::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: #B26A45;
  content: "";
}

.p-entry-content h2 {
  /*position: relative;
  padding-left: 17px;*/
  margin-top: 38px;
  font-size: 20px;
}

.p-entry-content h2::before {
  /*position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: #B26A45;
  content: "";*/
}

.p-entry-content h3 {
  margin-top: 34px;
  font-size: 18px;
}

.p-entry-content h4 {
  margin-top: 30px;
  font-size: 17px;
}

.p-entry-content h5 {
  margin-top: 26px;
  font-size: 16px;
}

.p-entry-content h6 {
  margin-top: 22px;
  font-size: 16px;
}

.p-entry-content hr {
  margin-top: 7rem;
  border: none;
  border-top: 1px solid #ccd9e7;
}

.p-entry-content strong {

}

.p-entry-content blockquote {
  margin-top: 10.2rem;
  padding: 2.8rem 3.6rem;
  background: #f2f0e9;
}

.p-entry-content blockquote > :first-child {
  margin-top: 0 !important;
}

.p-entry-content ul {
  display: grid;
  gap: 10px 0;
  margin-top: 26px;
  padding-bottom: 6px;
}

.p-entry-content li {
  position: relative;
  padding: 0 0 8px 22px;
  border-bottom: 1px dashed rgba(37, 41, 31, 0.14);
  font-size: 15px;
  line-height: 1.9;
}

.p-entry-content li::before {
  position: absolute;
  top: calc(((15px * 1.9) - (7px / 2)) / 2 - 4px);
  left: 2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #B26A45;
  content: "";
}

.p-entry-content table {
  margin-top: 46px;
  border-collapse: separate!important;
  border-radius: 5px;
  border-spacing: 0;
  border-top: 1px solid rgba(37, 41, 31, 0.14);
  border-left: 1px solid rgba(37, 41, 31, 0.14);
}

.p-entry-content tr > * {
  padding: 15px 18px;
  border-right: 1px solid rgba(37, 41, 31, 0.14);
  border-bottom: 1px solid rgba(37, 41, 31, 0.14);
  font-size: 14.5px;
  line-height: 1.9;
}

.p-entry-content tr > *:last-child {

}

.p-entry-content tr:first-child > *:first-child {
  border-radius: 3px 0 0 0;
}

.p-entry-content tr:first-child > *:last-child {
  border-radius: 0 3px 0 0;
}

.p-entry-content tr:last-child > *:first-child {
  border-radius: 0 0 0 3px;
}

.p-entry-content tr:last-child > *:last-child {
  border-radius: 0 0 3px 0;
}

.p-entry-content td {
/*  padding: 15px 18px;
  font-size: 14.5px;
  line-height: 1.9;*/
}

.p-entry-content tr:first-child td {
  background: #F1ECE2;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.p-entry-content td strong {
  font-family: "Shippori Mincho", serif;
  font-size: 16px;
  font-weight: 600;
}

.p-entry-content td del {
  color: #6E665B;
  font-size: 14px;
}

.p-entry-content p:has(> .c-button) {
  margin-top: 44px;
}

.p-entry-content .c-button {
  display: inline-block;
  padding-inline: 40px;
  color: #fff;
  font-size: 15px;
  text-decoration: none;
}

@media screen and (max-width: 767px) {

  .p-entry-content {
    font-size: 16.5px;
  }

  .p-entry-content li {
    font-size: 16.5px;
  }

  .p-entry-content li::before {
    top: calc(((16.5px * 1.9) - (7px / 2)) / 2 - 4px);
  }

  .p-entry-content tr > * {
    padding: 18px 0;
    font-size: 14px;
    text-align: center;
    line-height: calc(20 / 14);
  }

  .p-entry-content table {
    margin-top: 56px;
  }

  .p-entry-content p:has(> .c-button) {
    margin-top: 32px;
  }

}

/* NOT FOUND */
.p-error {
  padding: 120px 0;
}

.p-error__inner {
  max-width: calc(1000px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

.p-error__text {
  text-align: center;
}

.p-error__button {
  margin-top: 32px;
  text-align: center;
}

.p-error__button a {
  display: inline-block;
  padding-inline: 40px;
}

@media screen and (max-width: 767px) {

  .p-error {
    padding: 80px 0;
  }

  .p-error__text {
    text-align: left;
    letter-spacing: 0.06em;
  }

}

/*-------------------------------------------
Utility
-------------------------------------------*/
/*
ComponentとProjectレイヤーのObjectの
モディファイアで解決することが難しい・適切では無い、
わずかなスタイルの調整のための便利クラスなどを定義します。
*/

.u-sp {
  display: none;
}

@media screen and (max-width: 767px) {

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }

}

.u-clearfix::after {
  display: block;
  clear: both;
  content: "";
}