<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url(base/normalize.css);
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: bottom;
}

button {
  border: none;
  background: none;
  outline: none;
  cursor: pointer;
}

/* ==========================================================================
   Base
============================================================================= */
html, body {
  position: relative;
  background: #ffffff;
  color: #121212;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6em;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 767px) {
  html, body {
    font-size: 12px;
  }
}

html {
  overflow: auto;
}

html::after {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(2, 24, 16, 0.15);
  width: 100%;
  height: 100%;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}

@media screen and (max-width: 1024px) {
  html::after {
    content: none;
  }
}

body {
  overflow: hidden;
  --wp--preset--font-size--small: 14px;
  --wp--preset--font-size--medium: 16px;
  --wp--preset--font-size--large: 18px;
  --wp--preset--font-size--x-large: 20px;
}

@media screen and (max-width: 767px) {
  body {
    --wp--preset--font-size--small: 10px;
    --wp--preset--font-size--medium: 12px;
    --wp--preset--font-size--large: 14px;
    --wp--preset--font-size--x-large: 16px;
  }
}

* {
  box-sizing: border-box;
}

a {
  color: #121212;
}

.is-pc a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

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

.is-pcDropdownActive::after {
  opacity: 1;
  pointer-events: auto;
}

/* ==========================================================================
   共通レイアウト設定
============================================================================= */
/* ==============================
// container
// コンテンツ幅
================================= */
.l-container {
  width: calc(100% - 30px * 2);
  max-width: 1180px;
  margin: 0 auto;
}

@media screen and (max-width: 1300px) {
  .l-container {
    width: calc(100% - 30px);
  }
}

@media screen and (max-width: 1024px) {
  .l-container {
    width: calc(100% - 20px * 2);
  }
}

.l-container.w800 {
  max-width: 800px;
}

.l-container.w900 {
  max-width: 900px;
}

.l-container.w1760 {
  max-width: 1760px;
  width: calc(100% - 4% * 2);
}

/* ==============================
// main
// ヘッダーナビより下の共通コンテンツラップ
// ヘッダーの高さ分コンテンツの位置を下げるためだけに使用
================================= */
.l-main {
  padding-top: 128px;
}

@media screen and (max-width: 1024px) {
  .l-main {
    padding-top: 64px;
  }
}

.header__lp + .l-main {
  padding-top: 0;
}

/* ==============================
// anchor
// アンカーリンクのジャンプ先をヘッダーの高さ分下げるために使用
// ページ内遷移であればJSの処理で自動で移動距離を制御するため不要だが、
// 違うページのアンカーを指定している場合、垂直位置指定がレンダリングのスピードでずれるため使用する
================================= */
.l-anchor {
  margin-top: calc(-1 * (90px + 60px));
  padding-top: 128px;
}

@media screen and (max-width: 1024px) {
  .l-anchor {
    margin-top: -64px;
    padding-top: 64px;
  }
}

/* ==============================
// section
// 下層ページの章ごとのスペース
// section.l-section のほか　div.l-sectionなど、見出しのないブロックにも使う
================================= */
.l-section {
  position: relative;
  padding-top: calc(60px * 1.5);
  padding-bottom: calc(60px * 1.5);
}

@media screen and (max-width: 1024px) {
  .l-section {
    padding-top: calc(30px * 2);
    padding-bottom: calc(30px * 2);
  }
}

