@charset "UTF-8";
/*
Theme Name: なんば建築工房 リノベーションサイト
Theme URI:
Description: 株式会社なんば建築工房 リノベーションサイトWordPressテーマ
Version: 1.0
*/
.has-nanba-renov-brown-color {
  color: #40210F !important;
}

.has-nanba-renov-brown-background-color {
  background-color: #40210F !important;
}

.has-nanba-renov-red-color {
  color: #E73828 !important;
}

.has-nanba-renov-red-background-color {
  background-color: #E73828 !important;
}

.has-nanba-renov-orange-color {
  color: #EB8B2D !important;
}

.has-nanba-renov-orange-background-color {
  background-color: #EB8B2D !important;
}

.has-nanba-renov-gray-color {
  color: #666666 !important;
}

.has-nanba-renov-gray-background-color {
  background-color: #666666 !important;
}

.has-nanba-renov-white-color {
  color: #FFFFFF !important;
}

.has-nanba-renov-white-background-color {
  background-color: #FFFFFF !important;
}

.has-nanba-renov-green-color {
  color: #00913A !important;
}

.has-nanba-renov-green-background-color {
  background-color: #00913A !important;
}

.has-nanba-renov-pink-color {
  color: #EA6DA4 !important;
}

.has-nanba-renov-pink-background-color {
  background-color: #EA6DA4 !important;
}

.has-nanba-renov-blue-color {
  color: #1D2087 !important;
}

.has-nanba-renov-blue-background-color {
  background-color: #1D2087 !important;
}

.has-nanba-renov-lightblue-color {
  color: #20ABEB !important;
}

.has-nanba-renov-lightblue-background-color {
  background-color: #20ABEB !important;
}

.has-nanba-renov-beige-color {
  color: #F2EEE8 !important;
}

.has-nanba-renov-beige-background-color {
  background-color: #F2EEE8 !important;
}

.has-nanba-renov-lightgray-color {
  color: #EEEEEE !important;
}

.has-nanba-renov-lightgray-background-color {
  background-color: #EEEEEE !important;
}

/* ===========================
   YakuHanMPs font-face 定義
   =========================== */
@font-face {
  font-family: "YakuHanMPs";
  src: url("/wp-content/themes/nanba_renovation/fonts/YakuHanMPs/YakuHanMPs-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "YakuHanMPs";
  src: url("/wp-content/themes/nanba_renovation/fonts/YakuHanMPs/YakuHanMPs-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "YakuHanMPs";
  src: url("/wp-content/themes/nanba_renovation/fonts/YakuHanMPs/YakuHanMPs-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* font-weight */
/* --------------------------------------------------------------------- */
/* フォントサイズ一括指定（font-size,line-height,letter-spacing）  */
/* ※フォントサイズ小さくなりすぎ対応 14px未満は、font-sizeのpx指定を確認する  */
/* --------------------------------------------------------------------- */
body {
  font-family: "YakuHanMPs", "Yu Mincho", "YuMincho", serif;
  font-weight: 400;
  color: #4F2A11;
  overflow-wrap: anywhere;
  background-color: #F2EEE8;
}

html {
  font-size: 100%;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 1215px) {
  html {
    font-size: 100%;
  }
}

/* =============================================
// PCでは電話番号のクリックを無効にする
============================================= */
a[href^="tel:"] {
  pointer-events: auto;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a,
button {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

@media (any-hover: hover) {
  a:hover,
  button:hover {
    opacity: 0.7;
  }
}
:focus-visible {
  outline: auto;
  outline-offset: 1px;
}

:focus {
  outline: auto;
  outline-offset: 1px;
}

.the_contents > *:not([class^=parts-]):not([class*=" parts-"]) {
  width: calc(100% - 2.5rem);
  max-width: 700px;
  margin: 20px auto;
}
.the_contents > *:first-child:first-child,
.the_contents > *:first-child:first-child:not([class^=parts-]):not([class*=" parts-"]) {
  margin-top: 0 !important;
}
.the_contents p {
  text-align: justify;
}
.the_contents h2:not([class^=parts-]):not([class*=" parts-"]),
.the_contents h3:not([class^=parts-]):not([class*=" parts-"]),
.the_contents h4:not([class^=parts-]):not([class*=" parts-"]) {
  margin-top: 50px !important;
}
.the_contents ul, .the_contents ol {
  list-style: initial;
  padding-left: 1.5em;
  line-height: 1.5;
  margin-block: 1em;
}
.the_contents ul li + li, .the_contents ol li + li {
  margin-top: 10px;
}
.the_contents ol {
  list-style-type: decimal;
}

.the_contents_jirei > *:not([class^=parts-]):not([class*=" parts-"]) {
  width: calc(100% - 2.5rem);
  max-width: 700px;
  margin-inline: auto;
}
.the_contents_jirei ul, .the_contents_jirei ol {
  list-style: initial;
  padding-left: 1.5em;
  line-height: 1.5;
  margin-block: 1em;
}
.the_contents_jirei ul li + li, .the_contents_jirei ol li + li {
  margin-top: 10px;
}
.the_contents_jirei ol {
  list-style-type: decimal;
}

svg#nanba-icons {
  display: none;
}

body.windows .c-strengths__text span,
body.windows .p-strengths-base__title span,
body.windows .p-strengths-title__word span,
body.windows .p-strengths-base__head span,
body.windows .parts-tiles-heading span {
  display: block;
  -webkit-transform: translateX(-0.1em);
          transform: translateX(-0.1em);
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.75;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  color: inherit;
}

/* Make images easier to work with */
img,
picture {
  width: 100%;
  height: auto;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: initial;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.l-inner {
  max-width: 1165px;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-inner {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 1440px) {
  .p-content-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    position: relative;
    z-index: 1;
  }
}

@media screen and (min-width: 1440px) {
  .p-content-wrapper__hidari {
    width: calc(100% - 350px);
    margin-right: 350px;
  }
}

.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper,
.wp-block-embed-youtube .wp-block-embed__wrapper {
  aspect-ratio: 16/9;
}

.wp-block-embed.is-provider-youtube iframe,
.wp-block-embed-youtube iframe {
  width: 100%;
  height: 100%;
  display: block;
}

/* =============================================
パンくずリスト
============================================= */
/* パンくず*/
.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: absolute;
  top: 17px;
  left: 10px;
  border-radius: 50px;
  background: #FFF;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  padding: 10px 15px;
  z-index: 10;
}

.breadcrumb span {
  color: #666;
  font-size: 14px;
}

.breadcrumb span:not(.current-item) a {
  text-decoration: underline;
  text-underline-offset: 1.5px;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

.breadcrumb__between {
  display: inline-block;
  width: 5px;
  height: 5px;
  background-image: url("../images/common/breadcrumb.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 8px;
}

.breadcrumb span[property=name] {
  display: block;
  padding: 0;
  margin-top: -3px;
  vertical-align: middle;
  max-width: 80px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 600px) {
  .breadcrumb span[property=name] {
    max-width: 120px;
  }
}
@media screen and (min-width: 960px) {
  .breadcrumb span[property=name] {
    max-width: 150px;
  }
}

/* =============================================
ページネーション
============================================= */
.wp-pagination-wrap {
  margin-top: 100px;
}

/* =============================================
トップセクションタイトルc-toptitle
============================================= */
.c-topTitle__en {
  font-family: "YakuHanMPs", "Cormorant SC", serif;
  font-size: 40px;
  line-height: 1;
}
@media screen and (min-width: 960px) {
  .c-topTitle__en {
    font-size: 3.75rem;
  }
}

.c-topTitle__en.c-topTitle__en--color {
  color: #fff;
}

.c-topTitle__ja {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 16px;
  font-weight: normal;
}

.c-topTitle__text {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 500;
}

/* =============================================
下層セクションタイトルc-sub-section-title
============================================= */
/* =============================================
７つの強み
============================================= */
.c-strengths {
  padding-top: 3.75rem;
  padding-bottom: 4.0625rem;
  position: relative;
  background-image: url(../images/common/strengths-bg.webp);
  background-repeat: no-repeat;
  background-position: 70% center;
  background-size: cover;
  width: 100%;
}
.c-strengths::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
}
@media screen and (min-width: 960px) {
  .c-strengths {
    padding-bottom: 6.25rem;
  }
}

.c-strengths__inner {
  padding: 0 1.25rem;
  position: relative;
  z-index: 2;
}

.c-strengths__body-wrap {
  margin-top: 4.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .c-strengths__body-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0;
  }
}

.c-strengths__ttl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #fff;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  -webkit-transform: translateX(13px);
          transform: translateX(13px);
  gap: 2px;
}

.c-strengths__ttl-lead {
  text-align: center;
  font-size: 16px;
  text-orientation: upright;
  vertical-align: top;
  letter-spacing: 0.3em;
}

.c-strengths__ttl-main {
  width: 37px;
  height: auto;
}

.c-strengths__ttl-number {
  color: #E73828;
}

.c-strengths__heading img {
  -o-object-fit: contain;
     object-fit: contain;
}

.c-strengths__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 9px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .c-strengths__list {
    gap: 1.25rem;
  }
}

.c-strengths__link {
  text-decoration: none;
  display: block;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-strengths__link:hover {
  opacity: 1;
}
.c-strengths__link:hover:not(.current) {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}
.c-strengths__link.current {
  cursor: default;
}
.c-strengths__link.current .c-strengths__text {
  background-color: #E73828;
}

.c-strengths__num {
  color: #fff;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  line-height: 27px;
  padding: 7px;
  display: -ms-grid;
  display: grid;
  place-content: center;
  background-color: #E73828;
  width: 2.5rem;
  height: 2.5rem;
}
@media screen and (min-width: 768px) {
  .c-strengths__num {
    width: 40px;
    height: 40px;
  }
}

.c-strengths__text {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  width: 2.5rem;
  display: -ms-grid;
  display: grid;
  place-content: center;
  padding: 9px 0;
  color: #fff;
  text-align: center;
  font-size: 18px;
  line-height: 1.1111111111;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  vertical-align: top;
  background: rgba(0, 0, 0, 0.3);
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .c-strengths__text {
    width: 40px;
  }
}

.c-strengths__button {
  color: #FFF;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 14px;
  padding: 22px 8px;
  border: 1px solid #FFF;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.c-strengths__button:hover {
  background-color: #FFF;
  color: #40210F;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .c-strengths__button {
    position: absolute;
    top: 70%;
    left: 13%;
  }
}

@media screen and (min-width: 960px) {
  .p-strengths-sub .c-strengths {
    padding-bottom: 6rem;
    padding-top: 8.125rem;
  }
}
@media screen and (min-width: 960px) {
  .p-strengths-sub .c-strengths .c-strengths__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 6.25rem;
  }
}
@media screen and (min-width: 960px) {
  .p-strengths-sub .c-strengths .c-strengths__body-wrap {
    margin-top: 0;
  }
}

/* =============================================
News・worksカードレイアウト
============================================= */
.c-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}

.c-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  text-decoration: none;
  border-radius: 10px;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-card__link:hover {
  -webkit-transform: scale(0.99);
          transform: scale(0.99);
  -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
  opacity: 1;
}

.c-card__img {
  position: relative;
  aspect-ratio: 300/200;
  max-width: 300px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-card__img {
    aspect-ratio: 360/240;
    max-width: 360px;
  }
}

.c-card__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-card__label {
  color: #FFF;
  background-color: #E73828;
  text-align: center;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3636363636;
  border-radius: 50%;
  width: 57px;
  height: 57px;
  display: -ms-grid;
  display: grid;
  place-content: center;
  position: absolute;
  right: 13px;
  bottom: -28px;
}
@media screen and (min-width: 960px) {
  .c-card__label {
    width: 68px;
    line-height: 1.2857142857;
    font-size: 14px;
    height: 68px;
  }
}

.c-card__label.c-card__label--second {
  background-color: #4F2A11;
}

.c-card-new {
  width: 36px;
  height: 20px;
  display: -ms-grid;
  display: grid;
  place-content: center;
  color: #FFF;
  font-size: 12px;
  text-transform: uppercase;
  background-color: #E73828;
  border-radius: 2.5px;
  padding: 0 2.25px;
  line-height: 1;
}

.c-card-number {
  color: #838383;
  font-size: 14px;
}

.c-card__body {
  background: #fff;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-card__title {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.05em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (min-width: 960px) {
  .c-card__title {
    font-size: 18px;
  }
}

.c-card__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  row-gap: 7px;
  background: #fff;
  margin-top: 15px;
}

.c-news-meta__date,
.c-news-meta__place {
  color: #838383;
  font-size: 12px;
}
@media screen and (min-width: 960px) {
  .c-news-meta__date,
  .c-news-meta__place {
    font-size: 14px;
  }
}

.c-tag {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 12px;
  border-radius: 16.667px;
  border: 0.833px solid #4F2A11;
  padding: 4px 10px;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
  page-break-inside: avoid;
  text-decoration: none;
  color: inherit;
  display: inline-block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a.c-tag {
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
a.c-tag:hover {
  background-color: #4F2A11;
  color: #fff;
  opacity: 1;
}

/* =============================================
WP-PageNaviのコンテナスタイル
============================================= */
.wp-pagination-wrap {
  margin: 100px auto 60px;
}
@media screen and (min-width: 768px) {
  .wp-pagination-wrap {
    margin: 150px auto 100px;
  }
}

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi {
    gap: 20px;
  }
}

/* WP-PageNaviのリンクスタイル */
.wp-pagenavi a {
  color: #fff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", Arial, sans-serif;
  font-size: 16px;
  width: 50px;
  height: 50px;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
  border-radius: 50%;
  text-decoration: none;
}

/* WP-PageNaviの現在のページスタイルcurrent */
.wp-pagenavi .current {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", Arial, sans-serif;
  font-size: 16px;
  background-color: #E73828;
  color: #fff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* WP-PageNaviの非アクティブアイテムスタイル */
.wp-pagenavi a.page,
.wp-pagenavi span.pages {
  background: #40210F;
  color: #fff;
}

.wp-pagenavi a.page {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.wp-pagenavi a.page:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 1;
}

span.extend {
  color: #40210F;
}

/* 共通スタイル */
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.prev,
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.next,
.wp-pagenavi a.first,
.wp-pagenavi a.last {
  text-indent: -9999px;
  overflow: hidden;
  display: block;
  background-color: #40210F;
  background-repeat: no-repeat;
  background-position: center;
  width: 50px;
  height: 50px;
  border: none;
  cursor: pointer;
  position: relative;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.wp-pagenavi a.previouspostslink:hover,
.wp-pagenavi a.prev:hover,
.wp-pagenavi a.nextpostslink:hover,
.wp-pagenavi a.next:hover,
.wp-pagenavi a.first:hover,
.wp-pagenavi a.last:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 1;
}

/* '前へ' ＜ボタンのスタイル */
.wp-pagenavi a.previouspostslink:before,
.wp-pagenavi a.prev:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  top: calc(50% - 4px);
  left: calc(50% - 2px);
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

/* '次へ' ＞ボタンのスタイル */
.wp-pagenavi a.nextpostslink:before,
.wp-pagenavi a.next:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  top: calc(50% - 4px);
  left: calc(50% - 8px);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/* 'トップへ戻る'|<矢印のスタイル */
.wp-pagenavi a.first:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  top: calc(50% - 4px);
  left: calc(50% + 1px);
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.wp-pagenavi a.first:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 15px;
  background-color: #fff;
  top: calc(50% - 7px);
  left: calc(50% - 3px);
}

/* '最後へ' >|矢印のスタイル */
.wp-pagenavi a.last:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  top: calc(50% - 4px);
  left: calc(50% - 10px);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.wp-pagenavi a.last:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 15px;
  background-color: #fff;
  top: calc(50% - 6px);
  left: calc(50% + 3px);
}

/* =============================================
コンバージョン
============================================= */
.c-conversion {
  position: fixed;
  bottom: 13px;
  left: 0;
  width: 100%;
  z-index: 100;
  pointer-events: none;
}
@media screen and (min-width: 1440px) {
  .c-conversion {
    max-width: 270px;
    left: auto;
    right: 40px;
    bottom: 100px;
  }
}
.c-conversion.-active > * {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  .c-conversion {
    -webkit-transform: translateX(0) !important;
            transform: translateX(0) !important;
  }
}

.c-conversion__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 3px auto 3px auto;
  grid-template-columns: auto auto auto;
  -ms-grid-rows: auto 10px auto;
  grid-template-rows: auto auto;
  row-gap: 10px;
  -webkit-column-gap: 3px;
     -moz-column-gap: 3px;
          column-gap: 3px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: auto;
}

.c-conversion__list > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.c-conversion__list > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.c-conversion__list > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}

.c-conversion__list > *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

.c-conversion__list > *:nth-child(5) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.c-conversion__list > *:nth-child(6) {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
}
@media screen and (min-width: 600px) {
  .c-conversion__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    /* 折り返さない */
    gap: 4px;
  }
}
@media screen and (min-width: 1440px) {
  .c-conversion__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 3px auto 3px auto;
    grid-template-columns: auto auto auto;
    -ms-grid-rows: auto 10px auto;
    grid-template-rows: auto auto;
    row-gap: 10px;
    -webkit-column-gap: 3px;
       -moz-column-gap: 3px;
            column-gap: 3px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transform: none !important;
            transform: none !important;
  }
  .c-conversion__list > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-conversion__list > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-conversion__list > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  .c-conversion__list > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-conversion__list > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .c-conversion__list > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
}

/* 1個目：見学会／イベント → 上段全幅 */
.c-conversion__item--main {
  grid-column: 1/-1;
  width: 100%;
}
@media screen and (min-width: 600px) {
  .c-conversion__item--main {
    grid-column: auto;
    /* grid指定をリセット */
    width: auto;
    /* 自動調整に */
  }
}
@media screen and (min-width: 1440px) {
  .c-conversion__item--main {
    grid-column: 1/-1;
    width: 100%;
  }
}

.c-conversion__item--main .c-conversion__link {
  width: 100%;
}
.c-conversion__item--main .c-conversion__link:hover {
  opacity: 1;
  background-color: #4F2A11;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.c-conversion__link {
  width: auto;
  display: inline-block;
  padding: 0.375rem 1.125rem;
  text-align: center;
  font-size: 13px;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  color: #40210F;
  border-radius: 27px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
          box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.c-conversion__link:hover {
  opacity: 1;
  background-color: #4F2A11;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media screen and (min-width: 1440px) {
  .c-conversion__link {
    padding: 6px 10px;
  }
}

.c-conversion__link.c-conversion__link--second {
  background-color: #E73828;
  color: #fff;
}
.c-conversion__link.c-conversion__link--second:hover {
  opacity: 1;
  background-color: #4F2A11;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/* =============================================
バナー
============================================= */
.c-banner-wrap {
  background-color: #F2EEE8;
}

.c-banner-wrap__inner {
  max-width: 1024px;
  margin-inline: auto;
  padding: 6.25rem 2.1875rem 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media screen and (min-width: 1090px) {
  .c-banner-wrap__inner {
    padding: 9.375rem 2.1875rem 3.125rem;
    gap: 20px;
  }
}

.c-banner {
  margin-inline: auto;
}
@media screen and (min-width: 1090px) {
  .c-banner {
    margin-inline: 0;
  }
}

@media screen and (min-width: 1090px) {
  .c-banner--top {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media screen and (min-width: 1090px) {
  .c-banner--bottom {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.5625rem 1fr 1.5625rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5625rem;
  }
}

.c-banner__item {
  width: 18.75rem;
}
@media screen and (min-width: 768px) {
  .c-banner__item {
    width: 300px;
  }
}
@media screen and (min-width: 1090px) {
  .c-banner__item {
    height: 130px;
    width: auto;
  }
}

.c-banner__item--second {
  height: 130px;
}

.c-banner__item:not(:first-child) {
  margin-top: 15px;
}
@media screen and (min-width: 1090px) {
  .c-banner__item:not(:first-child) {
    margin-top: 0;
  }
}

.c-banner__card {
  display: block;
}

.c-banner__item--second .c-banner__card {
  height: inherit;
}

.c-banner__catalog {
  display: block;
  background-image: url("../images/common/banner-catalog-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  height: inherit;
}

.c-banner__catalog-inner {
  padding: 1.25rem 1.4375rem 1rem 1.4375rem;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.25rem;
}
@media screen and (min-width: 1090px) {
  .c-banner__catalog-inner {
    padding: 6px 10px 9px 20px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
    height: inherit;
  }
}

.c-banner__catalog-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(23, 10, 1, 0.9)), to(rgba(23, 10, 1, 0.9)));
  background: linear-gradient(0deg, rgba(23, 10, 1, 0.9) 0%, rgba(23, 10, 1, 0.9) 100%);
  z-index: -1;
}

.c-banner__catalog-link {
  margin-top: 16px;
  color: #FFF;
  font-family: YuMincho;
  font-size: 14px;
  letter-spacing: 1.4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-banner__catalog-link::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 6px;
  background-image: url("../images/common/banner-arrow.svg"), url("../images/common/banner-arrow.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: left center, right center;
  background-size: contain, contain;
}

.c-banner__catalog-title {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  color: #FFF;
  font-size: 19px;
  line-height: 1.4;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (min-width: 1090px) {
  .c-banner__catalog-title {
    margin-top: 1.0625rem;
  }
}

@media screen and (min-width: 1090px) {
  .c-banner__catalog-img {
    aspect-ratio: 195/115;
    max-width: 12.1875rem;
  }
}

.c-banner__catalog-img img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}

.c-banner__showroom {
  display: block;
  background-image: url("../images/common/banner-showroom-sp.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 240px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1090px) {
  .c-banner__showroom {
    background-image: url("../images/common/banner-showroom-pc.jpg");
    height: 130px;
  }
}

.c-banner__showroom-inner {
  padding: 8px 10px;
  position: relative;
  z-index: 1;
}

.c-banner__showroom::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.1)));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
  z-index: 0;
}

.c-banner__showroom-title {
  color: #FFF;
  text-align: right;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 18px;
  font-style: normal;
  line-height: 1.5555555556;
  letter-spacing: 1.8px;
}
@media screen and (min-width: 1090px) {
  .c-banner__showroom-title {
    font-size: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

.c-banner__showroom-title span {
  display: block;
}
@media screen and (min-width: 1090px) {
  .c-banner__showroom-title span {
    display: inline;
  }
}

.c-banner__showroom-title span:nth-child(2),
.c-banner__showroom-title span:nth-child(4) {
  display: none;
}
@media screen and (min-width: 1090px) {
  .c-banner__showroom-title span:nth-child(2),
  .c-banner__showroom-title span:nth-child(4) {
    display: inline;
  }
}

.c-banner__choice-inner {
  background-color: #F1EDE3;
  padding: 0.625rem 0.625rem 0.625rem 0.875rem;
  border-radius: 10px;
  border: 1px solid #FFF;
  background-image: url("../images/common/base-frame.png");
  background-repeat: repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: inherit;
  gap: 20px;
}

.c-banner__choice-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 60px;
  height: 60px;
  background-color: #E73828;
  border-radius: 50%;
  display: -ms-grid;
  display: grid;
  place-content: center;
  -ms-grid-row-align: center;
      align-self: center;
}

.c-banner__choice-icon img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 70%;
  margin: auto;
}

.c-banner__choice-text {
  color: #40210F;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  letter-spacing: 1.8px;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

.c-banner__renovation {
  display: block;
  position: relative;
  background-color: #292D74;
  overflow: hidden;
  border-radius: 10px;
}

.c-banner__renovation::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #40210F;
  clip-path: polygon(58% 0, 100% 0, 100% 100%, 40% 100%);
  z-index: 0;
}

.c-banner__renovation-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  height: inherit;
}

.c-banner__renovation-body {
  display: -ms-grid;
  display: grid;
  place-content: center;
  height: inherit;
}

.c-banner__renovation-title {
  color: #FFF;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
}

.c-banner__renovation-title span {
  margin-top: 5px;
  display: block;
  font-size: 14px;
  letter-spacing: 1.4px;
}

