@charset "utf-8";

/*=================================================
 *  CSS Custom Properties
 *================================================*/
:root {
  /* --- 初期値設定 ここから ------------------------ */
  --font-family-base: "Noto Sans JP", sans-serif; /* FontFamily（日本語） */
  --font-family-ttl: "Zen Kaku Gothic New", sans-serif; /* タイトル（日本語） */
  --font-family-en: "Montserrat", sans-serif; /* FontFamily（英字） */
  --font-family-en-ttl: "Alegreya Sans", sans-serif; /* タイトル（英字） */
  --line-height-base: 1.6; /* 基本のline-height */
  --color-accent: #418534; /* アクセントカラー */
  --color-font-base: #333; /* 文字色 */
  --color-beige: #f8f6f3; /* ベージュ */
  --color-brown: #a0792f; /* 茶色 */
  --color-bg: #729a74; /* 背景グリーン */
  --height-header: 80; /* SP表示時のヘッダーの高さ */
  --padding-inline: 20px; /* SP表示時の左右余白 */
  --width-max-img: 600px; /* SP表示時の最大画像幅 */
  --l-inner-xs: 900; /* PC表示時のインナー幅 - 極小 */
  --l-inner-s: 1000; /* PC表示時のインナー幅 - 小 */
  --l-inner: 1200; /* PC表示時のインナー幅 - 基本 */
  /* --- 初期値設定 ここまで ------------------------ */

  /* z-index */
  --l-layer__modal: 100;
  --l-layer__drawer: 40;
  --l-layer__header: 20;
  --l-layer__floating: 10;
  --l-layer__default: 1;
}

/* PC */
@media screen and (min-width: 768px) {
  :root {
    --padding-inline: 25px; /* PC表示時の左右余白 */
    --width-max-img: 100%; /* PC表示時の最大画像幅 */
  }
}

/* ハンバーガーメニューの切り替わり910px */
@media screen and (min-width: 910px) {
  :root {
    --height-header: 100; /* PC表示時のヘッダーの高さ */
  }
}

/*=================================================
 *  Base ベーススタイル
 *================================================*/
html {
  font-size: 1em;
  min-height: -webkit-fill-available;
}