/* ==============================
// safeArea
// スマホでセーフエリアのある機種の場合の余白設定
================================= */
@media screen and (max-width: 767px) {
  .l-safeArea {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/*
■　使い方

編集ツール：https://icomoon.io/app/#/select
１　icomoonにアクセスする
２　左上の「import icons」を押して assets&gt;font&gt;selection.json を選択
３　ここ（https://www.granfairs.com/blog/staff/howto-create-iconfont）の
　　STEP1. オリジナルアイコンを準備する　〜　STEP5. フォントファイルを生成　を参考に
　　アイコンフォントデータを編集・ダウンロード
４　ダウンロードしたファイルの「fonts」内のファイルと、selection.jsonを　assets&gt;font　に全て入れる
５　&lt;i class="icon-mail"&gt;&lt;/i&gt;のような感じで使える

*/
@font-face {
  font-family: 'icomoon';
  src: url("./../../assets/fonts/icomoon.eot");
  src: url("./../../assets/fonts/icomoon.eot") format("embedded-opentype"), url("./../../assets/fonts/icomoon.ttf") format("truetype"), url("./../../assets/fonts/icomoon.woff") format("woff"), url("./../../assets/fonts/icomoon.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  /* speak: none; */
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arr-thin-r:before {
  content: "\e900";
}

.icon-dl:before {
  content: "\e901";
}

.icon-arr-thin-t:before {
  content: "\e902";
}

.icon-popup:before {
  content: "\e903";
}

.icon-tel:before {
  content: "\e904";
}

.icon-arr-b:before {
  content: "\e905";
}

.icon-arr-l:before {
  content: "\e906";
}

.icon-arr-r:before {
  content: "\e907";
}

.icon-arr-t:before {
  content: "\e908";
}

.icon-arr-thin-b:before {
  content: "\e909";
}

.icon-arr-thin-l:before {
  content: "\e90a";
}

.icon-mail:before {
  content: "\e90b";
}

.icon-checked:before {
  content: "\e90c";
}

.icon-pamph:before {
  content: "\e90d";
}

.icon-freeDial:before {
  content: "\e90e";
}

.icon-mailThin:before {
  content: "\e90f";
}

.icon-line:before {
  content: "\e910";
}

.icon-facebook:before {
  content: "\ea90";
}

.icon-instagram:before {
  content: "\ea92";
}

.icon-twitter:before {
  content: "\ea96";
}

@keyframes catchcopy {
  0% {
    opacity: 0;
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes headingLine {
  0% {
    width: 0;
  }
  100% {
    width: 90px;
  }
}

@keyframes circle {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
    stroke-dasharray: 0 630;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 1;
    stroke-dasharray: 630 630;
  }
}

@keyframes line {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0% 0;
  }
}

@keyframes slideFade {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

/* ==========================================================================
	ボタンのモジュール
============================================================================= */
.btn {
  width: 100%;
  max-width: 380px;
  height: 55px;
  border-radius: 27px;
  border: 2px solid #112D12;
  padding: 6px 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: .06em;
  color: #112D12;
}

.btn:hover {
  opacity: 1;
  background: #112D12;
}

.btn:hover {
  color: #ffffff;
}

.btn i {
  margin-right: 0.4em;
}

.btn__owners {
  width: 200px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  font-size: 14px;
  font-weight: bold;
  border: 1px solid #ffffff;
  transition: color .3s, background-color .3s, border-color .3s, border-radius .5s;
}

.btn__owners .svg-img {
  margin-right: 10px;
}

.btn__owners .svg-img path {
  transition: fill .3s;
}

.btn__link, .archive__yearly-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 1em 10px;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  font-weight: bold;
  text-decoration: none;
  background: #F5F5F5;
}

.btn__link::before, .archive__yearly-list a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #121212;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: width .3s;
}

.btn__link::after, .archive__yearly-list a::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
}

@media screen and (max-width: 767px) {
  .btn__link::after, .archive__yearly-list a::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

.btn__link[target="_blank"]::after, .archive__yearly-list a[target="_blank"]::after {
  width: 12px;
  height: 12px;
  background: url(../images/cmn/icon_link-blank.svg) center no-repeat;
  background-size: contain;
  -webkit-clip-path: none;
  clip-path: none;
}

@media (hover: hover) and (pointer: fine) {
  .btn__link:hover::before, .archive__yearly-list a:hover::before {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .btn__link, .archive__yearly-list a {
    padding: 0.75em 10px 0.5em;
    font-size: 12px;
  }
}

.t-bgSub .btn__link, .t-bgSub .archive__yearly-list a, .archive__yearly-list .t-bgSub a {
  background: #ffffff;
}

.btn__link.is-cta01, .archive__yearly-list a.is-cta01 {
  background: #A28D5E;
  border: solid 1px #A28D5E;
  color: #ffffff;
  transition: background-color .2s, color .2s;
  padding: 11px 1em;
}

.btn__link.is-cta01::before, .archive__yearly-list a.is-cta01::before {
  background: transparent;
}

.btn__link.is-cta01::after, .archive__yearly-list a.is-cta01::after {
  background: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  .btn__link.is-cta01:hover, .archive__yearly-list a.is-cta01:hover {
    background: transparent;
    color: #A28D5E;
  }
  .btn__link.is-cta01:hover::after, .archive__yearly-list a.is-cta01:hover::after {
    background: #A28D5E;
  }
}

@media screen and (max-width: 767px) {
  .btn__link.is-cta01, .archive__yearly-list a.is-cta01 {
    padding: 0.6em 10px 0.65em;
  }
}

.btn__link.is-cta02, .archive__yearly-list a.is-cta02 {
  background: #112D12;
  border: solid 1px #112D12;
  color: #ffffff;
  transition: background-color .2s, color .2s;
  padding: 11px 1em;
}

.btn__link.is-cta02::before, .archive__yearly-list a.is-cta02::before {
  background: transparent;
}

.btn__link.is-cta02::after, .archive__yearly-list a.is-cta02::after {
  background: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  .btn__link.is-cta02:hover, .archive__yearly-list a.is-cta02:hover {
    background: transparent;
    color: #112D12;
  }
  .btn__link.is-cta02:hover::after, .archive__yearly-list a.is-cta02:hover::after {
    background: #112D12;
  }
}

@media screen and (max-width: 767px) {
  .btn__link.is-cta02, .archive__yearly-list a.is-cta02 {
    padding: 0.6em 10px 0.65em;
  }
}

/* ==========================================================================
  汎用カード用モジュール
============================================================================= */
/* リンクタイプカード内共通スタイル
============================================================================= */
.card_link-heading {
  display: flex;
  flex-direction: column;
}

.card_link-heading .jp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 0.5em;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  font-weight: bold;
}

.card_link-heading .jp::before {
  content: '';
  width: 0;
  height: 1px;
  background: #121212;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: width .3s;
}

.card_link-heading .jp::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
}

@media screen and (max-width: 767px) {
  .card_link-heading .jp::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

.card_link-heading .en {
  color: #BFA679;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.card_link-text {
  font-size: 14px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .card_link-text {
    font-size: 12px;
  }
}

.card_link-thumbnail {
  overflow: hidden;
  background: #ccc;
}

.card_link-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
}

/* リンクタイプ
============================================================================= */
.card_link-vertical {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: #F5F5F5;
  padding: 40px;
}

@media screen and (max-width: 767px) {
  .card_link-vertical {
    padding: 20px;
  }
}

.card_link-vertical .card_link-heading {
  order: 2;
}

.card_link-vertical .card_link-heading .jp {
  font-size: 20px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .card_link-vertical .card_link-heading .jp {
    font-size: 18px;
  }
}

.card_link-vertical .card_link-thumbnail {
  order: 1;
  margin: -40px -40px 30px;
}

@media screen and (max-width: 767px) {
  .card_link-vertical .card_link-thumbnail {
    margin: calc(-1 * 20px) calc(-1 * 20px) 20px;
  }
}

.card_link-vertical .card_link-text {
  order: 3;
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .card_link-vertical .card_link-text {
    margin-top: 15px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .card_link-vertical:hover .card_link-heading .jp::before {
    width: 100%;
  }
  .card_link-vertical:hover .card_link-thumbnail img {
    transform: scale(1.1);
  }
}

.card_link-horizonal {
  text-decoration: none;
  display: grid;
  grid-template-columns: 1fr 210px;
  grid-template-rows: auto auto;
  gap: 0px 0px;
  grid-template-areas: "card_link-heading card_link-thumbnail" "card_link-text card_link-thumbnail";
  padding: 40px;
  background: #F5F5F5;
}

@media screen and (max-width: 767px) {
  .card_link-horizonal {
    display: flex;
    flex-direction: column;
    padding: 20px;
  }
}

.card_link-horizonal .card_link-heading {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  align-self: end;
  grid-area: card_link-heading;
}

@media screen and (max-width: 767px) {
  .card_link-horizonal .card_link-heading {
    order: 2;
    align-self: inherit;
  }
}

.card_link-horizonal .card_link-heading .jp {
  font-size: 24px;
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .card_link-horizonal .card_link-heading .jp {
    font-size: 20px;
  }
}

.card_link-horizonal .card_link-thumbnail {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  grid-area: card_link-thumbnail;
  margin: -40px -40px -40px 40px;
}

@media screen and (max-width: 767px) {
  .card_link-horizonal .card_link-thumbnail {
    order: 1;
    margin: calc(-1 * 20px) calc(-1 * 20px) 20px;
  }
}

.card_link-horizonal .card_link-text {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  align-self: start;
  grid-area: card_link-text;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .card_link-horizonal .card_link-text {
    order: 3;
    margin-top: 10px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .card_link-horizonal:hover .card_link-heading .jp::before {
    width: 100%;
  }
  .card_link-horizonal:hover .card_link-thumbnail img {
    transform: scale(1.1);
  }
}

/* ==========================================================================
  フォームの共通モジュール
============================================================================= */
/* タイトル＋進捗表示
============================================================================= */
.form__flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form__flow .heading__Lv1 {
  flex-shrink: 0;
  margin-right: 20px;
}

.form__flowList {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .form__flowList {
    margin-bottom: 30px;
  }
}

.t-bgSub .form__flowList-item {
  background: #ffffff;
}

.form__flowList-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 20px;
  line-height: 1;
  font-size: 12px;
  font-weight: bold;
  background: #F5F5F5;
  border-radius: 100vw;
  position: relative;
}

@media screen and (max-width: 767px) {
  .form__flowList-item {
    width: 6em;
    font-size: 10px;
  }
}

.form__flowList-item.is-current {
  background: #112D12;
  color: #ffffff;
}

.form__flowList-item:not(:first-child) {
  margin-left: 45px;
}

@media screen and (max-width: 767px) {
  .form__flowList-item:not(:first-child) {
    margin-left: 26px;
  }
}

.form__flowList-item:not(:first-child)::before {
  content: '';
  width: 16px;
  height: 10px;
  background: url(../images/cmn/icon_arrow.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -30px;
}

@media screen and (max-width: 767px) {
  .form__flowList-item:not(:first-child)::before {
    left: -20px;
  }
}

/* フォーム
============================================================================= */
.form__table {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .form__table {
    margin-bottom: 30px;
  }
}

p + .form__table {
  margin-top: 20px;
}

.form__table-contents {
  display: flex;
}

.form__table-contents:not(:last-child) {
  border-bottom: 1px solid #eceff1;
}

@media screen and (max-width: 767px) {
  .form__table-contents {
    flex-direction: column;
  }
}

.form__table-heading {
  width: 295px;
  flex-shrink: 0;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #112D12;
  color: #ffffff;
  letter-spacing: 0.1em;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .form__table-heading {
    width: 100%;
    padding: 15px 20px;
  }
}

.form__table-heading span {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  width: 60px;
  height: 20px;
  margin-left: 20px;
  background: #f44336;
  flex-shrink: 0;
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .form__table-heading span {
    font-size: 10px;
    width: 50px;
  }
}

.form__table-text {
  flex-grow: 1;
  background: #ffffff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.form__table-text input,
.form__table-text select {
  color: #121212;
}

.form__table-text input[type="text"],
.form__table-text input[type="tel"],
.form__table-text input[type="email"],
.form__table-text input[type="number"],
.form__table-text input[type="date"] {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  padding: 10px 20px;
  border-radius: 5px;
  background: #F5F5F5;
  border: none;
  max-width: 400px;
  width: 100%;
}

.form__table-text input[type="file"] {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  cursor: pointer;
}

.form__table-text label,
.form__table-text input[type="radio"],
.form__table-text input[type="checkbox"] {
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .form__table-text label {
    display: flex;
    align-items: center;
  }
  .form__table-text label:not(:first-child) {
    margin-top: 1em;
  }
  .form__table-text label input[type="radio"],
  .form__table-text label input[type="checkbox"] {
    margin-right: 5px;
  }
}

.form__table-text select {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  padding: 10px 20px;
  border-radius: 5px;
  background: #F5F5F5;
  border: none;
  cursor: pointer;
}

.form__table-text textarea {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  padding: 10px 20px;
  border-radius: 5px;
  background: #F5F5F5;
  border: none;
  width: 100%;
  resize: vertical;
}

.form__table-text textarea:not(:first-child) {
  margin-top: 0.5em;
}

.form__table-text optgroup,
.form__table-text option {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
}

.form__table-text p {
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.form__table-text p:not(:first-child) {
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .form__table-text p {
    font-size: 10px;
  }
}

.form__table-text strong {
  font-weight: bold;
}

.form__table-text .heading__sub:not(:first-child) {
  margin-top: 0.5em;
}

.form__table-innerTable {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .form__table-innerTable {
    flex-direction: column;
    margin-top: 1em;
  }
}

.form__table-innerLabel {
  flex-shrink: 0;
  width: 7em;
}

.form__table-list {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .form__table-list {
    flex-direction: column;
  }
}

.form__table-list label {
  margin-right: 2em;
}

@media screen and (max-width: 767px) {
  .form__table-list label {
    margin: 1em 0 0;
  }
  .form__table-list label:first-child {
    margin-top: 0.5em;
  }
}

@media screen and (max-width: 767px) {
  .form__table-list + .heading__sub {
    margin-top: 1.5em !important;
  }
}

.form__table-file {
  margin-top: 0.5em;
}

.form__submit-wrapper {
  max-width: 360px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 767px) {
  .form__submit-wrapper {
    margin: 0 auto;
  }
}

.form__submit-wrapper::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #ffffff;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto;
}

.form__submit-wrapper.is-back::after {
  right: inherit;
  left: 25px;
  background: #121212;
  transform: rotateY(180deg);
}

.form__submit-wrapper.is-back .form__submit {
  background: #F5F5F5;
  color: #121212;
}

.form__submit {
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  cursor: pointer;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  border: none;
  border-radius: 5px;
  -webkit-appearance: none;
  background: #112D12;
  color: #ffffff;
}

.form__confirm {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: calc(60px - 30px);
}

@media screen and (max-width: 767px) {
  .form__confirm {
    margin-top: 0;
  }
}

.form__confirm .form__submit-wrapper {
  margin: 30px 30px 0;
}

/* エラー表示
============================================================================= */
.form__alert {
  margin-bottom: 40px;
}

.form__alert .heading__sub {
  color: #f44336;
}

@media screen and (max-width: 767px) {
  .form__alert {
    margin-bottom: 30px;
  }
}

.form__alert-text {
  color: #f44336;
}

/* 送信完了
============================================================================= */
.form__finish p + p {
  margin-top: 20px;
}

.form__finish a {
  margin-top: 20px;
  text-decoration: none;
}

/* プライバシーポリシー
============================================================================= */
.form__privacypolicy {
  width: 100%;
  height: 150px;
  overflow-y: auto;
  background: #ffffff;
  padding: 30px;
  margin-top: 40px;
  margin-bottom: 60px;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .form__privacypolicy {
    padding: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

/* ==========================================================================
見出しのモジュール
============================================================================= */
.heading__Lv1 {
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.65;
  font-size: 36px;
  padding-bottom: 0.5em;
  margin-bottom: 40px;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .heading__Lv1 {
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 20px;
  }
}

.heading__Lv1::after {
  content: '';
  display: block;
  width: 0;
  height: 5px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media screen and (max-width: 1024px) {
  .heading__Lv1::after {
    height: 3px;
  }
}

.heading__Lv1.is-animated::after {
  animation: headingLine 1s ease 0s 1;
  animation-fill-mode: both;
}

.heading__Lv2, .case__mv-title {
  display: flex;
  flex-direction: column;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
  line-height: 1.7;
}

.heading__Lv2 .jp, .case__mv-title .jp {
  font-size: 36px;
}

@media screen and (max-width: 1024px) {
  .heading__Lv2 .jp, .case__mv-title .jp {
    font-size: 27px;
  }
}

@media screen and (max-width: 767px) {
  .heading__Lv2 .jp, .case__mv-title .jp {
    line-height: 1.5;
  }
}

.heading__Lv2 .en, .case__mv-title .en {
  font-size: 30px;
  font-weight: 500;
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
}

.heading__Lv2 .en img, .case__mv-title .en img {
  vertical-align: middle;
}

@media screen and (max-width: 1024px) {
  .heading__Lv2 .en, .case__mv-title .en {
    font-size: 23px;
  }
}

@media screen and (max-width: 767px) {
  .heading__Lv2 .en img, .case__mv-title .en img {
    height: 17px;
  }
}

.heading__Lv3 {
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  padding-bottom: 0.5em;
  font-weight: bold;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  margin-bottom: 20px;
}

.heading__Lv3::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: -1px !important;
  top: inherit !important;
}

.heading__sub {
  font-size: 18px;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .heading__sub {
    font-size: 14px;
  }
}

/* table
----------------------------------------------------------------- */
.table {
  transform: translate3d(0, 0, 0);
  display: table;
  table-layout: fixed;
  width: 100%;
  border-top: 1px dotted #e3e3e3;
}

.table .table-td, .table .table-th {
  display: table-cell;
  text-align: left;
  font-weight: 400;
  border-bottom: 1px dotted #e3e3e3;
}

.table .table-th {
  width: 210px;
  background-color: #f8f8f8;
  padding: 14px 20px 14px 22px;
}

.table .table-td {
  background-color: #fff;
  padding: 14px 24px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .table {
    font-size: .9em;
    /*End @media */
  }
  .table .table-th {
    width: 8em;
    padding: 14px 0;
    text-align: center;
  }
}

.table-primary .table-th {
  width: 9em;
  background-color: #ffffff;
}

@media screen and (max-width: 767px) {
  .table-primary {
    /*End @media */
  }
  .table-primary .table-th {
    width: 7em;
  }
}

/* ==========================================================================
  ページ送りのモジュール
============================================================================= */
/* ==============================
// アーカイブページのページ送り
================================= */
.pagerArchive {
  text-align: center;
  margin: 60px 0 0;
}

.pagerArchive .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.pagerArchive .wp-pagenavi span, .pagerArchive .wp-pagenavi a {
  display: inline-block;
  line-height: 50px;
  min-width: 50px;
  text-align: center;
  padding: 0 14px;
  font-size: 14px;
  border-color: #eceff1;
}

@media (hover: hover) and (pointer: fine) {
  .pagerArchive .wp-pagenavi span:hover, .pagerArchive .wp-pagenavi a:hover {
    border-color: #112D12;
    color: #112D12;
  }
}

@media screen and (max-width: 767px) {
  .pagerArchive .wp-pagenavi span, .pagerArchive .wp-pagenavi a {
    font-size: 12px;
    line-height: 40px;
    min-width: 40px;
  }
}

.pagerArchive .wp-pagenavi span.pages {
  order: 1;
  width: 100%;
  flex-shrink: 0;
  border: none;
}

.pagerArchive .wp-pagenavi span.pages::after {
  content: 'ページ';
}

@media screen and (max-width: 767px) {
  .pagerArchive .wp-pagenavi span.pages {
    font-size: 10px;
  }
}

.pagerArchive .wp-pagenavi span.current {
  background: #112D12;
  color: #ffffff;
  border-color: #112D12;
}

/* ==============================
// 記事詳細のページ送り
================================= */
.pagerSingle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 -10px;
}

.pagerSingle__wrap {
  overflow: visible;
}

.pagerSingle__item {
  max-width: 10em;
  width: 100%;
  margin: 0 10px;
}

.pagerSingle__item a {
  text-decoration: none;
  display: inline-block;
  color: #112D12;
}

.pagerSingle__item a::before,
.pagerSingle__item a::after {
  font-family: 'icomoon';
  position: static;
  display: inline-block;
  transition: .2s;
}

.pagerSingle__prev {
  text-align: right;
}

.pagerSingle__prev a::after {
  margin-left: 10px;
  content: "\e907";
}

.pagerSingle__prev a:hover::after {
  transform: translateX(0.5em);
}

.pagerSingle__list {
  text-align: center;
}

.pagerSingle__next {
  text-align: left;
}

.pagerSingle__next a::before {
  margin-right: 10px;
  content: "\e906";
}

.pagerSingle__next a:hover::before {
  transform: translateX(-0.5em);
}

/* ==========================================================================
   スライダーのモジュール
============================================================================= */
.slider__editor {
  position: relative;
  padding-top: 30px;
}

@media screen and (max-width: 767px) {
  .slider__editor {
    padding-top: 20px;
  }
}

.slider__editor .slick-dots {
  position: absolute;
  top: 0;
  right: 0;
  bottom: inherit;
  display: flex;
  justify-content: flex-end;
}

.slider__editor .slick-dots li {
  width: 10px;
  height: 10px;
}

.slider__editor .slick-dots li button {
  padding: 0;
  width: 10px;
  height: 10px;
}

.slider__editor .slick-dots li button:before {
  color: #112D12;
  width: 10px;
  height: 10px;
  line-height: 1;
}

.slider__editor .slick-next,
.slider__editor .slick-prev {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #112D12 !important;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider__editor .slick-next::before,
.slider__editor .slick-prev::before {
  content: '';
  display: block;
  width: 40px;
  height: 6px;
  -webkit-clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  background: #ffffff;
}

@media screen and (max-width: 767px) {
  .slider__editor .slick-next,
  .slider__editor .slick-prev {
    width: 40px;
    height: 40px;
  }
  .slider__editor .slick-next::before,
  .slider__editor .slick-prev::before {
    width: 18px;
    height: 6px;
  }
}

.slider__editor .slick-prev::before {
  transform: rotateY(180deg);
}

@media screen and (max-width: 767px) {
  .slider__editor .slick-next {
    right: -15px;
  }
  .slider__editor .slick-prev {
    left: -15px;
  }
}

.slider__editor-image {
  margin: 0 auto;
}

.slider__editor-caption {
  margin-top: 30px;
}

.slider__banner {
  margin: 60px 0;
}

@media screen and (max-width: 767px) {
  .slider__banner {
    margin: 30px 0;
  }
}

.slider__banner .slick-next,
.slider__banner .slick-prev {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #112D12 !important;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider__banner .slick-next::before,
.slider__banner .slick-prev::before {
  content: '';
  display: block;
  width: 40px;
  height: 6px;
  -webkit-clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  background: #ffffff;
}

@media screen and (max-width: 767px) {
  .slider__banner .slick-next,
  .slider__banner .slick-prev {
    width: 40px;
    height: 40px;
  }
  .slider__banner .slick-next::before,
  .slider__banner .slick-prev::before {
    width: 18px;
    height: 6px;
  }
}

.slider__banner .slick-next {
  right: 20px;
}

.slider__banner .slick-prev {
  left: 20px;
}

.slider__banner .slick-prev::before {
  transform: rotateY(180deg);
}

.slider__banner-link {
  width: 560px;
  display: flex;
  background: #F5F5F5;
  text-decoration: none;
  margin: 0 20px;
}

@media screen and (max-width: 767px) {
  .slider__banner-link {
    width: 245px;
    flex-direction: column;
  }
}

.slider__banner-image {
  width: 245px;
  height: auto;
  aspect-ratio: 5 / 3;
  background-color: #ccc;
  overflow: hidden;
  flex-shrink: 0;
}

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

.slider__banner-text {
  padding: 30px;
  flex-grow: 1;
}

.slider__banner-text h3 {
  font-weight: bold;
  line-height: 1.25;
}

.slider__banner-text p {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .slider__banner-text p {
    font-size: 12px;
  }
}

.slider__section {
  margin: 60px 0;
}

@media screen and (max-width: 767px) {
  .slider__section {
    margin: 30px 0;
  }
}

.slider__section .slick-next,
.slider__section .slick-prev {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #112D12 !important;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider__section .slick-next::before,
.slider__section .slick-prev::before {
  content: '';
  display: block;
  width: 40px;
  height: 6px;
  -webkit-clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  background: #ffffff;
}

@media screen and (max-width: 767px) {
  .slider__section .slick-next,
  .slider__section .slick-prev {
    width: 40px;
    height: 40px;
  }
  .slider__section .slick-next::before,
  .slider__section .slick-prev::before {
    width: 18px;
    height: 6px;
  }
}

.slider__section .slick-next {
  right: 20px;
}

.slider__section .slick-prev {
  left: 20px;
}

.slider__section .slick-prev::before {
  transform: rotateY(180deg);
}

.slider__section-container {
  margin: 0 20px;
  width: 560px;
}

@media screen and (max-width: 767px) {
  .slider__section-container {
    width: 245px;
  }
}

@media screen and (max-width: 767px) {
  .slider__section-title {
    font-size: 20px !important;
    margin-bottom: 25px !important;
  }
}

.slider__section-image {
  margin-bottom: 25px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .slider__section-image {
    margin-bottom: 15px;
  }
}

.slider__section-detail {
  justify-content: space-between;
}

.slider__section-subtitle {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .slider__section-subtitle {
    margin-bottom: 10px;
  }
}

.slider__thumbnail-editor {
  padding-top: 0;
}

.slider__thumbnail-nav {
  margin-top: 30px;
}

.slider__thumbnail-nav .slick-track {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: left;
  transform: unset !important;
  width: 100% !important;
}

.slider__thumbnail-nav .slick-track::before, .slider__thumbnail-nav .slick-track::after {
  content: none;
}

.slider__thumbnail-item {
  cursor: pointer;
  position: relative;
  width: calc( (100% / 6) - (25px / 6)) !important;
}

@media screen and (max-width: 767px) {
  .slider__thumbnail-item {
    width: calc( (100% / 4) - (15px / 4)) !important;
  }
}

.slider__thumbnail-item::before {
  border: solid 3px #112D12;
  content: '';
  height: calc(100% -  6px);
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity .5s;
  visibility: hidden;
  width: calc(100% -  6px);
}

.slider__thumbnail-item.slick-current::before {
  opacity: 1;
  visibility: visible;
}

.slider__thumbnail-item img {
  aspect-ratio: 16 / 9;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.slider__default {
  position: relative;
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .slider__default {
    padding-bottom: 20px;
  }
}

.slider__default .slick-dots {
  position: absolute;
  bottom: 0;
  display: flex;
  justify-content: center;
}

.slider__default .slick-dots li {
  width: 10px;
  height: 10px;
}

.slider__default .slick-dots li button {
  padding: 0;
  width: 10px;
  height: 10px;
}

.slider__default .slick-dots li button:before {
  color: #112D12;
  width: 10px;
  height: 10px;
  line-height: 1;
}

.slider__default .slick-next,
.slider__default .slick-prev {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #112D12 !important;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider__default .slick-next::before,
.slider__default .slick-prev::before {
  content: '';
  display: block;
  width: 40px;
  height: 6px;
  -webkit-clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  background: #ffffff;
}

@media screen and (max-width: 767px) {
  .slider__default .slick-next,
  .slider__default .slick-prev {
    width: 40px;
    height: 40px;
  }
  .slider__default .slick-next::before,
  .slider__default .slick-prev::before {
    width: 18px;
    height: 6px;
  }
}

.slider__default .slick-prev::before {
  transform: rotateY(180deg);
}

.slider__default .slick-slide {
  margin: 0 10px;
}

.slider__default .slick-next {
  right: -40px;
}

.slider__default .slick-prev {
  left: -40px;
}

@media screen and (max-width: 767px) {
  .slider__default .slick-next {
    right: -15px;
  }
  .slider__default .slick-prev {
    left: -15px;
  }
}

/* ==========================================================================
  汎用リスト用モジュール
============================================================================= */
.simpleList li::before {
  content: "・";
}

/* SNSリスト
============================================================================= */
.list__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 -10px;
}

.list__sns &gt; li {
  margin: 0 10px;
  line-height: 1;
}

/* ページ内インデックス
============================================================================= */
.list__index {
  display: flex;
  flex-wrap: wrap;
  margin: -30px -10px 0;
}

@media screen and (max-width: 767px) {
  .list__index {
    flex-direction: column;
    margin: -20px 0 0;
  }
}

.list__index &gt; li {
  width: calc(50% - 20px);
  margin: 30px 10px 0;
}

@media screen and (max-width: 767px) {
  .list__index &gt; li {
    width: 100%;
    margin: 20px 0 0;
  }
}

.list__index &gt; li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px 1em;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  font-weight: bold;
  text-decoration: none;
  color: #121212;
}

.list__index &gt; li a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #121212;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: width .3s;
}

.list__index &gt; li a::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .list__index &gt; li a::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .list__index &gt; li a:hover::before {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .list__index &gt; li a {
    padding: 0.5em 10px;
    font-size: 12px;
  }
}

/* フローリスト
============================================================================= */
.list__flow {
  counter-reset: counter-list_flow;
}

.list__flow &gt; li {
  counter-increment: counter-list_flow;
  padding: 0.3em 0 2em 50px;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .list__flow &gt; li {
    padding-left: 40px;
  }
}

.list__flow &gt; li::before {
  content: counter(counter-list_flow);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: bold;
  background: #112D12;
  color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .list__flow &gt; li::before {
    font-size: 14px !important;
    width: 30px;
    height: 30px;
  }
}

.list__flow &gt; li:not(:last-child)::after {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 19px;
  background: #cfd8dc;
}

@media screen and (max-width: 767px) {
  .list__flow &gt; li:not(:last-child)::after {
    left: 14px;
  }
}

.list__flow &gt; li &gt; h2,
.list__flow &gt; li &gt; h3,
.list__flow &gt; li &gt; h4,
.list__flow &gt; li &gt; h5,
.list__flow &gt; li &gt; h6 {
  font-size: 18px !important;
  font-weight: bold !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: 0.06em !important;
}

@media screen and (max-width: 767px) {
  .list__flow &gt; li &gt; h2,
  .list__flow &gt; li &gt; h3,
  .list__flow &gt; li &gt; h4,
  .list__flow &gt; li &gt; h5,
  .list__flow &gt; li &gt; h6 {
    font-size: 14px !important;
  }
}

.list__flow &gt; li &gt; h2::before, .list__flow &gt; li &gt; h2::after,
.list__flow &gt; li &gt; h3::before,
.list__flow &gt; li &gt; h3::after,
.list__flow &gt; li &gt; h4::before,
.list__flow &gt; li &gt; h4::after,
.list__flow &gt; li &gt; h5::before,
.list__flow &gt; li &gt; h5::after,
.list__flow &gt; li &gt; h6::before,
.list__flow &gt; li &gt; h6::after {
  content: none !important;
}

.list__flow &gt; li &gt; p:not(:first-child) {
  margin-top: 0.5em;
}

/* バナーリスト
============================================================================= */
.list__link {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
}

@media screen and (max-width: 1024px) {
  .list__link {
    flex-direction: column;
    margin: 0;
  }
}

.list__link.is-column-1 &gt; li {
  width: calc(100% - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .list__link.is-column-1 &gt; li {
    width: 100%;
    margin: 30px 0 0;
  }
}

.list__link.is-column-2 &gt; li {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .list__link.is-column-2 &gt; li {
    width: 100%;
    margin: 30px 0 0;
  }
}

.list__link a {
  display: flex;
  background: #F5F5F5;
  text-decoration: none !important;
  height: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .list__link a:hover img {
    transform: scale(1.1);
  }
}

.list__link figure {
  width: 160px;
  flex-shrink: 0;
  overflow: hidden;
  background: #ccc;
}

@media screen and (max-width: 767px) {
  .list__link figure {
    width: 30%;
  }
}

.list__link figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
  aspect-ratio: 16 / 9;
}

.list__link div {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 37px 50px 37px 40px;
  position: relative;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .list__link div {
    padding: 20px 30px 20px 20px;
  }
}

.list__link div::after {
  content: '';
  display: block;
  width: 6px;
  height: 9px;
  background: #121212;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  position: absolute;
  top: 0;
  right: 40px;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .list__link div::after {
    right: 20px;
  }
}

/* ==========================================================================
   シングルページなどに利用するシンプルなカテゴリリストのモジュール
============================================================================= */
.listSimpleCat__wrap {
  overflow: hidden;
}

.listSimpleCat__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: -5px;
}

.listSimpleCat__item {
  margin: 5px;
}

@media screen and (max-width: 767px) {
  .listSimpleCat__item {
    font-size: 12px;
  }
}

.listSimpleCat__item &gt; * {
  background: #F5F5F5;
  color: #666;
  display: block;
  font-size: 14px;
  line-height: 1.5em;
  padding: 0 20px;
  text-decoration: none;
}

/* ==========================================================================
  大きなカテゴリ一覧のモジュール
　※アーカイブページなど、大きく使用する装飾されたカテゴリリスト
============================================================================= */
.listCategory__wrap {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}

.listCategory {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  margin: 0 -25px;
}

.listCategory .cat-item {
  padding: 10px;
  margin-left: 15px;
  margin-right: 15px;
}

.listCategory a {
  font-weight: 700;
  color: #999999;
}

/* ==========================================================================
  ブログ記事一覧のサムネイル表示用モジュール
============================================================================= */
.listBlog__listWrap {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .listBlog__listWrap {
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .listBlog__list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    position: relative;
    margin: -20px;
  }
}

@media screen and (min-width: 768px) {
  .listBlog__item {
    width: 33.33333333333%;
    padding: 20px;
  }
}

.listBlog__cat {
  position: absolute;
  top: 0;
  right: 0;
  background: #ffffff;
  font-size: 12px;
  padding: 0 15px;
  line-height: 28px;
  z-index: 1;
}

.listBlog__link {
  display: block;
  position: relative;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.1em;
  border: 1px solid #eeeeee;
}

.listBlog__thumbWrap {
  position: relative;
  overflow: hidden;
  position: relative;
}

.listBlog__thumbWrap::after {
  content: "";
  display: block;
  width: 100%;
  padding-top: 68.53333%;
}

.listBlog__thumbWrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.listBlog__thumb {
  transition: .4s;
}

.listBlog__link:hover .listBlog__thumb {
  transform: scale(1.1);
}

.listBlog__txtWrap {
  padding: 15px;
}

.listBlog__date {
  color: #666666;
  font-size: 12px;
}

.listBlog__ttl {
  line-height: 1.7em;
  margin: 1px 0 10px;
}

.listBlog__txt {
  font-weight: normal;
  font-size: 0.9em;
}

.listBlog__btn {
  text-align: center;
  line-height: 48px;
  border-top: 1px solid #eeeeee;
  color: #112D12;
  font-size: 14px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: 500;
  position: relative;
}

@media screen and (max-width: 767px) {
  .listBlog__item + .listBlog__item {
    margin-top: 25px;
  }
}

/* ==========================================================================
   ニュース一覧のモジュール
============================================================================= */
.listNews__Wrap + .listNews__Wrap {
  border-top: 1px solid #cfd8dc;
}

.listNews a {
  text-decoration: none;
}

.listNews .listSimpleCat__list {
  margin-bottom: 10px;
}

.listNews__listItem:not(:first-child) {
  border-top: 1px solid #cfd8dc;
}

.listNews__listItem.is-hidden {
  display: none;
}

.listNews__link {
  display: flex;
  padding: 1em 0;
}

@media screen and (max-width: 767px) {
  .listNews__link {
    flex-direction: column;
  }
}

.listNews__date {
  flex-shrink: 0;
  margin-right: 60px;
}

.listNews__title {
  display: flex;
  align-items: baseline;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .listNews__title {
    margin-top: 3px;
  }
}

.listNews__title strong {
  flex-shrink: 0;
  text-transform: uppercase;
  font-weight: bold;
  color: #f44336;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .listNews__title strong {
    margin-right: 5px;
  }
}

.listNews__title strong img {
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .listNews__title strong img {
    height: 8px;
  }
}

.listNews__noPost {
  padding: 1em 0;
}

.listNews__toggleBtn {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  align-items: center;
  background-color: #112D12;
  border-bottom: transparent;
  color: #ffffff;
  display: flex;
  flex-direction: row-reverse;
  font-size: 20px;
  font-weight: 700;
  min-height: 56px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  padding: .5em 1em;
  position: relative;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: .15s ease background-color;
  max-width: 400px;
  width: 100%;
}

@media (any-hover: hover) {
  .listNews__toggleBtn:hover {
    background-color: #001107;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .listNews__toggleBtn {
    font-size: 16px;
    min-height: 48px;
    max-width: inherit;
  }
}

.listNews__toggleBtn::before {
  content: none;
}

.listNews__toggleBtn::after {
  aspect-ratio: 1;
  background-color: #ffffff;
  -webkit-clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  height: auto;
  margin: 0;
  width: 32px;
}

/* ==========================================================================
   イベント一覧のモジュール
============================================================================= */
.listEvent__Wrap + .listEvent__Wrap {
  border-top: 1px solid #cfd8dc;
}

.listEvent a {
  text-decoration: none;
}

.listEvent__listItem:not(:first-child) {
  border-top: 1px solid #cfd8dc;
}

.listEvent__link {
  display: flex;
  padding: 1em 0;
}

@media screen and (max-width: 1024px) {
  .listEvent__link {
    flex-direction: column;
  }
}

.listEvent__info {
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .listEvent__info {
    flex-direction: column;
  }
}

.listEvent__category {
  flex-shrink: 0;
  width: 90px;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  border-radius: 5px;
  color: #ffffff;
  background: #112D12;
  margin-right: 20px;
}

.listEvent__category.is-seminar {
  background: #42a5f5;
}

.listEvent__category.is-tour {
  background: #4db6ac;
}

.listEvent__category.is-soudan {
  background: #607d8b;
}

.listEvent__category.is-kengaku {
  background: #a1887f;
}

@media screen and (max-width: 767px) {
  .listEvent__category {
    font-size: 10px;
    line-height: 15px;
    padding: 0 10px;
    width: auto;
    min-width: 68px;
  }
}

.listEvent__date {
  flex-shrink: 0;
  width: 25em;
  margin-right: 60px;
}

@media screen and (max-width: 767px) {
  .listEvent__date {
    margin: 0.5em 0 0;
    width: auto;
    flex-shrink: inherit;
  }
}

.listEvent__title {
  display: flex;
  align-items: baseline;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .listEvent__title {
    margin-top: 3px;
  }
}

.listEvent__title strong {
  flex-shrink: 0;
  text-transform: uppercase;
  font-weight: bold;
  color: #f44336;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .listEvent__title strong {
    margin-right: 5px;
  }
}

.listEvent__title strong img {
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .listEvent__title strong img {
    height: 8px;
  }
}

.listEvent__noPost {
  padding: 1em 0;
}

.listEvent__forArea {
  display: grid;
  gap: 48px 0;
}

.t-pb0 .listEvent__forArea {
  padding-bottom: calc(60px / 2);
}

@media screen and (max-width: 767px) {
  .listEvent__forArea {
    gap: 32px 0;
  }
  .t-pb0 .listEvent__forArea {
    padding-bottom: calc(30px / 2);
  }
}

.listEvent__forArea .listCategory__wrap {
  display: flex;
  justify-content: center;
  overflow: unset;
}

.listEvent__forArea .listCategory {
  background-color: #F5F5F5;
  border-radius: 9999px;
  display: inline-flex;
  margin: 0;
}

.listEvent__forArea .listCategory .cat-item {
  margin: 0;
  padding: 0;
  position: relative;
}

.listEvent__forArea .listCategory .cat-item &gt; strong {
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: animation-new;
  color: #F44336;
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  left: 50%;
  letter-spacing: .125em;
  line-height: 1.25;
  position: absolute;
  text-transform: uppercase;
  top: -16px;
  translate: -50% 0;
}

@media screen and (max-width: 767px) {
  .listEvent__forArea .listCategory .cat-item &gt; strong {
    font-size: 10px;
    letter-spacing: .05em;
  }
}

.listEvent__forArea .listCategory .cat-item &gt; button {
  color: #112D12;
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: 700;
  padding: 14px 16px;
  transition: .075s ease color;
}

@media (any-hover: hover) {
  .listEvent__forArea .listCategory .cat-item &gt; button:hover {
    color: #BFA679;
  }
}

@media screen and (max-width: 767px) {
  .listEvent__forArea .listCategory .cat-item &gt; button {
    font-size: 12px;
    letter-spacing: 0;
    padding: 10px;
  }
}

.listEvent__forArea .listCategory .cat-item &gt; button[aria-selected="true"] {
  background-color: #112D12;
  border-radius: 9999px;
  color: #ffffff;
}

.listEvent__forArea .listEvent {
  display: grid;
  gap: 48px 32px;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 1024px) {
  .listEvent__forArea .listEvent {
    gap: 24px;
  }
}

@media screen and (max-width: 767px) {
  .listEvent__forArea .listEvent {
    gap: 24px;
    grid-template-columns: unset;
  }
}

.listEvent__forArea .listEvent__listItem {
  border: transparent;
  position: relative;
}

.listEvent__forArea .listEvent__image {
  border: solid 1px #E2E7E8;
  overflow: hidden;
}

.listEvent__forArea .listEvent__image img {
  aspect-ratio: 1;
  transition: .3s ease transform;
}

.listEvent__forArea .listEvent__title {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.625;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .listEvent__forArea .listEvent__title {
    font-size: 16px;
    margin-top: 16px;
  }
}

.listEvent__forArea .listEvent__title strong {
  display: none;
  margin: 0 0 0 8px;
}

.listEvent__forArea .listEvent__category {
  background-color: #112D12 !important;
  border-radius: 0;
  font-size: 14px;
  font-weight: 700;
  left: 0;
  margin: 0;
  padding: 6px 12px;
  position: absolute;
  top: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 767px) {
  .listEvent__forArea .listEvent__category {
    font-size: 12px;
  }
}

.listEvent__forArea .listEvent__info {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-top: 20px;
  padding-top: 24px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .listEvent__forArea .listEvent__info {
    gap: 4px 0;
    margin-top: 12px;
    padding-top: 16px;
  }
}

.listEvent__forArea .listEvent__info::before {
  background-color: #112D12;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  width: 4em;
}

.listEvent__forArea .listEvent__infoItem {
  display: grid;
  font-size: 14px;
  grid-column: span 2;
  grid-template-columns: subgrid;
}

@media screen and (max-width: 767px) {
  .listEvent__forArea .listEvent__infoItem {
    font-size: 12px;
  }
}

.listEvent__forArea .listEvent__infoItem &gt; * {
  font-weight: 700;
  letter-spacing: .075em;
}

.listEvent__forArea .listEvent__infoItem dt::after {
  content: '：';
}

.listEvent__forArea .listEvent__link {
  display: block;
  padding: 0;
}

@media (any-hover: hover) {
  .listEvent__forArea .listEvent__link:hover .listEvent__image img {
    transform: scale(1.1);
  }
}

/* ==========================================================================
	けんちく日記一覧のモジュール
============================================================================= */
.listDiary__Wrap + .listDiary__Wrap {
  border-top: 1px solid #cfd8dc;
}

.listDiary a {
  text-decoration: none;
}

.listDiary .listSimpleCat__list {
  margin-bottom: 10px;
}

.listDiary__listItem:not(:first-child) {
  border-top: 1px solid #cfd8dc;
}

.listDiary__link {
  display: flex;
  flex-direction: column;
  padding: 1em 0;
  letter-spacing: 0.1em;
}

.listDiary__date {
  flex-shrink: 0;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .listDiary__date {
    font-size: 12px;
  }
}

.listDiary__title {
  display: flex;
  align-items: baseline;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.57;
}

@media screen and (max-width: 767px) {
  .listDiary__title {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 3px;
  }
}

.listDiary__title strong {
  flex-shrink: 0;
  text-transform: uppercase;
  font-weight: bold;
  color: #f44336;
  margin-right: 1em;
}

.listDiary__title strong img {
  vertical-align: baseline;
}

.listDiary__noPost {
  padding: 1em 0;
}

/* ==========================================================================
  コラム用記事一覧のサムネイル表示用モジュール
============================================================================= */
.listColumn__listWrap {
  overflow: hidden;
}

.listColumn__list {
  margin-top: -50px;
}

@media screen and (max-width: 767px) {
  .listColumn__list {
    margin-top: -30px;
  }
}

.listColumn__item {
  border-bottom: 1px solid #cfd8dc;
  padding: 50px 0;
}

@media screen and (max-width: 767px) {
  .listColumn__item {
    padding: 30px 0;
  }
}

.listColumn__link {
  text-decoration: none;
}

.listColumn__link article {
  display: grid;
  grid-template-columns: 190px 1fr;
  grid-template-rows: auto auto auto;
  gap: 0px 0px;
  grid-template-areas: "listColumn__thumbWrap listColumn__ttl" "listColumn__thumbWrap listColumn__date" "listColumn__thumbWrap listColumn__txt";
}

@media screen and (max-width: 767px) {
  .listColumn__link article {
    display: flex;
    flex-direction: column;
  }
}

@media (hover: hover) and (pointer: fine) {
  .listColumn__link:hover .listColumn__thumb {
    transform: scale(1.1);
  }
}

.listColumn__date {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  align-self: center;
  grid-area: listColumn__date;
  font-size: 14px;
  line-height: 1.25;
  margin-bottom: calc(20px / 2);
}

@media screen and (max-width: 767px) {
  .listColumn__date {
    order: 3;
    align-self: flex-start;
  }
}

.listColumn__ttl {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-self: end;
  grid-area: listColumn__ttl;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .listColumn__ttl {
    order: 2;
    align-self: flex-start;
  }
}

.listColumn__thumbWrap {
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  -ms-grid-column: 1;
  align-self: start;
  grid-area: listColumn__thumbWrap;
  margin-right: 30px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .listColumn__thumbWrap {
    width: 100%;
    order: 1;
    margin: 0 0 20px;
  }
}

.listColumn__thumb {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
}

.listColumn__txt {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
  align-self: start;
  grid-area: listColumn__txt;
  font-size: 14px;
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .listColumn__txt {
    align-self: flex-start;
    order: 4;
  }
}

/* ==========================================================================
  コラム用記事一覧のサムネイル表示用モジュール
============================================================================= */
.listCase__listWrap {
  overflow: hidden;
}

.listCase__list {
  margin: -50px -30px 0;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .listCase__list {
    margin: -30px 0 0;
  }
}

.listCase__item {
  width: calc((100% / 3) - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .listCase__item {
    width: calc(50% - 60px);
  }
}

@media screen and (max-width: 767px) {
  .listCase__item {
    width: 100%;
    margin: 30px 0 0;
  }
}

.listCase__link {
  display: block;
  height: 100%;
  text-decoration: none;
  background: #F5F5F5;
}

.listCase__link article {
  display: flex;
  flex-direction: column-reverse;
}

@media (hover: hover) and (pointer: fine) {
  .listCase__link:hover .listCase__thumb {
    transform: scale(1.1);
  }
}

.listCase__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.25;
  padding: 30px 70px 30px 40px;
  position: relative;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .listCase__title {
    padding: 20px 50px 20px 20px;
    font-size: 16px;
    line-height: 1.5;
  }
}

.listCase__title::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
  display: block;
  position: absolute;
  right: 30px;
  bottom: 0;
  top: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .listCase__title::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

@media screen and (max-width: 767px) {
  .listCase__title::after {
    margin: auto;
  }
}

.listCase__thumbWrap {
  width: 100%;
  overflow: hidden;
}

.listCase__thumb {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
}

/* ==========================================================================
  コラム用記事一覧のサムネイル表示用モジュール
============================================================================= */
.listCare__listWrap {
  overflow: hidden;
}

.listCare__list {
  margin-top: -50px;
}

@media screen and (max-width: 767px) {
  .listCare__list {
    margin-top: -30px;
  }
}

.listCare__item {
  border-bottom: 1px solid #cfd8dc;
  padding: 50px 0;
}

@media screen and (max-width: 767px) {
  .listCare__item {
    padding: 30px 0;
  }
}

.listCare__link {
  text-decoration: none;
}

.listCare__link article {
  display: grid;
  grid-template-columns: 190px 1fr;
  grid-template-rows: auto auto auto;
  gap: 0px 0px;
  grid-template-areas: "listCare__thumbWrap listCare__category" "listCare__thumbWrap listCare__ttl" "listCare__thumbWrap listCare__date";
}

@media screen and (max-width: 767px) {
  .listCare__link article {
    display: flex;
    flex-direction: column;
  }
}

@media (hover: hover) and (pointer: fine) {
  .listCare__link:hover .listCare__thumb {
    transform: scale(1.1);
  }
}

.listCare__date {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
  align-self: center;
  grid-area: listCare__date;
  font-size: 14px;
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .listCare__date {
    order: 4;
    align-self: flex-start;
    font-size: 12px;
  }
}

.listCare__ttl {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  align-self: start;
  grid-area: listCare__ttl;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .listCare__ttl {
    order: 3;
    align-self: flex-start;
  }
}

.listCare__thumbWrap {
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  -ms-grid-column: 1;
  align-self: start;
  grid-area: listCare__thumbWrap;
  margin-right: 30px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .listCare__thumbWrap {
    width: 100%;
    order: 1;
    margin: 0 0 20px;
  }
}

.listCare__thumb {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
}

.listCare__category {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-self: end;
  grid-area: listCare__category;
  font-size: 14px;
  line-height: 1.25;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(20px / 2);
}

.listCare__category &gt; li {
  flex-shrink: 0;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  border-radius: 5px;
  color: #ffffff;
  background: #112D12;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .listCare__category {
    align-self: flex-start;
    order: 2;
  }
}

/* ==========================================================================
   不動産一覧のモジュール
============================================================================= */
.listRealestate {
  display: flex;
  flex-wrap: wrap;
  margin: -30px -30px 0;
}

@media screen and (max-width: 767px) {
  .listRealestate {
    margin: -10px 0 0;
  }
}

.listRealestate__listItem {
  width: calc((100% / 3) - 60px);
  margin: 30px 30px 0;
}

@media screen and (max-width: 1024px) {
  .listRealestate__listItem {
    width: calc(50% - 60px);
  }
}

@media screen and (max-width: 767px) {
  .listRealestate__listItem {
    width: 100%;
    margin: 10px 0 0;
  }
}

.listRealestate__listItem .btn__link, .listRealestate__listItem .archive__yearly-list a, .archive__yearly-list .listRealestate__listItem a {
  height: 100%;
}

.listRealestate-withImage {
  display: grid;
  gap: 20px;
}

.listRealestate-withImage__link {
  display: grid;
  grid-template-columns: 30% 1fr 20px;
  grid-template-rows: auto auto;
  grid-template-areas: "listRealestate-withImage__title listRealestate-withImage__title listRealestate-withImage__arrow" "listRealestate-withImage__thumbnail listRealestate-withImage__detail listRealestate-withImage__arrow";
  gap: 10px 20px;
  background-color: #F5F5F5;
  padding: 20px;
  text-decoration: none;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .listRealestate-withImage__link {
    grid-template-columns: 30% 1fr;
    grid-template-areas: "listRealestate-withImage__title listRealestate-withImage__title" "listRealestate-withImage__thumbnail listRealestate-withImage__detail";
    gap: 10px 1em;
    padding: 1em;
  }
}

.listRealestate-withImage__link::after {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 5;
  grid-area: listRealestate-withImage__arrow;
  content: '';
  display: block;
  width: 100%;
  aspect-ratio: 1 / 2;
  background: #cfd8dc;
  align-self: center;
  -webkit-clip-path: polygon(2px 0%, 100% 50%, 2px 100%, 0% 100%, calc(100% - 2px) 50%, 0% 0%);
  clip-path: polygon(2px 0%, 100% 50%, 2px 100%, 0% 100%, calc(100% - 2px) 50%, 0% 0%);
}

@media screen and (max-width: 767px) {
  .listRealestate-withImage__link::after {
    content: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .listRealestate-withImage__link:hover .listRealestate-withImage__thumbnail img {
    scale: 1.1;
  }
}

.listRealestate-withImage__title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: listRealestate-withImage__title;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .listRealestate-withImage__title {
    line-height: 1.3;
  }
}

.listRealestate-withImage__thumbnail {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: listRealestate-withImage__thumbnail;
  overflow: hidden;
}

.listRealestate-withImage__thumbnail img {
  transition: scale .3s;
}

.listRealestate-withImage__detail {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: listRealestate-withImage__detail;
}

@media screen and (max-width: 767px){
  .listRealestate-withImage__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .listRealestate-withImage__thumbnail {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .listRealestate-withImage__detail {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}

.listRealestate-withImage__detail-price {
  font-weight: bold;
  color: #f44336;
}

@media screen and (max-width: 767px) {
  .listRealestate-withImage__detail-price {
    line-height: 1.3;
  }
}

.listRealestate-withImage__detail-list {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .listRealestate-withImage__detail-list {
    gap: 0 0.5em;
  }
}

.listRealestate-withImage__detail-listItem {
  grid-column: span 2;
  display: grid;
  grid-template-columns: subgrid;
  gap: 0 1em;
}

.listRealestate-withImage__detail-listTitle {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .listRealestate-withImage__detail-listText {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
  }
}

/* ==========================================================================
	スタッフ一覧のモジュール
============================================================================= */
html:has(dialog[open]) {
  overflow: hidden;
}

/*
.listStaff__Wrap {
	margin-top: 50px;
	@include mqMax(sp) {
		margin-top: 30px;
	}
}
	*/
.listStaff {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 0 40px;
  margin-top: -80px;
}

@media screen and (max-width: 1024px) {
  .listStaff {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 767px) {
  .listStaff {
    gap: 0 25px;
    margin-top: -40px;
  }
}

.listStaff__listItem {
  grid-row: span 3;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  gap: 0;
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .listStaff__listItem {
    margin-top: 40px;
  }
}

.listStaff__summary {
  grid-row: span 3;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  gap: 1em 0;
}

.listStaff__summary .listStaff__thumb {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.listStaff__summary .listStaff__title {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.listStaff__summary .listStaff__text {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}

@media (hover: hover) and (pointer: fine) {
  .listStaff__summary:hover .listStaff__thumb img {
    scale: 1.1;
  }
}

.listStaff__thumb {
  overflow: hidden;
}

.listStaff__thumb img {
  transition: scale .3s;
}

.listStaff__title {
  display: flex;
  flex-direction: column;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .listStaff__title {
    line-height: 1.3;
  }
}

.listStaff__title-position {
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .listStaff__title-position {
    font-size: 10px;
  }
}

.listStaff__title-name {
  font-weight: bold;
  font-size: 24px;
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .listStaff__title-name {
    font-size: 14px;
  }
}

.listStaff__title-roman_alphabet {
  margin-top: .75em;
}

.listStaff__btn-open {
  grid-column: 1 / 2;
  grid-row: 1 / 4;
  z-index: 1;
}

.listStaff__dialog {
  width: calc(100% - 20px * 2);
  max-width: 800px;
  border: none;
  background-color: #e2e8e8;
  padding: 0;
  container-type: inline-size;
  container-name: staff-dialog;
}

.listStaff__dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

.listStaff__dialog-inner {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 2em;
  position: relative;
  padding: calc(20px * 2 + 50px) calc(20px * 1.5) 50px;
}

.listStaff__dialog-inner .listStaff__title {
  align-self: center;
}

.listStaff__dialog-inner .listStaff__text {
  grid-column: 1 / 3;
}

@container staff-dialog (max-width: 600px) {
  .listStaff__dialog-inner {
    grid-template-columns: 100%;
  }
  .listStaff__dialog-inner .listStaff__text {
    grid-column: inherit;
  }
}

.listStaff__btn-close {
  display: grid;
  width: 50px;
  padding: 0;
  aspect-ratio: 1;
  grid-template-columns: 100%;
  grid-template-rows: 100%;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 20px;
  right: 20px;
}

.listStaff__btn-close::before, .listStaff__btn-close::after {
  content: '';
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 1px;
  background: #112D12;
}

.listStaff__btn-close::before {
  rotate: 45deg;
}

.listStaff__btn-close::after {
  rotate: -45deg;
}

/* ==========================================================================
  ページ送りのモジュール
============================================================================= */
/* ==============================
// アーカイブページのページ送り
================================= */
.pagerArchive {
  text-align: center;
  margin: 60px 0 0;
}

.pagerArchive .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.pagerArchive .wp-pagenavi span, .pagerArchive .wp-pagenavi a {
  display: inline-block;
  line-height: 50px;
  min-width: 50px;
  text-align: center;
  padding: 0 14px;
  font-size: 14px;
  border-color: #eceff1;
}

@media (hover: hover) and (pointer: fine) {
  .pagerArchive .wp-pagenavi span:hover, .pagerArchive .wp-pagenavi a:hover {
    border-color: #112D12;
    color: #112D12;
  }
}

@media screen and (max-width: 767px) {
  .pagerArchive .wp-pagenavi span, .pagerArchive .wp-pagenavi a {
    font-size: 12px;
    line-height: 40px;
    min-width: 40px;
  }
}

.pagerArchive .wp-pagenavi span.pages {
  order: 1;
  width: 100%;
  flex-shrink: 0;
  border: none;
}

.pagerArchive .wp-pagenavi span.pages::after {
  content: 'ページ';
}

@media screen and (max-width: 767px) {
  .pagerArchive .wp-pagenavi span.pages {
    font-size: 10px;
  }
}

.pagerArchive .wp-pagenavi span.current {
  background: #112D12;
  color: #ffffff;
  border-color: #112D12;
}

/* ==============================
// 記事詳細のページ送り
================================= */
.pagerSingle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 -10px;
}

.pagerSingle__wrap {
  overflow: visible;
}

.pagerSingle__item {
  max-width: 10em;
  width: 100%;
  margin: 0 10px;
}

.pagerSingle__item a {
  text-decoration: none;
  display: inline-block;
  color: #112D12;
}

.pagerSingle__item a::before,
.pagerSingle__item a::after {
  font-family: 'icomoon';
  position: static;
  display: inline-block;
  transition: .2s;
}

.pagerSingle__prev {
  text-align: right;
}

.pagerSingle__prev a::after {
  margin-left: 10px;
  content: "\e907";
}

.pagerSingle__prev a:hover::after {
  transform: translateX(0.5em);
}

.pagerSingle__list {
  text-align: center;
}

.pagerSingle__next {
  text-align: left;
}

.pagerSingle__next a::before {
  margin-right: 10px;
  content: "\e906";
}

.pagerSingle__next a:hover::before {
  transform: translateX(-0.5em);
}

/* ==========================================================================
  アコーディオンのモジュール
============================================================================= */
.accordion_faq {
  display: block;
  overflow: hidden;
}

.accordion_faq::-webkit-details-marker {
  display: none;
}

.accordion_faq + .accordion_faq {
  margin-top: 40px;
}

.accordion_faq.is-opened .accordion_faq-icon::before {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion_faq.is-opened .accordion_faq-icon::after {
  transform: rotate(180deg);
}

.accordion_faq .accordion_faq-title.is-style-editor__h3 {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .accordion_faq .accordion_faq-title.is-style-editor__h3 {
    font-size: 14px;
  }
}

.accordion_faq-title {
  cursor: pointer;
  padding-left: 1.5em;
  padding-right: 25px;
  position: relative;
  margin-bottom: 0 !important;
}

.accordion_faq-title::-webkit-details-marker {
  display: none;
}

.accordion_faq-title::marker {
  display: none;
  content: none;
}

.accordion_faq-title::before {
  content: 'Q.';
  position: absolute;
  top: 0;
  left: 0;
}

.accordion_faq-icon {
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .accordion_faq-icon {
    right: 5px;
  }
}

.accordion_faq-icon::before {
  content: '';
  display: block;
  width: 15px;
  height: 1px;
  background: #121212;
  transition: transform .3s, opacity .3s;
  position: absolute;
}

.accordion_faq-icon::after {
  content: '';
  display: block;
  width: 15px;
  height: 1px;
  background: #121212;
  transition: transform .3s, opacity .3s;
  position: absolute;
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .accordion_faq-icon {
    width: 10px;
    height: 10px;
  }
  .accordion_faq-icon::before {
    width: 10px;
  }
  .accordion_faq-icon::after {
    width: 10px;
  }
}

.accordion_faq-contents {
  overflow: hidden;
}

.accordion_faq-contents &gt; div {
  padding: 20px 0;
}

/* ==========================================================================
   サイト内の各所に使うちょっとした共通設定
============================================================================= */
.t-ofi {
  height: 100%;
}

.t-ofi img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.t-tCenter {
  text-align: center;
}

.t-tRight {
  text-align: right;
}

.t-tLeft {
  text-align: left;
}

.t-nowL, .t-nowC, .t-nowR {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.t-nowC {
  justify-content: center;
}

.t-nowR {
  justify-content: flex-end;
}

.t-now {
  white-space: nowrap;
}

.t-pb0 {
  padding-bottom: 0 !important;
}

.t-pt0 {
  padding-top: 0 !important;
}

@media screen and (min-width: 768px) {
  .t-hidePC {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .t-hideSP {
    display: none;
  }
}

.t-fullWidth {
  max-width: inherit;
  width: 100%;
}

.t-w100:not(.wp-block-lazyblock-link-button), .t-w100 .editor__link {
  max-width: 100px;
  width: 100%;
}

.t-w150:not(.wp-block-lazyblock-link-button), .t-w150 .editor__link {
  max-width: 150px;
  width: 100%;
}

.t-w200:not(.wp-block-lazyblock-link-button), .t-w200 .editor__link {
  max-width: 200px;
  width: 100%;
}

.t-w250:not(.wp-block-lazyblock-link-button), .t-w250 .editor__link {
  max-width: 250px;
  width: 100%;
}

.t-w300:not(.wp-block-lazyblock-link-button), .t-w300 .editor__link {
  max-width: 300px;
  width: 100%;
}

.t-w350:not(.wp-block-lazyblock-link-button), .t-w350 .editor__link {
  max-width: 350px;
  width: 100%;
}

.t-w400:not(.wp-block-lazyblock-link-button), .t-w400 .editor__link {
  max-width: 400px;
  width: 100%;
}

.t-w450:not(.wp-block-lazyblock-link-button), .t-w450 .editor__link {
  max-width: 450px;
  width: 100%;
}

.t-w500:not(.wp-block-lazyblock-link-button), .t-w500 .editor__link {
  max-width: 500px;
  width: 100%;
}

.t-w550:not(.wp-block-lazyblock-link-button), .t-w550 .editor__link {
  max-width: 550px;
  width: 100%;
}

.t-w600:not(.wp-block-lazyblock-link-button), .t-w600 .editor__link {
  max-width: 600px;
  width: 100%;
}

.t-w650:not(.wp-block-lazyblock-link-button), .t-w650 .editor__link {
  max-width: 650px;
  width: 100%;
}

.t-w700:not(.wp-block-lazyblock-link-button), .t-w700 .editor__link {
  max-width: 700px;
  width: 100%;
}

.t-w750:not(.wp-block-lazyblock-link-button), .t-w750 .editor__link {
  max-width: 750px;
  width: 100%;
}

.t-w800:not(.wp-block-lazyblock-link-button), .t-w800 .editor__link {
  max-width: 800px;
  width: 100%;
}

.t-w850:not(.wp-block-lazyblock-link-button), .t-w850 .editor__link {
  max-width: 850px;
  width: 100%;
}

.t-w900:not(.wp-block-lazyblock-link-button), .t-w900 .editor__link {
  max-width: 900px;
  width: 100%;
}

.t-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

.t-bg {
  background-color: #ffffff !important;
}

.t-bgSub {
  background-color: #F5F5F5 !important;
}

.t-note {
  font-size: 0.9em;
}

.t-tRed {
  color: #f44336;
}

.t-bold {
  font-weight: bold;
}

.t-wbr {
  overflow-wrap: break-word;
  word-break: keep-all;
}

/* ==========================================================================
   headerのモジュール
============================================================================= */
.header {
  height: 128px;
  left: 0;
  position: fixed;
  top: 0;
  transition: .3s ease background-color, .3s ease height;
  width: 100%;
  z-index: 1000;
}

@media screen and (max-width: 767px) {
  .header {
    background-color: #ffffff;
    height: 64px;
  }
}

.header.is-scrolled {
  height: calc(128px * .75);
}

@media screen and (max-width: 767px) {
  .header.is-scrolled {
    height: 64px;
  }
}

.header__visible {
  height: 100%;
  position: relative;
  z-index: 2;
}

.header__container {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-between;
}

.header__logo svg {
  height: calc(192px * (40 / 172));
  width: 192px;
}

@media screen and (max-width: 767px) {
  .header__logo svg {
    width: 160px;
  }
}

.header__logo svg path {
  transition: .3s ease fill;
}

.header__hamburger {
  aspect-ratio: 1;
  padding: 0;
  position: relative;
  width: 32px;
}

@media screen and (max-width: 767px) {
  .header__hamburger {
    width: 28px;
  }
}

.header__hamburger-line {
  background-color: #112D12;
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  transition: .3s ease translate, .3s ease rotate, .15s ease background-color, .15s ease opacity;
  translate: -50% 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .header__hamburger-line {
    height: 1px;
  }
}

.header__hamburger-line:nth-child(1) {
  top: calc(6px - 1px);
}

.header__hamburger-line:nth-child(2) {
  top: calc(16px - 1px);
}

@media screen and (max-width: 767px) {
  .header__hamburger-line:nth-child(2) {
    top: calc(14px - 1px);
  }
}

.header__hamburger-line:nth-child(3) {
  top: calc(26px - 1px);
}

@media screen and (max-width: 767px) {
  .header__hamburger-line:nth-child(3) {
    top: calc(22px - 1px);
  }
}

@media screen and (max-width: 767px) {
  .is-spMenuActive .header__logo svg path {
    fill: #ffffff;
  }
}

.is-spMenuActive .header__hamburger-line {
  background-color: #ffffff !important;
}

.is-spMenuActive .header__hamburger-line:nth-child(1) {
  rotate: 45deg;
  top: 14px;
}

.is-spMenuActive .header__hamburger-line:nth-child(2) {
  opacity: 0;
}

.is-spMenuActive .header__hamburger-line:nth-child(3) {
  rotate: 135deg;
  top: 14px;
}

.header__hidden {
  background-color: #112D12;
  height: 100svh;
  max-width: 100%;
  opacity: 0;
  overflow-y: auto;
  padding: 128px 4vw 128px;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  width: 560px;
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .header__hidden {
    width: 480px;
  }
}

@media screen and (max-width: 767px) {
  .header__hidden {
    padding: calc(64px + 16px) 4vw 64px;
  }
}

.header__nav {
  display: grid;
  gap: 48px 0;
}

@media screen and (max-width: 767px) {
  .header__nav {
    gap: 32px 0;
  }
}

.header__ctaList {
  display: grid;
  row-gap: 8px;
}

.header__ctaListItem {
  justify-self: end;
}

.header__ctaBtn {
  align-items: center;
  background-color: #ffffff;
  color: #112D12;
  -moz-column-gap: 8px;
  column-gap: 8px;
  display: flex;
  font-size: 14px;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  line-height: 1.5;
  text-decoration: none;
  width: 200px;
}

@media screen and (max-width: 767px) {
  .header__ctaBtn {
    width: 160px;
  }
}

.header__ctaBtn svg path {
  fill: #112D12;
}

.header__navList {
  display: grid;
  row-gap: 32px;
}

@media screen and (max-width: 767px) {
  .header__navList {
    row-gap: 24px;
  }
}

.header__navList-linkWrapper {
  display: flex;
  justify-content: flex-end;
}

.header__navList-link {
  align-items: center;
  background-color: #112D12;
  color: #ffffff;
  display: flex;
  font-size: 18px;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .header__navList-link {
    font-size: 16px;
  }
}

.header__navList-link:not(:is(.js-parentNav .header__navList-link))::after {
  aspect-ratio: 1;
  background-color: #ffffff;
  -webkit-clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 24px;
}

@media (any-hover: hover) {
  .header__navList-link:hover {
    text-decoration: underline;
  }
}

.header__navList-accordionTrigger {
  aspect-ratio: 1;
  display: block;
  padding: 0;
  position: relative;
  width: 24px;
}

.header__navList-accordionTrigger::before {
  content: '';
  background: #ffffff;
  width: 11px;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform .3s, opacity .3s;
}

.header__navList-accordionTrigger::after {
  content: '';
  background: #ffffff;
  width: 1px;
  height: 11px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform .3s;
}

.header__navList-accordionTrigger[aria-expanded="true"]::before {
  transform: rotate(90deg);
  opacity: 0;
}

.header__navList-accordionTrigger[aria-expanded="true"]::after {
  transform: rotate(90deg);
}

.header__navList-child {
  display: flex;
  flex-direction: column;
  padding-top: 16px;
  row-gap: 12px;
}

@media screen and (max-width: 767px) {
  .header__navList-child {
    padding-top: 12px;
    row-gap: 8px;
  }
}

.header__navList-child li {
  display: flex;
  justify-content: flex-end;
}

.header__btn-link {
  align-items: center;
  color: #ffffff;
  display: flex;
  font-size: 14px;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .header__btn-link {
    font-size: 12px;
  }
}

.header__btn-link::after {
  aspect-ratio: 1;
  background-color: #ffffff;
  -webkit-clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 24px;
}

@media (any-hover: hover) {
  .header__btn-link:hover {
    text-decoration: underline;
  }
}

.header__snsList {
  align-items: center;
  -moz-column-gap: 32px;
  column-gap: 32px;
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .header__snsList {
    -moz-column-gap: 24px;
    column-gap: 24px;
  }
}

.header__snsListItem svg {
  height: auto;
  width: 28px;
}

@media screen and (max-width: 767px) {
  .header__snsListItem svg {
    width: 24px;
  }
}

.header__snsListItem svg path {
  fill: #ffffff;
}

@media screen and (min-width: 768px) {
  .header.is-section-dark .header__logo svg path {
    fill: #ffffff;
  }
  .header.is-section-dark .header__hamburger-line {
    background-color: #ffffff;
  }
}

/* メインビジュアルでの挙動（トップページのみ）
============================================================================= */
.home .header:not(.is-scrolled) {
  background-color: transparent;
}

.home .header:not(.is-scrolled) .header__logo svg path {
  fill: #ffffff;
}

.home .header:not(.is-scrolled) .header__hamburger-line {
  background-color: #ffffff;
}

/* LP用
============================================================================= */
.header__lp {
  text-align: center;
  padding: 10px 20px;
}

.header__lp-logo {
  text-align: center;
}

.header__lp-logo .svg-img {
  vertical-align: bottom;
  max-width: 176px;
  height: auto;
}

/* 管理バーの干渉を調整
============================================================================= */
@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed !important;
  }
}

/* ==========================================================================
  footerのモジュール
============================================================================= */
.footer {
  background: #112D12;
  color: #ffffff;
  position: relative;
  z-index: 3;
}

.footer a {
  color: #ffffff;
  text-decoration: none;
}

.footer .list__links {
  margin-top: 65px;
}

@media screen and (max-width: 767px) {
  .footer .list__links {
    margin-top: 55px;
  }
}

.footer .list__sns {
  margin: 0 -20px;
}

@media screen and (max-width: 767px) {
  .footer .list__sns {
    margin: 0 -10px;
  }
}

.footer .list__sns &gt; li {
  margin: 0 20px;
}

@media screen and (max-width: 767px) {
  .footer .list__sns &gt; li {
    margin: 0 10px;
  }
}

.footer .list__sns .svg-img path {
  fill: #ffffff;
}

@media screen and (max-width: 767px) {
  .footer .list__sns-facebook .svg-img,
  .footer .list__sns-instagram .svg-img {
    width: 22px;
  }
  .footer .list__sns-youtube .svg-img {
    width: 23px;
  }
}

.footer .btn__owners {
  color: #112D12;
  background: #ffffff;
  margin-top: 35px;
}

.footer .btn__owners:last-child {
  margin-top: 10px;
}

.footer .btn__owners .svg-img path {
  fill: #112D12;
}

@media (hover: hover) and (pointer: fine) {
  .footer .btn__owners:hover {
    color: #ffffff;
    background: #112D12;
  }
  .footer .btn__owners:hover .svg-img path {
    fill: #ffffff;
  }
}

@media screen and (max-width: 767px) {
  .footer .btn__owners {
    width: 150px;
    height: 30px;
    font-size: 10px;
  }
  .footer .btn__owners .svg-img {
    height: 14px;
  }
}

@media screen and (max-width: 767px) {
  .footer {
    margin-bottom: 60px;
  }
}

/* 上部
============================================================================= */
.footer__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 60px 0 calc(60px * 1.25);
}

@media screen and (max-width: 767px) {
  .footer__top {
    padding: calc(30px * 1.5) 0;
  }
}

.footer__logo .svg-img {
  vertical-align: bottom;
  max-width: 175px;
  height: auto;
}

.footer__logo .svg-img path {
  fill: #ffffff;
}

@media screen and (max-width: 767px) {
  .footer__logo .svg-img {
    width: 150px;
  }
}

.footer__catchcopy {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .footer__catchcopy {
    margin-top: 50px;
  }
}

.footer__catchcopy .svg-img {
  height: 80px;
}

@media screen and (max-width: 767px) {
  .footer__catchcopy .svg-img {
    max-width: 100%;
    height: 50px;
  }
}

.footer__catchcopy .svg-img + .svg-img {
  margin-top: 10px;
}

.footer__catchcopy .svg-img path {
  fill: #ffffff;
}

/* サイトマップ
============================================================================= */
.footer__sitemap {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 60px 0;
}

@media screen and (max-width: 1024px) {
  .footer__sitemap {
    display: none;
  }
}

.footer__sitemapList {
  display: flex;
  justify-content: space-between;
}

.footer__sitemapList-child {
  margin-top: 30px;
}

.footer__sitemapList-child &gt; li {
  font-size: 14px;
  margin-top: 10px;
}

/* バナー群
============================================================================= */
.footer__banner {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 20px 0;
}

.footer__bannerList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: -10px -5px 0;
}

.footer__bannerListItem {
  margin: 10px 5px 0;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .footer__bannerListItem {
    font-size: 10px;
  }
}

/* リンク集 / コピーライト
============================================================================= */
.footer__link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 20px 0;
}

@media screen and (max-width: 1024px) {
  .footer__link {
    flex-direction: column;
    align-items: center;
  }
}

.footer__linkList {
  display: flex;
  margin: 0 -15px;
}

@media screen and (max-width: 1024px) {
  .footer__linkList {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .footer__linkList {
    margin: 0;
    width: 100%;
  }
  .footer__linkList::after {
    content: '';
    width: 100%;
  }
}

.footer__linkListItem {
  margin: 0 15px;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .footer__linkListItem {
    font-size: 10px;
    margin-bottom: 16px;
  }
  .footer__linkListItem:nth-child(n+4) {
    order: 1;
  }
}

.footer__sitemapListItem-link {
  font-weight: bold;
}

.footer__copyright {
  display: flex;
  align-items: center;
  font-size: 12px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .footer__copyright {
    flex-wrap: wrap;
    justify-content: center;
    font-size: 10px;
  }
}

.footer__copyright a {
  align-items: center;
  display: flex;
}

.footer__copyright small {
  font-family: "Open Sans", sans-serif;
  margin-left: 20px;
}

.footer__copyright small img {
  vertical-align: middle;
}

.footer__copyright .svg-img {
  width: 115px;
  height: 20px;
  vertical-align: baseline;
  margin-bottom: 2px;
}

.footer__copyright .svg-img path {
  fill: #ffffff;
}

@media screen and (max-width: 1024px) {
  .footer__copyright {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .footer__copyright {
    margin-top: 0;
  }
  .footer__copyright small {
    margin-left: 15px;
  }
  .footer__copyright small img {
    height: 8px;
  }
  .footer__copyright .svg-img {
    width: 85px;
    height: 16px;
  }
}

/* ==========================================================================
  パン屑のモジュール
============================================================================= */
.breadcrumbs {
  font-size: 12px;
  padding-top: 12px;
  padding-bottom: 12px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: #F5F5F5;
  letter-spacing: 0.1em;
  position: relative;
}

.breadcrumbs .l-container {
  overflow: hidden;
  text-overflow: ellipsis;
}

.breadcrumbs a {
  position: relative;
  margin-right: 30px;
  text-decoration: none;
}

.breadcrumbs a img {
  vertical-align: baseline;
  margin-bottom: -2px;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs a::after {
  position: absolute;
  top: 50%;
  right: -16px;
  display: block;
  content: '';
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-top: 1px solid #455a64;
  border-right: 1px solid #455a64;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .breadcrumbs {
    padding: 10px 0;
    font-size: 10px;
  }
  .breadcrumbs span {
    line-height: 1.7em;
  }
}

/* ==========================================================================
   hamburgerのモジュール
============================================================================= */
.hamburger {
  display: block;
  position: relative;
  width: 24px;
  height: 20px;
}

.hamburger span {
  position: absolute;
  transition: all .4s;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #121212;
  border-radius: 4px;
}

.hamburger span:nth-of-type(1) {
  top: 0;
}

.hamburger span:nth-of-type(2) {
  top: 50%;
  margin-top: -1px;
}

.hamburger span:nth-of-type(3) {
  bottom: 0;
}

.is-spMenuActive .hamburger span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}

.is-spMenuActive .hamburger span:nth-of-type(2) {
  opacity: 0;
}

.is-spMenuActive .hamburger span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

/* ==========================================================================
   gototopのモジュール
============================================================================= */
.gototop {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 100%;
  border: none;
  font-family: "Open Sans", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  background: #001107;
  color: #ffffff;
  padding: 22px 0;
  font-size: 14px;
  position: relative;
  z-index: 3;
}

.gototop::after {
  content: '';
  width: 10px;
  height: 6px;
  background: #ffffff;
  margin-left: 0.5em;
  -webkit-clip-path: polygon(50% 0, 100% 80%, 100% 100%, 50% 20%, 0 100%, 0 80%);
  clip-path: polygon(50% 0, 100% 80%, 100% 100%, 50% 20%, 0 100%, 0 80%);
}

@media screen and (max-width: 767px) {
  .gototop::after {
    width: 6px;
    height: 4px;
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .gototop {
    padding: 18px 0;
    font-size: 10px;
  }
  .gototop img {
    height: 8px;
  }
}

/* ==========================================================================
   下層ページのHeroモジュール
============================================================================= */
.pageHero {
  background: #e9e9e9;
  padding: 80px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .pageHero + .l-section {
    padding-top: 30px;
  }
}

.pageHero__ttl {
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.1em;
  line-height: 1.7;
}

@media screen and (max-width: 1024px) {
  .pageHero__ttl {
    font-size: 23px;
  }
}

/* simple版
============================================================================= */
.pageHero-simple {
  background: #F5F5F5;
  padding: calc((60px / 3) * 4) 0;
  min-height: 180px;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .pageHero-simple {
    min-height: inherit;
    padding: 30px 0;
  }
  .pageHero-simple + .l-section {
    padding-top: 30px;
  }
}

/* with catch copy版（新デザインのためセリフ体です）
============================================================================= */
.pageHero-withCatchcopy {
  background: #F5F5F5;
  padding: calc((60px / 3) * 4) 0;
  min-height: 180px;
  display: flex;
  align-items: center;
}

.pageHero-withCatchcopy .pageHero__ttl {
  display: flex;
  flex-direction: column;
}

.pageHero-withCatchcopy .pageHero__ttl-sub {
  text-transform: uppercase;
  color: #BFA679;
  font-family: 'EB Garamond', serif;
  font-weight: 500;
}

.pageHero-withCatchcopy .pageHero__ttl-main {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
}

.pageHero-withCatchcopy .pageHero__ttl-text {
  font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  margin-top: 1em;
}

/* with image版
============================================================================= */
.pageHero-withImage {
  height: 450px;
  background: #F5F5F5;
  position: relative;
}

@media screen and (max-width: 767px) {
  .pageHero-withImage {
    height: auto;
  }
  .pageHero-withImage + .l-section {
    padding-top: 30px;
  }
}

.pageHero-withImage .l-container {
  display: flex;
  align-items: center;
  height: 100%;
}

.pageHero-withImage__text {
  width: 50%;
  padding-right: calc((60px / 3) * 4);
}

@media screen and (max-width: 767px) {
  .pageHero-withImage__text {
    width: 100%;
    padding: 30px 0 calc(30px + 5px);
  }
}

.pageHero-withImage__text .pageHero__ttl {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .pageHero-withImage__text .pageHero__ttl {
    margin-bottom: 10px;
  }
}

.pageHero-withImage__text .pageHero__ttl .en {
  color: #BFA679;
  font-family: "Open Sans", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 30px;
}

.pageHero-withImage__text .pageHero__ttl .en img {
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .pageHero-withImage__text .pageHero__ttl .en {
    margin-bottom: 10px;
  }
  .pageHero-withImage__text .pageHero__ttl .en img {
    height: 17px;
  }
}

.pageHero-withImage__text .pageHero__ttl .jp {
  font-size: 36px;
}

@media screen and (max-width: 1024px) {
  .pageHero-withImage__text .pageHero__ttl .jp {
    font-size: 27px;
  }
}

.pageHero-withImage__text p {
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.pageHero-withImage__image {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .pageHero-withImage__image {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 2;
    position: static;
  }
}

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

/* with thumbnail版
============================================================================= */
.pageHero-withThumbnail {
  height: 300px;
  background: #F5F5F5;
  position: relative;
}

@media screen and (max-width: 767px) {
  .pageHero-withThumbnail {
    height: auto;
  }
  .pageHero-withThumbnail + .l-section {
    padding-top: 30px;
  }
}

.pageHero-withThumbnail .l-container {
  display: flex;
  align-items: center;
  height: 100%;
}

.pageHero-withThumbnail__text {
  width: 50%;
  padding-right: calc((60px / 3) * 4);
}

@media screen and (max-width: 767px) {
  .pageHero-withThumbnail__text {
    width: 100%;
    padding: 30px 0;
  }
}

.pageHero-withThumbnail__text .pageHero__ttl {
  display: flex;
  flex-direction: column;
}

.pageHero-withThumbnail__text .pageHero__ttl .jp {
  font-size: 36px;
}

@media screen and (max-width: 1024px) {
  .pageHero-withThumbnail__text .pageHero__ttl .jp {
    font-size: 27px;
  }
}

.pageHero-withThumbnail__image {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .pageHero-withThumbnail__image {
    width: 100%;
    height: auto;
    aspect-ratio: 12 / 5;
    position: static;
  }
}

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

/* ==========================================================================
  検索モジュール
============================================================================= */
/* アコーディオンパネル
============================================================================= */
.search__accordionTrigger button {
  display: block;
  width: 100%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  background: #112D12;
  color: #ffffff;
  font-size: 18px;
  text-align: center;
  padding: 15px 0;
  font-weight: bold;
  position: relative;
}

.search__accordionTrigger button::before {
  content: '';
  display: block;
  width: 11px;
  height: 1px;
  background: #ffffff;
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
  transition: transform .3s, opacity .3s;
}

.search__accordionTrigger button::after {
  content: '';
  display: block;
  width: 1px;
  height: 11px;
  background: #ffffff;
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  margin: auto;
  transition: transform .3s;
}

.search__accordionTrigger button[aria-expanded="true"]::before {
  transform: rotate(90deg);
  opacity: 0;
}

.search__accordionTrigger button[aria-expanded="true"]::after {
  transform: rotate(90deg);
}

@media screen and (max-width: 1024px) {
  .search__accordionTrigger button {
    font-size: 14px;
  }
}

.search__accordionPanel {
  background: #F5F5F5;
  overflow: hidden;
}

.search__accordionPanel-inner {
  padding: 40px 90px;
}

@media screen and (max-width: 1024px) {
  .search__accordionPanel-inner {
    padding: 30px 20px;
  }
}

.search__accordionPanel-inner p {
  text-align: center;
  font-weight: bold;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .search__accordionPanel-inner p {
    font-size: 12px;
  }
}

/* カテゴリリスト
============================================================================= */
.search__categoryList-wrapper {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 1024px) {
  .search__categoryList-wrapper {
    flex-wrap: wrap;
  }
}

.search__categoryList-heading {
  display: flex;
  align-items: baseline;
  flex-shrink: 0;
  width: 190px;
  margin-right: 15px;
  padding: 35px 0;
  font-size: 14px;
  font-weight: bold;
}

.search__categoryList-heading::after {
  content: '';
  flex-shrink: 0;
  width: 16px;
  height: 10px;
  margin-left: 1em;
  background: url(../images/cmn/icon_arrow.svg) center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 1024px) {
  .search__categoryList-heading {
    width: 100%;
    padding: 0;
    margin: 2em 0 0;
    font-size: 12px;
  }
}

.search__categoryList {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px;
}

.search__categoryListItem {
  width: calc(25% - 40px);
  margin: 20px 20px 0;
}

@media screen and (max-width: 1024px) {
  .search__categoryListItem {
    width: calc((100% / 3) - 40px);
  }
}

@media screen and (max-width: 767px) {
  .search__categoryListItem {
    margin: 15px 15px 0;
    width: calc(50% - 30px);
  }
}

.search__categoryList-link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  background: #ffffff;
  color: #121212;
  border-style: solid;
  border-color: #ffffff;
  border-width: 1px;
  transition: border-color .3s, background-color .3s, color .3s;
  text-decoration: none;
  padding: 10px 15px;
  font-size: 14px;
  border-radius: 5px;
  min-height: 50px;
  line-height: 1.5;
  height: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .search__categoryList-link:hover {
    border-color: #112D12;
  }
}

@media screen and (max-width: 767px) {
  .search__categoryList-link {
    min-height: 40px;
    font-size: 12px;
  }
}

.search__categoryList-link.is-current {
  color: #ffffff;
  background: #112D12;
  border-color: #112D12;
}

/* チェックボックス用リスト
============================================================================= */
.search__form-list {
  display: flex;
  flex-wrap: wrap;
  margin: 10px -20px 30px;
}

@media screen and (max-width: 767px) {
  .search__form-list {
    margin: -10px -10px 30px;
  }
}

.search__form-listItem {
  width: calc((100% / 3) - 40px);
  margin: 20px 20px 0;
}

@media screen and (max-width: 767px) {
  .search__form-listItem {
    width: calc(50% - 20px);
    margin: 20px 10px 0;
  }
}

/* チェックボックス
============================================================================= */
.search__form-checkbox {
  cursor: pointer;
  position: relative;
  z-index: 0;
  display: block;
}

.search__form-checkbox input[type="checkbox"] {
  position: absolute;
  width: 20px;
  height: 20px;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  border-radius: 6px;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .search__form-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    right: 15px;
  }
}

.search__form-checkbox input[type="checkbox"]:checked ~ .search__form-icon {
  background-color: #ffffff;
}

.search__form-checkbox input[type="checkbox"]:checked ~ .search__form-icon::before, .search__form-checkbox input[type="checkbox"]:checked ~ .search__form-icon::after {
  opacity: 1;
}

.search__form-checkbox input[type="checkbox"]:checked ~ .search__form-text {
  color: #ffffff;
}

.search__form-checkbox input[type="checkbox"]:checked ~ .search__form-text::before {
  background: #112D12;
}

.search__form-icon {
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  background: #F5F5F5;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  border-radius: 6px;
  z-index: 0;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .search__form-icon {
    width: 18px;
    height: 18px;
    right: 15px;
  }
}

.search__form-icon::before {
  content: '';
  display: block;
  position: absolute;
  width: 4px;
  height: 2px;
  border-radius: 2px;
  background: #112D12;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  left: 5px;
  margin: auto;
  opacity: 0;
  transition: opacity .3s;
}

.search__form-icon::after {
  content: '';
  display: block;
  position: absolute;
  width: 9px;
  height: 2px;
  border-radius: 2px;
  background: #112D12;
  transform: rotate(320deg);
  top: 0;
  bottom: 0;
  right: 4px;
  margin: auto;
  opacity: 0;
  transition: opacity .3s;
}

.search__form-text {
  display: flex;
  width: 100%;
  padding: 12px 18px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: bold;
  flex-grow: 1;
  transition: color .3s;
  font-size: 14px;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .search__form-text {
    font-size: 12px;
    padding: 12px 15px;
  }
}

.search__form-text::before {
  content: '';
  width: 100%;
  height: 100%;
  background: #ffffff;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: background-color .3s;
}

/* 検索ボタン
============================================================================= */
.search__form-submit {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 220px;
  width: 100%;
  margin: 50px auto 0;
  padding: 1em 40px;
  background: #112D12;
  color: #ffffff;
  font-size: 14px;
  border-radius: 5px;
  position: relative;
  height: 50px;
}

.search__form-submit::before {
  content: '';
  width: 6px;
  height: 9px;
  background: #ffffff;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
}

@media screen and (max-width: 767px) {
  .search__form-submit {
    font-size: 12px;
    margin-top: 30px;
  }
}

/* 結果表記
============================================================================= */
.search__result {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
}

@media screen and (max-width: 767px) {
  .search__result {
    margin-top: -30px;
  }
}

.search__result .heading__Lv1 {
  font-size: 30px;
  margin-right: 0.5em;
}

.search__result .heading__Lv1::after {
  content: none;
}

@media screen and (max-width: 1024px) {
  .search__result .heading__Lv1 {
    font-size: 18px;
    margin-bottom: 20px;
  }
}

.search__result b {
  font-weight: bold;
}

.search__result p {
  font-size: 14px;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .search__result p {
    font-size: 10px;
  }
}

.search__result p span {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .search__result p span {
    font-size: 12px;
  }
}

.search__result-listItem {
  position: relative;
  padding-left: 1em;
}

.search__result-listItem::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}

/* ==========================================================================
   CTAのモジュール
============================================================================= */
.cta {
  background: #e9e9e9;
  text-align: center;
  font-size: 30px;
  padding: 40px;
}

/* ==========================================================================
   CTAバナーのモジュール
============================================================================= */
.ctaBanner {
  display: flex;
  justify-content: center;
  margin-top: 90px;
}

@media screen and (max-width: 767px) {
  .ctaBanner {
    margin-top: 60px;
  }
}

.ctaBanner__link {
  transition: opacity .2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .ctaBanner__link:hover {
    opacity: .9;
  }
}

/* ==========================================================================
   スマホのフッタ固定メニューのモジュール
============================================================================= */
.spHomeBar {
  position: fixed;
  bottom: calc(50% - 80px);
  right: 0;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .spHomeBar {
    width: 100%;
    bottom: 0;
    background: #112D12;
  }
}

@media screen and (max-width: 767px) {
  .spHomeBar__list {
    display: flex;
  }
}

.spHomeBar__listItem {
  width: 170px;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem {
    width: calc(100% / 3);
  }
}

.spHomeBar__listItem:not(:first-child) .spHomeBar__listItem-icon {
  border-top: 1px solid #001107;
}

.spHomeBar__listItem:not(:first-child) .spHomeBar__listItem-text {
  border-top: 1px solid #eceff1;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem:not(:first-child) {
    border-left: 1px solid #ffffff;
  }
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem.is-full {
    width: 100%;
  }
}

.spHomeBar__listItem-link {
  display: flex;
  height: 40px;
  text-decoration: none;
  background: #ffffff;
  transition: background-color .3s;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem-link {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 60px;
    text-align: center;
    background: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .spHomeBar__listItem-link:hover {
    background: #F5F5F5;
  }
}

@media screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
  .spHomeBar__listItem-link:hover {
    background: #001107;
  }
}

@media (hover: hover) and (pointer: fine) {
  .spHomeBar__listItem-link:hover .spHomeBar__listItem-icon {
    background: #001107;
  }
}

.spHomeBar__listItem-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 100%;
  background: #112D12;
  transition: background-color .3s;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem-icon {
    width: inherit;
    height: 14px;
    border: none !important;
    background: none;
    margin-top: -1px;
  }
  .spHomeBar__listItem-icon img {
    max-height: 14px;
    max-width: 14px;
  }
}

.spHomeBar__listItem-text {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  font-size: 13px;
  line-height: 1.3;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: bold;
  padding: 0 15px 0 8px;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem-text {
    border: none !important;
    padding: 6px 0 0;
    color: #ffffff;
    flex-grow: inherit;
  }
}

.spHomeBar__listItem-text small {
  font-size: 10px;
  letter-spacing: -0.05em;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem-text small {
    display: none;
  }
}

.spHomeBar__listItem-text span {
  letter-spacing: 0 !important;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem-text span {
    display: none;
  }
}

.spHomeBar__listItem-text img {
  display: none;
}

@media screen and (max-width: 767px) {
  .spHomeBar__listItem-text img {
    display: block;
  }
}

.spHomeBar__trigger {
  width: 40px;
  height: 40px;
  padding: 0;
  border-style: solid;
  border-color: #112D12;
  border-width: 1px 0 0;
  background: #001107;
  display: flex;
  align-items: center;
  justify-content: center;
}

.spHomeBar__trigger::before {
  content: '';
  width: 6px;
  height: 9px;
  background: #ffffff;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  transition: transform .3s;
}

.spHomeBar__trigger[aria-expanded="false"]::before {
  transform: rotateY(180deg);
}

@media screen and (max-width: 767px) {
  .spHomeBar__trigger {
    display: none;
  }
}

/* ==========================================================================
   スマホのハンバーガーボタン押下メニューのモジュール
============================================================================= */
.spMenu {
  position: fixed;
  z-index: 3000;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  display: none;
  height: calc(100% - 64px);
  margin-top: 64px;
  overflow-y: auto;
}

@media screen and (min-width: 1301px) {
  .spMenu {
    display: none !important;
  }
}

.spMenu a {
  text-decoration: none;
}

.spMenu .l-container {
  padding-top: 40px;
  padding-bottom: 13vh;
}

.spMenu__bottom {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  text-align: center;
}

.is-spMenuActive {
  overflow: hidden;
}

@media screen and (max-width: 1300px) {
  .is-spMenuActive {
    overflow: inherit;
  }
}

/* ==========================================================================
  商品詳細 グッドエイジング仕様モジュール
============================================================================= */
.goodageingSpecification .card_link-vertical {
  height: 100%;
  background: #ffffff;
}

.goodageingSpecification .card_link-heading small {
  font-size: 70%;
}

.goodageingSpecification .card_link-heading .jp {
  display: block;
}

.goodageingSpecification .card_link-heading .jp::after {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.goodageingSpecification__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
}

@media screen and (max-width: 767px) {
  .goodageingSpecification__list {
    flex-direction: column;
    margin: 0;
  }
}

.goodageingSpecification__listItem {
  width: calc((100% / 3) - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .goodageingSpecification__listItem {
    width: calc(50% - 60px);
  }
}

@media screen and (max-width: 767px) {
  .goodageingSpecification__listItem {
    width: 100%;
    margin: 40px 0 0;
  }
}

/* ==========================================================================
   editorのモジュール
   投稿表示系でthe_content()を.editorのクラスで囲っている箇所と
   投稿の編集画面で適用される
============================================================================= */
.editor {
  /*
	h4{ font-size: 1.1em; font-weight: bold; }

	ul{ margin: 20px;}
	ul li{ list-style: disc; margin-bottom: 5px; line-height: 1.5em;}
	ol{ margin: 20px;}
	ol li{ list-style-type: decimal; margin-bottom: 1em; line-height: 1.5em;}
	
	blockquote{
		background: #f8f8f8;
		padding: 1em 1.5em;
		margin: 2em 0;
		font-size: .9em;
		color: #333333;
		
		p:last-child{ margin-bottom: 0;}
	}
	
	iframe{
		max-width: 100%;
	}
	.wp-caption{
		max-width: 100% !important;
		margin: 0 auto 20px;
		p{ word-wrap: break-word;}
	}
	
	
	.alignright{
		float: right;
		margin: 20px;
	}

	.alignright{
		float: right;
		margin: 20px;
	}
	.alignleft{
		float: left;
		margin: 20px;
	}
	:first-child{
        margin-top:0;
    }
    :last-child{
        margin-bottom:0;
    }
	@media screen and (max-width: 767px) { 
		h2{ font-size: 120%;}
		h3{ font-size: 110%;}
		.alignright{
			float: none;
			margin: 0;
		}
		.alignleft{
			float: none;
			margin: 0;
		}
	}
	
	table {
		border: 1px solid $color-line;
		border-left: none;
		border-bottom: none;
	}
	td,th{
		border-bottom:1px solid $color-line;
		border-left:1px solid $color-line;
		padding:0.2em 0.8em;
	}
	th{
		background:$color-key1;	// 見出しセルの色
		text-align:left;
		border:none;
		color:#fff;
	}
	th:nth-of-type(odd){
		background:$color-key2;	// 見出しセルの色（偶数番目のとき／通常の見出しセルより少し薄くして、ボーダーなしで境目がわかるようにする）
	}
	tr:nth-of-type(even){
		background:$color-bgSub;	// 奇数行のデータセルの背景色／通常のデータセルは真っ白なので、それと違いをつけて、たくさん行があっても見やすいようにする
		th{
			background:$color-key1;
		}
		th:nth-of-type(even){
			background:$color-key2;
		}
	}
	*/
}

.editor * {
  box-sizing: border-box;
}

.editor a:not([class]) {
  color: #112D12;
  text-decoration: underline;
}

.editor a:hover {
  text-decoration: none;
}

.editor strong {
  font-weight: bold;
}

.editor em {
  font-style: italic;
}

.editor h2, .editor h3, .editor h4, .editor h5 {
  /* 目次プラグインを使う際、アンカーリンク用のspanが挿入されてスタイルが消えてしまうときがある
		　　見出しに自動挿入されたspanで親のスタイルを全て引き継ぐよう修正 */
}

.editor h2 span, .editor h3 span, .editor h4 span, .editor h5 span {
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  margin-bottom: inherit;
}

.editor .wp-block-image:not(:first-child) {
  margin-top: 1.5em;
  margin-bottom: 0;
}

.editor p:not(:first-child) {
  margin-top: .5em;
}

.editor p {
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.editor .wp-block {
  max-width: 900px;
}

.editor .wp-caption {
  max-width: 100%;
}

.editor .edit-post-visual-editor__post-title-wrapper {
  background: #F5F5F5;
  padding: 80px 0;
  margin-bottom: 60px;
}

.editor .wp-block-post-title {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.7;
}

.editor h1:not(.wp-block-post-title):not(.is-style-editor__h2):not(.is-style-editor__h3):not(.is-style-editor__h4),
.editor .is-style-editor__h1 {
  font-size: 36px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  text-align: center;
  font-weight: bold;
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
  .editor h1:not(.wp-block-post-title):not(.is-style-editor__h2):not(.is-style-editor__h3):not(.is-style-editor__h4),
  .editor .is-style-editor__h1 {
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
}

.editor h1:not(.wp-block-post-title):not(.is-style-editor__h2):not(.is-style-editor__h3):not(.is-style-editor__h4)::after,
.editor .is-style-editor__h1::after {
  content: '';
  display: block;
  width: 90px;
  height: 5px;
  background: #121212;
  position: absolute;
  top: initial !important;
  left: 0;
  right: 0;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1024px) {
  .editor h1:not(.wp-block-post-title):not(.is-style-editor__h2):not(.is-style-editor__h3):not(.is-style-editor__h4)::after,
  .editor .is-style-editor__h1::after {
    height: 3px;
  }
}

.editor h1:not(.wp-block-post-title):not(.is-style-editor__h2):not(.is-style-editor__h3):not(.is-style-editor__h4):not(:first-child),
.editor .is-style-editor__h1:not(:first-child) {
  margin-top: 40px;
}

@media screen and (max-width: 1024px) {
  .editor h1:not(.wp-block-post-title):not(.is-style-editor__h2):not(.is-style-editor__h3):not(.is-style-editor__h4):not(:first-child),
  .editor .is-style-editor__h1:not(:first-child) {
    margin-top: 30px;
  }
}

.editor h1:not(.wp-block-post-title):not(.is-style-editor__h2):not(.is-style-editor__h3):not(.is-style-editor__h4).accordion_faq-title:not(:first-child),
.editor .is-style-editor__h1.accordion_faq-title:not(:first-child) {
  margin-top: 0;
}

.editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4),
.editor .is-style-editor__h2 {
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.65;
  font-size: 36px;
  padding-bottom: 0.5em;
  margin-bottom: 30px;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4),
  .editor .is-style-editor__h2 {
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 15px;
  }
}

.editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4)::after,
.editor .is-style-editor__h2::after {
  content: '';
  display: block;
  width: 0;
  height: 5px;
  background: #121212;
  position: absolute;
  top: inherit;
  left: 0;
  right: inherit;
  bottom: 0;
}

@media screen and (max-width: 1024px) {
  .editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4)::after,
  .editor .is-style-editor__h2::after {
    height: 3px;
  }
}

.editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4):not(:first-child),
.editor .is-style-editor__h2:not(:first-child) {
  margin-top: 40px;
}

@media screen and (max-width: 1024px) {
  .editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4):not(:first-child),
  .editor .is-style-editor__h2:not(:first-child) {
    margin-top: 20px;
  }
}

.editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4).is-animated::after,
.editor .is-style-editor__h2.is-animated::after {
  animation: headingLine 1s ease 0s 1;
  animation-fill-mode: both;
}