.c-banner__property {
  display: block;
  background-image: url("../images/common/banner-info.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.c-banner__property::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(41, 133, 121, 0.8);
  z-index: 0;
}

.c-banner__property-inner {
  position: relative;
  z-index: 1;
  display: -ms-grid;
  display: grid;
  place-content: center;
  height: inherit;
  padding: 1.875rem 1.125rem;
}

.c-banner__property-body {
  color: #FFF;
}

.c-banner__property-title {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 18px;
}

.c-banner__property-text {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.2857142857;
  letter-spacing: 1.4px;
}

.c-banner__br {
  display: block;
}

/* =============================================
navの中のバナー/見学会はこちら、倉敷市への移住・リノベ・補助金
============================================= */
.c-navBanner {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  border-radius: 5px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  -webkit-box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
  display: -ms-grid;
  display: grid;
  place-content: center;
  color: #FFF;
  font-size: 14px;
  text-align: center;
  height: 60px;
}
.c-navBanner.c-navBanner--event {
  width: 256px;
  background: #E73828;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: #FFF;
  text-underline-position: from-font;
}

.c-navBanner-warp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media screen and (min-width: 960px) {
  .c-navBanner-warp {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.c-navBanner--hojokin {
  width: 300px;
  background-image: url("../images/common/navBanner01.jpg");
  background-repeat: no-repeat;
  background-position: center 28%;
  background-size: cover;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  z-index: -1;
}

.c-navBanner--hojokin::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

/* =============================================
検索ボックス[c-search-box]:works・products
============================================= */
.c-search-box-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}

.c-modal-open-button {
  border-radius: 100vmax;
  background: #F2EEE8;
  padding: 9px 20px;
  border: 1px solid #4F2A11;
  text-align: center;
  font-size: 16px;
  color: #4F2A11;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.c-modal-open-button:hover {
  opacity: 1;
  background-color: #fff;
}

.c-modal-open-button::before {
  content: "";
  width: 15px;
  height: 10px;
  background-image: url(../images/common/modal-open.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-modal {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  /* 非表示時はクリック不可 */
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, 0.8);
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}

.c-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  /* 表示時に復活 */
}

.c-modal__body {
  position: relative;
  display: inline-block;
  overflow-y: auto;
  border-radius: 10px;
  background: #F2EEE8;
  padding: 3.125rem 1.25rem 1.875rem 1.25rem;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .c-modal__body {
    padding: 4.1875rem 4.5rem;
    max-width: 700px;
    min-height: 500px;
  }
}

.c-modal__title {
  text-align: center;
  font-size: 16px;
}

.c-modal__search-tags {
  margin-top: 2.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  row-gap: 10px;
}
@media screen and (min-width: 768px) {
  .c-modal__search-tags {
    margin-top: 3.4375rem;
  }
}

.c-modalTag {
  color: #4F2A11;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 14px;
  border-radius: 20px;
  border: 1px solid #4F2A11;
  padding: 6px 14px;
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  display: block;
}
.c-modalTag:hover {
  background-color: #ffffff;
}
.c-modalTag.is-active {
  background-color: #E73828;
  color: #ffffff;
  border-color: #E73828;
}

.c-modal__close-button {
  cursor: pointer;
  padding: 30px 0 25px 50px;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
}
@media screen and (min-width: 768px) {
  .c-modal__close-button {
    top: 25px;
    right: 25px;
    width: 40px;
    height: 40px;
  }
}

.c-modal__close-button::before {
  content: "";
  position: absolute;
  top: 25px;
  right: 4px;
  height: 1px;
  background: #40210F;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 40px;
}

.c-modal__close-button::after {
  content: "";
  position: absolute;
  top: 25px;
  right: 4px;
  height: 1px;
  background: #40210F;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 40px;
}

/* 白もやグラデーション*/
.c-gradient {
  /* 最初に見える高さ */
  height: 166px;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(56.35%, #FFF));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFF 56.35%);
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0 0 10px 10px;
}

/* もっと見るボタン */
.c-more {
  text-align: center;
  position: absolute;
  bottom: 33px;
  z-index: 200;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 5px 0 20px;
  cursor: pointer;
}

.c-more__button {
  font-size: 14px;
  position: relative;
  color: #4F2A11;
  cursor: pointer;
}

.c-more::after {
  font-size: 14px;
  position: absolute;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(222deg);
          transform: translateX(-50%) rotate(222deg);
  top: 50%;
}

/* =============================================
下層ページロゴの下/タイトルブロッック
============================================= */
.c-title-block__header {
  background-color: #F2EEE8;
  height: 185px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1440px) {
  .c-title-block__header {
    height: 300px;
  }
}

/* =============================================
下層ページの画像ありタイトル
============================================= */
.c-title-block .c-sub-title {
  position: absolute;
  width: 100%;
  top: 50%;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  padding: 0 10px;
}
.c-title-block .c-sub-title.big-ja .c-sub-title__ja {
  font-size: 24px;
  line-height: 1.3;
  font-weight: normal;
  color: #4F2A11;
}
@media screen and (min-width: 768px) {
  .c-title-block .c-sub-title.big-ja .c-sub-title__ja {
    font-size: 36px;
  }
}
.c-title-block .c-sub-title.big-ja .c-sub-title__en {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 3px;
  color: #E73828;
}

/* =============================================
下層ページMV（works）カーブの区切り
============================================= */
.c-sub-mv {
  position: relative;
}
.c-sub-mv .c-sub-title .c-sub-title__en,
.c-sub-mv .c-sub-title .c-sub-title__ja {
  color: #fff !important;
}

.c-sub-mv__curved {
  width: 100%;
  display: block;
  clip-path: ellipse(100% 90% at 50% 0%);
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 30px;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-sub-mv__curved {
    margin-bottom: 50px;
  }
}
.c-sub-mv__curved img {
  aspect-ratio: 375/180;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media screen and (min-width: 768px) {
  .c-sub-mv__curved img {
    aspect-ratio: 109/30;
  }
}

.c-sub-mv__curved::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  /* 黒40%で暗くする */
}

.c-sub-title__ja {
  text-align: center;
  font-family: "YakuHanMPs", "Zen Antique Soft", serif;
  font-size: 16px;
  line-height: 30px;
  color: #E73828;
  font-weight: normal;
}

.c-sub-title__en {
  text-transform: uppercase;
  text-align: center;
  font-family: "YakuHanMPs", "Cormorant SC", serif;
  font-size: 36px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #40210F;
}
@media screen and (min-width: 960px) {
  .c-sub-title__en {
    font-size: 40px;
  }
}

.c-sub-title__en--white.c-sub-title__en--white {
  color: #fff;
}

.c-sub-title__ja.c-sub-title__ja--white {
  color: #fff;
}

/* =============================================
画像＋テキスト（about）
============================================= */
.c-blockMedia__inner {
  max-width: 740px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .c-blockMedia__inner {
    max-width: none;
  }
}

.c-blockMedia__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 960px) {
  .c-blockMedia__flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 7.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-blockMedia__left {
  display: contents;
}
@media screen and (min-width: 960px) {
  .c-blockMedia__left {
    display: block;
    max-width: 25rem;
  }
}

.c-text__paragraph--first {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.c-text__paragraph--second {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.c-blockMedia__img {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .c-blockMedia__img {
    margin: 0;
  }
}

.c-blockMedia__img img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: auto;
}

.c-blockMedia__text {
  font-size: 16px;
  line-height: 2;
}

@media screen and (min-width: 960px) {
  .c-blockMedia__text + .c-blockMedia__text {
    margin-top: 40px;
  }
}

/* =============================================
移住リノベタイルスタイルc-area
============================================= */
@media screen and (min-width: 960px) {
  .c-area__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 960px) {
  .c-area__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.c-area__image-block {
  position: relative;
}
@media screen and (min-width: 960px) {
  .c-area__image-block {
    width: 50%;
  }
}

.c-area__image-block img {
  aspect-ratio: 375/500;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 500px;
}
@media screen and (min-width: 960px) {
  .c-area__image-block img {
    aspect-ratio: 545/750;
    max-height: 750px;
  }
}

.c-area__text-block {
  min-height: 500px;
  padding: 2.5rem 6%;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  background: #fff;
}
@media screen and (min-width: 960px) {
  .c-area__text-block {
    width: 50%;
    padding: 2.5rem 4.375rem;
  }
}
@media screen and (min-width: 960px) {
  .c-area__text-block {
    display: -ms-grid;
    display: grid;
    place-content: center;
  }
}

.c-label-title {
  color: #E73828;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  padding: 20px 10px;
  border-top: 1px solid #4F2A11;
  border-bottom: 1px solid #4F2A11;
  background: #FFF;
}

.c-area__label {
  position: absolute;
  top: 10px;
  left: 10px;
}
@media screen and (min-width: 960px) {
  .c-area__label {
    top: 30px;
    left: 30px;
  }
}

.c-area__item:nth-child(even) .c-area__label {
  top: 10px;
  left: auto;
  right: 10px;
}
@media screen and (min-width: 960px) {
  .c-area__item:nth-child(even) .c-area__label {
    top: 30px;
    left: auto;
    right: 30px;
  }
}

.c-area__title {
  text-align: center;
  color: #E73828;
  font-size: 20px;
  line-height: 1.5;
}

.c-area__subList {
  margin-top: 40px;
}
@media screen and (min-width: 960px) {
  .c-area__subList {
    margin-top: 50px;
  }
}

.c-area__subList p {
  font-family: YuMincho;
  font-size: 16px;
  position: relative;
  padding-left: 1.4em;
}

.c-area__subList p::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.1;
  color: currentColor;
  font-size: 1.4em;
}

.c-area__subList p:not(:first-child) {
  margin-top: 1em;
}

/* =============================================
写真固定+内容スクロール(7つの強みページ)
============================================= */
.c-sticky {
  position: relative;
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 960px) {
  .c-sticky {
    padding-bottom: 10rem;
  }
}

.c-sticky .c-sticky__picture {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  display: block;
  z-index: 1;
}

.c-sticky .c-sticky__picture img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 960px) {
  .c-sticky .c-sticky__picture img {
    height: 100%;
  }
}

/* 固定が解除されるときに relative に戻す */
.c-sticky.is-end picture {
  position: relative;
  height: auto;
}

.c-sticky__infoBox {
  position: relative;
  z-index: 2;
  margin-top: -200px;
  max-width: 700px;
  margin-inline: auto;
  padding: 0 10px;
}
@media screen and (min-width: 960px) {
  .c-sticky__infoBox {
    padding: 0;
  }
}

.c-sticky__infoBox .c-sticky__title {
  color: #FFF;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  padding: 16px 3px;
  background: #E73828;
  line-height: normal;
  font-weight: 400;
}

.c-sticky__body {
  background: #fff;
  padding: 2.25rem 0.9375rem;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .c-sticky__body {
    padding: 3.125rem 3.125rem 3.75rem 3.125rem;
    margin-bottom: 50px;
  }
}

.c-sticky__sentence {
  font-size: 16px;
  line-height: 2;
}

.c-sticky__sentence + .c-sticky__sentence {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .c-sticky__sentence + .c-sticky__sentence {
    margin-top: 1.5em;
  }
}

.c-heading-title {
  color: #FFF;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  font-weight: 400;
  background-color: #E73828;
  padding: 11px 12px;
  margin-inline: auto;
  width: 95%;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media screen and (min-width: 960px) {
  .c-heading-title {
    padding: 10px 47px;
  }
}

@media screen and (min-width: 600px) {
  .c-heading-br {
    display: none;
  }
}

.c-simple-heading-gothic {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", Arial, sans-serif;
  font-size: 20px;
  text-align: center;
  font-weight: 600;
  margin: 50px 0 20px;
}
@media screen and (min-width: 960px) {
  .c-simple-heading-gothic {
    margin-top: 100px;
  }
}

.c-selectBox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  cursor: pointer;
  margin-left: auto;
}
@media screen and (min-width: 960px) {
  .c-selectBox {
    margin-right: 18px;
  }
}

/* ▼ 三角アイコン */
.c-selectBox::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 12px solid #4F2A11;
  pointer-events: none;
  /* ← これを忘れずに！ */
}

.c-selectBox__select {
  padding: 8px 40px 8px 24px;
  border-radius: 36px;
  background: #FFF;
  min-width: 200px;
  max-width: 300px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #4F2A11;
  font-size: 16px;
  letter-spacing: 1.6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =============================================
イベント詳細ページ
============================================= */
.c-single-contents {
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (min-width: 960px) {
  .c-single-contents {
    width: 60.625rem;
    margin-inline: auto;
  }
}

.c-single-contents__body {
  background: #fff;
  padding: 50px 0 25px;
  position: relative;
  margin-top: -30px;
  font-size: 16px;
  border-radius: 10px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .c-single-contents__body {
    padding: 6.25rem 0 1.875rem;
    margin-top: 0;
  }
}

.c-single-contents__header {
  width: calc(100% - 40px);
  margin-inline: auto;
}

.c-single-contents__title {
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
  max-width: 800px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .c-single-contents__title {
    font-size: 28px;
  }
}

.c-single-contents__tag {
  margin-top: 2.375rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 960px) {
  .c-single-contents__tag {
    margin-top: 1.75rem;
  }
}
.c-single-contents__tag .c-tag {
  padding: 5px 12px;
  background-color: #F5F5F5;
  border: none;
}

.c-single-contents__date-wrap {
  max-width: 700px;
  margin-inline: auto;
}

.c-single-contents__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 22px;
  font-size: 12px;
  color: #666666;
}
@media screen and (min-width: 960px) {
  .c-single-contents__date {
    margin-top: 7px;
  }
}

.c-single-contents__end {
  margin-top: 2px;
  color: #E94709;
  text-align: right;
  font-size: 16px;
}

.post_thumbnail {
  max-width: 700px;
  margin: 5px auto 50px;
}

.post_thumbnail img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-single-contents__wp-wrap {
  margin-inline: auto;
}

.post_contents .post_main .reuse_contents {
  /* Gutenbergのアライン指定を優先させる */
}
.post_contents .post_main .reuse_contents p {
  text-align: justify;
  line-height: 1.75;
}
.post_contents .post_main .reuse_contents .alignright {
  text-align: right !important;
  display: block;
}
.post_contents .post_main .reuse_contents .aligncenter {
  text-align: center !important;
  display: block;
  margin-inline: auto;
}
.post_contents .post_main .reuse_contents .alignleft {
  text-align: left !important;
  display: block;
}
.post_contents .post_main > p,
.post_contents .post_main > ul,
.post_contents .post_main > ol,
.post_contents .post_main > table,
.post_contents .post_main .bk_margin {
  margin-block: 50px;
}
.post_contents .wp-block-heading {
  margin: 60px 0 30px;
  font-weight: 600;
}
.post_contents .nnb_column_ttl {
  margin: 0 0 25px;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 600;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column_ttl {
    margin-bottom: 40px;
  }
}
.post_contents .nnb_image {
  display: block;
  margin: 30px 0;
}
.post_contents .align-left {
  text-align: left;
}
.post_contents .align-right {
  text-align: right;
}
.post_contents .align-center {
  text-align: center;
}
.post_contents .nnb_column {
  margin: 100px 0 30px;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.8%;
  }
}
.post_contents .nnb_column.small-margin {
  margin-top: 40px;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column.small-margin {
    margin-top: 60px;
  }
}
@media screen and (min-width: 960px) {
  .wp-admin .post_contents .nnb_column {
    gap: 5%;
    margin: 40px 0;
  }
}

@media screen and (min-width: 960px) {
  .post_contents .nnb_column.nnb_column-left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column.nnb_column-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column .nnb_column-img,
  .post_contents .nnb_column .nnb_column-conts {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-preferred-size: 46.3%;
        flex-basis: 46.3%;
    width: 100%;
  }
}
.post_contents .nnb_column .nnb_column-img {
  margin: 0 calc(50% - 50vw) 25px;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column .nnb_column-img {
    margin: 0;
  }
}
.post_contents .nnb_column + .post_contents .nnb_column {
  margin-top: 120px;
  margin-bottom: 120px;
}
.post_contents .nnb_column .nnb_image {
  margin: 0;
}
.post_contents .nnb_column .nnb_image figcaption {
  display: block;
  padding: 5px;
  line-height: 1.5;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column .nnb_image figcaption {
    max-width: 700px;
    margin: auto;
  }
}
.post_contents .nnb_column img {
  width: 100%;
  height: auto;
  max-width: 700px;
  margin: auto;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column img {
    max-width: 100%;
  }
}
.post_contents .nnb_column.photo_both .nnb_column-img {
  margin: 0;
}
.post_contents .nnb_column.nnb_image_both {
  margin-top: 30px;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column.nnb_image_both .img_wrap {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-preferred-size: 46.3%;
        flex-basis: 46.3%;
  }
}
.post_contents .nnb_column.nnb_image_both .img_wrap img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column.nnb_image_both .img_wrap img {
    height: 223px;
  }
}
.post_contents .nnb_column.nnb_image_both .img_wrap + .img_wrap {
  margin-top: 30px;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column.nnb_image_both .img_wrap + .img_wrap {
    margin-top: 0;
  }
}
.post_contents .nnb_column.nnb_three_column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  overflow-x: auto;
  gap: 10px;
  width: 100%;
  margin: 30px auto;
  padding: 0 20px;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 768px) {
  .post_contents .nnb_column.nnb_three_column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0;
  }
}
.post_contents .nnb_column.nnb_three_column .img_wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  scroll-snap-align: center;
}
.post_contents .nnb_column.nnb_three_column .nnb_image {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.post_contents .nnb_column.nnb_three_column img {
  max-width: initial;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .post_contents .nnb_column.nnb_three_column {
    gap: 30px;
  }
}
.post_contents .btn_arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin: 20px 0 0;
  padding: 10px 0;
  color: #4F2A11;
  text-align: left;
  line-height: 1.5;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
}
.post_contents .btn_arrow:hover {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.post_contents .btn_arrow span.yajirushi {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 60px;
  height: 1.6em;
}
.post_contents .btn_arrow span.yajirushi::before, .post_contents .btn_arrow span.yajirushi::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: rgba(79, 42, 17, 0.3);
  height: 1px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.post_contents .btn_arrow span.yajirushi::before {
  left: 48px;
  width: 12px;
  margin: auto;
  -webkit-transform: translateY(2px) rotate(30deg);
          transform: translateY(2px) rotate(30deg);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.post_contents .btn_arrow span.yajirushi::after {
  width: 60px;
  margin: auto;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
.post_contents .btn_arrow span.dashicons {
  margin-left: -5px;
  text-decoration: none;
}
.post_contents .btn_arrow:hover {
  color: #E73828;
}
.post_contents .btn_arrow:hover span.yajirushi::before, .post_contents .btn_arrow:hover span.yajirushi::after {
  background: #E73828;
}
.post_contents .btn_arrow.btn_showroom svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28px;
}
.post_contents .btn_arrow.btn_showroom span.btn_text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.post_contents .btn_nanba {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  padding: 10px 20px;
  color: #4F2A11;
  text-decoration: none;
  border: 1px solid #4F2A11;
  opacity: 1;
  border-radius: 100vmax;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.post_contents .btn_nanba img {
  -webkit-transition: 0.1s;
  transition: 0.1s;
}
.post_contents .btn_nanba:hover {
  background: #4F2A11;
  color: white;
}
.post_contents .btn_nanba:hover img {
  -webkit-filter: grayscale(100%) brightness(500%);
          filter: grayscale(100%) brightness(500%);
}
.post_contents .btn_wrap .btn_nanba {
  max-width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.post_contents .btn_wrap .btn_nanba .dashicons {
  width: 24px;
  height: 24px;
  font-size: 24px;
}
.post_contents .btn_form {
  padding: 10px 20px;
  font-size: 16px;
  color: #fff;
  border: none;
}
@media screen and (min-width: 960px) {
  .post_contents .acf-block-preview .jirei_gallery::before {
    display: none;
  }
}
.post_contents hr,
.post_contents hr.wp-block-separator {
  background: #D9D3CF;
  height: 1px;
  border-bottom: none;
  border-left: none;
  border-right: none;
  margin: 60px auto;
}
.post_contents .caution {
  margin: 20px 0 40px;
}
@media screen and (min-width: 960px) {
  .post_contents .caution {
    text-align: center !important;
  }
}
.post_contents .nnb_image img {
  height: auto;
}
.post_contents a {
  text-underline-offset: 1.4px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

.post_contents .post_main p {
  text-align: justify;
  line-height: 1.75;
}

/* =============================================
フォーム
============================================= */
.form_area {
  width: 100% !important;
  max-width: none !important;
  background-color: #fff;
  margin-top: 100px !important;
  padding: 50px 0 100px;
}
.form_area.event_form {
  border-radius: 10px;
  background: #F9F9F9;
  width: calc(100% - 20px) !important;
  max-width: 800px !important;
}
.form_area .post_content_main {
  max-width: 700px;
  margin: auto;
}
.form_area .ttl_kasen {
  text-align: center;
  font-family: "YakuHanMPs", "Zen Antique Soft", serif;
  font-size: 20px;
  font-weight: 400;
  position: relative;
  margin-bottom: 50px;
  padding-bottom: 20px;
}
.form_area .ttl_kasen + p {
  margin-bottom: 50px;
  letter-spacing: 1.6px;
}
.form_area .ttl_kasen::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #4F2A11;
  width: 60px;
  height: 2px;
  margin: auto;
}
.form_area .caption {
  margin: 60px auto;
  color: #4F2A11;
  text-align: center;
}
.form_area .content_wrap {
  max-width: 660px;
  margin-inline: auto;
  padding: 0 20px;
}
@media screen and (min-width: 960px) {
  .form_area .content_wrap {
    max-width: 1440px;
    padding: 0 40px;
  }
}
.form_area .sanka_form_info .sanka_dl {
  margin-bottom: 50px;
}

.contact_phone_box {
  margin: 60px auto;
}
@media screen and (min-width: 960px) {
  .contact_phone_box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 600px;
  }
}

.contact_phone_box .phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 960px) {
  .contact_phone_box .phone {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-preferred-size: 245px;
        flex-basis: 245px;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 960px) {
  .contact_phone_box:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 41%;
    right: auto;
    width: 2px;
    height: 100%;
    background: #DDDDDD;
    border-left: 1px solid #F9F9F9;
  }
}

.contact_phone_box .phone .phone_number {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  font-size: 32px;
  white-space: nowrap;
}

.contact_phone_box .phone .phone_number a {
  text-decoration: none;
}

.contact_phone_box .phone .icon_tel {
  -ms-flex-preferred-size: 32px;
  flex-basis: 32px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-top: 0.4em;
  fill: #4F2A11;
}

.contact_phone_box .phone_detail {
  margin: 0;
  padding: 0;
  display: block;
}
.contact_phone_box .phone_detail dt, .contact_phone_box .phone_detail dd {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-weight: 400;
  display: inline;
}
.contact_phone_box .phone_detail dt {
  margin-right: 0.5em;
}
.contact_phone_box .phone_detail dt:not(:first-of-type)::before {
  content: "";
  display: block;
}

/* =========================================
   Contact Form 7 共通スタイル
   ========================================= */
.wpcf7 {
  max-width: 640px;
  margin: auto;
  font-size: 16px;
}
.wpcf7 #events_nichiji_area .wpcf7-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 5px 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.wpcf7 #events_nichiji_area .wpcf7-list-item.full-class {
  color: #999;
  position: relative;
}
.wpcf7 #events_nichiji_area .wpcf7-list-item.full-class .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -5px;
  left: -5px;
  height: 1px;
  background: #999;
  margin: auto;
}
.wpcf7 #events_nichiji_area .wpcf7-list-item span.comment {
  display: inline-block;
  font-size: 90%;
  color: #666;
}
.wpcf7 .input_date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 10px;
  gap: 0 10px;
}
.wpcf7 .input_date .date_label {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.wpcf7 .input_date .date_cal,
.wpcf7 .input_date .date_time {
  -ms-flex-preferred-size: calc(50% - 5px);
      flex-basis: calc(50% - 5px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}
.wpcf7 .input_date .date_cal input[type=date],
.wpcf7 .input_date .date_time input[type=date] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #fff;
}
.wpcf7 .input_date:last-of-type {
  margin-bottom: 0;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_18],
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_24],
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_26] {
  position: relative;
  display: block;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_18]::after,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_24]::after,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_26]::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 20px;
  width: 12px;
  height: 12px;
  margin: auto;
  border-right: 1px solid #4F2A11;
  border-bottom: 1px solid #4F2A11;
  -webkit-transform: translateY(-2px) rotate(45deg);
          transform: translateY(-2px) rotate(45deg);
  pointer-events: none;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_18] select,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_24] select,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_26] select {
  background: #fff;
  color: #4F2A11;
  border: 1px solid #4F2A11;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_18] select.wpcf7-not-valid,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_24] select.wpcf7-not-valid,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_26] select.wpcf7-not-valid {
  margin-bottom: 1.5em;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_18] .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_24] .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_26] .wpcf7-not-valid-tip {
  position: absolute;
  bottom: 0;
}
.wpcf7 #events_nichiji_area .wpcf7-form-control-wrap[data-name=custom_18]::after {
  content: none;
}
.wpcf7 input[readonly] {
  background-color: #F0F0F0;
}
.wpcf7 .title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 5px;
}
@media screen and (min-width: 960px) {
  .wpcf7 .title {
    padding-top: 10px;
  }
}
.wpcf7 .req {
  margin-left: 0.3em;
  font-size: 12px;
  color: #E94709;
}
.wpcf7 .unit {
  display: block;
  margin-bottom: 30px;
}
@media screen and (min-width: 960px) {
  .wpcf7 .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.wpcf7 .val {
  -ms-flex-preferred-size: 420px;
      flex-basis: 420px;
}
.wpcf7 .form_caption {
  font-size: 12px;
  color: #E94709;
}
.wpcf7 input:not([type=radio]):not([type=submit])::-webkit-input-placeholder, .wpcf7 textarea::-webkit-input-placeholder {
  font-size: 12px;
  color: #e3a67c;
}
.wpcf7 input:not([type=radio]):not([type=submit])::-moz-placeholder, .wpcf7 textarea::-moz-placeholder {
  font-size: 12px;
  color: #e3a67c;
}
.wpcf7 input:not([type=radio]):not([type=submit]):-ms-input-placeholder, .wpcf7 textarea:-ms-input-placeholder {
  font-size: 12px;
  color: #e3a67c;
}
.wpcf7 input:not([type=radio]):not([type=submit])::-ms-input-placeholder, .wpcf7 textarea::-ms-input-placeholder {
  font-size: 12px;
  color: #e3a67c;
}
.wpcf7 input:not([type=radio]):not([type=submit])::placeholder,
.wpcf7 textarea::placeholder {
  font-size: 12px;
  color: #e3a67c;
}
.wpcf7 .wpcf7-not-valid-tip {
  color: #dc3232;
  font-weight: normal;
  font-size: 16px;
  display: block;
}
.wpcf7 .wpcf7-not-valid-tip {
  visibility: visible;
  opacity: 1;
  font-size: 16px;
  color: #E94709;
  white-space: nowrap;
}
.wpcf7 input:not([type=radio]):not([type=submit]),
.wpcf7 textarea {
  border: solid 1px #4F2A11;
  padding: 5px 10px;
  width: 100%;
  border-radius: 0;
  background-color: #fff;
}
.wpcf7 input:not([type=radio]):not([type=submit]) {
  height: 50px;
}
.wpcf7 textarea {
  height: 200px;
}
.wpcf7 select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #fff;
  width: 100%;
  height: 50px;
  padding: 5px 10px;
  border: 1px solid #4F2A11;
  border-radius: 0;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_19],
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_20] {
  position: relative;
}
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_19]::after,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_20]::after {
  content: "人";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1.5em;
  margin: auto;
  pointer-events: none;
}
.wpcf7 .name_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.wpcf7 .title .option {
  display: block;
  padding: 3px 0;
  color: #999999;
  font-size: 13px;
}
.wpcf7 input[type=checkbox],
.wpcf7 input[type=radio] {
  display: none;
}
.wpcf7 .ck_common .wpcf7-list-item {
  display: block;
  margin: 0 0 10px;
}
.wpcf7 .ck_common input[type=checkbox] + .wpcf7-list-item-label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding: 0;
}
.wpcf7 .ck_common input[type=checkbox] + .wpcf7-list-item-label::before {
  content: "";
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  border: solid 1px #000;
  background-color: #fff;
}
.wpcf7 .ck_common input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 8px;
  width: 15px;
  height: 20px;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  border-bottom: 4px solid #4F2A11;
  border-right: 4px solid #4F2A11;
}
.wpcf7 .rd_common .wpcf7-list-item {
  display: block;
  margin: 0 0 10px;
}
.wpcf7 .rd_common input[type=radio] + .wpcf7-list-item-label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding: 0;
}
.wpcf7 .rd_common input[type=radio] + .wpcf7-list-item-label::before {
  content: "";
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: solid 1px #000;
  background-color: #fff;
  border-radius: 100%;
}
.wpcf7 .rd_common input[type=radio]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 7px;
  background-color: #4F2A11;
  width: 10px;
  height: 10px;
  border-radius: 100%;
}
.wpcf7 .check_txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 0;
  line-height: 1;
  position: relative;
}
.wpcf7 .check_txt::before {
  content: "";
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  border: solid 1px #000;
  background-color: #fff;
}
.wpcf7 .check_txt a {
  text-decoration: underline;
}
.wpcf7 .check_area span.wpcf7-list-item {
  margin-left: 0;
}
.wpcf7 .check:checked + .wpcf7-list-item-label .check_txt::after {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 8px;
  width: 15px;
  height: 20px;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
  border-bottom: 4px solid #4F2A11;
  border-right: 4px solid #4F2A11;
}
.wpcf7 .check_area,
.wpcf7 .turnstile_area {
  margin-top: 30px;
}
@media screen and (min-width: 960px) {
  .wpcf7 .check_area,
  .wpcf7 .turnstile_area {
    width: 420px;
    margin-left: auto;
    margin-right: 0;
  }
}
.wpcf7 .btn_area {
  text-align: right;
  margin-top: 40px;
  display: block;
  position: relative;
}
.wpcf7 button,
.wpcf7 input[type=submit] {
  background: #4F2A11;
  color: #fff;
  border: none;
  border-radius: 30px;
  width: auto;
  height: 54px;
  padding: 0 46px;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
}
.wpcf7 button:not(:disabled),
.wpcf7 input[type=submit]:not(:disabled) {
  cursor: pointer;
}
.wpcf7 button:hover,
.wpcf7 input[type=submit]:hover {
  background: #E94709;
}
.wpcf7 .btn_area .send_group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.wpcf7 button#shusei,
.wpcf7 input[type=submit]#shusei {
  background: #666;
  font-size: 14px;
  padding: 0 16px;
}
.wpcf7 .wpcf7-spinner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  background-color: #4F2A11;
  margin: auto;
}
.wpcf7 .wpcf7-response-output {
  text-align: center;
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2;
}
form.init .wpcf7 .wpcf7-response-output, form.resetting .wpcf7 .wpcf7-response-output, form.submitting .wpcf7 .wpcf7-response-output {
  display: none;
}

