@charset "UTF-8";

body {
  font-family: "Noto Serif JP", serif;
  /* font-family: "Zen Kaku Gothic Antique", sans-serif; */
  padding: 0;
  margin: 0;
}

/*============================
　KV
============================*/
.subpage_kv {
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 1400 / 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #ccc;
}

/*  */

body.p_menu .subpage_kv {
  background-image: url(../image/subpage_kv_menu_pc.webp);
}

body.p_concept .subpage_kv {
  background-image: url(../image/subpage_kv_concept_pc.webp);
}

body.p_media .subpage_kv {
  background-image: url(../image/subpage_kv_media_pc.webp);
}

body.p_contact .subpage_kv,
body.p_thanks .subpage_kv {
  background-image: url(../image/subpage_kv_contact_pc.webp);
}

body.p_privacy .subpage_kv {
  background-image: url(../image/subpage_kv_privacy_pc.webp);
}

@media (max-width: 750px) {
  .subpage_kv {
    aspect-ratio: 750 / 650;
  }

  /*  */
  body.p_menu .subpage_kv {
    background-image: url(../image/subpage_kv_menu_sp.webp);
  }

  body.p_concept .subpage_kv {
    background-image: url(../image/subpage_kv_concept_sp.webp);
  }

  body.p_media .subpage_kv {
    background-image: url(../image/subpage_kv_media_sp.webp);
  }

  body.p_contact .subpage_kv,
  body.p_thanks .subpage_kv {
    background-image: url(../image/subpage_kv_contact_pc.webp);
  }

  body.p_privacy .subpage_kv {
    background-image: url(../image/subpage_kv_privacy_sp.webp);
  }
}

/*  */