body {
  font-family: var(--font-family-base);
  font-weight: 400;
  line-height: var(--line-height-base);
  color: var(--color-font-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  overflow-x: hidden;
}

[lang="en"] {
  font-family: var(--font-family-en);
  text-transform: uppercase;
}

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

a {
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

/* フォーカス時のアウトライン */
:focus-visible {
  outline: 1px solid var(--color-accent);
}

/* アンカー位置をヘッダーの高さ分ずらす */
:target {
  scroll-margin-top: calc(var(--height-header) * 1px);
}

/* PC */
@media screen and (min-width: 768px) {
  html {
    font-size: min(calc(8 / var(--l-inner) * 100vw + 0.5em), 1em);
  }
  /* 電話番号リンクをクリック不可 */
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/*=================================================
 *  Utility ユーティリティ
 *================================================*/

/* float関連 */
.u-cf::before,
.u-cf::after {
  clear: both;
  content: "";
  display: block;
}
.u-fl {
  float: left;
}
.u-fr {
  float: right;
}

/* 左寄せ、中央、右寄せ */
.u-left {
  text-align: left;
}
.u-center {
  text-align: center;
}
.u-right {
  text-align: right;
}

/* 太字 */
.u-bold {
  font-weight: 700;
}
/* 緑の字　*/
.u-green {
  color: var(--color-accent);
  font-weight: inherit;
}
/* マーカー　*/
.u-marker {
  background: linear-gradient(transparent 60%, #fff700 60%);
  font-weight: 700;
  color: var(--color-accent);
  font-size: 1.2em;
  line-height: 1;
}
/* Word Break（親要素にクラス指定） */
.u-wbr {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* スクリーンリーダー向け */
.u-screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}

/* 表示／非表示 切り替え */
.u-pc-only {
  display: none;
}

/* PC */
@media screen and (min-width: 768px) {
  .u-pc-only {
    display: block;
  }
  .u-sp-only {
    display: none;
  }
}

/*fit-img*/
.u-fit-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*=================================================
 *  Layout レイアウト
 *================================================*/
/* インナー - 標準 */
.l-inner {
  width: 100%;
  max-width: calc(var(--l-inner) * 1px + var(--padding-inline) * 2);
  padding-inline: var(--padding-inline);
  margin-inline: auto;
}

/* main - TOPページ*/
.l-top-main {
  padding-top: calc(var(--height-header) / 16 * 1rem);
}

/* main - 下層ページ*/
.l-sub-main {
  padding-top: calc(var(--height-header) / 16 * 1rem);
}

/* ボタンエリア */
.l-btn-area {
  display: flex;
  justify-content: center;
  width: 100%;
  position: relative;
}

/* PC */
@media screen and (min-width: 768px) {
  /* インナー - 極小 */
  .l-inner-xs {
    margin-inline: auto;
    max-width: calc(var(--l-inner-xs) * 1px);
  }
  /* インナー - 小 */
  .l-inner-s {
    margin-inline: auto;
    max-width: calc(var(--l-inner-s) * 1px);
  }
}

/*=================================================
 *  Component 共通部品
 *================================================*/

/*------------------------------------------
 *  ハンバーガーメニュー
 *------------------------------------------*/
.c-hamburger {
  padding: 15px;
  width: 50px;
  height: 50px;
  background: var(--color-accent);
  border-radius: 50vh;
}
.c-hamburger__line {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
.c-hamburger__line::before,
.c-hamburger__line::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: inherit;
  -webkit-transition: 0.2s all ease-in-out;
  transition: 0.2s all ease-in-out;
}
.c-hamburger__line::before {
  top: -8px;
}
.c-hamburger__line::after {
  top: 8px;
}

/* ハンバーガーメニュー open時 */
.is-drawerActive .c-hamburger__line {
  background-color: transparent;
}
.is-drawerActive .c-hamburger__line::before,
.is-drawerActive .c-hamburger__line::after {
  top: 0;
  background-color: #fff;
}
.is-drawerActive .c-hamburger__line::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.is-drawerActive .c-hamburger__line::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/* ハンバーガーメニュー切り替わり910px */
@media screen and (min-width: 910px) {
  .c-hamburger {
    display: none;
  }
}
/*------------------------------------------
 *  パンくず
 *------------------------------------------*/
.c-breadcrumb {
  margin-top: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.c-breadcrumb__item {
  position: relative;
  line-height: 1;
}
/*.c-breadcrumb__item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -0.8em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #7a7b8d;
  border-bottom: 1px solid #7a7b8d;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}*/
.c-breadcrumb__item + .c-breadcrumb__item {
  margin-left: 1.2em;
}
.c-breadcrumb__item a {
  font-size: 0.85rem;
  line-height: 1;
  color: #e2e2e2;
  font-weight: 600;
  letter-spacing: 0.1em;
  position: relative;
}
.c-breadcrumb__item:last-of-type a {
  color: #fff;
}
.c-breadcrumb__item:last-of-type a::before {
  content: "";
  display: inline-block;
  width: 0.425rem;
  height: 0.425rem;
  border-radius: 50vh;
  background-color: #fff;
  position: absolute;
  left: -0.8em;
  top: 50%;
  transform: translateY(-50%);
}
/* PC */
@media screen and (min-width: 768px) {
  .c-breadcrumb__item:not(:first-child)::before {
    left: -0.9em;
    width: 7px;
    height: 7px;
    border-right: 2px solid #7a7b8d;
    border-bottom: 2px solid #7a7b8d;
    -webkit-transform: translateY(-30%) rotate(-45deg);
    transform: translateY(-30%) rotate(-45deg);
  }
  .c-breadcrumb__item + .c-breadcrumb__item {
    margin-left: 1.5em;
  }
}

/*------------------------------------------
 *  ページタイトル
 *------------------------------------------*/
.c-page-ttl {
}
/* PC */
@media screen and (min-width: 768px) {
}

/*------------------------------------------
 *  セクションタイトル
 *------------------------------------------*/
.c-sec-ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.c-sec-ttl__main {
  font-family: var(--font-family-en-ttl);
  font-weight: 700;
  font-size: clamp(46px, calc(100 / 1250 * 100vw), 100px);
  color: var(--color-accent);
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: capitalize;
}
.c-sec-ttl__sub {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(14px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-accent);
}
/* PC */
@media screen and (min-width: 768px) {
}
/*------------------------------------------
 *  下層ページセクションタイトル
 *------------------------------------------*/
.c-sub-sec-ttl-green {
  color: var(--color-accent);
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(24px, calc(38 / 1250 * 100vw), 38px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
/*------------------------------------------
 *  下層ページ背景ベージュセクション
 *------------------------------------------*/
.c-sub-sec__beige {
  margin-top: clamp(40px, calc(50 / 1250 * 100vw), 50px);
  margin-bottom: clamp(80px, calc(120 / 1250 * 100vw), 120px);
  background-color: var(--color-beige);
  border-radius: clamp(16px, calc(20 / 1250 * 100vw), 20px);
  padding: clamp(30px, calc(110 / 1250 * 100vw), 110px)
    clamp(20px, calc(110 / 1250 * 100vw), 110px)
    clamp(30px, calc(90 / 1250 * 100vw), 90px);
}
/*------------------------------------------
 *  テキスト
 *------------------------------------------*/
.c-txt {
  font-size: clamp(14px, calc(18 / 1250 * 100vw), 18px);
  font-weight: 500;
  line-height: 1.8;
}
.c-txt + .c-txt {
  margin-top: 1.8em;
}
/*------------------------------------------
 *  別タブアイコン
 *------------------------------------------*/
.c-blank-icon {
  width: clamp(8px, calc(11 / 1250 * 100vw), 11px);
  margin-left: 4px;
  transform: translateY(-50%);
}
/*------------------------------------------
 *  ボタン
 *------------------------------------------*/
/* ベーシックなボタン */
.c-btn {
  width: clamp(35px, calc(40 / 1250 * 100vw), 40px);
  aspect-ratio: 1;
  background-image: url("../img/common/arrow-green.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #fff;
  border-radius: 50vh;
}
.c-btn:hover {
  background-image: url("../img/common/arrow-green-hover.svg");
}
.c-btn:hover,
.c-btn:focus-visible {
}
/* テキストボタン */
.c-txt-btn {
  background-color: #fff;
  border-radius: 50vh;
  height: clamp(38px, calc(60 / 1250 * 100vw), 60px);
  display: flex;
  align-items: center;
  color: var(--color-brown);
  border: solid 3px var(--color-brown);
  padding-left: clamp(20px, calc(32 / 1250 * 100vw), 32px);
  padding-right: clamp(36px, calc(60 / 1250 * 100vw), 60px);
  position: relative;
  font-weight: 600;
  font-size: clamp(12px, calc(20 / 1250 * 100vw), 20px);
  letter-spacing: 0.05em;
  width: fit-content;
}
.c-txt-btn::after {
  content: "";
  display: inline-block;
  background-image: url("../img/common/arrow-brown.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 15/14;
  width: clamp(10px, calc(15 / 1250 * 100vw), 15px);
  position: absolute;
  top: 50%;
  right: clamp(12px, calc(20 / 1250 * 100vw), 20px);
  transform: translateY(-50%);
}
.c-txt-btn:hover {
  background-color: var(--color-brown);
  color: #fff;
}
.c-txt-btn:hover::after {
  background-image: url("../img/common/arrow-white.svg");
}
/*緑のテキストボタン*/
.c-btn-green {
  color: var(--color-accent);
  border-color: var(--color-accent);
}
.c-btn-green::after {
  background-image: url("../img/common/arrow-green-page.svg");
}
.c-btn-green:hover {
  background-color: var(--color-accent);
}
.c-btn-green:hover::after {
  background-image: url("../img/common/arrow-green-page-hover.svg");
}
/* submitボタン*/
.c-btn-submit {
  width: 100%;
  max-width: clamp(280px, calc(500 / 1250 * 100vw), 500px);
  height: clamp(56px, calc(100 / 1250 * 100vw), 100px);
  background-color: var(--color-brown);
  border-radius: 50vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: clamp(18px, calc(24 / 1250 * 100vw), 24px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  transition: all 0.3s;
}
.c-btn-submit:hover {
  opacity: 0.7;
}

/*戻るボタン*/
.c-btn-return {
  height: clamp(40px, calc(60 / 1250 * 100vw), 60px);
  background-color: #bfbdba;
  font-family: Noto Sans JP;
  font-size: clamp(16px, calc(20 / 1250 * 100vw), 20px);
}
/* PC */
@media screen and (min-width: 768px) {
  .c-btn-return {
    width: clamp(100px, calc(180 / 1250 * 100vw), 180px);
  }
}
/*------------------------------------------
 *  ページャー
 *------------------------------------------*/
.c-pager-wrap {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.c-pager {
  display: flex;
  width: fit-content;
  position: relative;
  margin: 0 auto;
}
.c-pager__item + .c-pager__item {
  margin-left: clamp(10px, calc(15 / 1250 * 100vw), 15px);
}
.c-pager__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(30px, calc(40 / 1250 * 100vw), 40px);
  height: clamp(30px, calc(40 / 1250 * 100vw), 40px);
  border-radius: 50vh;
  border: solid 2px var(--color-accent);
  color: var(--color-accent);
  font-size: clamp(22.5px, calc(30 / 1250 * 100vw), 30px);
}
.c-pager__item:hover a,
.c-pager__item--current a {
  background-color: var(--color-accent);
  color: #fff;
}
.c-pager__item--next a,
.c-pager__item--prev a {
  color: var(--color-accent);
  font-weight: 600;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.4;
  letter-spacing: 0;
  padding-bottom: 0.3em;
  border-bottom: solid 2px var(--color-accent);
  display: inline-block;
}
.c-pager__item--next,
.c-pager__item--prev {
  position: absolute;
  top: 50%;
}
.c-pager__item--next:hover,
.c-pager__item--prev:hover {
  opacity: 0.7;
}
.c-pager__item--prev {
  left: 0;
  transform: translate(-150%, -50%);
}
.c-pager__item--next {
  right: 0;
  transform: translate(150%, -50%);
}
/*------------------------------------------
 *  ページトップ
 *------------------------------------------*/
.c-page-top {
  position: fixed;
  bottom: 30px;
  right: 10px;
  z-index: 1000;
}
.c-page-top a {
  width: clamp(52px, calc(80 / 1250 * 100vw), 80px);
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: solid 3px var(--color-accent);
  border-radius: 50vh;
}
.c-page-top a img {
  width: clamp(14px, calc(22 / 1250 * 100vw), 22px);
  transition: all 0.3s;
}
.c-page-top .u-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.p-footer .c-page-top a:hover {
  background-color: var(--color-accent);
  opacity: 1;
}
.c-page-top a:hover .u-hover {
  opacity: 1;
}
/*------------------------------------------
 *  カテゴリータグ
 *------------------------------------------*/
.c-tag-category {
  display: flex;
  align-items: center;
  height: clamp(23px, calc(32 / 1250 * 100vw), 32px);
  border-radius: 50vh;
  padding: 0 clamp(11px, calc(14 / 1250 * 100vw), 14px);
  color: #fff;
  font-weight: 500;
  font-size: clamp(12px, calc(16 / 1250 * 100vw), 16px);
  letter-spacing: 0.1em;
  width: fit-content;
}
.c-tag-category.category-01 {
  background-color: #8ec5aa;
}
.c-tag-category.category-02 {
  background-color: #8eb9c5;
}
.c-tag-category.category-03 {
  background-color: #8eb9c5;
}
/*------------------------------------------
 *  下層ページMV
 *------------------------------------------*/
.c-sub-mv {
  background-color: var(--color-bg);
  height: clamp(240px, calc(355 / 1250 * 100vw), 355px);
  border-bottom-right-radius: clamp(50px, calc(100 / 1250 * 100vw), 100px);
}
.c-sub-mv__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  padding-top: clamp(35px, calc(70 / 1250 * 100vw), 70px);
  padding-bottom: clamp(35px, calc(70 / 1250 * 100vw), 70px);
  position: relative;
}
.c-sub-mv__ttl-en {
  font-family: var(--font-family-en-ttl);
  font-weight: 700;
  font-size: clamp(40px, calc(100 / 1250 * 100vw), 100px);
  line-height: 1;
  color: #fff;
  text-transform: capitalize;
}
.c-sub-mv__ttl-jp {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}
.c-sub-mv__img-wrap {
  position: absolute;
  right: var(--padding-inline);
  top: 50%;
  transform: translateY(-50%);
}
.company-page .c-sub-mv__img-wrap {
  width: clamp(140px, calc(280 / 1250 * 100vw), 280px);
}
.reform-page .c-sub-mv__img-wrap,
.concept-page .c-sub-mv__img-wrap,
.staff-page .c-sub-mv__img-wrap,
.voice-page .c-sub-mv__img-wrap,
.news-page .c-sub-mv__img-wrap {
  width: clamp(110px, calc(220 / 1250 * 100vw), 220px);
}
.privacy-page .c-sub-mv__img-wrap,
.contact-page .c-sub-mv__img-wrap {
  width: clamp(112px, calc(224 / 1250 * 100vw), 224px);
}
#works-detail .c-sub-mv__img-wrap {
  width: clamp(110px, calc(240 / 1250 * 100vw), 220px);
}
#works .c-sub-mv__img-wrap {
  width: clamp(110px, calc(240 / 1250 * 100vw), 220px);
}
.error-page .c-sub-mv__img-wrap {
  width: clamp(77px, calc(153 / 1250 * 100vw), 153px);
}
.subsidy-page .c-sub-mv__img-wrap {
  width: clamp(90px, calc(180 / 1250 * 100vw), 180px);
}
/*------------------------------------------
 *  お問い合わせフォーム
 *------------------------------------------*/
.c-form__row {
  display: flex;
  flex-direction: column;
}
.c-form__row + .c-form__row {
  margin-top: clamp(20px, calc(30 / 1250 * 100vw), 30px);
  padding-top: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.c-form__head {
  display: flex;
  align-items: baseline;
  margin-bottom: 0.5em;
}
.c-form__data {
  width: 100%;
}
/* タイトルラベル */
.c-form__ttl {
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
/* 必須ラベル */
.c-form__required {
  margin-left: 2em;
  width: calc(44 / 16 * 1rem);
  height: calc(22 / 16 * 1rem);
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  background-color: var(--color-accent);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50vh;
  flex: 0 0 auto;
}
/* PC */
@media screen and (min-width: 768px) {
  .c-form__row {
    flex-direction: row;
    align-items: baseline;
  }
  .c-form__align-start {
    align-items: flex-start;
  }
  .c-form__head {
    width: clamp(250px, calc(270 / 1250 * 100vw), 270px);
    flex: 0 0 auto;
    padding-right: clamp(20px, calc(40 / 1250 * 100vw), 40px);
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0;
  }
  .c-form__ttl {
    width: 100%;
    text-align: right;
  }
  .c-form__left {
    text-align: left;
  }
  .c-form__input::-webkit-input-placeholder {
    font-size: calc(16 / 16 * 1rem);
    letter-spacing: 0.04em;
  }
}
/* 入力項目 */
.c-form__input {
  width: 100%;
  padding: calc(11 / 16 * 1rem) calc(20 / 16 * 1rem);
  border-radius: clamp(4px, calc(8 / 1250 * 100vw), 8px);
  background: #fff;
  border: 1px solid var(--color-accent);
}
.c-form__input--textarea {
  line-height: 1.4;
  height: calc(200 / 16 * 1rem);
}
.c-form__input + .c-form__input {
  margin-top: calc(20 / 16 * 1rem);
}
.c-form__input::-webkit-input-placeholder {
  font-size: calc(14 / 16 * 1rem);
  letter-spacing: 0.01em;
  color: #bbb;
}
.c-form__input::-moz-placeholder {
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.04em;
  color: #bbb;
}
.c-form__input:-ms-input-placeholder {
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.04em;
  color: #bbb;
}
.c-form__input::-ms-input-placeholder {
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.04em;
  color: #bbb;
}
.c-form__input::placeholder {
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.04em;
  color: #bbb;
}
/* ラジオボタン・チェックボックス */
.c-form__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
input[type="radio"],
input[type="checkbox"] {
  display: none;
}
.c-form__item:not(:last-of-type) {
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.55;
  letter-spacing: 0.1em;
  margin-bottom: clamp(12px, calc(14 / 1250 * 100vw), 14px);
}
/* ラジオボタン */
.c-form__radio-item label {
  position: relative;
  padding-left: 2em;
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.c-form__radio-item label::before,
.c-form__radio-item label::after {
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "";
  display: block;
  border-radius: 50%;
}
.c-form__radio-item label::before {
  width: 20px;
  height: 20px;
  left: 0;
  background-color: #fff;
  border: 2px solid var(--color-accent);
}
.c-form__radio-item label::after {
  width: 12px;
  height: 12px;
  left: 4px;
  background-color: var(--color-accent);
  opacity: 0;
}
.c-form__radio-item input[type="radio"]:checked + label::after {
  opacity: 1;
}

/* チェックボックス */
.c-form__checkbox-label {
  position: relative;
  display: inline-block;
  margin-left: 1.8em;
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.c-form__checkbox-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.8em;
  left: -1.8em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid var(--color-accent);
  border-radius: 2px;
}
.c-form__checkbox-label::after {
  position: absolute;
  content: "";
  display: block;
  top: 0.8em;
  left: -1.4em;
  width: 7px;
  height: 11px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: translateY(-70%) rotate(45deg);
  transform: translateY(-70%) rotate(45deg);
  opacity: 0;
}
.c-form__checkbox:checked + .c-form__checkbox-label::before {
  background-color: var(--color-accent);
}
.c-form__checkbox:checked + .c-form__checkbox-label::after {
  opacity: 1;
}
/* PC */
@media screen and (min-width: 768px) {
  .c-form__list {
    flex-direction: row;
  }
  .c-form__item:not(:last-of-type) {
    margin-right: 2em;
  }
  .c-form__narrow {
    width: 70%;
  }
}
/* 確認データ */
.c-form__confirm-data {
  display: block;
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
/* PC */
@media screen and (min-width: 768px) {
  .c-form__confirm-data {
  }
}

/*=================================================
 *  Project ページ固有
 *================================================*/
#wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 100vh;
  overflow-x: hidden;
}

/*------------------------------------------
 *  ヘッダー
 *------------------------------------------*/
.p-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: calc(var(--height-header) / 16 * 1rem);
  z-index: var(--l-layer__header);
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(5px);
}

/* インナー */
.p-header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: inherit;
}

/* ロゴ */
.p-header__logo {
  width: clamp(120px, calc(203 / 1250 * 100vw), 203px);
}

/* メニュー */
.p-header__menu-wrapper {
  position: fixed;
  top: 0;
  right: 0;
}
.p-header__hamburger {
  position: absolute;
  top: 15px;
  right: 20px;
  z-index: calc(var(--l-layer__drawer) + 1);
}
.p-header__menu {
  position: fixed;
  top: 80px;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: calc(100vh - 80px);
  transform: scaleY(0);
  background: var(--color-beige);
  text-align: center;
  z-index: var(--l-layer__drawer);
  transition: all 0.3s;
  transform-origin: top;
  overflow-y: scroll;
}
.is-drawerActive .p-header__menu {
  transform: scaleY(1);
}
.p-header__menu-item {
  padding: 1em;
  border-bottom: solid 1px var(--color-accent);
}
.p-header__menu-item > span,
.p-header__menu-item a {
  position: relative;
  font-size: calc(21 / 16 * 1rem);
  color: var(--color-accent);
  letter-spacing: 0.1em;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  max-width: 240px;
  margin: 0 auto;
}
.p-header__menu-item-jp {
  color: var(--color-font-base);
  font-size: calc(12 / 16 * 1rem);
  letter-spacing: 0.1em;
  margin-top: calc(5 / 16 * 1rem);
  line-height: 1;
  font-weight: 500;
}
.p-header__menu-icon {
  width: clamp(40px, calc(70 / 1250 * 100vw), 70px);
  aspect-ratio: 1;
  margin-left: 1em;
}
.p-header__menu-icon a img {
  transition: all 0.3s;
}
.p-header__menu-icon a:hover img {
  opacity: 0.7;
}
.p-header__menu-list .u-pc-only {
  display: none;
}
.p-header__accordion-ttl {
  position: relative;
}
.p-header__accordion-ttl::after {
  content: "";
  display: inline-block;
  width: calc(23 / 16 * 1rem);
  aspect-ratio: 1;
  background-image: url("../img/common/arrow-green-down.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.p-header__accordion-ttl.active::after {
  transform: translateY(-50%) rotate(180deg);
}
.p-header__accordion-contents {
  display: none;
}
.p-header__accordion-list {
  display: flex;
  justify-content: center;
  padding-top: calc(24 / 16 * 1rem);
}
.p-header__accordion-item {
  width: fit-content;
}
.p-header__accordion-item a {
  position: relative;
  color: var(--color-font-base);
  font-weight: 500;
  font-size: calc(15 / 16 * 1rem);
  letter-spacing: 0.1em;
  margin-left: 1em;
}
.p-header__accordion-item a::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50vh;
  background-color: var(--color-accent);
  position: absolute;
  top: 50%;
  left: -1em;
  transform: translateY(-50%);
}
.p-header__accordion-item + .p-header__accordion-item {
  padding-left: 15%;
}
@media screen and (min-width: 768px) and (max-width: 909px) {
  .p-header__menu {
    top: calc(var(--height-header) / 16 * 1rem);
    height: calc(100vh - var(--height-header) / 16 * 1rem);
  }
  .p-header__menu-item.u-sp-only {
    display: block;
  }
  .p-header__hamburger {
    top: 10px;
  }
}
/* PC */
@media screen and (min-width: 910px) {
  /* メニュー */
  .p-header__menu-wrapper {
    position: initial;
  }
  .p-header__menu {
    position: initial;
    display: block;
    width: auto;
    height: inherit;
    background: none;
    transform: scaleY(1);
    overflow-y: hidden;
  }
  .p-header__menu-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .p-header__menu-list .u-sp-only {
    display: none !important;
  }
  .p-header__menu-list .u-pc-only {
    display: block;
  }
  .p-header__menu-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: inherit;
    border-bottom: none;
  }
  .p-header__menu-item a {
    font-size: clamp(10px, calc(18 / 1250 * 100vw), 18px);
    color: var(--color-font-base);
  }

  .p-header__menu-item a::after {
    position: absolute;
    bottom: -0.3em;
    left: 0;
    display: block;
    width: 0;
    height: 1px;
    content: "";
    -webkit-transition: width 0.3s;
    transition: width 0.3s;
    background-color: currentColor;
  }
  .p-header__menu-item a:hover::after,
  .p-header__menu-item a:focus-visible::after {
    width: 100%;
  }
}

/*------------------------------------------
 *  フッター
 *------------------------------------------*/
.p-footer {
  color: #fff;
  z-index: 1;
  position: relative;
}
.p-footer__inner {
  position: relative;
}
.p-footer__inner::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: calc(100% - 1px);
  background-color: var(--color-bg);
  position: absolute;
  left: calc(100% - 20px);
  top: 0;
  transform: translateX(-1px);
}
.p-footer__flex {
  padding-top: clamp(30px, calc(40 / 1250 * 100vw), 40px);
  padding-left: clamp(30px, calc(96 / 1250 * 100vw), 96px);
  background-color: var(--color-bg);
  border-top-left-radius: clamp(50px, calc(100 / 1250 * 100vw), 100px);
  display: flex;
  justify-content: space-between;
}
.p-footer__ttl-wrap {
  display: flex;
  flex-direction: column;
}
.p-footer__logo-wrap {
  width: clamp(120px, calc(203 / 1250 * 100vw), 203px);
}
.p-footer__txt {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: calc(30 / 16);
  letter-spacing: 0.05em;
  margin-top: clamp(14px, calc(30 / 1250 * 100vw), 30px);
}
.p-footer__insta-wrap {
  width: calc(40 / 16 * 1rem);
  margin-top: calc(10 / 16 * 1rem);
}
.p-footer__menu {
  display: none;
}
.p-footer__menu-item a {
  font-weight: 600;
  font-size: clamp(11px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1;
  letter-spacing: 0.1em;
}
.p-footer a:hover {
  opacity: 0.7;
}
.p-footer__menu-item + .p-footer__menu-item {
  margin-left: 1.5em;
}

.p-footer__bottom {
  background-color: var(--color-bg);
  padding-top: clamp(30px, calc(36 / 1250 * 100vw), 36px);
  padding-left: clamp(30px, calc(96 / 1250 * 100vw), 96px);
  padding-bottom: clamp(30px, calc(36 / 1250 * 100vw), 36px);
  display: flex;
  justify-content: space-between;
  transform: translateY(-1px);
}
.p-footer__copyright {
  color: #fff;
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(12px, calc(14 / 1250 * 100vw), 14px);
  letter-spacing: 0.05em;
}
.p-footer__copyright small,
.p-footer__copyright a {
  font-weight: 700;
}

/* PC */
@media screen and (min-width: 768px) {
  .p-footer__inner::after {
    left: calc(100% - 25px);
  }
  .p-footer__flex {
    justify-content: space-between;
  }
  .p-footer__menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
  }
}

/*------------------------------------------
 *  TOPページ
 *------------------------------------------*/

/*----------------- MV -----------------*/
.p-top-mv {
  position: relative;
  background-color: var(--color-beige);
  height: calc(
    100vh - var(--height-header) * 1px -
      clamp(30px, calc(60 / 1250 * 100vw), 60px)
  );
  margin-top: clamp(30px, calc(60 / 1250 * 100vw), 60px);
  background: linear-gradient(
    to bottom,
    transparent 50%,
    var(--color-beige) 50%
  );
  max-height: 1000px;
  z-index: 1;
}
.p-top-mv__leaf-01,
.p-top-mv__leaf-02 {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 10;
}
.p-top-mv__leaf-01 {
  transform: translateY(-100%);
}
.p-top-mv__leaf-01.js-top-leaf-left.appear {
  width: clamp(120px, calc(360 / 1920 * 100vw), 360px);
}
.p-top-mv__leaf-01 img {
  aspect-ratio: 239/530;
  width: clamp(120px, calc(360 / 1920 * 100vw), 360px);
  max-width: inherit;
}
.p-top-mv__leaf-02 {
  transform: translateY(-20%);
}
.p-top-mv__leaf-02.js-top-leaf-left.appear {
  width: clamp(133px, calc(400 / 1920 * 100vw), 400px);
  transition-delay: 0.2s;
}
.p-top-mv__leaf-02 img {
  aspect-ratio: 265/481;
  width: clamp(133px, calc(400 / 1920 * 100vw), 400px);
  max-width: inherit;
}
/* 大きいPC */
@media screen and (min-width: 1440px) {
  .p-top-mv::before {
    transform: translateY(-90%);
  }
  .p-top-mv::after {
    transform: translateY(-35%);
  }
}
/* 小さいPC */
@media screen and (max-width: 900px) {
  .p-top-mv::before {
    transform: translateY(-110%);
  }
  .p-top-mv::after {
    transform: translateY(-10%);
  }
}
.p-top-mv__inner {
  height: 100%;
  display: flex;
  align-items: center;
  z-index: 2;
  position: relative;
  overflow: visible;
}
.p-top-mv__inner::before {
  content: "";
  display: inline-block;
  height: calc(100% - calc(40 / 16 * 1rem));
  width: calc(10% + 50vw);
  border-bottom-left-radius: clamp(40px, calc(100 / 1250 * 100vw), 100px);
  border-top-left-radius: clamp(40px, calc(100 / 1250 * 100vw), 100px);
  background-image: url("../img/top/mv-pc.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 40%;
  z-index: -1;
}
.p-top-mv__inner::after {
  content: "";
  display: inline-block;
  background-image: url("../img/top/mv-family.svg");
  width: clamp(134px, calc(203 / 1250 * 100vw), 203px);
  aspect-ratio: 203/287;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 15%;
  bottom: 15%;
}
/* 小さいSP */
@media screen and (max-width: 580px) {
  .p-top-mv__inner::after {
    right: 5%;
  }
}
.p-top-mv__txt-wrap {
  background-color: #fff;
  border-radius: clamp(40px, calc(100 / 1250 * 100vw), 100px);
  padding: clamp(18px, calc(72 / 1250 * 100vw), 72px)
    clamp(20px, calc(84 / 1250 * 100vw), 84px);
  max-width: 80vw;
  position: relative;
  width: fit-content;
  margin-bottom: clamp(50px, calc(80 / 1250 * 100vw), 80px);
}

.p-top-mv__txt {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
  font-size: clamp(31px, calc(46 / 1250 * 100vw), 46px);
}
.p-top-mv__txt .u-marker {
  font-size: clamp(26px, calc(38 / 1250 * 100vw), 38px);
  background: transparent;
}
.p-top-mv__news-wrap {
  position: absolute;
  bottom: 0;
  right: 25px;
  width: 80%;
  background-color: #fff;
  border-radius: 50vh;
  padding-left: clamp(15px, calc(50 / 1250 * 100vw), 50px);
  padding-right: clamp(70px, calc(110 / 1250 * 100vw), 110px);
  display: flex;
  align-items: center;
  height: calc(80 / 16 * 1rem);
  z-index: 100;
}
.p-top-mv__news-ttl {
  font-family: var(--font-family-en-ttl);
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: var(--color-accent);
  line-height: 1;
  letter-spacing: 0.02em;
  margin-right: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.p-top-mv__news-item {
  display: -webkit-box; /* 必須 */
  -webkit-box-orient: vertical; /* 必須 */
  -webkit-line-clamp: 1; /* 行数を制限 */
  overflow: hidden;
  font-size: calc(15 / 16 * 1rem);
}
.p-top-mv__news-date {
  /*font-size: calc(14/16*1rem);
  font-weight: 500;*/
  margin-right: calc(20 / 16 * 1rem);
}
.p-top-mv__news-link {
  position: absolute;
  right: clamp(15px, calc(50 / 1250 * 100vw), 50px);
  top: 50%;
  transform: translateY(-50%);
}

/* 小さいSP */
@media screen and (max-width: 767px) {
  .p-top-mv__news-wrap {
    max-width: inherit;
    width: calc(100% - 40px);
    height: calc(100 / 16 * 1rem);
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    left: 20px;
    border-radius: 20px;
  }
  .p-top-mv__news-item {
    -webkit-line-clamp: 2; /* 行数を制限 */
  }
  .p-top-mv__news-link {
    top: 60%;
  }
}

/* 小さいSP */
@media screen and (max-width: 500px) {
  .p-top-mv {
    height: inherit;
    background: var(--color-beige);
    margin-top: 0;
    padding-bottom: calc(130 / 16 * 1rem);
    overflow: hidden;
  }
  .p-top-mv::before,
  .p-top-mv::after {
    display: none;
  }
  .p-top-mv__inner {
    align-items: flex-start;
    aspect-ratio: 694/896;
    max-height: 448px;
  }
  .p-top-mv__inner::before {
    background-image: url("../img/top/mv-sp.png");
    width: 100%;
    height: 100%;
    left: 20px;
  }
  .p-top-mv__inner::after {
    bottom: 0;
  }
  .p-top-mv__txt-wrap.js-fade-up-item {
    margin-top: calc(30 / 16 * 1rem);
    transform: translate(-20px, 30px);
  }
  .p-top-mv__txt-wrap.js-fade-up-item.fade-up {
    transform: translate(-20px, 0);
  }
  .p-top-mv__txt {
    font-size: clamp(22px, calc(26 / 500 * 100vw), 26px);
  }
  .p-top-mv__txt .u-marker {
    font-size: clamp(18px, calc(21 / 500 * 100vw), 21px);
  }
  .p-top-mv__news-wrap.js-fade-up-item {
    transform: translateY(calc(130 / 16 * 1rem + 30px));
  }
  .p-top-mv__news-wrap.js-fade-up-item.fade-up {
    transform: translateY(calc(130 / 16 * 1rem));
  }
  .p-top-mv__leaf-01,
  .p-top-mv__leaf-02 {
    display: none;
  }
}
/*----------------- concept -----------------*/
.p-top-concept {
  padding-top: clamp(60px, calc(125 / 1250 * 100vw), 125px);
  background-color: var(--color-beige);
  position: relative;
  overflow: hidden;
}
.p-top-concept__leaf {
  position: absolute;
  top: 10px;
  right: 0;
}
.p-top-concept__leaf .js-top-leaf__inner {
  height: fit-content;
  aspect-ratio: 187/225;
}
.p-top-concept__leaf.appear .js-top-leaf__inner {
  width: clamp(120px, calc(280 / 767 * 100vw), 600px);
}
.p-top-concept__leaf img {
  width: clamp(120px, calc(280 / 767 * 100vw), 600px);
  max-width: inherit;
  aspect-ratio: 187/225;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-concept__leaf .js-top-leaf__inner,
  .p-top-concept__leaf.appear img {
    aspect-ratio: 516/522;
  }
}
.p-top-concept__inner {
  overflow: visible;
}
.p-top-concept__top-txt {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(18px, calc(38 / 1250 * 100vw), 38px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: clamp(30px, calc(90 / 1250 * 100vw), 90px);
  color: var(--color-brown);
}
.p-top-concept__top-txt .u-small-sp-only {
  display: none;
}
.p-top-concept__img-wrap {
  margin-top: clamp(60px, calc(140 / 1250 * 100vw), 140px);
  position: relative;
  width: 100%;
  z-index: 1;
}
.p-top-concept__img-wrap::before {
  content: "";
  display: inline-block;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50vw);
  z-index: -1;
  background-color: var(--color-bg);
}
.p-top-concept__img-wrap .u-small-sp-only {
  display: none;
}
.p-top-concept__img-thumb-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
}
.p-top-concept__img-thumb {
  background-color: #fff;
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(18px, calc(38 / 1250 * 100vw), 38px);
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--color-accent);
  padding: clamp(4px, calc(12 / 1250 * 100vw), 12px)
    clamp(11px, calc(15 / 1250 * 100vw), 15px)
    clamp(4px, calc(12 / 1250 * 100vw), 12px)
    clamp(12px, calc(35 / 1250 * 100vw), 35px);
  width: fit-content;
  white-space: nowrap;
}
.p-top-concept__img-thumb + .p-top-concept__img-thumb {
  margin-top: clamp(6px, calc(15 / 1250 * 100vw), 15px);
}
.p-top-concept-bg {
  position: relative;
  z-index: 1;
  padding-top: clamp(30px, calc(90 / 1250 * 100vw), 90px);
  padding-bottom: clamp(60px, calc(75 / 1250 * 100vw), 75px);
}
.p-top-concept-bg::before {
  content: "";
  display: inline-block;
  background-color: var(--color-bg);
  width: 100%;
  height: 100%;
  border-bottom-right-radius: clamp(120px, calc(360 / 1250 * 100vw), 360px);
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top-concept__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}
.p-top-concept__item {
  background-color: #fff;
  border-radius: 50vw;
  width: 31%;
}
.p-top-concept__item-inner {
  display: block;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50vw;
  padding: clamp(20px, calc(50 / 1250 * 100vw), 50px)
    clamp(10px, calc(25 / 1250 * 100vw), 25px)
    clamp(20px, calc(25 / 1250 * 100vw), 25px);
}
.p-top-concept__item:last-of-type,
.p-top-concept__item:first-of-type {
  margin-top: calc(77 / 16 * 1rem);
}
.p-top-concept__number {
  color: var(--color-brown);
  font-weight: 600;
  font-size: clamp(24px, calc(40 / 1250 * 100vw), 40px);
  letter-spacing: 0.2em;
  line-height: 1;
}
.p-top-concept__txt {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(16px, calc(24 / 1250 * 100vw), 24px);
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-top: calc(20 / 16 * 1rem);
  color: var(--color-accent);
  text-align: center;
}
.p-top-concept__ttl {
  background-color: #e1ece6;
  border-radius: 50vh;
  width: 100%;
  aspect-ratio: 310/180;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(16px, calc(30 / 1250 * 100vw), 30px);
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin-top: calc(20 / 16 * 1rem);
}
.p-top-concept__link {
  transform: translateY(-50%);
}
.p-top-concept__item-inner:hover .p-top-concept__link {
  background-image: url(../img/common/arrow-green-hover.svg);
}
.p-top-concept__illust-wrap {
  width: 30%;
  max-width: 274px;
  margin: 0 auto;
}
/* SP */
@media screen and (max-width: 600px) {
  .p-top-concept__list {
    flex-direction: column;
    max-width: clamp(260px, calc(320 / 767 * 100vw), 320px);
    margin: 0 auto;
  }
  .p-top-concept__item {
    width: 100%;
  }
  .p-top-concept__item:last-of-type,
  .p-top-concept__item:first-of-type {
    margin-top: 0;
  }
  .p-top-concept__item + .p-top-concept__item {
    margin-top: calc(25 / 16 * 1rem);
  }
  .p-top-concept__txt {
    font-size: clamp(16px, calc(24 / 767 * 100vw), 24px);
  }
  .p-top-concept__ttl {
    font-size: clamp(20px, calc(26 / 767 * 100vw), 26px);
    aspect-ratio: 214/100;
  }
  .p-top-concept__illust-wrap {
    margin-top: calc(40 / 16 * 1rem);
    width: 45%;
  }
}

/* 小さいSP */
@media screen and (max-width: 500px) {
  .p-top-concept__img-wrap .u-small-sp-only {
    display: block;
  }
  .p-top-concept__img-wrap .u-main {
    display: none;
  }
  .p-top-concept__top-txt .u-small-sp-only {
    display: block;
  }
}

/*----------------- works -----------------*/
.p-top-works {
  background-color: var(--color-beige);
  padding-top: clamp(60px, calc(125 / 1250 * 100vw), 125px);
  overflow: hidden;
}
.p-top-works__inner {
  overflow: visible;
}
.p-top-works__contents {
  display: flex;
  justify-content: space-between;
}
.p-top-works__contents {
  display: flex;
  flex-direction: column;
  position: relative;
}
.p-top-works__top-txt {
  font-weight: 500;
  font-size: clamp(12px, calc(14 / 1250 * 100vw), 14px);
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: clamp(23px, calc(52 / 1250 * 100vw), 52px);
}
.p-top-works__link.u-pc-only {
  display: none;
}
.p-top-works__slider-item {
  background-color: #fff;
  border-radius: clamp(22px, calc(32 / 1250 * 100vw), 32px);
  padding: clamp(17px, calc(24 / 1250 * 100vw), 24px);
}
.p-top-works__slider-img-wrap {
  border-radius: clamp(22px, calc(32 / 1250 * 100vw), 32px);
  width: 100%;
  aspect-ratio: 336/240;
  overflow: hidden;
  margin-bottom: clamp(15px, calc(17 / 1250 * 100vw), 17px);
}
.p-top-works__ttl {
  font-size: clamp(12px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-weight: 500;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: clamp(9px, calc(12 / 1250 * 100vw), 12px);
}
.p-top-works__date-flex {
  display: flex;
  justify-content: space-between;
}
.p-top-works__date {
  font-size: clamp(10px, calc(14 / 1250 * 100vw), 14px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.p-top-works__tag-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.p-top-works__tag {
  background-color: #c98341;
  color: #fff;
  font-size: clamp(8px, calc(12 / 1250 * 100vw), 12px);
  font-weight: 700;
  padding: 0.4em 1em;
  border-radius: calc(infinity * 1px);
  line-height: 1;
  margin-bottom: 0.2em;
}
.p-top-works__slider-wrap {
  width: 80%;
  margin: 30px auto 0;
  max-width: 480px;
}
.p-top-works__slider-wrap .slick-list {
  overflow: visible;
}
.p-top-works__slider .slick-slide {
  margin: 0 12px;
}
.p-top-works__link.u-sp-only {
  margin: 30px 0 0;
}
.p-top-works__slider .slick-track {
  display: flex;
}
.p-top-works__slider .slick-slide {
  height: auto !important;
}
.p-top-works__slider .slick-slide a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-works__contents {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  .p-top-works__txt-wrap {
    width: 22%;
    display: flex;
    flex-direction: column;
  }

  .p-top-works__slider-wrap {
    width: clamp(600px, calc(1600 / 1920 * 100vw), 1600px);
    max-width: inherit;
    margin-top: 0;
    margin-left: 10%;
  }
  .p-top-works__slider-wrap .slick-list {
    overflow: hidden;
  }
  .p-top-works__link {
    margin-top: auto;
  }
  .p-top-works__link.u-pc-only {
    display: flex;
  }
  .p-top-works__link.u-sp-only {
    display: none;
  }

  .p-top-works__slider-item a .p-top-works__slider-img-wrap img {
    transition: all 0.3s ease-in;
  }
  .p-top-works__slider-item a:hover .p-top-works__slider-img-wrap img {
    transform: scale(1.15);
  }
}

/*----------------- Area -----------------*/
.p-top-area {
  background-color: var(--color-beige);
  padding-top: clamp(60px, calc(125 / 1250 * 100vw), 125px);
}
.p-top-area__flex {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-top-area__ttl {
  margin-top: clamp(30px, calc(90 / 1250 * 100vw), 90px);
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(16px, calc(26 / 1250 * 100vw), 26px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  border-bottom: dashed 1px var(--color-font-base);
  padding-bottom: clamp(6px, calc(8 / 1250 * 100vw), 8px);
  margin-bottom: clamp(6px, calc(8 / 1250 * 100vw), 8px);
}
.p-top-area__txt {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(14px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.p-top-area__txt + .p-top-area__ttl {
  margin-top: clamp(30px, calc(60 / 1250 * 100vw), 60px);
}
.p-top-area__img-wrap {
  max-width: 360px;
  margin-top: calc(60 / 16 * 1rem);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-area__flex {
    flex-direction: row;
    align-items: center;
  }
  .p-top-area__txt-wrap {
    width: 32%;
    padding-bottom: clamp(60px, calc(72 / 1250 * 100vw), 72px);
  }
  .p-top-area__img-wrap {
    width: 42%;
    margin: 0 auto;
    max-width: inherit;
  }
}

/*----------------- About us -----------------*/
.p-top-aboutus {
  background-color: var(--color-beige);
  padding-top: clamp(60px, calc(125 / 1250 * 100vw), 125px);
  overflow: hidden;
  z-index: 1;
  position: relative;
}
.p-top-aboutus__inner {
  overflow: visible;
}
.p-top-aboutus__flex {
  display: flex;
  flex-direction: row-reverse;
  margin-top: clamp(40px, calc(100 / 1250 * 100vw), 100px);
  position: relative;
}
.p-top-aboutus__img-wrap {
  width: calc(50vw + 25%);
  position: absolute;
  right: 37.5%;
  top: 0;
  z-index: 1;
  min-width: 700px;
  max-width: 1200px;
}
.p-top-aboutus__txt-column {
  width: 50%;
  margin-top: clamp(60px, calc(90 / 1250 * 100vw), 90px);
  z-index: 2;
  min-width: 420px;
}
.p-top-aboutus__txt-wrap {
  background-color: #fff;
  border-bottom-left-radius: clamp(25px, calc(50 / 1250 * 100vw), 50px);
  border-top-left-radius: clamp(25px, calc(50 / 1250 * 100vw), 50px);
  padding: clamp(30px, calc(60 / 1250 * 100vw), 60px) 0
    clamp(30px, calc(60 / 1250 * 100vw), 60px)
    clamp(30px, calc(80 / 1250 * 100vw), 80px);
  position: relative;
}
.p-top-aboutus__txt-wrap::before {
  content: "";
  display: inline-block;
  background-image: url("../img/top/about-us-img-02.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(200px, calc(283 / 1250 * 100vw), 283px);
  aspect-ratio: 283/159;
  position: absolute;
  left: 50%;
  top: -30px;
  transform: translate(-50%, -100%);
}
.p-top-aboutus__txt-wrap::after {
  content: "";
  display: inline-block;
  width: 50vw;
  height: 100%;
  background-color: #fff;
  position: absolute;
  left: 100%;
  top: 0;
}
.p-top-aboutus__btn-area {
  margin-top: calc(30 / 16 * 1rem);
  justify-content: flex-end;
}
.p-top-aboutus__btn-area a + a {
  margin-left: calc(30 / 16 * 1rem);
}
/* 小さいPC */
@media screen and (max-width: 840px) {
  .p-top-aboutus__img-wrap {
    right: 320px;
  }
}

/*SP*/
@media screen and (max-width: 680px) {
  .p-top-aboutus__flex {
    flex-direction: column;
  }
  .p-top-aboutus__img-wrap {
    position: relative;
    width: calc(100% + 20px);
    right: inherit;
    min-width: inherit;
    margin-left: -20px;
  }
  .p-top-aboutus__img-wrap::before {
    content: "";
    display: inline-block;
    background-image: url("../img/top/about-us-img-02.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(139px, calc(180 / 680 * 100vw), 180px);
    aspect-ratio: 283/159;
    position: absolute;
    left: 50%;
    top: -20px;
    transform: translate(0, -100%);
  }
  .p-top-aboutus__txt-wrap::before {
    display: none;
  }

  .p-top-aboutus__txt-column {
    margin-top: -100px;
    width: 100%;
    min-width: inherit;
  }
  .p-top-aboutus__btn-area {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 500px) {
  .p-top-aboutus__txt-column {
    margin-top: -50px;
  }
  .p-top-aboutus__img-wrap::before {
    left: inherit;
    right: 0;
  }
}
@media screen and (max-width: 350px) {
  .p-top-aboutus__img-wrap::before {
    width: 110px;
  }
}

/*----------------- Voice -----------------*/
.p-top-voice {
  background-color: var(--color-beige);
  padding-top: clamp(60px, calc(125 / 1250 * 100vw), 125px);
  z-index: 1;
  position: relative;
}
.p-top-voice .c-sec-ttl {
  align-items: center;
}
.p-top-voice__top-txt {
  margin-top: clamp(23px, calc(30 / 1250 * 100vw), 30px);
  text-align: center;
}
.p-top-voice__list {
  margin-top: calc(30 / 16 * 1rem);
}
.p-top-voice__item {
  background-color: #fff;
  border-radius: 50vh;
  padding: clamp(10px, calc(15 / 1250 * 100vw), 15px)
    clamp(20px, calc(60 / 1250 * 100vw), 60px)
    clamp(20px, calc(32 / 1250 * 100vw), 32px);
  display: flex !important;
  flex-direction: column;
  align-items: center;
  margin: 0 6px;
}
.p-top-voice__item:nth-of-type(2n) {
  margin-top: calc(60 / 16 * 1rem);
}
.p-top-voice__img-wrap {
  width: clamp(60px, calc(120 / 1250 * 100vw), 120px);
  height: clamp(40px, calc(80 / 1250 * 100vw), 80px);
  border-radius: 50vh;
  background-color: var(--color-beige);
}
.p-top-voice__img-wrap img {
  object-fit: contain;
  transform: scale(0.85);
  transform-origin: bottom;
}
.p-top-voice__ttl {
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
  text-align: center;
  margin-top: 1em;
}
.p-top-voice__txt {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.7;
  margin-top: 1em;
}
.p-top-voice__link {
  margin: 0 0 0 auto;
}
/* SP */
@media screen and (max-width: 767px) {
  .p-top-voice__list {
    max-width: 360px;
    margin: calc(30 / 16 * 1rem) auto 0;
  }
  .p-top-voice__list .slick-list {
    overflow: visible;
  }
  .p-top-voice__item {
    border-radius: 80px;
    margin: 0 10px;
  }
  .p-top-voice__item:nth-of-type(2n) {
    margin-top: 0;
  }
  .p-top-voice__img-wrap {
    width: calc(100 / 16 * 1rem);
    height: calc(66.67 / 16 * 1rem);
  }
  .p-top-voice__link {
    margin: calc(30 / 16 * 1rem) auto 0 0;
  }
  .p-top-voice__list .slick-prev,
  .p-top-voice__list .slick-next {
    width: 34px;
    height: 34px;
    background: #fff;
    background-image: url("../img/common/arrow-green.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .p-top-voice__list .slick-next {
    right: -17px;
  }
  .p-top-voice__list .slick-prev {
    background-image: url("../img/common/arrow-green-right.svg");
    left: -17px;
  }
  .p-top-voice__list .slick-prev::before,
  .p-top-voice__list .slick-next::before {
    display: none;
  }
  .p-top-voice__list .slick-prev:hover {
    background-image: url("../img/common/arrow-green-right-hover.svg");
  }
  .p-top-voice__list .slick-next:hover {
    background-image: url("../img/common/arrow-green-hover.svg");
  }
}

/*----------------- News -----------------*/
.p-top-news {
  background-color: var(--color-beige);
  padding-top: clamp(60px, calc(125 / 1250 * 100vw), 125px);
  padding-bottom: clamp(80px, calc(140 / 1250 * 100vw), 140px);
}
.p-top-news .c-sec-ttl {
  align-items: center;
}
.p-top-news__flex {
  display: flex;
  flex-direction: column;
}
.p-top-news__list {
  width: 100%;
  margin: calc(38 / 16 * 1rem) auto 0;
}
.p-top-news__item a {
  display: flex;
  flex-direction: column;
  padding: calc(15 / 16 * 1rem) 0;
  border-top: solid 2px #fff;
}
.p-top-news__item:last-of-type {
  border-bottom: solid 2px #fff;
}
.p-top-news__item-link:hover {
  opacity: 0.7;
}
.p-top-news__date {
  font-family: var(--font-family-en);
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-top-news__link {
  margin-top: calc(30 / 16 * 1rem);
}
.p-top-news__link.u-pc-only {
  display: none;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-news__flex {
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
  }
  .p-top-news__ttl-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .p-top-news .c-sec-ttl {
    margin-bottom: calc(30 / 16 * 1rem);
  }
  .p-top-news__link.u-pc-only {
    display: flex;
    margin-top: auto;
  }
  .p-top-news__link.u-sp-only {
    display: none;
  }
  .p-top-news__list-wrap {
    width: 68%;
  }
  .p-top-news__list {
    margin: 0;
  }
  .p-top-news__item a {
    padding: calc(30 / 16 * 1rem) calc(10 / 16 * 1rem);
    flex-direction: row;
  }
  .p-top-news__date {
    width: calc(130 / 16 * 1rem);
    flex: 0 0 auto;
  }
  .p-top-news__ttl {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
}
/*----------------- contact-banner -----------------*/
.c-banner-contact {
  padding: clamp(40px, calc(60 / 1250 * 100vw), 60px) 0;
  z-index: 1;
  position: relative;
}
.c-banner-contact::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 142%;
  background-image: url("../img/common/contact-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
}
.c-banner-contact__ttl-wrapper {
  background-color: rgba(255, 255, 255, 0.96);
  border-radius: 20px;
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(20px, calc(42 / 1250 * 100vw), 42px) 25px
    clamp(20px, calc(50 / 1250 * 100vw), 50px);
  display: flex;
  flex-direction: column;
}
.c-banner-contact__ttl-wrapper .c-sec-ttl {
  align-items: center;
}
.c-banner-contact__txt {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(14px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.6;
  margin-top: clamp(12px, calc(30 / 1250 * 100vw), 30px);
}
.c-banner-contact__link {
  margin: clamp(12px, calc(30 / 1250 * 100vw), 30px) auto 0;
  background-color: var(--color-brown);
  color: #fff;
}
.c-banner-contact__link::after {
  background-image: url("../img/common/arrow-white.svg");
}
.c-banner-contact__link:hover {
  opacity: 0.7;
}
/* PC */
@media screen and (min-width: 540px) {
  .c-banner-contact__txt {
    text-align: center;
  }
}
/*------------------------------------------
 *  conceptページ
 *------------------------------------------*/
/* index.php */
.p-sub-concept__lead-section {
  margin-block: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-concept__lead-wrap {
  margin-bottom: clamp(60px, calc(120 / 1250 * 100vw), 120px);
  position: relative;
}
.p-sub-concept__ttl {
  font-family: var(--font-family-ttl);
  color: var(--color-brown);
  font-weight: 700;
  margin-bottom: clamp(60px, calc(80 / 1250 * 100vw), 80px);
  font-size: clamp(24px, calc(38 / 1250 * 100vw), 38px);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.p-sub-concept__lead-txt {
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
}
.p-sub-concept__lead-img-wrap {
  max-width: 440px;
  margin: clamp(30px, calc(40 / 1250 * 100vw), 40px) auto 0;
}
.p-sub-concept__lead-list {
  display: flex;
  flex-direction: column;
  max-width: 360px;
  margin: 0 auto;
}
.p-sub-concept__lead-item + .p-sub-concept__lead-item {
  margin-top: clamp(40px, calc(60 / 767 * 100vw), 60px);
}
.p-sub-concept__lead-item-img-wrap {
  width: 90%;
  margin: 0 auto;
  max-width: 240px;
}
.p-sub-concept__lead-item-ttl {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(20px, calc(26 / 1250 * 100vw), 26px);
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-accent);
  margin-top: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.p-sub-concept__lead-item-txt {
  font-weight: 500;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: clamp(16px, calc(25 / 1250 * 100vw), 25px);
}
.p-sub-concept__link-section {
  background-color: var(--color-bg);
  padding-top: clamp(80px, calc(128 / 1250 * 100vw), 128px);
  padding-bottom: clamp(80px, calc(140 / 1250 * 100vw), 140px);
  margin-bottom: clamp(80px, calc(120 / 1250 * 100vw), 120px);
  border-bottom-right-radius: clamp(50px, calc(100 / 1250 * 100vw), 100px);
  position: relative;
  z-index: 1;
}
.p-sub-concept__link-section::before {
  content: "";
  display: inline-block;
  width: clamp(166px, calc(499 / 1250 * 100vw), 600px);
  aspect-ratio: 499 / 408;
  background-image: url("../img/concept/concept-index-leaf.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  position: absolute;
  right: 0;
  top: 31px;
}
.p-sub-concept__link-section .p-sub-concept__ttl {
  text-align: center;
  color: #fff;
}
.p-sub-concept__link-list {
  max-width: 480px;
  margin: clamp(60px, calc(100 / 1250 * 100vw), 100px) auto 0;
}
.p-sub-concept__link-item {
  background-color: #fff;
  border-radius: clamp(15px, calc(20 / 1250 * 100vw), 20px);
  padding: clamp(30px, calc(40 / 1250 * 100vw), 40px)
    clamp(20px, calc(84 / 1250 * 100vw), 84px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-sub-concept__link-item + .p-sub-concept__link-item {
  margin-top: clamp(40px, calc(50 / 1250 * 100vw), 50px);
}
.p-sub-concept__link-left {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-sub-concept__link-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.p-sub-concept__link--number {
  font-weight: 600;
  font-size: clamp(28px, calc(40 / 1250 * 100vw), 40px);
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  color: var(--color-brown);
}
.p-sub-concept__link-ttl {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(20px, calc(24 / 1250 * 100vw), 24px);
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-align: center;
  color: var(--color-accent);
  margin-top: clamp(8px, calc(15 / 1250 * 100vw), 15px);
}
.p-sub-concept__link-icon-wrap {
  margin-top: clamp(10px, calc(31 / 1250 * 100vw), 31px);
  width: 52%;
}
.p-sub-concept__link-txt {
  background-color: #e1ece6;
  border-radius: 50vh;
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(20px, calc(24 / 1250 * 100vw), 24px);
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  width: 100%;
  padding-block: clamp(12px, calc(15 / 1250 * 100vw), 15px);
  margin-top: clamp(20px, calc(30 / 767 * 100vw), 30px);
}
.p-sub-concept__link-list-02 {
  list-style-type: disc;
  padding-left: 1em;
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
}
.p-sub-concept__link-item-02 {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.p-sub-concept__btn {
  font-family: var(--font-family-ttl);
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
  height: clamp(38px, calc(42 / 1250 * 100vw), 48px);
  font-size: clamp(13px, calc(14 / 1250 * 100vw), 14px);
  padding-left: clamp(15px, calc(24 / 1250 * 100vw), 24px);
  padding-right: clamp(27px, calc(45 / 1250 * 100vw), 45px);
  font-weight: 700;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-concept__lead-img-wrap {
    position: absolute;
    top: 0;
    right: 0;
    width: 38%;
    margin: 0;
    z-index: -1;
  }
  .p-sub-concept__lead-list {
    max-width: inherit;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
  }
  .p-sub-concept__lead-item {
    width: 30%;
  }
  .p-sub-concept__lead-item + .p-sub-concept__lead-item {
    margin-top: 0;
  }
  .p-sub-concept__lead-item-img-wrap {
    max-width: inherit;
  }
  .p-sub-concept__link-list {
    max-width: 880px;
  }
  .p-sub-concept__link-item {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  .p-sub-concept__link-left {
    width: 35.3%;
  }
  .p-sub-concept__link-right {
    width: 57.6%;
  }
  .p-sub-concept__link-txt {
    margin-top: 0;
  }
}

/* concept　下層ページ共通パーツ*/
.p-sub-concept__under-lead-section {
  margin-block: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-concept__under-lead-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-sub-concept__under-lead-number {
  font-weight: 600;
  font-size: clamp(28px, calc(44 / 1250 * 100vw), 44px);
  line-height: 100%;
  letter-spacing: 0.2em;
  color: var(--color-brown);
}
.p-sub-concept__under-lead-subttl {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(22px, calc(30 / 1250 * 100vw), 30px);
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: var(--color-accent);
  margin-top: clamp(13px, calc(26 / 1250 * 100vw), 26px);
  text-align: center;
}
.p-sub-concept__under-lead-ttl {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(24px, calc(38 / 1250 * 100vw), 38px);
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  padding: clamp(7px, calc(14 / 1250 * 100vw), 14px)
    clamp(25px, calc(50 / 1250 * 100vw), 50px);
  background-color: #e1ece6;
  border-radius: 50vh;
  margin-top: clamp(12px, calc(23 / 1250 * 100vw), 23px);
  width: fit-content;
}
.p-sub-concept__under-lead-flex {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin-top: clamp(30px, calc(55 / 1250 * 100vw), 55px);
}
.p-sub-concept__under-lead-list {
  list-style-type: disc;
  padding-left: 1em;
  margin-top: clamp(30px, calc(55 / 1250 * 100vw), 55px);
}
.p-sub-concept__under-lead-item {
  font-family: var(--font-family-ttl);
  font-weight: 600;
  font-size: clamp(18px, calc(20 / 1250 * 100vw), 20px);
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.p-sub-concept__under-lead-img-wrap {
  min-width: 131px;
  width: 50%;
}
.p-sub-concept__conclusion {
  margin-top: clamp(20px, calc(26 / 1250 * 100vw), 26px);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding-top: clamp(50px, calc(60 / 1250 * 100vw), 60px);
  padding-bottom: clamp(30px, calc(60 / 1250 * 100vw), 60px);
}

.p-sub-concept__conclusion::before {
  content: "";
  display: inline-block;
  width: 100vw;
  height: 100%;
  background-color: var(--color-beige);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50vw);
  z-index: -1;
}
.p-sub-concept__conclusion::after {
  content: "";
  display: inline-block;
  background: #fff;
  height: clamp(17px, calc(34 / 1250 * 100vw), 34px);
  width: clamp(68px, calc(136 / 1250 * 100vw), 136px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-sub-concept__conclusion-img-wrap {
  width: 40%;
  min-width: 100px;
  max-width: 200px;
}
.p-sub-concept__conclusion-txt-wrap {
  margin-top: clamp(30px, calc(55 / 1250 * 100vw), 55px);
}
.p-sub-concept__conclusion-txt {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(20px, calc(28 / 1250 * 100vw), 28px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: var(--color-accent);
}
/* 相互リンク*/
.p-sub-concept__link-area {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: clamp(80px, calc(140 / 1250 * 100vw), 140px) auto;
  width: 320px;
}
.p-sub-concept__under-btn {
  padding-left: clamp(15px, calc(24 / 1250 * 100vw), 24px);
  padding-right: clamp(27px, calc(45 / 1250 * 100vw), 45px);
  font-weight: 700;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  width: 100%;
  justify-content: center;
}
.p-sub-concept__under-btn span {
  font-weight: 600;
  margin-right: clamp(8px, calc(10 / 1250 * 100vw), 10px);
}
.p-sub-concept__under-btn + .p-sub-concept__under-btn {
  margin-top: clamp(10px, calc(20 / 1250 * 100vw), 20px);
}

/* コンセプト下層のタイトル*/
.p-sub-concept__under-ttl-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.p-sub-concept__under-ttl {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(22px, calc(36 / 1250 * 100vw), 36px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-left: clamp(10px, calc(15 / 1250 * 100vw), 15px);
  color: var(--color-accent);
}
/*メリットリスト*/
.p-sub-concept__merit-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: clamp(50px, calc(80 / 1250 * 100vw), 80px);
}
.p-sub-concept__merit-item {
  width: 48%;
  max-width: 380px;
  background-color: var(--color-beige);
  border-radius: 50vw;
  aspect-ratio: 380/470;
  padding-top: clamp(25px, calc(55 / 767 * 100vw), 55px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-sub-concept__merit-item:first-of-type {
  margin-right: 4%;
}
.p-sub-concept__merit-ttl {
  font-weight: 600;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1;
  letter-spacing: 0.2em;
  color: var(--color-brown);
  text-align: center;
}
.p-sub-concept__merit-ttl span {
  display: block;
  font-weight: 600;
  font-size: clamp(30px, calc(40 / 1250 * 100vw), 40px);
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
}
.p-sub-concept__merit-img-wrap {
  width: 63.7%;
  margin-top: clamp(8px, calc(10 / 1250 * 100vw), 10px);
}
.p-sub-concept__point-txt,
.p-sub-concept__merit-txt {
  font-weight: 700;
  font-size: clamp(16px, calc(18 / 767 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  margin-top: 0.75em;
}
.p-sub-concept__merit-txt span {
  display: block;
  font-weight: 500;
  font-size: clamp(12px, calc(14 / 767 * 100vw), 14px);
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  margin-top: 0.5em;
}
/*ポイントリスト*/
.p-sub-concept__point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-concept__point-item {
  width: 48%;
  max-width: 380px;
  background-color: var(--color-beige);
  border-radius: clamp(15px, calc(20 / 1250 * 100vw), 20px);
  padding: 0 clamp(10px, calc(15 / 767 * 100vw), 15px)
    clamp(30px, calc(40 / 767 * 100vw), 40px);
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: clamp(30px, calc(40 / 767 * 100vw), 40px);
}
.p-sub-concept__point-item:first-of-type {
  margin-right: 4%;
}
.p-sub-concept__point-ttl {
  font-weight: 600;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  padding: clamp(12px, calc(14 / 1250 * 100vw), 14px)
    clamp(20px, calc(29 / 1250 * 100vw), 29px);
  border-radius: 50vh;
  background-color: var(--color-beige);
  transform: translateY(-50%);
}
.p-sub-concept__point-main-txt {
  font-weight: 700;
  font-size: clamp(16px, calc(20 / 767 * 100vw), 20px);
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  margin-top: 1em;
  color: var(--color-accent);
}
.p-sub-concept__point-img-wrap {
  width: 29%;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-concept__under-lead-flex {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 771px;
    width: 100%;
  }
  .p-sub-concept__under-lead-txt-wrap {
    width: 62%;
  }
  .p-sub-concept__under-lead-list {
    margin-top: 0;
  }
  .p-sub-concept__under-lead-img-wrap {
    width: 34%;
  }
  .p-sub-concept__conclusion {
    flex-direction: row;
    justify-content: space-between;
    max-width: 955px;
    width: 100%;
  }
  .p-sub-concept__conclusion-img-wrap {
    width: 21%;
    min-width: inherit;
  }
  .p-sub-concept__conclusion-txt-wrap {
    width: 74%;
    margin-top: 0;
  }
  /* 相互リンク*/
  .p-sub-concept__link-area {
    flex-direction: row;
    justify-content: center;
    width: 100%;
  }
  .p-sub-concept__under-btn {
    width: fit-content;
  }
  .p-sub-concept__under-btn + .p-sub-concept__under-btn {
    margin-top: 0;
    margin-left: clamp(12px, calc(20 / 1250 * 100vw), 20px);
  }
  /* コンセプト下層のタイトル*/
  .p-sub-concept__under-ttl-wrap {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
  /*メリットリスト・ポイントリスト*/
  .p-sub-concept__point-list,
  .p-sub-concept__merit-list {
    justify-content: space-between;
  }
  .p-sub-concept__point-item,
  .p-sub-concept__merit-item {
    width: 31.7%;
    padding-top: clamp(25px, calc(55 / 1250 * 100vw), 55px);
  }
  .p-sub-concept__point-item {
    padding-top: 0;
    margin-bottom: 0;
  }
  .p-sub-concept__point-item:first-of-type,
  .p-sub-concept__merit-item:first-of-type {
    margin-right: 0;
  }
  .p-sub-concept__merit-txt {
    font-size: clamp(13px, calc(20 / 1250 * 100vw), 20px);
  }
  .p-sub-concept__point-txt {
    font-size: clamp(15px, calc(20 / 1250 * 100vw), 20px);
  }
  .p-sub-concept__point-main-txt {
    font-size: clamp(16px, calc(20 / 1250 * 100vw), 20px);
  }
  .p-sub-concept__merit-txt span {
    font-size: clamp(11px, calc(14 / 1250 * 100vw), 14px);
  }
}
/* 小さいSP（メリットリスト・ポイントリスト縦並び */
@media screen and (max-width: 580px) {
  .p-sub-concept__point-list,
  .p-sub-concept__merit-list {
    flex-direction: column;
    align-items: center;
    max-width: 280px;
    margin-inline: auto;
  }
  .p-sub-concept__point-item,
  .p-sub-concept__merit-item {
    width: 100%;
  }
  .p-sub-concept__point-item:first-of-type,
  .p-sub-concept__merit-item:first-of-type {
    margin-right: 0;
  }
  .p-sub-concept__point-item + .p-sub-concept__point-item,
  .p-sub-concept__merit-item + .p-sub-concept__merit-item {
    margin-top: 30px;
  }
}
/*ブルーのイラストエリア*/
.p-sub-concept__img-wrap-blue {
  background-color: #EEF2F5;
  padding: clamp(40px, calc(50 / 1250 * 100vw), 50px) 20px;
  max-width: 480px;
  margin: 0 auto;
}
.p-sub-concept__subsidy-img-wrap .p-sub-concept__img-wrap-blue {
  padding: clamp(30px, calc(36 / 1250 * 100vw), 36px) 10px;
}
.p-sub-concept__img-ttl {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(20px, calc(30 / 1250 * 100vw), 30px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1em;
  word-break: auto-phrase;
}
.p-sub-concept__img-ttl .u-small {
  font-size: 0.73em;
  font-weight: 700;
  display: block;
}
.p-sub-concept__img-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-sub-concept__img-flex img {
  height: clamp(140px, calc(240 / 767 * 100vw), 240px);
  width: auto;
}
.subsidy-page .p-sub-concept__img-flex img {
  height: clamp(200px, calc(360 / 1250 * 100vw), 360px);
}
.p-sub-concept__img-flex img + img {
  margin-top: 30px;
}
.subsidy-page .p-sub-concept__img-flex img + img {
  margin-top: 60px;
}
.subsidy-page .p-sub-concept__img-flex {
  position: relative;
}
.subsidy-page .p-sub-concept__full-img-wrap .p-sub-concept__img-flex::after {
  content: '';
  display: inline-block;
  background-image: url("../img/concept/concept-img-26-2.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: clamp(30px, calc(48 / 1250 * 100vw), 48px);
  aspect-ratio: 48/36;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) rotate(90deg);
}
.p-sub-concept__full-img-thumb {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(18px, calc(24 / 1250 * 100vw), 24px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: clamp(24px, calc(40 / 1250 * 100vw), 40px);
  margin-bottom: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
/*PC*/
@media screen and (min-width: 768px) {
  .p-sub-concept__img-wrap-blue {
    max-width: inherit;
    margin: 0;
  }
  .p-sub-concept__img-flex {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
  .p-sub-concept__img-flex img {
    height: clamp(200px, calc(284 / 1250 * 100vw), 284px);
  }
  .subsidy-page .p-sub-concept__img-flex img {
    height: clamp(200px, calc(358 / 1250 * 100vw), 358px);
  }
  .p-sub-concept__img-flex img + img {
    margin-top: 0;
    margin-left: clamp(30px, calc(60 / 1250 * 100vw), 60px);
  }
  .subsidy-page .p-sub-concept__img-flex img + img {
    margin-top: 0;
    margin-left: clamp(60px, calc(86 / 1250 * 100vw), 86px);
  }
  .subsidy-page .p-sub-concept__full-img-wrap .p-sub-concept__img-flex::after {
    transform: translate(-50%,0);
  }
}
/* incharge ページ*/
.p-sub-concept__incharge-flex {
  margin: clamp(60px, calc(100 / 1250 * 100vw), 100px) auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 600px;
}
.p-sub-concept__incharge-ttl {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(20px, calc(28 / 1250 * 100vw), 28px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: var(--color-accent);
}
.p-sub-concept__incharge-txt {
  margin-top: clamp(20px, calc(30 / 1250 * 100vw), 30px);
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
}
.p-sub-concept__incharge-img-wrap {
  width: 100%;
  max-width: 480px;
  margin-top: clamp(30px, calc(55 / 1250 * 100vw), 55px);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-concept__incharge-flex {
    max-width: inherit;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  .p-sub-concept__incharge-flex:nth-of-type(2n) {
    flex-direction: row-reverse;
  }
  .p-sub-concept__incharge-txt-wrap {
    width: 50%;
  }
  .p-sub-concept__incharge-img-wrap {
    width: 42%;
    max-width: inherit;
    margin-top: 0;
  }
}
/* 小さいSP */
@media screen and (max-width: 440px) {
  .p-sub-concept__incharge-ttl br {
    display: none;
  }
}

/* seismicページ*/
.under-ttl-wrap-01 img {
  width: clamp(48px, calc(64 / 1250 * 100vw), 64px);
}
.under-ttl-wrap-02 img {
  width: clamp(66px, calc(88 / 1250 * 100vw), 88px);
}
.under-ttl-wrap-03 img {
  width: clamp(57px, calc(76 / 1250 * 100vw), 76px);
}
.p-sub-concept__full-img-wrap + .p-sub-concept__under-ttl-wrap,
.p-sub-concept__merit-list + .p-sub-concept__under-ttl-wrap {
  margin-top: clamp(80px, calc(130 / 1250 * 100vw), 130px);
}
.p-sub-concept__point-list + .p-sub-concept__full-img-wrap {
  margin-top: clamp(30px, calc(40 / 1250 * 100vw), 40px);
}
.p-sub-concept__seismic-flex {
  display: flex;
  flex-direction: column;
  max-width: 480px;
  margin: clamp(60px, calc(80 / 1250 * 100vw), 80px) auto 0;
}
.p-sub-concept__seismic-txt-wrap {
  margin-top: clamp(30px, calc(60 / 1250 * 100vw), 60px);
}
.p-sub-concept__seismic-ttl {
  font-family: var(--color-accent);
  font-weight: 700;
  font-size: clamp(18px, calc(20 / 1250 * 100vw), 20px);
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-sub-concept__seismic-txt {
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: clamp(26px, calc(34 / 1250 * 100vw), 34px);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-concept__point-list + .p-sub-concept__full-img-wrap {
    margin-top: clamp(60px, calc(80 / 1250 * 100vw), 80px);
  }
  .p-sub-concept__seismic-flex {
    max-width: inherit;
    flex-direction: row;
    justify-content: space-between;
  }
  .p-sub-concept__seismic-txt-wrap,
  .p-sub-concept__seismic-img-wrap {
    width: 48%;
    margin-top: 0;
  }
}
/* subsidyページ*/
.under-ttl-wrap-04 img {
  width: clamp(127.5px, calc(170 / 1250 * 100vw), 170px);
}
.under-ttl-wrap-05 img {
  width: clamp(48px, calc(64 / 1250 * 100vw), 64px);
}
.p-sub-concept__subsidy-txt {
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
}
.under-ttl-wrap-04 + .p-sub-concept__subsidy-txt {
  margin-top: 2em;
}
.p-sub-concept__subsidy-txt-small {
  font-size: clamp(13px, calc(14 / 1250 * 100vw), 14px);
  margin-top: 0.5em;
}
.subsidy-page .p-sub-concept__point-txt {
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  font-weight: 500;
  margin-top: 1em;
}
.p-sub-concept__subsidy-flex {
  display: flex;
  flex-direction: column;
  max-width: 480px;
  margin: clamp(60px, calc(100 / 1250 * 100vw), 100px) auto 0;
}
.p-sub-concept__subsidy-ttl {
  font-weight: 700;
  font-size: clamp(18px, calc(24 / 1250 * 100vw), 24px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--color-accent);
}
.p-sub-concept__subsidy-flex .p-sub-concept__subsidy-txt {
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
  text-align: left;
}
.subsidy-page .c-btn-green {
  padding-left: clamp(15px, calc(24 / 1250 * 100vw), 24px);
  padding-right: clamp(27px, calc(45 / 1250 * 100vw), 45px);
  font-size: clamp(13px, calc(14 / 1250 * 100vw), 14px);
  margin-top: clamp(30px, calc(50 / 1250 * 100vw), 50px);
}
.p-sub-concept__subsidy-icon-wrap {
  width: 70%;
  max-width: 280px;
  margin: clamp(30px, calc(40 / 1250 * 100vw), 40px) auto 0;
}
.p-sub-concept__subsidy-txt-wrap {
  margin-bottom: clamp(30px, calc(40 / 1250 * 100vw), 40px);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-concept__subsidy-flex {
    flex-direction: row;
    justify-content: space-between;
    max-width: inherit;
    width: 100%;
  }
  .p-sub-concept__subsidy-txt-wrap {
    width: 42%;
    margin-bottom: 0;
  }
  .p-sub-concept__subsidy-img-wrap {
    width: 50%;
  }
  .p-sub-concept__subsidy-icon-wrap {
    margin-inline: 0;
    max-width: 340px;
  }
}
/*------------------------------------------
 *  reformページ
 *------------------------------------------*/
.p-sub-reform__ttl-sub {
  font-family: var(--font-family-ttl);
  color: var(--color-beige);
  font-weight: 700;
  font-size: clamp(16px, calc(26 / 1250 * 100vw), 26px);
  line-height: 1;
  letter-spacing: 0.1em;
  padding: clamp(9px, calc(18 / 1250 * 100vw), 18px);
  background-color: #c88340;
  position: relative;
  margin-bottom: clamp(16px, calc(20 / 1250 * 100vw), 20px);
  width: fit-content;
}
.p-sub-reform__ttl-sub::after {
  content: "";
  display: inline-block;
  height: clamp(8.65px, calc(10.4 / 1250 * 100vw), 10.4px);
  width: clamp(10px, calc(12 / 1250 * 100vw), 12px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #c88340;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 99%);
}
.reform-page .c-sub-mv__ttl-jp {
  font-size: clamp(20px, calc(48 / 1250 * 100vw), 48px);
  line-height: 1.4;
  font-weight: 700;
}
.reform-page .c-sub-mv__ttl-jp .u-small-sp-only {
  display: none;
}
/* 小さいSP */
@media screen and (max-width: 530px) {
  .reform-page .c-sub-mv__ttl-jp .u-small-sp-only {
    display: block;
  }
}
.p-sub-reform__section {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
  margin-bottom: clamp(100px, calc(140 / 1250 * 100vw), 140px);
}
.p-sub-reform__item {
  display: flex;
  align-items: flex-start;
  max-width: 480px;
  margin: 0 auto;
  position: relative;
}
.p-sub-reform__item:not(:last-of-type)::before {
  content: "";
  display: inline-block;
  width: clamp(2px, calc(4 / 1250 * 100vw), 4px);
  height: 100%;
  background-color: #5b9e4e;
  position: absolute;
  top: clamp(60px, calc(112 / 1250 * 100vw), 112px);
  left: clamp(22px, calc(44 / 1250 * 100vw), 44px);
  transform: translateX(-50%);
}
.p-sub-reform__item:not(:last-of-type) {
  padding-bottom: clamp(40px, calc(65 / 1250 * 100vw), 65px);
}
.p-sub-reform__number {
  color: #fff;
  font-weight: 600;
  font-size: clamp(18px, calc(32 / 1250 * 100vw), 32px);
  line-height: 1;
  letter-spacing: 0.2em;
  width: clamp(44px, calc(88 / 1250 * 100vw), 88px);
  height: clamp(44px, calc(88 / 1250 * 100vw), 88px);
  border-radius: 50vh;
  background-color: #5b9e4e;
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: clamp(16px, calc(24 / 1250 * 100vw), 24px);
}
.p-sub-reform__contents {
  padding-left: clamp(20px, calc(52 / 1250 * 100vw), 52px);
}
.p-sub-reform__bg-beige {
  background-color: var(--color-beige);
  border-radius: clamp(15px, calc(20 / 1250 * 100vw), 20px);
  padding: clamp(20px, calc(44 / 1250 * 100vw), 44px)
    clamp(20px, calc(50 / 1250 * 100vw), 50px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-sub-reform__img-wrap {
  margin-top: clamp(20px, calc(30 / 767 * 100vw), 30px);
}
.p-sub-reform__img-01 {
  width: clamp(86.8px, calc(124 / 1250 * 100vw), 124px);
}
.p-sub-reform__img-02 {
  width: clamp(83.3px, calc(119 / 1250 * 100vw), 119px);
}
.p-sub-reform__img-03 {
  width: clamp(49.7px, calc(71 / 1250 * 100vw), 71px);
}
.p-sub-reform__img-04 {
  width: clamp(84px, calc(120 / 1250 * 100vw), 120px);
}
.p-sub-reform__img-05 {
  width: clamp(130.2px, calc(186 / 1250 * 100vw), 186px);
}
.p-sub-reform__img-06 {
  width: clamp(153.3px, calc(219 / 1250 * 100vw), 219px);
}
.p-sub-reform__img-07 {
  width: clamp(123.2px, calc(176 / 1250 * 100vw), 176px);
}
.p-sub-reform__img-08 {
  width: clamp(135.1px, calc(193 / 1250 * 100vw), 193px);
}
.p-sub-reform__ttl {
  font-weight: 700;
  font-size: clamp(20px, calc(26 / 1250 * 100vw), 26px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-sub-reform__txt {
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.6;
  margin-top: 1em;
  letter-spacing: 0.1em;
}
.p-sub-reform__caution {
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 1em;
  font-size: clamp(12px, calc(14 / 1250 * 100vw), 14px);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-reform__item {
    max-width: 980px;
  }
  .p-sub-reform__bg-beige {
    padding: clamp(20px, calc(44 / 1250 * 100vw), 44px) 0
      clamp(20px, calc(44 / 1250 * 100vw), 44px)
      clamp(20px, calc(50 / 1250 * 100vw), 50px);
    flex-direction: row;
  }
  .p-sub-reform__txt-wrap {
    flex: 1 1 auto;
  }
  .p-sub-reform__img-wrap {
    margin-top: 0;
    width: clamp(160px, calc(270 / 1250 * 100vw), 270px);
    display: flex;
    justify-content: center;
    flex: 0 0 auto;
  }
  .p-sub-reform__ttl {
    text-align: left;
  }
}
/*------------------------------------------
 *  COMPANYページ
 *------------------------------------------*/
/*menu*/
.p-sub-company__menu {
  display: none;
}
.p-sub-company__contents {
  padding-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
  margin-bottom: clamp(100px, calc(140 / 1250 * 100vw), 140px);
}

/* PC */
@media screen and (min-width: 768px) {
  .p-sub-company__inner {
    display: flex;
    justify-content: space-between;
  }
  .p-sub-company__menu {
    display: block;
    width: 20.83%;
    flex: 0 0 auto;
    padding-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
  }
  .p-sub-company__menu.js-fixed {
    position: fixed;
    top: calc(var(--height-header) / 16 * 1rem);
    left: var(--padding-inline);
    padding-top: 0;
    z-index: 1;
  }
  /* 大きいPC */
  @media screen and (min-width: 1250px) {
    .p-sub-company__menu.js-fixed {
      left: calc((100vw - 1200px) / 2);
    }
  }
  .p-sub-company__contents {
    width: 79.17%;
  }
  .p-sub-company__menu.js-fixed + .p-sub-company__contents {
    padding-left: 20.83%;
    width: 100%;
  }
  .p-sub-company__menu-ttl {
    font-size: clamp(20px, calc(22 / 1250 * 100vw), 22px);
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 1.5em;
    color: var(--color-accent);
  }
  .p-sub-company__menu-item {
    font-size: clamp(18px, calc(20 / 1250 * 100vw), 20px);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .p-sub-company__menu-item + .p-sub-company__menu-item {
    margin-top: 0.5em;
  }
  .p-sub-company__menu-item a {
    font-weight: 600;
    color: #cbcaca;
    padding-left: 1em;
    position: relative;
  }
  .p-sub-company__menu-item a::before {
    content: "";
    display: inline-block;
    width: 0.425rem;
    height: 0.425rem;
    border-radius: 50vh;
    background-color: #cbcaca;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .p-sub-company__menu-item.u-current a,
  .p-sub-company__menu-item a:hover,
  .p-sub-company__menu-item a:focus {
    font-weight: 600;
    color: var(--color-brown);
  }
  .p-sub-company__menu-item.u-current a::before,
  .p-sub-company__menu-item a:hover::before,
  .p-sub-company__menu-item a:focus::before {
    background-color: var(--color-brown);
  }
  /*.p-sub-company__menu-item2 {
    font-weight: 700;
    font-size: clamp(15px, calc(20 / 1250* 100vw), 20px);
    line-height: 1.8;
    letter-spacing: 0.05em;
    border-radius: 50vh;
    border: solid 3px var(--color-accent);
    padding: 0.5em 3em 0.5em 1em;
    position: relative;
    margin-top: clamp(20px, calc(30 / 1250* 100vw), 30px);
    display: block;
    color: var(--color-accent);
    width: fit-content;
  }
  .p-sub-company__menu-item2::after {
    content: '';
    display: inline-block;
    background-image: url("../img/common/arrow-green-page.svg");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: clamp(12px, calc(14 / 1250* 100vw), 14px);
    aspect-ratio: 14/13;
    background-color: #fff;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
  }
  .p-sub-company__menu-item2:hover {
    background-color: var(--color-accent);
    color: #fff;
  }
  .p-sub-company__menu-item2:hover::after {
    background-image: url("../img/common/arrow-green-page-hover.svg");
  }*/
}

/* greeting */
.p-sub-greeting {
  position: relative;
}
.p-sub-greeting::after {
  content: "";
  display: inline-block;
  width: clamp(166px, calc(500 / 1250 * 100vw), 600px);
  aspect-ratio: 500/647;
  background-image: url("../img/aboutus/company-leaf-right.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  position: absolute;
  right: -20px;
  top: 0;
  transform: translateY(-20%);
}
/* 小さいSP */
@media screen and (max-width: 375px) {
  .p-sub-greeting::after {
    transform: translate(20%, -20%);
  }
}
.company-page .c-sub-sec-ttl-green {
  text-align: left;
  margin-bottom: clamp(40px, calc(75 / 1250 * 100vw), 75px);
}
.p-sub-greeting__subttl {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: clamp(20px, calc(24 / 1250 * 100vw), 24px);
  line-height: 2;
}
@media screen and (min-width: 520px) {
  .p-sub-greeting__subttl .u-sp-only {
    display: none;
  }
}
.p-sub-greeting__flex {
  display: flex;
  flex-direction: column;
  margin-top: clamp(30px, calc(50 / 1250 * 100vw), 50px);
}
.p-sub-greeting__img-wrap {
  width: 80%;
  max-width: 300px;
  margin: clamp(30px, calc(40 / 1250 * 100vw), 40px) auto 0;
}
.p-sub-greeting__txt {
  line-height: 2.3;
}
.p-sub-greeting__thumb {
  font-weight: 400;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  margin-top: clamp(8px, calc(10 / 1250 * 100vw), 10px);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-greeting::after {
    right: 50%;
    transform: translate(50vw, -10%);
  }
  .p-sub-greeting__flex {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .p-sub-greeting__img-wrap {
    width: 100%;
    margin-top: 0;
  }
  .p-sub-greeting__txt-column {
    width: 61%;
  }
  .p-sub-greeting__img-column {
    width: 31.6%;
  }
}

/* overview */
.p-sub-overview {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-overview__list {
  display: flex;
  flex-direction: row;
  border-bottom: solid 1px #d7d4d4;
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  padding: 0 clamp(10px, calc(20 / 1250 * 100vw), 20px)
    clamp(20px, calc(25 / 1250 * 100vw), 25px);
}
.p-sub-overview__list dt {
  color: var(--color-accent);
  font-weight: 500;
  width: clamp(120px, calc(240 / 1250 * 100vw), 240px);
  flex: 0 0 auto;
}
.p-sub-overview__list dd {
  font-weight: 500;
}
.p-sub-overview__list:not(:last-of-type) {
  margin-bottom: clamp(20px, calc(25 / 1250 * 100vw), 25px);
}
.p-sub-overview__item-list li {
  font-weight: 500;
  padding-left: 1em;
  position: relative;
}
.p-sub-overview__item-list li::before {
  content: "";
  display: inline-block;
  width: 0.425rem;
  height: 0.425rem;
  border-radius: 50vh;
  background-color: var(--color-accent);
  position: absolute;
  left: 0;
  top: 0.7em;
}
.p-sub-overview__list dd a {
  display: block;
}
/* 小さいSP */
@media screen and (max-width: 580px) {
  .p-sub-overview__list {
    flex-direction: column;
  }
  .p-sub-overview__item-list li {
    flex-direction: column;
  }
}
/* アクセス*/
.p-sub-access {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-access__map {
  position: relative;
  width: 100%;
  aspect-ratio: 950/548;
}
.p-sub-access__map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.p-sub-access__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
}
.p-sub-parking__txt,
.p-sub-access__txt {
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
}
.p-sub-parking__link,
.p-sub-access__link {
  text-transform: capitalize;
  color: var(--color-accent);
  font-weight: 600;
  font-size: clamp(18px, calc(20 / 1250 * 100vw), 20px);
  line-height: 2;
  letter-spacing: 0.05em;
  padding-right: clamp(50px, calc(70 / 1250 * 100vw), 70px);
  position: relative;
}
.p-sub-parking__link::before,
.p-sub-parking__link::after,
.p-sub-access__link::before,
.p-sub-access__link::after {
  content: "";
  display: inline-block;
  width: clamp(40px, calc(50 / 1250 * 100vw), 50px);
  aspect-ratio: 1;
  background-image: url(../img/common/arrow-green.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #fff;
  border-radius: 50vh;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.p-sub-parking__link::after,
.p-sub-access__link::after {
  background-image: url("../img/common/arrow-green-hover.svg");
  opacity: 0;
  transition: all 0.3s;
}
.p-sub-parking__link:hover::after,
.p-sub-access__link:hover::after {
  opacity: 1;
}
.p-sub-access__traffic-list {
  display: flex;
  flex-direction: row;
  border-bottom: solid 1px #d7d4d4;
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  padding: 0 clamp(10px, calc(20 / 1250 * 100vw), 20px)
    clamp(20px, calc(25 / 1250 * 100vw), 25px);
}
.p-sub-access__traffic-list:first-of-type {
  margin-top: clamp(50px, calc(75 / 1250 * 100vw), 75px);
}
.p-sub-access__traffic-list dt {
  color: var(--color-accent);
  font-weight: 500;
  width: clamp(150px, calc(240 / 1250 * 100vw), 240px);
  flex: 0 0 auto;
}
.p-sub-access__traffic-list dd {
  font-weight: 500;
}
.p-sub-access__traffic-list:not(:last-of-type) {
  margin-bottom: clamp(20px, calc(25 / 1250 * 100vw), 25px);
}
/* 小さいSP */
@media screen and (max-width: 580px) {
  .p-sub-access__traffic-list {
    flex-direction: column;
  }
}
/* 駐車場*/
.p-sub-parking {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-parking__img-wrap {
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
}
.p-sub-parking__link {
  display: block;
  width: fit-content;
  margin: clamp(16px, calc(20 / 1250 * 100vw), 20px) 0 0 auto;
}
.p-sub-parking__link + .p-sub-parking__txt {
  margin-top: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.p-sub-parking__tel {
  font-weight: 500;
  font-size: clamp(20px, calc(30 / 1250 * 100vw), 30px);
  line-height: 1.8;
  letter-spacing: 0;
  text-transform: uppercase;
}
/*------------------------------------------
 *  STAFFページ
 *------------------------------------------*/
.p-sub-staff__contents .p-sub-greeting__ttl {
  margin-bottom: clamp(40px, calc(75 / 1250 * 100vw), 75px);
}
.p-sub-staff + .p-sub-staff {
  margin-top: clamp(50px, calc(70 / 1250 * 100vw), 70px);
}
.staff-page .p-sub-company__contents {
  position: relative;
}
.staff-page .p-sub-company__contents::after {
  content: "";
  display: inline-block;
  width: clamp(158px, calc(474 / 1250 * 100vw), 574px);
  aspect-ratio: 474 / 408;
  background-image: url("../img/company/staff-leaf-right.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  position: absolute;
  right: -20px;
  top: 0;
  transform: translateY(10%);
}
.p-sub-staff__ttl {
  font-family: var(--font-family-ttl);
  color: var(--color-brown);
  font-weight: 700;
  margin-bottom: clamp(30px, calc(40 / 1250 * 100vw), 40px);
  font-size: clamp(22px, calc(34 / 1250 * 100vw), 34px);
  text-align: center;
}
.p-sub-staff__list {
  display: flex;
  flex-direction: column;
  max-width: 450px;
  margin: 0 auto;
}
.p-sub-staff__item {
  width: 100%;
  background-color: #e1ece6;
  position: relative;
  z-index: 1;
  margin-bottom: clamp(30px, calc(40 / 1250 * 100vw), 40px);
}
.p-sub-staff__item.item-large {
  min-height: 340px;
}
/* 小さいSP */
@media screen and (max-width: 375px) {
  .p-sub-staff__item.item-large {
    min-height: 400px;
  }
}

/*お客様担当・現場管理の高を合わせる*/
.p-sub-staff__item.frontline {
  min-height: 340px;
}
/*現場スタッフの高を合わせる*/
.p-sub-staff__item.worker {
  min-height: 200px;
}
/*事務スタッフの高さを合わせる*/
.p-sub-staff__item.office-worker {
  min-height: 320px;
}

.p-sub-staff__item::after {
  content: "";
  display: inline-block;
  width: 50%;
  aspect-ratio: 295/240;
  background-color: #e1ece6;
  border-top-left-radius: clamp(60px, calc(100 / 1250 * 100vw), 100px);
  position: absolute;
  bottom: 0;
  right: 0;
  mix-blend-mode: multiply;
  z-index: -1;
}
.p-sub-staff__name {
  background-color: var(--color-bg);
  color: #fff;
  font-weight: 500;
  font-size: clamp(20px, calc(32 / 1250 * 100vw), 32px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  width: clamp(240px, calc(390 / 1250 * 100vw), 390px);
  height: clamp(60px, calc(90 / 1250 * 100vw), 90px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 1em;
  border-bottom-right-radius: 100vh;
}
.p-sub-staff__txt {
  max-width: 88%;
  min-height: 110px;
  margin: clamp(20px, calc(24 / 1250 * 100vw), 40px) auto 0;
  z-index: 4;
  position: relative;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 15px);
}
.p-sub-staff__certification-ttl {
  display: block;
  width: fit-content;
  margin-left: 6%;
  margin-top: clamp(20px, calc(30 / 1250 * 100vw), 40px);
  background-color: var(--color-accent);
  color: var(--color-beige);
  font-weight: 500;
  font-size: clamp(11px, calc(14 / 1250 * 100vw), 14px);
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 50vh;
  padding: 0.3em 1em;
  z-index: 4;
  position: relative;
}
.p-sub-staff__certification-list {
  margin-left: 6%;
  margin-top: clamp(8px, calc(10 / 1250 * 100vw), 10px);
  margin-bottom: clamp(30px, calc(30 / 1250 * 100vw), 30px);
  z-index: 4;
  position: relative;
}
.p-sub-staff__certification-list li {
  font-weight: 500;
  font-size: clamp(11px, calc(12 / 1250 * 100vw), 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-sub-staff__certification-list li span {
  display: block;
  font-size: 0.86em;
}
.p-sub-staff__img-wrap {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50%;
  z-index: 2;
  max-width: 180px;
}
.p-sub-staff__name-en {
  font-family: var(--font-family-en-ttl);
  font-weight: 700;
  font-size: clamp(20px, calc(32 / 1250 * 100vw), 32px);
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-accent);
  position: absolute;
  left: 98%;
  bottom: 0.5em;
  transform: rotate(-90deg);
  transform-origin: left bottom;
  white-space: nowrap;
  z-index: 3;
}
.p-sub-staff__item .p-sub-staff__txt .u-small-sp-only {
  display: none;
}
/* PC */
@media screen and (min-width: 768px) {
  .staff-page .p-sub-company__menu-item2 {
    padding: 0.5em 2em 0.5em 1em;
    margin-top: 0;
  }
  .staff-page .p-sub-company__contents::after {
    right: 50%;
    transform: translate(50vw, 10%);
  }
  .p-sub-staff__ttl {
    text-align: left;
  }
  .p-sub-staff__list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: inherit;
  }
  .p-sub-staff__item {
    width: 48%;
  }
  .p-sub-staff__item::after {
    width: 60%;
  }
  /*お客様担当・現場管理の高を合わせる*/
  .p-sub-staff__item.frontline {
    aspect-ratio: 455 / 520;
    min-height: 380px;
  }
  /*現場スタッフの高さを合わせる*/
  .p-sub-staff__item.worker {
    /*aspect-ratio: 455 / 200;*/
    min-height: 280px;
  }
  /*事務スタッフの高さを合わせる*/
  .p-sub-staff__item.office-worker {
    aspect-ratio: 330 / 330;
    max-height: 39.5vw;*/
    max-height: 360px;
  }
  .p-sub-staff__item.item-07 .p-sub-staff__txt {
    padding-right: 0;
  }
  .p-sub-staff__item.item-large {
    width: 80%;
    min-height: clamp(240px, calc(340 / 1250 * 100vw), 340px);
  }
  .p-sub-staff__item.item-large::after {
    width: 36%;
  }
  .p-sub-staff__item.item-large .p-sub-staff__txt {
    padding-right: 35%;
  }
  .p-sub-staff__item.item-large .p-sub-staff__img-wrap {
    width: 31%;
  }
  /*.p-sub-staff__item.item-13,
  .p-sub-staff__item.item-12 {
    min-height: clamp(240px, calc(360 / 1250 * 100vw), 360px);
  }
  .p-sub-staff__item.item-15,
  .p-sub-staff__item.item-14 {
    min-height: clamp(240px, calc(400 / 1250 * 100vw), 400px);
  }*/
  .p-sub-staff__img-wrap {
    max-width: inherit;
  }
  .p-sub-staff__item .p-sub-staff__txt .u-small-sp-only.u-pc-only {
    display: block;
  }
}
/* 小さいSP */
@media screen and (max-width: 450px) {
  .p-sub-staff__item .p-sub-staff__txt .u-small-sp-only {
    display: block;
  }
  .p-sub-staff__img-wrap {
    width: 40%;
  }
}
/*recruit*/
.p-sub-recruit__ttl {
  margin-top: clamp(40px, calc(60 / 1250 * 100vw), 60px);
}
.p-sub-recruit__item {
  display: flex;
  justify-content: space-between;
  padding: 0 clamp(10px, calc(20 / 1250 * 100vw), 20px)
    clamp(20px, calc(30 / 1250 * 100vw), 30px);
  margin-bottom: clamp(20px, calc(30 / 1250 * 100vw), 30px);
  border-bottom: solid 1px #d7d4d4;
}
.p-sub-recruit__item-ttl {
  font-weight: 700;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  color: var(--color-accent);
  width: clamp(100px, calc(240 / 1250 * 100vw), 240px);
  flex: 0 0 auto;
}
.p-sub-recruit__item-txt {
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  width: calc(100% - clamp(100px, calc(240 / 1250 * 100vw), 240px));
}
.p-sub-resruit__btn {
  margin: clamp(50px, calc(80 / 1250 * 100vw), 80px) auto 0;
}
/* 小さいSP */
@media screen and (max-width: 350px) {
  .p-sub-recruit__item {
    flex-direction: column;
    padding-inline: 0;
  }
  .p-sub-recruit__item-txt {
    width: 100%;
    margin-top: 0.5em;
  }
}
/*------------------------------------------
 *  voiceページ
 *------------------------------------------*/
.p-sub-voice__contents {
  margin-top: clamp(60px, calc(115 / 1250 * 100vw), 115px);
  margin-bottom: clamp(40px, calc(90 / 1250 * 100vw), 90px);
}
.p-sub-voice__top-wrap {
  width: 100%;
  max-width: 680px;
  border-radius: clamp(15px, calc(20 / 1250 * 100vw), 20px);
  border: solid 3px var(--color-accent);
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding-bottom: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.p-sub-voice__top-ttl {
  background-color: #fff;
  width: fit-content;
  color: var(--color-accent);
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(22px, calc(33 / 1250 * 100vw), 33px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  padding-inline: 0.5em;
  margin-top: -0.9em;
}
.p-sub-voice__top-img-wrap {
  width: 61%;
  margin-top: clamp(16px, calc(21 / 1250 * 100vw), 21px);
}
.p-sub-voice__top-txt {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(20px, calc(26 / 1250 * 100vw), 26px);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.p-sub-voice__top-number {
  font-weight: 600;
  font-size: clamp(21px, calc(28 / 1250 * 100vw), 28px);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.p-sub-voice__top-number span {
  color: var(--color-accent);
  font-weight: 700;
  font-size: clamp(40px, calc(60 / 1250 * 100vw), 60px);
}
.p-sub-voice__top-subtxt {
  font-family: var(--font-family-ttl);
  font-weight: 700;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.p-sub-voice__txt {
  text-align: center;
  color: var(--color-brown);
  font-weight: 700;
  font-size: clamp(20px, calc(26 / 1250 * 100vw), 26px);
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: clamp(30px, calc(40 / 1250 * 100vw), 40px);
}
.p-sub-voice__top-link {
  border-bottom: solid 1px var(--color-brown);
  text-align: center;
  width: fit-content;
  margin: clamp(8px, calc(10 / 1250 * 100vw), 10px) auto 0;
}
.p-sub-voice__top-link a {
  color: var(--color-brown);
  font-weight: 500;
  font-size: clamp(13px, calc(14 / 1250 * 100vw), 14px);
  line-height: 1.4;
  letter-spacing: 0;
}
.p-sub-voice__top-link a:hover {
  opacity: 0.7;
}
.p-sub-voice__list {
  margin: clamp(60px, calc(80 / 1250 * 100vw), 80px) auto 0;
  max-width: 480px;
  display: flex;
  flex-direction: column;
}
.p-sub-voice__item {
  background-color: var(--color-beige);
  width: 100%;
  padding: clamp(30px, calc(40 / 1250 * 100vw), 40px)
    clamp(20px, calc(40 / 1250 * 100vw), 40px);
  margin-bottom: clamp(40px, calc(60 / 1250 * 100vw), 60px);
}
.p-sub-voice__persona-wrap {
  display: flex;
  padding: 0 clamp(5px, calc(15 / 1250 * 100vw), 15px)
    clamp(10px, calc(20 / 1250 * 100vw), 20px);
  margin-bottom: clamp(10px, calc(20 / 1250 * 100vw), 20px);
  border-bottom: solid 2px #fff;
  justify-content: space-between;
  align-items: center;
}
.p-sub-voice__icon-wrap {
  width: 29%;
}
.p-sub-voice__right-column {
  width: 60%;
  min-width: 190px;
}
.p-sub-voice__star-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-sub-voice__star-wrap span {
  font-weight: 600;
  font-size: clamp(28px, calc(36 / 767 * 100vw), 36px);
  line-height: 1;
  letter-spacing: 0.05em;
  margin-left: 0.2em;
  color: #ffaa00;
}
.p-sub-voice__star-wrap img {
  width: 80%;
}
.p-sub-voice__persona-txt {
  font-weight: 500;
  font-size: clamp(13px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1;
  letter-spacing: 0;
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
  text-align: center;
}
.p-sub-voice__persona-txt span {
  font-weight: 500;
  color: var(--color-accent);
  margin-right: 1em;
}
.p-sub-voice__item-ttl {
  font-weight: 700;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
}
.p-sub-voice__item-txt {
  font-weight: 500;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: 1em;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-voice__list {
    max-width: inherit;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .p-sub-voice__item {
    width: 47.5%;
  }
  .p-sub-voice__star-wrap span {
    font-size: clamp(21px, calc(42 / 1250 * 100vw), 42px);
  }
}
/* 小さいSP */
@media screen and (max-width: 350px) {
  .p-sub-voice__persona-wrap {
    flex-direction: column;
    align-items: center;
  }
  .p-sub-voice__right-column {
    width: 190px;
    margin: 10px auto;
  }
}
/*------------------------------------------
 *  newsページ
 *------------------------------------------*/
.p-sub-news {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
  margin-bottom: clamp(80px, calc(140 / 1250 * 100vw), 140px);
}
.p-sub-news__list {
  max-width: 480px;
  margin: 0 auto;
}
.p-sub-news__item + .p-sub-news__item {
  margin-top: clamp(60px, calc(125 / 1250 * 100vw), 125px);
}
.p-sub-news__flex {
  display: flex;
  flex-direction: column-reverse;
}
.p-sub-news__img-wrap {
  border-radius: clamp(20px, calc(40 / 1250 * 100vw), 40px);
  overflow: hidden;
  max-width: 450px;
  margin: 20px auto;
}
.p-sub-news__date {
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1;
  letter-spacing: 0.05em;
}
.p-sub-news__ttl {
  font-weight: 500;
  font-size: clamp(20px, calc(26 / 1250 * 100vw), 26px);
  line-height: 1.6;
  letter-spacing: 0;
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
}
.p-sub-news__txt {
  font-weight: 400;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.8;
  letter-spacing: 0;
  margin-top: clamp(16px, calc(20 / 1250 * 100vw), 20px);
}
.p-sub-news__link {
  margin-top: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.p-sub-news__link a {
  color: var(--color-brown);
  font-weight: 500;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.4;
  letter-spacing: 0;
  border-bottom: solid 2px var(--color-brown);
  width: fit-content;
  display: inline-block;
  padding-bottom: 0.5em;
}
.p-sub-news__link a:hover {
  opacity: 0.7;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-news__list {
    max-width: inherit;
    margin: 0;
  }
  .p-sub-news__flex {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
  .p-sub-news__img-wrap {
    width: 37.5%;
    margin: 0;
  }
  .p-sub-news__txt-wrap {
    width: 55.8%;
  }
}
/*------------------------------------------
 *  CONTACTページ
 *------------------------------------------*/
.p-sub-contact-top {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-contact-top__tel {
  font-weight: 600;
  font-size: clamp(30px, calc(60 / 1250 * 100vw), 60px);
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: clamp(30px, calc(50 / 1250 * 100vw), 50px);
}
.p-sub-contact-top__tel::before {
  content: "";
  display: inline-block;
  background-image: url("../img/contact/icon-freedial.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(28px, calc(72 / 1250 * 100vw), 72px);
  aspect-ratio: 72/43;
  margin-right: 0.3em;
}
.p-sub-contact-top__caution {
  color: var(--color-brown);
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 1em;
}
.p-sub-contact-top__caution + .c-sub-sec-ttl-green {
  margin-top: clamp(50px, calc(85 / 1250 * 100vw), 85px);
}
.p-sub-contact-top__txt {
  font-weight: 500;
  font-size: clamp(16px, calc(18 / 1250 * 100vw), 18px);
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  margin-top: 2em;
}
.p-sub-contact-top__txt span {
  display: block;
  font-weight: 500;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
}
.p-sub-contact-top__txt a {
  text-decoration: underline;
  color: var(--color-accent);
}
.p-sub-contact__pp-box {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin-top: clamp(20px, calc(24 / 1250 * 100vw), 24px);
}
.p-sub-contact__pp-box .c-form__checkbox-label {
  font-size: clamp(18px, calc(20 / 1250 * 100vw), 20px);
}
.p-sub-contact__pp-box a {
  position: relative;
}
.p-sub-contact__pp-box a::after {
  content: "";
  display: inline-block;
  background-image: url("../img/contact/icon-blank.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 13 / 13;
  width: clamp(13px, calc(15 / 1250 * 100vw), 15px);
  margin-right: 0.3em;
}
.p-sub-contact__btn-area {
  margin-top: clamp(24px, calc(32 / 1250 * 100vw), 32px);
}
/* PC */
@media screen and (min-width: 768px) {
}
/* 大きいPC */
@media screen and (min-width: 1000px) {
  .p-sub-contact__list-01 .c-form__item {
    width: calc(50% - 2em);
    white-space: nowrap;
  }
}

/* 確認ページ*/
.confirm-page .c-sub-sec-ttl-green {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.confirm-page .c-form__row + .c-form__row {
  border-top: solid 1px #e2dfda;
}
.confirm-page .c-form__row:last-of-type {
  border-bottom: solid 1px #e2dfda;
  padding-bottom: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.confirm-page .p-sub-contact__btn-area {
  flex-direction: column-reverse;
  justify-content: center;
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.confirm-page .p-sub-contact__btn-area li {
  width: 100%;
  display: flex;
  justify-content: center;
}
.confirm-page .p-sub-contact__btn-area li + li {
  margin-bottom: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.confirm-page .p-sub-contact__btn-area li:last-of-type form {
  width: 100%;
  display: flex;
  justify-content: center;
}
.confirm-page .c-btn-submit {
  max-width: 310px;
}
/* PC */
@media screen and (min-width: 768px) {
  .confirm-page .p-sub-contact__btn-area li {
    justify-content: flex-start;
  }
  .confirm-page .p-sub-contact__btn-area li + li {
    margin-bottom: 0;
  }
  .confirm-page .p-sub-contact__btn-area li:first-of-type {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
/*------------------------------------------
 *  お問い合わせ完了ページ
 *------------------------------------------*/
.p-sub-thanks .c-sub-sec__beige {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-thanks__img-wrap {
  width: clamp(50px, calc(81 / 1250 * 100vw), 81px);
  margin: 0 auto clamp(12px, calc(25 / 1250 * 100vw), 25px);
}
.p-sub-404__txt,
.p-sub-thanks__txt {
  font-weight: 500;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  margin-top: clamp(20px, calc(30 / 1250 * 100vw), 30px);
}
.p-sub-404__btn-area,
.p-sub-thanks__btn-area {
  margin-top: clamp(40px, calc(50 / 1250 * 100vw), 50px);
}

/* PC */
@media screen and (min-width: 768px) {
}
/*------------------------------------------
 *  プライバシーポリシーページ
 *------------------------------------------*/
.p-sub-privacy {
  margin-top: clamp(80px, calc(100 / 1250 * 100vw), 100px);
  margin-bottom: clamp(80px, calc(120 / 1250 * 100vw), 120px);
  word-break: break-all;
}

.p-sub-privacy a:not([href^="tel:"]) {
  text-decoration: underline;
}
.p-sub-privacy__lead,
.p-sub-privacy__txt {
  margin-bottom: 0.7em;
  font-weight: 500;
  line-height: 1.8;
}
ol + .p-sub-privacy__txt {
  margin-top: clamp(30px, calc(40 / 1250 * 100vw), 40px);
}
.p-sub-privacy__ttl {
  font-family: var(--font-family-ttl);
  margin: clamp(30px, calc(40 / 1250 * 100vw), 40px) 0
    clamp(10px, calc(20 / 1250 * 100vw), 20px);
  font-size: clamp(20px, calc(24 / 1250 * 100vw), 24px);
  color: var(--color-accent);
  font-weight: 600;
}
.p-sub-privacy__no-list {
  list-style: decimal;
  padding-left: 1em;
  margin-bottom: 0.5em;
  font-weight: 500;
  line-height: 1.8;
}
.p-sub-privacy__no-list li,
.p-sub-privacy__brackets-list li,
.p-sub-privacy__single-bracket-list li,
.p-sub-privacy__circle-list li {
  font-weight: 500;
  line-height: 1.8;
}
.p-sub-privacy__no-list li + li,
.p-sub-privacy__brackets-list > li + li {
  margin-top: 0.7em;
}
.p-sub-privacy__single-bracket-list li + li,
.p-sub-privacy__circle-list li + li {
  margin-top: 0;
}
.p-sub-privacy__brackets-list > li {
  position: relative;
  padding-left: 2em;
  list-style-type: none;
  counter-increment: cnt;
}
.p-sub-privacy__brackets-list > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "(" counter(cnt) ") ";
}
.p-sub-privacy__single-bracket-list > li {
  position: relative;
  padding-left: 1.6em;
  list-style-type: none;
  counter-increment: cnt2;
}
.p-sub-privacy__single-bracket-list > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(cnt2) ") ";
}
.p-sub-privacy__en-list {
  list-style-type: lower-alpha;
}
/*------------------------------------------
 *  404ページ
 *------------------------------------------*/
.p-sub-404__img-wrap {
  width: clamp(40px, calc(62 / 1250 * 100vw), 62px);
  margin: 0 auto clamp(12px, calc(25 / 1250 * 100vw), 25px);
}
/* PC */
@media screen and (min-width: 768px) {
}

/*=================================================
 *  JavaScript用
 *================================================*/
/* 要素をふわっと表示 */
.js-fade-up-item {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.5s ease-in-out;
}
.js-fade-up-item.fade-up {
  opacity: 1;
  transform: translateY(0);
}

/*左から現れる*/
.js-top-leaf-left {
  width: 0;
  transition: all 1s ease-in-out;
  overflow: hidden;
}
/*右から現れる*/
.js-top-leaf__inner {
  position: absolute;
  right: 0;
  width: 0;
  height: 100%;
  overflow: hidden;
  transition: all 1s ease-in-out;
}
.js-top-leaf__inner img {
  position: absolute;
  right: 0;
}
/*------------------------------------------
 *  WORKS
 *------------------------------------------*/
.p-sub-works-tags-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 80px;
  margin-top: 60px;
  margin-bottom: 24px;
  overflow-x: auto;
}
@media screen and (min-width: 768px) {
  .p-sub-works-tags-container {
    flex-direction: column;
    gap: 30px;
    margin-top: 98px;
    margin-bottom: 81px;
    overflow-x: initial;
  }
}
.p-sub-works-tags {
  display: flex;
  gap: 16px;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-sub-works-tags {
    flex-shrink: unset;
    gap: 24px;
  }
}
.p-sub-works-tags-item {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-sub-works-tags-item {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
  }
}
.p-sub-works-tags-item__link {
  border-radius: calc(infinity * 1px);
  width: 100%;
  display: block;
  border: 3px solid #418534;
  color: #418534;
  font-size: 14px;
  text-align: center;
  line-height: 1;
  font-weight: 700;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-inline: 24px;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-sub-works-tags-item__link {
    padding-inline: 16px;
    font-size: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
.p-sub-works-tags-item__link[aria-current="page"] {
  background-color: #418534;
  color: #fff;
}
.p-sub-works-tags-item__link:hover {
  background-color: #418534;
  color: #fff;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.p-sub-works-category-name {
  font-size: 18px;
  color: #418534;
  font-weight: 700;
  padding-left: 8px;
  border-left: 3px solid #418534;
  line-height: 1;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-category-name {
    font-size: 28px;
    padding-left: 10px;
    border-left: 5px solid #418534;
    margin-bottom: 30px;
  }
}
.p-sub-works-articles {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  column-gap: 0px;
  row-gap: 24px;
  margin-bottom: 70px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-articles {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 62px;
    /*margin-bottom: 140px;*/
  }
}
.p-sub-works-articles-article {
  background-color: #f8f6f3;
  padding: 25px 25px 30px;
  border-radius: 20px;
}
.p-sub-works-articles-article-thumbnail-box {
  position: relative;
  width: 100%;
  aspect-ratio: 330/220;
}
.p-sub-works-articles-article-thumbnail-box__thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-sub-works-articles-article__flex {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
.p-sub-works-articles-article-thumbnail-box-tags {
  display: flex;
  gap: 2px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.p-sub-works-article-thumbnail-box-tags__item {
  background-color: #c98341;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: calc(infinity * 1px);
  line-height: 1;
}
.p-sub-works-articles-article__date {
  font-family: var(--font-family-en);
  font-weight: 500;
  letter-spacing: 0.05em;
  display: block;
}
.p-sub-works-articles-article__title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 10px;
}
.p-sub-works-articles-article__name {
  font-style: normal;
  font-size: 13px;
  font-weight: 500;
  margin-top: 16px;
  display: block;
}
.p-sub-works-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin-bottom: 70px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-pagination {
    gap: 30px;
    margin-bottom: 140px;
  }
}
.p-sub-works-pagination-item__link--prev {
  font-size: 18px;
  font-weight: 600;
  color: #5b9e4e;
  text-transform: uppercase;
  line-height: 1;
  font-family: var(--font-family-en);
  padding-bottom: 12px;
  border-bottom: 2px solid #5b9e4e;
}
.p-sub-works-pagination-item__link--next {
  font-size: 18px;
  font-weight: 600;
  color: #5b9e4e;
  font-family: var(--font-family-en);
  text-transform: uppercase;
  line-height: 1;
  padding-bottom: 12px;
  border-bottom: 2px solid #5b9e4e;
}
.p-sub-works-pagination-item__link--next.disabled {
  color: #8c8c8c;
  border-bottom-color: #8c8c8c;
}
.p-sub-works-pagination-item-index {
  display: flex;
  align-items: center;
  gap: 15px;
}
.p-sub-works-pagination-item-index-item__button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 40px;
  aspect-ratio: 1/1;
  border: 2px solid #5b9e4e;
  border-radius: 50%;
  color: #5b9e4e;
  font-family: var(--font-family-en-ttl);
  font-size: 30px;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.p-sub-works-pagination-item-index-item__button:hover {
  background-color: #5b9e4e;
  color: #fff;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.p-sub-works-pagination-item-index-item__button[aria-current="page"] {
  background-color: #5b9e4e;
  color: #fff;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.p-sub-works-banners {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 70px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-banners {
    flex-direction: row;
    gap: 42px;
    margin-bottom: 140px;
  }
}
.p-sub-works-banners-banner {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  background-color: #f8f6f3;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 580/200;
}
.p-sub-works-detail-main {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main {
    margin-top: 98px;
  }
}
.p-sub-works-detail-main__flex {
  display: flex;
  align-items: baseline;
}
.p-sub-works-detail-main__date {
  font-family: var(--font-family-en);
  font-size: 14px;
  font-weight: 500;
  /*margin-bottom: 25px;*/
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main__date {
    font-size: 18px;
  }
}
.p-sub-works-detail-main__title {
  font-size: 18px;
  font-weight: 500;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main__title {
    font-size: 30px;
    margin-top: 25px;
  }
}
.p-sub-works-detail-main-sub-information {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-sub-information {
    flex-direction: row;
    margin-top: 33px;
    gap: 40px;
  }
}
.p-sub-works-detail-main-sub-information__name {
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-sub-information__name {
    font-size: 22px;
  }
}
.p-sub-works-detail-main-sub-information-tags {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-left: 2em;
  flex-wrap: wrap;
}
.p-sub-works-detail-main-sub-information-tags-item {
  border-radius: calc(infinity * 1px);
  padding: 7px 15px;
  line-height: 1;
  color: #fff;
  background-color: #c98341;
  font-size: 15px;
  font-weight: 700;
}
.p-sub-works-detail-main-information {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information {
    flex-direction: row;
    gap: 40px;
    margin-top: 90px;
    margin-bottom: 121px;
    align-items: flex-start;
  }
}
.p-sub-works-detail-main-information__thumbnail {
  /*flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  max-width: 580px;*/  
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information__thumbnail,
  .p-sub-works-detail-main-information-sentence {
    width: calc(50% - 20px);
  }
}
.p-sub-works-detail-main-information-sentence {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
}
.p-sub-works-detail-main-information-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information-title {
    gap: 22px;
    margin-bottom: 30px;
  }
}
.p-sub-works-detail-main-information-title__prefix {
  font-family: var(--font-family-en);
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  color: #784f04;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information-title__prefix {
    font-size: 24px;
  }
}
.p-sub-works-detail-main-information-title__text {
  font-size: 14px;
  font-weight: 700;
  color: #784f04;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information-title__text {
    font-size: 16px;
  }
}
.p-sub-works-detail-main-information-tags {
  display: flex;
  align-items: stretch;
  gap: 9px;
  margin-bottom: 20px;
  overflow-x: auto;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information-tags {
    overflow-x: unset;
  }
}
.p-sub-works-detail-main-information-tags:last-of-type {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information-tags:last-of-type {
    margin-bottom: 50px;
  }
}
.p-sub-works-detail-main-information-tags__item {
  flex-grow: unset;
  flex-shrink: 0;
  flex-basis: unset;
  width: max-content;
  padding-top: 7px;
  padding-bottom: 7px;
  background-color: #729a74;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  padding-inline: 16px;
  border-radius: calc(infinity * 1px);
}

.p-sub-works-detail-main-information-tags__item.is-green {
  background-color: #729a74;
}
.p-sub-works-detail-main-information-tags__item.is-gray {
  background-color: #bfbdba;
}

@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information-tags__item {
    flex-grow: 1;
    flex-shrink: 1;
    font-size: 15px;
    flex-basis: 0;
    width: auto;
    padding-inline: unset;
  }
}
.p-sub-works-detail-main-information__description {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-information__description {
    font-size: 16px;
  }
}
.p-sub-works-detail-main-informatio-charge {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-sub-works-detail-main-informatio-charge__term {
  border-radius: calc(infinity * 1px);
  padding: 5px 14px;
  font-size: 13px;
  font-weight: 700;
  /*color: #fff;
  background-color: #a0792f;*/
  color: #a0792f;
  border: solid 2px #a0792f;
}
.p-sub-works-detail-main-informatio-charge__description {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-main-informatio-charge__description {
    font-size: 16px;
  }
}
.p-sub-works-detail-gallery-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-title {
    gap: 22px;
    margin-bottom: 40px;
  }
}
.p-sub-works-detail-gallery-title__prefix {
  font-family: var(--font-family-en);
  font-size: 18px;
  font-weight: 600;
  color: #784f04;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-title__prefix {
    font-size: 24px;
  }
}
.p-sub-works-detail-gallery-title__text {
  font-size: 14px;
  color: #784f04;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-title__text {
    font-size: 16px;
  }
}
.p-sub-works-detail-gallery-list {
  /*display: grid;
  grid-template-columns: repeat(1, 1fr);
  column-gap: unset;
  row-gap: 16px;*/
  margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-list {
    /*grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
    row-gap: 80px;*/
    margin-bottom: 130px;
  }
}
.p-sub-works-detail-gallery-list-item {
  width: calc(50% - 20px);
  margin-bottom: 40px;
  aspect-ratio: 3 / 2;
}
.p-sub-works-detail-gallery-list-item img{
  height: 100%;
  object-fit: cover;
}
/*小さいSPのみ1カラム*/
@media screen and (max-width: 480px) {
  .p-sub-works-detail-gallery-list-item {
    width: 100%;
  }
}
.p-sub-works-detail-gallery-list-item__thumbnail {
  width: 100%;
  /*aspect-ratio: 58/39;
  object-fit: cover;*/
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-list-item__thumbnail {
    margin-bottom: 20px;
  }
}
.p-sub-works-detail-gallery-list-item__text {
  font-size: 14px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-list-item__text {
    font-size: 16px;
  }
}
.p-sub-works-pagination-item__link {
  padding: 7px 28px;
  border: 2px solid #5b9e4e;
  color: #5b9e4e;
  font-size: 16px;
  font-weight: 700;
  border-radius: calc(infinity * 1px);
  display: block;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.p-sub-works-pagination-item__link:hover {
  background-color: #5b9e4e;
  color: #fff;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.p-sub-works-detail-gallery-item:not(:last-of-type) {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item:not(:last-of-type) {
    margin-bottom: 80px;
  }
}
.p-sub-works-detail-gallery-item:last-of-type {
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item:last-of-type {
    margin-bottom: 120px;
  }
}
.p-sub-works-detail-gallery-item-before-after {
  display: flex;
}
.p-sub-works-detail-gallery-item-before {
  position: relative;
  /*flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;*/
  aspect-ratio: 3 /4;  
  width: 50%;
}
.p-sub-works-detail-gallery-item-before img{
  height: 100%;
  object-fit: cover;
}
.p-sub-works-detail-gallery-item-before:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.p-sub-works-detail-gallery-item-after {
  position: relative;
  /*flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;*/
  aspect-ratio: 3 /4;  
  width: 50%;
}
.p-sub-works-detail-gallery-item-after img{
  height: 100%;
  object-fit: cover;
}
.p-sub-works-detail-gallery-item-before-after:not(:has(.p-sub-works-detail-gallery-item-before))
  .p-sub-works-detail-gallery-item-after {
    aspect-ratio: 3 / 2;
    width: 100%;
}
.p-sub-works-detail-gallery-item-before-after:not(:has(.p-sub-works-detail-gallery-item-before))
  .p-sub-works-detail-gallery-item-after img{
    height: 100%;
    object-fit: cover;
}
.p-sub-works-detail-gallery-item-before__caption {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  background-color: #8c8c8c;
  padding: 8px 16px;
  border-radius: 0 0 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.2em;
  font-family: var(--font-family-en);
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item-before__caption {
    padding: 21px 35px;
    border-radius: 0 0 0 32px;
    font-size: 20px;
  }
}
.p-sub-works-detail-gallery-item-after__caption {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #729a74;
  padding: 8px 16px;
  border-radius: 0 0 16px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.2em;
  font-family: var(--font-family-en);
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item-after__caption {
    padding: 21px 35px;
    border-radius: 0 0 32px 0;
    font-size: 20px;
  }
}
.p-sub-works-detail-gallery-item-after__caption:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 5px;
  height: 9px;
  background-color: #fff;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.p-sub-works-detail-gallery-item-after__caption.no-triangle:before {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item-after__caption:before {
    width: 7px;
    height: 16px;
  }
}
.p-sub-works-detail-gallery-item-description {
  display: flex;
  /*flex-direction: column;*/
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item-description {
    flex-direction: row;
  }
}
.p-sub-works-detail-gallery-item-description__title {
  flex-grow: 1;
  flex-shrink: 1;
  font-size: 14px;
  flex-basis: 0;
  word-break: break-all;
  padding-right: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item-description__title {
    font-size: 16px;
  }
}
.p-sub-works-detail-gallery-item-description__text {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  font-size: 14px;
  word-break: break-all;
  padding-left: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-sub-works-detail-gallery-item-description__text {
    font-size: 16px;
  }
}
/*------------------------------------------
 *  case
 *------------------------------------------*/
.p-sub-case__inner {
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
  display: flex;
  flex-direction: column;
  max-width: 600px;
}
.p-sub-case__spacer {
  display: block;
  width: 100%;
  height: clamp(80px, calc(140 / 1250 * 100vw), 140px);
}
.p-sub-case__page-ttl {
  font-weight: 700;
  font-size: clamp(22px, calc(30 / 1250 * 100vw), 30px);
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--color-accent);
  margin-bottom: clamp(30px, calc(50 / 1250 * 100vw), 50px);
}
.p-sub-case__txt {
  font-weight: 500;
  font-size: clamp(13px, calc(15 / 1250 * 100vw), 15px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: clamp(20px, calc(40 / 1250 * 100vw), 40px);
}
.p-sub-case__sec-ttl {
  display: inline-block;
  color: var(--color-beige);
  background-color: var(--color-bg);
  border-radius: 50vh;
  padding: 0.5em 1em;
  font-weight: 500;
  font-size: clamp(12px, calc(14 / 1250 * 100vw), 14px);
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: clamp(6px, calc(10 / 1250 * 100vw), 10px);
  margin-top: clamp(15px, calc(25 / 1250 * 100vw), 25px);
}
.p-sub-case__item {
  font-weight: 500;
  font-size: clamp(12px, calc(14 / 1250 * 100vw), 14px);
  line-height: 1.8;
  letter-spacing: 0.2em;
  padding-inline: 1em;
  display: block;
}
.p-sub-case__img-wrap {
  width: 100%;
  position: relative;
}
.p-sub-case__img-wrap:not(:last-of-type) {
  margin-bottom: clamp(30px, calc(50 / 1250 * 100vw), 50px);
}
.p-sub-case__img-wrap.u-vertical {
  width: 58.8%;
  margin-inline: auto;
}
.p-sub-case__img-thumb {
  color: #fff;
  font-weight: 600;
  font-size: clamp(14px, calc(16 / 1250 * 100vw), 16px);
  line-height: 1;
  letter-spacing: 0.2em;
  position: absolute;
  bottom: clamp(8px, calc(10 / 1250 * 100vw), 10px);
  left: clamp(10px, calc(20 / 1250 * 100vw), 20px);
}
.p-sub-case__right-column {
  margin-top: clamp(50px, calc(100 / 1250 * 100vw), 100px);
}
.p-sub-case__sec-sub-ttl {
  text-align: center;
  color: #784f04;
  font-weight: 500;
  font-size: clamp(18px, calc(24 / 1250 * 100vw), 24px);
  line-height: 1;
  letter-spacing: 0.2em;
  margin-top: clamp(60px, calc(100 / 1250 * 100vw), 100px);
  margin-bottom: clamp(30px, calc(40 / 1250 * 100vw), 40px);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-case__inner {
    flex-direction: row;
    justify-content: space-between;
    max-width: calc(var(--l-inner) * 1px + var(--padding-inline) * 2);
  }
  .p-sub-case__left-column {
    display: block;
    width: 43.33%;
    flex: 0 0 auto;
    padding-right: calc(60 / 16 * 1rem);
  }
  /*MVスクロール後固定*/
  .p-sub-case__left-column.js-fixed {
    position: fixed;
    top: calc(var(--height-header) / 16 * 1rem);
    left: var(--padding-inline);
    padding-top: 0;
    z-index: 1;
    width: calc(43.33% - 50 * 0.433px);
  }
  /*footerの手前でスクロール*/
  .p-sub-case__left-column.js-fixed.js-scroll {
    position: relative;
    top: inherit;
    left: inherit;
    width: 43.33%;
  }
  .p-sub-case__inner.js-align-bottom {
    align-items: flex-end;
  }
  /* 大きいPC */
  @media screen and (min-width: 1250px) {
    .p-sub-case__left-column.js-fixed {
      left: calc((100vw - 1200px) / 2);
      width: 520px;
    }
    .p-sub-case__left-column.js-fixed.js-scroll {
      left: inherit;
      width: 43.33%;
    }
  }
  .p-sub-case__right-column {
    width: 56.67%;
    margin-top: 0;
  }
  .p-sub-case__left-column.js-fixed + .p-sub-case__right-column {
    padding-left: 43.33%;
    width: 100%;
  }
  .p-sub-case__left-column.js-fixed.js-scroll + .p-sub-case__right-column {
    padding-left: 0;
    width: 56.67%;
  }
}