.wpcf7 input:not([type=radio]):not([type=submit]).short {
  width: 50%;
}

.wpcf7 input:not([type=radio]):not([type=submit]) {
  height: 50px;
  width: 100%;
}

.wpcf7 .wpcf7-form-control-wrap[data-name=custom_19] .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-form-control-wrap[data-name=custom_20] .wpcf7-not-valid-tip {
  position: absolute;
}

/* =============================================
投稿詳細ページ:ページ送りナビ
============================================= */
.c-single-nav {
  margin-top: 30px;
  margin-bottom: 8.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-single-nav {
    margin-top: 73px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-single-nav a {
  text-decoration: none;
}

.c-single-nav__prev-wrap,
.c-single-nav__next-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  .c-single-nav__prev-wrap {
    position: absolute;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  .c-single-nav__next-wrap {
    position: absolute;
    right: 0;
  }
}

.c-single-nav__prev,
.c-single-nav__next {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  font-size: 14px;
}

.c-single-nav__next {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 6px;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-single-nav__next:hover {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
  opacity: 1;
}

.c-single-nav__prev {
  padding-left: 6px;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-single-nav__prev:hover {
  -webkit-transform: translateX(-5px);
          transform: translateX(-5px);
  opacity: 1;
}

/* 前の記事へのリンクの矢印を右側に配置 */
.c-single-nav__prev .label::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-single-nav__next .label {
  text-align: right;
}

/* 次の記事へのリンクの矢印を左側に配置 */
.c-single-nav__next .label::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.c-single-nav__next-box,
.c-single-nav__prev-box {
  background-color: #fff;
  padding: 13px 15px;
  cursor: pointer;
  position: relative;
  border-radius: 10px;
  background: #FFF;
  max-width: 270px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-single-nav__next-box {
  margin-left: auto;
}

.c-single-nav__title {
  font-size: 14px;
  margin-top: 5px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-underline-offset: 1.4px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

.c-single-nav__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.c-single-nav__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
  color: #666;
  font-size: 12px;
}

.c-single-nav__back-btn {
  margin-top: 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-single-nav__back-btn {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    margin-top: 35px;
  }
}

.c-single-nav__back {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 30px;
  border: 1px solid #4F2A11;
  font-size: 16px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.c-single-nav__back:hover {
  background-color: #4F2A11;
  color: #fff;
  opacity: 1;
}

/* SP の並び順 */
.c-single-nav__prev-wrap {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .c-single-nav__prev-wrap {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

.c-single-nav__next-wrap {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .c-single-nav__next-wrap {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

.c-single-nav__back-btn {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .c-single-nav__back-btn {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

/* =============================================
投稿内容
============================================= */
.wp-block-table {
  letter-spacing: 1.6px;
}

/* th（ヘッダー） */
.wp-block-table thead th {
  background-color: #E1D5CD;
  font-weight: 400;
  text-align: left;
}

/* ボディ行（通常行） */
.wp-block-table tbody td {
  background-color: #FFFFFF;
  text-align: left;
}

.wp-block-table thead {
  border-bottom: none;
}

.wp-block-table td,
.wp-block-table th {
  border: 1px solid #4F2A11;
  padding: 10px 15px;
}

/* =============================================
会社概要などの表
============================================= */
.c-info-list {
  margin: 50px auto !important;
}
.c-info-list dl {
  display: -ms-grid;
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid #D9D3CF;
}
@media screen and (min-width: 600px) {
  .c-info-list dl {
    -ms-grid-columns: -webkit-max-content 1fr;
    -ms-grid-columns: max-content 1fr;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
}
.c-info-list dt, .c-info-list dd {
  margin: 0;
}
.c-info-list dt {
  font-weight: 700;
  line-height: 1.5;
  padding: 10px 5px 2px;
}
@media screen and (min-width: 600px) {
  .c-info-list dt {
    border-bottom: 1px solid #D9D3CF;
    padding: 10px 30px 10px 15px;
  }
}
.c-info-list dd {
  line-height: 1.5;
  border-bottom: 1px solid #D9D3CF;
  padding: 0 5px 10px;
}
@media screen and (min-width: 600px) {
  .c-info-list dd {
    padding: 10px 15px;
  }
}

/* =============================================
幅100%のレスポンシブGoogleマップ
============================================= */
.c-fullmap {
  width: 100% !important;
  max-width: none !important;
}
.c-fullmap iframe {
  width: 100%;
  height: auto;
  border: none;
  aspect-ratio: 1/1;
  max-height: 700px;
}
@media screen and (min-width: 768px) {
  .c-fullmap iframe {
    aspect-ratio: 16/9;
  }
}

/* =============================================
リノベーションスタイルの一覧
HOME、About、施工事例詳細で使用
============================================= */
.c-renovation-style__list {
  margin: 30px auto !important;
  width: calc(100% - 60px) !important;
  max-width: 940px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none !important;
  padding: 0 !important;
}
.c-renovation-style__list li {
  margin: 0 !important;
}

.c-renovation-style__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 300px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #4F2A11;
  text-decoration: underline;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-renovation-style__link:hover {
  opacity: 1;
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
  -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
}

.c-renovation-style__img {
  width: 90px;
  position: relative;
  overflow: hidden;
  z-index: 0;
  height: auto;
  aspect-ratio: 90/60;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.c-renovation-style__img img {
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-renovation-style__title {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  margin-left: 16px;
  font-size: 14px;
}

/* =============================================
フッター上部のピックアップコンテンツ
============================================= */
.c-pickup-contents {
  margin: 150px auto 100px;
  width: calc(100% - 40px);
  max-width: 460px;
}
@media screen and (min-width: 960px) {
  .c-pickup-contents {
    max-width: 940px;
  }
}
.c-pickup-contents__title {
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  margin: 0 0 30px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", Arial, sans-serif;
}
.c-pickup-contents__itemwrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 15px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 15px;
}
@media screen and (min-width: 960px) {
  .c-pickup-contents__itemwrap {
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}
.c-pickup-contents__item {
  display: block;
  text-decoration: none;
  color: inherit;
  line-height: 1.5;
}
.c-pickup-contents__item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 220/147;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.c-pickup-contents__item__midashi {
  font-size: 16px;
  font-weight: bold;
  margin: 7px 0 5px;
}
.c-pickup-contents__item__exp {
  font-size: 14px;
}

/* =============================================
フッター上部のバナーエリア
============================================= */
.c-footer-banners {
  margin: 100px auto;
  width: calc(100% - 80px);
  max-width: 300px;
}
@media screen and (min-width: 768px) {
  .c-footer-banners {
    max-width: 950px;
  }
}
.c-footer-banners__itemwrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .c-footer-banners__itemwrap {
    -ms-grid-columns: 1fr 25px 1fr 25px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
  }
}
.c-footer-banners__itemwrap:nth-child(2) {
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .c-footer-banners__itemwrap:nth-child(2) {
    margin-top: 25px;
  }
}
.c-footer-banners__item {
  display: block;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
}
.c-footer-banners__item img {
  display: block;
  aspect-ratio: 300/240;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-footer-banners__item--small img {
  aspect-ratio: 300/130;
}

body.single-post .parts-box-title,
body.single-post .parts-box-white,
body.single-post .parts-heading1,
body.single-post .parts-infoBox,
body.single-post .toc,
body.single-jirei .parts-box-title,
body.single-jirei .parts-box-white,
body.single-jirei .parts-heading1,
body.single-jirei .parts-infoBox,
body.single-jirei .toc {
  background-color: #F2EEE8;
}

/* =============================================
ハンバーガー🍔メニュー
============================================= */
.c-hamburger {
  position: fixed;
  z-index: 7000;
  top: 10px;
  right: 10px;
  width: 58px;
  height: 58px;
  cursor: pointer;
  background-color: transparent;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid #4F2A11;
  -webkit-transition: right 0.5s ease, background-color 0.3s ease;
  transition: right 0.5s ease, background-color 0.3s ease;
}
@media screen and (min-width: 600px) {
  .c-hamburger {
    top: 20px;
    right: 20px;
  }
}
@media screen and (min-width: 1440px) {
  .c-hamburger {
    top: 500px;
    right: 145px;
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.c-hamburger:hover {
  background-color: #4F2A11;
  opacity: 1;
}
.c-hamburger:hover .c-hamburger__line {
  background-color: #fff;
}
.c-hamburger:hover .c-hamburger__text {
  color: #fff;
}
.c-hamburger:hover.-active .c-hamburger__line {
  background-color: #fff;
}
.c-hamburger:hover.-active .c-hamburger__text {
  color: #fff;
}

.c-hamburger__line {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #4F2A11;
  position: absolute;
  display: inline-block;
  height: 1px;
  padding: 0 16px;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-hamburger__line:nth-child(1) {
  top: 15px;
}

.c-hamburger__line:nth-child(2) {
  top: 25px;
}

.c-hamburger.-active {
  border-color: #fff;
}
@media screen and (min-width: 1440px) {
  .c-hamburger.-active {
    right: 20px;
    border-color: #4F2A11;
  }
}

.c-hamburger.-active .c-hamburger__line:nth-child(1) {
  top: 40%;
  -webkit-transform: translate(-50%, -50%) rotate(30deg);
          transform: translate(-50%, -50%) rotate(30deg);
}

.c-hamburger.-active .c-hamburger__line:nth-child(2) {
  top: 40%;
  -webkit-transform: translate(-50%, -50%) rotate(-30deg);
          transform: translate(-50%, -50%) rotate(-30deg);
}

.c-hamburger.-active .c-hamburger__line {
  background-color: #fff;
}
@media screen and (min-width: 1440px) {
  .c-hamburger.-active .c-hamburger__line {
    background-color: #4F2A11;
  }
}

.c-hamburger .c-hamburger__text {
  width: 100%;
  position: absolute;
  top: 30px;
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-transform: uppercase;
  color: #4F2A11;
  font-size: 10px;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
}

.c-hamburger.-active .c-hamburger__text {
  color: #fff;
}
@media screen and (min-width: 1440px) {
  .c-hamburger.-active .c-hamburger__text {
    color: #4F2A11;
    top: 32px;
  }
}

/* =============================================
ドロワーメニュー
============================================= */
.p-drawer-menu {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 5000;
  background-color: #160B06;
  overflow-y: auto;
  /* 中身だけスクロール可能に */
  -webkit-overflow-scrolling: touch;
  /* iOS対策（慣性スクロール） */
  color: rgba(255, 255, 255, 0.8);
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 1rem;
}
@media screen and (max-width: 1439px) {
  .p-drawer-menu {
    -webkit-transform: translateX(0) !important;
            transform: translateX(0) !important;
  }
}
@media screen and (min-width: 1440px) {
  .p-drawer-menu {
    width: calc(100% - 100px);
    -webkit-transform: translateX(-350px);
            transform: translateX(-350px);
  }
}

.p-drawer-menu__inner {
  padding: 80px 10% 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1090px) {
  .p-drawer-menu__inner {
    padding: 30px 50px 50px;
  }
}
@media screen and (min-width: 1440px) {
  .p-drawer-menu__inner {
    padding: 1.75rem 2.375rem 8.125rem 5.875rem;
    width: calc(100% - 100px);
    max-width: 1340px;
    margin-inline: auto;
  }
}

@media screen and (min-width: 1440px) {
  .p-drawer-menu__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
  }
}

@media screen and (min-width: 1440px) {
  .p-drawer-menu__open-right {
    width: 100px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background-color: #fff;
    background-image: url(../images/common/base-bg.jpg;);
    background-repeat: repeat;
    background-position: center;
    background-size: 700px;
  }
}

.p-drawer-menu__left {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 600px) {
  .p-drawer-menu__left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1090px) {
  .p-drawer-menu__left {
    margin: 0;
    min-width: 300px;
  }
}

.p-drawer-menu__order02 {
  display: contents;
}
@media screen and (min-width: 1090px) {
  .p-drawer-menu__order02 {
    display: block;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 7.5rem;
    gap: 3.75rem;
  }
}

.p-drawer-menu__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.375rem;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.p-drawer-menu__banner {
  margin-top: 2.8125rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 600px) {
  .p-drawer-menu__banner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 5.625rem;
  }
}
@media screen and (min-width: 1090px) {
  .p-drawer-menu__banner {
    margin-top: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-left: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-right: 70px;
  }
}
@media screen and (min-width: 1440px) {
  .p-drawer-menu__banner {
    padding-right: 0;
  }
}

.p-drawer-menu__companyLogo {
  margin-top: 56px;
}

.c-logo {
  width: 214px;
  margin-right: auto;
}

.c-logo img {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-drawer-menu__companyInfo {
  margin-top: 24px;
}

/* =============================================
wpが出すナビスタイリング/global-navigation
グローバルmenu/SPハンバーガー展開/PCフッターメニュー
============================================= */
/* =============================================
共通デザイン（ドロワー & フッター）
============================================= */
.global-list > li > a {
  font-size: 16px;
  display: block;
  border-radius: 27px;
  background: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
  padding: 6px 12px;
  gap: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #40210F;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.global-list > li > a:hover {
  -webkit-transform: translateX(-5px);
          transform: translateX(-5px);
  opacity: 1;
}

.global-list li > ul a {
  font-size: 16px;
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: #FFF;
  width: 100%;
  color: rgba(255, 255, 255, 0.8);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.global-list li > ul a:hover {
  -webkit-transform: translateX(-5px);
          transform: translateX(-5px);
  opacity: 1;
}

.global-list li + li {
  margin-top: 15px;
}
@media screen and (min-width: 1090px) {
  .global-list li + li {
    margin-top: 11px;
  }
}

.global-list li > ul li:first-child {
  margin-top: 15px;
}

.sub-menu {
  padding-left: 1em;
}

/* PC時の共通3カラムレイアウト */
/* =============================================
SPメニュー (#sp-menu) → XLで3カラムメニューは画面幅に応じて変
============================================= */
@media screen and (min-width: 600px) {
  #sp-menu {
    -webkit-columns: 2;
       -moz-columns: 2;
            columns: 2;
    -webkit-column-gap: 6.25rem;
       -moz-column-gap: 6.25rem;
            column-gap: 6.25rem;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 600px) and (min-width: 960px) {
  #sp-menu {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    -webkit-columns: 3;
       -moz-columns: 3;
            columns: 3;
    max-width: 900px;
  }
}
@media screen and (min-width: 600px) {
  #sp-menu > li.is-home {
    -webkit-column-span: all;
    /* Safari対応 */
    -moz-column-span: all;
         column-span: all;
    display: block;
    margin-bottom: 28px;
  }
  #sp-menu > li {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
    min-width: 200px;
  }
  #sp-menu > li:nth-of-type(2) {
    margin-top: 0;
  }
  #sp-menu > li + li {
    margin-top: 28px;
  }
}

/* =============================================
PCフッターメニュー (#pc-footer-menu) → LGで3カラム
============================================= */
@media screen and (min-width: 1090px) {
  #pc-footer-menu {
    -webkit-columns: 3;
       -moz-columns: 3;
            columns: 3;
  }
  #pc-footer-menu > li {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
    min-width: 200px;
  }
  #pc-footer-menu > li.is-home {
    -webkit-column-span: all;
    -moz-column-span: all;
         column-span: all;
    display: block;
    margin-bottom: 28px;
  }
  #pc-footer-menu > li + li {
    margin-top: 28px;
  }
  #pc-footer-menu > li:nth-of-type(2) {
    margin-top: 0;
  }
}
/* =============================================
wpが出すナビスタイリング/main-navigation
メインmenu/5個項目/PCヘッダーメニュー
============================================= */
.main-navigation__list {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  display: -ms-grid;
  display: grid;
  place-content: center;
  font-size: 14px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  gap: 10px;
  margin: 0 auto;
}

.main-navigation ul li a {
  display: block;
  padding: 10px 5px;
  letter-spacing: 0.3em;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.main-navigation ul li a:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  opacity: 1;
}

/* =============================================
wpが出すナビスタイリング/main-navigation
メインmenu/5個項目SPフッター
============================================= */
#sp-footer-navigation .main-navigation__list {
  color: #fff;
}

.current-menu-item > a {
  color: #E73828 !important;
  pointer-events: none !important;
  text-decoration: none !important;
}

/* =============================================
会社情
============================================= */
.companyInfo {
  color: rgba(255, 255, 255, 0.8);
}

.c-companyInfo__logo {
  max-width: 246px;
}

.c-companyInfo__logo img {
  -o-object-fit: contain;
     object-fit: contain;
}

.c-companyInfo__address {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8461538462;
  font-style: normal;
}

.c-companyInfo__banner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 15px;
}

.c-companyInfo__banner-img {
  width: 40%;
}
.c-companyInfo__banner-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-companyInfo__banner-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  border-radius: 5px;
  width: 220px;
  -webkit-box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-companyInfo__banner-link:hover {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
  opacity: 1;
}

.c-companyInfo__banner-text {
  font-size: 14px;
  line-height: 1.2857142857;
  background-color: #fff;
  padding: 12px 32px 12px 12px;
  position: relative;
  color: #40210F;
  width: 60%;
}

.c-companyInfo__banner-text::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 40%;
  right: 16px;
}

.c-snsIcons__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 15px;
}

.c-snsIcons__item {
  width: 40px;
  height: 40px;
}

.c-snsIcons__link {
  height: inherit;
  display: -ms-grid;
  display: grid;
  place-content: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-snsIcons__link:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 1;
}

/* ===========================
共通
=========================== */
.wp-block-columns {
  display: block;
  gap: 0;
}

.wp-block-group figcaption,
.wp-block-column figcaption {
  margin: 0;
  padding: 0;
}

/* ===========================
区切り線
=========================== */
.wp-block-separator.parts-hr {
  border: none;
  max-width: 700px;
  margin: 80px auto !important;
  background: #D9D3CF;
  height: 1px;
  border-top: 0;
}

/* ===========================
ボタン1borderあり
=========================== */
.parts-button1 {
  text-align: center !important;
  margin: 50px auto !important;
  width: calc(100% - 1.25rem);
  max-width: 700px;
}
.parts-button1 a {
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.parts-button1 a:hover {
  background-color: #4F2A11 !important;
  border-color: #4F2A11 !important;
  color: #fff;
  opacity: 1;
}
.parts-button1.red a {
  background-color: #E73828;
  color: #fff;
  border-color: #E73828;
}

.parts-button1 a {
  display: inline-block;
  padding: 10px 20px;
  color: #4F2A11;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 1.6px;
  border: 1px solid currentColor;
  border-radius: 100vmax;
  text-decoration: none !important;
}

/* ===========================
ボタン2borderあり
=========================== */
.parts-button2 {
  width: calc(100% - 1.25rem);
  max-width: 940px;
  margin: 50px auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

/* aタグ本体 */
.parts-button2 a {
  position: relative;
  display: inline-block;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1.6px;
  padding-left: 20px;
  max-width: 75%;
  text-decoration: none !important;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.parts-button2 a:hover {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
  opacity: 1;
}

.parts-button2 a:before,
.parts-button2 a:after {
  position: absolute;
  top: 56%;
  right: 100%;
  height: 1px;
  stroke-width: 1px;
  background-color: rgba(79, 42, 17, 0.3);
  content: "";
}

/* 横線 */
.parts-button2 a:before {
  width: 58px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.parts-button2 a:after {
  width: 12px;
  -webkit-transform: translateY(-50%) rotate(25deg);
          transform: translateY(-50%) rotate(25deg);
  -webkit-transform-origin: right center;
          transform-origin: right center;
}

.c-single-contents .parts-button2 {
  padding: 0;
}

/* =============================================
3カラムパーツ/parts-columns3/（sp縦済み/pc横並び3カラム）
============================================= */
.wp-block-columns.parts-columns3 {
  width: calc(100% - 2.5rem);
  max-width: 500px;
  margin: 50px auto !important;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: 0.625rem;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-columns3 {
    -ms-grid-columns: 1fr 2.5rem 1fr 2.5rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    max-width: 940px;
    width: calc(100% - 100px);
    row-gap: 0.625rem;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }
}
.wp-block-columns.parts-columns3 .wp-block-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; /* 横方向も左寄せ */
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; /* 縦方向上詰め */
}
.wp-block-columns.parts-columns3 .wp-block-column figure {
  width: 100%;
}
.wp-block-columns.parts-columns3 .wp-block-column figure img {
  width: 100%;
  height: auto;
  display: block;
}
.wp-block-columns.parts-columns3 .wp-block-column > figure + p {
  color: #40210F;
  font-size: 16px;
  font-weight: 800;
  line-height: 24px;
  margin-top: 0.3125rem;
}
.wp-block-columns.parts-columns3 .wp-block-column > p {
  color: #40210F;
  font-size: 14px;
  font-weight: 300;
  line-height: 24px;
  margin-top: 0.3125rem;
}
.wp-block-columns.parts-columns3 .wp-block-column > p a {
  color: inherit;
  text-decoration: underline;
}
.wp-block-columns.parts-columns3 .wp-block-column:not(:first-child) {
  margin-top: 3.125rem;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-columns3 .wp-block-column:not(:first-child) {
    margin-top: 0;
  }
}

/* ===========================
parts-image-single（画像1+キャプション） 700pxがmax
=========================== */
.wp-block-image.parts-image-single {
  width: calc(100% - 2.5rem);
  max-width: 700px;
  margin: 50px auto;
}
.wp-block-image.parts-image-single img {
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-image.parts-image-single figcaption {
  margin-top: 3px;
  color: #4F2A11;
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
}

/* ===========================
parts-image-columns2（画像12キャプション） 800pxがmax
=========================== */
.wp-block-columns.parts-image-columns2 {
  width: calc(100% - 2.5rem);
  max-width: 600px;
  margin: 50px auto !important;
}
@media screen and (min-width: 600px) {
  .wp-block-columns.parts-image-columns2 {
    width: calc(100% - 100px);
    display: -ms-grid !important;
    display: grid !important;
    -ms-grid-columns: 1fr 3.125rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.125rem;
    max-width: 700px;
  }
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-image-columns2 {
    max-width: 800px;
  }
}
.wp-block-columns.parts-image-columns2 figcaption {
  margin-top: 3px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 2px;
  text-align: left;
}

.wp-block-columns.parts-image-columns2 .wp-block-column:not(:first-child) {
  margin-top: 3.125rem;
}
@media screen and (min-width: 600px) {
  .wp-block-columns.parts-image-columns2 .wp-block-column:not(:first-child) {
    margin-top: 0;
  }
}

/* ===========================
   parts-heading1（h2タイトル） mdまで700pxがmax
=========================== */
.wp-block-heading.parts-heading1 {
  width: calc(100% - 1.25rem);
  max-width: 800px;
  margin: 80px auto 50px !important;
  padding: 0.625rem;
  color: #E73828;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 1.25rem;
  font-weight: 400;
  border-right: 1px solid #4F2A11;
  border-left: 1px solid #4F2A11;
  background: #FFF;
}
@media screen and (min-width: 960px) {
  .wp-block-heading.parts-heading1 {
    max-width: 800px;
    font-size: 24px;
  }
}

/* ===========================
   parts-heading2（h2タイトル） 700pxがmax
=========================== */
.wp-block-heading.parts-heading2 {
  width: calc(100% - 1.25rem);
  margin: 80px auto 50px !important;
  padding: 0.625rem;
  color: #FFF;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  background: #E73828;
}
@media screen and (min-width: 600px) {
  .wp-block-heading.parts-heading2 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.625rem 1.875rem;
    max-width: 800px;
  }
}
@media screen and (min-width: 960px) {
  .wp-block-heading.parts-heading2 {
    padding: 0.625rem 3.125rem;
    font-size: 24px;
  }
}

/* ===========================
   parts-heading3（h2タイトル背景なし） 700pxがmax
=========================== */
.wp-block-heading.parts-heading3 {
  width: calc(100% - 2.5rem);
  max-width: 700px;
  margin: 80px auto 50px !important;
  color: #40210F;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", Arial, sans-serif;
}

/* ===========================
赤文字見出しh3
=========================== */
.wp-block-group.parts-heading-red {
  width: calc(100% - 2.5rem);
  max-width: 700px;
  margin: 50px auto 10px !important;
}

.parts-heading-red .wp-block-group__inner-container > * {
  margin: 0;
  padding: 0;
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
}

/* ===========================
赤背景色小見出し
=========================== */
.wp-block-group.parts-bg-red {
  width: calc(100% - 2.5rem);
  max-width: 700px;
  margin: 50px auto 10px !important;
}

.parts-bg-red .wp-block-group__inner-container > * {
  margin: 0;
  padding: 0;
  color: #FFF;
  font-size: 14px;
  background: #E73828;
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 400;
}

/* ===========================
赤背景色小見出し
=========================== */
.parts-text700 {
  margin: 0;
  padding: 0;
  margin-top: 10px;
  padding: 0 0.625rem;
  max-width: 700px;
  margin-inline: auto;
  font-size: 16px;
  line-height: 2;
}

/* ===========================
白半透明ボックス
=========================== */
.wp-block-group.parts-box-white {
  width: calc(100% - 1.25rem);
  max-width: 600px;
  margin: 50px auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (min-width: 600px) {
  .wp-block-group.parts-box-white {
    padding: 30px 0;
  }
}

/* 中身の全要素共通スタイル */
.wp-block-group.parts-box-white > .wp-block-group__inner-container > * {
  width: calc(100% - 30px);
  margin: 10px auto;
}
@media screen and (min-width: 768px) {
  .wp-block-group.parts-box-white > .wp-block-group__inner-container > * {
    width: calc(100% - 100px);
  }
}
.wp-block-group.parts-box-white > .wp-block-group__inner-container > * a {
  color: inherit;
  text-decoration: underline;
}

/* ===========================
toc（目次ブロック）
=========================== */
.parts {
  width: 100%;
}

.wp-block-group.toc {
  width: calc(100% - 2.5rem);
  max-width: 600px !important;
  margin: 80px auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  padding: 1.875rem 0.9375rem 0.625rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.5);
  /* ol ラッパー全体を明確にリセット */
  /* 数字（マーカー）を擬似要素で追加 */
}
@media screen and (min-width: 1440px) {
  .wp-block-group.toc {
    padding: 35px 43px 36px 44px;
  }
}
.wp-block-group.toc .wp-block-group__inner-container {
  width: 100%;
}
@media screen and (min-width: 600px) {
  .wp-block-group.toc .wp-block-group__inner-container {
    width: 90%;
  }
}
.wp-block-group.toc .toc_title {
  text-align: center;
}
.wp-block-group.toc .wp-block-list,
.wp-block-group.toc .wp-block-list ol,
.wp-block-group.toc .wp-block-list ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.wp-block-group.toc .wp-block-list li {
  list-style: none !important;
  position: relative;
  counter-increment: toc-counter;
  padding-left: 1.2em;
}
.wp-block-group.toc .wp-block-list ol {
  counter-reset: toc-counter;
  margin: 0;
  padding: 0;
}
.wp-block-group.toc .wp-block-list li {
  counter-increment: toc-counter;
  position: relative;
  padding-left: 1.2em;
  font-size: 16px;
  line-height: 2;
  text-underline-offset: 1.5px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: #4F2A11;
}
.wp-block-group.toc .wp-block-list li::before {
  content: counter(toc-counter) ".";
  position: absolute;
  left: 0;
}
.wp-block-group.toc a:hover {
  opacity: 1;
  color: #E73828;
}

.editor-styles-wrapper .toc {
  position: relative;
  padding: 35px 43px 36px 44px;
}
.editor-styles-wrapper .toc p {
  margin: 0;
}
.editor-styles-wrapper .toc ol {
  display: none;
}

.editor-styles-wrapper .toc .wp-block-group__inner-container::after {
  content: "ここに自動的に見出し2が目次として表示されます";
  display: block;
  margin-block: 10px;
  font-size: 14px;
  padding: 8px;
  border: 1px dashed #ccc;
  color: #666;
}

/* ===========================
白背景タイトル付き
=========================== */
.wp-block-group.parts-box-title {
  width: calc(100% - 1.25rem);
  max-width: 700px;
  margin: 50px auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: 1px solid #E73828;
  border-bottom: 1px solid #E73828;
  background: #FFF;
  position: relative;
  padding-bottom: 10px;
}

.wp-block-group.parts-box-title {
  /* headの後に来る全要素共通スタイル */
}
.wp-block-group.parts-box-title .parts-box-title-head {
  color: #FFF;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  font-weight: 400;
  margin: 0;
  padding: 2px 15px;
  background-color: #E73828;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1.25rem;
}
.wp-block-group.parts-box-title .parts-box-title-head ~ * {
  width: calc(100% - 30px);
  margin: 10px auto;
}
@media screen and (min-width: 768px) {
  .wp-block-group.parts-box-title .parts-box-title-head ~ * {
    width: calc(100% - 100px);
  }
}
.wp-block-group.parts-box-title .parts-box-title-head ~ * a {
  color: inherit;
  text-decoration: underline;
}

/* ===========================
タイル///
=========================== */
.wp-block-columns.parts-tiles {
  margin: 0 auto !important;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 1440px;
  width: 100% !important;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-tiles {
    height: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.wp-block-columns.parts-tiles .c-label-title {
  position: absolute;
  color: #E73828;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  padding: 20px 10px;
  border-top: 1px solid #4F2A11;
  border-bottom: 1px solid #4F2A11;
  background: #FFF;
  z-index: 10;
  margin: 0;
  opacity: 0;
}
.wp-block-columns.parts-tiles .wp-block-image {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-tiles .wp-block-image {
    height: 100%;
  }
}
.wp-block-columns.parts-tiles .wp-block-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-columns.parts-tiles .wp-block-column .parts-tiles-head {
  color: #E73828;
  font-size: 20px;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
  margin-bottom: 2.5rem;
}
.wp-block-columns.parts-tiles .parts-tiles-text-box {
  background: #fff;
  padding: 3.125rem 6%;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-tiles .parts-tiles-text-box {
    padding: 9.375rem 4.375rem;
    display: -ms-grid;
    display: grid;
    place-content: center;
  }
}
.wp-block-columns.parts-tiles .parts-tiles-text-box > * + * {
  margin-top: 1.25rem;
}
.wp-block-columns.parts-tiles .parts-tiles-text-box a {
  color: inherit;
  text-decoration: underline;
}
.wp-block-columns.parts-tiles .parts-tiles-text-box p {
  text-align: justify;
  font-size: 16px;
  line-height: 32px;
}

.parts-tiles .wp-block-column {
  position: relative;
}
.parts-tiles .wp-block-column .wp-block-image.parts-image-single {
  margin: 0;
}

.wp-block-columns.parts-tiles.parts-tiles-text-left {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.wp-block-columns.parts-tiles.parts-tiles-text-left .c-label-title {
  top: 10px;
  right: 10px;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-tiles.parts-tiles-text-left .c-label-title {
    top: 30px;
    right: 30px;
  }
}

.wp-block-columns.parts-tiles.parts-tiles-text-right .c-label-title {
  top: 10px;
  left: 10px;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-tiles.parts-tiles-text-right .c-label-title {
    top: 30px;
    left: 30px;
    z-index: 10;
  }
}

@media screen and (min-width: 960px) {
  .wp-block-columns.parts-tiles .wp-block-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    margin: 0;
    max-width: none;
  }
}

.wp-block-columns .wp-block-image.parts-image-single {
  max-width: initial;
}

/* ===========================
parts-mediaBox(画像タイトル＋テキスト)※タイトルは編集時削除できる
=========================== */
.wp-block-columns.parts-mediaBox {
  width: calc(100% - 2.5rem);
  max-width: 500px;
  margin: 50px auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-mediaBox {
    max-width: 800px;
    width: calc(100% - 100px);
    display: -ms-grid;
    display: grid;
    --mediaBox-gap: 2.5rem;
    gap: var(--mediaBox-gap);
    -ms-grid-columns: calc(40% - var(--mediaBox-gap) / 2) var(--mediaBox-gap) calc(60% - var(--mediaBox-gap) / 2);
    grid-template-columns: calc(40% - var(--mediaBox-gap) / 2) calc(60% - var(--mediaBox-gap) / 2);
  }
}
.wp-block-columns.parts-mediaBox .wp-block-image {
  margin-bottom: 15px;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-mediaBox .wp-block-image {
    margin-bottom: 0;
  }
}
.wp-block-columns.parts-mediaBox .wp-block-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 960px) {
  .parts-mediaBox .parts-mediaBox-text {
    width: auto;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.parts-mediaBox .parts-mediaBox-text .parts-mediaBox-heading {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  margin: 0;
  margin-bottom: 10px;
}
.parts-mediaBox .parts-mediaBox-text > * {
  text-align: justify;
  font-size: 16px;
  line-height: 32px;
}
.parts-mediaBox .parts-mediaBox-text > * a {
  color: inherit;
  text-decoration: underline;
}

/* =============================================
反転（スマホ時のみ）
============================================= */
.parts-mediaBox.parts-mediaBox-02 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  /* タブレット以上では「通常（column→grid）」に戻す */
}
@media screen and (min-width: 960px) {
  .parts-mediaBox.parts-mediaBox-02 {
    --mediaBox-gap: 2.5rem;
    -ms-grid-columns: calc(60% - var(--mediaBox-gap) / 2) calc(40% - var(--mediaBox-gap) / 2);
    grid-template-columns: calc(60% - var(--mediaBox-gap) / 2) calc(40% - var(--mediaBox-gap) / 2);
  }
}

/* ===========================
画像ギャラリー
=========================== */
/* =========================================
   parts-gallery：WordPressデフォルトスタイルをリセットして独自制御
   ========================================= */
.wp-block-gallery.parts-gallery {
  /* WPが使う変数をリセット */
  --wp--style--unstable-gallery-gap: 0 !important;
  --wp--style--gallery-gap-default: 0 !important;
  --gallery-block--gutter-size: 0 !important;
  --wp--style--block-gap: 0 !important;
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px !important;
  width: calc(100% - 2.5rem);
  max-width: 620px;
  margin: 80px auto;
  /* WordPressのデフォルトcalc幅を強制的に打ち消す */
  /* 各画像の中身 */
}
@media screen and (min-width: 600px) {
  .wp-block-gallery.parts-gallery {
    width: calc(100% - 100px);
    -ms-grid-columns: minmax(0, 1fr) 0.9375rem minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9375rem;
    padding: 0;
  }
}
@media screen and (min-width: 960px) {
  .wp-block-gallery.parts-gallery {
    max-width: 960px;
    -ms-grid-columns: minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
  }
}
.wp-block-gallery.parts-gallery.has-nested-images figure.wp-block-image {
  max-width: 300px !important;
  margin: 0 auto !important;
  -webkit-box-flex: 0 !important;
      -ms-flex: none !important;
          flex: none !important;
  aspect-ratio: 1/1;
}
.wp-block-gallery.parts-gallery img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.wp-block-group.parts-slideBox,
.wp-block-group.parts-slideBox3 {
  max-width: 1440px;
  margin: 0 auto;
}
.wp-block-group.parts-slideBox .wp-block-group__inner-container,
.wp-block-group.parts-slideBox3 .wp-block-group__inner-container {
  overflow: hidden;
}
.wp-block-group.parts-slideBox .wp-block-columns,
.wp-block-group.parts-slideBox3 .wp-block-columns {
  gap: 2px;
  /* Gutenbergのカラム設定をリセット */
  display: -ms-grid !important;
  display: grid !important;
  grid-auto-flow: column;
  margin: 0 !important;
}
@media screen and (min-width: 768px) {
  .wp-block-group.parts-slideBox .wp-block-columns .wp-block-column,
  .wp-block-group.parts-slideBox3 .wp-block-columns .wp-block-column {
    -ms-flex-preferred-size: 0 !important;
        flex-basis: 0 !important;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.wp-block-group.parts-slideBox .swiper-wrapper,
.wp-block-group.parts-slideBox3 .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.wp-block-group.parts-slideBox .swiper-slide,
.wp-block-group.parts-slideBox3 .swiper-slide {
  margin-left: -1px;
}
@media screen and (min-width: 768px) {
  .wp-block-group.parts-slideBox .swiper-slide,
  .wp-block-group.parts-slideBox3 .swiper-slide {
    margin-left: 0;
  }
}

/* ===========================
写真4枚キャプション付き
=========================== */
.wp-block-columns.parts-image-4 {
  width: calc(100% - 2.5rem);
  max-width: 940px;
  margin: 80px auto !important;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 7px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
  row-gap: 20px;
}
@media screen and (min-width: 600px) {
  .wp-block-columns.parts-image-4 {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
    width: calc(100% - 100px);
  }
}
.wp-block-columns.parts-image-4 figcaption {
  margin-top: 3px;
  color: #40210F;
  text-align: center;
  font-size: 14px;
}

/* ===========================
赤背景色小見出し
=========================== */
.wp-block-group.parts-before-after {
  width: calc(100% - 2.5rem);
  max-width: 800px;
  margin: 50px auto !important;
}
@media screen and (min-width: 600px) {
  .wp-block-group.parts-before-after {
    width: calc(100% - 100px);
  }
}

@media screen and (min-width: 600px) {
  .wp-block-group.parts-before-after .wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.parts-before-after .wp-block-group.before,
.parts-before-after .wp-block-group.after {
  position: relative;
}

.parts-before-after .wp-block-group.before figcaption,
.parts-before-after .wp-block-group.after figcaption {
  margin-top: 3px;
  color: #40210F;
  font-size: 14px;
  line-height: 1.5;
}

@media screen and (min-width: 600px) {
  .parts-before-after .wp-block-group.before {
    -ms-flex-preferred-size: 37%;
        flex-basis: 37%;
  }
}
.parts-before-after .wp-block-group.before p {
  color: #FFF;
  font-size: 20px;
  position: absolute;
  background: #40210F;
  padding: 2px 5px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  top: 0;
  left: 0;
  line-height: 1;
}
.parts-before-after .wp-block-group.before figcaption {
  margin-bottom: 20px;
  text-align: left;
}
@media screen and (min-width: 600px) {
  .parts-before-after .wp-block-group.before figcaption {
    padding-right: 20px;
  }
}
.parts-before-after .wp-block-group.before figure {
  max-width: 83.5%;
}
@media screen and (min-width: 600px) {
  .parts-before-after .wp-block-group.before figure {
    max-width: none;
  }
}

@media screen and (min-width: 600px) {
  .parts-before-after .wp-block-group.after {
    -ms-flex-preferred-size: 63%;
        flex-basis: 63%;
  }
}
.parts-before-after .wp-block-group.after p {
  line-height: 1;
  color: #FFF;
  font-size: 20px;
  background: #E73828;
  padding: 2px 5px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width: 600px) {
  .parts-before-after .wp-block-group.after figcaption {
    text-align: right;
    padding-left: 20px;
  }
}

/* ===========================
制度説明・注意書き(brown+red)
=========================== */
.wp-block-group.parts-infoBox {
  width: calc(100% - 1.25rem);
  max-width: 700px;
  margin: 50px auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #FFF;
  position: relative;
  padding-bottom: 10px;
}

.wp-block-group.parts-infoBox .parts-infoBox-head {
  color: #EB8B2D;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  padding: 5px 15px;
  background-color: #40210F;
  margin-bottom: 1.25rem;
  margin-top: 0;
}

/* headの後に来る全要素共通スタイル */
.wp-block-group.parts-infoBox .parts-infoBox-head ~ * {
  width: calc(100% - 30px);
  margin: 20px auto !important;
}
@media screen and (min-width: 768px) {
  .wp-block-group.parts-infoBox .parts-infoBox-head ~ * {
    width: calc(100% - 100px);
  }
}
.wp-block-group.parts-infoBox .parts-infoBox-head ~ * a {
  color: inherit;
  text-decoration: underline;
}

.wp-block-group.parts-infoBox.parts-infoBox-red .parts-infoBox-head {
  background-color: #E73828;
  color: #FFF;
}

/* ===========================
Q&Aパーツ
=========================== */
.wp-block-group.parts-qa {
  width: calc(100% - 2.5rem);
  max-width: 700px;
  margin: 20px auto !important;
}
@media screen and (min-width: 600px) {
  .wp-block-group.parts-qa {
    width: calc(100% - 100px);
  }
}

.parts-qa__question {
  background-color: #3b1d0f;
  color: #fff;
  padding: 8px 15px 8px 0;
  position: relative;
  top: 25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - 0.9375rem);
}
@media screen and (min-width: 768px) {
  .parts-qa__question {
    padding: 10px 20px 10px 0;
    max-width: calc(100% - 1.875rem);
  }
}

.parts-qa__label {
  position: absolute;
  top: 0;
  left: 7px;
  color: #FFF;
  font-family: "YakuHanMPs", "Cormorant SC", serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1 !important;
}
@media screen and (min-width: 768px) {
  .parts-qa__label {
    left: 15px;
    top: 2px;
  }
}

.parts-qa__question-text {
  line-height: 1.5;
  font-size: 16px;
  margin-left: 40px;
}
@media screen and (min-width: 960px) {
  .parts-qa__question-text {
    font-size: 18px;
    margin-left: 50px;
  }
}

.parts-qa__answer {
  font-size: 16px;
  border-radius: 10px;
  background: #DDD;
  padding: 40px 15px 15px;
  margin-left: 0.9375rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .parts-qa__answer {
    margin-left: 1.875rem;
    padding: 50px 40px 30px;
  }
}

/* headの後に来る全要素（p, a, divなど）共通スタイル */
.parts-qa__answer > .wp-block-group__inner-container > * {
  width: 100%;
  margin: 10px auto;
}
.parts-qa__answer > .wp-block-group__inner-container > * a {
  color: inherit;
  text-decoration: underline;
}

/* ===========================
全幅画像高さ700pxがマックス
=========================== */
.wp-block-group.parts-img-max {
  width: 100% !important;
  padding: 0;
  margin: 0 auto !important;
}
.wp-block-group.parts-img-max figure img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

#debug {
  position: fixed;
  left: 15px;
  bottom: 25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 10000;
}
#debug #outinput {
  position: relative;
  font-size: 12px;
  z-index: 10000;
}

.wpcf7 .confirm input:not([type=submit]),
.wpcf7 .confirm textarea {
  background: #ddd !important;
}
.wpcf7 .confirm .ck_common input[type=checkbox] + .wpcf7-list-item-label::before {
  background: #ddd;
}
.wpcf7 .confirm .rd_common input[type=radio] + .wpcf7-list-item-label::before {
  background: #ddd;
}
.wpcf7 .confirm .check_txt a {
  pointer-events: none;
}
.wpcf7 .confirm .check_txt::before {
  background: #ddd;
}
.wpcf7 .confirm select {
  background: #ddd !important;
}

.googlemap {
  position: relative;
}

.googlemap_inner {
  aspect-ratio: 1090/613;
}

.nanbamap {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

/* =============================================
基本のテキスト
============================================= */
.u-text {
  font-size: 16px;
}

/* =============================================
ユーティリティ/utility
============================================= */
.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

.u-mobile {
  display: block;
}
@media screen and (min-width: 960px) {
  .u-mobile {
    display: none;
  }
}

/* =============================================
header
============================================= */
/* PCデフォルト */
#pc-header-navigation {
  display: none;
}
@media screen and (min-width: 1440px) {
  #pc-header-navigation {
    display: block;
  }
}

.p-header {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 300px;
  background-color: #fff;
  background-image: url(../images/common/base-bg.jpg);
  background-repeat: repeat;
  background-position: center;
  background-size: 700px;
}
@media screen and (min-width: 1090px) {
  .p-header {
    height: auto;
  }
}
@media screen and (min-width: 1440px) {
  .p-header {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 350px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: 3.125rem;
    z-index: 20;
  }
  .p-header > * {
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
  }
  .p-header.-active > * {
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and (max-width: 1439px) {
  .p-header {
    -webkit-transform: translateX(0) !important;
            transform: translateX(0) !important;
  }
}

.p-header__inner {
  padding: 4.375rem 2rem 3.25rem 2rem;
}
@media screen and (min-width: 960px) {
  .p-header__inner {
    padding: 4.375rem 1.25rem 3.375rem 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 1440px) {
  .p-header__inner {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    position: relative;
  }
}

.p-header__logo {
  max-width: 166px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    max-width: 186px;
  }
}

body.home .p-header__logo {
  opacity: 0;
}

.p-header__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 1440px) {
  .p-header__nav {
    margin-top: 4.375rem;
  }
}

.p-header__mini-logo {
  display: none;
}
@media screen and (min-width: 1440px) {
  .p-header__mini-logo {
    display: block;
    width: 15.375rem;
    position: fixed;
    bottom: 30px;
    right: 50px;
  }
}

@media screen and (min-width: 1440px) {
  .p-header__mini-logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/* =============================================
下層ページ用ヘッダー調整
============================================= */
.p-header--subPage {
  height: 230px;
}
@media screen and (min-width: 768px) {
  .p-header--subPage {
    height: auto;
  }
}
@media screen and (min-width: 1440px) {
  .p-header--subPage {
    height: 100vh;
  }
}
.p-header--subPage .p-header__inner {
  padding: 5.3125rem 1.25rem 2.3125rem 1.25rem;
}
@media screen and (min-width: 960px) {
  .p-header--subPage .p-header__inner {
    padding: 4.375rem 1.25rem 3.375rem 1.25rem;
  }
}
.p-header--subPage .p-header__logo {
  max-width: 102px;
}
@media screen and (min-width: 768px) {
  .p-header--subPage .p-header__logo {
    max-width: 8.125rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-header--subPage .p-header__logo {
    max-width: 186px;
  }
}

.current-menu-item > a {
  color: #E73828;
}

/* =============================================
トップページ
============================================= */
.content {
  position: relative;
  min-height: 500px;
}
@media screen and (min-width: 960px) {
  .content {
    min-height: 818px;
  }
}

.firstView {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  overflow: hidden;
  z-index: 1;
}
.firstView .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.firstView .swiper-slide {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: -1px;
}

/* 画像を比率に合わせて調整 */
.firstView__img img {
  width: auto;
  height: 500px;
  aspect-ratio: 333/500;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960px) {
  .firstView__img img {
    height: 820px;
  }
}
@media screen and (min-width: 1440px) {
  .firstView__img img {
    width: 38vw;
    aspect-ratio: auto;
    max-width: 650px;
  }
}

/* Swiperナビゲーション（必要なら調整） */
.swiper-button-prev,
.swiper-button-next {
  color: #fff;
  z-index: 10;
}

/* ロゴ（固定） */
.firstView__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  pointer-events: none;
}

.firstView__logo img {
  aspect-ratio: 124/111;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 150px;
}
@media screen and (min-width: 960px) {
  .firstView__logo img {
    width: 200px;
  }
}

/* リードエリア（背景に合わせて重ねる） */
.lead {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 15;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  opacity: 0;
}

.lead__text {
  letter-spacing: 0.15em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  text-align: center;
  color: #fff;
  text-align: justify;
  line-height: 3.2;
  font-size: 16px;
}
@media screen and (min-width: 960px) {
  .lead__text {
    font-size: 18px;
  }
}

/* =============================================
news
============================================= */
.c-swiperBlock .swiper-container {
  overflow: visible;
}
.c-swiperBlock .swiper-container .swiper {
  padding: 3px;
}

@media screen and (min-width: 960px) {
  .c-swiperBlock__inner {
    padding-left: 10%;
    overflow: hidden;
    padding-bottom: 10px;
  }
}

.c-swiperBlock__flex {
  display: contents;
}
@media screen and (min-width: 960px) {
  .c-swiperBlock__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3.75rem;
  }
}

.c-swiperBlock__title {
  padding: 0 5.5%;
}
@media screen and (min-width: 960px) {
  .c-swiperBlock__title {
    padding: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.c-swiperBlock__left {
  margin-top: 1.25rem;
}
@media screen and (min-width: 960px) {
  .c-swiperBlock__left {
    margin-top: 0;
    overflow-x: visible;
    min-width: 0;
  }
}

.c-swiperBlock__swiperWrap {
  padding-left: 5.5%;
}
@media screen and (min-width: 960px) {
  .c-swiperBlock__swiperWrap {
    padding-left: 0;
  }
}

.c-swiperBlock__text {
  margin-top: 12px;
}

.c-swiperBlock .c-card__meta {
  margin-top: 4px;
}

.swiper-wrapper {
  height: 100%;
}

.swiper .swiper-slide {
  height: auto;
  /* Swiperのデフォルト高さ制御を解除 */
}

.p-swiper__button {
  padding: 0 0.9375rem 0 5.5%;
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 960px) {
  .p-swiper__button {
    padding-left: 0;
    padding-right: 25px;
  }
}

.p-swiper__button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 44px;
  gap: 12px;
}

.p-swiper__button-wrap .swiper-button-prev,
.p-swiper__button-wrap .swiper-button-next {
  position: relative;
  width: 44px;
  height: 44px;
  background-color: transparent;
  border-radius: 50%;
  border-radius: 44px;
  border: 1px solid #4F2A11;
  left: 0;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.p-swiper__button-wrap .swiper-button-prev:hover,
.p-swiper__button-wrap .swiper-button-next:hover {
  background-color: #4F2A11;
}
.p-swiper__button-wrap .swiper-button-prev:hover::before,
.p-swiper__button-wrap .swiper-button-next:hover::before {
  border-color: #fff;
}

.p-swiper__button-wrap .swiper-button-prev::before,
.p-swiper__button-wrap .swiper-button-next::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #4F2A11;
  border-right: 1px solid #4F2A11;
}

.p-swiper__button-wrap .swiper-button-prev::before {
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
  left: 55%;
}

.p-swiper__button-wrap .swiper-button-next::before {
  left: 45%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.p-swiper__more {
  font-size: 14px;
  letter-spacing: 1.4px;
  text-underline-offset: 1.5px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  /* 下線の太さを指定 */
  text-decoration-color: currentColor;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-swiper__more img {
  width: auto;
}

.p-topNews,
.p-movies,
.p-topWorks {
  margin-top: 5.9375rem;
  padding-bottom: 5.3125rem;
}
@media screen and (min-width: 960px) {
  .p-topNews,
  .p-movies,
  .p-topWorks {
    margin-top: 10rem;
    padding-bottom: 10rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media screen and (min-width: 960px) {
  .p-topNews .c-topTitle {
    margin-top: 260px;
  }
}

@media screen and (min-width: 960px) {
  .p-movies .c-topTitle {
    margin-top: 40px;
  }
}

@media screen and (min-width: 960px) {
  .p-topWorks .c-topTitle {
    margin-top: 260px;
  }
}

.p-topNews__cards {
  margin-top: 21px;
}
@media screen and (min-width: 960px) {
  .p-topNews__cards {
    margin-top: 0;
  }
}

.p-topNews__card .c-card__body {
  padding: 3.4375rem 1rem 1rem;
}
@media screen and (min-width: 960px) {
  .p-topNews__card .c-card__body {
    padding: 4.375rem 1.5625rem 1.25rem;
  }
}

.p-topNews .swiper-slide {
  width: 300px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 960px) {
  .p-topNews .swiper-slide {
    width: 360px;
  }
}

.p-topWorks .swiper-slide {
  width: 300px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 960px) {
  .p-topWorks .swiper-slide {
    width: 400px;
  }
}

.p-topNews__card,
.p-works-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.p-topNews__card .c-card__body,
.p-works-card .c-card__body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

/* =============================================
ニュースリスト
============================================= */
.p-topNews__list {
  margin-top: 2.8125rem;
}

.p-topNews__inner {
  padding: 0 5.5%;
}
@media screen and (min-width: 960px) {
  .p-topNews__inner {
    padding-left: 0;
    padding-right: 3.5%;
  }
}

.p-news-list__item {
  position: relative;
  padding: 10px 0;
}

.p-news-list__item:first-child::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#DDDDDD), color-stop(50%, #DDDDDD), color-stop(50%, #F9F9F9), to(#F9F9F9));
  background-image: linear-gradient(to bottom, #DDDDDD 0%, #DDDDDD 50%, #F9F9F9 50%, #F9F9F9 100%);
}

.p-news-list__item::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#DDDDDD), color-stop(50%, #DDDDDD), color-stop(50%, #F9F9F9), to(#F9F9F9));
  background-image: linear-gradient(to bottom, #DDDDDD 0%, #DDDDDD 50%, #F9F9F9 50%, #F9F9F9 100%);
}

.p-news-list__item.media .p-news-list__meta {
  padding-left: 28px;
}
@media screen and (min-width: 960px) {
  .p-news-list__item.media .p-news-list__meta {
    margin-left: 0;
  }
}

.p-news-list__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  color: #666;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-news-list__meta {
    margin-left: 28px;
  }
}

.p-news-list__item.media .p-news-list__meta::before {
  display: inline-block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 25px;
  height: 1lh;
  background: url("../images/common/trophy.svg") no-repeat center/contain;
}

.p-news-list__date {
  margin-left: 15px;
}

.p-news-list__title {
  margin-top: 5px;
  font-size: 14px;
  font-weight: 400;
}
@media screen and (min-width: 960px) {
  .p-news-list__title {
    margin-left: 28px;
  }
}

@media screen and (min-width: 960px) {
  .p-news-list__item.media .p-news-list__title {
    margin-left: 28px;
  }
}

.p-news__more {
  margin: 20px 0 0 auto;
  display: block;
  width: 8em;
  text-align: right;
  text-decoration: underline;
  font-size: 14px;
}

/* =============================================
ムービー
============================================= */
/* .p-movies セクション専用：個別に幅を調整 */
.p-movies .swiper-slide {
  width: auto;
}

.p-movies__thumb {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 300/169;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960px) {
  .p-movies__thumb {
    aspect-ratio: 400/225;
  }
}

.p-movies__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-movies__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.p-movies__play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-movies__caption {
  font-size: 14px;
  margin-top: 4px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-movies__card {
  position: relative;
  width: 300px;
}
@media screen and (min-width: 960px) {
  .p-movies__card {
    width: 400px;
  }
}

.p-movies__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-movies__link {
  width: 100%;
  text-decoration: none;
  display: block;
}
.p-movies__link:hover {
  opacity: 1;
}
.p-movies__link:hover .p-movies__thumb::after {
  background-color: rgba(0, 0, 0, 0.3);
}
.p-movies__link:hover .p-movies__play-icon {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}

.p-movies__more::before {
  content: "";
  display: inline-block;
  background-image: url(../images/common/youTube.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 28px;
  height: 20px;
  margin-right: 5px;
}

/* =============================================
よくあるリノベーションp-reno
============================================= */
.p-reno {
  padding: 80px 20px;
  position: relative;
  background-color: #453124;
  color: #fff;
}
@media screen and (min-width: 600px) {
  .p-reno {
    padding: 80px 40px;
  }
}
@media screen and (min-width: 960px) {
  .p-reno {
    padding: 80px;
  }
}
.p-reno > * {
  position: relative;
  z-index: 2;
}
.p-reno .c-banner__choice-text {
  color: white;
}
.p-reno .c-renovation-style__list {
  position: relative;
  z-index: 2;
}

.p-reno::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/reno/reno-bg.webp);
  background-repeat: repeat;
  background-position: center top;
  background-size: 1000px;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  mix-blend-mode: multiply;
}
@media screen and (min-width: 768px) {
  .p-reno::after {
    background-size: 1500px;
  }
}

.p-reno__title-inner {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .p-reno__title-inner {
    max-width: none;
  }
}
.p-reno__title-inner .p-reno__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 960px) {
  .p-reno__title-inner .p-reno__title {
    margin-left: auto;
  }
}
.p-reno__title-inner .p-reno__title .p-reno__ja {
  color: #FFF;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 16px;
  font-weight: 400;
  background-color: #E73828;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 1px 5px;
  margin-top: 10px;
}
@media screen and (min-width: 960px) {
  .p-reno__title-inner .p-reno__title .p-reno__ja {
    margin-left: auto;
  }
}
.p-reno__title-inner .p-reno__text {
  margin-top: 30px;
  text-align: justify;
}
@media screen and (min-width: 960px) {
  .p-reno__title-inner .p-reno__text {
    width: 550px;
    margin-left: auto;
  }
}

.p-reno__madori {
  margin-top: 80px;
  max-width: 700px;
  margin: 80px auto;
}
@media screen and (min-width: 960px) {
  .p-reno__madori {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 35% 5% 60%;
    grid-template-columns: 35% 60%;
    -ms-grid-rows: 70% 0 30%;
    grid-template-rows: 70% 30%;
    gap: 0 5%;
    margin: 80px 0 80px auto;
    max-width: 1200px;
  }
  .p-reno__madori > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-reno__madori > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-reno__madori > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-reno__madori > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
.p-reno__madori-heading {
  margin-bottom: 16px;
}
@media screen and (min-width: 960px) {
  .p-reno__madori-heading {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-row-align: end;
        align-self: end;
  }
}
.p-reno__madori-heading .p-reno__madori-title {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", Arial, sans-serif;
  font-size: 18px;
  font-weight: bold;
}
.p-reno__madori-heading .p-reno__madori-text {
  margin-top: 8px;
  text-align: justify;
}
.p-reno__madori-imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-reno__madori-imgs {
    gap: 30px;
  }
}
@media screen and (min-width: 960px) {
  .p-reno__madori-imgs {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/span 2;
  }
}
.p-reno__madori-imgs::after {
  content: "";
  display: block;
  width: min(5vw, 45px);
  height: min(5vw, 45px);
  background-image: url(../images/common/three_red_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
}
.p-reno__madori-imgs .p-reno__madori-item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
  border-radius: 5px;
}
.p-reno__madori-imgs .p-reno__madori-item img {
  display: block;
  width: 80%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  mix-blend-mode: darken;
  margin: 0 auto;
}
.p-reno__madori-imgs .p-reno__madori-item .p-reno__madori-label {
  font-size: clamp(10px, 3vw, 15px);
  color: #E73828;
  text-align: center;
  display: block;
  margin-top: 5px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media screen and (min-width: 960px) {
  .p-reno__madori-imgs .p-reno__madori-item .p-reno__madori-label {
    margin-top: 15px;
  }
}
.p-reno__madori-imgs .p-reno__madori-item--before {
  background-color: #F2E8EB;
}
.p-reno__madori-imgs .p-reno__madori-item--after {
  background-color: #E8F2F2;
}
.p-reno__madori-link-wrap {
  text-align: center;
  margin-top: 40px;
}
@media screen and (min-width: 960px) {
  .p-reno__madori-link-wrap {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin-top: 0;
  }
}
.p-reno__madori-link-wrap .p-reno__madori-link {
  display: inline-block;
  background-color: #E73828;
  color: #fff;
  padding: 10px 40px;
  border-radius: 5px;
  text-decoration: none;
  line-height: 1.4;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.p-reno__madori-link-wrap .p-reno__madori-link:hover {
  background-color: #fff;
  color: #E73828;
  opacity: 1;
}

.p-reno__renovation-style {
  position: relative;
  z-index: 2;
}

/* =============================================
footer
============================================= */
/* menu5つ */
#pc-footer-navigation {
  display: none;
}
@media screen and (min-width: 1090px) {
  #pc-footer-navigation {
    display: block;
  }
}

#sp-footer-navigation {
  display: block;
}
@media screen and (min-width: 1090px) {
  #sp-footer-navigation {
    display: none;
  }
}

.p-footer__wrapper {
  position: relative;
  z-index: 1;
}

.p-footer__bg {
  height: inherit;
  inset: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
  height: 100%;
}
.p-footer__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(22, 11, 6, 0.8);
  z-index: 1;
}

.p-footer__bg-sp {
  display: block;
  height: inherit;
}
@media screen and (min-width: 1090px) {
  .p-footer__bg-sp {
    display: none;
  }
}

.p-footer__bg-images {
  display: none;
}
@media screen and (min-width: 1090px) {
  .p-footer__bg-images {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    height: 100%;
    overflow: hidden;
  }
}

.p-footer__bg-images img,
.p-footer__bg-sp img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-footer__inner {
  padding: 4.375rem 2.5rem 0.875rem 2.5rem;
  z-index: 10;
}
@media screen and (min-width: 1090px) {
  .p-footer__inner {
    padding: 1.75rem 1.75rem 2.75rem 1.75rem;
    max-width: 1340px;
    margin-inline: auto;
  }
}

.p-footer__logo {
  width: 150px;
  margin-inline: auto;
}
@media screen and (min-width: 1090px) {
  .p-footer__logo {
    display: none;
  }
}

.p-footer__menu-order02 {
  display: contents;
}
@media screen and (min-width: 1090px) {
  .p-footer__menu-order02 {
    margin-inline: auto;
    max-width: 1150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 3.75rem;
    gap: 6.25rem;
  }
}

.p-footer__menu-left {
  width: 280px;
  margin-inline: auto;
}

.p-footer__companyInfo {
  margin-top: 30px;
}
@media screen and (min-width: 600px) {
  .p-footer__companyInfo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-footer__nav {
  margin-top: 55px;
}
@media screen and (min-width: 1090px) {
  .p-footer__nav {
    margin-top: 0;
  }
}

.p-footer__min-logo {
  margin-top: 70px;
  max-width: 265px;
}
@media screen and (min-width: 1090px) {
  .p-footer__min-logo {
    margin-top: 0;
    aspect-ratio: 215/41;
    margin: 0;
    max-width: 215px;
  }
}

@media screen and (min-width: 1440px) {
  .p-footer__min-logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-footer__banner {
  position: relative;
  z-index: 10;
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1090px) {
  .p-footer__banner {
    margin-top: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media screen and (min-width: 1090px) {
  .p-footer .c-navBanner-warp {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-footer__companyInfo .c-companyInfo__address {
  color: rgba(255, 255, 255, 0.8);
}

.p-footer__company-name {
  font-size: 12px;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.8);
}

.p-footer__member {
  padding: 12px 8px 12px 8px;
  background-color: #160B06;
  text-align: right;
  color: rgba(255, 255, 255, 0.6);
  /* 白を60%の不透明度で表示 */
  font-size: 14px;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
}

.p-footer__member span {
  text-underline-offset: 2px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(255, 255, 255, 0.6);
}

/* =============================================
works/事例紹介
============================================= */
.p-works__inner {
  padding: 1.875rem 1.125rem 0rem;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-works__inner {
    padding: 52px 42px 0;
    max-width: 1100px;
  }
}

.p-works__cards {
  padding: 0 20px;
  margin-top: 35px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  margin-inline: auto;
  gap: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 960px) {
  .p-works__cards {
    margin-top: 50px;
    -ms-grid-columns: 1fr 2.5rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    row-gap: 3.75rem;
  }
}

.p-works-card {
  max-width: 400px;
  margin-inline: auto;
  position: relative;
  height: 100%;
}
.p-works-card .c-card__body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 1.875rem 1.25rem 1.25rem 1.25rem;
}
@media screen and (min-width: 960px) {
  .p-works-card .c-card__body {
    padding: 2.0625rem 1.25rem 1.5rem 1.25rem;
  }
}
.p-works-card .c-card__title {
  margin-top: 3px;
}
.p-works-card .c-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.p-works-card .c-card__img {
  max-width: 400px;
  aspect-ratio: 300/200;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .p-works-card .c-card__img {
    aspect-ratio: 400/267;
  }
}

.p-works-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}

/* =============================================
details/事例詳細
============================================= */
.p-detail__contents img {
  height: auto;
}

.p-detail__mv {
  position: relative;
  opacity: 0;
}

.p-detail__picture {
  max-height: 100vh;
}

.p-detail__img {
  max-height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

.p-detail__caption {
  position: absolute;
  color: #FFF;
  font-size: 14px;
  line-height: 24px;
  bottom: 28px;
  right: 10px;
}

.p-detail__content-body.c-single-contents__body {
  padding: 50px 10px;
  margin-top: -15px;
}
@media screen and (min-width: 600px) {
  .p-detail__content-body.c-single-contents__body {
    padding: 60px 20px;
  }
}
@media screen and (min-width: 960px) {
  .p-detail__content-body.c-single-contents__body {
    margin-top: -25px;
    padding: 80px 20px;
  }
}

.p-detail__img-block {
  margin-block: 2.5rem;
  margin-inline: auto;
  max-width: 700px;
}
.p-detail__img-block img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 700px;
  margin-inline: auto;
  max-height: 100vh;
}
@media screen and (min-width: 960px) {
  .p-detail__img-block {
    margin-top: 3.125rem;
  }
}

.p-detail__img-block figcaption {
  margin-top: 3px;
}

.p-detail__subtitle {
  font-size: 16px;
  color: #999;
  text-align: center;
  margin: 10px auto;
  line-height: 1.5;
  max-width: 600px;
  padding: 0 10px;
}

.p-detail__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.625rem;
}

.p-detail__tag {
  margin-top: 2.375rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 960px) {
  .p-detail__tag {
    margin-top: 2.875rem;
  }
}

.p-detail__description {
  font-size: 1.3rem;
  color: #444;
  margin-top: 1em;
  line-height: 1.8;
}

.p-detail__point {
  margin-top: 5.375rem;
  border-radius: 10px;
  background: rgba(242, 238, 232, 0.5);
  padding: 38px 8px 30px 15px;
  position: relative;
  max-width: 770px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-detail__point {
    margin-top: 4.375rem;
    padding: 3rem 6.0625rem 2.5rem 4.0625rem;
  }
}
.p-detail__point .p-detail__point-list {
  margin-top: 24px;
  list-style: none !important;
  padding-left: 0 !important;
}
@media screen and (min-width: 960px) {
  .p-detail__point .p-detail__point-list {
    margin-top: 43px;
    margin-left: 3.4375rem;
  }
}
.p-detail__point .p-detail__point-item {
  position: relative;
}
.p-detail__point .p-detail__point-item:not(:first-child) {
  margin-top: 16px;
}
.p-detail__point .p-detail__point-item::before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 5px;
  left: 5px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 14px solid #e73828;
}
.p-detail__point .p-detail__point-title {
  font-weight: 800;
  padding-left: 1.7em;
}
.p-detail__point .p-detail__point-text {
  line-height: 1.5;
  padding-left: 1.7em;
  margin-top: 3px;
}
@media screen and (min-width: 960px) {
  .p-detail__point .p-detail__point-text {
    padding-left: 3em;
  }
}

.p-detail__head-title {
  color: #FFF;
  font-size: 14px;
  background-color: #E73828;
  position: absolute;
  left: 15px;
  padding: 5px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  top: -15px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 960px) {
  .p-detail__head-title {
    left: 46px;
  }
}

.p-detail__lead {
  color: #E73828;
  line-height: 24px;
}

.p-detail__data {
  margin-top: 2.375rem;
  padding-bottom: 4.1875rem;
  max-width: 700px;
  margin-inline: auto;
  border-top: 1px solid #F5EFEB;
}
@media screen and (min-width: 960px) {
  .p-detail__data {
    margin-top: 2.625rem;
    max-width: 600px;
    padding-bottom: 3.75rem;
  }
}

.p-detail__data-item {
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 5px 6px 5px 10px;
  border-bottom: 1px solid #F5EFEB;
  gap: 4px;
}
@media screen and (min-width: 960px) {
  .p-detail__data-item {
    padding-left: 17px;
  }
}

@media screen and (min-width: 960px) {
  .p-detail__data-item br {
    display: none;
  }
}

.p-detail__data-item dt {
  width: 26%;
  font-weight: 800;
}
@media screen and (min-width: 960px) {
  .p-detail__data-item dt {
    width: 24%;
  }
}

.p-detail__data-item dd {
  width: calc(100% - (26% + 4px));
}
@media screen and (min-width: 960px) {
  .p-detail__data-item dd {
    width: calc(100% - (24% + 4px));
  }
}

.p-detail__wp {
  padding-top: 4.1875rem;
  position: relative;
}

.p-detail__wp::before {
  content: "";
  width: 100px;
  height: 1px;
  background-color: #4F2A11;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.jirei {
  padding-top: 3.75rem;
  font-size: 16px;
  position: relative;
  z-index: 10;
  max-width: 700px;
  margin-inline: auto;
}

.jirei__head-hide {
  /*
  視覚的に非表示にするが、スクリーンリーダーには読み上げさせるユーティリティ
  参考: WAI-ARIA Authoring Practicesに準拠したパターン
  */
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.jirei_head-txt p {
  line-height: 1.75;
}

.jirei_head-txt p + p {
  margin-top: 1.7em;
}

.jirei_contents_wrap {
  margin-top: 20px;
}
@media screen and (min-width: 960px) {
  .jirei_contents_wrap {
    margin-top: 40px;
  }
}

.photo {
  max-width: 700px;
  margin-inline: auto;
  opacity: 1;
}

.photo a:hover,
.gallery_item a:hover {
  opacity: 1;
}

.photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.jirei_contents_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

.jirei_column_wrap .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.jirei_column_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 960px) {
  .jirei_column_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

/* 写真を横並びにする */
@media screen and (min-width: 960px) {
  .jirei_column_wrap .photo {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(50% - 10px);
            flex: 1 1 calc(50% - 10px);
    /* 2カラムで横並び */
    max-width: calc(50% - 10px);
  }
}

/* テキストは必ず全幅で下に */
.jirei_column_wrap .jirei-column_txt {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  /* 横幅100%を確保して必ず下に回り込む */
}

.jirei-single .photo + .txt {
  margin-top: 5px;
}

.jirei_gallery {
  padding: 0 27px;
  z-index: 10;
  position: relative;
  top: -4.625rem;
  margin-bottom: -4.625rem;
  max-width: 600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .jirei_gallery {
    top: -120px;
    margin-bottom: -120px;
  }
}
@media screen and (min-width: 960px) {
  .jirei_gallery {
    max-width: 944px;
    top: -100px;
    margin-bottom: -100px;
  }
}

.gallery_wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (min-width: 960px) {
  .gallery_wrap {
    -ms-grid-columns: 1fr 1.875rem 1fr 1.875rem 1fr 1.875rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem;
  }
}

.gallery_item figure {
  aspect-ratio: 150/150;
}
@media screen and (min-width: 960px) {
  .gallery_item figure {
    aspect-ratio: 200/200;
    max-width: 200px;
  }
}

.gallery_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-voice {
  margin-top: 65px;
}
@media screen and (min-width: 960px) {
  .p-voice {
    margin-top: 90px;
  }
}

.p-voice__inner {
  padding: 0 10px;
}

.p-voice__body {
  border-radius: 10px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  padding: 42px 25px 30px 25px;
  position: relative;
  max-width: 660px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-voice__body {
    padding: 3rem 3.4375rem 2.5rem 3.4375rem;
  }
}

.p-voice__customer {
  padding-bottom: 33px;
}

.p-voice__body a {
  text-underline-offset: 1px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: #fff;
}

.p-voice__title {
  color: #E73828;
  font-size: 14px;
  text-align: center;
  background: #fff;
  padding: 5px 8px;
  text-align: center;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  margin-bottom: -15px;
  z-index: 10;
}
@media screen and (min-width: 960px) {
  .p-voice__title {
    white-space: normal;
  }
}

.p-voice__body hr {
  border: none;
  border-top: 0.5px dashed rgba(255, 255, 255, 0.5);
  margin: 1em 0;
}
@media screen and (min-width: 960px) {
  .p-voice__body hr {
    margin: 2em 0;
  }
}

.p-voice__body p {
  color: #FFF;
  font-size: 16px;
  line-height: 1.75;
  padding-top: 5px;
}

.p-voice__company {
  margin-top: 1.4375rem;
}

.p-other-case {
  margin-top: 3.125rem;
}
@media screen and (min-width: 960px) {
  .p-other-case {
    margin-top: 5rem;
  }
}

.p-other-case__Title {
  color: #FFF;
  font-size: 16px;
  text-align: center;
}

.p-report {
  margin-top: 15.1875rem;
}
@media screen and (min-width: 768px) {
  .p-report {
    margin-top: 11.25rem;
  }
}
.p-report.open .p-report__flex {
  max-height: none;
  overflow: visible;
}
.p-report.open .c-more {
  display: none;
}
.p-report.open .c-gradient {
  display: none;
}

.p-report__inner {
  padding: 0 10px;
}

.p-report__info {
  position: relative;
  background: #fff;
  padding: 26px 27px;
  font-size: 16px;
  border-radius: 10px 0 10px 10px;
  max-width: 720px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-report__info {
    max-width: 59.375rem;
    padding: 3.625rem 3.375rem 6.25rem 3.375rem;
  }
}

.p-report__title {
  font-size: 16px;
  color: #FFF;
  text-align: center;
  -webkit-font-feature-settings: "vert" on;
          font-feature-settings: "vert" on;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  background-color: #E73828;
  padding: 13px 8px;
  display: -ms-grid;
  display: grid;
  place-content: center;
  position: absolute;
  right: 10px;
  z-index: 10;
  top: -11.5625rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-report__title {
    top: -9.375rem;
  }
}
@media screen and (min-width: 960px) {
  .p-report__title {
    top: 0;
    right: -42px;
  }
}

.p-report__flex {
  position: relative;
  overflow: hidden;
  max-height: 1067px;
}
@media screen and (min-width: 960px) {
  .p-report__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 80px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-height: 590px;
  }
}

.report_date_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-bottom: 5px;
}

.report_item + .report_item {
  margin-top: 50px;
}
@media screen and (min-width: 960px) {
  .report_item + .report_item {
    margin-top: 0;
  }
}

@media screen and (min-width: 960px) {
  .report_item {
    width: calc(50% - 20px);
  }
}

@media screen and (min-width: 960px) {
  .report_media {
    width: 25rem;
  }
}

.report_media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.report_media figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.report_ttl {
  margin-top: 3px;
  margin-bottom: 8px;
}

.p-case {
  margin-top: 9.375rem;
}

.p-case__inner {
  padding: 0 10px;
  margin-inline: auto;
}

.p-case__title {
  margin-inline: auto;
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  border-right: 1px solid #4F2A11;
  border-left: 1px solid #4F2A11;
  background: #FFF;
  display: -ms-grid;
  display: grid;
  place-content: center;
  padding: 10px;
}
@media screen and (min-width: 600px) {
  .p-case__title {
    width: 85%;
    max-width: 800px;
  }
}
@media screen and (min-width: 960px) {
  .p-case__title {
    font-size: 24px;
    padding: 14px;
  }
}

.p-case__cards {
  margin-inline: auto;
  padding: 0 27px;
  margin-top: 33px;
  padding-bottom: 4.75rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 23px;
}
@media screen and (min-width: 960px) {
  .p-case__cards {
    padding-bottom: 4.375rem;
    -ms-grid-columns: 1fr 3.75rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 4.375rem;
    gap: 3.75rem;
  }
}

.report_author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 6px;
}
.report_author .post_author-photo {
  -ms-flex-preferred-size: 30px;
      flex-basis: 30px;
  border-radius: 100%;
  overflow: hidden;
}
.report_author .post_author-photo img {
  display: block;
  -webkit-transform: translate(0, 14%) scale(1.4);
          transform: translate(0, 14%) scale(1.4);
}
.report_author .post_author-photo img.no-photo {
  -webkit-transform: scale(1.8);
          transform: scale(1.8);
}
.report_author .name {
  font-size: 14px;
}

.p-related {
  margin-top: 8.75rem;
  padding-bottom: 63px;
  padding-top: 1px;
  background-color: rgba(21, 10, 4, 0.9);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-related {
    margin-top: 200px;
  }
}

/* =============================================
古民家リノベとは/about
============================================= */
.p-about__head {
  padding: 5.625rem 0 3.75rem;
  background: #fff;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-about__head {
    padding-top: 100px;
    padding-right: 3.4375rem;
  }
}

.p-about__head-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
  color: #40210F;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
}
@media screen and (min-width: 960px) {
  .p-about__head-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5rem;
  }
}

.p-about__head-content.open .p-about__head-description {
  margin-top: calc(33.3vw + 500px);
}
@media screen and (min-width: 960px) {
  .p-about__head-content.open .p-about__head-description {
    margin-top: 0;
  }
}

.p-about__head-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 2.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 960px) {
  .p-about__head-wrap {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.625rem;
  }
}

.p-about__head-title {
  aspect-ratio: 83/301;
  max-width: 83px;
  opacity: 0;
}
@media screen and (min-width: 960px) {
  .p-about__head-title {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.p-about__head-points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 1.875rem;
  padding: 0;
  margin: 0;
  list-style: none;
  padding-top: 0.5em;
}
@media screen and (min-width: 960px) {
  .p-about__head-points {
    gap: 1.5625rem;
  }
}

.p-about__head-point {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  vertical-align: top;
  opacity: 0;
}
.p-about__head-point.open .p-about__head-point-dot {
  display: none;
}
.p-about__head-point.open .p-about__head-point-detail {
  opacity: 1;
  height: calc(33.3vw + 500px);
}
@media screen and (min-width: 960px) {
  .p-about__head-point.open .p-about__head-point-detail {
    height: auto;
    width: 360px;
  }
}
@media screen and (min-width: 960px) {
  .p-about__head-point.open #about-point-detail-2 {
    width: 300px;
  }
}
.p-about__head-point.open .p-about__head-point-detail__close-btn {
  -webkit-animation: fadeIn 0.5s 1s forwards;
          animation: fadeIn 0.5s 1s forwards;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.p-about__head-point-btn {
  color: #4F2A11;
  cursor: pointer;
}
.p-about__head-point-btn:hover {
  opacity: 1;
  color: #E73828;
}
.p-about__head-point-btn:hover .p-about__head-point-dot {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
}
.p-about__head-point-btn:focus {
  outline: none;
}

.p-about__head-point-dot {
  display: inline-block;
  padding: 4px 0px;
  border-radius: 3px;
  border: 0.5px dashed #40210F;
  text-align: center;
  line-height: 1;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-about__head-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  gap: 0.8125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 0.5em;
  -webkit-transition: margin 1s ease;
  transition: margin 1s ease;
  opacity: 0;
}

.p-about__head-point-detail {
  position: absolute;
  width: 100vw;
  height: 0;
  left: 0;
  top: 460px;
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: height 1s ease, width 1s ease, opacity 1s ease;
  transition: height 1s ease, width 1s ease, opacity 1s ease;
}
@media screen and (min-width: 960px) {
  .p-about__head-point-detail {
    position: static;
    top: auto;
    width: 0;
    left: auto;
    height: auto;
  }
}
@media screen and (min-width: 960px) {
  .p-about__head-point-detail__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 40px 1fr;
    grid-template-columns: 40px 1fr;
  }
}
.p-about__head-point-detail__photos {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
}
@media screen and (min-width: 768px) {
  .p-about__head-point-detail__photos {
    width: 90%;
    max-width: 960px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 960px) {
  .p-about__head-point-detail__photos {
    position: absolute;
    width: 90vw;
    bottom: calc(100% - 70px);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    margin: 0 !important;
    z-index: 20;
  }
}
.p-about__head-point-detail__text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  height: 320px;
  font-size: 16px;
  margin: 40px auto 0;
  text-align: justify;
}
@media screen and (min-width: 960px) {
  .p-about__head-point-detail__text {
    margin: 26px 20px 0;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
  }
}
@media screen and (min-width: 960px) {
  .p-about__head-point-detail__close-btn-wrap {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-row-align: end;
        align-self: end;
  }
}
.p-about__head-point-detail__close-btn {
  margin: 30px auto 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-align: center;
  border: 0.5px dashed #40210F;
  border-radius: 3px;
  padding: 15px 5px;
  font-size: 14px;
  cursor: pointer;
  display: block;
  opacity: 0;
}
@media screen and (min-width: 960px) {
  .p-about__head-point-detail__close-btn {
    margin: 0 0 0 auto;
  }
}

.p-blockMedia {
  background-color: #F2EEE8;
}

.p-blockMedia__title {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
}

.p-blockMedia__inner {
  padding: 6.25rem 1.25rem;
}
@media screen and (min-width: 960px) {
  .p-blockMedia__inner {
    padding: 7.5rem 1.25rem;
  }
}

.p-blockMedia__first {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 960px) {
  .p-blockMedia__first {
    margin-top: 45px;
  }
}

.p-blockMedia__second {
  margin-top: 20px;
}
@media screen and (min-width: 960px) {
  .p-blockMedia__second {
    margin-top: 2rem;
  }
}

.p-blockMedia__img {
  aspect-ratio: 298/368;
  margin-top: 3.4375rem;
  padding: 0 1.25rem;
  max-width: 400px;
}
@media screen and (min-width: 960px) {
  .p-blockMedia__img {
    max-width: 300px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 0;
    margin-top: 80px;
  }
}

.p-summary .c-banner__choice-icon {
  width: 73px;
  height: 73px;
}

.p-summary__choice-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 600px) {
  .p-summary__choice-inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 960px) {
  .p-summary__choice-inner {
    padding-left: 4.375rem;
  }
}

.p-summary__choice-text {
  font-size: 1.125rem;
  letter-spacing: 0.3em;
}
@media screen and (min-width: 768px) {
  .p-summary__choice-text {
    font-size: 18px;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 960px) {
  .p-summary__choice-text {
    font-size: 26px;
  }
}

@media screen and (min-width: 768px) {
  .p-summary__choice-text br {
    display: none;
  }
}

.p-summary__choice-text .p-summary__br {
  display: block;
}

/* ----------------------------
  古民家リノベの定番スタイル
----------------------------- */
.p-about-teiban {
  padding: 80px 0 40px;
  position: relative;
  background-color: #453124;
  color: #fff;
}
@media screen and (min-width: 960px) {
  .p-about-teiban {
    padding: 120px 0 40px;
  }
}
.p-about-teiban::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/reno/reno-bg.webp);
  background-repeat: repeat;
  background-position: center top;
  background-size: 1000px;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  mix-blend-mode: multiply;
}
@media screen and (min-width: 768px) {
  .p-about-teiban::after {
    background-size: 1500px;
  }
}
.p-about-teiban__inner {
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__inner {
    width: calc(100% - 80px);
  }
}
.p-about-teiban > * {
  position: relative;
  z-index: 2;
}
.p-about-teiban__title {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-weight: normal;
  font-size: 24px;
  text-align: center;
  position: relative;
  margin-bottom: 50px;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__title {
    font-size: 28px;
  }
}
.p-about-teiban__title::after {
  position: absolute;
  content: "";
  display: block;
  width: 100px;
  height: 2px;
  background-color: #E73828;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 100%;
}
.p-about-teiban__exp {
  text-align: justify;
  max-width: 700px;
  margin: 0 auto;
}
.p-about-teiban__tokucho {
  margin: 80px auto;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__tokucho {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 400px 40px 1fr;
    grid-template-columns: 400px 1fr;
    -ms-grid-rows: 12% 0 88%;
    grid-template-rows: 12% 88%;
    gap: 0 40px;
    margin: 120px auto;
    max-width: 960px;
  }
  .p-about-teiban__tokucho > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-about-teiban__tokucho > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-about-teiban__tokucho > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-about-teiban__tokucho > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 960px) {
  .p-about-teiban__tokucho-title {
    margin: 0;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    text-align: left;
  }
}
.p-about-teiban__tokucho-img {
  display: block;
  border-radius: 10px;
  margin: 20px auto;
  overflow: hidden;
  max-width: 400px;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__tokucho-img {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin: 0;
  }
}
.p-about-teiban__tokucho-text {
  text-align: justify;
  max-width: 700px;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__tokucho-text {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
  }
}
.p-about-teiban__tokucho-text p + p {
  margin-top: 20px;
}
.p-about-teiban__nayami {
  max-width: 1020px;
  margin: 80px auto;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__nayami {
    margin: 120px auto;
  }
}
.p-about-teiban__nayami-title {
  margin-bottom: 40px;
}
.p-about-teiban__nayami-list {
  display: -ms-grid;
  display: grid;
  justify-items: center;
  row-gap: 60px;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__nayami-list {
    -ms-grid-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
  }
}
.p-about-teiban__nayami-item {
  max-width: 400px;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__nayami-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-about-teiban__nayami-head {
  background-color: #E73828;
  width: 150px;
  height: 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 10px;
  border-radius: 150px;
  text-align: center;
  line-height: 1.5;
  font-size: 20px;
}
.p-about-teiban__nayami-text {
  text-align: justify;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__nayami-text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-about-teiban__nayami-solution {
  background-color: #00A199;
  text-align: center;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 60px auto 0;
  padding: 10px 30px;
  min-width: 130px;
  max-width: 200px;
  position: relative;
}
.p-about-teiban__nayami-solution::after {
  content: "";
  display: block;
  width: 32px;
  height: 37px;
  background-image: url(../images/common/three_green_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: -10px;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  pointer-events: none;
}
.p-about-teiban__madori {
  max-width: 850px;
  margin: 80px auto;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__madori {
    margin: 120px auto;
  }
}
.p-about-teiban__madori-wrap {
  display: -ms-grid;
  display: grid;
  gap: 50px;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__madori-wrap {
    gap: 100px;
  }
}
.p-about-teiban__madori-item {
  border-radius: 10px;
  padding: 20px 10px 10px;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__madori-item {
    padding: 20px 30px;
  }
}
.p-about-teiban__madori-item img {
  mix-blend-mode: darken;
}
.p-about-teiban__madori-item--before {
  background-color: #F2E8EB;
  position: relative;
}
.p-about-teiban__madori-item--before::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, -10px) rotate(90deg);
          transform: translate(-50%, -10px) rotate(90deg);
  background-image: url(../images/common/three_red_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 70px;
  height: 70px;
  pointer-events: none;
  opacity: var(--after-opacity, 0);
  z-index: 2;
}
@media screen and (min-width: 960px) {
  .p-about-teiban__madori-item--before::after {
    width: 130px;
    height: 130px;
    -webkit-transform: translate(-50%, -20px) rotate(90deg);
            transform: translate(-50%, -20px) rotate(90deg);
  }
}
.p-about-teiban__madori-item--after {
  background-color: #E8F2F2;
}
.p-about-teiban__madori-label {
  font-size: 24px;
  color: #E73828;
  text-align: center;
  display: block;
  margin-top: 5px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media screen and (min-width: 600px) {
  .p-about-teiban__madori-label {
    font-size: 40px;
    margin-top: 15px;
  }
}
.p-about-teiban__madori-exp {
  color: #4F2A11;
  text-align: center;
  font-size: 11px;
  display: block;
}
@media screen and (min-width: 600px) {
  .p-about-teiban__madori-exp {
    font-size: 16px;
  }
}
.p-about-teiban__madori-styles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 5px 0;
}
.p-about-teiban__madori-style {
  display: inline-block;
  background-color: #00A199;
  color: #fff;
  font-size: 11px;
  padding: 0 5px;
}
@media screen and (min-width: 600px) {
  .p-about-teiban__madori-style {
    font-size: 14px;
  }
}
.p-about-teiban__madori-link-wrap {
  text-align: center;
  margin-top: 20px;
}
.p-about-teiban__madori-link {
  display: inline-block;
  background-color: #E73828;
  color: #fff;
  padding: 15px 20px;
  border-radius: 5px;
  font-size: 14px;
  margin-top: 20px;
  text-decoration: none;
}
@media screen and (min-width: 600px) {
  .p-about-teiban__madori-link {
    font-size: 16px;
    margin-top: 30px;
  }
}

.p-renovation__wrapper {
  padding: 100px 0;
  background-color: #d6cab7;
}
@media screen and (min-width: 960px) {
  .p-renovation__wrapper {
    padding: 150px 0 100px;
  }
}

/* ----------------------------
  p-renovation（ブロック全体）
----------------------------- */
.p-renovation {
  margin-top: 20px;
  padding: 0 7px;
}
@media screen and (min-width: 768px) {
  .p-renovation {
    margin-top: 35px;
  }
}

.p-renovation__body {
  max-width: 800px;
  background: #fff;
  border-radius: 20px;
  margin-inline: auto;
  padding-top: 3.5625rem;
  padding-bottom: 2.1875rem;
}
@media screen and (min-width: 960px) {
  .p-renovation__body {
    max-width: 800px;
    padding: 3.125rem 3.125rem;
  }
}

.p-renovation__inner {
  padding: 0 7px;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-renovation__inner {
    padding: 0;
  }
}

.p-renovation__logo {
  aspect-ratio: 120/127;
  max-width: 120px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-renovation__logo {
    display: none;
  }
}

.p-renovation__logo img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-renovation__header {
  margin-top: 3.5625rem;
  padding: 0 12px;
  max-width: 460px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-renovation__header {
    margin-top: 0;
    padding: 0;
  }
}

.p-renovation__title {
  font-weight: 400;
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 28px;
  text-align: center;
  padding-bottom: 5px;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-renovation__title {
    font-size: 2.125rem;
  }
}

.p-renovation__title::after {
  position: absolute;
  content: "";
  width: 120px;
  background-color: #40210F;
  height: 0.5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 100%;
}

.p-renovation__text {
  margin-top: 15px;
  color: #40210F;
  font-size: 14px;
  line-height: 1.5;
}

.p-renovation__block {
  border-radius: 10px;
  background: #F2EEE8;
  margin-top: 55px;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-renovation__block {
    margin-top: 70px;
  }
}

.p-renovation__block--01 {
  padding: 10px 6px;
}
@media screen and (min-width: 960px) {
  .p-renovation__block--01 {
    padding: 26px 20px;
  }
}

.p-renovation__block--02 {
  padding: 15px 12px 16px 14px;
  padding: 0.9375rem 0.75rem 0.625rem 1.0625rem;
  gap: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-renovation__block--02 {
    gap: 50px;
    padding: 26px 20px;
  }
}
@media screen and (min-width: 960px) {
  .p-renovation__block--02 {
    padding: 17px 20px 22px 17px;
    gap: 0;
  }
}

.p-renovation__block--03 {
  padding: 15px 12px 16px 14px;
  padding: 0.9375rem 0.75rem 1rem 1.0625rem;
  gap: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-renovation__block--03 {
    gap: 50px;
    padding: 26px 20px;
  }
}
@media screen and (min-width: 960px) {
  .p-renovation__block--03 {
    gap: 55px;
    padding: 3px 20px;
  }
}

.p-renovation__block::before {
  content: "";
  display: inline-block;
  background-image: url(../images/about/renovation-block.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 34px;
  height: 34px;
  position: absolute;
  top: -45px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 960px) {
  .p-renovation__block::before {
    top: -56px;
  }
}

.p-renovation__question {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 28px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
}
@media screen and (min-width: 960px) {
  .p-renovation__question {
    font-size: 2.125rem;
  }
}

.p-renovation__block--01 .p-renovation__question {
  position: absolute;
  top: 27px;
  left: 14px;
}
@media screen and (min-width: 960px) {
  .p-renovation__block--01 .p-renovation__question {
    top: -58px;
  }
}

.p-renovation__block--02 .p-renovation__question,
.p-renovation__block--03 .p-renovation__question {
  margin-top: 10px;
}

/* ----------------------------
  p-renovation-card（何を？）
----------------------------- */
.p-renovation-card {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 3px auto;
  grid-template-columns: auto auto;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
  -webkit-column-gap: 3px;
     -moz-column-gap: 3px;
          column-gap: 3px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-renovation-card > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-renovation-card > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.p-renovation-card > *:nth-child(3) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}
.p-renovation-card > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}
@media screen and (min-width: 960px) {
  .p-renovation-card {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.0625rem 1fr 1.0625rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.0625rem;
    row-gap: 0;
    height: 209px;
  }
}

/* ---- SP（小画面）では1個目を全幅に ---- */
.p-renovation-card__item:nth-child(1) {
  grid-column: 1/-1;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-renovation-card__item:nth-child(1) {
    grid-column: auto;
    margin-inline: 0;
    bottom: 0;
  }
}

.p-renovation-card__item {
  width: 10.3125rem;
  height: 10.3125rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  color: #FFF;
  -ms-grid-row-span: 3;
  grid-row: span 3;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  padding: 1.875rem 1.0625rem 1.9125rem 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p-renovation-card__item {
    width: 165px;
    height: 165px;
    padding: 30px 17px 30.6px 17px;
  }
}
@media screen and (min-width: 960px) {
  .p-renovation-card__item {
    width: 209px;
    height: 209px;
    padding: 32px 22px 20px 22px;
  }
}

.p-renovation-card__item:nth-child(1) {
  background-color: #E73828;
  padding-bottom: 2rem;
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-renovation-card__item:nth-child(1) {
    padding-bottom: 32px;
    padding-top: 32px;
  }
}

.p-renovation-card__item:nth-child(2) {
  background-color: #1D2087;
  position: relative;
  margin-top: -20px;
}
@media screen and (min-width: 960px) {
  .p-renovation-card__item:nth-child(2) {
    margin-top: 0;
  }
}

.p-renovation-card__item:nth-child(3) {
  background-color: #00A199;
  position: relative;
  margin-top: -20px;
}
@media screen and (min-width: 960px) {
  .p-renovation-card__item:nth-child(3) {
    margin-top: 0;
  }
}

.p-renovation-card__title {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.1;
  position: relative;
  text-align: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
@media screen and (min-width: 768px) {
  .p-renovation-card__title {
    font-size: 20px;
  }
}
@media screen and (min-width: 960px) {
  .p-renovation-card__title {
    font-size: 1.5625rem;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}

.p-renovation-card__text {
  position: relative;
  text-align: center;
  font-size: 13px;
  line-height: 1.4615384615;
}
@media screen and (min-width: 960px) {
  .p-renovation-card__text {
    font-size: 16px;
    line-height: 1.5;
  }
}

.p-renovation-card__item span {
  width: 63px;
  background-color: currentColor;
  height: 0.5px;
  display: block;
  margin: 11px auto;
}

/* ----------------------------
  p-renovation-tag（何に？）
----------------------------- */
.p-renovation__blocks-wrap {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .p-renovation__blocks-wrap {
    display: contents;
  }
}

.p-renovation-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
@media screen and (min-width: 960px) {
  .p-renovation-tag {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 18px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    row-gap: 14px;
    margin-left: 13px;
  }
}

.p-renovation-tag__item {
  background: #fff;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  line-height: 22px;
  border: 1px solid currentColor;
  padding: 12px;
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (min-width: 960px) {
  .p-renovation-tag__item {
    padding: 12px 35px;
  }
}

.p-renovation-tag__item:nth-child(1) {
  color: #EA6DA4;
}

.p-renovation-tag__item:nth-child(2) {
  color: #20ABEB;
}

.p-renovation-tag__item:nth-child(3) {
  color: #796A56;
}

.p-renovation-tag__item:nth-child(4) {
  color: #009844;
}

.p-renovation-tag__etc {
  color: #40210F;
  font-size: 20px;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .p-renovation-tag__etc {
    margin-left: 20px;
    -ms-flex-item-align: end;
        align-self: flex-end;
    padding-bottom: 10px;
  }
}

/* ----------------------------
  p-renovation-level（どの程度？）
----------------------------- */
.p-renovation-level {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  gap: 2px;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .p-renovation-level {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    width: auto;
    height: 126px;
    -ms-grid-row-align: center;
        align-self: center;
    row-gap: 14px;
  }
}

.p-renovation-level__item {
  padding: 0.9375rem;
  height: 56px;
  color: #FFF;
  display: -ms-grid;
  display: grid;
  place-content: center;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .p-renovation-level__item {
    width: 250px;
  }
}

.p-renovation-level__item:nth-child(1),
.p-renovation-level__item:nth-child(2) {
  background-color: #EA6DA4;
}

.p-renovation-level__item:nth-child(3),
.p-renovation-level__item:nth-child(4) {
  background-color: #F29600;
}

.p-renovation-level__item:nth-child(3) {
  margin-top: 10px;
}
@media screen and (min-width: 960px) {
  .p-renovation-level__item:nth-child(3) {
    margin-top: 0;
  }
}

.p-renovation-level__title {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  line-height: 25px;
}

.p-renovation-level__title span {
  display: block;
  font-size: 15px;
}

/* =============================================
よくあるリノベーションの紹介p-renovation-style
============================================= */
.p-renovation-style {
  margin-top: 60px;
}
.p-renovation-style h2 {
  margin-top: 0 !important;
}

.p-renovation-style__title {
  color: #40210F;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}

/* =============================================
倉敷市への移住とリノベ
基本的にはブロックパターンで構成するが
特殊なパーツは標準ブロックに以下のクラスをつけてスタイリング
============================================= */
body.relocation .parts-slideBox3 img {
  opacity: 0;
}

.p-relocation__heading {
  text-align: center;
  padding-top: 50px;
}
.p-relocation__heading p {
  font-size: 40px;
  font-family: "YakuHanMPs", "Cormorant SC", serif;
  text-align: center;
  line-height: 1;
}
@media screen and (min-width: 600px) {
  .p-relocation__heading p br {
    display: none;
  }
}
.p-relocation__heading h1 {
  font-size: 20px;
  color: #E73828;
  margin-top: 0.5em;
  font-family: "YakuHanMPs", "Zen Antique Soft", serif;
  font-weight: normal;
}

.p-relocation__lead {
  max-width: 340px !important;
  margin: 0 auto;
  gap: 90px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-relocation__lead {
    max-width: 860px !important;
  }
  .p-relocation__lead .wp-block-group__inner-container {
    width: 340px;
    margin-left: 55%;
  }
}
.p-relocation__lead h2 {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  margin-bottom: 1em;
  font-weight: normal;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-relocation__lead h2 {
    margin: 0 0 20px;
    font-size: 30px;
  }
}
.p-relocation__lead figure {
  margin: 20px 0;
}
@media screen and (min-width: 768px) {
  .p-relocation__lead figure {
    position: absolute;
    width: 50%;
    top: 50px;
    left: 0;
  }
}

.p-relocation__subsec-title {
  margin-block: 50px !important;
}
.p-relocation__subsec-title h3 {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 22px;
  font-weight: normal;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
.p-relocation__subsec-title h3::before, .p-relocation__subsec-title h3::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 0.5px;
  background-color: #4F2A11;
  margin: 0;
  vertical-align: middle;
  top: 50%;
}
@media screen and (min-width: 600px) {
  .p-relocation__subsec-title h3::before, .p-relocation__subsec-title h3::after {
    width: 50px;
  }
}
.p-relocation__subsec-title h3::before {
  left: -30px;
}
@media screen and (min-width: 600px) {
  .p-relocation__subsec-title h3::before {
    left: -60px;
  }
}
.p-relocation__subsec-title h3::after {
  right: -30px;
}
@media screen and (min-width: 600px) {
  .p-relocation__subsec-title h3::after {
    right: -60px;
  }
}
@media screen and (min-width: 600px) {
  .p-relocation__subsec-title h3 {
    font-size: 24px;
  }
}
.p-relocation__subsec-title p {
  font-size: 14px;
  text-align: center;
}
@media screen and (min-width: 600px) {
  .p-relocation__subsec-title p {
    font-size: 16px;
  }
}

.p-relocation__mv {
  height: 350px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  gap: 3px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 1440px) {
  .p-relocation__mv {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    padding: 16px 16px 0 16px;
  }
}

.p-relocation__img-wrap:nth-child(1) {
  width: 80%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 600px) {
  .p-relocation__img-wrap:nth-child(1) {
    width: calc(50% - 1.5px);
  }
}
@media screen and (min-width: 768px) {
  .p-relocation__img-wrap:nth-child(1) {
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
}
@media screen and (min-width: 1440px) {
  .p-relocation__img-wrap:nth-child(1) {
    width: auto;
  }
}

.p-relocation__img-wrap {
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .p-relocation__img-wrap {
    width: calc(50% - 1.5px);
  }
}
@media screen and (min-width: 1440px) {
  .p-relocation__img-wrap {
    width: auto;
  }
}

.p-relocation__img-wrap img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-relocation__mv-pc-only {
  display: none;
}
@media screen and (min-width: 1440px) {
  .p-relocation__mv-pc-only {
    display: block;
  }
}

.p-relocation__mv-title-en {
  text-align: center;
  font-family: "YakuHanMPs", "Cormorant SC", serif;
  font-size: 2.5rem;
  line-height: 1;
  margin-top: 28px;
}
@media screen and (min-width: 960px) {
  .p-relocation__mv-title-en {
    margin-top: 35px;
  }
}

@media screen and (min-width: 960px) {
  .p-relocation__br {
    display: none;
  }
}

.p-relocation__mv-title {
  margin-top: 11px;
  color: #E73828;
  text-align: center;
  font-family: "YakuHanMPs", "Zen Antique Soft", serif;
  font-size: 20px;
}
@media screen and (min-width: 960px) {
  .p-relocation__mv-title {
    margin-top: 8px;
  }
}

.p-toc {
  margin-top: 3.3125rem;
}

.p-toc__inner {
  padding: 0 10px;
  margin-inline: auto;
  max-width: 620px;
}

.p-toc__info {
  position: relative;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.5);
  padding: 35px 17px;
  font-size: 16px;
  color: #4F2A11;
  max-height: 342px;
  overflow-y: hidden;
}

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

.p-toc__list {
  margin-top: 45px;
}

.p-toc__item a {
  font-size: 16px;
  line-height: 2;
  display: block;
  text-underline-offset: 1.5px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

.p-toc__subList {
  margin-left: 1em;
}

.p-toc__subItem-note {
  font-size: 14px;
}

.p-relocation__contents {
  margin-top: 5.25rem;
}
@media screen and (min-width: 768px) {
  .p-relocation__contents {
    margin-top: 5.9375rem;
  }
}

.p-relocation__block {
  display: block;
}

.p-relocation__block-inner {
  padding: 0 0.625rem;
}

.p-relocation__block-title {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  line-height: 1.875;
  font-weight: 400;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-relocation__block-title {
    font-size: 1.875rem;
  }
}

.p-relocation__block-text {
  padding: 0 0.625rem;
  padding-top: 28px;
}
@media screen and (min-width: 960px) {
  .p-relocation__block-text {
    padding: 28px 0 0 0;
  }
}

.p-relocation__block-img {
  max-width: 439px;
  margin-top: 28px;
}
@media screen and (min-width: 960px) {
  .p-relocation__block-img {
    margin-top: 3.125rem;
  }
}

@media screen and (min-width: 960px) {
  .p-relocation__block .c-blockMedia__flex {
    gap: 5.625rem;
  }
}

.p-relocation__area {
  margin-top: 4.5rem;
}
@media screen and (min-width: 960px) {
  .p-relocation__area {
    margin-top: 8.4375rem;
  }
}

.p-features {
  margin-top: 5.625rem;
  padding-bottom: 5.25rem;
}
@media screen and (min-width: 960px) {
  .p-features {
    margin-top: 9.6875rem;
  }
}

.p-features__inner {
  padding: 0 0.625rem;
  margin-inline: auto;
  max-width: 700px;
}

.p-features__title {
  color: #E73828;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  border-right: 1px solid #4F2A11;
  border-left: 1px solid #4F2A11;
  background: #FFF;
  padding: 0.625rem;
}
@media screen and (min-width: 960px) {
  .p-features__title {
    font-size: 24px;
  }
}

.p-features__sub-head {
  margin-top: 1.5rem;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  color: #4F2A11;
  text-align: center;
  padding: 0 0.625rem;
}
@media screen and (min-width: 960px) {
  .p-features__sub-head {
    font-size: 3.3125rem;
  }
}

.p-features__subtitle {
  font-size: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 960px) {
  .p-features__subtitle {
    font-size: 24px;
  }
}

.p-features__subtitle::before,
.p-features__subtitle::after {
  content: "";
  display: inline-block;
  width: 25px;
  height: 0.5px;
  background-color: #40210F;
  margin-left: 6px;
  margin-right: 6px;
}

.p-features__subtitle-lead {
  display: block;
  font-size: 14px;
  margin-top: 5px;
}
@media screen and (min-width: 960px) {
  .p-features__subtitle-lead {
    font-size: 16px;
    margin-top: 6px;
  }
}

.p-features__lead {
  margin-top: 24px;
  text-align: left;
  line-height: 2;
}
@media screen and (min-width: 960px) {
  .p-features__lead {
    margin-top: 3.3125rem;
    max-width: 600px;
    margin-inline: auto;
  }
}

.p-features__list-wrap {
  padding: 2.8125rem 2.3125rem 5rem 2.3125rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-features__list-wrap {
    max-width: 700px;
  }
}
@media screen and (min-width: 960px) {
  .p-features__list-wrap {
    max-width: 960px;
    padding: 3.75rem 0.625rem 6.25rem 0.625rem;
  }
}

.p-features__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.8125rem;
}
@media screen and (min-width: 960px) {
  .p-features__list {
    -ms-grid-columns: 1fr 3.125rem 1fr 3.125rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.125rem;
    row-gap: 0;
  }
}

.p-features__item {
  color: #40210F;
}
@media screen and (min-width: 960px) {
  .p-features__item {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: subgrid;
    grid-template-rows: subgrid;
    -ms-grid-row-span: 3;
    grid-row: span 3;
  }
}

.p-features__img {
  aspect-ratio: 300/200;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

.p-features__item-title {
  font-size: 16px;
  margin-top: 13px;
  font-weight: 800;
  line-height: 1.75;
}
@media screen and (min-width: 960px) {
  .p-features__item-title {
    margin-top: 23px;
  }
}

.p-features__item-text {
  margin-top: 9px;
  font-size: 14px;
  font-weight: 300;
}
@media screen and (min-width: 960px) {
  .p-features__item-text {
    margin-top: 14px;
  }
}

.c-boxInfo {
  max-width: 720px;
  margin-inline: auto;
  padding: 0 0.625rem;
}

.c-boxInfo:not(:first-child) {
  margin-top: 3.125rem;
}

.c-boxInfo__head-title {
  color: #F8B62D;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  padding: 5px 15px;
  background-color: #40210F;
}

.c-boxInfo__body {
  background-color: #fff;
  padding: 1.875rem 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-boxInfo__body {
    padding: 1.875rem 3.125rem;
  }
}

.c-boxInfo__section {
  margin-bottom: 2rem;
  max-width: 600px;
}

.c-boxInfo__label {
  color: #FFF;
  font-size: 14px;
  background-color: #E73828;
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-boxInfo__list {
  margin-top: 1.875rem;
  list-style: disc;
  list-style-position: inside;
  margin-left: 1em;
}
@media screen and (min-width: 768px) {
  .c-boxInfo__list {
    margin-left: 6px;
  }
}

.c-boxInfo__list li:not(:first-child) {
  margin-top: 0.5em;
}

.c-boxInfo__list li {
  padding-left: 1em;
  text-indent: -1.2em;
}

.c-boxInfo__intro {
  margin-top: 2rem;
  line-height: 2;
}

.c-boxInfo__img-wrap {
  margin-top: 2rem;
}

.c-boxInfo__img {
  aspect-ratio: 335/251;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin-inline: auto;
}

.c-boxInfo__img-wrap figcaption span {
  color: #E73828;
  line-height: 32px;
  text-underline-offset: 1.5px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
  /* 下線の色を指定 */
}

.c-boxInfo__link {
  margin-top: 1.875rem;
  color: #E73828;
  text-underline-offset: 1.5px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

.c-boxInfo__label--second {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 12px;
}

.c-boxInfo__note {
  margin-top: 1.875rem;
}
@media screen and (min-width: 960px) {
  .c-boxInfo__note {
    margin-top: 1.5625rem;
  }
}

/* =============================================
よくある質問
============================================= */
/* =============================================
7つの強み/strength
============================================= */
.p-strengths {
  padding-bottom: 13.5rem;
}
@media screen and (min-width: 960px) {
  .p-strengths {
    padding-bottom: 11.25rem;
  }
}

.p-strengths-base {
  position: relative;
}

.p-strengths-base__overlay {
  position: relative;
}

.p-strengths-base__overlay:after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.4)), to(rgba(0, 0, 0, 0.4)));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
}

.p-strengths-base__link {
  display: block;
  overflow: hidden;
}
.p-strengths-base__link:hover {
  cursor: pointer;
  opacity: 1;
}
.p-strengths-base__link:hover .p-strengths-base__img {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}

.p-strengths-base__img {
  aspect-ratio: 375/500;
  height: 500px;
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 960px) {
  .p-strengths-base__img {
    aspect-ratio: 1090/400;
    height: 400px;
  }
}

.p-strengths-base__img img {
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-strengths-base__title-box {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 4px;
  top: 1rem;
  right: 1.25rem;
  z-index: 2;
  pointer-events: none;
}
@media screen and (min-width: 960px) {
  .p-strengths-base__title-box {
    top: 1.875rem;
    right: 2.1875rem;
  }
}

.p-strengths-toc__list .p-strengths-base:nth-child(even) .p-strengths-base__title-box {
  left: 1.25rem;
}

.p-strengths-base__head {
  color: #FFF;
  text-align: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 16px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  display: -ms-grid;
  display: grid;
  place-content: center;
  width: 26px;
  background: #E73828;
  padding: 10px 0;
}
@media screen and (min-width: 960px) {
  .p-strengths-base__head {
    font-size: 1.25rem;
    width: 30px;
  }
}

.p-strengths-base__title {
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  color: #E73828;
  text-align: center;
  font-size: 32px;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  border-top: 1px solid #4F2A11;
  border-bottom: 1px solid #4F2A11;
  background: #FFF;
  padding: 20px 3px;
  display: -ms-grid;
  display: grid;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 960px) {
  .p-strengths-base__title {
    font-size: 2.5rem;
    padding: 20px 5px;
  }
}

.p-strengths-base__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  text-align: center;
  font-size: 18px;
  background: #655e52;
  width: 26px;
  height: 26px;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  margin-top: 3px;
}
@media screen and (min-width: 960px) {
  .p-strengths-base__num {
    width: 30px;
    height: 30px;
    font-size: 20px;
  }
}

.p-strengths-base__text {
  position: absolute;
  bottom: 8px;
  letter-spacing: 0.15em;
  left: 1.25rem;
  color: #FFF;
  text-align: justify;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  font-size: 16px;
  line-height: 1.5;
  z-index: 2;
  margin-top: 50px;
}
@media screen and (min-width: 960px) {
  .p-strengths-base__text {
    letter-spacing: normal;
    max-width: 30.625rem;
    font-size: 1.25rem;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    text-orientation: mixed;
    bottom: 1.5625rem;
    left: 1.875rem;
    line-height: 2;
    margin: 0;
  }
}
.p-strengths-base__text .tateyoko {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  text-orientation: mixed;
}

.p-strengths-toc__list .p-strengths-base:nth-child(even) .p-strengths-base__text {
  right: 1.25rem;
}
@media screen and (min-width: 960px) {
  .p-strengths-toc__list .p-strengths-base:nth-child(even) .p-strengths-base__text {
    left: auto;
    right: 1.875rem;
  }
}

.p-strengths-base__text p:not(:first-child) {
  margin-right: 10px;
}
@media screen and (min-width: 960px) {
  .p-strengths-base__text p:not(:first-child) {
    margin-right: 0;
  }
}

.p-strengths-base--5 .p-strengths-base__text {
  margin-top: 130px;
}

/* =============================================
長いタイトルver
============================================= */
.p-strengths-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 960px) {
  .p-strengths-title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
  }
}

.p-strengths-title__word {
  display: -ms-grid;
  display: grid;
  place-content: center;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  color: #E73828;
  text-align: center;
  font-size: 32px;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  vertical-align: top;
  background: #FFF;
  padding: 20px 3px;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 960px) {
  .p-strengths-title__word {
    font-size: 2.5rem;
    padding: 20px 5px;
  }
}

.p-strengths-title__word:first-child {
  border-top: 1px solid #4F2A11;
  padding-bottom: 0;
}
@media screen and (min-width: 960px) {
  .p-strengths-title__word:first-child {
    border-bottom: 1px solid #4F2A11;
    padding-bottom: 20px;
  }
}

.p-strengths-title__word:last-child {
  border-bottom: 1px solid #4F2A11;
  padding-top: 0;
  position: relative;
  top: -1px;
  padding-top: 3px;
}
@media screen and (min-width: 960px) {
  .p-strengths-title__word:last-child {
    border-top: 1px solid #4F2A11;
    padding-top: 20px;
    top: 0;
  }
}

/* =============================================
1から7ページ共通
============================================= */
.p-strengths-sub .p-strengths-base::after {
  background: none;
}
.p-strengths-sub .p-strengths-base__title-box {
  top: 1.5625rem;
  right: 1.5625rem;
  z-index: 2;
}
@media screen and (min-width: 960px) {
  .p-strengths-sub .p-strengths-base__title-box {
    top: 3.5625rem;
    right: 3.3125rem;
  }
}
.p-strengths-sub .p-strengths-base__badge {
  opacity: 0;
}
.p-strengths-sub .p-strengths-title {
  opacity: 0;
}

/* =============================================
1.伝統と職人技術
============================================= */
.p-craftsmanship__mv-wrap,
.p-kozai__mv-wrap {
  position: relative;
}

@media screen and (min-width: 960px) {
  .p-craftsmanship .p-craftsmanship__tiles .wp-block-image {
    position: static;
  }
}

@media screen and (min-width: 960px) {
  .p-strengths-base__img.p-craftsmanship__mv-img {
    aspect-ratio: 1090/830;
    height: auto;
    max-height: 830px;
  }
}

.p-craftsmanship__mv-title,
.p-kozai__mv-title {
  color: #E73828;
  font-size: 20px;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
}

.p-craftsmanship__mv-text-box,
.p-kozai__mv-text-box {
  background: #fff;
  padding: 3.125rem 5.5%;
}
@media screen and (min-width: 960px) {
  .p-craftsmanship__mv-text-box,
  .p-kozai__mv-text-box {
    display: -ms-grid;
    display: grid;
    place-content: center;
    max-width: 400px;
    padding: 3.75rem 3.125rem;
    display: grid;
    place-content: center;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    bottom: 28px;
    left: 2%;
  }
}

.p-craftsmanship__mv-sentence,
.p-kozai__mv-sentence {
  font-size: 16px;
  line-height: 32px;
  margin-top: 2.5rem;
  max-width: 700px;
  margin-inline: auto;
}

@media screen and (min-width: 960px) {
  .p-craftsmanship .wp-block-column.parts-tiles-text-box {
    padding: 11.4375rem 4.5625rem 7.875rem;
  }
}
.p-craftsmanship .wp-block-column.parts-tiles-text-box .p-craftsmanship__tiles-sentence {
  color: #E73828;
  font-family: "A-OTF Midashi Go MB31 Pro", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 21px;
  padding: 0 4px;
  text-align: center;
}
.p-craftsmanship .wp-block-column.parts-tiles-text-box .p-craftsmanship__tiles-sentence.p-craftsmanship__center {
  margin-top: 2px;
}
.p-craftsmanship .wp-block-column.parts-tiles-text-box .p-craftsmanship__tiles-detail-wrap {
  margin-top: 44px;
}
@media screen and (min-width: 960px) {
  .p-craftsmanship .wp-block-column.parts-tiles-text-box .p-craftsmanship__tiles-detail-wrap {
    margin-top: 23px;
  }
}
.p-craftsmanship .wp-block-column.parts-tiles-text-box .p-craftsmanship__tiles-detail-wrap p:not(:first-child) {
  margin-top: 2em;
}

.p-craftsmanship__infoBox-list {
  margin-top: 2.5rem;
}

.p-craftsmanship__infoBox-list li:not(:first-child) {
  margin-top: 2.5rem;
}

.p-craftsmanship__infoBox-subHead {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
}

.p-craftsmanship__infoBox-subHead + p {
  margin-top: 6px;
}

.p-craftsmanship__infoBox-img {
  margin-top: 26px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
}
@media screen and (min-width: 960px) {
  .p-craftsmanship__infoBox-img {
    margin-top: 37px;
  }
}

.p-craftsmanship__infoBox-img img {
  aspect-ratio: 162/243;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 960px) {
  .p-craftsmanship__infoBox-img img {
    width: 100%;
    height: auto;
  }
}

/* =============================================
2.デザイン性・機能性
============================================= */
.p-design-function .p-design-function__tiles .wp-block-image {
  aspect-ratio: 375/500;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 500px;
  max-height: 830px;
}

@media screen and (min-width: 960px) {
  .p-design-function .p-design-function__tiles .wp-block-image {
    position: static;
  }
}

.p-design-case {
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 960px) {
  .p-design-case {
    padding-bottom: 12.5rem;
  }
}

.p-design-case__inner {
  padding: 0 10px;
  margin-inline: auto;
}

.p-design-case__text {
  line-height: 2;
  max-width: 600px;
  margin-inline: auto;
}

.wp-block-group.parts-before-after.p-design-case__before-after {
  margin-top: 30px;
  margin-bottom: 0;
  max-width: 900px;
}
@media screen and (min-width: 960px) {
  .wp-block-group.parts-before-after.p-design-case__before-after {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 960px) {
  .wp-block-group.parts-before-after.p-design-case__before-after .after figure {
    aspect-ratio: 600/400;
    max-width: 600px;
  }
}

.wp-block-columns.parts-tiles.p-design-function__tiles {
  margin: 0;
}
@media screen and (min-width: 960px) {
  .wp-block-columns.parts-tiles.p-design-function__tiles .p-design-function__tiles-img {
    aspect-ratio: 545/830;
    height: 100%;
    max-height: 830px;
  }
}

.wp-block-heading.parts-heading2.p-design-case__title {
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 960px) {
  .wp-block-heading.parts-heading2.p-design-case__title {
    margin-top: 10rem;
    margin-bottom: 3.4375rem;
  }
}

/* =============================================
3.全国古民家再生協会の会員(mvは4番目のページと共同クラスを使用/p-mv-slideBox)
============================================= */
.p-association .parts-slideBox .wp-block-column figure img {
  min-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960px) {
  .p-association .parts-slideBox .wp-block-column figure img {
    height: 500px;
  }
}

.wp-block-group.parts-box-title.p-association__parts-box {
  margin-bottom: 4.375rem;
}
@media screen and (min-width: 960px) {
  .wp-block-group.parts-box-title.p-association__parts-box {
    margin-top: 2.875rem;
    margin-bottom: 6.875rem;
  }
}

.p-association__content,
.p-consulting__content {
  margin-top: 98px;
  width: 95%;
  margin-inline: auto;
  max-width: 700px;
}
@media screen and (min-width: 960px) {
  .p-association__content,
  .p-consulting__content {
    margin-top: 7.8125rem;
  }
}

.p-association__content P + P,
.p-consulting__content P + P {
  margin-top: 1em;
}
@media screen and (min-width: 960px) {
  .p-association__content P + P,
  .p-consulting__content P + P {
    margin-top: 1.5em;
  }
}

.p-association__content p,
.p-consulting__content p {
  text-align: justify;
  font-size: 16px;
  line-height: 32px;
}
@media screen and (min-width: 960px) {
  .p-association__content p,
  .p-consulting__content p {
    font-size: 18px;
    line-height: 36px;
  }
}

.p-association__content span {
  text-underline-offset: 1.5px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

.p-association .p-association__parts-box {
  position: relative;
}
.p-association .p-association__parts-box .parts-box-title-head {
  margin-bottom: 0;
}

.p-association .p-association__parts-box .p-association__parts-box-note {
  color: #E73828;
  display: block;
  font-family: "A-OTF Midashi Go MB31 Pro";
  font-size: 14px;
  font-weight: 600;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-association .p-association__parts-box .p-association__parts-box-note {
    position: absolute;
    left: 240px;
    top: 1px;
  }
}

@media screen and (min-width: 960px) {
  .p-association__parts-box-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.0625rem;
  }
}

.p-association__infoBox-img {
  aspect-ratio: 218/173;
  max-width: 436px;
  margin-inline: auto;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 960px) {
  .p-association__infoBox-img {
    margin-bottom: 3.75rem;
    height: auto;
  }
}

.p-association__infoBox-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* =============================================
4.専門家による現地調査から提案まで
============================================= */
.p-consulting .parts-slideBox .wp-block-column figure img {
  min-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960px) {
  .p-consulting .parts-slideBox .wp-block-column figure img {
    height: 400px;
  }
}

.p-consulting__content {
  margin-top: 234px;
}
@media screen and (min-width: 960px) {
  .p-consulting__content {
    margin-top: 10.4375rem;
  }
}

.p-consulting__content span {
  text-underline-offset: 1.5px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
  color: #E73828;
}

.wp-block-group.parts-box-title.p-consulting__parts-box {
  margin-bottom: 6.875rem;
}

.p-consulting .parts-image-4.p-consulting__survey-images {
  margin-top: 30px;
  margin-bottom: 0;
}
@media screen and (min-width: 960px) {
  .p-consulting .parts-image-4.p-consulting__survey-images {
    margin-top: 40px;
  }
}

.p-consulting__survey {
  margin-bottom: 9.375rem;
}

.p-consulting__grid {
  margin-top: 27px;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr));
  gap: 3px;
  max-width: 610px;
  margin-inline: auto;
  padding: 0 2.25rem;
}
@media screen and (min-width: 768px) {
  .p-consulting__grid {
    padding: 0;
  }
}
@media screen and (min-width: 960px) {
  .p-consulting__grid {
    margin-top: 40px;
  }
}

.p-consulting__grid li {
  color: #40210F;
  font-size: 16px;
  padding: 5px;
  background-color: #FAD394;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
.p-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 64px;
}
@media screen and (min-width: 960px) {
  .p-step {
    gap: 30px;
  }
}

.p-step__item {
  position: relative;
  padding-bottom: 24px;
}
@media screen and (min-width: 960px) {
  .p-step__item {
    padding-bottom: 0;
    min-height: 70px;
  }
}

.p-step__item:last-child {
  padding-bottom: 0;
}

.p-step__item::after,
.p-step__Step::after {
  content: "";
  display: inline-block;
  background-image: url(../images/strengths/triangleDouble.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 17px;
  height: 40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
  top: 100%;
}

@media screen and (min-width: 960px) {
  .p-step__item::after {
    display: none;
  }
}

.p-step__Step::after {
  display: none;
}
@media screen and (min-width: 960px) {
  .p-step__Step::after {
    top: 184%;
    display: block;
    -webkit-transform: none;
            transform: none;
  }
}

.p-step__item:last-child::after {
  display: none;
}

.p-step__item:last-child .p-step__Step::after {
  display: none;
}

.p-step__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-step__label {
  background-color: #E73828;
  color: #fff;
  padding: 4px;
  width: 110px;
  text-align: center;
}

.p-step__Step {
  color: #FFF;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
}
@media screen and (min-width: 960px) {
  .p-step__Step {
    position: relative;
  }
}

.p-step__num {
  color: #FFF;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 24px;
  line-height: 20px;
}

.p-step__title {
  color: #40210F;
  font-size: 18px;
  font-weight: 400;
  border-right: 1px solid #E73828;
  border-top: 1px solid #E73828;
  border-bottom: 1px solid #E73828;
  background: #FFF;
  padding: 5px 5px 4px 13px;
  width: calc(100% - 110px);
}

.p-step__body {
  margin-top: 20px;
  margin-left: 27px;
}
@media screen and (min-width: 960px) {
  .p-step__body {
    margin-left: 21%;
  }
}

.p-step__list li {
  color: #4F2A11;
  font-size: 16px;
  line-height: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.p-step__list li::before {
  content: "●";
  color: #E73828;
  font-size: 1em;
  line-height: 1;
  -ms-flex-item-align: start;
      align-self: flex-start;
  position: relative;
  top: 10px;
}

.p-step__list.p-step__list--square li::before {
  content: "□";
  color: #E73828;
  font-size: 1em;
  line-height: 1;
  -ms-flex-item-align: start;
      align-self: flex-start;
  position: relative;
  top: 10px;
}

.p-step__note {
  color: #E73828;
  font-size: 16px;
  line-height: 32px;
}

/* =============================================
5.古民家に断熱と耐震をプラス
============================================= */
.p-upgrade__mv-img {
  aspect-ratio: 375/400;
  max-height: 550px;
}
@media screen and (min-width: 960px) {
  .p-upgrade__mv-img {
    aspect-ratio: 1090/500;
  }
}

.p-upgrade__mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-upgrade__content {
  margin-top: 8.5625rem;
  padding-bottom: 9.375rem;
}
@media screen and (min-width: 960px) {
  .p-upgrade__content {
    padding-bottom: 10rem;
  }
}

.p-upgrade__inner {
  padding: 0 10px;
}

.p-upgrade__list + .p-upgrade__list {
  margin-top: 100px;
}
@media screen and (min-width: 960px) {
  .p-upgrade__list + .p-upgrade__list {
    margin-top: 9.375rem;
  }
}

.p-upgrade__body {
  margin-top: 30px;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-upgrade__body {
    margin-top: 2.9375rem;
  }
}

.p-upgrade__body p {
  font-size: 16px;
  line-height: 32px;
}
@media screen and (min-width: 960px) {
  .p-upgrade__body p {
    font-size: 18px;
    line-height: 36px;
  }
}

.p-upgrade__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-upgrade__img {
    margin-top: 3.375rem;
  }
}
@media screen and (min-width: 960px) {
  .p-upgrade__img figure {
    aspect-ratio: 230/305;
    max-width: 230px;
  }
}
.p-upgrade__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-upgrade__img figure figcaption {
  margin-top: 6px;
  color: #40210F;
  text-align: center;
  font-size: 16px;
}

.p-upgrade__img-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 7px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
  row-gap: 24px;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-upgrade__img-grid {
    margin-inline: auto;
    max-width: 950px;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

/* =============================================
6.古材を活かす自社の工房
============================================= */
.p-kozai__mv-img {
  aspect-ratio: 375/500;
  max-height: 700px;
}
@media screen and (min-width: 960px) {
  .p-kozai__mv-img {
    aspect-ratio: 1090/700;
  }
}

.p-kozai__mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 960px) {
  .p-kozai__mv-text-box {
    max-width: 600px;
    bottom: auto;
    top: 83%;
  }
}

.p-kozai__gallery {
  margin-top: 25px;
  margin-bottom: 6.25rem;
}
@media screen and (min-width: 960px) {
  .p-kozai__gallery {
    margin-top: 20.125rem;
    margin-bottom: 11.6875rem;
  }
}

.c-gallery {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 960px;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  gap: 25px;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
}
@media screen and (min-width: 768px) {
  .c-gallery {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1090px) {
  .c-gallery {
    -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
.c-gallery img {
  width: 300px;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-inline: auto;
}

/* =============================================
7.安心の保証とアフターメンテナンス
============================================= */
.p-warranty .parts-slideBox .wp-block-column figure img {
  min-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960px) {
  .p-warranty .parts-slideBox .wp-block-column figure img {
    height: 400px;
  }
}

.p-warranty__content {
  margin-top: 14.625rem;
}

.p-warranty__detailBox {
  width: 95%;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-warranty__detailBox .parts-infoBox-head ~ * {
    width: calc(100% - 60px) !important;
  }
}

.p-warranty__detailBox:not(:first-child) {
  margin-top: 3.125rem;
}

.p-warranty__detailBox:nth-last-of-type(2) {
  margin-bottom: 4.375rem;
}
@media screen and (min-width: 960px) {
  .p-warranty__detailBox:nth-last-of-type(2) {
    margin-bottom: 6.875rem;
  }
}

.p-warranty__box-flex {
  margin-top: 10px;
}
@media screen and (min-width: 600px) {
  .p-warranty__box-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 1.875rem;
    margin-top: 20px;
  }
}

.p-warranty__box-inner {
  padding: 10px 0;
}
.p-warranty__detailBox-sub {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  line-height: 30px;
  font-weight: 400;
  border: 1px solid #E73828;
  background: #fff;
  padding-left: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 10px;
}

.p-warranty__list li:not(:first-child) {
  margin-top: 38px;
}

.p-warranty__label {
  display: inline-block;
  color: #FFF;
  font-size: 14px;
  padding: 5px 10px;
  background: #E73828;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: normal;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

.p-warranty__labelFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 12px;
}

.p-warranty__box-flex img {
  height: auto;
}
@media screen and (min-width: 600px) {
  .p-warranty__box-flex img {
    width: 40%;
  }
}

.p-warranty__box-flex p {
  margin-top: 10px;
}
@media screen and (min-width: 600px) {
  .p-warranty__box-flex p {
    margin-top: 0;
  }
}

.p-warranty__box-flex strong {
  font-weight: 800;
}

.p-warranty__infoBox-line {
  text-underline-offset: 1.4px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

.c-sticky__infoBox.p-warranty__infoBox {
  margin-top: -50px;
}

.p-warranty__stickyList li:not(:first-child) {
  margin-top: 40px;
}
@media screen and (min-width: 960px) {
  .p-warranty__stickyList li:not(:first-child) {
    margin-top: 30px;
  }
}

.p-warranty__stickyList li p {
  margin-top: 8px;
  line-height: 2;
}

.p-warranty__stickyList li p strong {
  font-weight: 800;
}

.p-warranty__maintenance {
  color: #E73828;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
  border: 1px solid #E73828;
  background: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 10px;
}

.p-strengths-base .parts-slideBox {
  max-width: none !important;
}

/* =============================================
events/イベント情報
============================================= */
.p-events__inner {
  padding: 0 1.125rem;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-events__inner {
    padding: 0 42px;
    max-width: 1100px;
    position: relative;
    margin-top: -70px;
  }
}

.p-events__cards {
  margin-top: 35px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  margin-inline: auto;
  gap: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-events__cards {
    gap: 3.125rem;
  }
}
@media screen and (min-width: 960px) {
  .p-events__cards {
    margin-top: 68px;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-events-card {
  max-width: 300px;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-events-card {
    max-width: 360px;
  }
}
.p-events-card .c-card__body {
  padding: 55px 16px 16px;
}
@media screen and (min-width: 960px) {
  .p-events-card .c-card__body {
    padding: 3.5625rem 1.5625rem 1.25rem;
  }
}

/* =============================================
events/イベント情報
============================================= */
.p-column__inner {
  padding: 0 1.125rem;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-column__inner {
    padding: 0 42px;
    max-width: 1100px;
    position: relative;
    margin-top: -70px;
  }
}

.p-column__cards {
  margin-top: 35px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  margin-inline: auto;
  gap: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-column__cards {
    gap: 3.125rem;
  }
}
@media screen and (min-width: 960px) {
  .p-column__cards {
    margin-top: 68px;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-column-card {
  max-width: 300px;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-column-card {
    max-width: 360px;
  }
}
.p-column-card .c-card__body {
  padding: 23px 24px 22px 24px;
}
.p-column-card .c-card__title {
  display: block;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
  overflow: visible;
  margin-bottom: 15px;
}

.p-column-card__meta {
  margin-top: auto;
  color: #838383;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
}

.p-column-meta__cat {
  border-right: 1px solid #838383;
  padding-right: 5px;
}

.p-column-meta__date {
  padding-left: 5px;
}

/* =============================================
お知らせ一覧/ニュースリスト
============================================= */
.p-news__inner {
  padding: 0 1.125rem;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-news__inner {
    padding: 0 42px;
    max-width: 1100px;
    position: relative;
    margin-top: -70px;
  }
}

.p-news__lists {
  margin-top: 2.8125rem;
  max-width: 700px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-news__lists {
    margin-top: 70px;
  }
}

.p-news-list__item {
  position: relative;
  padding: 10px 0;
}

.p-news-list__item:first-child::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#DDDDDD), color-stop(50%, #DDDDDD), color-stop(50%, #F9F9F9), to(#F9F9F9));
  background-image: linear-gradient(to bottom, #DDDDDD 0%, #DDDDDD 50%, #F9F9F9 50%, #F9F9F9 100%);
}

.p-news-list__item::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#DDDDDD), color-stop(50%, #DDDDDD), color-stop(50%, #F9F9F9), to(#F9F9F9));
  background-image: linear-gradient(to bottom, #DDDDDD 0%, #DDDDDD 50%, #F9F9F9 50%, #F9F9F9 100%);
}

.p-news-list__link {
  text-decoration: none;
  display: block;
}

@media screen and (min-width: 960px) {
  .p-news .p-news-list__meta {
    margin-left: 14px;
  }
}

.p-news-list__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  color: #666;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-news-list__meta {
    margin-left: 28px;
  }
}

.p-news-list__item.media .p-news-list__meta::before {
  display: inline-block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 25px;
  height: 1lh;
  background: url("../images/common/trophy.svg") no-repeat center/contain;
}

.p-news-list__date {
  margin-left: 15px;
}

@media screen and (min-width: 960px) {
  .p-news .p-news-list__title {
    margin-left: 14px;
  }
}

@media screen and (min-width: 960px) {
  .p-news-list__item.media .p-news-list__title {
    margin-left: 28px;
  }
}

/* =============================================
会社案内
============================================= */
.p-company-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(100% - 30px) !important;
}
@media screen and (min-width: 960px) {
  .p-company-message {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: calc(100% - 60px) !important;
    max-width: 980px !important;
  }
}
.p-company-message__text {
  background: #fff;
  padding: 0 15px 50px;
}
@media screen and (min-width: 600px) {
  .p-company-message__text {
    padding: 0 30px 50px;
  }
}
@media screen and (min-width: 960px) {
  .p-company-message__text {
    padding: 30px 70px 70px;
  }
}
.p-company-message__text > * + * {
  margin-top: 1.25rem;
}
.p-company-message__text a {
  color: inherit;
  text-decoration: underline;
}
.p-company-message__title {
  color: #E73828;
  font-size: 20px;
  font-family: "YakuHanMPs", "A1 Mincho", "A-OTF A1 Mincho Std", serif;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
  margin-bottom: 2.5rem;
  margin-top: 0 !important;
}
@media screen and (min-width: 960px) {
  .p-company-message__title {
    margin-bottom: 5rem;
  }
}
.p-company-message__photo {
  width: calc(100% - 60px);
  max-width: 330px;
  margin: -30px auto 0;
}
@media screen and (min-width: 960px) {
  .p-company-message__photo {
    margin: 100px 0 0 -30px;
  }
}
.p-company-message__photo-caption {
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.4;
  text-align: right;
}
.p-company-message__photo-caption__mini {
  font-size: 14px;
}

.p-company-godaime {
  width: 55% !important;
  max-width: 300px !important;
}

.p-company-history dl {
  display: -ms-grid;
  display: grid;
  margin: 0;
  line-height: 1.5;
  position: relative;
  padding: 15px 0 0 15px;
}
@media screen and (min-width: 768px) {
  .p-company-history dl {
    -ms-grid-columns: -webkit-max-content 80px 1fr;
    -ms-grid-columns: max-content 80px 1fr;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    gap: 0 80px;
  }
}
.p-company-history dl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  border-left: dashed 1px #4F2A11;
}
@media screen and (min-width: 768px) {
  .p-company-history dl::before {
    left: 185px;
  }
}
.p-company-history dt {
  font-weight: 600;
}
.p-company-history dd {
  padding-bottom: 30px;
}
.p-company-history dd figure {
  margin: 10px 0;
  width: 85%;
  max-width: 300px;
}
.p-company-history dd a {
  color: inherit;
  text-decoration: underline;
}

/* =============================================
スタッフ紹介
============================================= */
.staff_archives {
  max-width: 960px !important;
  margin-top: 100px !important;
}
.staff_archives .title_tate {
  font-family: "YakuHanMPs", "Zen Antique Soft", serif;
  font-size: 1.25rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  margin: 0 auto 30px;
}
.staff_archives ul.staff_list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 15px;
  max-width: 1290px;
  margin: auto;
  padding: 0;
}
@media screen and (min-width: 960px) {
  .staff_archives ul.staff_list {
    gap: 40px 30px;
  }
}
.staff_archives ul.staff_list li {
  -ms-flex-preferred-size: calc(50% - 7.5px);
      flex-basis: calc(50% - 7.5px);
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .staff_archives ul.staff_list li {
    -ms-flex-preferred-size: calc((100% - 30px) / 3);
        flex-basis: calc((100% - 30px) / 3);
  }
}
@media screen and (min-width: 960px) {
  .staff_archives ul.staff_list li {
    -ms-flex-preferred-size: calc((100% - 60px) / 3);
        flex-basis: calc((100% - 60px) / 3);
  }
}
.staff_archives .staff_card .staff_ph {
  margin-bottom: 5px;
  overflow: hidden;
  border-radius: 10px;
}
.staff_archives .staff_card .staff_ph picture img {
  height: auto;
}
.staff_archives .staff_card .staff_info {
  line-height: 1.5;
}
@media screen and (min-width: 960px) {
  .staff_archives .staff_card .staff_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 10px;
  }
}
.staff_archives .staff_card .staff_info .staff_shoulder {
  font-size: 0.875rem;
}
@media screen and (min-width: 960px) {
  .staff_archives .staff_card .staff_info .staff_shoulder {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}
.staff_archives .staff_card .staff_info .staff_name {
  font-size: 1.125rem;
  font-weight: normal;
  margin-top: 0 !important;
}
.staff_archives .staff_card .staff_info .staff_roman {
  font-size: 0.75rem;
}
.staff_archives .staff_card .staff_info .staff_comment {
  margin-top: 10px;
  font-size: 0.8125rem;
  text-align: justify;
  line-height: 1.6;
  color: #86786F;
}
@media screen and (min-width: 960px) {
  .staff_archives .staff_card .staff_info .staff_comment {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    font-size: 0.875rem;
  }
}
.staff_archives .staff_card.detail button {
  background: transparent;
  padding: 0;
  color: #4F2A11;
  text-align: left;
  border: none;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.staff_archives .staff_card.detail button:focus, .staff_archives .staff_card.detail button:focus-visible {
  outline-offset: 3px;
}
.staff_archives .staff_card.detail button:hover picture img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.staff_archives .staff_card.detail picture {
  position: relative;
}
.staff_archives .staff_card.detail picture img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.staff_archives .staff_card.detail picture .icon_area {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
}
.staff_archives .staff_card.detail picture .icon_area svg {
  fill: #fff;
  fill-opacity: 0.8;
}

.staff_detail {
  display: none;
  color: #4F2A11;
}
@media screen and (min-width: 960px) {
  .staff_detail .staff_detail_inner {
    display: -ms-grid;
    display: grid;
    grid-auto-columns: 1fr;
    -ms-grid-columns: 1fr 40px 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto 10px auto;
    grid-template-rows: auto auto;
    gap: 10px 40px;
        grid-template-areas: "mainphoto option_info" "subphoto option_info";
  }
}
.staff_detail .detail_ph {
  margin-bottom: 20px;
}
@media screen and (min-width: 960px) {
  .staff_detail .detail_ph {
    grid-area: mainphoto;
    margin-bottom: 0;
  }
}
.staff_detail .detail_ph img {
  height: auto;
}
@media screen and (min-width: 960px) {
  .staff_detail .staff_detail_info {
    grid-area: option_info;
  }
}
.staff_detail .staff_detail_info .detail_name {
  margin-bottom: 35px;
}
@media screen and (min-width: 960px) {
  .staff_detail .staff_detail_info .detail_name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
}
.staff_detail .staff_detail_info .detail_name .name {
  font-size: 1.5rem;
  font-weight: 600;
}
.staff_detail .staff_detail_info .detail_name .staff_roman {
  font-size: 0.875rem;
}
.staff_detail .staff_detail_info .detail_comment {
  margin: -15px 0 20px;
  font-size: 0.875rem;
  line-height: 1.6;
  text-align: justify;
  color: #86786F;
}
.staff_detail .staff_detail_info .option_info dt {
  margin-bottom: 3px;
  font-weight: bold;
}
.staff_detail .staff_detail_info .option_info dd {
  background: #fff;
  margin-bottom: 30px;
  padding: 5px 10px;
  text-align: justify;
  border-radius: 5px;
}
@media screen and (min-width: 960px) {
  .staff_detail .option_photo {
    grid-area: subphoto;
  }
}
@media screen and (min-width: 960px){
  .staff_detail .detail_ph {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .staff_detail .staff_detail_info {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .staff_detail .option_photo {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}
.staff_detail .option_photo .sub_photo {
  margin-bottom: 15px;
}
.staff_detail .option_photo .sub_photo:last-of-type {
  margin-bottom: 0;
}
@media screen and (min-width: 960px) {
  .staff_detail .option_photo .sub_photo {
    margin-bottom: 10px;
  }
}
.staff_detail .option_photo img {
  height: auto;
}

.fancybox__content {
  background: #f0f0f0;
  max-width: 600px;
  padding: 50px 10px;
}
@media screen and (min-width: 960px) {
  .fancybox__content {
    max-width: 1000px;
    padding: 90px 80px;
  }
}

/* =============================================
リノベスタイル
============================================= */
body.single-renovation-styles .c-renovation-style__list {
  margin: 150px auto !important;
}
/*# sourceMappingURL=style.css.map */