.editor h2:not(.is-style-editor__h1):not(.is-style-editor__h3):not(.is-style-editor__h4).accordion_faq-title:not(:first-child),
.editor .is-style-editor__h2.accordion_faq-title:not(:first-child) {
  margin-top: 0;
}

.editor h3:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h4):not(.stay-voice__heading-title),
.editor .is-style-editor__h3 {
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  padding-bottom: 0.5em;
  font-weight: bold;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
  .editor h3:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h4):not(.stay-voice__heading-title),
  .editor .is-style-editor__h3 {
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 15px;
  }
}

.editor h3:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h4):not(.stay-voice__heading-title)::after,
.editor .is-style-editor__h3::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: -1px !important;
  top: inherit !important;
}

.editor h3:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h4):not(.stay-voice__heading-title):not(:first-child),
.editor .is-style-editor__h3:not(:first-child) {
  margin-top: 40px;
}

@media screen and (max-width: 1024px) {
  .editor h3:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h4):not(.stay-voice__heading-title):not(:first-child),
  .editor .is-style-editor__h3:not(:first-child) {
    margin-top: 20px;
  }
}

.editor h3:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h4):not(.stay-voice__heading-title).accordion_faq-title:not(:first-child),
.editor .is-style-editor__h3.accordion_faq-title:not(:first-child) {
  margin-top: 0;
}