.subpage_kv h1 {
  font-size: clamp(calc(2.031rem * 1), calc(-0.312rem * 1 + 5vw), calc(4.063rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：32.5px ～ 65px */
  ;
  font-family: "perpetua", serif;
  color: #fff;
}

.subpage_kv p {
  font-size: clamp(calc(0.375rem * 1), calc(-0.058rem * 1 + 0.923vw), calc(0.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：6px ～ 12px */
  ;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
}

/*============================
　コンテンツ関連
============================*/

.breadcrumb-list {
  margin-inline: auto;
  padding-top: clamp(calc(0.469rem * 1), calc(0.288rem * 1 + 0.385vw), calc(0.625rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：7.5px ～ 10px */
  ;
  padding-left: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
  width: 100%;
  max-width: 137rem;
}

.breadcrumb-list ol {
  display: flex;
  align-items: center;
  align-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
}

.breadcrumb-list li {
  font-size: clamp(calc(0.469rem * 1), calc(-0.144rem * 1 + 1.308vw), calc(1rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：7.5px ～ 16px */
  ;
}

.breadcrumb-list li a,
.breadcrumb-list li span {
  color: #000;
  text-decoration: none;
  font-family: "Noto Serif JP", serif;
}

.breadcrumb-list li::after {
  content: ">";
  font-weight: bold;
  display: inline-block;
  margin-inline: 6px;
}

.breadcrumb-list li:last-of-type::after {
  display: none;
}


/*============================
　コンセプトページ
============================*/
.p_concept {}

.p_concept main {
  overflow: hidden;
  background-image: url(../image/bg_img_concept.webp);
  background-repeat: repeat-y;
  background-size: cover;
  background-position: top;
  padding-bottom: clamp(calc(5.938rem * 1), calc(-0.913rem * 1 + 14.615vw), calc(11.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：95px ～ 190px */
  ;
  font-family: "Noto Serif JP", serif;
  ;
}

.concept_section {}

.concept_topBox {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.concept_header {
  margin-top: clamp(calc(5.313rem * 1), calc(-0.817rem * 1 + 13.077vw), calc(10.625rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：85px ～ 170px */
  ;
  margin-bottom: clamp(calc(2.031rem * 1), calc(-0.312rem * 1 + 5vw), calc(4.063rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：32.5px ～ 65px */
  ;
}

.concept_header h2 {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: clamp(calc(0.938rem * 1), calc(-0.505rem * 1 + 3.077vw), calc(2.188rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 35px */
  ;
  font-weight: 400;
  line-height: 1.666666667;
}

.concept_topBox_cap {
  margin-bottom: clamp(calc(3.438rem * 1), calc(-0.529rem * 1 + 8.462vw), calc(6.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：55px ～ 110px */
  ;
  text-align: center;
  line-height: 2.5;
  font-size: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
}

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

  .p_concept main {
    background-image: url(../image/bg_img_concept_sp.webp);
  }
}

.concept_caption {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.concept_caption p {
  font-size: clamp(calc(0.563rem * 1), calc(-0.087rem * 1 + 1.385vw), calc(1.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 18px */
  ;
  line-height: 2.78;
  display: inline-block;
  margin-inline: auto;
  margin-top: clamp(calc(2.188rem * 1), calc(-0.337rem * 1 + 5.385vw), calc(4.375rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：35px ～ 70px */
  ;
  text-align: center;
}

.concept_caption p:nth-of-type(1) {
  margin-top: 0;
}

.concept_artwork.first {
  text-align: center;
  margin-top: clamp(calc(1.563rem * 1), calc(-0.24rem * 1 + 3.846vw), calc(3.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：25px ～ 50px */
  ;
  margin-bottom: clamp(calc(0.938rem * 1), calc(-0.151rem * 1 + 2.323vw), calc(1.881rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 30.1px */
  ;
}

.concept_artwork.first img {
  width: clamp(calc(17.188rem * 1), calc(-2.644rem * 1 + 42.308vw), calc(34.375rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：275px ～ 550px */
  ;
}

/*  */
.concept_topvisual {
  position: relative;
  width: 100%;
  aspect-ratio: 1/.4;
  z-index: 1;
  margin-top: clamp(calc(2.5rem * 1), calc(-0.385rem * 1 + 6.154vw), calc(5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：40px ～ 80px */
  ;
  margin-bottom: clamp(calc(6.25rem * 1), calc(-0.962rem * 1 + 15.385vw), calc(12.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：100px ～ 200px */
  ;
}

.topvisual_img {
  position: absolute;
  left: 50%;
}

.topvisual_img.n01 {
  top: 0;
  z-index: 2;
  transform: translate(-120%, 0);
}

.topvisual_img.n01 img {
  width: clamp(calc(6.875rem * 1), calc(-1.058rem * 1 + 16.923vw), calc(13.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：110px ～ 220px */
  ;
}

.topvisual_img.n02 {
  top: 0;
  transform: translate(0, 0);
  z-index: 1;
}

.topvisual_img.n02 img {
  width: clamp(calc(6.563rem * 1), calc(-1.01rem * 1 + 16.154vw), calc(13.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：105px ～ 210px */
  ;
}

.topvisual_img.n03 {
  top: 25%;
  transform: translate(110%, 0);
  z-index: 1;
}

.topvisual_img.n03 img {
  width: clamp(calc(6.875rem * 1), calc(-1.058rem * 1 + 16.923vw), calc(13.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：110px ～ 220px */
  ;
}

.topvisual_img.n04 {
  top: 30%;
  transform: translate(-140%, 0);
  z-index: 1;
}

.topvisual_img.n04 img {
  width: clamp(calc(13.438rem * 1), calc(-2.067rem * 1 + 33.077vw), calc(26.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：215px ～ 430px */
  ;
}

.topvisual_img.n05 {
  top: 65%;
  transform: translate(-100%, 0);
  z-index: 1;
}

.topvisual_img.n05 img {
  width: clamp(calc(4.063rem * 1), calc(-0.625rem * 1 + 10vw), calc(8.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：65px ～ 130px */
  ;
}

.topvisual_txt {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(-10%, -20%);
  z-index: 10;
}

.topvisual_txt p {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.08em;
  white-space: nowrap;
  font-size: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0 1px 0 #fff, 0-1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;

  line-height: 1.6;
  margin-top: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
  color: var(--base_color);
}

.topvisual_txt p:nth-of-type(1) {
  margin-top: 0;
}

@media screen and (max-width: 750px) {
  .concept_topvisual {
    min-height: 400px;
    width: 100%;
    aspect-ratio: initial;
  }

  .concept_artwork.first {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
  }

  .topvisual_img {
    left: initial;
  }

  .topvisual_img.n01 {
    top: 23%;
    right: 0;
    z-index: 2;
    transform: translate(0%, 0);
  }

  .topvisual_img.n01 img {}

  .topvisual_img.n02 {
    top: 3%;
    left: 50%;
    transform: translate(-70%, 0);
    z-index: 1;
  }

  .topvisual_img.n02 img {}

  .topvisual_img.n03 {
    top: 0;
    right: 0;
    transform: translate(0%, 0);
    z-index: 1;
  }

  .topvisual_img.n03 img {}

  .topvisual_img.n04 {
    top: 40%;
    left: 50%;
    transform: translate(-58%, 5%);
    z-index: 1;
  }

  .topvisual_img.n04 img {
    width: 215px;
    max-width: 215px;
  }

  .topvisual_img.n05 {
    top: 21%;
    transform: translate(0%, 0);
    z-index: 1;
  }

  .topvisual_img.n05 img {}

  .topvisual_txt {
    left: 50%;
    right: initial;
    bottom: 0;
    transform: translate(-50%, 20%);
  }

  .topvisual_txt p {
    margin-top: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
      /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  }
}

/*  */

.concept_feature {
  align-items: flex-start;
  gap: 20px;
}

.concept_feature.right {
  margin-top: clamp(calc(3.594rem * 1), calc(-0.553rem * 1 + 8.846vw), calc(7.188rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：57.5px ～ 115px */
  ;
}

.feature_section {
  display: flex;
}

.concept_feature.left .feature_section {
  flex-direction: row-reverse;
}

.concept_feature.right .feature_section {
  flex-direction: row-reverse;
}

.feature_section header {
  display: flex;
  flex-direction: row-reverse;
}

.feature_section header>p {
  font-size: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  border-left: 1px solid var(--base_color);
  padding-left: clamp(calc(0.469rem * 1), calc(-0.072rem * 1 + 1.154vw), calc(0.938rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：7.5px ～ 15px */
  ;
  margin-left: clamp(calc(0.938rem * 1), calc(-0.144rem * 1 + 2.308vw), calc(1.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 30px */
  ;
}

.feature_section header>h3 {
  font-size: clamp(calc(0.938rem * 1), calc(-0.144rem * 1 + 2.308vw), calc(1.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 30px */
  ;
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin-left: clamp(calc(1.25rem * 1), calc(-0.192rem * 1 + 3.077vw), calc(2.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：20px ～ 40px */
  ;
}

.feature_section>p {
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: justify;
  font-size: clamp(calc(0.563rem * 1), calc(-0.087rem * 1 + 1.385vw), calc(1.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 18px */
  ;
  line-height: 2.222222222;
}

.feature_section .horizontal-text {
  display: inline-block;
  writing-mode: horizontal-tb;
  white-space: nowrap;
  font-size: inherit;
  line-height: 1.4;
}

.concept_feature .side_area {
  width: 100%;
  max-width: clamp(calc(18.75rem * 1), calc(-2.885rem * 1 + 46.154vw), calc(37.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：300px ～ 600px */
  ;
}

.concept_feature .side_area.noDeco {
  border: none !important;
  border-radius: initial !important;
}

.concept_feature.left .side_area {
  border: 2px solid var(--base_color);
  overflow: hidden;
  border-radius: 0 0 30px 0;
  position: relative;
}

.concept_feature.left .side_area::before {
  content: "01.";
  font-family: "perpetua", serif;
  top: 0;
  right: 0;
  position: absolute;
  font-size: clamp(calc(1.875rem * 1), calc(-0.288rem * 1 + 4.615vw), calc(3.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：30px ～ 60px */
  ;
  color: var(--base_color);
  margin: clamp(calc(0.781rem * 1), calc(-0.12rem * 1 + 1.923vw), calc(1.563rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12.5px ～ 25px */
  ;
}

.concept_feature.right .side_area {
  border: 2px solid var(--base_color);
  overflow: hidden;
  border-radius: 30px 0 0 0;
  position: relative;
}

.concept_feature.right .side_area::before {
  content: "02.";
  font-family: "perpetua", serif;
  top: 0;
  left: 0;
  position: absolute;
  font-size: clamp(calc(1.875rem * 1), calc(-0.288rem * 1 + 4.615vw), calc(3.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：30px ～ 60px */
  ;
  color: var(--base_color);
  margin: clamp(calc(0.781rem * 1), calc(-0.12rem * 1 + 1.923vw), calc(1.563rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12.5px ～ 25px */
  ;
}

.concept_feature .side_area.font_white::before {
  color: #fff;
}

@media screen and (max-width: 750px) {
  .concept_feature.left {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .concept_feature.left .feature_section {}

  .concept_feature.right {
    flex-direction: column;
    align-items: flex-start;
  }

  .concept_feature.right .feature_section {}

  .concept_feature.left .side_area {
    border-radius: 0 30px 0 0;
    max-width: fit-content;
    margin-right: 72.5px;
  }

  .concept_feature.right .side_area {
    border-radius: 0 30px 0 0;
    max-width: fit-content;
    margin-right: 72.5px;
  }

  .concept_feature.right .side_area::before {
    right: 0;
    left: initial;
  }
}


/*  */

.concept_artwork.second {
  text-align: center;
  margin-top: clamp(calc(9.375rem * 1), calc(-1.442rem * 1 + 23.077vw), calc(18.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：150px ～ 300px */
  ;
  margin-bottom: clamp(calc(5rem * 1), calc(-0.769rem * 1 + 12.308vw), calc(10rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：80px ～ 160px */
  ;
}

.concept_artwork.second img {
  width: clamp(calc(22.688rem * 1), calc(-44.163rem * 1 + 142.615vw), calc(80.625rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：363px ～ 1290px */
  ;
}

.img_full {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
}

.img_full img {
  width: 100vw !important;
}

/*  */
.concept_leaf {
  position: relative;
}

.concept_leaf::before {
  content: "";
  position: absolute;
  background-position: center;
  background-size: auto;
  background-repeat: no-repeat;
}

.concept_leaf::after {
  content: "";
  position: absolute;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.concept_leaf.n01::before {
  left: 0;
  bottom: 0;
  width: clamp(calc(5.625rem * 1), calc(-0.865rem * 1 + 13.846vw), calc(11.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：90px ～ 180px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/concept_leaf01.png);
}

.concept_leaf.n01::after {
  right: 0;
  top: 0;
  width: clamp(calc(4.375rem * 1), calc(-0.673rem * 1 + 10.769vw), calc(8.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：70px ～ 140px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/concept_leaf01.png);
}

.concept_leaf.n02::before {
  right: 0;
  bottom: 0;
  width: clamp(calc(4.375rem * 1), calc(-0.673rem * 1 + 10.769vw), calc(8.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：70px ～ 140px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/concept_leaf03.png);
}

/* .concept_leaf.n02::after {} */

.concept_leaf.n03::before {
  left: 0;
  top: 0;
  margin-top: -15vw;
  margin-left: -50px;
  width: clamp(calc(11rem * 1), calc(-10.562rem * 1 + 46vw), calc(29.688rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：176px ～ 475px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/greentea01.webp);
  background-size: contain;
}

/* .concept_leaf.n03::after {} */

.concept_leaf.n04::before {
  left: 0;
  top: 40%;
  width: clamp(calc(5.625rem * 1), calc(-0.865rem * 1 + 13.846vw), calc(11.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：90px ～ 180px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/concept_leaf04.png);
}

/* .concept_leaf.n04::after {} */

/* .concept_leaf.n05::before {} */

.concept_leaf.n05::after {
  right: 0;
  bottom: 0;
  width: clamp(calc(4.375rem * 1), calc(-0.673rem * 1 + 10.769vw), calc(8.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：70px ～ 140px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/concept_leaf05.png);
}

.concept_leaf.n06::before {
  left: 0;
  bottom: 20%;
  width: clamp(calc(5.625rem * 1), calc(-0.865rem * 1 + 13.846vw), calc(11.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：90px ～ 180px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/concept_leaf06.png);
}

/* .concept_leaf.n06::after {} */

/* .concept_leaf.n07::before {} */

.concept_leaf.n07::after {
  right: 0;
  bottom: 0;
  margin-right: -10vw;
  margin-bottom: -5vw;
  width: clamp(calc(4.375rem * 1), calc(-0.673rem * 1 + 10.769vw), calc(8.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：70px ～ 140px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/concept_leaf07.png);
}

.concept_leaf.n08::before {
  left: 0;
  bottom: 0;
  margin-left: -30px;
  width: clamp(calc(8rem * 1), calc(-1.303rem * 1 + 19.846vw), calc(16.063rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：128px ～ 257px */
  ;
  aspect-ratio: 1/1;
  background-image: url(../image/greentea02.webp);
  background-size: contain;
}

/* .concept_leaf.n01::after {} */

@media screen and (max-width: 750px) {
  .concept_leaf::after {
    display: none;
  }

  .concept_leaf::before {
    display: none;
  }

  .concept_leaf.n03::before {
    display: initial;
    bottom: 0;
    top: initial;
    margin-top: initial;
    left: initial;
    right: 0;
    margin-bottom: -15vw;
  }

  .concept_leaf.n08::before {
    display: initial;
    bottom: 0;
    top: initial;
    margin-top: initial;
    left: initial;
    right: 0;
    margin-bottom: -15vw;
    z-index: 2;
  }
}

/*============================
　メニューページ
============================*/

.p_menu {}

.p_menu main {
  background-image: url(../image/bg_img_menu.webp);
  background-repeat: repeat-y;
  background-size: cover;
  background-position: top;
  padding-bottom: clamp(calc(5.938rem * 1), calc(-0.913rem * 1 + 14.615vw), calc(11.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：95px ～ 190px */
  ;
}

.unit_menu {}

.menu_navi {
  margin-top: clamp(calc(4.375rem * 1), calc(-0.673rem * 1 + 10.769vw), calc(8.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：70px ～ 140px */
  ;
}

.menu_navi ul {
  display: grid;
  align-items: start;
  justify-content: center;
  grid-template-columns: auto auto auto;
  gap: clamp(calc(3.438rem * 1), calc(0.913rem * 1 + 5.385vw), calc(5.625rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：55px ～ 90px */
  ;
}

.menu_navi ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}

.menu_navi ul li:nth-of-type(1)::after {
  content: "";
  width: clamp(calc(0.25rem * 1), calc(-0.038rem * 1 + 0.615vw), calc(0.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：4px ～ 8px */
  ;
  aspect-ratio: 1/1;
  background-color: var(--base_color);
  border-radius: 50% 50%;
}

.menu_navi ul li a {
  font-size: clamp(calc(0.75rem * 1), calc(0.173rem * 1 + 1.231vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12px ～ 20px */
  ;
}

.menu_section {
  text-align: center;
  margin-top: clamp(calc(3.125rem * 1), calc(-0.481rem * 1 + 7.692vw), calc(6.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：50px ～ 100px */
  ;
}

.menu_header {
  display: inline-flex;
  margin-inline: auto;
  text-align: center;
  flex-direction: column;
}

.menu_header::after {
  margin-inline: auto;
  margin-top: 5px;
  content: "";
  display: inline-block;
  height: 50px;
  width: 1px;
  background-color: #263f20;
}

.menu_header h2 {
  font-family: "perpetua", serif;
  text-align: center;
  font-size: clamp(calc(1.5rem * 1), calc(0.707rem * 1 + 1.692vw), calc(2.188rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：24px ～ 35px */
  ;
}

.menu_header p {
  text-align: center;
  font-size: clamp(calc(0.5rem * 1), calc(0.356rem * 1 + 0.308vw), calc(0.625rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：8px ～ 10px */
  ;
  color: var(--sub_color)
}

.item_box {
  width: 100%;
  text-align: center;
  container: item-cont / inline-size;
  /* ↑ container: [コンテナ名] / inline-size; */
}

.item-inner {
  /*  */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-inline: auto;
  /*  */
  max-width: calc(var(--item_max-wide) * var(--item_col) + var(--item_gap) * (var(--item_col) - 1) + var(--wrapper-padding) * 2);
  padding-inline: var(--wrapper-padding);
}

/* カード本体 */
.item {
  display: flex;
  flex-direction: column;
  /* transition: 0.1s ease-in-out; */
  /*  */
  width: calc((100% - (var(--item_col) - 1) * var(--item_gap)) / var(--item_col));
  max-width: var(--item_max-wide);
}

.item.limited figure::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 170px;
  margin: 10px;
  background-image: url(../image/menu/icon_limited.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.item.premium figure::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 110px;
  height: 110px;
  margin: 10px;
  background-image: url(../image/menu/icon_premium.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* 画像 */

.item figure {
  position: relative;
  border-radius: 0 30px 0 0;
  overflow: hidden;
  border: 1px solid var(--base_color);
  margin-bottom: clamp(calc(0.938rem * 1), calc(-0.144rem * 1 + 2.308vw), calc(1.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 30px */
  ;
}

.item figure img {
  width: 100%;
  object-fit: cover;
}

/* テキスト部分 */
.item-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.item-title {
  color: var(--base_color);
  border-bottom: 1px solid var(--base_color);
  padding-bottom: 10px;
  text-align: left;
}

.item-title>h3 {
  font-size: clamp(calc(0.75rem * 1), calc(-0.115rem * 1 + 1.846vw), calc(1.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12px ～ 24px */
  ;
  font-weight: 400;
}

.item-title>p {
  font-size: clamp(calc(0.625rem * 1), calc(0.265rem * 1 + 0.769vw), calc(0.938rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 15px */
  ;
  margin-top: clamp(calc(0.125rem * 1), calc(-0.019rem * 1 + 0.308vw), calc(0.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：2px ～ 4px */
  ;
}

.item-desc {
  font-size: clamp(calc(0.563rem * 1), calc(0.13rem * 1 + 0.923vw), calc(0.938rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 15px */
  ;
  color: #555;
  line-height: 1.5;
}

.item-allergy {
  font-size: clamp(calc(0.5rem * 1), calc(0.212rem * 1 + 0.615vw), calc(0.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：8px ～ 12px */
  ;
  text-align: right;
}

.item-price {
  color: var(--base_color);
  font-size: clamp(calc(0.781rem * 1), calc(-0.048rem * 1 + 1.769vw), calc(1.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12.5px ～ 24px */
  ;
  text-align: right;
}

/* カードが広くなったら内部レイアウトを変える */
@container item-cont (min-width: 1300px) {

  /* ↑ @container [指定コンテナ名] (min-width: - px) { */

  .item {
    flex-direction: row;
  }

  .item img {
    width: 40%;
    height: 100%;
    aspect-ratio: auto;
  }

  .item-body {
    padding: 1.2rem;
  }

  .item-title {
    font-size: 1.25rem;
  }

  .item-desc {
    font-size: 1rem;
  }
}

@container item-cont (min-width: 610px) {
  .item-inner {
    --item_col: 2;
    --item_gap: 42px;
    gap: 40px var(--item_gap);
  }
}

@container item-cont (min-width: 840px) {
  .item-inner {
    --item_max-wide: 350px;
    --item_col: 3;
    --item_gap: 74px;
    gap: 40px var(--item_gap);
  }
}


@container item-cont (max-width: 610px) {
  .item-inner {
    --item_max-wide: 230px;
    --item_col: 1;
    --item_gap: 30px;
    gap: 20px 0;
    flex-direction: column;
    align-items: center;
  }
}


/*============================
　問い合わせページ
============================*/
/*
.p_contact .main_outer {

}
*/
.p_contact main {
  background-image: url(../image/bg_img_contact.webp);
  background-repeat: repeat-y;
  background-size: cover;
  background-position: top;
}

.contact_title {
  margin-top: clamp(calc(4.375rem * 1), calc(-0.673rem * 1 + 10.769vw), calc(8.75rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：70px ～ 140px */
  ;
  margin-bottom: clamp(calc(0.938rem * 1), calc(-0.144rem * 1 + 2.308vw), calc(1.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 30px */
  ;
}

.contact_title h2 {
  font-size: clamp(calc(0.781rem * 1), calc(-0.12rem * 1 + 1.923vw), calc(1.563rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12.5px ～ 25px */
  ;
  font-weight: 600;
  text-align: center;
}

.contact_info {
  text-align: center;
  font-size: clamp(calc(0.563rem * 1), calc(-0.087rem * 1 + 1.385vw), calc(1.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 18px */
  ;
  margin-top: clamp(calc(0.938rem * 1), calc(-0.144rem * 1 + 2.308vw), calc(1.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 30px */
  ;
}

.contact_info p {
  font-size: clamp(calc(0.563rem * 1), calc(-0.087rem * 1 + 1.385vw), calc(1.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 18px */
  ;
  text-align: center;
  margin-top: 4px;
  display: block;
}

.contact_media {
  width: clamp(calc(18.75rem * 1), calc(-17.308rem * 1 + 76.923vw), calc(50rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：300px ～ 800px */
  ;
  padding: clamp(calc(1.25rem * 1), calc(0.168rem * 1 + 2.308vw), calc(2.188rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：20px ～ 35px */
  ;
  border: 1px dotted #333;
  display: inline-block;
  margin-inline: auto;
  margin-top: clamp(calc(1.25rem * 1), calc(-0.192rem * 1 + 3.077vw), calc(2.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：20px ～ 40px */
  ;
}

.contact_media dt {
  font-weight: 600;
  margin-bottom: clamp(calc(0.469rem * 1), calc(-0.072rem * 1 + 1.154vw), calc(0.938rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：7.5px ～ 15px */
  ;
  font-size: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
  text-align: center;
}

.contact_media dd {
  text-align: center;
}

.contact_media p {
  font-size: clamp(calc(0.5rem * 1), calc(-0.077rem * 1 + 1.231vw), calc(1rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：8px ～ 16px */
  ;
}

.contact_media p.contact_mediabtn {
  margin-top: clamp(calc(0.781rem * 1), calc(-0.12rem * 1 + 1.923vw), calc(1.563rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12.5px ～ 25px */
  ;
  display: inline-flex;
  align-items: center;
  padding: 6px 18px;
  line-height: 1;
  max-width: 500px;
  width: 100%;
  justify-content: center;
  font-size: clamp(calc(0.563rem * 1), calc(-0.015rem * 1 + 1.231vw), calc(1.063rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 17px */
  ;
  height: clamp(calc(1.875rem * 1), calc(0.433rem * 1 + 3.077vw), calc(3.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：30px ～ 50px */
  ;
  background-color: #fff;
  color: var(--base_color);
  border: 1px dotted var(--base_color);
  margin-inline: auto;
  margin-top: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
}

.contact_item {
  background-color: #fff;
  border-radius: 50px;
  padding: clamp(calc(1.563rem * 1), calc(-3.125rem * 1 + 10vw), calc(5.625rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：25px ～ 90px */
  ;
  margin-top: clamp(calc(1.25rem * 1), calc(-0.192rem * 1 + 3.077vw), calc(2.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：20px ～ 40px */
  ;
  font-size: clamp(calc(0.5rem * 1), calc(-0.077rem * 1 + 1.231vw), calc(1rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：8px ～ 16px */
  ;
  font-weight: 600;
}

.table_contact {
  margin: 0 auto;
  position: relative;
  z-index: 15;
  width: 100%;
  text-align: left;
}

.table_contact ::placeholder {
  color: #cbcbcb;
}

.table_contact th,
.table_contact td {
  padding: 10px;
  border-collapse: collapse;
}

.table_contact .nob th {
  border: none;
  padding: 46px 0 0 50px;
}

.table_contact .nob td {
  border: none;
  padding: 40px 0 0 15px;
}

.table_contact .nob:last-child th {
  border: none;
  padding: 26px 0 0 50px;
}

.table_contact .nob:last-child td {
  border: none;
  padding: 20px 0 0 15px;
}

.table_contact .nob ::file-selector-button {
  font-weight: 700;
  background: #fff;
  padding: 8px 15px;
  margin: 0 10px 0 0;
  border: 1px solid #b9b9b9;
}

.table_contact th {
  padding: 45px 10px 10px 50px;
  text-align: left;
  width: 30%;
  border-bottom: 1px solid #b9b9b9;
  vertical-align: top;
}

.table_contact td {
  padding: 40px 0 40px 15px;
  background: #ffffff;
  width: 70%;
  border-bottom: 1px solid #b9b9b9;
  min-height: 25px;
  vertical-align: top;
}

.table_contact td.img_text {
  width: 100%;
}

/*  */
.table_contact .input {
  padding: 10px 3px 10px 10px;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
  text-indent: 0.01px;
  background: #ffffff;
  border: 1px solid #b9b9b9;
  width: 100%;
  -moz-box-sizing: border-box;
  -wbkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.table_contact input[type="file"] {
  border: none;
  width: 100%;
}

.table_contact .textarea {
  padding: 10px;
  vertical-align: middle;
  color: inherit;
  box-sizing: content-box;
  text-indent: 0.01px;
  text-overflow: "";
  background: #ffffff;
  border: 1px solid #b9b9b9;
  width: 100%;
  min-height: 220px;
  -moz-box-sizing: border-box;
  -wbkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  font-family: sans-serif;
}

.table_contact input.postcode {
  width: 5em;
  display: inline-block;
  margin-bottom: 5px;
}

.table_contact .block {
  display: block;
  margin-top: clamp(calc(0.313rem * 1), calc(-0.048rem * 1 + 0.769vw), calc(0.625rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：5px ～ 10px */
  ;
  margin-bottom: clamp(calc(0.188rem * 1), calc(-0.029rem * 1 + 0.462vw), calc(0.375rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：3px ～ 6px */
  ;
}

@media screen and (min-width: 768px) {

  .table_contact th,
  .table_contact td {
    padding: 30px 0 30px 50px;
  }

}

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

  .table_contact {
    /*border: none;*/
  }

  .table_contact th {
    width: 100%;
    display: block;
    border: none;
    padding: 20px 0 0 0;
  }

  .table_contact td {
    width: 100%;
    display: block;
    padding: 10px 0 20px 0;
  }

  .table_contact .nob th {
    padding: 40px 0 0 0;
  }

  .table_contact .nob th,
  .table_contact .nob:last-child th {
    padding: 10px 0 0 0;
  }

  .table_contact .nob td,
  .table_contact .nob:last-child td {
    padding: 10px 0 20px 0;
  }

}

.btn_wrap {
  display: block;
  text-align: center;
}

.btn_wrap a.r_btn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  font-size: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：10px ～ 20px */
  ;
  text-decoration: none;
  min-width: clamp(calc(12.5rem * 1), calc(-1.923rem * 1 + 30.769vw), calc(25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：200px ～ 400px */
  ;
  border-bottom: 1px solid #ccc;
  height: 60px;
}

/* .btn_wrap a.r_btn:hover {
  opacity: 0.7;
} */

.btn_wrap a.r_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 40px;
  height: 1px;
  background-color: var(--base_color);
  transition: background-color 0.4s ease;
}

.btn_wrap a.r_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--base_color);
  border-right: 1px solid var(--base_color);
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.4s ease;
}

.btn_wrap a.l_btn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  font-size: clamp(calc(0.625rem * 1), calc(-0.096rem * 1 + 1.538vw), calc(1.25rem * 1));
  min-width: clamp(calc(12.5rem * 1), calc(-1.923rem * 1 + 30.769vw), calc(25rem * 1));
  text-decoration: none;
  border-bottom: 1px solid #ccc;
  height: 60px;
  padding-left: 60px;
  /* 矢印と文字が重ならないように調整 */
}

/* .btn_wrap a.l_btn:hover {
  opacity: 0.7;
} */

.btn_wrap a.l_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  width: 40px;
  height: 1px;
  background-color: var(--base_color);
  transition: background-color 0.4s ease;
}

.btn_wrap a.l_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 12px;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--base_color);
  border-right: 1px solid var(--base_color);
  transform: translateY(-50%) rotate(-135deg);
  transition: border-color 0.4s ease;
}

.box-check {
  display: block;
  text-align: center;
  margin-block: clamp(calc(2.5rem * 1), calc(-0.385rem * 1 + 6.154vw), calc(5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：40px ～ 80px */
    clamp(calc(1.25rem * 1), calc(-0.192rem * 1 + 3.077vw), calc(2.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：20px ～ 40px */
  ;
}

.box-check_inner {
  display: inline-flex;
  align-items: center;
  gap: .6em;
  cursor: pointer;
}

.box-check input {
  appearance: none;
  width: clamp(calc(0.75rem * 1), calc(-0.115rem * 1 + 1.846vw), calc(1.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12px ～ 24px */
  ;
  height: clamp(calc(0.75rem * 1), calc(-0.115rem * 1 + 1.846vw), calc(1.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12px ～ 24px */
  ;
  border: 2px solid #333;
  border-radius: 3px;
  display: grid;
  place-items: center;
  margin: 0;
  cursor: pointer;
}

.box-check label a {
  text-decoration: underline;
}

.box-check label a:hover {
  color: var(--color_blue_c2);
}

p.recaptcha-text {
  text-align: center;
}

/* チェックマーク */

.box-check input::before {
  content: "";
  width: 80%;
  height: 110%;
  margin-top: -50%;
  border-right: clamp(calc(0.125rem * 1), calc(-0.019rem * 1 + 0.308vw), calc(0.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：2px ～ 4px */
    solid #f00;
  border-bottom: clamp(calc(0.125rem * 1), calc(-0.019rem * 1 + 0.308vw), calc(0.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：2px ～ 4px */
    solid #f00;
  transform:
    rotate(45deg) scale(0);
}

.box-check input:checked {}

.box-check input:checked::before {
  transform:
    rotate(45deg) scale(1);
}

.notice {
  color: red;
}

.p_thanks main {

  background-image: url(../image/bg_img_thanks.webp);
  background-repeat: repeat-y;
  background-size: cover;
  background-position: top;

}

.section_thanks {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: auto;
  height: clamp(calc(21.875rem * 1), calc(11.058rem * 1 + 23.077vw), calc(31.25rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：350px ～ 500px */
  ;
}

.section_thanks h2 {
  font-size: clamp(calc(0.781rem * 1), calc(-0.12rem * 1 + 1.923vw), calc(1.563rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：12.5px ～ 25px */
  ;
  margin-bottom: clamp(calc(0.938rem * 1), calc(-0.144rem * 1 + 2.308vw), calc(1.875rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：15px ～ 30px */
  ;
}

.section_thanks p {
  font-size: clamp(calc(0.563rem * 1), calc(-0.087rem * 1 + 1.385vw), calc(1.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 18px */
  ;
  line-height: 1.8;
}

.btn_group {
  display: flex;
  gap: clamp(calc(1.719rem * 1), calc(-0.265rem * 1 + 4.231vw), calc(3.438rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：27.5px ～ 55px */
  ;
  align-items: center;
  justify-content: center;
  margin-top: clamp(calc(1.25rem * 1), calc(-0.192rem * 1 + 3.077vw), calc(2.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：20px ～ 40px */
  ;
}

.confirm_info {
  font-size: clamp(calc(0.563rem * 1), calc(-0.087rem * 1 + 1.385vw), calc(1.125rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：9px ～ 18px */
  ;
  text-align: center;
  margin-top: clamp(calc(1.25rem * 1), calc(-0.192rem * 1 + 3.077vw), calc(2.5rem * 1))
    /* 可変幅：750px ～ 1400px , 入力値：20px ～ 40px */
  ;
}