.editor h4:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h3),
.editor .is-style-editor__h4 {
  font-size: 18px;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .editor h4:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h3),
  .editor .is-style-editor__h4 {
    font-size: 14px;
  }
}

.editor h4:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h3):not(:first-child),
.editor .is-style-editor__h4:not(:first-child) {
  margin-top: 20px;
}

@media screen and (max-width: 1024px) {
  .editor h4:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h3):not(:first-child),
  .editor .is-style-editor__h4:not(:first-child) {
    margin-top: 15px;
  }
}

.editor h4:not(.is-style-editor__h1):not(.is-style-editor__h2):not(.is-style-editor__h3).accordion_faq-title:not(:first-child),
.editor .is-style-editor__h4.accordion_faq-title:not(:first-child) {
  margin-top: 0;
}

.editor p.is-style-editor__note {
  font-size: 0.8em;
}

.editor .wp-block-lazyblock-googlemap:not(:first-child) {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .editor .wp-block-lazyblock-googlemap:not(:first-child) {
    margin-top: 30px;
  }
}

.editor .editor__map {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 18 / 11;
}

.editor .editor__map:not(:first-child) {
  margin-top: 1.5em;
}

.editor .editor__map iframe {
  width: 100% !important;
  height: 100% !important;
}

.editor .wp-block-lazyblock-crop-layout:not(:first-child) {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .editor .wp-block-lazyblock-crop-layout:not(:first-child) {
    margin-top: 30px;
  }
}

.editor .editor__cropLayout-wrapper {
  margin: 0 -140px;
}

@media screen and (max-width: 1300px) {
  .editor .editor__cropLayout-wrapper {
    margin: -30px;
  }
}

@media screen and (max-width: 1024px) {
  .editor .editor__cropLayout-wrapper {
    margin: 0;
    display: block !important;
  }
}

.editor .editor__cropLayout-wrapper.is-imageDirection-right {
  display: grid;
  grid-template-rows: 1fr;
  gap: 0px 0px;
  grid-template-columns: 5fr 120px 8fr;
}

.editor .editor__cropLayout-wrapper.is-imageDirection-right .editor__cropLayout-image {
  grid-area: 1 / 2 / 2 / 4;
}

.editor .editor__cropLayout-wrapper.is-imageDirection-right .editor__cropLayout-contents {
  grid-area: 1 / 1 / 2 / 3;
  padding-right: 100px;
}

.editor .editor__cropLayout-wrapper.is-imageDirection-left {
  display: grid;
  grid-template-rows: 1fr;
  gap: 0px 0px;
  grid-template-columns: 8fr 120px 5fr;
}

@media screen and (max-width: 1024px) {
  .editor .editor__cropLayout-wrapper.is-imageDirection-left {
    grid-template-columns: 8fr 60px 5fr;
  }
}

.editor .editor__cropLayout-wrapper.is-imageDirection-left .editor__cropLayout-image {
  grid-area: 1 / 1 / 2 / 3;
}

.editor .editor__cropLayout-wrapper.is-imageDirection-left .editor__cropLayout-contents {
  grid-area: 1 / 2 / 2 / 4;
  padding-left: 100px;
}

.editor .editor__cropLayout-contents {
  align-self: center;
  background: #ffffff;
  margin-top: 60px;
  padding-top: 60px;
  padding-bottom: 60px;
}

@media screen and (max-width: 1024px) {
  .editor .editor__cropLayout-contents {
    margin-top: 30px;
    padding: 0 !important;
  }
}

.editor .wp-block-lazyblock-link-button:not(:first-child) {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .editor .wp-block-lazyblock-link-button:not(:first-child) {
    margin-top: 30px;
  }
}

.editor .wp-block-lazyblock-link-button + * {
  margin-top: 60px !important;
}

@media screen and (max-width: 767px) {
  .editor .wp-block-lazyblock-link-button + * {
    margin-top: 30px !important;
  }
}

.editor .editor__link-wrapper.is-default, .editor .editor__link-wrapper.is-center {
  text-align: center;
}

.editor .editor__link-wrapper.is-left {
  text-align: left;
}

.editor .editor__link-wrapper.is-right {
  text-align: right;
}

.editor .editor__link {
  font-size: 16px;
  line-height: 1.6;
  text-decoration: none;
  font-weight: bold;
  background: #F5F5F5;
}

.editor .editor__link.is-default, .editor .editor__link.is-link {
  display: inline-flex;
  min-width: 240px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 1em 10px;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
}

.editor .editor__link.is-default::before, .editor .editor__link.is-link::before {
  content: '';
  width: 0;
  height: 1px;
  background: #121212;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: width .3s;
}

.editor .editor__link.is-default::after, .editor .editor__link.is-link::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
}

@media screen and (max-width: 767px) {
  .editor .editor__link.is-default::after, .editor .editor__link.is-link::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .editor .editor__link.is-default:hover::before, .editor .editor__link.is-link:hover::before {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .editor .editor__link.is-default, .editor .editor__link.is-link {
    padding: 0.75em 10px 0.5em;
    font-size: 12px;
  }
}

.editor .editor__link[href="#link-index"] {
  font-size: 12px;
  font-weight: normal;
  min-width: 120px;
}

.editor .editor__link[href="#link-index"]::after {
  transform: rotate(-90deg);
}

@media screen and (max-width: 767px) {
  .editor .editor__link[href="#link-index"] {
    font-size: 10px;
    min-width: 100px;
  }
}

.editor .editor__link[target="_blank"]::after {
  width: 12px;
  height: 12px;
  background: url(../images/cmn/icon_link-blank.svg) center no-repeat;
  background-size: contain;
  -webkit-clip-path: none;
  clip-path: none;
  transform: none !important;
}

.editor .wp-block-flexible-table-block-table {
  font-size: 16px;
  letter-spacing: 0.1em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
}

.editor .wp-block-flexible-table-block-table th {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .editor .wp-block-flexible-table-block-table {
    font-size: 12px;
  }
}

.editor .wp-block-lazyblock-faq:not(:first-child) {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .editor .wp-block-lazyblock-faq:not(:first-child) {
    margin-top: 30px;
  }
}

.editor .wp-block-lazyblock-stay-voice:not(:first-child) {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .editor .wp-block-lazyblock-stay-voice:not(:first-child) {
    margin-top: 30px;
  }
}

.editor .stay-voice__wrapper {
  background: #F5F5F5;
  padding: 30px 20px;
}

@media screen and (max-width: 767px) {
  .editor .stay-voice__wrapper {
    padding-top: 20px;
  }
}

.editor .stay-voice__heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .editor .stay-voice__heading {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}

.editor .stay-voice__heading::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: -1px !important;
  top: inherit !important;
}

.editor .stay-voice__heading-title {
  margin-right: 1em;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .editor .stay-voice__heading-title {
    font-size: 18px;
  }
}

.editor .stay-voice__heading-time {
  margin-left: auto;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .editor .stay-voice__heading-time {
    margin-bottom: 10px;
  }
}

.editor .stay-voice__contents {
  counter-reset: counter-stayVoice;
}

.editor .stay-voice__contents-title {
  counter-increment: counter-stayVoice;
}

.editor .stay-voice__contents-title::before {
  content: "Q" counter(counter-stayVoice) ".";
  margin-right: 0.25em;
}

.editor .stay-voice__contents-text {
  background: #ffffff;
  padding: 20px;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .editor .stay-voice__contents-text {
    padding: 15px 20px;
  }
}

.editor .editor__privacypolicy {
  width: 100%;
  height: 300px;
  border: 1px solid #cfd8dc;
  overflow-y: auto;
  margin-top: 1em;
  padding: 1em;
  background: #ffffff;
  font-size: 12px;
}

.editor .editor__privacypolicy .is-style-editor__h3 {
  font-size: 16px;
  margin-top: 2em !important;
  margin-bottom: 1em;
}

.editor .editor__privacypolicy .is-style-editor__h3:first-child {
  margin-top: 1em !important;
}

.editor .editor__privacypolicy h4 {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .editor .editor__privacypolicy {
    height: 200px;
  }
}

.editor .wp-block-lazyblock-page-index:not(:first-child) {
  margin-top: 60px;
}

@media screen and (max-width: 1024px) {
  .editor .wp-block-lazyblock-page-index:not(:first-child) {
    margin-top: 30px;
  }
}

.editor .wp-block-lazyblock-page-index .list__index &gt; li {
  width: calc((100% / 3) - 20px);
}

@media screen and (max-width: 767px) {
  .editor .wp-block-lazyblock-page-index .list__index &gt; li {
    width: 100%;
  }
}

.editor .wp-block-lazyblock-page-index a {
  text-decoration: none;
  color: #121212;
}

.editor .wp-block-embed {
  width: 100%;
}

.editor .wp-block-embed:not(:first-child) {
  margin-top: 1.5em;
}

.editor .wp-block-embed.wp-embed-aspect-16-9 {
  aspect-ratio: 16 / 9;
}

.editor .wp-block-embed iframe {
  width: 100%;
  height: 100%;
}

.editor .wp-block-embed__wrapper {
  width: 100%;
  height: 100%;
}

.editor * + .wp-block-columns {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .editor .wp-block-column:not(:first-child) {
    margin-top: 1.5em;
  }
}

@media screen and (max-width: 767px) {
  .editor .is-not-stacked-on-mobile .wp-block-column:not(:first-child) {
    margin-top: 0;
  }
}

.editor .wp-block-media-text:not(:first-child) {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .editor .wp-block-media-text .wp-block-media-text__content {
    padding: 0;
    margin-top: 1.5em;
  }
}

.editor .wp-block-image figcaption {
  font-size: 0.9em;
  color: #6e6e6e;
  display: block;
}

.editor .editor__virtual-contents {
  aspect-ratio: 2 / 1;
  height: auto;
  width: 100%;
}

.editor .editor__virtual-contents .ricoh-theta-tour-image {
  width: 100% !important;
  height: 100% !important;
}

.editor .editor__virtual-contents iframe {
  width: 100% !important;
  height: 100% !important;
}

.editor .editor__virtual-contents img {
  height: auto !important;
}

.editor .editor__virtual-contents div {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.editor .movie_blk {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.editor .movie_blk:not(:first-child) {
  margin-top: 1.5em;
}

.editor .movie_blk iframe {
  width: 100%;
  height: 100%;
}

.editor .aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
}

.editor table:not([class]) {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #cfd8dc;
}

.editor table:not([class]):not(:first-child) {
  margin-top: 1.5em;
}

.editor table:not([class]) th, .editor table:not([class]) td {
  background: #ffffff;
  color: #121212;
  padding: 15px;
  border: 1px solid #cfd8dc;
}

.editor table:not([class]) thead th {
  font-weight: bold;
  background: #112D12;
  color: #ffffff;
}

.editor table:not([class]) tbody th {
  font-weight: bold;
  background: #F5F5F5;
}

.editor .editor__information-wrapper {
  font-size: 14px;
  padding: 15px 20px;
}

@media screen and (max-width: 767px) {
  .editor .editor__information-wrapper {
    font-size: 12px;
  }
}

.editor .editor__information-wrapper:not(:first-child) {
  margin-top: 1.5em;
}

.editor .editor__information-wrapper.is-default {
  background: #FCF5F5;
  color: #ED4040;
}

.editor .editor__information-wrapper.is-red {
  background: #FCF5F5;
  color: #ED4040;
}

.editor .editor__information-wrapper.is-yellow {
  background: #fbf1e3;
  color: #ed8d01;
}

.editor .editor__information-wrapper.is-green {
  background: #d8e5e0;
  color: #112D12;
}

.editor .editor__information-wrapper.is-gray {
  background: #F5F5F5;
  color: #5b656a;
}

.editor .editor__information-text {
  margin-top: 0em !important;
}

.editor ol:not(.list__flow) {
  padding-left: 1em;
}

.editor ol:not(.list__flow) &gt; li {
  list-style-type: decimal;
}

@media screen and (max-width: 1024px) {
  .editor ul.has-background.has-small-font-size {
    padding: 15px 20px;
  }
}

.editor ul.has-background.has-small-font-size li {
  font-weight: 700;
  line-height: 1.75;
}

@media screen and (max-width: 1024px) {
  .editor ul.has-background.has-medium-font-size {
    padding: 15px 20px;
  }
}

.editor ul.has-background.has-medium-font-size li {
  font-weight: 700;
  line-height: 1.75;
}

@media screen and (max-width: 1024px) {
  .editor ul.has-background.has-large-font-size {
    padding: 15px 20px;
  }
}

.editor ul.has-background.has-large-font-size li {
  font-weight: 700;
  line-height: 1.75;
}

@media screen and (max-width: 1024px) {
  .editor ul.has-background.has-x-large-font-size {
    padding: 15px 20px;
  }
}

.editor ul.has-background.has-x-large-font-size li {
  font-weight: 700;
  line-height: 1.75;
}

.editor::after {
  content: "";
  display: block;
  clear: both;
}

/* ==========================================================================
   TOPページのレイアウト
============================================================================= */
/* MV
============================================================================= */
.home {
  font-feature-settings: 'palt';
  -webkit-font-smoothing: antialiased;
}

.home * {
  letter-spacing: .15em;
}

@media screen and (max-width: 767px) {
  .home .header:not(.is-scrolled) {
    background-color: transparent;
  }
}

.home .l-main {
  padding-top: 0;
}

.home .btn__link, .home .archive__yearly-list a, .archive__yearly-list .home a {
  align-items: center;
  background-color: #112D12;
  border-bottom: transparent;
  color: #ffffff;
  display: flex;
  flex-direction: row-reverse;
  font-size: 20px;
  font-weight: 700;
  height: 56px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  padding: .5em 1em;
  position: relative;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: .15s ease background-color;
  width: 400px;
}

@media (any-hover: hover) {
  .home .btn__link:hover, .home .archive__yearly-list a:hover, .archive__yearly-list .home a:hover {
    background-color: #001107;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .home .btn__link, .home .archive__yearly-list a, .archive__yearly-list .home a {
    font-size: 16px;
    height: 48px;
    width: 100%;
  }
}

.home .btn__link::before, .home .archive__yearly-list a::before, .archive__yearly-list .home a::before {
  content: none;
}

.home .btn__link::after, .home .archive__yearly-list a::after, .archive__yearly-list .home a::after {
  aspect-ratio: 1;
  background-color: #ffffff;
  -webkit-clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  height: auto;
  margin: 0;
  width: 32px;
}

.home .heading__Lv2, .home .case__mv-title {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 60px;
  row-gap: 12px;
}

@media screen and (max-width: 767px) {
  .home .heading__Lv2, .home .case__mv-title {
    margin-bottom: 40px;
    row-gap: 6px;
  }
}

.home .heading__Lv2 .en, .home .case__mv-title .en {
  color: #BFA679;
  font-family: 'EB Garamond', serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .home .heading__Lv2 .en, .home .case__mv-title .en {
    font-size: 12px;
  }
}

.home .heading__Lv2 .jp, .home .case__mv-title .jp {
  color: #121212;
  font-family: 'Shippori Mincho', serif;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.375;
}

@media screen and (max-width: 767px) {
  .home .heading__Lv2 .jp, .home .case__mv-title .jp {
    font-size: 24px;
  }
}

.home__mv {
  height: 100svh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .home__mv {
    height: calc(100svh - 60px);
  }
}

.home__mv-fixed {
  align-items: center;
  display: flex;
  height: 100svh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .home__mv-fixed {
    align-items: start;
    height: calc(100svh - 60px);
  }
}

.home__mv-container {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 1760px;
  position: relative;
  width: calc(100% - 4% * 2);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .home__mv-container {
    margin-top: 100px;
  }
}

@media (max-width: 360px) {
  .home__mv-container {
    margin-top: 80px;
  }
}

@media screen and (max-width: 1024px) {
  .home__mv-copy svg {
    max-width: 360px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .home__mv-copy svg {
    height: auto;
    max-width: 280px;
  }
}

.home__mv-copy svg path {
  fill: #ffffff;
}

@media (max-width: 360px) {
  .home__mv-copy svg {
    max-width: 240px;
  }
}

.home__mv-slide {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.home__mv-slideItem {
  height: 100svh !important;
}

@media screen and (max-width: 767px) {
  .home__mv-slideItem {
    height: calc(100svh - 60px) !important;
  }
}

.home__mv-slideItemContainer {
  display: grid;
  height: 100%;
  padding-bottom: 80px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .home__mv-slideItemContainer {
    padding-bottom: calc(15px + 72px + 15px);
  }
}

.home__mv-slideItemInfo {
  border-left: solid 1px #ffffff;
  display: grid;
  margin-top: auto;
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .home__mv-slideItemInfo {
    padding-left: 16px;
  }
}

.home__mv-slideItemInfo &gt; * {
  color: #ffffff;
  font-weight: 700;
  line-height: 1.5;
}

.home__mv-slideItemTitle {
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .home__mv-slideItemTitle {
    font-size: 14px;
  }
}

.home__mv-slideItemCopy {
  font-size: 14px;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .home__mv-slideItemCopy {
    font-size: 10px;
    margin-top: 8px;
  }
}

.home__mv-slideItemLink {
  font-size: 14px;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .home__mv-slideItemLink {
    font-size: 10px;
    margin-top: 8px;
  }
}

.home__mv-slideItemImage {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.home__mv-slideItemImage img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  position: relative;
  width: 100%;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .home__mv-slideItemImage img {
    -o-object-position: center bottom;
    object-position: center bottom;
  }
}

.home__mv-slideItemImage::before {
  background-color: rgba(0, 0, 0, 0.5);
  content: '';
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2;
}

/* モデルハウス
============================================================================= */
.home__exhibition {
  background-color: #E2E7E8;
  position: relative;
  z-index: 3;
}

.home__exhibition-list {
  margin-bottom: calc(24px + 32px + 48px) !important;
}

@media screen and (max-width: 767px) {
  .home__exhibition-list {
    margin-bottom: calc(16px + 24px + 32px) !important;
  }
}

.home__exhibition-list .slick-next,
.home__exhibition-list .slick-prev {
  align-items: center;
  aspect-ratio: 1;
  background: transparent;
  bottom: calc((32px + 32px) * -1);
  display: flex;
  height: auto !important;
  justify-content: center;
  top: unset;
  transform: translate(0, 0);
  width: 32px;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .home__exhibition-list .slick-next,
  .home__exhibition-list .slick-prev {
    bottom: calc((8px + 24px) * -1);
    width: 24px;
  }
}

.home__exhibition-list .slick-next::before,
.home__exhibition-list .slick-prev::before {
  background: #112D12 !important;
  -webkit-clip-path: polygon(30% 0, 80% 50%, 30% 100%, 25% 95%, 70% 50%, 25% 5%);
  clip-path: polygon(30% 0, 80% 50%, 30% 100%, 25% 95%, 70% 50%, 25% 5%);
  content: '';
  display: block;
  height: 100%;
  opacity: 1;
  width: 100%;
}

.home__exhibition-list .slick-prev::before {
  transform: rotateY(180deg);
}

.home__exhibition-list .slick-next {
  right: calc(50% - 240px - 64px);
  transform: translate(50%, 0);
}

@media screen and (max-width: 767px) {
  .home__exhibition-list .slick-next {
    right: 20px;
    transform: translate(0, 0);
  }
}

.home__exhibition-list .slick-prev {
  left: calc(50% - 240px - 64px);
  transform: translate(-50%, 0);
}

@media screen and (max-width: 767px) {
  .home__exhibition-list .slick-prev {
    left: 20px;
    transform: translate(0, 0);
  }
}

.home__exhibition-list .slick-dots {
  bottom: calc((32px + 32px) * -1);
  -moz-column-gap: 12px;
  column-gap: 12px;
  display: flex;
  left: 50%;
  transform: translate(-50%, 0);
  width: 480px;
}

@media screen and (max-width: 767px) {
  .home__exhibition-list .slick-dots {
    bottom: calc((8px + 24px) * -1);
    -moz-column-gap: 4px;
    column-gap: 4px;
    width: 200px;
  }
}

.home__exhibition-list .slick-dots li {
  height: 32px;
  margin: 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .home__exhibition-list .slick-dots li {
    height: 24px;
  }
}

.home__exhibition-list .slick-dots li button {
  height: 100%;
  padding: 0;
  width: 100%;
}

.home__exhibition-list .slick-dots li button::before {
  background-color: #cfd8dc;
  content: '';
  display: inline-block;
  height: 2px;
  line-height: 0;
  opacity: 1;
  top: 50%;
  transform: translate(0, -50%);
  width: 100%;
}

.home__exhibition-list .slick-dots li.slick-active button::before {
  background-color: #112D12;
  opacity: 1;
}

.home__exhibition-listItem {
  margin-left: 10px;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .home__exhibition-listItem {
    margin-left: 5px;
    margin-right: 5px;
  }
}

.home__exhibition-image {
  margin-bottom: 12px;
  overflow: hidden;
}

.home__exhibition-image img {
  aspect-ratio: 3 / 2;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: .3s ease transform;
  width: 100%;
}

.home__exhibition-title {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
}

.home__exhibition-area {
  border: solid 1px #121212;
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  margin-top: 2px;
  padding: 4px 8px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 767px) {
  .home__exhibition-area {
    font-size: 10px;
  }
}

.home__exhibition-name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .home__exhibition-name {
    font-size: 16px;
  }
}

.home__exhibition-link {
  display: block;
  text-decoration: none;
}

@media (any-hover: hover) {
  .home__exhibition-link:hover .home__exhibition-image img {
    transform: scale(1.1);
  }
}

.home__exhibition-description {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}

.home__exhibition-description p {
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .home__exhibition-description p {
    font-size: 14px;
  }
}

/* バナー
============================================================================= */
.home__banner {
  position: relative;
  z-index: 3;
}

.home__banner-container {
  align-items: center;
  display: flex;
  gap: 48px;
  justify-content: center;
}

@media screen and (max-width: 1024px) {
  .home__banner-container {
    flex-direction: column;
  }
}

@media screen and (max-width: 767px) {
  .home__banner-container {
    gap: 16px;
  }
}

.home__banner-article {
  width: calc((100% - 48px) / 2);
}

@media screen and (max-width: 1024px) {
  .home__banner-article {
    width: 80%;
  }
}

@media screen and (max-width: 767px) {
  .home__banner-article {
    width: 100%;
  }
}

.home__banner-link {
  transition: .15s ease opacity;
}

@media (any-hover: hover) {
  .home__banner-link:hover {
    opacity: .8;
  }
}

/* イベント
============================================================================= */
.home__event {
  background: #ffffff;
  position: relative;
  z-index: 3;
}

.home__event .btn__link, .home__event .archive__yearly-list a, .archive__yearly-list .home__event a {
  margin: 0 auto;
}

.home__event-list {
  display: grid;
  gap: 48px 0;
  margin-bottom: 48px;
}

@media screen and (max-width: 767px) {
  .home__event-list {
    gap: 32px 0;
  }
}

.home__event-list .listCategory__wrap {
  display: flex;
  justify-content: center;
  overflow: unset;
}

.home__event-list .listCategory {
  background-color: #F5F5F5;
  border-radius: 9999px;
  display: inline-flex;
  margin: 0;
}

.home__event-list .listCategory .cat-item {
  margin: 0;
  padding: 0;
  position: relative;
}

.home__event-list .listCategory .cat-item &gt; strong {
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: animation-new;
  color: #F44336;
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  left: 50%;
  letter-spacing: .125em;
  line-height: 1.25;
  position: absolute;
  text-transform: uppercase;
  top: -16px;
  translate: -50% 0;
}

@media screen and (max-width: 767px) {
  .home__event-list .listCategory .cat-item &gt; strong {
    font-size: 10px;
    letter-spacing: .05em;
  }
}

.home__event-list .listCategory .cat-item &gt; button {
  color: #112D12;
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: 700;
  padding: 14px 16px;
  transition: .075s ease color;
}

@media (any-hover: hover) {
  .home__event-list .listCategory .cat-item &gt; button:hover {
    color: #BFA679;
  }
}

@media screen and (max-width: 767px) {
  .home__event-list .listCategory .cat-item &gt; button {
    font-size: 12px;
    letter-spacing: 0;
    padding: 10px;
  }
}

.home__event-list .listCategory .cat-item &gt; button[aria-selected="true"] {
  background-color: #112D12;
  border-radius: 9999px;
  color: #ffffff;
}

.home__event-list .listEvent {
  display: grid;
  gap: 48px 32px;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 1024px) {
  .home__event-list .listEvent {
    gap: 24px;
  }
}

@media screen and (max-width: 767px) {
  .home__event-list .listEvent {
    gap: 24px;
    grid-template-columns: unset;
  }
}

.home__event-list .listEvent__listItem {
  border: transparent;
  position: relative;
}

.home__event-list .listEvent__image {
  border: solid 1px #E2E7E8;
  overflow: hidden;
}

.home__event-list .listEvent__image img {
  aspect-ratio: 1;
  transition: .3s ease transform;
}

.home__event-list .listEvent__title {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.625;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .home__event-list .listEvent__title {
    font-size: 16px;
    margin-top: 16px;
  }
}

.home__event-list .listEvent__title strong {
  display: none;
  margin: 0 0 0 8px;
}

.home__event-list .listEvent__category {
  background-color: #112D12 !important;
  border-radius: 0;
  font-size: 14px;
  font-weight: 700;
  left: 0;
  margin: 0;
  padding: 6px 12px;
  position: absolute;
  top: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 767px) {
  .home__event-list .listEvent__category {
    font-size: 12px;
  }
}

.home__event-list .listEvent__info {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-top: 20px;
  padding-top: 24px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .home__event-list .listEvent__info {
    gap: 4px 0;
    margin-top: 12px;
    padding-top: 16px;
  }
}

.home__event-list .listEvent__info::before {
  background-color: #112D12;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  width: 4em;
}

.home__event-list .listEvent__infoItem {
  display: grid;
  font-size: 14px;
  grid-column: span 2;
  grid-template-columns: subgrid;
}

@media screen and (max-width: 767px) {
  .home__event-list .listEvent__infoItem {
    font-size: 12px;
  }
}

.home__event-list .listEvent__infoItem &gt; * {
  font-weight: 700;
  letter-spacing: .075em;
}

.home__event-list .listEvent__infoItem dt::after {
  content: '：';
}

.home__event-list .listEvent__link {
  display: block;
  padding: 0;
}

@media (any-hover: hover) {
  .home__event-list .listEvent__link:hover .listEvent__image img {
    transform: scale(1.1);
  }
}

@keyframes animation-new {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 建築実例
============================================================================= */
.home__case {
  background-color: #E2E7E8;
  position: relative;
  z-index: 3;
}

.home__case-list {
  display: grid;
  gap: 48px 32px;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr auto;
  margin-bottom: 48px;
}

@media screen and (max-width: 1024px) {
  .home__case-list {
    gap: 48px 24px;
  }
}

@media screen and (max-width: 767px) {
  .home__case-list {
    gap: 24px 0;
    grid-template-columns: unset;
    grid-template-rows: unset;
    margin-bottom: 32px;
  }
}

.home__case-listItem {
  display: grid;
  gap: 0;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

@media screen and (max-width: 767px) {
  .home__case-listItem {
    grid-row: unset;
    grid-template-rows: unset;
  }
}

.home__case-image {
  aspect-ratio: 4 / 3;
  height: auto;
  margin-bottom: 32px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .home__case-image {
    margin-bottom: 16px;
  }
}

.home__case-image img {
  transition: .3s ease transform;
}

.home__case-info {
  border-left: solid 1px #121212;
  display: grid;
  padding-left: 24px;
}

@media screen and (max-width: 767px) {
  .home__case-info {
    grid-row: unset;
    grid-template-rows: unset;
    padding-left: 16px;
  }
}

.home__case-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 12px;
}

@media screen and (max-width: 767px) {
  .home__case-title {
    font-size: 16px;
  }
}

.home__case-subtitle {
  font-size: 12px;
  font-weight: 700;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .home__case-subtitle {
    line-height: 1.75;
  }
}

.home__case-guide {
  font-size: 12px;
  font-weight: 700;
  grid-row: 4 / 5;
  margin-top: 16px;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .home__case-guide {
    grid-row: unset;
  }
}

.home__case-description {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}

.home__case-description p {
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .home__case-description p {
    font-size: 14px;
  }
}

.home__case-link {
  display: grid;
  gap: 0;
  grid-row: span 2;
  grid-template-rows: subgrid;
  text-decoration: none;
}

@media (any-hover: hover) {
  .home__case-link:hover .home__case-image img {
    transform: scale(1.1);
  }
}

@media screen and (max-width: 767px) {
  .home__case-link {
    grid-row: unset;
    grid-template-rows: unset;
  }
}

/* スタッフ
============================================================================= */
.home__staff {
  position: relative;
  z-index: 3;
  background: #112D12;
  color: #ffffff;
}

.home__staff .heading__Lv2 .jp, .home__staff .case__mv-title .jp {
  color: #ffffff;
}

.home__staff .btn__link, .home__staff .archive__yearly-list a, .archive__yearly-list .home__staff a {
  border: 1px solid #ffffff;
}

.home__staff-sliderList {
  margin-bottom: 48px;
}

.home__staff-sliderList .slick-slide {
  height: 150px;
}

@media screen and (max-width: 767px) {
  .home__staff-sliderList {
    margin-bottom: 32px;
  }
}

/* テクノロジー
============================================================================= */
.home__technology {
  position: relative;
  z-index: 3;
}

.home__technology-list {
  display: grid;
  gap: 32px 0;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 48px;
}

@media screen and (max-width: 767px) {
  .home__technology-list {
    gap: 24px 0;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 32px;
  }
}

.home__technology-image {
  margin-bottom: 16px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .home__technology-image {
    margin-bottom: 12px;
  }
}

.home__technology-image img {
  transition: .3s ease transform;
}

.home__technology-title {
  font-weight: 700;
  text-align: center;
}

.home__technology-link {
  text-decoration: none;
}

@media (any-hover: hover) {
  .home__technology-link:hover .home__technology-image img {
    transform: scale(1.1);
  }
}

/* 北洲の家づくり
============================================================================= */
.home__concept {
  position: relative;
  z-index: 3;
}

.home__concept-list {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 48px;
}

@media screen and (max-width: 1024px) {
  .home__concept-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .home__concept-list {
    gap: 24px 8px;
  }
}

.home__concept-image {
  overflow: hidden;
}

.home__concept-image img {
  transition: .3s ease transform;
}

.home__concept-title {
  border-bottom: solid 1px #cfd8dc;
  display: grid;
  grid-template-columns: 1fr auto;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 24px;
  margin-bottom: 12px;
  padding-bottom: 8px;
}

@media screen and (max-width: 767px) {
  .home__concept-title {
    font-size: 12px;
    margin-bottom: 8px;
    margin-top: 16px;
    padding-bottom: 8px;
  }
}

.home__concept-title::after {
  align-self: center;
  aspect-ratio: 1;
  background-color: #112D12;
  -webkit-clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  content: '';
  display: inline-block;
  width: 28px;
}

@media screen and (max-width: 767px) {
  .home__concept-title::after {
    width: 16px;
  }
}

.home__concept-description {
  font-size: 14px;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .home__concept-description {
    font-size: 12px;
    line-height: 1.5;
  }
}

.home__concept-link {
  text-decoration: none;
}

@media (any-hover: hover) {
  .home__concept-link:hover .home__concept-image img {
    transform: scale(1.1);
  }
}

/* 商品ラインナップ
============================================================================= */
.home__products {
  background-color: #F0EDE4;
  position: relative;
  z-index: 3;
}

.home__products-list {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 48px;
}

@media screen and (max-width: 1024px) {
  .home__products-list {
    gap: 32px 24px;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .home__products-list {
    gap: 24px;
    grid-template-columns: unset;
  }
}

.home__products-image {
  overflow: hidden;
}

.home__products-image img {
  aspect-ratio: 372 / 190;
  transition: .3s ease transform;
}

.home__products-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .home__products-title {
    font-size: 18px;
    margin-top: 12px;
  }
}

.home__products-title span {
  display: inline-block;
  font-size: 14px;
  margin-left: 12px;
}

.home__products-description {
  font-family: 'Shippori Mincho', serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .075em;
  line-height: 1.75;
  margin-top: 8px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .home__products-description {
    font-size: 12px;
    margin-top: 4px;
  }
}

.home__products-link {
  text-decoration: none;
}

@media (any-hover: hover) {
  .home__products-link:hover .home__products-image img {
    transform: scale(1.1);
  }
}

/* 対応エリア
============================================================================= */
.home__area {
  position: relative;
  z-index: 3;
}

.home__area-list {
  display: grid;
  gap: 32px 2px;
  grid-template-columns: repeat(5, 1fr);
}

@media screen and (max-width: 1024px) {
  .home__area-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .home__area-list {
    gap: 24px 2px;
    grid-template-columns: repeat(2, 1fr);
  }
}

.home__area-image {
  overflow: hidden;
}

.home__area-image img {
  transition: .3s ease transform;
}

.home__area-title {
  font-weight: 700;
  margin-top: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .home__area-title {
    margin-top: 12px;
  }
}

.home__area-link {
  text-decoration: none;
}

@media (any-hover: hover) {
  .home__area-link:hover .home__area-image img {
    transform: scale(1.1);
  }
}

/* 家づくりコラム
============================================================================= */
.home__wisdom {
  position: relative;
  z-index: 3;
}

.home__wisdom-list {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 1024px) {
  .home__wisdom-list {
    gap: 32px 24px;
  }
}

@media screen and (max-width: 767px) {
  .home__wisdom-list {
    gap: 24px;
    grid-template-columns: unset;
  }
}

.home__wisdom-image {
  overflow: hidden;
}

.home__wisdom-image img {
  transition: .3s ease transform;
}

.home__wisdom-title {
  font-size: 18px;
  font-weight: 700;
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .home__wisdom-title {
    font-size: 16px;
    margin-top: 16px;
  }
}

.home__wisdom-description {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .home__wisdom-description {
    font-size: 12px;
    margin-top: 8px;
  }
}

.home__wisdom-link {
  text-decoration: none;
}

@media (any-hover: hover) {
  .home__wisdom-link:hover .home__wisdom-image img {
    transform: scale(1.1);
  }
}

/* お知らせ
============================================================================= */
.home__news {
  background-color: #E2E7E8;
  position: relative;
  z-index: 3;
}

.home__news .btn__link, .home__news .archive__yearly-list a, .archive__yearly-list .home__news a {
  margin: 0 auto;
}

.home__news-list {
  margin-bottom: 40px;
}

/* 追従バナー
============================================================================= */
.home__fixedBanner {
  max-width: 220px;
  width: 100%;
  position: fixed;
  bottom: calc(20px + 0.5em);
  right: 20px;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(18, 18, 18, 0.2);
}

@media screen and (max-width: 767px) {
  .home__fixedBanner {
    bottom: auto;
    left: 0;
    margin: auto;
    max-width: 340px;
    position: absolute;
    right: 0;
    top: calc(100svh - 60px - 15px);
    transform: translate(0, -100%);
    width: calc(100% - 4% * 2);
  }
}

.home__fixedBanner-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  position: relative;
  background-color: white;
  transition: opacity .3s;
}

@media (hover: hover) and (pointer: fine) {
  .home__fixedBanner-link:hover {
    opacity: 0.7;
  }
}

.home__fixedBanner-link h2 {
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.03em;
  margin: 5px;
  text-decoration: underline;
  text-underline-offset: 5px;
  -webkit-text-decoration-color: #cec075;
  text-decoration-color: #cec075;
}

@media screen and (max-width: 767px) {
  .home__fixedBanner-link h2 {
    font-size: 14px;
  }
}

.home__fixedBanner-link ul &gt; li {
  font-size: 14px;
  position: relative;
  padding-left: 1.25em;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 767px) {
  .home__fixedBanner-link ul &gt; li {
    font-size: 12px;
  }
}

.home__fixedBanner-link ul &gt; li::before {
  content: '';
  display: block;
  width: 0.75em;
  height: 0.75em;
  border: 1px solid #121212;
  position: absolute;
  top: 0.4em;
  left: 0;
}

.home__fixedBanner-link ul &gt; li::after {
  content: '';
  display: block;
  width: 0.75em;
  height: 0.75em;
  -webkit-clip-path: polygon(100% 0, 25% 100%, 0 75%, 0 50%, 25% 75%, 97% 0);
  clip-path: polygon(100% 0, 25% 100%, 0 75%, 0 50%, 25% 75%, 97% 0);
  background: #f44336;
  position: absolute;
  top: 0.3em;
  left: 0.2em;
}

.home__fixedBanner-link p {
  font-size: 14px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0 0.5em;
  background: #f44336;
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  position: absolute;
  bottom: -0.5em;
  left: 0;
  right: 0;
  margin: auto;
  letter-spacing: 0.03em;
  box-shadow: 0 2px 5px rgba(18, 18, 18, 0.3);
}

@media screen and (max-width: 767px) {
  .home__fixedBanner-link p {
    font-size: 12px;
    padding: 3px 0.5em;
  }
}

.home__fixedBanner-link p::before, .home__fixedBanner-link p::after {
  content: '';
  display: block;
  width: 0.75em;
  height: 100%;
  background: #f44336;
  -webkit-clip-path: polygon(100% 0, 60% 50%, 100% 100%, 0 100%, 0 0);
  clip-path: polygon(100% 0, 60% 50%, 100% 100%, 0 100%, 0 0);
  position: absolute;
  bottom: -0.25em;
}

.home__fixedBanner-link p::before {
  transform: rotateY(180deg);
  left: -0.45em;
}

.home__fixedBanner-link p::after {
  right: -0.45em;
}

.home__fixedBanner-close {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -0.5em;
  right: -0.5em;
  padding: 0;
  border-radius: 50%;
  overflow: hidden;
  width: 25px;
  height: 25px;
  background: #eceff1;
  font-weight: bold;
  box-shadow: 0 2px 5px rgba(18, 18, 18, 0.3);
}

/* ==========================================================================
   固定ページで共通のレイアウト
============================================================================= */
/* ==========================================================================
	シングルページで共通のレイアウト
============================================================================= */
body.single .secPager {
  padding-top: 30px;
}

@media screen and (max-width: 767px) {
  body.single .secPager {
    padding-top: 15px;
  }
}

/* シングルページ記事部分
============================================================================= */
.single__thumbnail {
  margin-bottom: 40px;
}

.single__articleInfo {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.single__articleInfo .listSimpleCat__wrap {
  margin-right: 20px;
  margin-bottom: 0.5em;
}

.single__articleInfo .listEvent__info {
  margin-bottom: 0.5em;
}

.single__articleInfo-date {
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-right: 20px;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.single__articleInfo-date img {
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .single__articleInfo-date {
    font-size: 12px;
  }
}

.single__articleInfo-share {
  margin-left: auto;
}

/* 一覧へのバナー部分
============================================================================= */
.single__banner {
  display: flex;
  background: #F5F5F5;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .single__banner {
    flex-direction: column-reverse;
  }
}

.single__banner-text {
  flex-grow: 1;
  padding: 50px 60px;
}

@media screen and (max-width: 767px) {
  .single__banner-text {
    padding: 20px 20px 30px;
  }
}

.single__banner-text .en {
  color: #BFA679;
}

.single__banner-text p {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .single__banner-text p {
    font-size: 20px;
  }
}

.single__banner-text p::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #121212;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 10px;
  flex-shrink: 0;
}

.single__banner-image {
  background: #ccc;
  flex-shrink: 0;
  width: 320px;
}

@media screen and (max-width: 767px) {
  .single__banner-image {
    width: 100%;
    height: 100%;
    aspect-ratio: 5 / 2;
  }
}

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

.single__banner-list {
  display: flex;
  flex-wrap: wrap;
  margin: -60px -30px 0;
}

@media screen and (max-width: 1024px) {
  .single__banner-list {
    flex-direction: column;
    margin: -30px 0 0;
  }
}

.single__banner-listItem {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .single__banner-listItem {
    width: 100%;
    margin: 30px 0 0;
  }
}

.single__banner-listItem:not(.is-special) .single__banner-image {
  max-width: 210px;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .single__banner-listItem:not(.is-special) .single__banner-text {
    padding: 20px 20px 30px;
  }
  .single__banner-listItem:not(.is-special) .single__banner-image {
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .single__banner-listItem:not(.is-special) .single__banner-image {
    max-width: inherit;
    aspect-ratio: 5 / 2;
  }
}

.single__banner-listItem.is-special {
  max-width: 900px;
  width: 100%;
  margin: 60px auto 0;
}

/* ==========================================================================
   アーカイブページ共通のレイアウト
============================================================================= */
/* 年別アーカイブ
============================================================================= */
.archive__yearly-title {
  font-size: 30px;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.65;
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
  position: relative;
}

@media screen and (max-width: 767px) {
  .archive__yearly-title {
    margin-bottom: 0;
  }
}

.archive__yearly-list {
  display: flex;
  flex-wrap: wrap;
  margin: -1.5em -30px 0;
}

@media screen and (max-width: 1024px) {
  .archive__yearly-list {
    margin: -1.5em -15px 0;
  }
}

.archive__yearly-list li {
  width: calc(25% - 60px);
  margin: 1.5em 30px 0;
}

@media screen and (max-width: 1024px) {
  .archive__yearly-list li {
    width: calc(25% - 30px);
    margin: 1.5em 15px 0;
  }
}

@media screen and (max-width: 767px) {
  .archive__yearly-list li {
    width: calc(50% - 30px);
  }
}

/* ==========================================================================
   お知らせ一覧のレイアウト
============================================================================= */
/* ==========================================================================
   お知らせ詳細
============================================================================= */
/* ==========================================================================
   BLOG一覧のレイアウト
============================================================================= */
/* ==========================================================================
   blog 詳細
============================================================================= */
/* ==========================================================================
   北洲けんちく日記 固有スタイル
============================================================================= */
/* 記事一覧
============================================================================= */
.post-type-archive-ddb .listNews,
.tax-blog_ct .listNews {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .post-type-archive-ddb .listNews,
  .tax-blog_ct .listNews {
    display: block;
  }
}

.post-type-archive-ddb .listNews &gt; li,
.tax-blog_ct .listNews &gt; li {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .post-type-archive-ddb .listNews &gt; li,
  .tax-blog_ct .listNews &gt; li {
    width: 100%;
  }
}

.post-type-archive-ddb .listNews &gt; li:nth-child(2),
.tax-blog_ct .listNews &gt; li:nth-child(2) {
  border-top: none;
}

@media screen and (max-width: 1024px) {
  .post-type-archive-ddb .listNews &gt; li:nth-child(2),
  .tax-blog_ct .listNews &gt; li:nth-child(2) {
    border-top: 1px solid #cfd8dc;
  }
}

.post-type-archive-ddb .pagerArchive,
.tax-blog_ct .pagerArchive {
  margin-top: 0;
}

/* 記事詳細
============================================================================= */
.ddb__author-info {
  display: grid;
  grid-template-columns: 150px 1fr;
  grid-template-rows: auto auto;
  gap: 15px 30px;
  grid-template-areas: "diary__staff-photo diary__staff-name" "diary__staff-photo diary__staff-comment";
  background: #F5F5F5;
  padding: calc((60px / 3) * 2);
}

@media screen and (max-width: 767px) {
  .ddb__author-info {
    grid-template-columns: 70px 1fr;
    padding: 20px 15px;
    gap: 0 15px;
  }
}

.ddb__author-info figure {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: diary__staff-photo;
}

@media screen and (max-width: 767px) {
  .ddb__author-info figure {
    display: block;
    width: 70px;
    margin: 0 auto;
  }
}

.ddb__author-info figure img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}

.ddb__author-info h2 {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: diary__staff-name;
  align-self: end;
  font-size: 14px;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .ddb__author-info h2 {
    margin-top: 0.5em;
    font-size: 12px;
  }
}

.ddb__author-info p {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: diary__staff-comment;
  align-self: start;
  line-height: 1.7;
  font-size: 14px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .ddb__author-info p {
    margin-top: 0.5em;
    font-size: 12px;
  }
}

/* ==========================================================================
   北洲けんちく日記 固有スタイル
============================================================================= */
/* 記事一覧
============================================================================= */
.post-type-archive-diary .listDiary,
.tax-prefecture .listDiary {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .post-type-archive-diary .listDiary,
  .tax-prefecture .listDiary {
    display: block;
  }
}

.post-type-archive-diary .listDiary__listItem,
.tax-prefecture .listDiary__listItem {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .post-type-archive-diary .listDiary__listItem,
  .tax-prefecture .listDiary__listItem {
    width: 100%;
  }
}

.post-type-archive-diary .listDiary__listItem:nth-child(2),
.tax-prefecture .listDiary__listItem:nth-child(2) {
  border-top: none;
}

@media screen and (max-width: 1024px) {
  .post-type-archive-diary .listDiary__listItem:nth-child(2),
  .tax-prefecture .listDiary__listItem:nth-child(2) {
    border-top: 1px solid #cfd8dc;
  }
}

.post-type-archive-diary .pagerArchive,
.tax-prefecture .pagerArchive {
  margin-top: 0;
}

/* 記事詳細
============================================================================= */
.diary__staffList {
  background: #F5F5F5;
  padding: calc((60px / 3) * 2);
}

@media screen and (max-width: 767px) {
  .diary__staffList {
    padding: 20px 15px;
  }
}

.diary__staffListItem {
  display: grid;
  grid-template-columns: 150px 1fr;
  grid-template-rows: auto auto;
  gap: 15px 30px;
  grid-template-areas: "diary__staff-photo diary__staff-name" "diary__staff-photo diary__staff-comment";
}

.diary__staffListItem:not(:first-child) {
  margin-top: calc(60px / 2);
}

@media screen and (max-width: 767px) {
  .diary__staffListItem:not(:first-child) {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .diary__staffListItem {
    grid-template-columns: 70px 1fr;
    gap: 0 15px;
  }
}

.diary__staffListItem figure {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: diary__staff-photo;
}

@media screen and (max-width: 767px) {
  .diary__staffListItem figure {
    display: block;
    width: 70px;
    margin: 0 auto;
  }
}

.diary__staffListItem figure img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}

.diary__staffListItem h2 {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: diary__staff-name;
  align-self: end;
  font-size: 14px;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .diary__staffListItem h2 {
    margin-top: 0.5em;
    font-size: 12px;
  }
}

.diary__staffListItem p {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: diary__staff-comment;
  align-self: start;
  line-height: 1.7;
  font-size: 14px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .diary__staffListItem p {
    margin-top: 0.5em;
    font-size: 12px;
  }
}

/* 旧コンテンツ用
============================================================================= */
.diary__old h2 {
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  padding-bottom: 0.5em;
  font-weight: bold;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  margin-bottom: calc(60px - 0.65em);
}

.diary__old h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: -1px !important;
  top: inherit !important;
}

.diary__old-index {
  display: flex;
  flex-wrap: wrap;
  margin: -15px -30px 90px;
}

@media screen and (max-width: 767px) {
  .diary__old-index {
    margin: -15px calc(-1 * 20px) 90px;
  }
}

.diary__old-index &gt; li {
  width: calc((100% / 3) - (30px * 2));
  margin: calc(30px / 2) 30px 0;
}

@media screen and (max-width: 767px) {
  .diary__old-index &gt; li {
    width: calc(50% - (20px * 2));
    margin: calc(30px / 2) 20px 0;
  }
}

.diary__old-contents {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (max-width: 1024px) {
  .diary__old-contents {
    flex-direction: column;
    align-items: center;
  }
}

.diary__old-contents:not(:last-child) {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .diary__old-contents:not(:last-child) {
    margin-bottom: 30px;
  }
}

.diary__old-contents figure {
  text-align: center;
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .diary__old-contents figure {
    width: 100%;
  }
}

.diary__old-contents figure img {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .diary__old-contents figure img {
    width: auto;
  }
}

.diary__old-contents p {
  width: calc(50% - 30px);
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1024px) {
  .diary__old-contents p {
    width: 100%;
    margin-top: 1em;
  }
}

/* ==========================================================================
   家と暮らしのお役立ちコラム 固有スタイル
============================================================================= */
/* 記事一覧
============================================================================= */
.post-type-archive-column .listColumn__list,
.tax-column_ct .listColumn__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .post-type-archive-column .listColumn__list,
  .tax-column_ct .listColumn__list {
    display: block;
  }
}

.post-type-archive-column .listColumn__item,
.tax-column_ct .listColumn__item {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .post-type-archive-column .listColumn__item,
  .tax-column_ct .listColumn__item {
    width: 100%;
  }
}

.post-type-archive-column .listColumn__item:nth-child(2),
.tax-column_ct .listColumn__item:nth-child(2) {
  border-top: none;
}

@media screen and (max-width: 1024px) {
  .post-type-archive-column .listColumn__item:nth-child(2),
  .tax-column_ct .listColumn__item:nth-child(2) {
    border-top: 1px solid #cfd8dc;
  }
}

.post-type-archive-column .pagerArchive,
.tax-column_ct .pagerArchive {
  margin-top: 0;
}

/* 記事詳細
============================================================================= */
.single-column .single__banner-text .heading__Lv2 .en, .single-column .single__banner-text .case__mv-title .en {
  font-size: 26px;
}

.single-column .single__banner-text .heading__Lv2 .jp, .single-column .single__banner-text .case__mv-title .jp {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .single-column .single__banner-text .heading__Lv2 .jp, .single-column .single__banner-text .case__mv-title .jp {
    font-size: 27px;
  }
}

.column__author-info {
  display: grid;
  grid-template-columns: 150px 1fr;
  grid-template-rows: auto auto;
  gap: 15px 30px;
  grid-template-areas: "diary__staff-photo diary__staff-name" "diary__staff-photo diary__staff-comment";
  background: #F5F5F5;
  padding: calc((60px / 3) * 2);
}

@media screen and (max-width: 767px) {
  .column__author-info {
    grid-template-columns: 70px 1fr;
    padding: 20px 15px;
    gap: 10px 15px;
  }
}

.column__author-info figure {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: diary__staff-photo;
}

@media screen and (max-width: 767px) {
  .column__author-info figure {
    display: block;
    width: 70px;
    margin: 0 auto;
  }
}

.column__author-info figure img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}

.column__author-info h2 {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: diary__staff-name;
  align-self: end;
  font-size: 14px;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .column__author-info h2 {
    text-align: center;
    margin-top: 0.5em;
    font-size: 12px;
  }
}

.column__author-info dl {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: diary__staff-name;
  align-self: end;
  display: flex;
  flex-direction: column-reverse;
  font-size: 14px;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.column__author-info dl dd {
  color: #BFA679;
  margin-bottom: 0.5em;
}

@media screen and (max-width: 767px) {
  .column__author-info dl dd {
    font-size: 10px;
  }
}

.column__author-info p {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: diary__staff-comment;
  align-self: start;
  line-height: 1.7;
  font-size: 14px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .column__author-info p {
    margin-top: 0.5em;
    font-size: 10px;
  }
}

/* ==========================================================================
  実例集 固有スタイル
============================================================================= */
/* 記事一覧
============================================================================= */
.post-type-archive-case .search__categoryList-link,
[class^="tax-case_"] .search__categoryList-link,
[class*=" tax-case_"] .search__categoryList-link {
  height: auto;
}

.post-type-archive-case .search__result,
[class^="tax-case_"] .search__result,
[class*=" tax-case_"] .search__result {
  align-items: flex-end;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .post-type-archive-case .search__result,
  [class^="tax-case_"] .search__result,
  [class*=" tax-case_"] .search__result {
    margin-bottom: 20px;
  }
}

.post-type-archive-case .search__result .heading__Lv1,
[class^="tax-case_"] .search__result .heading__Lv1,
[class*=" tax-case_"] .search__result .heading__Lv1 {
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  margin-bottom: 0;
}

.post-type-archive-case .search__result .heading__Lv1 small,
[class^="tax-case_"] .search__result .heading__Lv1 small,
[class*=" tax-case_"] .search__result .heading__Lv1 small {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .post-type-archive-case .search__result .heading__Lv1 small,
  [class^="tax-case_"] .search__result .heading__Lv1 small,
  [class*=" tax-case_"] .search__result .heading__Lv1 small {
    font-size: 14px;
  }
}

.post-type-archive-case .search__result p,
[class^="tax-case_"] .search__result p,
[class*=" tax-case_"] .search__result p {
  line-height: 2.5;
}

.post-type-archive-case .pagerArchive,
[class^="tax-case_"] .pagerArchive,
[class*=" tax-case_"] .pagerArchive {
  margin-top: 0;
}

/* 記事詳細
============================================================================= */
.single-case .single__banner-text .en {
  font-size: 1em;
}

@media screen and (max-width: 767px) {
  .single-case .single__banner-text .en {
    font-size: 23px;
  }
}

.single-case .single__banner-text .jp {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .single-case .single__banner-text .jp {
    font-size: 27px;
  }
}

@media screen and (max-width: 767px) {
  .single-case .single__banner-image {
    display: none;
  }
}

.case__mv {
  display: grid;
  grid-template-rows: 1fr;
  gap: 0px 0px;
  grid-template-columns: 5fr 120px 8fr;
}

@media screen and (max-width: 1024px) {
  .case__mv {
    display: block;
  }
}

.case__mv-photo {
  grid-area: 1 / 2 / 2 / 4;
}

.case__mv-contents {
  grid-area: 1 / 1 / 2 / 3;
  align-self: center;
  background: #ffffff;
  margin-top: 60px;
  padding: 60px 100px 60px 0;
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .case__mv-contents {
    padding: 0;
    margin: 0 0 30px;
  }
}

.case__mv-title {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-bottom: 25px;
  margin-bottom: 40px;
}

@media screen and (max-width: 1024px) {
  .case__mv-title {
    padding-bottom: 13px;
  }
}

.case__mv-title::after {
  content: '';
  display: block;
  width: 90px;
  height: 5px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: 0;
}

.case__mv-title .en {
  color: #BFA679;
}

.case__mv-subtitle {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 32px;
}

.case__mv-text {
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
}

.case__info {
  display: flex;
  margin-bottom: calc(60px * 1.5);
}

@media screen and (max-width: 1024px) {
  .case__info {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .case__info {
    flex-direction: column;
  }
}

.case__info dt {
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  padding-bottom: 0.5em;
  font-weight: bold;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  margin-bottom: calc(60px - 0.65em);
}

.case__info dt::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: -1px !important;
  top: inherit !important;
}

.case__info-data {
  width: calc(50% - 30px);
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .case__info-data {
    width: 100%;
    margin: 0 0 30px;
  }
}

.case__info-data table {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #cfd8dc;
  letter-spacing: 0.1em;
}

.case__info-data th {
  padding: 0.5em 1em;
  background: #112D12;
  color: #ffffff;
  border: 1px solid #cfd8dc;
  text-align: left;
}

.case__info-data td {
  padding: 0.5em 1em;
  background: #ffffff;
  color: #121212;
  border: 1px solid #cfd8dc;
}

.case__info-search {
  width: calc(50% - 30px);
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .case__info-search {
    width: 100%;
    margin: 0;
  }
}

.case__info-search dd {
  background: #F5F5F5;
  padding: 20px;
}

.case__info-searchList {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
}

.case__info-searchList &gt; li {
  width: calc(50% - 10px);
  margin: 10px 5px 0;
}

.case__info-searchList a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 5px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  padding: 1em;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .case__info-searchList a {
    font-size: 12px;
  }
}

.case__recommend-title {
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  padding-bottom: 0.5em;
  font-weight: bold;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  margin-bottom: calc(60px - 0.65em);
}

.case__recommend-title::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: -1px !important;
  top: inherit !important;
}

.case__recommend-search {
  background: #F5F5F5;
  padding: 20px;
}

.case__recommend-searchList {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
}

.case__recommend-searchList &gt; li {
  width: calc((100% / 3) - 10px);
  margin: 10px 5px 0;
}

@media screen and (max-width: 767px) {
  .case__recommend-searchList &gt; li {
    width: calc(50% - 10px);
  }
}

.case__recommend-searchList a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 5px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  padding: 1em;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .case__recommend-searchList a {
    font-size: 12px;
  }
}

/* ==========================================================================
   不動産情報 固有スタイル
============================================================================= */
/* 記事一覧
============================================================================= */
.post-type-archive-realestate .listRealestate__Wrap + .heading__Lv3 {
  margin-top: calc(60px * 1.5);
}

@media screen and (max-width: 767px) {
  .post-type-archive-realestate .listRealestate__Wrap + .heading__Lv3 {
    margin-top: calc(30px * 2);
  }
}

.post-type-archive-realestate .single__banner-text .en {
  font-size: 1em;
}

@media screen and (max-width: 767px) {
  .post-type-archive-realestate .single__banner-text .en {
    font-size: 23px;
  }
}

.post-type-archive-realestate .single__banner-text .jp {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .post-type-archive-realestate .single__banner-text .jp {
    font-size: 27px;
  }
}

.post-type-archive-realestate .search__result .heading__Lv1 {
  margin-bottom: 0;
}

.post-type-archive-realestate .search__form-text {
  justify-content: center;
}

.realestate__result .heading__Lv3 {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .realestate__result .heading__Lv3 {
    margin-bottom: 20px;
  }
}

/* 記事詳細
============================================================================= */
.single-realestate .listRealestate__listItem {
  width: calc(50% - 60px);
}

@media screen and (max-width: 767px) {
  .single-realestate .listRealestate__listItem {
    width: 100%;
  }
}

.realestate__section-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2em 0;
}

@media screen and (max-width: 1024px) {
  .realestate__section-wrapper {
    flex-direction: column;
  }
}

.realestate__section-map {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .realestate__section-map {
    width: 100%;
    text-align: center;
  }
}

.realestate__section-data {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .realestate__section-data {
    width: 100%;
  }
}

.realestate__section-data table {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.1em;
}

.realestate__section-list &gt; div {
  display: flex;
  border-bottom: 1px solid #cfd8dc;
}

.realestate__section-list &gt; div:not(:first-child) {
  margin-top: 1em;
}

.realestate__section-list dt {
  font-weight: bold;
  color: #f44336;
  flex-shrink: 0;
}

.realestate__section-list dd:nth-of-type(1) {
  flex-grow: 1;
  margin: 0 1em;
}

.realestate__section-list dd:nth-of-type(2) {
  flex-shrink: 0;
  color: #f44336;
  font-weight: bold;
}

.realestate__summary {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #cfd8dc;
  letter-spacing: 0.1em;
}

.realestate__summary th {
  padding: 15px 20px;
  background: #112D12;
  color: #ffffff;
  border: 1px solid #cfd8dc;
  text-align: left;
  width: 210px;
}

.realestate__summary td {
  padding: 15px 20px;
  background: #ffffff;
  color: #121212;
  border: 1px solid #cfd8dc;
}

@media screen and (max-width: 767px) {
  .realestate__summary {
    width: 100%;
    display: block;
    border-width: 0 0 1px;
    border-bottom: 1px solid #cfd8dc;
    border-right: 1px solid #cfd8dc;
    border-left: 1px solid #cfd8dc;
  }
  .realestate__summary thead,
  .realestate__summary tbody,
  .realestate__summary tr,
  .realestate__summary th,
  .realestate__summary td {
    width: 100%;
    display: block;
    border: none;
  }
}

.realestate__area-list {
  margin-bottom: 30px;
}

.realestate__area-listItem {
  margin-left: 10px;
  margin-right: 10px;
}

@media screen and (max-width: 1024px) {
  .realestate__area-listItem {
    margin-left: 5px;
    margin-right: 5px;
  }
}

.realestate__area-listItem figure.is-default {
  background-color: #F2F2F2;
}

.realestate__area-listItem figure.is-education {
  background-color: #E8F0F8;
}

.realestate__area-listItem figure.is-medical {
  background-color: #FAE5E7;
}

.realestate__area-listItem figure.is-public {
  background-color: #E8F5F5;
}

.realestate__area-listItem figure.is-commerce {
  background-color: #F9F7D5;
}

.realestate__area-listItem figure.is-traffic {
  background-color: #FAECE1;
}

.realestate__area-listItem figure.is-other {
  background-color: #F2F2F2;
}

.realestate__area-listItem figure img {
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.realestate__area-listItem figcaption {
  padding: 1em 1.5em;
}

.realestate__area-info {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #cfd8dc;
  letter-spacing: 0.1em;
}

.realestate__area-info:not(:first-child) {
  margin-top: 1.5em;
}

.realestate__area-info th {
  padding: 15px 20px;
  color: #ffffff;
  border: 1px solid #cfd8dc;
  text-align: left;
  width: 220px;
}

.realestate__area-info th.is-default {
  background-color: #A5A5A5;
}

.realestate__area-info th.is-education {
  background-color: #366594;
}

.realestate__area-info th.is-medical {
  background-color: #D75C5C;
}

.realestate__area-info th.is-public {
  background-color: #21999E;
}

.realestate__area-info th.is-commerce {
  background-color: #C4B000;
}

.realestate__area-info th.is-traffic {
  background-color: #C07026;
}

.realestate__area-info th.is-other {
  background-color: #A5A5A5;
}

.realestate__area-info td {
  padding: 15px 20px;
  background: #ffffff;
  color: #121212;
  border: 1px solid #cfd8dc;
}

@media screen and (max-width: 767px) {
  .realestate__area-info {
    width: 100%;
    display: block;
    border-width: 0 0 1px;
    border-bottom: 1px solid #cfd8dc;
    border-right: 1px solid #cfd8dc;
    border-left: 1px solid #cfd8dc;
  }
  .realestate__area-info thead,
  .realestate__area-info tbody,
  .realestate__area-info tr,
  .realestate__area-info th,
  .realestate__area-info td {
    width: 100%;
    display: block;
    border: none;
  }
  .realestate__area-info td {
    padding: 0 20px;
  }
  .realestate__area-info td:first-of-type {
    padding: 15px 20px 0;
  }
  .realestate__area-info td:last-of-type {
    padding: 0 20px 15px;
  }
}

.realestate__area-legend {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .realestate__area-legend {
    margin-top: 10px;
  }
}

.realestate__area-legendList {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}

@media screen and (max-width: 767px) {
  .realestate__area-legendList {
    gap: 10px;
  }
}

.realestate__area-legendListItem {
  display: flex;
  font-size: 14px;
  gap: 4px;
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .realestate__area-legendListItem {
    font-size: 12px;
  }
}

.realestate__area-legendListItem::before {
  content: '';
  display: block;
  flex-shrink: 0;
  height: 15px;
  width: 30px;
}

@media screen and (max-width: 767px) {
  .realestate__area-legendListItem::before {
    width: 15px;
  }
}

.realestate__area-legendListItem.is-default::before {
  background-color: #A5A5A5;
}

.realestate__area-legendListItem.is-education::before {
  background-color: #366594;
}

.realestate__area-legendListItem.is-medical::before {
  background-color: #D75C5C;
}

.realestate__area-legendListItem.is-public::before {
  background-color: #21999E;
}

.realestate__area-legendListItem.is-commerce::before {
  background-color: #C4B000;
}

.realestate__area-legendListItem.is-traffic::before {
  background-color: #C07026;
}

.realestate__area-legendListItem.is-other::before {
  background-color: #A5A5A5;
}

/* ==========================================================================
   家と暮らしのお役立ちコラム 固有スタイル
============================================================================= */
/* 記事一覧
============================================================================= */
.post-type-archive-care .listCare__list,
.tax-care_ct .listCare__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .post-type-archive-care .listCare__list,
  .tax-care_ct .listCare__list {
    display: block;
  }
}

.post-type-archive-care .listCare__item,
.tax-care_ct .listCare__item {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .post-type-archive-care .listCare__item,
  .tax-care_ct .listCare__item {
    width: 100%;
  }
}

.post-type-archive-care .pagerArchive,
.tax-care_ct .pagerArchive {
  margin-top: 0;
}

/* 記事詳細
============================================================================= */
.single-care .single__banner-text .heading__Lv2 .en, .single-care .single__banner-text .case__mv-title .en {
  font-size: 26px;
}

@media screen and (max-width: 767px) {
  .single-care .single__banner-text .heading__Lv2 .en, .single-care .single__banner-text .case__mv-title .en {
    font-size: 23px;
  }
}

.single-care .single__banner-text .heading__Lv2 .jp, .single-care .single__banner-text .case__mv-title .jp {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .single-care .single__banner-text .heading__Lv2 .jp, .single-care .single__banner-text .case__mv-title .jp {
    font-size: 27px;
  }
}

.single-care table {
  width: 100%;
  vertical-align: middle;
  border-collapse: collapse;
  border: 1px solid #cfd8dc;
}

.single-care table caption {
  font-size: 18px;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: 0.1em;
  line-height: 1.7;
  margin-bottom: 0.5em;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .single-care table caption {
    font-size: 14px;
  }
}

.single-care table th, .single-care table td {
  padding: 1em;
  border: 1px solid #cfd8dc;
  vertical-align: middle;
}

.single-care table th {
  color: #ffffff;
  background: #112D12;
}

.care__mv {
  margin: 60px 0;
}

@media screen and (max-width: 767px) {
  .care__mv {
    margin: 30px 0;
  }
}

/* ==========================================================================
   オーナーズサイトページのレイアウト
============================================================================= */
.owner .single__banner-text {
  align-self: center;
}

.owner .pageHero__ttl .svg-img path {
  fill: #BFA679;
}

/* バナー群
============================================================================= */
.owner__link-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto auto;
}

@media screen and (max-width: 1024px) {
  .owner__link-list {
    display: block;
  }
}

.owner__link-listItem {
  grid-row: span 2;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
}

.owner__link-listItem:not(:first-child) {
  border-style: solid;
  border-color: #cfd8dc;
  border-width: 0 0 0 1px;
}

@media screen and (max-width: 1024px) {
  .owner__link-listItem:not(:first-child) {
    display: block;
    border-width: 1px 0 0 0;
  }
}

.owner__link-listItem a {
  grid-row: span 2;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  background: #F5F5F5;
  text-decoration: none;
}

@media screen and (max-width: 1024px) {
  .owner__link-listItem a {
    grid-row: inherit;
    grid-template-columns: minmax(110px, 25%) 1fr;
    grid-template-rows: auto;
  }
}

.owner__link-listItem h2 {
  grid-row: 2 / 3;
  display: grid;
  grid-template-columns: auto auto;
  gap: 10px;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding: 15px 15px 15px 25px;
  word-break: keep-all;
  overflow-wrap: break-word;
}

@media screen and (max-width: 1024px) {
  .owner__link-listItem h2 {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    justify-content: space-between;
    padding: 10px 15px;
  }
  .owner__link-listItem h2 br {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .owner__link-listItem h2 {
    font-size: 15px;
  }
}

.owner__link-listItem h2::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .owner__link-listItem h2::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

.owner__link-listItem figure {
  grid-row: 1 / 2;
  aspect-ratio: 23 / 16;
  background: #ccc;
}

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

@media screen and (max-width: 1024px) {
  .owner__link-listItem figure {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
  }
}

.owner__banner-list {
  margin-top: 20px;
  display: flex;
  gap: 20px;
}

@media screen and (max-width: 1024px) {
  .owner__banner-list {
    flex-direction: column;
  }
}

.owner__banner-listItem {
  flex-grow: 1;
}

.owner__banner-listItem a {
  display: flex;
  flex-direction: row-reverse;
  color: #ffffff;
  background: #112D12;
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  .owner__banner-listItem a:hover img {
    transform: scale(1.1);
  }
}

.owner__banner-listItem figure {
  flex-shrink: 0;
  overflow: hidden;
}

.owner__banner-listItem img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
}

.owner__banner-text {
  flex-grow: 1;
  margin: auto;
  padding: 15px 15px 15px 20px;
}

.owner__banner-text h2 {
  display: flex;
  flex-direction: column;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .owner__banner-text h2 {
    font-size: 16px;
  }
}

.owner__banner-text h2 small {
  font-size: 16px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .owner__banner-text h2 small {
    font-size: 12px;
  }
}

.owner__banner-text p {
  font-size: 12px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .owner__banner-text p {
    font-size: 10px;
  }
}

/* インフォメーション
============================================================================= */
.owner__info {
  background: #ffffff;
  position: relative;
}

.owner__info .l-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 25px 60px;
  grid-template-areas: "owner__info-title owner__info-link" "owner__info-news owner__info-event";
}

@media screen and (max-width: 1024px) {
  .owner__info .l-container {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 25px 0px;
    grid-template-areas: "owner__info-title owner__info-link" "owner__info-news owner__info-news" "owner__info-event owner__info-event";
  }
}

@media screen and (max-width: 767px) {
  .owner__info .l-container {
    padding: 0 20px;
  }
}

.owner__info .listNews__link {
  flex-direction: column;
}

.owner__info .listEvent__link {
  flex-direction: column;
}

@media screen and (min-width: 1025px) {
  .owner__info .listNews__date {
    margin-bottom: 5px;
  }
  .owner__info .listEvent__info {
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 1024px) {
  .owner__info .listNews__title {
    margin-top: 2px;
  }
  .owner__info .listNews__title {
    margin-top: 2px;
  }
}

.owner__info-title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  justify-self: start;
  align-self: center;
  grid-area: owner__info-title;
  margin-bottom: 0;
}

.owner__info-title .svg-img path {
  fill: #121212;
}

@media screen and (max-width: 767px) {
  .owner__info-title .svg-img {
    width: auto;
    height: 17px;
  }
}

.owner__info-news {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: owner__info-news;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto 1fr;
  grid-template-areas: "owner__news-title owner__news-link" "owner__news-list owner__news-list";
}

.owner__info-news .heading__sub {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: owner__news-title;
}

.owner__info-news .listNews__Wrap {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: owner__news-list;
}

.owner__info-news .owner__info-link {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: owner__news-link;
}

.owner__info-event {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: owner__info-event;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto 1fr;
  grid-template-areas: "owner__event-title owner__event-link" "owner__event-list owner__event-list";
}

.owner__info-event .heading__sub {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: owner__event-title;
}

.owner__info-event .listEvent__Wrap {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: owner__event-list;
}

.owner__info-event .owner__info-link {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: owner__event-link;
}

.owner__info-link {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  justify-self: end;
  align-self: center;
  grid-area: owner__info-link;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  font-weight: bold;
  text-decoration: none;
}

@media screen and (max-width: 1024px){
  .owner__info-title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .owner__info-news {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .owner__info-event {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .owner__info-link {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

@media screen and (max-width: 767px) {
  .owner__info-link {
    font-size: 12px;
    max-width: 7em;
    margin-left: auto;
  }
}

.owner__info-link::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
}

@media screen and (max-width: 767px) {
  .owner__info-link::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

/* バックナンバー
============================================================================= */
.owner__backnumber-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.owner__backnumber-listItem {
  width: calc((100% / 3) - 30px);
  margin: 30px 15px 0;
  text-align: center;
}

.owner__backnumber-listItem figcaption {
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .owner__backnumber-listItem {
    width: calc(50% - 30px);
  }
}

/* ==========================================================================
	スタッフ紹介ページ
============================================================================= */
.staff__list {
  background: #112D12;
  color: #ffffff;
}

/* エリアタブ
============================================================================= */
.staff__tab {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}

.staff__tab-list {
  background-color: #F5F5F5;
  border-radius: 9999px;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
}

.staff__tab-listItem button {
  border-radius: 9999px;
  color: #112D12;
  font-weight: 700;
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: .15em;
  padding: 14px 16px;
  transition: .075s ease color;
}

@media (any-hover: hover) {
  .staff__tab-listItem button:hover {
    color: #BFA679;
  }
}

@media screen and (max-width: 767px) {
  .staff__tab-listItem button {
    font-size: 12px;
    letter-spacing: 0;
    padding: 10px;
  }
}

.staff__tab-listItem button[aria-selected="true"] {
  background-color: #BFA679;
  color: #ffffff;
}

/* タブパネル
============================================================================= */
.staff__tabPanel-heading {
  width: 100%;
  display: flex;
  align-items: flex-start;
  font-size: 24px;
  line-height: 1.25;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  padding-bottom: 25px;
  border-bottom: 1px solid #cfd8dc;
}

.staff__tabPanel-heading:not(:first-child) {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .staff__tabPanel-heading:not(:first-child) {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .staff__tabPanel-heading {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 1.375;
    padding-bottom: 8px;
    flex-direction: column;
  }
}

.staff__tabPanel-heading::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background: #BFA679;
}

.staff__tabPanel-area {
  width: 90px;
  padding: 4px;
  line-height: 1;
  flex-shrink: 0;
  margin-right: 20px;
  margin-top: 4px;
  text-align: center;
  background: #BFA679;
  color: #ffffff;
  border-radius: 5px;
  font-size: 12px;
  letter-spacing: 0;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .staff__tabPanel-area {
    border-radius: 3px;
    font-size: 10px;
    margin: 0 0 6px;
    width: auto;
    min-width: 50px;
    padding: 3px 4px 2px;
  }
}

/* ==========================================================================
	商品一覧ページ
============================================================================= */
.products__link-list {
  margin: -60px -30px 0;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .products__link-list {
    flex-direction: column;
    margin: -30px 0 0;
  }
}

.products__link-list .single__banner-text p {
  font-size: 14px;
  margin-top: 1em;
  letter-spacing: 0.1em;
}

.products__link-list .single__banner-text p::after {
  content: none;
}

.products__link-listItem {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .products__link-listItem {
    width: 100%;
    margin: 30px 0 0;
  }
}

.products__link-listItem.is-special {
  max-width: 900px;
  width: 100%;
  margin: 60px auto 0;
}

@media screen and (max-width: 767px) {
  .products__link-listItem.is-special .single__banner-text img {
    max-height: 50px;
  }
  .products__link-listItem.is-special .single__banner-text p {
    font-size: 12px;
  }
}

/* ==========================================================================
	商品詳細ページ
============================================================================= */
/* 商品詳細共通設定
============================================================================= */
.product__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.7;
  margin-bottom: 140px;
}

@media screen and (max-width: 767px) {
  .product__heading {
    margin-bottom: 30px;
  }
}

.product__heading .en {
  color: #BFA679;
  font-family: "Open Sans", sans-serif;
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .product__heading .en {
    font-size: 24px;
    margin-bottom: 6px;
  }
  .product__heading .en img {
    height: 17px;
  }
}

.product__heading .jp {
  font-size: 36px;
}

@media screen and (max-width: 767px) {
  .product__heading .jp {
    font-size: 27px;
  }
}

/* 商品詳細 メインビジュアル
============================================================================= */
.product__mv {
  position: relative;
  background: #000;
  color: #ffffff;
  padding: 200px 0;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .product__mv {
    padding: 100px 0;
  }
}

.product__mv::before {
  content: '';
  width: 100%;
  height: 30%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);
  z-index: 0;
}

.product__mv .l-container {
  position: relative;
  z-index: 1;
}

.product__mv p {
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 16px;
  line-height: 3;
}

.product__mv p + p {
  margin-top: 5em;
}

@media screen and (max-width: 767px) {
  .product__mv p {
    font-size: 13px;
  }
}

.product__mv-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-bottom: 40px;
  margin-bottom: 150px;
}

@media screen and (max-width: 767px) {
  .product__mv-title {
    margin-bottom: 100px;
  }
}

.product__mv-title::after {
  content: '';
  display: block;
  width: 0;
  height: 5px;
  background: #ffffff;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  transition: width ease 1s;
}

.product__mv-title.is-animated::after {
  width: 90px;
}

.product__mv-title .svg-img path {
  fill: #ffffff;
}

.product__mv-title .jp {
  font-size: 36px;
}

@media screen and (max-width: 1024px) {
  .product__mv-title .jp {
    font-size: 27px;
  }
}

@media screen and (max-width: 767px) {
  .product__mv-title .jp {
    line-height: 1.5;
  }
}

.product__mv-title .en {
  font-weight: 500;
  font-size: 30px;
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
  margin-bottom: 40px;
}

.product__mv-title .en img {
  vertical-align: middle;
}

@media screen and (max-width: 1024px) {
  .product__mv-title .en {
    font-size: 23px;
  }
  .product__mv-title .en svg {
    height: 17px;
  }
}

.product__mv-ph {
  width: 100%;
  position: fixed;
  left: 0;
  top: 128px;
  z-index: -1;
  transition: top .3s;
}

@media screen and (max-width: 1024px) {
  .product__mv-ph {
    top: 64px;
  }
}

.product__mv-ph::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}

.product__mv-ph img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.is-scrolled ~ .l-main .product__mv-ph {
  top: 0;
}

@media screen and (max-width: 1024px) {
  .is-scrolled ~ .l-main .product__mv-ph {
    top: 64px;
  }
}

/* 商品詳細専用セクション
============================================================================= */
.product__section {
  padding: 210px 0;
  background: #ffffff;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .product__section {
    padding: 60px 0;
  }
}

.product__section .heading__sub {
  font-size: 24px;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .product__section .heading__sub {
    font-size: 18px;
    margin-bottom: 15px;
  }
}

.product__section p {
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.product__section + .breadcrumbs {
  margin-top: 0;
}

/* 商品詳細 画像＋テキスト（大）
============================================================================= */
.product__contents-large {
  padding: 210px 0;
  max-width: 1310px;
  width: calc(100% - (30px * 2));
  margin: auto;
  display: flex;
  align-items: center;
}

.product__contents-large + .product__contents-large {
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  .product__contents-large {
    width: calc(100% - (20px * 2));
    padding: 60px 0;
    flex-direction: column !important;
  }
}

.product__contents-large .product__contents-text {
  flex-grow: 1;
}

.product__contents-large .product__contents-ph {
  flex-shrink: 0;
  width: 620px;
}

@media screen and (max-width: 1300px) {
  .product__contents-large .product__contents-ph {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .product__contents-large .product__contents-ph {
    margin: 20px 0 0 !important;
    text-align: center;
    width: 100%;
  }
}

.product__contents-large.is-imageDirection-left {
  flex-direction: row-reverse;
}

.product__contents-large.is-imageDirection-left .product__contents-ph {
  margin-left: -140px;
  margin-right: 70px;
}

@media screen and (max-width: 1605px) {
  .product__contents-large.is-imageDirection-left .product__contents-ph {
    margin-left: -30px;
  }
}

.product__contents-large.is-imageDirection-right {
  flex-direction: row;
}

.product__contents-large.is-imageDirection-right .product__contents-ph {
  margin-left: 70px;
  margin-right: -140px;
}

@media screen and (max-width: 1605px) {
  .product__contents-large.is-imageDirection-right .product__contents-ph {
    margin-right: -30px;
  }
}

/* 商品詳細 画像＋テキスト（中）
============================================================================= */
.product__contents-middle {
  max-width: 1310px;
  width: calc(100% - (30px * 2));
  margin: auto;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}

.product__contents-middle + .product__contents-middle {
  margin-top: 85px;
}

@media screen and (max-width: 767px) {
  .product__contents-middle {
    flex-direction: column;
    width: calc(100% - (20px * 2));
  }
}

.product__contents-middle .product__contents-text {
  flex-grow: 1;
}

.product__contents-middle .product__contents-ph {
  flex-shrink: 0;
  width: 490px;
  margin-right: 70px;
}

@media screen and (max-width: 1300px) {
  .product__contents-middle .product__contents-ph {
    width: 30%;
  }
}

@media screen and (max-width: 767px) {
  .product__contents-middle .product__contents-ph {
    width: 100%;
    text-align: center;
    margin: 20px 0 0;
  }
}

/* 暮らし
============================================================================= */
.product__life .product__heading {
  margin-bottom: 0;
}

/* バーチャルモデルハウス
============================================================================= */
.product__virtual-wrapper {
  display: flex;
  justify-content: space-between;
}

.product__virtual-wrapper:not(:first-child) {
  margin-top: 90px;
}

@media screen and (max-width: 767px) {
  .product__virtual-wrapper:not(:first-child) {
    margin-top: 60px;
  }
}

@media screen and (max-width: 1024px) {
  .product__virtual-wrapper {
    flex-direction: column;
  }
}

.product__virtual-text {
  display: flex;
  flex-direction: column;
}

.product__virtual-text small {
  font-size: 75%;
  display: block;
}

.product__virtual-text p {
  margin-bottom: auto;
}

.product__virtual-contents {
  width: calc(100% - 480px);
  height: auto;
  flex-shrink: 0;
  aspect-ratio: 2 / 1;
  margin-left: 60px;
}

@media screen and (max-width: 1024px) {
  .product__virtual-contents {
    width: 100%;
    margin: 20px 0 0;
  }
}

.product__virtual-contents .ricoh-theta-tour-image {
  width: 100% !important;
  height: 100% !important;
}

.product__virtual-contents iframe {
  width: 100% !important;
  height: 100% !important;
}

.product__virtual-contents img {
  height: auto !important;
}

.product__virtual-contents div {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* 参考プラン
============================================================================= */
.product__plan {
  counter-reset: counter-plan_text counter-plan_circle;
}

.product__plan-contents {
  display: flex;
  justify-content: space-between;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .product__plan-contents {
    align-items: center;
    flex-direction: column;
  }
}

.product__plan-contents + .product__plan-contents {
  margin-top: 170px;
}

.product__plan-figure {
  text-align: center;
  order: 2;
  flex-shrink: 0;
  width: 47%;
}

@media screen and (max-width: 767px) {
  .product__plan-figure {
    order: 1;
    width: 100%;
  }
}

.product__plan-figure figure {
  position: relative;
}

.product__plan-info {
  margin-top: 25px;
}

.product__plan-info &gt; div {
  display: flex;
  justify-content: center;
}

.product__plan-info dt {
  flex-shrink: 0;
}

.product__plan-info dt::after {
  content: '／';
}

.product__plan-left {
  width: 25%;
  order: 1;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .product__plan-left {
    width: 100%;
    order: 2;
    margin-top: 20px;
  }
}

.product__plan-right {
  width: 25%;
  order: 3;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .product__plan-right {
    width: 100%;
    order: 3;
    margin-top: 20px;
  }
}

.product__plan-detail {
  position: absolute;
}

@media screen and (max-width: 1024px) {
  .product__plan-detail {
    position: static;
  }
  .product__plan-detail + .product__plan-detail {
    margin-top: 20px;
  }
}

.product__plan-detail.is-animated .product__plan-text * {
  animation: slideFade 0.75s ease 1.3s;
  animation-fill-mode: both;
}

.product__plan-detail.is-animated .product__plan-text::before {
  animation: line 0.75s ease 1.3s;
  animation-fill-mode: both;
}

.product__plan-circleWrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.product__plan-circle {
  width: 34%;
  height: 0;
  padding-bottom: 34%;
  position: absolute;
  counter-increment: counter-plan_circle;
}

@media screen and (max-width: 1024px) {
  .product__plan-circle {
    transform: rotate(0) !important;
  }
  .product__plan-circle::after {
    display: inline-flex;
    width: 1em;
    height: 1em;
    align-items: center;
    justify-content: center;
    content: counter(counter-plan_circle);
    background: #112D12;
    color: #ffffff;
    font-weight: bold;
    border-radius: 50%;
    margin-right: 0.25em;
    padding: 5px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    opacity: 0;
    transition: opacity .75s;
  }
}

.product__plan-circle::before {
  content: '';
  display: block;
  width: 102%;
  height: 3px;
  background: linear-gradient(to left, rgba(17, 45, 18, 0) 0%, rgba(17, 45, 18, 0) 50%, #112d12 50%, #112d12 100%);
  background-position: 100% 0;
  background-size: 200%;
  position: absolute;
  right: -100%;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 1024px) {
  .product__plan-circle::before {
    content: none;
  }
}

.product__plan-circle .svg-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  stroke: #112D12;
  stroke-width: 3px;
  stroke-dasharray: 0 630;
  stroke-opacity: 0;
  fill: rgba(0, 0, 0, 0);
  fill-opacity: 0;
  stroke-linecap: round;
  stroke-linejoin: round;
  position: absolute;
  top: 0;
  left: 0;
}

.product__plan-circle.is-animated::after {
  opacity: 1;
}

.product__plan-circle.is-animated::before {
  animation: line 0.75s ease 0.75s;
  animation-fill-mode: both;
}

.product__plan-circle.is-animated .svg-img circle {
  animation: circle 0.75s ease 0s;
  animation-fill-mode: both;
}

.product__plan-text {
  max-width: 300px;
  width: 100%;
  letter-spacing: 0.1em;
  padding: 30px;
  order: 3;
  background: #ffffff;
  position: relative;
  counter-increment: counter-plan_text;
}

@media screen and (max-width: 1024px) {
  .product__plan-text {
    max-width: inherit;
    padding: 20px;
  }
}

.product__plan-text * {
  opacity: 0;
  transform: translateY(30px);
}

.product__plan-text h3 {
  margin-bottom: 5px;
}

@media screen and (max-width: 1024px) {
  .product__plan-text h3 {
    line-height: 26px;
  }
  .product__plan-text h3::before {
    display: inline-flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    content: counter(counter-plan_text);
    background: #112D12;
    color: #ffffff;
    font-weight: bold;
    border-radius: 50%;
    margin-right: 10px;
    font-size: 12px;
    padding-top: 1px;
    padding-left: 1px;
  }
}

.product__plan-text figure {
  margin: 25px 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .product__plan-text figure {
    margin: 15px 0 20px;
  }
}

.product__plan-text::before {
  content: '';
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  position: absolute;
  top: -1px;
  left: -1px;
  background: linear-gradient(to left, rgba(17, 45, 18, 0) 0%, rgba(17, 45, 18, 0) 50%, #112d12 50%, #112d12 100%);
  background-position: 100% 0;
  background-size: 200%;
  z-index: -1;
}

@media screen and (max-width: 1024px) {
  .product__plan-text::before {
    transform: rotate(0) !important;
  }
}

.product__plan-text h3 {
  font-weight: bold;
  font-size: 18px;
}

/* 参考プラン：大屋根
============================================================================= */
.product__plan-product01-01 .product__plan-circle:nth-of-type(1) {
  transform: rotateY(180deg);
  left: 16%;
  bottom: 8%;
}

.product__plan-product01-01 .product__plan-left .product__plan-detail {
  bottom: 21%;
}

.product__plan-product01-01 .product__plan-left .product__plan-detail .product__plan-text::before {
  transform: rotateY(180deg);
}

.product__plan-product01-01 .product__plan-circle:nth-of-type(2) {
  right: 26%;
  top: 13%;
}

.product__plan-product01-01 .product__plan-right .product__plan-detail:nth-of-type(1) {
  top: 5%;
}

.product__plan-product01-01 .product__plan-circle:nth-of-type(3) {
  right: 4%;
  bottom: 16%;
}

.product__plan-product01-01 .product__plan-right .product__plan-detail:nth-of-type(2) {
  bottom: 20%;
}

.product__plan-product01-02 .product__plan-circle:nth-of-type(1) {
  right: 22%;
  top: 42%;
}

.product__plan-product01-02 .product__plan-right .product__plan-detail {
  top: 40%;
}

/* 参考プラン：平屋
============================================================================= */
.product__plan-product02-01 .product__plan-circle:nth-of-type(1) {
  transform: rotateY(180deg);
  left: 0;
  top: 24%;
}

.product__plan-product02-01 .product__plan-left .product__plan-detail {
  top: 5%;
}

.product__plan-product02-01 .product__plan-left .product__plan-detail .product__plan-text::before {
  transform: rotateY(180deg);
}

.product__plan-product02-01 .product__plan-circle:nth-of-type(2) {
  right: 0;
  top: 10%;
}

.product__plan-product02-01 .product__plan-right .product__plan-detail:nth-of-type(1) {
  top: -23%;
}

.product__plan-product02-01 .product__plan-circle:nth-of-type(3) {
  right: 21%;
  top: 34%;
}

.product__plan-product02-01 .product__plan-right .product__plan-detail:nth-of-type(2) {
  bottom: 5%;
}

/* 参考プラン：2階建て
============================================================================= */
.product__plan-product03-01 .product__plan-circle:nth-of-type(1) {
  transform: rotateY(180deg);
  left: 23%;
  bottom: 8%;
}

.product__plan-product03-01 .product__plan-left .product__plan-detail {
  bottom: 21%;
}

.product__plan-product03-01 .product__plan-left .product__plan-detail .product__plan-text::before {
  transform: rotateY(180deg);
}

.product__plan-product03-01 .product__plan-circle:nth-of-type(2) {
  right: 20%;
  top: 33%;
}

.product__plan-product03-01 .product__plan-right .product__plan-detail {
  top: 26%;
}

.product__plan-product03-02 .product__plan-circle:nth-of-type(1) {
  transform: rotateY(180deg);
  left: 26%;
  bottom: 4%;
}

.product__plan-product03-02 .product__plan-left .product__plan-detail {
  bottom: 15%;
}

.product__plan-product03-02 .product__plan-left .product__plan-detail .product__plan-text::before {
  transform: rotateY(180deg);
}

.product__plan-product03-02 .product__plan-circle:nth-of-type(2) {
  right: 10%;
  top: 37%;
}

.product__plan-product03-02 .product__plan-right .product__plan-detail {
  top: 30%;
}

/* 参考プラン：3階建て
============================================================================= */
.product__plan-product04-01 .product__plan-circle:nth-of-type(1) {
  right: 30%;
  bottom: 5%;
}

.product__plan-product04-01 .product__plan-right .product__plan-detail {
  bottom: 0;
}

.product__plan-product04-02 .product__plan-circle:nth-of-type(1) {
  transform: rotateY(180deg);
  top: 44%;
  left: 2%;
}

.product__plan-product04-02 .product__plan-left .product__plan-detail {
  top: 35%;
  left: 0;
}

.product__plan-product04-02 .product__plan-left .product__plan-detail .product__plan-text::before {
  transform: rotateY(180deg);
}

.product__plan-product04-02 .product__plan-circle:nth-of-type(2) {
  right: 27%;
  bottom: 3%;
}

.product__plan-product04-02 .product__plan-right .product__plan-detail {
  bottom: 0;
}

.product__plan-product04-03 .product__plan-circle:nth-of-type(1) {
  transform: rotateY(180deg);
  top: 14%;
  left: 26%;
}

.product__plan-product04-03 .product__plan-left .product__plan-detail .product__plan-text::before {
  transform: rotateY(180deg);
}

.product__plan-product04-03 .product__plan-circle:nth-of-type(2) {
  bottom: 9%;
  right: 18%;
}

.product__plan-product04-03 .product__plan-right .product__plan-detail {
  bottom: 10%;
}

/* 実例紹介
============================================================================= */
@media screen and (max-width: 767px) {
  .product__caseIntro .product__contents-large {
    flex-direction: column-reverse !important;
  }
}

@media screen and (max-width: 767px) {
  .product__caseIntro .product__contents-ph {
    margin: 0 0 20px !important;
  }
}

.product__caseIntro .product__contents-ph img {
  aspect-ratio: 1 / 1;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .product__caseIntro .product__contents-ph img {
    aspect-ratio: auto;
    -o-object-fit: fill;
    object-fit: fill;
  }
}

.product__caseIntro-btn {
  margin-top: 30px;
}

.product__caseIntro-btn .btn__link, .product__caseIntro-btn .archive__yearly-list a, .archive__yearly-list .product__caseIntro-btn a {
  margin-left: 0;
  margin-right: auto;
  max-width: 300px;
}

/* 商品詳細 実例一覧
============================================================================= */
.product__case {
  position: relative;
  z-index: 0;
  background: #ffffff;
}

.product__case-btn {
  margin-top: 30px;
}

.product__case-btn .btn__link, .product__case-btn .archive__yearly-list a, .archive__yearly-list .product__case-btn a {
  max-width: 300px;
  margin: 0 auto;
}

/* 商品詳細 Opus One ［唯一無二の木造住宅］
============================================================================= */
.product05 {
  background: #000;
}

.product05 .l-main {
  padding-top: 0;
}

.product05 section:nth-child(1) {
  padding-top: 128px;
}

@media screen and (max-width: 767px) {
  .product05 section:nth-child(1) {
    padding-top: 64px;
  }
}

.product05 .product__section {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background: transparent;
}

.product05__introduction {
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .product05__introduction {
    min-height: 50vh;
  }
}

.product05__introduction .svg-img path {
  fill: #ffffff;
}

.product05__introduction h1 span {
  display: block;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .product05__introduction h1 span {
    margin-top: 30px;
  }
}

.product05__introduction p {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .product05__introduction p {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .product05__introduction .svg-img {
    width: auto;
    height: 17px;
  }
  .product05__introduction h1 span img {
    max-height: 74px;
  }
}

.js-parallax-image {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: -1;
  transition: opacity 1s;
  opacity: 0;
  pointer-events: none;
}

.is-colorChange .js-parallax-image {
  opacity: 1;
}

.product05__message.is-colorChange p {
  opacity: 1;
}

.product05__message .l-container {
  display: flex;
}

@media screen and (max-width: 1024px) {
  .product05__message .l-container {
    flex-direction: column;
  }
}

.product05__message-text {
  max-width: 700px;
  margin-left: auto;
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
}

@media screen and (max-width: 1024px) {
  .product05__message-text {
    margin-top: 25vh;
  }
}

.product05__message-text p {
  opacity: 0;
  letter-spacing: 0.1em;
  line-height: 3;
  transition: opacity .3s ease-in-out;
}

@media screen and (max-width: 1024px) {
  .product05__message-text p {
    margin: auto;
    opacity: 1;
  }
}

.product05__message-text p + p {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .product05__message-text p + p {
    margin-top: 30px;
  }
}

.product05__message-title {
  flex-shrink: 0;
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 1025px) {
  .product05__message-title.is-fixed {
    width: calc(100% - 30px * 2);
    height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 1180px;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
}

@media screen and (max-width: 1024px) {
  .product05__message-title {
    width: calc(100% - 30px * 2);
    min-height: calc(100vh - 64px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 1180px;
    position: absolute;
    top: -50vh;
    left: 0;
    right: 0;
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .product05__message-title .svg-img {
    width: auto;
    height: 17px;
  }
  .product05__message-title h1 span img {
    max-height: 74px;
  }
}

.product05__message-title .svg-img path {
  fill: #ffffff;
}

.product05__message-title h1 .en {
  font-family: "Open Sans", sans-serif;
  font-size: 30px;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .product05__message-title h1 .en {
    font-size: 24px;
  }
}

.product05__message-title h1 .jp {
  display: block;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .product05__message-title h1 .jp {
    margin-top: 30px;
  }
}

.product05__message-title p {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .product05__message-title p {
    margin-top: 30px;
  }
}

.product05__article-01 {
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
}

.product05__article-02 {
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
}

.product05__article-03 {
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
}

.product05__article-04 {
  color: #ffffff;
  font-family: "Yu Mincho", Georgia, "Hiragino Mincho ProN", serif;
}

.product05__architect-title {
  text-align: center;
  margin-bottom: 210px;
}

@media screen and (max-width: 767px) {
  .product05__architect-title {
    margin-bottom: 100px;
  }
  .product05__architect-title img {
    max-height: 17px;
  }
}

.product05__architect-wrapper {
  display: grid;
  grid-template-columns: 425px 1fr;
  grid-template-rows: auto auto auto;
  gap: 0px 60px;
  grid-template-areas: "product05__architect-photo product05__architect-name" "product05__architect-photo product05__architect-message" "product05__architect-photo product05__architect-achivement";
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1024px) {
  .product05__architect-wrapper {
    grid-template-columns: 25% 1fr;
  }
}

@media screen and (max-width: 767px) {
  .product05__architect-wrapper {
    display: block;
  }
}

.product05__architect-name {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: product05__architect-name;
}

@media screen and (max-width: 767px) {
  .product05__architect-name {
    text-align: center;
  }
}

.product05__architect-name h3 {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .product05__architect-name h3 {
    flex-direction: column;
    align-items: center;
  }
}

.product05__architect-name .jp {
  font-size: 24px;
  margin-right: 1em;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .product05__architect-name .jp {
    margin: 0 0 5px;
  }
}

.product05__architect-name p {
  margin-top: 15px;
}

.product05__architect-photo {
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  -ms-grid-column: 1;
  align-self: start;
  grid-area: product05__architect-photo;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .product05__architect-photo {
    margin-top: 20px;
  }
}

.product05__architect-message {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  margin-top: calc(60px / 3 * 4);
  grid-area: product05__architect-message;
}

.product05__architect-message h4 {
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 767px) {
  .product05__architect-message h4 {
    font-size: 18px;
    margin-bottom: 1.5em;
  }
}

.product05__architect-message p + p {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  .product05__architect-message {
    margin-top: 25px;
  }
}

.product05__architect-achivement {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
  margin-top: calc(60px / 3 * 4);
  grid-area: product05__architect-achivement;
}

@media screen and (max-width: 767px) {
  .product05__architect-achivement {
    margin-top: 40px;
  }
}

.product05__achivement-title {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 15px;
  margin-bottom: 26px;
  font-size: 18px;
}

.product05__achivement-list &gt; div {
  display: flex;
}

.product05__achivement-list dt {
  width: 70px;
  flex-shrink: 0;
}

.product05__achivement-list dd {
  flex-grow: 1;
}

.product05__achivement-note {
  margin-top: 20px;
}

.product05__achivement-note li {
  padding-left: 1em;
  position: relative;
}

.product05__achivement-note li::before {
  content: '※';
  left: 0;
  position: absolute;
  top: 0;
}

.product05 .breadcrumbs {
  margin-top: 0;
}

.product__exterior .slider__editor-slide .slider__editor-image {
  width: 100%;
}

/* ==========================================================================
   コンセプト 固有スタイル
============================================================================= */
.concept__link-list {
  display: flex;
  flex-wrap: wrap;
  margin: -60px -30px 0;
}

@media screen and (max-width: 767px) {
  .concept__link-list {
    margin: -30px 0 0;
  }
}

.concept__link-listItem {
  width: calc((100% / 3) - 60px);
  margin: 60px 30px 0;
}

.concept__link-listItem .card_link-vertical {
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .concept__link-listItem {
    width: calc(50% - 60px);
  }
}

@media screen and (max-width: 767px) {
  .concept__link-listItem {
    width: 100%;
    margin: 30px 0 0;
  }
}

/* ==========================================================================
	8つの性能
============================================================================= */
/* 一覧ページ
============================================================================= */
.performance .pageHero-withThumbnail__image {
  background: #3e3a39;
}

.performance .pageHero-withThumbnail__image img {
  -o-object-fit: contain;
  object-fit: contain;
}

.performance__linkList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
  counter-reset: counter-performance-link;
}

@media screen and (max-width: 1024px) {
  .performance__linkList {
    flex-direction: column;
    margin: 0;
  }
}

.performance__linkList-item {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
  counter-increment: counter-performance-link;
}

@media screen and (max-width: 1024px) {
  .performance__linkList-item {
    width: 100%;
    margin: 30px 0 0;
  }
}

.performance__linkList-link {
  display: flex;
  background: #F5F5F5;
  text-decoration: none;
  height: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .performance__linkList-link:hover .performance__linkList-thumb img {
    transform: scale(1.1);
  }
}

.performance__linkList-thumb {
  width: 160px;
  flex-shrink: 0;
  overflow: hidden;
  background: #ccc;
}

@media screen and (max-width: 767px) {
  .performance__linkList-thumb {
    width: 30%;
  }
}

.performance__linkList-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
  aspect-ratio: 16 / 9;
}

.performance__linkList-text {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 37px 50px 37px 40px;
  position: relative;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .performance__linkList-text {
    padding: 20px 30px 20px 20px;
  }
}

.performance__linkList-text::after {
  content: '';
  display: block;
  width: 6px;
  height: 9px;
  background: #121212;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  position: absolute;
  top: 0;
  right: 40px;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .performance__linkList-text::after {
    right: 20px;
  }
}

.performance__linkList-text span {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .performance__linkList-text span {
    font-size: 16px;
  }
}

.performance__linkList-text span::before {
  content: counter(counter-performance-link) ". ";
}

/* ==========================================================================
   テクノロジー・仕様 固有スタイル
============================================================================= */
/* 一覧ページ
============================================================================= */
.technology__introduction .l-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .technology__introduction .l-container {
    flex-direction: column;
  }
}

.technology__introduction p {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .technology__introduction p {
    width: 100%;
  }
}

.technology__introduction .technology__linkList-link {
  width: calc(50% - 30px);
}

@media screen and (max-width: 1024px) {
  .technology__introduction .technology__linkList-link {
    width: 100%;
    margin-top: 30px;
  }
}

.technology__links .heading__Lv1 {
  text-align: center;
}

.technology__links .heading__Lv1::after {
  right: 0;
  margin: auto;
}

.technology__linkList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
}

@media screen and (max-width: 1024px) {
  .technology__linkList {
    flex-direction: column;
    margin: 0;
  }
}

.technology__linkList-item {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .technology__linkList-item {
    width: 100%;
    margin: 30px 0 0;
  }
}

.technology__linkList-link {
  display: flex;
  background: #F5F5F5;
  text-decoration: none;
  height: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .technology__linkList-link:hover .technology__linkList-thumb img {
    transform: scale(1.1);
  }
}

.technology__linkList-thumb {
  width: 160px;
  flex-shrink: 0;
  overflow: hidden;
  background: #ccc;
}

@media screen and (max-width: 767px) {
  .technology__linkList-thumb {
    width: 30%;
  }
}

.technology__linkList-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
  aspect-ratio: 16 / 9;
}

.technology__linkList-text {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 37px 50px 37px 40px;
  position: relative;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .technology__linkList-text {
    padding: 20px 30px 20px 20px;
  }
}

.technology__linkList-text::after {
  content: '';
  display: block;
  width: 6px;
  height: 9px;
  background: #121212;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  position: absolute;
  top: 0;
  right: 40px;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .technology__linkList-text::after {
    right: 20px;
  }
}

.technology__linkList-text small {
  font-size: 14px;
  margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
  .technology__linkList-text small {
    font-size: 12px;
  }
}

.technology__linkList-text span {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .technology__linkList-text span {
    font-size: 16px;
  }
}

/* ==========================================================================
	完成後も ずっと
============================================================================= */
.aftercare__link .l-container &gt; p {
  text-align: center;
}

@media screen and (max-width: 1024px) {
  .aftercare__link .l-container &gt; p {
    text-align: left;
  }
}

.aftercare__link-list {
  margin: 0 -30px;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .aftercare__link-list {
    flex-direction: column;
    margin: 0;
  }
}

.aftercare__link-listItem {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .aftercare__link-listItem {
    width: 100%;
    margin: 30px 0 0;
  }
  .aftercare__link-listItem .card_link-heading br {
    display: none;
  }
}

.aftercare__link-listItem .card_link-horizonal {
  height: 100%;
}

/* ==========================================================================
   展示場・イベント・不動産 固有スタイル
============================================================================= */
/* 一覧ページ
============================================================================= */
.area__link-list {
  display: flex;
  flex-wrap: wrap;
  margin: -60px -30px 0;
}

@media screen and (max-width: 1120px) {
  .area__link-list {
    margin: -30px 0 0;
  }
}

.area__link-list + .area__link-list {
  margin-top: 0;
}

.area__link-listItem {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1120px) {
  .area__link-listItem {
    width: 100%;
    margin: 30px 0 0;
  }
  .area__link-listItem br[aria-hidden="true"] {
    display: none;
  }
}

/* エリア詳細
============================================================================= */
.area__index .list__index {
  margin: -30px -30px 0;
}

@media screen and (max-width: 767px) {
  .area__index .list__index {
    margin: -20px 0 0;
  }
}

.area__index .list__index li {
  width: calc((100% / 3) - 60px);
  margin: 30px 30px 0;
}

@media screen and (max-width: 1024px) {
  .area__index .list__index li {
    width: calc(50% - 60px);
  }
}

@media screen and (max-width: 767px) {
  .area__index .list__index li {
    width: 100%;
    margin: 20px 0 0;
  }
}

.area__introduction * + p {
  margin-top: 20px;
}

.area__counseling .heading__Lv3 + .area__contents {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .area__counseling .heading__Lv3 + .area__contents {
    margin-top: 20px;
  }
}

.area__counseling .area__contents-linkList {
  flex-direction: column;
}

.area__counseling .area__contents-linkList li {
  width: calc(100% - 30px);
}

.area__counseling .area__contents-linkList li:first-child {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .area__counseling .area__contents-linkList li:first-child {
    margin-top: 30px;
  }
}

.area__event .listEvent__link {
  flex-direction: column;
}

.area__modelhouse .heading__Lv3 + .area__contents {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .area__modelhouse .heading__Lv3 + .area__contents {
    margin-top: 20px;
  }
}

.area__contents {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0px 60px;
  grid-template-areas: "area__contents-image area__contents-text" "area__contents-caption .";
}

.area__contents:not(:last-child) {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .area__contents:not(:last-child) {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 767px) {
  .area__contents {
    display: block;
  }
}

.area__contents-image {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: area__contents-image;
  text-align: center;
}

.area__contents-caption {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: area__contents-caption;
  margin-top: 1em;
}

.area__contents-caption dl {
  display: flex;
}

.area__contents-caption dt {
  flex-shrink: 0;
}

.area__contents-caption dt::after {
  content: '：';
}

.area__contents-text {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: area__contents-text;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .area__contents-text {
    margin-top: 1em;
  }
}

.area__contents-text .btn__link, .area__contents-text .archive__yearly-list a, .archive__yearly-list .area__contents-text a {
  margin-top: 30px;
}

.area__contents-text table {
  border-collapse: collapse;
  border-bottom: 1px solid #cfd8dc;
  border-right: 1px solid #cfd8dc;
}

.area__contents-text table th {
  padding: 15px 20px;
  letter-spacing: 0.1em;
  background: #112D12;
  color: #ffffff;
  text-align: left;
  font-weight: bold;
  border-top: 1px solid #cfd8dc;
  vertical-align: middle;
}

.area__contents-text table td {
  padding: 15px 20px;
  letter-spacing: 0.1em;
  background: transparent;
  border-top: 1px solid #cfd8dc;
}

@media screen and (max-width: 767px) {
  .area__contents-text table {
    display: block;
    border-left: 1px solid #cfd8dc;
  }
  .area__contents-text table thead,
  .area__contents-text table tbody,
  .area__contents-text table tr,
  .area__contents-text table th,
  .area__contents-text table td {
    display: block;
    border: none;
  }
  .area__contents-text table th {
    padding: 15px 20px;
  }
}

.area__contents-linkList {
  display: flex;
  flex-wrap: wrap;
  margin: auto -15px 0;
}

.area__contents-linkList &gt; li {
  width: calc(50% - 30px);
  margin: 30px 15px 0;
}

.area__contents-linkList .btn__link, .area__contents-linkList .archive__yearly-list a, .archive__yearly-list .area__contents-linkList a {
  margin-top: 0;
}

.area__realestate p + .heading__Lv3,
.area__realestate .listRealestate-withImage__Wrap + .heading__Lv3 {
  margin-top: 1em;
}

.area__realestate-info {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .area__realestate-info {
    flex-direction: column;
  }
}

.area__realestate-tateuri {
  width: calc(50% - 30px);
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .area__realestate-tateuri {
    width: 100%;
  }
}

.area__realestate-bunjo {
  width: calc(50% - 30px);
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .area__realestate-bunjo {
    width: 100%;
  }
}

.area__realestate-list {
  margin-top: 35px;
}

@media screen and (max-width: 767px) {
  .area__realestate-list {
    margin-top: 20px;
  }
}

.area__realestate-list &gt; li {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .area__realestate-list &gt; li {
    margin-top: 10px;
  }
}

.area__experience p + .heading__Lv3 {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .area__experience p + .heading__Lv3 {
    margin-top: 20px;
  }
}

.area__experience .heading__Lv3 + .area__contents {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .area__experience .heading__Lv3 + .area__contents {
    margin-top: 20px;
  }
}

.area__diary .area__contents {
  margin: 60px 0;
}

.area__office .area__contents {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .area__office .area__contents {
    margin-top: 20px;
  }
}

.area__office .editor__map {
  margin-top: 60px;
}

.area__office .editor__pardot {
  margin-top: 60px;
}

.area__office-pointList {
  display: flex;
  flex-wrap: wrap;
  margin: -60px -30px 0;
}

@media screen and (max-width: 767px) {
  .area__office-pointList {
    flex-direction: column;
    margin: -30px 0 0;
  }
}

.area__office-pointListItem {
  width: calc((100% / 3) - 60px);
  margin: 60px 30px 0;
}

@media screen and (max-width: 1024px) {
  .area__office-pointListItem {
    width: calc(50% - 60px);
  }
}

@media screen and (max-width: 767px) {
  .area__office-pointListItem {
    width: 100%;
    margin: 30px 0 0;
  }
}

.area__office-pointListItem figure {
  margin-bottom: 10px;
  text-align: center;
}

.area__office-pointListItem p {
  font-size: 14px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .area__office-pointListItem p {
    font-size: 12px;
  }
}

.area__office-pointSlider {
  margin: 60px 0;
}

@media screen and (max-width: 767px) {
  .area__office-pointSlider {
    margin: 30px 0;
  }
}

.area__office-pointSlider .slick-next,
.area__office-pointSlider .slick-prev {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #112D12 !important;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.area__office-pointSlider .slick-next::before,
.area__office-pointSlider .slick-prev::before {
  content: '';
  display: block;
  width: 40px;
  height: 6px;
  -webkit-clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  background: #ffffff;
}

@media screen and (max-width: 1024px) {
  .area__office-pointSlider .slick-next,
  .area__office-pointSlider .slick-prev {
    width: 60px;
    height: 60px;
  }
  .area__office-pointSlider .slick-next::before,
  .area__office-pointSlider .slick-prev::before {
    width: 30px;
    height: 6px;
  }
}

@media screen and (max-width: 767px) {
  .area__office-pointSlider .slick-next,
  .area__office-pointSlider .slick-prev {
    width: 40px;
    height: 40px;
  }
  .area__office-pointSlider .slick-next::before,
  .area__office-pointSlider .slick-prev::before {
    width: 18px;
    height: 6px;
  }
}

@media screen and (max-width: 1024px) {
  .area__office-pointSlider .slick-prev {
    left: -15px;
  }
}

@media screen and (max-width: 1024px) {
  .area__office-pointSlider .slick-next {
    right: -15px;
  }
}

.area__office-pointSlider .slick-prev::before {
  transform: rotateY(180deg);
}

.area__office-pointSlide {
  margin: 0 10px;
}

.area__office-pointSlide img {
  width: 100%;
}

.area__office-pointSlide p {
  margin-top: 1em;
}

/* ==========================================================================
   展示場 固有スタイル
============================================================================= */
/* 展示場 一覧
============================================================================= */
.exhibition__tab {
  display: flex;
  justify-content: flex-start;
  margin-top: 60px;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .exhibition__tab {
    margin-top: 50px;
  }
}

.exhibition__tab-list {
  background-color: #F5F5F5;
  border-radius: 9999px;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
}

.exhibition__tab-listItem button {
  border-radius: 9999px;
  color: #112D12;
  font-weight: 700;
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  letter-spacing: .15em;
  padding: 14px 16px;
  transition: .075s ease color;
}

@media (any-hover: hover) {
  .exhibition__tab-listItem button:hover {
    color: #BFA679;
  }
}

@media screen and (max-width: 767px) {
  .exhibition__tab-listItem button {
    font-size: 12px;
    letter-spacing: 0;
    padding: 10px;
  }
}

.exhibition__tab-listItem button[aria-selected="true"] {
  background-color: #112D12;
  color: #ffffff;
}

.exhibition__link-list {
  display: flex;
  flex-wrap: wrap;
  margin: -40px -30px 0;
}

@media screen and (max-width: 767px) {
  .exhibition__link-list {
    flex-direction: column;
    margin: -30px 0 0;
  }
}

.exhibition__link-list.is-other {
  margin: 0 -30px 0;
}

@media screen and (max-width: 767px) {
  .exhibition__link-list.is-other {
    margin: 0;
  }
}

.exhibition__link-listItem {
  width: calc(50% - 60px);
  margin: 90px 30px 0;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .exhibition__link-listItem {
    -moz-column-gap: 10px;
    column-gap: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr auto;
    width: 100%;
    margin: 50px 0 0;
  }
}

.exhibition__link-listItem.is-fullwidth {
  width: 100%;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
}

.exhibition__link-listItem.is-fullwidth .exhibition__link-thumbnail {
  width: calc(50% - 30px);
}

@media screen and (max-width: 767px) {
  .exhibition__link-listItem.is-fullwidth .exhibition__link-thumbnail {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .exhibition__link-listItem.is-fullwidth {
    -moz-column-gap: unset;
    column-gap: unset;
    display: flex;
    grid-template-columns: unset;
    flex-direction: column;
  }
}

.exhibition__link-heading {
  width: 100%;
  display: flex;
  align-items: flex-start;
  font-size: 24px;
  line-height: 1.25;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  padding-bottom: 25px;
  border-bottom: 1px solid #cfd8dc;
}

@media screen and (max-width: 767px) {
  .exhibition__link-heading {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 1.375;
    padding-bottom: 8px;
    flex-direction: column;
  }
}

.exhibition__link-heading::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background: #112D12;
}

.exhibition__link-area {
  width: 90px;
  padding: 4px;
  line-height: 1;
  flex-shrink: 0;
  margin-right: 20px;
  margin-top: 4px;
  text-align: center;
  background: #112D12;
  color: #ffffff;
  border-radius: 5px;
  font-size: 12px;
  letter-spacing: 0;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .exhibition__link-area {
    border-radius: 3px;
    font-size: 10px;
    margin: 0 0 6px;
    width: auto;
    min-width: 50px;
    padding: 3px 4px 2px;
  }
}

.exhibition__link-thumbnail {
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .exhibition__link-thumbnail {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .exhibition__link-thumbnail:is(.is-fullwidth *) {
    align-self: unset;
    margin-top: 20px;
  }
}

.exhibition__link-thumbnail a {
  margin: 0 auto;
  display: block;
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .exhibition__link-thumbnail a:hover img {
    transform: scale(1.1);
  }
}

.exhibition__link-thumbnail img {
  transition: transform .3s;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .exhibition__link-thumbnail img {
    aspect-ratio: 4 / 3;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .exhibition__link-thumbnail img:is(.is-fullwidth *) {
    aspect-ratio: unset;
    -o-object-fit: unset;
    object-fit: unset;
    height: unset;
  }
}

.exhibition__link-contents {
  width: calc(50% - 30px);
  margin-top: 40px;
  display: flex;
  flex-direction: column;
}

.exhibition__link-contents p:last-of-type {
  margin-bottom: 30px;
}

.exhibition__link-contents .btn__link, .exhibition__link-contents .archive__yearly-list a, .archive__yearly-list .exhibition__link-contents a {
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .exhibition__link-contents {
    width: 100%;
    margin-top: 20px;
  }
}

.exhibition__link-address {
  display: flex;
  margin-top: 20px;
  margin-bottom: auto;
}

@media screen and (max-width: 767px) {
  .exhibition__link-address {
    font-size: 11px;
    line-height: 1.375;
    margin-top: 8px;
  }
}

.exhibition__link-address dt {
  flex-shrink: 0;
}

.exhibition__link-address dt::after {
  content: '：';
}

.exhibition__link-address dd {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  row-gap: 8px;
}

@media screen and (max-width: 767px) {
  .exhibition__link-address dd {
    row-gap: 4px;
  }
}

.exhibition__link-addressMap {
  border: solid 1px #cfd8dc;
  border-radius: 3px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  padding: 4px 8px;
  text-decoration: none;
  transition: .075s ease background-color;
}

@media (any-hover: hover) {
  .exhibition__link-addressMap:hover {
    background-color: #F5F5F5;
  }
}

@media screen and (max-width: 767px) {
  .exhibition__link-addressMap {
    border-radius: 2px;
    font-size: 10px;
    padding: 4px 6px 3px;
  }
}

.exhibition__link-more {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

@media screen and (max-width: 767px) {
  .exhibition__link-more {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    margin: 0 -5px;
  }
}

.exhibition__link-more &gt; li {
  width: calc(50% - 30px);
  margin: 30px 15px 0;
}

@media screen and (max-width: 767px) {
  .exhibition__link-more &gt; li {
    width: calc(50% - 10px);
    margin: 12px 5px 0;
  }
}

.exhibition__link-online {
  margin-top: 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 40px 60px;
  grid-template-areas: "exhibition__link-heading exhibition__link-heading" "exhibition__link-thumbnail exhibition__link-contents";
}

@media screen and (max-width: 767px) {
  .exhibition__link-online {
    display: flex;
    flex-direction: column;
    gap: 0 0;
    margin-top: 30px;
  }
}

.exhibition__link-online .exhibition__link-heading {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  align-self: end;
  grid-area: exhibition__link-heading;
}

@media screen and (max-width: 767px) {
  .exhibition__link-online .exhibition__link-heading {
    align-self: inherit;
  }
}

.exhibition__link-online .exhibition__link-thumbnail {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  align-self: start;
  grid-area: exhibition__link-thumbnail;
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .exhibition__link-online .exhibition__link-thumbnail {
    align-self: inherit;
    margin-top: 20px;
  }
}

.exhibition__link-online .exhibition__link-contents {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: exhibition__link-contents;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .exhibition__link-online .exhibition__link-contents {
    margin-top: 20px;
  }
}

.exhibition__link-online p {
  margin-bottom: 1em;
}

.exhibition__link-online .btn__link, .exhibition__link-online .archive__yearly-list a, .archive__yearly-list .exhibition__link-online a {
  margin-top: auto;
}

.exhibition__event .listEvent__link {
  flex-direction: column;
}

.exhibition__office-list {
  display: flex;
  flex-wrap: wrap;
  margin: -20px -30px 0;
}

@media screen and (max-width: 1024px) {
  .exhibition__office-list {
    flex-direction: column;
    margin: -30px 0 0;
  }
}

.exhibition__office-listItem {
  width: calc(50% - 60px);
  margin: 40px 30px 0;
}

@media screen and (max-width: 1024px) {
  .exhibition__office-listItem {
    width: 100%;
    margin: 30px 0 0;
  }
}

.exhibition__office-link {
  display: flex;
  background: #F5F5F5;
  text-decoration: none;
  height: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .exhibition__office-link:hover .exhibition__office-thumb img {
    transform: scale(1.1);
  }
}

.exhibition__office-thumb {
  width: 160px;
  flex-shrink: 0;
  overflow: hidden;
  background: #ccc;
}

@media screen and (max-width: 767px) {
  .exhibition__office-thumb {
    width: 30%;
  }
}

.exhibition__office-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .3s;
}

.exhibition__office-text {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 30px 50px 30px 40px;
  position: relative;
  row-gap: 10px;
}

@media screen and (max-width: 767px) {
  .exhibition__office-text {
    padding: 20px 30px 20px 20px;
  }
}

.exhibition__office-text::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .exhibition__office-text::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

@media screen and (max-width: 767px) {
  .exhibition__office-text::after {
    margin: auto;
    right: 15px;
  }
}

.exhibition__office-title {
  font-weight: bold;
  line-height: 1.3;
}

.exhibition__office-address {
  font-size: 14px;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .exhibition__office-address {
    font-size: unset;
    line-height: 1.3;
  }
}

/* バーチャルモデルハウス
============================================================================= */
.exhibition__virtual-wrapper {
  display: flex;
  justify-content: space-between;
}

.exhibition__virtual-wrapper:not(:first-child) {
  margin-top: 90px;
}

@media screen and (max-width: 767px) {
  .exhibition__virtual-wrapper:not(:first-child) {
    margin-top: 60px;
  }
}

@media screen and (max-width: 1024px) {
  .exhibition__virtual-wrapper {
    flex-direction: column;
  }
}

.exhibition__virtual-text {
  display: flex;
  flex-direction: column;
}

.exhibition__virtual-text small {
  font-size: 75%;
  display: block;
}

.exhibition__virtual-text p {
  margin-bottom: auto;
}

.exhibition__virtual-contents {
  width: calc(100% - 480px);
  height: auto;
  flex-shrink: 0;
  aspect-ratio: 2 / 1;
  margin-left: 60px;
}

@media screen and (max-width: 1024px) {
  .exhibition__virtual-contents {
    width: 100%;
    margin: 20px 0 0;
  }
}

.exhibition__virtual-contents .ricoh-theta-tour-image {
  width: 100% !important;
  height: 100% !important;
}

.exhibition__virtual-contents iframe {
  width: 100% !important;
  height: 100% !important;
}

.exhibition__virtual-contents img {
  height: auto !important;
}

.exhibition__virtual-contents div {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* 展示場 詳細
============================================================================= */
.child-exhibition .pageHero-simple {
  min-height: auto;
  padding: 30px 0;
}

@media screen and (max-width: 767px) {
  .child-exhibition .pageHero-simple {
    padding: 15px 0;
  }
}

@media screen and (max-width: 767px) {
  .child-exhibition .slider__editor-image {
    max-height: 300px;
  }
}

.child-exhibition .slider__editor-caption {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .child-exhibition .slider__editor-caption {
    margin-top: 10px;
  }
}

.child-exhibition .slider__thumbnail-nav {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .child-exhibition .slider__thumbnail-nav {
    margin-top: 10px;
  }
}

/* ==========================================================================
   家づくりコラム 固有スタイル
============================================================================= */
.wisdom__link-list {
  display: flex;
  flex-wrap: wrap;
  margin: -60px -30px 0;
}

@media screen and (max-width: 767px) {
  .wisdom__link-list {
    margin: -30px 0 0;
  }
}

.wisdom__link-listItem {
  width: calc((100% / 3) - 60px);
  margin: 60px 30px 0;
}

.wisdom__link-listItem .card_link-vertical {
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .wisdom__link-listItem {
    width: calc(50% - 60px);
  }
}

@media screen and (max-width: 767px) {
  .wisdom__link-listItem {
    width: 100%;
    margin: 30px 0 0;
  }
}

.wisdom__latest-title {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .wisdom__latest-title {
    margin-bottom: 20px;
  }
  .wisdom__latest-title img {
    height: 17px;
  }
}

/* ==========================================================================
   カタログ請求 固有スタイル
============================================================================= */
.catalog .btn__link, .catalog .archive__yearly-list a, .archive__yearly-list .catalog a {
  align-items: center;
  background-color: #112D12;
  border-bottom: transparent;
  color: #ffffff;
  display: flex;
  flex-direction: row-reverse;
  font-size: 20px;
  font-weight: 700;
  min-height: 56px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  padding: .5em 1em;
  position: relative;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: .15s ease background-color;
  max-width: 400px;
  width: 100%;
}

@media (any-hover: hover) {
  .catalog .btn__link:hover, .catalog .archive__yearly-list a:hover, .archive__yearly-list .catalog a:hover {
    background-color: #001107;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .catalog .btn__link, .catalog .archive__yearly-list a, .archive__yearly-list .catalog a {
    font-size: 16px;
    min-height: 48px;
    max-width: inherit;
  }
}

.catalog .btn__link::before, .catalog .archive__yearly-list a::before, .archive__yearly-list .catalog a::before {
  content: none;
}

.catalog .btn__link::after, .catalog .archive__yearly-list a::after, .archive__yearly-list .catalog a::after {
  aspect-ratio: 1;
  background-color: #ffffff;
  -webkit-clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  height: auto;
  margin: 0;
  width: 32px;
}

.catalog .pageHero-withImage .btn__link, .catalog .pageHero-withImage .archive__yearly-list a, .archive__yearly-list .catalog .pageHero-withImage a {
  margin-left: 0;
}

.catalog .slick-track {
  display: flex;
}

.catalog .slick-slide {
  float: none !important;
  height: auto !important;
}

.page-template-page-ad-catalog .btn__link, .page-template-page-ad-catalog .archive__yearly-list a, .archive__yearly-list .page-template-page-ad-catalog a {
  align-items: center;
  background-color: #112D12;
  border-bottom: transparent;
  color: #ffffff;
  display: flex;
  flex-direction: row-reverse;
  font-size: 20px;
  font-weight: 700;
  min-height: 56px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  padding: .5em 1em;
  position: relative;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: .15s ease background-color;
  max-width: 400px;
  width: 100%;
}

@media (any-hover: hover) {
  .page-template-page-ad-catalog .btn__link:hover, .page-template-page-ad-catalog .archive__yearly-list a:hover, .archive__yearly-list .page-template-page-ad-catalog a:hover {
    background-color: #001107;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .page-template-page-ad-catalog .btn__link, .page-template-page-ad-catalog .archive__yearly-list a, .archive__yearly-list .page-template-page-ad-catalog a {
    font-size: 16px;
    min-height: 48px;
    max-width: inherit;
  }
}

.page-template-page-ad-catalog .btn__link::before, .page-template-page-ad-catalog .archive__yearly-list a::before, .archive__yearly-list .page-template-page-ad-catalog a::before {
  content: none;
}

.page-template-page-ad-catalog .btn__link::after, .page-template-page-ad-catalog .archive__yearly-list a::after, .archive__yearly-list .page-template-page-ad-catalog a::after {
  aspect-ratio: 1;
  background-color: #ffffff;
  -webkit-clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  clip-path: polygon(42% 28%, 64% 50%, 42% 72%, 38% 68%, 56% 50%, 38% 32%);
  height: auto;
  margin: 0;
  width: 32px;
}

.page-template-page-ad-catalog .pageHero-withImage .btn__link, .page-template-page-ad-catalog .pageHero-withImage .archive__yearly-list a, .archive__yearly-list .page-template-page-ad-catalog .pageHero-withImage a {
  margin-left: 0;
}

.catalog__pageLink-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .catalog__pageLink-list {
    grid-template-columns: 100%;
  }
}

.catalog__pageLink-list a {
  background: #F5F5F5;
  color: #112D12;
  display: grid;
  grid-template-columns: 9px -webkit-max-content;
  grid-template-columns: 9px max-content;
  padding: 1em;
  gap: 10px;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}

.catalog__pageLink-list a::before {
  content: '';
  aspect-ratio: 5 / 3;
  background: currentColor;
  -webkit-clip-path: polygon(10% 0, 50% 70%, 90% 0, 100% 15%, 50% 100%, 0 15%);
  clip-path: polygon(10% 0, 50% 70%, 90% 0, 100% 15%, 50% 100%, 0 15%);
}

/* 導入
============================================================================= */
.catalog__introduction .l-container {
  display: grid;
  grid-template-columns: 265px auto;
  grid-template-rows: auto auto;
  gap: 0 60px;
  grid-template-areas: "catalog__introduction-thumbnail catalog__introduction-text" "catalog__introduction-thumbnail catalog__introduction-link";
}

@media screen and (max-width: 767px) {
  .catalog__introduction .l-container {
    display: block;
  }
}

.catalog__introduction-text {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-self: center;
  grid-area: catalog__introduction-text;
}

.catalog__introduction-text p + p {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .catalog__introduction-text {
    margin-bottom: 30px;
  }
}

.catalog__introduction-thumbnail {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  justify-self: center;
  align-self: end;
  grid-area: catalog__introduction-thumbnail;
  text-align: center;
  margin: 20px 0;
}

@media screen and (max-width: 767px) {
  .catalog__introduction-thumbnail {
    margin-top: 0;
  }
  .catalog__introduction-thumbnail img {
    max-height: 200px;
  }
}

.catalog__introduction-link {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  justify-self: center;
  align-self: start;
  grid-area: catalog__introduction-link;
  display: flex;
  background: #F5F5F5;
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  .catalog__introduction-link:hover img {
    transform: scale(1.1);
  }
}

.catalog__introduction-link figure {
  width: 160px;
  flex-shrink: 0;
  overflow: hidden;
  background: #ccc;
}

@media screen and (max-width: 767px) {
  .catalog__introduction-link figure {
    width: 30%;
  }
}

.catalog__introduction-link figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 15% center;
  object-position: 15% center;
  transition: transform .3s;
  aspect-ratio: 195 / 131;
}

.catalog__introduction-link p {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 25px 50px 25px 30px;
  position: relative;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .catalog__introduction-link p {
    padding: 20px 30px 20px 20px;
  }
}

.catalog__introduction-link p::after {
  content: '';
  display: block;
  width: 6px;
  height: 9px;
  background: #121212;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .catalog__introduction-link p::after {
    right: 20px;
  }
}

.catalog__introduction-link p span {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .catalog__introduction-link p span {
    font-size: 12px;
  }
}

/* おすすめカタログ
============================================================================= */
.catalog__recommend .heading__Lv1 {
  margin-bottom: 20px;
}

.catalog__setList {
  margin-top: 20px;
}

.catalog__setList .slick-next,
.catalog__setList .slick-prev {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #112D12 !important;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.catalog__setList .slick-next::before,
.catalog__setList .slick-prev::before {
  content: '';
  display: block;
  width: 40px;
  height: 6px;
  -webkit-clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  clip-path: polygon(0 80%, 95% 80%, 80% 0, 85% 0, 100% 80%, 100% 100%, 0 100%);
  background: #ffffff;
}

@media screen and (max-width: 767px) {
  .catalog__setList .slick-next,
  .catalog__setList .slick-prev {
    width: 40px;
    height: 40px;
  }
  .catalog__setList .slick-next::before,
  .catalog__setList .slick-prev::before {
    width: 18px;
    height: 6px;
  }
}

.catalog__setList .slick-next {
  right: 20px;
}

@media screen and (max-width: 1200px) {
  .catalog__setList .slick-next {
    right: 5px;
  }
}

@media screen and (max-width: 767px) {
  .catalog__setList .slick-next {
    right: 20px;
  }
}

.catalog__setList .slick-prev {
  left: 20px;
}

@media screen and (max-width: 1200px) {
  .catalog__setList .slick-prev {
    left: 5px;
  }
}

@media screen and (max-width: 767px) {
  .catalog__setList .slick-prev {
    left: 20px;
  }
}

.catalog__setList .slick-prev::before {
  transform: rotateY(180deg);
}

.catalog__setList .slick-track {
  display: flex;
}

.catalog__setList .slick-slide {
  height: auto !important;
}

.catalog__setList-item {
  margin: 0 30px;
  background: #ffffff;
  display: grid !important;
  grid-template-columns: 215px 1fr;
  grid-template-rows: auto auto auto;
  gap: 0px 0px;
  grid-template-areas: "catalog__setList-thumbnail catalog__setList-title" "catalog__setList-thumbnail catalog__setList-text" "catalog__set-checkbox catalog__set-checkbox";
}

@media screen and (max-width: 1200px) {
  .catalog__setList-item {
    margin: 0 15px;
  }
}

@media screen and (max-width: 767px) {
  .catalog__setList-item {
    display: flex !important;
    flex-direction: column;
    padding: 20px;
  }
}

.catalog__setList-title {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: catalog__setList-title;
  margin: 30px 40px 0;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.catalog__setList-title small {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .catalog__setList-title small {
    font-size: 12px;
  }
}

.catalog__setList-title span {
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .catalog__setList-title span {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .catalog__setList-title {
    order: 1;
    margin: 0 0 10px;
    text-align: center;
  }
}

.catalog__setList-text {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: catalog__setList-text;
  margin: 25px 40px 30px;
}

@media screen and (max-width: 767px) {
  .catalog__setList-text {
    order: 3;
    margin: 10px 0;
  }
}

.catalog__setList-thumbnail {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: catalog__setList-thumbnail;
  justify-self: center;
  align-self: center;
}

@media screen and (max-width: 767px) {
  .catalog__setList-thumbnail {
    order: 2;
  }
}

.catalog__set-checkbox {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  width: calc(100% - 80px);
  justify-self: center;
  grid-area: catalog__set-checkbox;
  margin: auto auto 30px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  color: #121212;
  border-radius: 5px;
  -webkit-appearance: none;
  border: none;
  padding: 1em 40px 1em 1em;
  font-weight: bold;
  background: #F5F5F5;
  transition: background-color .3s, color .3s;
  position: relative;
}

.catalog__set-checkbox[aria-pressed="true"] {
  background: #112D12;
  color: #ffffff;
}

.catalog__set-checkbox[aria-pressed="true"] .catalog__set-icon::before, .catalog__set-checkbox[aria-pressed="true"] .catalog__set-icon::after {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .catalog__set-checkbox {
    order: 4;
    margin-bottom: 0;
    width: 100%;
    padding-right: 20px;
  }
}

.catalog__set-icon {
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  background: #ffffff;
  top: 0;
  right: 16px;
  bottom: 0;
  margin: auto;
  border-radius: 6px;
  z-index: 0;
  pointer-events: none;
}

.catalog__set-icon::before {
  content: '';
  display: block;
  position: absolute;
  width: 3px;
  height: 2px;
  border-radius: 2px;
  background: #112D12;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  left: 4px;
  margin: auto;
  opacity: 0;
  transition: opacity .3s;
}

.catalog__set-icon::after {
  content: '';
  display: block;
  position: absolute;
  width: 8px;
  height: 2px;
  border-radius: 2px;
  background: #112D12;
  transform: rotate(320deg);
  top: 0;
  bottom: 0;
  right: 3px;
  margin: auto;
  opacity: 0;
  transition: opacity .3s;
}

/* チェックボックス用リスト
============================================================================= */
.catalog__checkboxList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
}

@media screen and (max-width: 1024px) {
  .catalog__checkboxList {
    flex-direction: column;
    margin: 0;
  }
}

.catalog__checkboxList-item {
  width: calc(50% - 60px);
  margin: 60px 30px 0;
  background: #F5F5F5;
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto auto auto;
  gap: 0px 0px;
  padding-right: 20px;
  grid-template-areas: "catalog__checkboxList-thumbnail catalog__checkboxList-title" "catalog__checkboxList-thumbnail catalog__checkboxList-text" "catalog__checkboxList-thumbnail catalog__form-checkbox";
  position: relative;
}

@media screen and (max-width: 1024px) {
  .catalog__checkboxList-item {
    width: 100%;
    margin: 30px 0 0;
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .catalog__checkboxList-item {
    padding: 20px;
    display: flex;
    flex-direction: column;
  }
  .catalog__checkboxList-item:first-child {
    margin-top: 0;
  }
}

.catalog__checkboxList-item.is-new::before {
  content: '';
  display: block;
  width: 60px;
  height: 60px;
  background-color: #f44336;
  background-image: url(../images/cmn/icon_new-white.svg);
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  position: absolute;
  top: -20px;
  left: -20px;
}

@media screen and (max-width: 767px) {
  .catalog__checkboxList-item.is-new::before {
    width: 40px;
    height: 40px;
    top: -10px;
    left: -10px;
    background-size: 20px;
  }
}

.catalog__checkboxList-title {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-self: stretch;
  grid-area: catalog__checkboxList-title;
  margin: 30px auto 20px;
  max-width: 275px;
  width: 100%;
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1024px) {
  .catalog__checkboxList-title {
    max-width: inherit;
    width: calc(100% - 40px);
  }
}

@media screen and (max-width: 767px) {
  .catalog__checkboxList-title {
    font-size: 14px;
    width: 100%;
    margin: 15px 0 10px;
    order: 2;
  }
}

.catalog__checkboxList-text {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: catalog__checkboxList-text;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  margin: 0 auto;
  max-width: 275px;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .catalog__checkboxList-text {
    max-width: inherit;
    width: calc(100% - 40px);
  }
}

@media screen and (max-width: 767px) {
  .catalog__checkboxList-text {
    font-size: 12px;
    width: 100%;
    order: 3;
  }
}

.catalog__checkboxList-thumbnail {
  -ms-grid-row: 1;
  -ms-grid-row-span: 5;
  -ms-grid-column: 1;
  justify-self: center;
  align-self: center;
  grid-area: catalog__checkboxList-thumbnail;
  padding: 25px 0;
}

@media screen and (max-width: 767px) {
  .catalog__checkboxList-thumbnail {
    order: 1;
    padding: 0;
  }
}

.catalog__form-checkbox {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
  justify-self: center;
  align-self: start;
  grid-area: catalog__form-checkbox;
  max-width: 220px;
  width: 100%;
  margin: 20px auto;
}

@media screen and (max-width: 767px) {
  .catalog__form-checkbox {
    margin: 20px auto 0;
    order: 4;
  }
}

/* チェックボックス
============================================================================= */
.catalog__form-checkbox {
  cursor: pointer;
  position: relative;
  z-index: 0;
}

.catalog__form-checkbox input[type="checkbox"] {
  position: absolute;
  width: 16px;
  height: 16px;
  top: 0;
  right: 16px;
  bottom: 0;
  margin: auto;
  border-radius: 6px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 1;
}

.catalog__form-checkbox input[type="checkbox"]:checked ~ .catalog__form-icon {
  background-color: #ffffff;
}

.catalog__form-checkbox input[type="checkbox"]:checked ~ .catalog__form-icon::before, .catalog__form-checkbox input[type="checkbox"]:checked ~ .catalog__form-icon::after {
  opacity: 1;
}

.catalog__form-checkbox input[type="checkbox"]:checked ~ .catalog__form-text {
  color: #ffffff;
}

.catalog__form-checkbox input[type="checkbox"]:checked ~ .catalog__form-text::before {
  background: #112D12;
}

.catalog__form-checkbox input[type="checkbox"]:disabled ~ .catalog__form-text {
  color: #cfd8dc;
  cursor: not-allowed;
}

.catalog__form-icon {
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  background: #F5F5F5;
  top: 0;
  right: 16px;
  bottom: 0;
  margin: auto;
  border-radius: 6px;
  z-index: 0;
  pointer-events: none;
}

.catalog__form-icon::before {
  content: '';
  display: block;
  position: absolute;
  width: 3px;
  height: 2px;
  border-radius: 2px;
  background: #112D12;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  left: 4px;
  margin: auto;
  opacity: 0;
  transition: opacity .3s;
}

.catalog__form-icon::after {
  content: '';
  display: block;
  position: absolute;
  width: 8px;
  height: 2px;
  border-radius: 2px;
  background: #112D12;
  transform: rotate(320deg);
  top: 0;
  bottom: 0;
  right: 3px;
  margin: auto;
  opacity: 0;
  transition: opacity .3s;
}

.catalog__form-text {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 7px 33px 7px 12px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-weight: bold;
  flex-grow: 1;
  transition: color .3s;
  font-size: 14px;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .catalog__form-text {
    font-size: 12px;
    padding: 1em 20px 1em 1em;
  }
}

.catalog__form-text::before {
  content: '';
  width: 100%;
  height: 100%;
  background: #ffffff;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: background-color .3s;
}

/* フォーム内カスタマイズ
============================================================================= */
.form__table-text:has(.catalog__select-catalogList) {
  container-type: inline-size;
}

.catalog__select-catalogList {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@container (max-width: 670px) {
  .catalog__select-catalogList {
    grid-template-columns: 1fr;
  }
}

.catalog__select-catalog {
  display: grid !important;
  grid-template-columns: auto 1fr minmax(auto, 100px);
  gap: 10px;
  align-items: center;
  background: #F5F5F5;
  border-radius: 5px;
  padding: 10px 10px 10px 20px;
  font-weight: bold;
  transition: background-color .3s;
  margin: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .catalog__select-catalog:hover {
    background: #cfd8dc;
  }
}

/* カタログ一覧
============================================================================= */
.catalog__cataloglist .heading__Lv1 {
  text-align: center;
}

.is-pc .catalog__cataloglist .heading__Lv1 span {
  display: none;
}

.catalog__cataloglist .heading__Lv1::after {
  right: 0;
  margin: auto;
}

.catalog__cataloglist .slider__default {
  margin-top: 60px;
}

.catalog__cataloglist-slide {
  background: #F5F5F5;
  padding: 20px;
}

.catalog__cataloglist-slide figure {
  margin: .5em 0 1em;
}

.catalog__cataloglist-slide figure img {
  margin: auto;
}

.catalog__cataloglist-slide p {
  font-size: 14px;
}

.catalog__cataloglist-slide .list {
	margin-bottom: 16px;
}

.catalog__cataloglist-slide .list li {
	display: flex;
	justify-content: flex-start;
}

.catalog__cataloglist-slide .list li:before {
	content: "";
	display: block;
	background-color: #121212;
	border-radius: 50%;
	width: 8px;
	height: 8px;
	margin: 8px 10px 0 0;
}

.catalog__cataloglist-slide .list li:not(:last-child) {
	margin-bottom: 8px;
}

.catalog__cataloglist-slide .list li span {
	width: calc(100% - 18px);
	font-size: 14px;
	line-height: 1.5;
}

.catalog__cataloglist-slide a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #112D12;
	width: 160px;
	height: 40px;
	font-size: 14px;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	margin: 24px auto 0;
}

/* 商品のご紹介
============================================================================= */
.catalog__product .slider__default {
  margin-top: 40px;
}

.catalog__product-slide {
  background: #F5F5F5;
  padding: 16px;
  text-decoration: none;
}

.catalog__product-slide .heading__sub span {
  font-size: 50%;
  margin: 0 1em;
}

.catalog__product-slide figure {
  margin: -20px -16px 10px;
  overflow: hidden;
}

.catalog__product-slide figure img {
  width: 100%;
  transition: scale .3s;
}

@media (hover: hover) and (pointer: fine) {
  .catalog__product-slide:hover figure img {
    scale: 1.1;
  }
}

.catalog__product-slide p {
  font-size: 12px;
  line-height: 1.6;
  margin-top: .5em;
}

/* よくあるご質問
============================================================================= */
.catalog__faq .accordion_faq {
  margin-top: 40px;
}

.catalog__faq .accordion_faq-title {
  font-size: 18px;
}

.catalog__faq .accordion_faq-title::after {
  content: none;
}

@media screen and (max-width: 767px) {
  .catalog__faq .accordion_faq-title {
    font-size: 14px;
  }
}

.catalog__tel-info {
  text-align: center;
  margin: 1em 0 1.5em;
  display: flex;
  flex-direction: column;
}

.catalog__tel-infoLink {
  font-size: 36px;
  line-height: 1.3;
  font-weight: bold;
}

.catalog__tel-infoText {
  display: grid;
  grid-template-columns: 1em -webkit-max-content;
  grid-template-columns: 1em max-content;
  grid-template-rows: auto;
  justify-content: center;
  font-weight: bold;
}

.catalog__tel-infoText::before {
  content: '※';
}

.catalog__tel-noticeList {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  line-height: 1.7;
  padding-left: 1em;
}

.catalog__tel-noticeList &gt; li {
  list-style: disc;
}

/* 電話でのお問い合わせ
============================================================================= */
.catalog__tel .heading__Lv1 {
  text-align: center;
}

.catalog__tel .heading__Lv1::after {
  right: 0;
  margin-inline: auto;
}

/* デジタルカタログ
============================================================================= */
.catalog__digital-introduction .wp-block-media-text__content {
  padding-left: 0 !important;
}

@media screen and (max-width: 767px) {
  .catalog__digital-introduction .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
    margin-top: 0 !important;
  }
  .catalog__digital-introduction .wp-block-media-text__content {
    grid-row: 1 !important;
    grid-column: 1 !important;
    margin: 0 !important;
  }
  .catalog__digital-introduction .wp-block-media-text__media {
    grid-row: 2 !important;
    grid-column: 1 !important;
    margin-top: 1.5em;
  }
}

.catalog__digital-introductionTitle {
  text-align: center;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .catalog__digital-introductionTitle {
    margin-bottom: 30px;
  }
}

/* ==========================================================================
	サンクスページのレイアウト
============================================================================= */
body[class*="thanks"] main .l-section {
  text-align: center;
  line-height: 4em;
}

body[class*="thanks"] main .l-section .l-container {
  max-width: 800px;
}

body[class*="thanks"] main .btn {
  margin: 4em auto;
}

body[class*="thanks"] main .thanksMessage {
  text-align: center;
}

body[class*="thanks"] main .attention {
  margin-top: 40px;
  padding: 1.6em 2.2em;
  background-color: #F5F5F5;
  color: #747474;
  font-size: .9rem;
  line-height: 1.6em;
}

@media screen and (max-width: 767px) {
  body[class*="thanks"] main .attention {
    font-size: .8rem;
  }
}

body[class*="thanks"] main .attention a {
  color: #747474;
  text-decoration: underline;
}

body[class*="thanks"] main .attention a:hover {
  color: #112D12;
}

/* ==========================================================================
	サイトマップ 固有スタイル
============================================================================= */
.sitemap__list {
  display: flex;
  flex-wrap: wrap;
  margin: -50px -20px 0;
}

@media screen and (max-width: 767px) {
  .sitemap__list {
    flex-direction: column;
    margin: -30px 0 0;
  }
}

.sitemap__listItem {
  width: calc((100% / 3) - 40px);
  margin: 50px 20px 0;
}

@media screen and (max-width: 1024px) {
  .sitemap__listItem {
    width: calc(50% - 40px);
  }
}

@media screen and (max-width: 767px) {
  .sitemap__listItem {
    width: 100%;
    margin: 30px 0 0;
  }
}

.sitemap__listItem a {
  text-decoration: none;
}

.sitemap__list-parent {
  letter-spacing: 0.1em;
  padding-bottom: 0.5em;
  padding-right: 10px;
  margin-bottom: 1em;
  border-bottom: 1px solid #cfd8dc;
  position: relative;
  font-weight: bold;
}

.sitemap__list-parent::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #121212;
  position: absolute;
  left: 0;
  bottom: -1px !important;
  top: inherit !important;
}

.sitemap__list-parent::after {
  content: '';
  width: 6px;
  height: 9px;
  background: #455a64;
  -webkit-clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  clip-path: polygon(20% 0, 100% 50%, 20% 100%, 0% 100%, 80% 50%, 0% 0%);
  margin-left: 0.5em;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .sitemap__list-parent::after {
    width: 5px;
    height: 8px;
    margin-top: 1px;
  }
}

@media screen and (max-width: 767px) {
  .sitemap__list-parent::after {
    margin: auto;
  }
}

.sitemap__list-childList &gt; li:not(:first-child) {
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  .sitemap__list-childList &gt; li:not(:first-child) {
    margin-top: 0.8em;
  }
}

.sitemap__list-grandchildList &gt; li {
  padding-left: 1em;
  position: relative;
  margin-top: 0.25em;
}

@media screen and (max-width: 767px) {
  .sitemap__list-grandchildList &gt; li {
    margin-top: 0.5em;
  }
}

.sitemap__list-grandchildList &gt; li::before {
  content: '-';
  position: absolute;
  top: 0;
  left: 0;
}

/* ==========================================================================
   エラー画面のレイアウト
============================================================================= */
.error404__link-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .error404__link-list {
    flex-direction: column;
  }
}

.error404__link-list a {
  width: calc(50% - 30px);
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .error404__link-list a {
    width: 100%;
  }
}
</pre></body></html>