@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
/* line 11, ../scss/global/settings/_normalize.scss */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
/* line 23, ../scss/global/settings/_normalize.scss */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
/* line 31, ../scss/global/settings/_normalize.scss */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* line 40, ../scss/global/settings/_normalize.scss */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
/* line 53, ../scss/global/settings/_normalize.scss */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
/* line 64, ../scss/global/settings/_normalize.scss */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
/* line 76, ../scss/global/settings/_normalize.scss */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
/* line 85, ../scss/global/settings/_normalize.scss */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
/* line 95, ../scss/global/settings/_normalize.scss */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
/* line 105, ../scss/global/settings/_normalize.scss */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
/* line 116, ../scss/global/settings/_normalize.scss */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
/* line 125, ../scss/global/settings/_normalize.scss */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

/* line 133, ../scss/global/settings/_normalize.scss */
sub {
  bottom: -0.25em;
}

/* line 137, ../scss/global/settings/_normalize.scss */
sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
/* line 148, ../scss/global/settings/_normalize.scss */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
/* line 160, ../scss/global/settings/_normalize.scss */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
/* line 176, ../scss/global/settings/_normalize.scss */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
/* line 186, ../scss/global/settings/_normalize.scss */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
/* line 195, ../scss/global/settings/_normalize.scss */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
/* line 206, ../scss/global/settings/_normalize.scss */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
/* line 218, ../scss/global/settings/_normalize.scss */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
/* line 229, ../scss/global/settings/_normalize.scss */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
/* line 240, ../scss/global/settings/_normalize.scss */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
/* line 253, ../scss/global/settings/_normalize.scss */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
/* line 261, ../scss/global/settings/_normalize.scss */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
/* line 270, ../scss/global/settings/_normalize.scss */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
/* line 280, ../scss/global/settings/_normalize.scss */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
/* line 290, ../scss/global/settings/_normalize.scss */
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
/* line 299, ../scss/global/settings/_normalize.scss */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
/* line 308, ../scss/global/settings/_normalize.scss */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
/* line 320, ../scss/global/settings/_normalize.scss */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
/* line 328, ../scss/global/settings/_normalize.scss */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
/* line 339, ../scss/global/settings/_normalize.scss */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
/* line 347, ../scss/global/settings/_normalize.scss */
[hidden] {
  display: none;
}

/* ============================================ */
/* destyle.css for Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
/* line 12, ../scss/global/settings/_custom-reset.scss */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
/* line 34, ../scss/global/settings/_custom-reset.scss */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

/* line 41, ../scss/global/settings/_custom-reset.scss */
button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
/* line 52, ../scss/global/settings/_custom-reset.scss */
:-moz-focusring {
  outline: auto;
}

/* line 56, ../scss/global/settings/_custom-reset.scss */
select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
/* line 64, ../scss/global/settings/_custom-reset.scss */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
/* line 72, ../scss/global/settings/_custom-reset.scss */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/* line 78, ../scss/global/settings/_custom-reset.scss */
legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
/* line 86, ../scss/global/settings/_custom-reset.scss */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
/* line 94, ../scss/global/settings/_custom-reset.scss */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
/* line 102, ../scss/global/settings/_custom-reset.scss */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
/* line 111, ../scss/global/settings/_custom-reset.scss */
[type="search"] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
/* line 119, ../scss/global/settings/_custom-reset.scss */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
/* line 128, ../scss/global/settings/_custom-reset.scss */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Fix appearance for Firefox
 */
/* line 136, ../scss/global/settings/_custom-reset.scss */
[type="number"] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
/* line 144, ../scss/global/settings/_custom-reset.scss */
label[for] {
  cursor: pointer;
}

/**
 * nmc
 */
/* line 152, ../scss/global/settings/_custom-reset.scss */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* line 159, ../scss/global/settings/_custom-reset.scss */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 166, ../scss/global/settings/_custom-reset.scss */
video,
img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

/* line 172, ../scss/global/settings/_custom-reset.scss */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/* line 177, ../scss/global/settings/_custom-reset.scss */
button,
[type="button"] {
  -webkit-appearance: none;
  /* iOS/Safari 特有のデフォルトの角丸やシャドウ、ボタンのスタイルを削除 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 大文字化などが勝手に行われるのを防ぎ親要素の設定を継承 */
  cursor: pointer;
}

/* line 193, ../scss/global/settings/_custom-reset.scss */
address {
  font-style: normal;
  /* 斜体を解除 */
}

/* line 1, ../scss/global/settings/_base.scss */
html {
  /* ベースフォントサイズについて：「正確な値」または「切り上げ」を設定しています。  */
  font-size: 2.326vw;
}
@media screen and (min-width: 744px) {
  /* line 1, ../scss/global/settings/_base.scss */
  html {
    font-size: 0.98vw;
  }
}
@media screen and (min-width: 1280px) {
  /* line 1, ../scss/global/settings/_base.scss */
  html {
    font-size: 10px;
  }
}
@media screen and (min-width: 1920px) {
  /* line 1, ../scss/global/settings/_base.scss */
  html {
    font-size: 10px;
  }
}

/* line 29, ../scss/global/settings/_base.scss */
body {
  font-size: 1.4rem;
  /* 14px */
  line-height: 2;
  color: #3a3a3a;
  letter-spacing: 0.1em;
  font-family: "FP-ヒラギノ角ゴ ProN W3", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 300;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* line 46, ../scss/global/settings/_base.scss */
section {
  /* 変数を適用 */
  --section-padding: 10rem;
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
  overflow: hidden;
  position: relative;
  z-index: 30;
}
@media screen and (min-width: 744px) {
  /* line 46, ../scss/global/settings/_base.scss */
  section {
    --section-padding: 15rem;
  }
}

/*--------------------------------------------------------------
 タイポグラフィ (Typography)
 ※ここでは「文字の見た目」だけを定義し、マージンは含めない
--------------------------------------------------------------*/
/* line 64, ../scss/global/settings/_base.scss */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin: 0;
}

/* サイズ定義 (rem換算で統一) */
/* 基準: 14px body */
/* line 84, ../scss/global/settings/_base.scss */
h1,
.h1 {
  font-size: 4rem;
  /* 40px */
}

/* line 89, ../scss/global/settings/_base.scss */
h2,
.h2 {
  font-size: 2.8rem;
  /* 28px */
}

/* line 94, ../scss/global/settings/_base.scss */
h3,
.h3 {
  font-size: 1.8rem;
  /* 18px */
}

/* line 99, ../scss/global/settings/_base.scss */
h4,
.h4,
h5,
.h5 {
  font-size: 1.6rem;
  /* 16px */
}

/* line 106, ../scss/global/settings/_base.scss */
.small {
  font-size: 1.2rem;
  /* 12px */
  color: #707070;
  /* 補足色はグレーにする場合が多い */
}

/* サイト全体の基本リンク設定 */
/*--------------------------------------------------------------
 テーブル
--------------------------------------------------------------*/
/* line 129, ../scss/global/settings/_base.scss */
table {
  width: 100%;
  border-collapse: collapse;
}

/* line 134, ../scss/global/settings/_base.scss */
table tr {
  /* 点線の色と太さ */
  border-bottom: 1px dotted #3a3a3a;
}

/* line 138, ../scss/global/settings/_base.scss */
table tr:last-child {
  border-bottom: none;
}

/* line 142, ../scss/global/settings/_base.scss */
table th,
table td {
  /* 上下の余白 */
  padding: 1.5rem 0;
  text-align: left;
  vertical-align: top;
}

/* line 150, ../scss/global/settings/_base.scss */
table th {
  font-weight: 300;
  /* 見出しの幅 */
  width: 25%;
  /* 最小幅を決めておくとスマホでも潰れすぎない */
  min-width: 6em;
  padding-right: 1rem;
}

/* line 158, ../scss/global/settings/_base.scss */
table tr:first-child th,
table tr:first-child td {
  padding-top: 0;
}

/* line 162, ../scss/global/settings/_base.scss */
table tr:last-child th,
table tr:last-child td {
  padding-bottom: 0;
}

/* -------------------------------------------------------------------------
   WordPress Utilities & Infrastructure
   ------------------------------------------------------------------------- */
/* Accessibility (screen-reader-text) */
/* line 6, ../scss/global/_wordpress.scss */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* line 20, ../scss/global/_wordpress.scss */
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Alignments */
/* line 43, ../scss/global/_wordpress.scss */
.alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

/* line 48, ../scss/global/_wordpress.scss */
.alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

/* line 53, ../scss/global/_wordpress.scss */
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/* Captions & Galleries */
/* line 62, ../scss/global/_wordpress.scss */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

/* line 66, ../scss/global/_wordpress.scss */
.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* line 71, ../scss/global/_wordpress.scss */
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
  font-size: 0.8em;
}

/*--------------------------------------------------------------
 記事本文用スタイル (WordPress Content)
--------------------------------------------------------------*/
/* line 78, ../scss/global/_wordpress.scss */
.entry-content {
  /* ベースの余白定義（ここを変えれば一括調整可能に） */
  --space-block: 2rem;
  /* ブロック間の基本余白 */
  --space-heading-top: 3.5rem;
  /* 見出しの上の余白（広めに） */
  --space-heading-bottom: 1rem;
  /* 見出しの下の余白（本文と近づける） */
  /* 全要素共通の余白設定（これを基本にする） */
  /* 見出し：上を空けて、下を詰める */
  /* 見出しレベルごとの微調整が必要ならここで（remで指定） */
  /* h2 { margin-top: 4rem; } */
  /* テキストリンク */
  /* リスト */
  /* 最後の要素の余白カット（これはExcellent!） */
}
/* line 85, ../scss/global/_wordpress.scss */
.entry-content > * {
  margin-bottom: var(--space-block);
}
/* line 90, ../scss/global/_wordpress.scss */
.entry-content h1,
.entry-content .h1,
.entry-content h2,
.entry-content .h2,
.entry-content h3,
.entry-content .h3,
.entry-content h4,
.entry-content .h4,
.entry-content h5,
.entry-content .h5 {
  /* 最初の見出し以外は上に余白を入れる */
  margin-bottom: var(--space-heading-bottom);
  line-height: 1.4;
  /* 見出しは行間詰め気味にするのが定石 */
}
/* line 101, ../scss/global/_wordpress.scss */
.entry-content h1:not(:first-child),
.entry-content .h1:not(:first-child),
.entry-content h2:not(:first-child),
.entry-content .h2:not(:first-child),
.entry-content h3:not(:first-child),
.entry-content .h3:not(:first-child),
.entry-content h4:not(:first-child),
.entry-content .h4:not(:first-child),
.entry-content h5:not(:first-child),
.entry-content .h5:not(:first-child) {
  margin-top: var(--space-heading-top);
}
/* line 113, ../scss/global/_wordpress.scss */
.entry-content a {
  overflow-wrap: break-word;
  word-wrap: break-word;
  /* 色や下線などのスタイルも必要ならここに */
}
/* line 120, ../scss/global/_wordpress.scss */
.entry-content ul,
.entry-content ol,
.entry-content figure {
  margin-bottom: var(--space-block);
}
/* line 126, ../scss/global/_wordpress.scss */
.entry-content li {
  margin-bottom: 0.5em;
  /* リスト項目間は狭くてOK */
}
/* line 131, ../scss/global/_wordpress.scss */
.entry-content > *:last-child {
  margin-bottom: 0;
}
/* line 136, ../scss/global/_wordpress.scss */
.entry-content .c-list-dots li {
  font-size: 1em;
}

/* Admin Bar対応 */
/* line 144, ../scss/global/_wordpress.scss */
body.admin-bar .l-header {
  top: var(--wp-admin--admin-bar--height, 32px);
}

/* line 149, ../scss/global/_wordpress.scss */
body.admin-bar .l-header__nav {
  top: calc(7rem + var(--wp-admin--admin-bar--height, 32px));
}
@media screen and (min-width: 1024px) {
  /* line 149, ../scss/global/_wordpress.scss */
  body.admin-bar .l-header__nav {
    top: auto;
  }
}

@media screen and (min-width: 1024px) {
  /* line 155, ../scss/global/_wordpress.scss */
  body.admin-bar .sub-menu-mid,
  body.admin-bar .bg-box {
    top: calc(7rem + var(--wp-admin--admin-bar--height, 32px));
  }
}

/* line 4, ../scss/layout/_common-layout.scss */
.l-section {
  --block-gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--block-gap);
}
@media screen and (min-width: 744px) {
  /* line 4, ../scss/layout/_common-layout.scss */
  .l-section {
    --block-gap: 10rem;
  }
}

/* line 16, ../scss/layout/_common-layout.scss */
.l-stack {
  --content-gap: 3rem;
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
  width: 100%;
}

/* line 24, ../scss/layout/_common-layout.scss */
.l-stack > * {
  margin-top: 0;
  margin-bottom: 0;
}

/* line 29, ../scss/layout/_common-layout.scss */
.l-stack--lg {
  --content-gap: 5rem;
}

/* line 32, ../scss/layout/_common-layout.scss */
.l-stack--sm {
  --content-gap: 2rem;
}

/* line 39, ../scss/layout/_common-layout.scss */
.l-content {
  --content-padding: 3rem;
  --content-max-width: 128rem;
  width: 100%;
  max-width: var(--content-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--content-padding);
  padding-right: var(--content-padding);
}
@media screen and (min-width: 744px) {
  /* line 39, ../scss/layout/_common-layout.scss */
  .l-content {
    --content-padding: 5rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 39, ../scss/layout/_common-layout.scss */
  .l-content {
    --content-padding: 0;
  }
}

/* line 63, ../scss/layout/_common-layout.scss */
.l-content--left-only {
  padding-right: 0;
}
@media screen and (min-width: 744px) {
  /* line 63, ../scss/layout/_common-layout.scss */
  .l-content--left-only {
    padding-right: var(--content-padding);
  }
}

/* line 69, ../scss/layout/_common-layout.scss */
.l-content--right-only {
  padding-left: 0;
}
@media screen and (min-width: 744px) {
  /* line 69, ../scss/layout/_common-layout.scss */
  .l-content--right-only {
    padding-left: var(--content-padding);
  }
}

/* line 75, ../scss/layout/_common-layout.scss */
.l-content--no-padding {
  --content-padding: 0 !important;
}

/* line 78, ../scss/layout/_common-layout.scss */
.l-content--sp-full {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 744px) {
  /* line 78, ../scss/layout/_common-layout.scss */
  .l-content--sp-full {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

@media screen and (min-width: 1280px) {
  /* line 91, ../scss/layout/_common-layout.scss */
  .l-width-narrow .l-content {
    --content-padding: 14rem;
  }
}

/* line 101, ../scss/layout/_common-layout.scss */
.l-sec-full-height {
  min-height: calc(100vh - 7rem - 6rem);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 744px) {
  /* line 101, ../scss/layout/_common-layout.scss */
  .l-sec-full-height {
    min-height: calc(100vh - 7rem);
  }
}

/* line 114, ../scss/layout/_common-layout.scss */
.l-bg-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 15;
}

/* line 124, ../scss/layout/_common-layout.scss */
.l-bg-fixed img,
.l-bg-fixed > video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 4, ../scss/layout/_header.scss */
.l-header {
  --duration-nav-base: 0.35s;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 7rem;
  z-index: 300;
  background-color: #ffffff;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}

/* line 17, ../scss/layout/_header.scss */
.l-header + main {
  margin-top: 7rem;
}

/* line 22, ../scss/layout/_header.scss */
.l-header__block {
  display: flex;
  justify-content: space-between;
  height: 100%;
}

/* line 33, ../scss/layout/_header.scss */
.l-header__logo {
  margin: 0;
  height: 100%;
  position: relative;
}

/* line 39, ../scss/layout/_header.scss */
.l-header__logo a {
  display: block;
  height: 100%;
  padding: 1.5rem 3rem;
}

/* line 44, ../scss/layout/_header.scss */
.l-header__logo img {
  display: block;
  height: 100%;
  width: auto;
}

/* line 53, ../scss/layout/_header.scss */
.l-header__nav {
  --layout-space-v: 7.5vh;
  position: fixed;
  top: 7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  padding-top: var(--layout-space-v);
  background-color: #f2f2f2;
  height: calc(100vh - 7rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s cubic-bezier(0.4, 0, 1, 1), visibility 0s linear 0.15s;
}
@media screen and (min-width: 1024px) {
  /* line 53, ../scss/layout/_header.scss */
  .l-header__nav {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: auto;
    height: auto;
    padding: 0;
    background: transparent;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* line 97, ../scss/layout/_header.scss */
.l-header__nav.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity var(--duration-nav-base) cubic-bezier(0, 0, 0.2, 1), visibility 0s linear 0s;
}

/* line 114, ../scss/layout/_header.scss */
.l-header-nav {
  height: 100%;
}

/* line 118, ../scss/layout/_header.scss */
.l-header-nav__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  /* line 118, ../scss/layout/_header.scss */
  .l-header-nav__inner {
    display: block;
  }
}

/* line 129, ../scss/layout/_header.scss */
.l-header-nav__title {
  padding-right: 3rem;
  padding-left: 3rem;
  font-size: 1.3em;
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1024px) {
  /* line 129, ../scss/layout/_header.scss */
  .l-header-nav__title {
    display: none;
  }
}

/* line 142, ../scss/layout/_header.scss */
.l-header-nav__content {
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 1024px) {
  /* line 142, ../scss/layout/_header.scss */
  .l-header-nav__content {
    flex-direction: row;
    overflow: visible;
  }
}

/* line 154, ../scss/layout/_header.scss */
.l-header-nav__main {
  --layout-space-side: 7rem;
  padding-right: var(--layout-space-side);
}
@media screen and (min-width: 1024px) {
  /* line 154, ../scss/layout/_header.scss */
  .l-header-nav__main {
    padding-right: 0;
  }
}

/* line 161, ../scss/layout/_header.scss */
.l-header-nav__sub {
  padding-bottom: 7.5vh;
}
@media screen and (min-width: 1024px) {
  /* line 161, ../scss/layout/_header.scss */
  .l-header-nav__sub {
    display: none;
  }
}

/* line 167, ../scss/layout/_header.scss */
.l-header-nav__sub .nav-action-container {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* line 176, ../scss/layout/_header.scss */
.menu-wrapper {
  --mega-menu-width: 84rem;
  --mega-menu-height: 47.5rem;
  --border-width: 0.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
  letter-spacing: 0.03em;
  height: 100%;
}
@media screen and (min-width: 1024px) {
  /* line 176, ../scss/layout/_header.scss */
  .menu-wrapper {
    flex-direction: row;
    gap: 0;
    font-size: 1.4rem;
  }
}

/* line 197, ../scss/layout/_header.scss */
.menu-wrapper > li {
  --padding-space-pc: 0.5rem;
}
@media screen and (min-width: 1024px) {
  /* line 197, ../scss/layout/_header.scss */
  .menu-wrapper > li {
    position: relative;
    height: 7rem;
    padding: var(--padding-space-pc);
  }
}

@media screen and (min-width: 1024px) {
  /* line 206, ../scss/layout/_header.scss */
  .menu-wrapper > li:nth-of-type(1):before,
  .menu-wrapper > li::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0.1rem;
    height: calc(100% - var(--padding-space-pc) * 2);
    background-color: #f2f2f2;
  }
}

@media screen and (min-width: 1024px) {
  /* line 220, ../scss/layout/_header.scss */
  .menu-wrapper > li:nth-of-type(1):before {
    left: 0;
  }
}

@media screen and (min-width: 1024px) {
  /* line 226, ../scss/layout/_header.scss */
  .menu-wrapper > li::after {
    right: 0;
  }
}

@media screen and (min-width: 1024px) {
  /* line 232, ../scss/layout/_header.scss */
  .menu-wrapper > li > .nav-head-group {
    height: 100%;
  }
}

/* line 238, ../scss/layout/_header.scss */
.menu-wrapper > li.direct-link:hover::before {
  content: "";
  display: block;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--border-width);
  background-color: #d23939;
  position: absolute;
}

/* line 251, ../scss/layout/_header.scss */
.menu-wrapper:has(.sub-menu-mid.is-active)
> li
> .nav-head-group
> .nav-head-group__title,
.menu-wrapper:has(.sub-menu-mid.is-active) > li > .nav-head-group > a {
  pointer-events: none;
  opacity: 0.1;
}
@media screen and (min-width: 1024px) {
  /* line 251, ../scss/layout/_header.scss */
  .menu-wrapper:has(.sub-menu-mid.is-active)
  > li
  > .nav-head-group
  > .nav-head-group__title,
  .menu-wrapper:has(.sub-menu-mid.is-active) > li > .nav-head-group > a {
    pointer-events: auto;
    opacity: 1;
  }
}

@media screen and (min-width: 1024px) {
  /* line 269, ../scss/layout/_header.scss */
  .menu-wrapper
  > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > .nav-head-group__title {
    z-index: 50;
    cursor: pointer;
  }
}

@media screen and (min-width: 1024px) {
  /* line 278, ../scss/layout/_header.scss */
  .menu-wrapper
  > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > .nav-head-group__title::before,
  .menu-wrapper > li > .nav-head-group > .nav-head-group__title::before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% + var(--padding-space-pc) * 2);
    height: 20px;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffffff;
    border-bottom: solid var(--border-width) #d23939;
    z-index: 50;
    visibility: hidden;
    pointer-events: none;
    opacity: 1;
  }
}

@media screen and (min-width: 1024px) {
  /* line 305, ../scss/layout/_header.scss */
  .menu-wrapper
  > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > .nav-head-group__title::before,
  .menu-wrapper > li:hover > .nav-head-group > .nav-head-group__title::before {
    visibility: visible;
    pointer-events: auto;
  }
}

@media screen and (min-width: 1024px) {
  /* line 315, ../scss/layout/_header.scss */
  .menu-wrapper
  > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > .nav-head-group__title::before {
    border-bottom-color: transparent;
  }
}

@media screen and (min-width: 1024px) {
  /* line 324, ../scss/layout/_header.scss */
  .menu-wrapper
  > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > .nav-head-group__title::after {
    transform: translateX(-50%) rotate(180deg);
    -webkit-mask-position: center calc(50% + var(--border-width));
    mask-position: center calc(50% + var(--border-width));
  }
}

@media screen and (min-width: 1024px) {
  /* line 335, ../scss/layout/_header.scss */
  .menu-wrapper > li > .nav-head-group > .nav-head-group__title,
  .menu-wrapper > li > .nav-head-group > a > .nav-head-group__title {
    height: 100%;
    width: 13rem;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    padding: 0.5rem;
  }
}

@media screen and (min-width: 1024px) {
  /* line 349, ../scss/layout/_header.scss */
  .menu-wrapper:has(> li:hover) > li > .nav-head-group > .nav-head-group__title,
  .menu-wrapper:has(> li:hover) > li > .nav-head-group > a > .nav-head-group__title {
    background-color: #f2f2f2;
    opacity: 0.5;
  }
  /* line 354, ../scss/layout/_header.scss */
  .menu-wrapper:has(> li:hover) > li:hover > .nav-head-group > .nav-head-group__title,
  .menu-wrapper:has(> li:hover) > li:hover > .nav-head-group > a > .nav-head-group__title {
    background-color: #ffffff;
    opacity: 1;
  }
}

@media screen and (min-width: 1024px) {
  /* line 364, ../scss/layout/_header.scss */
  .menu-wrapper:has(.sub-menu-mid.is-active) > li > .nav-head-group > .nav-head-group__title,
  .menu-wrapper:has(.sub-menu-mid.is-active) > li > .nav-head-group > a > .nav-head-group__title {
    background-color: #f2f2f2;
    opacity: 0.5;
  }
  /* line 369, ../scss/layout/_header.scss */
  .menu-wrapper:has(.sub-menu-mid.is-active) > li:hover > .nav-head-group > .nav-head-group__title,
  .menu-wrapper:has(.sub-menu-mid.is-active) > li:hover > .nav-head-group > a > .nav-head-group__title,
  .menu-wrapper:has(.sub-menu-mid.is-active) > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > .nav-head-group__title,
  .menu-wrapper:has(.sub-menu-mid.is-active) > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > a
  > .nav-head-group__title {
    background-color: #ffffff;
    opacity: 1;
  }
}

/* line 387, ../scss/layout/_header.scss */
.sub-menu-mid .nav-action-container,
.sub-menu-mid > li > .nav-head-group,
.nav-head-group__visual,
.nav-head-group__desc {
  display: none;
}
@media screen and (min-width: 1024px) {
  /* line 387, ../scss/layout/_header.scss */
  .sub-menu-mid .nav-action-container,
  .sub-menu-mid > li > .nav-head-group,
  .nav-head-group__visual,
  .nav-head-group__desc {
    display: block;
  }
}

/* line 397, ../scss/layout/_header.scss */
.sub-menu-mid {
  position: absolute;
  width: 100%;
  top: 0;
  right: -100vw;
  z-index: 30;
  visibility: hidden;
  transition: right var(--duration-nav-base) cubic-bezier(0.4, 0, 0.2, 1), visibility var(--duration-nav-base) cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (min-width: 1024px) {
  /* line 397, ../scss/layout/_header.scss */
  .sub-menu-mid {
    position: fixed;
    top: 7rem;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    max-width: 128rem;
    display: flex;
    justify-content: flex-end;
    pointer-events: none;
  }
}

/* line 425, ../scss/layout/_header.scss */
.sub-menu-mid.is-active {
  --active-indent: calc(var(--layout-space-side) * -1);
  right: var(--active-indent);
  visibility: visible;
}

/* line 432, ../scss/layout/_header.scss */
.sub-menu-mid > li {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  /* line 432, ../scss/layout/_header.scss */
  .sub-menu-mid > li {
    display: block;
    width: var(--mega-menu-width);
    height: var(--mega-menu-height);
    padding: 3rem;
    padding-bottom: 2rem;
    position: relative;
  }
}

@media screen and (min-width: 1024px) {
  /* line 451, ../scss/layout/_header.scss */
  .sub-menu-mid > li > .nav-head-group {
    margin-bottom: 2.5rem;
  }
  /* line 454, ../scss/layout/_header.scss */
  .sub-menu-mid > li > .nav-head-group:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1024px) {
  /* line 459, ../scss/layout/_header.scss */
  .sub-menu-mid > li > .nav-head-group > .nav-head-group__title {
    display: block;
    padding: 0;
  }
}

@media screen and (min-width: 1024px) {
  /* line 465, ../scss/layout/_header.scss */
  .sub-menu-mid > li > .nav-head-group > .nav-head-group__title > span {
    display: block;
  }
}

@media screen and (min-width: 1024px) {
  /* line 470, ../scss/layout/_header.scss */
  .sub-menu-mid
  > li
  > .nav-head-group
  > .nav-head-group__title
  > span:nth-of-type(1) {
    position: relative;
    padding-bottom: 0.3em;
    margin-bottom: 0.3em;
  }
}

@media screen and (min-width: 1024px) {
  /* line 481, ../scss/layout/_header.scss */
  .sub-menu-mid
  > li
  > .nav-head-group
  > .nav-head-group__title
  > span:nth-of-type(1)::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: currentColor;
  }
}

@media screen and (min-width: 1024px) {
  /* line 497, ../scss/layout/_header.scss */
  .sub-menu-mid .nav-action-container {
    position: relative;
    padding-top: 1rem;
    display: flex;
    justify-content: flex-start;
    gap: 3.5rem;
  }
}

@media screen and (min-width: 1024px) {
  /* line 508, ../scss/layout/_header.scss */
  .sub-menu-mid .nav-action-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 0.1rem;
    width: 100%;
    background-color: #3a3a3a;
  }
}

@media screen and (min-width: 1024px) {
  /* line 520, ../scss/layout/_header.scss */
  .sub-menu-mid .nav-head-group,
  .sub-menu-low,
  .sub-menu-mid .nav-action-container {
    position: relative;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

@media screen and (min-width: 1024px) {
  /* line 533, ../scss/layout/_header.scss */
  .sub-menu-mid.is-active {
    z-index: 30;
    pointer-events: auto;
    visibility: visible;
    right: auto;
  }
}

@media screen and (min-width: 1024px) {
  /* line 541, ../scss/layout/_header.scss */
  .sub-menu-mid.is-active .nav-head-group,
  .sub-menu-mid.is-active .sub-menu-low,
  .sub-menu-mid.is-active .nav-action-container {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* line 567, ../scss/layout/_header.scss */
.sub-menu-low {
  --gap: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  width: 100%;
}
@media screen and (min-width: 1024px) {
  /* line 567, ../scss/layout/_header.scss */
  .sub-menu-low {
    margin-bottom: 3rem;
  }
  /* line 575, ../scss/layout/_header.scss */
  .sub-menu-low:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  /* line 567, ../scss/layout/_header.scss */
  .sub-menu-low {
    flex-direction: row;
    --gap: 2.5rem;
  }
}

@media screen and (min-width: 1024px) {
  /* line 584, ../scss/layout/_header.scss */
  .sub-menu-low > li {
    width: calc((100% - var(--gap) * 2) / 3);
  }
}

@media screen and (min-width: 1024px) {
  /* line 589, ../scss/layout/_header.scss */
  .sub-menu-low .nav-head-group__visual {
    margin-bottom: 1.5rem;
  }
}

/* line 594, ../scss/layout/_header.scss */
.sub-menu-low .nav-head-group__title {
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 1024px) {
  /* line 594, ../scss/layout/_header.scss */
  .sub-menu-low .nav-head-group__title {
    box-shadow: none;
    padding: 0;
    gap: 1.5rem;
    justify-content: flex-start;
    margin-bottom: 1rem;
  }
}

/* line 607, ../scss/layout/_header.scss */
.bg-box {
  display: none;
}
@media screen and (min-width: 1024px) {
  /* line 607, ../scss/layout/_header.scss */
  .bg-box {
    position: fixed;
    top: 7rem;
    left: 50%;
    transform: translateX(-50%);
    max-width: 128rem;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    z-index: 15;
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (min-width: 1024px) {
  /* line 623, ../scss/layout/_header.scss */
  .bg-box::before {
    content: "";
    display: block;
    width: var(--mega-menu-width);
    height: var(--mega-menu-height);
    background-color: #ffffff;
    box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  }
}

@media screen and (min-width: 1024px) {
  /* line 633, ../scss/layout/_header.scss */
  .menu-wrapper > .menu-item.nopage:has(.is-active) ~ .bg-box {
    opacity: 1;
    visibility: visible;
  }
}

/* line 642, ../scss/layout/_header.scss */
.nav-head-group {
  line-height: 1.4;
}

/* line 645, ../scss/layout/_header.scss */
.nav-head-group > a {
  display: block;
  width: 100%;
  height: 100%;
}

/* line 650, ../scss/layout/_header.scss */
.nav-head-group__title {
  --arrow-mark-width: 1.2rem;
  --arrow-indent-space: 2rem;
  --arrow-mark-margin: 1.5rem;
  --padding-size: calc( var(--arrow-mark-width) + var(--arrow-indent-space) + var(--arrow-mark-margin) );
  padding: 2rem 3rem;
  padding-right: var(--padding-size);
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* line 670, ../scss/layout/_header.scss */
.nav-head-group__title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: solid var(--arrow-mark-width) rgba(58, 58, 58, 0.25);
  border-top: solid 0.8rem transparent;
  border-bottom: solid 0.8rem transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: var(--arrow-indent-space);
  margin: auto;
}
@media screen and (min-width: 1024px) {
  /* line 670, ../scss/layout/_header.scss */
  .nav-head-group__title::after {
    border: none;
    top: auto;
    right: auto;
    transform: none;
    visibility: hidden;
    pointer-events: none;
    width: calc(100% + var(--padding-space-pc) * 2);
    height: 2rem;
    bottom: -2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 60;
    background-color: currentColor;
    -webkit-mask-image: url("../images/arrow-double-down.svg");
    mask-image: url("../images/arrow-double-down.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 1rem auto;
    mask-size: 1rem auto;
    -webkit-mask-position: center calc(50% - var(--border-width));
    mask-position: center calc(50% - var(--border-width));
  }
}

@media screen and (min-width: 1024px) {
  /* line 723, ../scss/layout/_header.scss */
  .menu-wrapper
  > li:has(.sub-menu-mid.is-active)
  > .nav-head-group
  > .nav-head-group__title::after,
  .menu-wrapper > li:hover > .nav-head-group > .nav-head-group__title::after {
    visibility: visible;
    pointer-events: auto;
  }
}

/* line 734, ../scss/layout/_header.scss */
.nav-head-group__title > span:nth-of-type(1) {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.3em;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  /* line 734, ../scss/layout/_header.scss */
  .nav-head-group__title > span:nth-of-type(1) {
    display: block;
    font-size: 1.8rem;
  }
}

/* line 749, ../scss/layout/_header.scss */
.nav-head-group__title > span:nth-of-type(1)::before {
  --icon-size: 1.6rem;
  content: "";
  display: block;
  width: var(--icon-size);
  height: var(--icon-size);
  background-image: url(../images/logo_icon.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1024px) {
  /* line 749, ../scss/layout/_header.scss */
  .nav-head-group__title > span:nth-of-type(1)::before {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  /* line 768, ../scss/layout/_header.scss */
  .nav-head-group__title > span:nth-of-type(2) {
    font-size: 1.2rem;
  }
}

/* line 774, ../scss/layout/_header.scss */
.nav-head-group__visual {
  position: relative;
}

/* line 777, ../scss/layout/_header.scss */
.nav-head-group__visual::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 70%;
}

/* line 784, ../scss/layout/_header.scss */
.nav-head-group__visual img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 1024px) {
  /* line 791, ../scss/layout/_header.scss */
  .nav-head-group__desc {
    font-size: 1.1rem;
  }
}

/* line 801, ../scss/layout/_header.scss */
.c-nav-cta {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  /* line 801, ../scss/layout/_header.scss */
  .c-nav-cta {
    flex-direction: row;
    gap: 2rem;
  }
}

/* line 810, ../scss/layout/_header.scss */
.c-nav-cta > li > a {
  font-size: 1.8rem;
  line-height: 1;
  padding: 1.5rem;
  padding-left: 3rem;
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  color: #ffffff;
  background-color: #3a3a3a;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 1024px) {
  /* line 810, ../scss/layout/_header.scss */
  .c-nav-cta > li > a {
    font-size: 1.6rem;
    padding: 1rem;
    color: #3a3a3a;
    background-color: transparent;
    box-shadow: none;
    gap: 1rem;
    white-space: nowrap;
  }
}

/* line 833, ../scss/layout/_header.scss */
.c-nav-cta > li > a::before {
  content: "";
  height: 1em;
  width: 1em;
  background-image: url(../images/logo_icon_white.png);
  background-size: 1em auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 1024px) {
  /* line 833, ../scss/layout/_header.scss */
  .c-nav-cta > li > a::before {
    background-image: url(../images/logo_icon.png);
  }
}

/* line 845, ../scss/layout/_header.scss */
.c-nav-cta > .nav-request > a {
  background-color: #d23939;
}
@media screen and (min-width: 1024px) {
  /* line 845, ../scss/layout/_header.scss */
  .c-nav-cta > .nav-request > a {
    background-color: transparent;
  }
}

/* line 852, ../scss/layout/_header.scss */
.c-nav-cta > .nav-reserve > a {
  background-color: #f7f6f2;
  color: #3a3a3a;
}
@media screen and (min-width: 1024px) {
  /* line 852, ../scss/layout/_header.scss */
  .c-nav-cta > .nav-reserve > a {
    background-color: transparent;
  }
}

/* line 860, ../scss/layout/_header.scss */
.c-nav-cta > .nav-reserve > a::before {
  background-image: url(../images/logo_icon.png);
}

/* line 865, ../scss/layout/_header.scss */
.c-nav-sns {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  /* line 865, ../scss/layout/_header.scss */
  .c-nav-sns {
    gap: 3rem;
  }
}

/* line 874, ../scss/layout/_header.scss */
.c-nav-sns a {
  display: block;
}

/* line 877, ../scss/layout/_header.scss */
.c-nav-sns a::before {
  --icon-size: 5rem;
  content: "";
  display: block;
  width: var(--icon-size);
  height: var(--icon-size);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 1024px) {
  /* line 877, ../scss/layout/_header.scss */
  .c-nav-sns a::before {
    --icon-size: 3.7rem;
  }
}

/* line 891, ../scss/layout/_header.scss */
.nav-youtube a::before {
  background-image: url(../images/icon_youtube--nav.png);
}

/* line 894, ../scss/layout/_header.scss */
.nav-instagram a::before {
  background-image: url(../images/icon_instagram--nav.png);
}

/* line 897, ../scss/layout/_header.scss */
.nav-facebook a::before {
  background-image: url(../images/icon_facebook--nav.png);
}

/* line 900, ../scss/layout/_header.scss */
.nav-tiktok a::before {
  background-image: url(../images/icon_tiktok--nav.png);
}

/* line 903, ../scss/layout/_header.scss */
.nav-ameba a::before {
  background-image: url(../images/icon_blog--nav.png);
}

/* line 906, ../scss/layout/_header.scss */
.c-nav-sns a > span {
  display: none;
}

/* line 912, ../scss/layout/_header.scss */
.c-button-back {
  --arrow-mark-width: 1.2rem;
  --arrow-indent-space: 2rem;
  --arrow-mark-margin: 1.5rem;
  --padding-size: calc( var(--arrow-mark-width) + var(--arrow-indent-space) + var(--arrow-mark-margin) );
  position: relative;
  padding: 2.5rem 3rem;
  padding-left: var(--padding-size);
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  background-color: #f2f2f2;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  /* line 912, ../scss/layout/_header.scss */
  .c-button-back {
    display: none;
  }
}

/* line 931, ../scss/layout/_header.scss */
.c-button-back::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-right: solid var(--arrow-mark-width) #ffffff;
  border-top: solid 0.8rem transparent;
  border-bottom: solid 0.8rem transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: var(--arrow-indent-space);
  margin: auto;
}

/* line 948, ../scss/layout/_header.scss */
.l-header__hamburger {
  width: 7rem;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
}
@media screen and (min-width: 1024px) {
  /* line 948, ../scss/layout/_header.scss */
  .l-header__hamburger {
    display: none;
  }
}

/* line 964, ../scss/layout/_header.scss */
.l-header__hamburger::before {
  content: "";
  display: block;
  width: calc(7rem - 0.6rem);
  height: calc(7rem - 0.6rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f2f2f2;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
}

/* line 981, ../scss/layout/_header.scss */
.l-header__hamburger::after {
  content: "";
  display: block;
  width: 0.1rem;
  height: calc(7rem - 1rem);
  background-color: #f2f2f2;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

/* line 995, ../scss/layout/_header.scss */
.l-header__hamburger-line {
  display: block;
  position: relative;
  width: 0.1rem;
  height: 1.8rem;
  background-color: #3a3a3a;
  transform: translate(0, 0) rotate(0deg);
  transform-origin: center;
  transition: transform 0.35s ease, opacity 0.25s ease, height 0.25s ease;
}

/* line 1015, ../scss/layout/_header.scss */
.l-header__hamburger.is-active::before {
  opacity: 1;
  visibility: visible;
}
/* line 1020, ../scss/layout/_header.scss */
.l-header__hamburger.is-active .l-header__hamburger-line {
  height: 2.6rem;
}
/* line 1023, ../scss/layout/_header.scss */
.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(1) {
  transform: translate(0.9rem, 0) rotate(45deg);
}
/* line 1028, ../scss/layout/_header.scss */
.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(2) {
  opacity: 0;
}
/* line 1032, ../scss/layout/_header.scss */
.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(3) {
  transform: translate(-0.9rem, 0) rotate(-45deg);
}

/* line 4, ../scss/layout/_navigations.scss */
.breadcrumb {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: auto;
  z-index: 30;
  line-height: 1.4;
  letter-spacing: 0;
  cursor: auto;
  font-size: 12px;
}

/* line 20, ../scss/layout/_navigations.scss */
.breadcrumb__items {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  overflow: hidden;
}
@media screen and (min-width: 1920px) {
  /* line 20, ../scss/layout/_navigations.scss */
  .breadcrumb__items {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

/* line 30, ../scss/layout/_navigations.scss */
.breadcrumb__items > span {
  flex: 0 0 auto;
  position: relative;
  display: flex;
  align-items: center;
}

/* line 36, ../scss/layout/_navigations.scss */
.breadcrumb__items > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
}

/* line 43, ../scss/layout/_navigations.scss */
.breadcrumb__items a {
  display: block;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

/* line 48, ../scss/layout/_navigations.scss */
.breadcrumb .breadcrumb__items .separator {
  padding: 0 0.5em;
}

/* line 54, ../scss/layout/_navigations.scss */
.l-nav-select {
  --lns-active-bg-color: #ffffff;
  overflow: hidden;
  padding-bottom: 0.1rem;
}
@media screen and (min-width: 744px) {
  /* line 54, ../scss/layout/_navigations.scss */
  .l-nav-select {
    width: 82rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* line 64, ../scss/layout/_navigations.scss */
.l-nav-select__inner {
  border-bottom: solid 0.1rem #3a3a3a;
}

/* line 67, ../scss/layout/_navigations.scss */
.l-nav-select__list {
  --gap: 0.3rem;
  --margin-side-size-root: 2rem;
  display: flex;
  gap: var(--gap);
  margin: 0 var(--margin-side-size-root);
  text-align: center;
}
@media screen and (min-width: 744px) {
  /* line 67, ../scss/layout/_navigations.scss */
  .l-nav-select__list {
    --margin-side-size-root: 5rem;
  }
}

/* line 79, ../scss/layout/_navigations.scss */
.l-nav-select__list-item {
  --nav-item-width-root: 50%;
  width: var(--nav-item-width-root);
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  border: solid 0.1rem #3a3a3a;
  border-bottom-color: transparent;
  position: relative;
  opacity: 0.5;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 98, ../scss/layout/_navigations.scss */
.l-nav-select__list-item.is-active {
  border-color: #3a3a3a;
  opacity: 1;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

@media screen and (min-width: 744px) {
  /* line 105, ../scss/layout/_navigations.scss */
  .l-nav-select__list-item:hover {
    opacity: 1;
    transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
}

/* line 112, ../scss/layout/_navigations.scss */
.l-nav-select__list-item.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  bottom: -0.2rem;
  height: 0.2rem;
  width: 100%;
  background-color: var(--lns-active-bg-color);
}

/* line 136, ../scss/layout/_navigations.scss */
.l-nav-select__button {
  position: relative;
  background-color: #f7f6f2;
  height: 4.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* line 146, ../scss/layout/_navigations.scss */
.l-nav-select__list-item.is-active .l-nav-select__button {
  background-color: var(--lns-active-bg-color);
}

@media screen and (min-width: 744px) {
  /* line 149, ../scss/layout/_navigations.scss */
  .l-nav-select__list-item:hover .l-nav-select__button {
    background-color: var(--lns-active-bg-color);
  }
}

/* line 154, ../scss/layout/_navigations.scss */
.l-nav-select__list-item.is-active .l-nav-select__button::before,
.l-nav-select__list-item.is-active .l-nav-select__button::after {
  visibility: visible;
}

/* line 163, ../scss/layout/_navigations.scss */
.l-nav-select--theme-light {
  --lns-active-bg-color: #f7f6f2;
}

/* line 168, ../scss/layout/_navigations.scss */
.l-nav-select--reverse {
  padding-bottom: 0;
  padding-top: 0.1rem;
}
/* line 171, ../scss/layout/_navigations.scss */
.l-nav-select--reverse .l-nav-select__inner {
  border-top: solid 0.1rem #3a3a3a;
  border-bottom: none;
}
/* line 176, ../scss/layout/_navigations.scss */
.l-nav-select--reverse .l-nav-select__list-item {
  border-top-color: transparent;
  border-bottom-color: currentColor;
}
/* line 181, ../scss/layout/_navigations.scss */
.l-nav-select--reverse .l-nav-select__list-item.is-active::after {
  top: -0.2rem;
  bottom: auto;
}
/* line 192, ../scss/layout/_navigations.scss */
.l-nav-select--reverse .l-nav-select__list-item.is-active a {
  padding-bottom: 0.1rem;
}

/* line 200, ../scss/layout/_navigations.scss */
.l-container-switch {
  position: relative;
  z-index: 30;
}

/* line 204, ../scss/layout/_navigations.scss */
.l-container-switch__header {
  background-color: #ffffff;
}

/* line 207, ../scss/layout/_navigations.scss */
.l-container-switch__header .l-nav-select {
  background-color: transparent;
}

@media screen and (min-width: 744px) {
  /* line 210, ../scss/layout/_navigations.scss */
  .l-container-switch__header .l-nav-select__inner {
    position: relative;
  }
}

@media screen and (min-width: 744px) {
  /* line 216, ../scss/layout/_navigations.scss */
  .l-container-switch__header .l-nav-select__list-item {
    z-index: 2;
  }
}

/* line 225, ../scss/layout/_navigations.scss */
.l-container-switch {
  padding-top: 8rem;
  background-color: #ffffff;
  z-index: 30;
}
@media screen and (min-width: 744px) {
  /* line 225, ../scss/layout/_navigations.scss */
  .l-container-switch {
    padding-top: 10rem;
  }
}

/* line 234, ../scss/layout/_navigations.scss */
.l-container-switch .js-scroll {
  z-index: 50;
}

/* line 11, ../scss/layout/_footer.scss */
.l-footer {
  position: relative;
  z-index: 30;
  line-height: 1.7;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10rem 0 6rem;
}
@media screen and (min-width: 744px) {
  /* line 11, ../scss/layout/_footer.scss */
  .l-footer {
    padding-bottom: 0;
  }
}

/* line 27, ../scss/layout/_footer.scss */
.l-footer__body {
  display: flex;
  flex-direction: column;
  gap: 10rem;
}
@media screen and (min-width: 1280px) {
  /* line 27, ../scss/layout/_footer.scss */
  .l-footer__body {
    flex-direction: row;
    gap: 5rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 27, ../scss/layout/_footer.scss */
  .l-footer__body {
    gap: 8.5rem;
  }
}

/* line 39, ../scss/layout/_footer.scss */
.l-footer__links-area {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 39, ../scss/layout/_footer.scss */
  .l-footer__links-area {
    gap: 0;
    flex-direction: row;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1280px) {
  /* line 39, ../scss/layout/_footer.scss */
  .l-footer__links-area {
    flex: 1 1 0%;
  }
}

/* line 53, ../scss/layout/_footer.scss */
.l-footer__links-block {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  flex-shrink: 0;
}
@media screen and (min-width: 744px) {
  /* line 53, ../scss/layout/_footer.scss */
  .l-footer__links-block {
    width: 26rem;
    gap: 10rem;
  }
}

/* line 63, ../scss/layout/_footer.scss */
.l-footer__links-block-item {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 68, ../scss/layout/_footer.scss */
.l-footer__links-title {
  padding-bottom: 0.3em;
  position: relative;
}

/* line 72, ../scss/layout/_footer.scss */
.l-footer__links-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1rem;
  background-color: #ffffff;
}

/* line 81, ../scss/layout/_footer.scss */
.l-footer__link-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  letter-spacing: 0.05em;
}

/* line 87, ../scss/layout/_footer.scss */
.l-footer__link-list > li {
  cursor: pointer;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

@media screen and (min-width: 744px) {
  /* line 91, ../scss/layout/_footer.scss */
  .l-footer__link-list > li:hover {
    opacity: 0.7;
  }
}

/* line 96, ../scss/layout/_footer.scss */
.l-footer__info {
  flex: 0 1 auto;
}

/* line 102, ../scss/layout/_footer.scss */
.l-footer__title {
  font-size: 1em;
}

/* line 106, ../scss/layout/_footer.scss */
.l-footer__title a {
  display: flex;
  align-items: flex-end;
  gap: 0.7em;
  width: fit-content;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

@media screen and (min-width: 744px) {
  /* line 113, ../scss/layout/_footer.scss */
  .l-footer__title a:hover {
    opacity: 0.7;
  }
}

/* line 118, ../scss/layout/_footer.scss */
.l-footer__title img {
  width: 11.5em;
}

/* line 121, ../scss/layout/_footer.scss */
.l-footer__title span {
  display: inline-block;
  line-height: 1;
  padding: 1rem 0;
}

/* line 129, ../scss/layout/_footer.scss */
.l-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 1.15em;
}

/* line 136, ../scss/layout/_footer.scss */
.l-footer__address {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 136, ../scss/layout/_footer.scss */
  .l-footer__address {
    flex-direction: row;
  }
}
@media screen and (min-width: 1280px) {
  /* line 136, ../scss/layout/_footer.scss */
  .l-footer__address {
    flex-direction: column;
  }
}

/* line 148, ../scss/layout/_footer.scss */
.l-footer__numbers {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 148, ../scss/layout/_footer.scss */
  .l-footer__numbers {
    flex-direction: row;
  }
}
@media screen and (min-width: 1280px) {
  /* line 148, ../scss/layout/_footer.scss */
  .l-footer__numbers {
    flex-direction: column;
  }
}

/* line 162, ../scss/layout/_footer.scss */
.l-footer__number-row {
  display: flex;
  gap: 1.5rem;
}

/* line 167, ../scss/layout/_footer.scss */
.l-footer__number-row dt {
  width: 2.5em;
  flex-shrink: 0;
  display: flex;
}

/* line 173, ../scss/layout/_footer.scss */
.l-footer__number-row dt::after {
  content: ":";
  display: block;
  margin-left: auto;
  margin-right: 0;
}

/* line 183, ../scss/layout/_footer.scss */
.l-footer__links-area h3 {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

/* line 191, ../scss/layout/_footer.scss */
.l-footer__link-list a {
  display: flex;
  align-items: center;
  gap: 1em;
}

/* line 196, ../scss/layout/_footer.scss */
.l-footer__link-list a::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-image: url(../images/logo_icon_white.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* line 206, ../scss/layout/_footer.scss */
.l-footer__link-list span:nth-of-type(1) {
  font-size: 1.3em;
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

/* line 217, ../scss/layout/_footer.scss */
.l-footer__privacy-link {
  font-size: 10px;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  margin-top: 2rem;
}

/* line 223, ../scss/layout/_footer.scss */
.l-footer__privacy-link {
  text-decoration: underline;
  text-underline-offset: 0.35em;
}

@media screen and (min-width: 1280px) {
  /* line 227, ../scss/layout/_footer.scss */
  .l-footer__privacy-link:hover {
    opacity: 0.7;
  }
}

/* line 236, ../scss/layout/_footer.scss */
.l-footer__info {
  padding-bottom: 2rem;
  margin-top: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 236, ../scss/layout/_footer.scss */
  .l-footer__info {
    margin-top: 21rem;
  }
}

/* line 246, ../scss/layout/_footer.scss */
.l-footer__copyright {
  font-size: 10px;
}

/* line 249, ../scss/layout/_footer.scss */
.l-footer__copyright small {
  font-size: 10px;
}

/* line 255, ../scss/layout/_footer.scss */
.grecaptcha-badge {
  visibility: hidden;
}

/* line 258, ../scss/layout/_footer.scss */
.recaptcha-message {
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: 0;
  padding: 0.5em 1em;
  color: #aaa;
}

/* line 265, ../scss/layout/_footer.scss */
.recaptcha-message a {
  text-decoration: underline;
}

/* line 1, ../scss/layout/_aside.scss */
.l-aside {
  position: relative;
  z-index: 30;
}

/* line 2, ../scss/layout/_fix-ui.scss */
.l-loading {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transform: translateX(0);
  transition: transform 1.05s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 1.05s;
}

/* line 21, ../scss/layout/_fix-ui.scss */
.l-loading.is-off {
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
}

/* line 28, ../scss/layout/_fix-ui.scss */
.l-loading__inner {
  width: 100%;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

/* line 36, ../scss/layout/_fix-ui.scss */
.l-loading__logo {
  width: 12.5rem;
  margin-bottom: 1.2rem;
}

/* line 40, ../scss/layout/_fix-ui.scss */
.l-loading__line {
  height: 0.1rem;
  width: 61.8%;
  background-color: #f2f2f2;
  margin-bottom: 0.7rem;
  position: relative;
}

/* line 48, ../scss/layout/_fix-ui.scss */
.l-loading__line::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 1%;
  background-color: #000;
}

/* line 58, ../scss/layout/_fix-ui.scss */
.l-loading__text {
  width: 10rem;
}

/* line 61, ../scss/layout/_fix-ui.scss */
.l-loading__text svg {
  width: 100%;
  height: auto;
}

/* line 70, ../scss/layout/_fix-ui.scss */
.l-floating-cta {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  height: 6rem;
  display: flex;
  border-top: solid 0.1rem #ffffff;
  font-family: "FP-ヒラギノ角ゴ ProN W3", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 300;
  font-size: 1.3em;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (min-width: 744px) {
  /* line 70, ../scss/layout/_fix-ui.scss */
  .l-floating-cta {
    bottom: 2rem;
    flex-direction: column;
    gap: 1.5rem;
    width: auto;
    height: auto;
    border-top: none;
  }
}

/* line 103, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item {
  width: fit-content;
  flex-grow: 1;
  height: 100%;
  background-color: #3a3a3a;
  color: #ffffff;
}
@media screen and (min-width: 744px) {
  /* line 103, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item {
    height: 4.8rem;
    box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
    transition: transform 0.7s cubic-bezier(0, 0, 0.2, 1);
    transform: translateX(0);
  }
}

/* line 121, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item + .l-floating-cta__item {
  border-left: solid 0.1rem #ffffff;
}
@media screen and (min-width: 744px) {
  /* line 121, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item + .l-floating-cta__item {
    border-left: none;
  }
}

/* line 137, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item > a {
  padding-left: 1rem;
  padding-right: 1rem;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.7rem;
}
@media screen and (min-width: 744px) {
  /* line 137, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item > a {
    padding-left: 0;
    padding-right: 0;
    justify-content: flex-start;
  }
}

/* line 153, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item.l-floating-cta__item--reserve > a {
  color: #3a3a3a;
}

/* line 156, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item > a::before {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background-image: url(../images/logo_icon_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 744px) {
  /* line 156, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item > a::before {
    width: 4.8rem;
    height: 4.8rem;
    background-size: 1em auto;
  }
}

/* line 172, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item--reserve > a::before {
  background-image: url(../images/logo_icon.png);
}

/* line 175, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item span {
  display: none;
}
@media screen and (min-width: 744px) {
  /* line 175, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item span {
    padding: 0 1.5rem;
  }
}

/* line 183, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item span {
  display: block;
}

/* line 186, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item--reserve {
  background-color: #f7f6f2;
}
@media screen and (min-width: 744px) {
  /* line 186, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item--reserve {
    width: 100%;
    min-width: 23rem;
    height: 4.8rem;
  }
}

/* line 194, ../scss/layout/_fix-ui.scss */
.l-floating-cta__item--request {
  background-color: #d23939;
}
@media screen and (min-width: 744px) {
  /* line 194, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item--request {
    width: 100%;
    height: 4.8rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 201, ../scss/layout/_fix-ui.scss */
  .l-floating-cta__item--contact {
    width: 100%;
    height: 4.8rem;
  }
}

/* line 211, ../scss/layout/_fix-ui.scss */
.l-indicator-slide {
  position: fixed;
  bottom: 6rem;
  right: 0;
  padding: 3rem 2rem;
  z-index: 30;
}
@media screen and (min-width: 744px) {
  /* line 211, ../scss/layout/_fix-ui.scss */
  .l-indicator-slide {
    bottom: 19.5rem;
  }
}

/* line 222, ../scss/layout/_fix-ui.scss */
.l-indicator-slide::after {
  content: "";
  display: block;
  aspect-ratio: 12 / 95;
  height: 9rem;
  background-color: currentColor;
  -webkit-mask-image: url("../images/slide.svg");
  mask-image: url("../images/slide.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

/* line 1, ../scss/global/_animation.scss */
figure.js-observe,
.js-observe figure {
  overflow: hidden;
}

/* line 6, ../scss/global/_animation.scss */
.js-observe img {
  opacity: 0.75;
  transform: scale(1.2);
  transition: transform 1s ease-out, opacity 1s linear;
  will-change: transform, opacity;
}

/* line 21, ../scss/global/_animation.scss */
.js-observe.is-visible figure img,
figure.js-observe.is-visible img,
.splide.js-observe.is-visible img {
  opacity: 1;
  transform: scale(1);
}

/* line 28, ../scss/global/_animation.scss */
.l-loading__text {
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* line 34, ../scss/global/_animation.scss */
.l-loading__text.is-hidden {
  opacity: 0;
  visibility: hidden;
}

/* line 39, ../scss/global/_animation.scss */
.l-loading__text.comp {
  display: none;
}

/* line 43, ../scss/global/_animation.scss */
.l-loading__line.js-loading::after {
  width: var(--js-indicator, 1%);
  left: var(--js-left, 0%);
  transition: width 0.5s linear, left 0.5s linear;
}

/* line 49, ../scss/global/_animation.scss */
.is-ease .l-loading__line.js-loading::after {
  transition: width 0.7s ease-out, left 0.7s ease-out;
}

/*
トップコンテンツ アニメーション
*/
/* line 57, ../scss/global/_animation.scss */
.js-menu .c-head-icon-left__header::before {
  opacity: 0;
}

/* line 61, ../scss/global/_animation.scss */
.js-menu .is-active .c-head-icon-left__header::before {
  /* アニメーション名 | 実行時間 | イージング */
  transform: rotate(45deg);
  transition: transform 0.7s linear;
  opacity: 1;
}

@media screen and (min-width: 744px) {
  /* line 71, ../scss/global/_animation.scss */
  .p-slider-pages-control__item.is-active .p-slider-pages-control__content {
    color: #ffffff;
    background-color: rgba(247, 246, 242, 0.15);
  }
}
@keyframes rotate-swing {
  0% {
    transform: rotate(0deg);
  }
  50% {
    /* 中間地点で時計回りに45度 */
    transform: rotate(45deg);
  }
  100% {
    /* 最後は元の位置（0度）に戻る */
    transform: rotate(0deg);
  }
}
/* line 94, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item {
  display: block;
  position: absolute;
  top: 0;
}

/* line 100, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item:first-child {
  position: relative;
}

/* line 104, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item .c-head-icon-left__title {
  display: inline-block;
  flex-grow: 0;
}

/* --- 1. is-activeが外れたとき（右から左へ消える） --- */
/* アクティブでない時は、右側を100%削る設定にして消えさせます */
/* line 111, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item:not(.is-active) .c-head-icon-left__title {
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: opacity 0.3s ease-out, clip-path 0s ease-out;
}

/* --- 2. is-activeがついたとき（左から右に現れる） --- */
/* line 120, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item.is-active .c-head-icon-left__title {
  /* 全開の状態 */
  clip-path: inset(0 0 0 0);
  opacity: 1;
  /* 前のスライドが消えるのを待ってから開始 (0.7sディレイ) */
  transition: opacity 0s ease-out, clip-path 1.3s ease-out 0.3s;
}

/* line 132, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item .c-head-icon-left__lead {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

/* line 137, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item.is-active .c-head-icon-left__lead {
  opacity: 1;
  transition: opacity 1s ease-out 0.3s;
}

/* line 143, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item .c-card-page__footer {
  opacity: 0;
  pointer-events: none;
}

/* line 148, ../scss/global/_animation.scss */
.js-menu .p-slider-pages__item.is-active .c-card-page__footer {
  opacity: 1;
  pointer-events: all;
}

/* line 153, ../scss/global/_animation.scss */
.js_menu {
  position: relative;
}

/* line 157, ../scss/global/_animation.scss */
.js_menu .js_more_text {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  transition: opacity 0.3s ease-out;
}

/* line 167, ../scss/global/_animation.scss */
.js_menu .js_more_text:nth-of-type(1) {
  position: relative;
}

/* line 170, ../scss/global/_animation.scss */
.js_menu .js_more_text.is-active {
  opacity: 1;
  pointer-events: all;
  transition: opacity 1s ease-out 0.3s;
}

/* line 179, ../scss/global/_animation.scss */
.js-ob-animation.c-head-border .c-head-border__main-ttl::after {
  width: 38.2%;
  transition: width 1.05s cubic-bezier(0, 0, 0.2, 1);
}
/* line 183, ../scss/global/_animation.scss */
.js-ob-animation.c-head-border.is-animation .c-head-border__main-ttl::after {
  width: 61.8%;
}
/* line 189, ../scss/global/_animation.scss */
.js-ob-animation.c-deco-side-border::before {
  bottom: auto;
}
/* line 192, ../scss/global/_animation.scss */
.js-ob-animation.c-deco-side-border::after {
  top: auto;
}
/* line 195, ../scss/global/_animation.scss */
.js-ob-animation.c-deco-side-border::before, .js-ob-animation.c-deco-side-border::after {
  height: 61.8%;
  transition: height 1.05s cubic-bezier(0, 0, 0.2, 1);
}
/* line 201, ../scss/global/_animation.scss */
.js-ob-animation.c-deco-side-border.is-animation::before, .js-ob-animation.c-deco-side-border.is-animation::after {
  height: 100%;
}

/* line 209, ../scss/global/_animation.scss */
.p-slider-pages-control .p-slider-pages-control__item {
  /* position: relative; */
  /* ボタンのサイズに合わせて調整 */
}

/* 線一周 コンテンツ大きさ */
/* line 215, ../scss/global/_animation.scss */
.p-slider-pages-control .p-slider-pages-control__item .outline-svg,
.js-fade-trigger .outline-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  pointer-events: none;
  overflow: visible;
}

/* line 226, ../scss/global/_animation.scss */
.p-slider-pages-control__item .p-slider-pages-control__content {
  transition: background-color 0.5s ease, opacity 0.5s ease;
}

/* line 232, ../scss/global/_animation.scss */
.p-slider-pages-control__item.is-active .p-slider-pages-control__content {
  transition: background-color 0s ease, opacity 0s ease;
}

/* 線一周設定 */
/* line 239, ../scss/global/_animation.scss */
.p-slider-pages-control .p-slider-pages-control__item .outline-path,
.js-fade-trigger .outline-path {
  stroke-width: 1px;
  /* viewBox 100 に対する太さ */
  /* 1 = 全周、1 = 押し出し */
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
}

/* TOPメニュー */
/* line 254, ../scss/global/_animation.scss */
.p-slider-pages-control .p-slider-pages-control__item .outline-path {
  stroke: #fff;
  transition: stroke-dashoffset 0s linear 0.7s, opacity 0.7s;
}

/* コンセプトページ */
/* line 262, ../scss/global/_animation.scss */
.js-fade-trigger .outline-path {
  stroke: #000;
}

/* TOPメニュー */
/* line 267, ../scss/global/_animation.scss */
.p-slider-pages-control .p-slider-pages-control__item.is-active .outline-path {
  stroke-dashoffset: 0;
  opacity: 1;
  transition: stroke-dashoffset 5s linear, opacity 0s linear;
}

/* コンセプトページ */
/* line 276, ../scss/global/_animation.scss */
.js-fade-trigger.is-visible .outline-path {
  stroke-dashoffset: 0;
  opacity: 1;
  transition: stroke-dashoffset 5s linear, opacity 0s linear;
}

/*販売物件・土地情報ページ*/
/* line 285, ../scss/global/_animation.scss */
.js-more-content__item {
  overflow: hidden;
}

/* 非表示状態：高さ0、透明度0にする */
/* line 294, ../scss/global/_animation.scss */
.js-more-content__item.is-hidden {
  display: none;
  /* 少し下から浮き上がる演出 */
  pointer-events: none;
  /* クリック不可にする */
}

/* 表示状態：十分な高さを確保する */
/* line 306, ../scss/global/_animation.scss */
.js-more-content__item.is-visible {
  animation: fadeInMoreContent 1.05s cubic-bezier(0, 0, 0.2, 1);
  display: block;
  /* 投稿内容より確実に大きい数値を指定 */
}

@keyframes fadeInMoreContent {
  from {
    opacity: 0;
    transform: translateY(2rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ローディングアイコンのスタイル */
/* line 329, ../scss/global/_animation.scss */
.loader {
  display: none;
  /* 通常は非表示 */
  width: 25px;
  height: 25px;
  border: 3px solid #f7f6f2;
  border-top: 3px solid #5c635b;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 10px auto;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 読み込み中状態の制御 */
/* line 352, ../scss/global/_animation.scss */
.is-loading .loader {
  display: block;
}

/* line 356, ../scss/global/_animation.scss */
.is-loading .js-load-more-btn {
  display: none;
  /* 読み込み中はボタンを隠す */
}

/* line 364, ../scss/global/_animation.scss */
.js-select-content {
  display: none;
}

/* line 367, ../scss/global/_animation.scss */
.js-select-content.is-active {
  display: block;
  animation: fadeIn 0.7s cubic-bezier(0, 0, 0.2, 1);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* line 383, ../scss/global/_animation.scss */
.js-select-content-multiple {
  display: none;
}

/* line 386, ../scss/global/_animation.scss */
.js-select-content-multiple.is-active {
  display: block;
  opacity: 0;
  /* 名前 | 時間 | イージング | 遅延(0.2s) | 終了状態を維持(forwards) */
  animation: fadeInSelectMultiple 0.35s cubic-bezier(0, 0, 0.2, 1) 0.1s forwards;
}

@keyframes fadeInSelectMultiple {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* line 408, ../scss/global/_animation.scss */
.loop-window {
  overflow: hidden;
  width: 100%;
}

/* line 413, ../scss/global/_animation.scss */
.loop-track {
  display: flex;
  width: max-content;
  /* 30s = 1周にかかる時間。linear = 一定速度 */
  animation: scroll-left 30s linear infinite;
}
@media screen and (min-width: 744px) {
  /* line 413, ../scss/global/_animation.scss */
  .loop-track {
    animation: scroll-left 60s linear infinite;
  }
}

/* line 423, ../scss/global/_animation.scss */
.loop-track img {
  width: 260vw;
}
@media screen and (min-width: 744px) {
  /* line 423, ../scss/global/_animation.scss */
  .loop-track img {
    width: 150vw;
  }
}
@media screen and (min-width: 1280px) {
  /* line 423, ../scss/global/_animation.scss */
  .loop-track img {
    /*親要素の幅=画面幅が前提*/
    width: 125vw;
  }
}
@media screen and (min-width: 1920px) {
  /* line 423, ../scss/global/_animation.scss */
  .loop-track img {
    width: 115vw;
  }
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
  /* 全体の半分（1セット分）まで動かす */
}
/* -------------------------------------------------------------------------
   Component Index
   ------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
   Buttons
   
   ※ 追従ボタン（CTA）などの配置・アニメーションを含む要素は
      layout/__fix-ui.scss に記述しています。
   ------------------------------------------------------------------------- */
/* line 11, ../scss/components/_buttons.scss */
.c-button-load {
  --btn-font-size: 1.4rem;
  font-size: var(--btn-font-size);
  width: 100%;
  max-width: 12.5em;
  height: 5rem;
  padding: 1rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.7em;
  background-color: #f2f2f2;
  border-radius: calc(5rem / 2);
}

/* line 30, ../scss/components/_buttons.scss */
.c-button-load__icon {
  position: relative;
  display: block;
  width: 1.2em;
  height: 1.2em;
  opacity: 0.5;
}

/* line 37, ../scss/components/_buttons.scss */
.c-button-load__icon::before,
.c-button-load__icon::after {
  content: "";
  position: absolute;
  background-color: #000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* line 46, ../scss/components/_buttons.scss */
.c-button-load__icon::before {
  width: 100%;
  height: 0.4rem;
}

/* line 50, ../scss/components/_buttons.scss */
.c-button-load__icon::after {
  width: 0.4rem;
  height: 100%;
}

/* line 54, ../scss/components/_buttons.scss */
.c-button-load--white {
  background-color: #ffffff;
}

/* line 60, ../scss/components/_buttons.scss */
.c-button-event > a {
  --btn-font-size: 1.4rem;
  font-size: var(--btn-font-size);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.6rem;
  background-color: #d23939;
  color: #ffffff;
  width: 100%;
  max-width: 10em;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}

/* line 77, ../scss/components/_buttons.scss */
.c-button-event--gray a {
  background-color: rgba(58, 58, 58, 0.75);
}

/* line 83, ../scss/components/_buttons.scss */
.c-button-square > a {
  --btn-font-size: 1.4rem;
  font-size: var(--btn-font-size);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.6rem;
  background-color: #ffffff;
  color: #3a3a3a;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  width: fit-content;
  min-width: 10em;
  padding: 0 1.5em;
}

@media screen and (min-width: 1920px) {
  /* line 103, ../scss/components/_buttons.scss */
  .c-button-square--right > a {
    margin-right: 0;
    margin-left: auto;
  }
}

/* line 109, ../scss/components/_buttons.scss */
.c-button-square--xs > a {
  font-size: 1.2rem;
  height: 3rem;
}

/* line 114, ../scss/components/_buttons.scss */
.c-button-square--theme-light > a {
  background-color: #f7f6f2;
}

/* line 121, ../scss/components/_buttons.scss */
.c-button-sns {
  --btn-font-size: 1.4rem;
  font-size: var(--btn-font-size);
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  position: relative;
  width: 8.8em;
  height: fit-content;
}
@media screen and (min-width: 744px) {
  /* line 121, ../scss/components/_buttons.scss */
  .c-button-sns {
    --btn-font-size: 2rem;
  }
}

/* line 134, ../scss/components/_buttons.scss */
.c-button-sns::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}

/* line 140, ../scss/components/_buttons.scss */
.c-button-sns > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* line 152, ../scss/components/_buttons.scss */
.c-button-sns__icon {
  display: block;
  width: 3.5em;
}

/* line 157, ../scss/components/_buttons.scss */
.c-button-sns__text {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.4;
}

/* line 165, ../scss/components/_buttons.scss */
.c-button-large > a {
  --btn-font-size: 1.8rem;
  font-size: var(--btn-font-size);
  font-size: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 21em;
  height: 7rem;
  margin-left: auto;
  margin-right: auto;
  background-color: #b69b60;
  color: #ffffff;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}

/* line 186, ../scss/components/_buttons.scss */
.c-button-large--white > a {
  background-color: #ffffff;
  color: #b69b60;
  border: solid 0.1rem #b69b60;
}

/* line 194, ../scss/components/_buttons.scss */
.c-button-inline {
  text-align: right;
}

/* line 197, ../scss/components/_buttons.scss */
.c-button-inline__link {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  letter-spacing: 0.05em;
}

/* line 203, ../scss/components/_buttons.scss */
.c-button-inline__link::after {
  content: "";
  display: block;
  height: 0.6em;
  margin-left: 0.5em;
  aspect-ratio: 16 / 8;
  background-color: currentColor;
  -webkit-mask-image: url("../images/more-arrow.svg");
  mask-image: url("../images/more-arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

/* line 228, ../scss/components/_buttons.scss */
.c-button-inline--tap-area {
  margin-top: -2rem;
  text-align: right;
}

/* line 232, ../scss/components/_buttons.scss */
.c-button-inline--tap-area .c-button-inline__link {
  padding-top: 2rem;
  padding-left: 1rem;
}

/* -------------------------------------------------------------------------
   Cards
   ------------------------------------------------------------------------- */
/* line 7, ../scss/components/_cards.scss */
.c-card-story {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 14, ../scss/components/_cards.scss */
.c-card-story__title {
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 21, ../scss/components/_cards.scss */
.c-card-story__main-ttl {
  font-size: 1.2em;
}

/* line 24, ../scss/components/_cards.scss */
.c-card-story__sub-ttl {
  font-size: 1.15em;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* line 29, ../scss/components/_cards.scss */
.c-card-story__desc > div {
  text-align: right;
}

/* line 32, ../scss/components/_cards.scss */
.c-card-story__desc .c-text-arrow {
  margin-top: 0.5rem;
}

/* line 35, ../scss/components/_cards.scss */
.c-card-story__media figure {
  position: relative;
  height: 0;
  padding-top: 100%;
  background-color: #000;
}

/* line 41, ../scss/components/_cards.scss */
.c-card-story__media figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 49, ../scss/components/_cards.scss */
.c-card-story__link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

/* line 58, ../scss/components/_cards.scss */
.c-card-story__overlay-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  /* タイトルや画像より上に配置 */
  cursor: pointer;
}

/* line 69, ../scss/components/_cards.scss */
.c-card-story--in-slider .c-card-story__title,
.c-card-story--in-slider .c-card-story__desc {
  position: absolute;
  left: 0;
  padding: 2rem;
  z-index: 1;
}
/* line 76, ../scss/components/_cards.scss */
.c-card-story--in-slider .c-card-story__title {
  top: 0;
  color: #ffffff;
}
/* line 80, ../scss/components/_cards.scss */
.c-card-story--in-slider .c-card-story__desc {
  bottom: 0;
  color: #ffffff;
  width: 100%;
}
/* line 85, ../scss/components/_cards.scss */
.c-card-story--in-slider .c-card-story__desc > div {
  line-height: 1;
}
/* line 88, ../scss/components/_cards.scss */
.c-card-story--in-slider .c-card-story__media > figure {
  padding-top: 70%;
}
/* line 91, ../scss/components/_cards.scss */
.c-card-story--in-slider .c-card-story__media::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(58, 58, 58, 0.25);
}

/* line 103, ../scss/components/_cards.scss */
.c-card-story--in-slider-lg .c-card-story__title,
.c-card-story--in-slider-lg .c-card-story__desc {
  position: absolute;
  left: 0;
  padding: 2rem;
  z-index: 1;
}
@media screen and (min-width: 744px) {
  /* line 103, ../scss/components/_cards.scss */
  .c-card-story--in-slider-lg .c-card-story__title,
  .c-card-story--in-slider-lg .c-card-story__desc {
    padding: 3rem;
  }
}
/* line 113, ../scss/components/_cards.scss */
.c-card-story--in-slider-lg .c-card-story__title {
  top: 0;
  color: #ffffff;
}
/* line 117, ../scss/components/_cards.scss */
.c-card-story--in-slider-lg .c-card-story__desc {
  bottom: 0;
  color: #ffffff;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 744px) {
  /* line 117, ../scss/components/_cards.scss */
  .c-card-story--in-slider-lg .c-card-story__desc {
    width: 52%;
    left: auto;
    right: 0;
  }
}
/* line 130, ../scss/components/_cards.scss */
.c-card-story--in-slider-lg .c-card-story__desc > div {
  line-height: 1;
}
/* line 133, ../scss/components/_cards.scss */
.c-card-story--in-slider-lg .c-card-story__media > figure {
  padding-top: 133.4%;
}
@media screen and (min-width: 744px) {
  /* line 133, ../scss/components/_cards.scss */
  .c-card-story--in-slider-lg .c-card-story__media > figure {
    padding-top: 70%;
  }
}
/* line 139, ../scss/components/_cards.scss */
.c-card-story--in-slider-lg .c-card-story__media::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(58, 58, 58, 0.25);
}

/* line 153, ../scss/components/_cards.scss */
.c-card-interview {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  line-height: 1.7;
  position: relative;
}

/* line 160, ../scss/components/_cards.scss */
.c-card-interview__overlay-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  /* タイトルや画像より上に配置 */
  cursor: pointer;
}

/* line 169, ../scss/components/_cards.scss */
.c-card-interview__header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* line 174, ../scss/components/_cards.scss */
.c-card-interview__media,
.c-card-interview__about {
  min-width: 0;
}

/* line 178, ../scss/components/_cards.scss */
.c-card-interview__media {
  flex: 0 1 18.5rem;
}

/* line 181, ../scss/components/_cards.scss */
.c-card-interview__about {
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

/* line 187, ../scss/components/_cards.scss */
.c-card-interview__name {
  font-size: 1.5em;
  line-height: 1.4;
}

/* line 191, ../scss/components/_cards.scss */
.c-card-interview__license > span {
  display: inline-block;
}

/* line 194, ../scss/components/_cards.scss */
.c-card-interview__license > span::after {
  content: "/";
}

/* line 197, ../scss/components/_cards.scss */
.c-card-interview__license > span:last-child::after {
  display: none;
}

/* line 200, ../scss/components/_cards.scss */
.c-card-interview__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 205, ../scss/components/_cards.scss */
.c-card-interview__copy {
  font-size: 1.5em;
  line-height: 1.4;
}

/* line 213, ../scss/components/_cards.scss */
.c-card-post {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 220, ../scss/components/_cards.scss */
.c-card-post__info {
  padding: 0 1rem;
}

/* line 227, ../scss/components/_cards.scss */
.c-card-post__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 1.2rem;
}

/* line 235, ../scss/components/_cards.scss */
.c-card-post__tags:last-child {
  margin-bottom: 0;
}

/* line 238, ../scss/components/_cards.scss */
.c-card-post__label-group {
  display: flex;
}

/* line 241, ../scss/components/_cards.scss */
.c-card-post__label {
  padding: calc(0.3em - 0.1rem) 0.7em;
  border: solid 0.1rem #3a3a3a;
  background-color: #ffffff;
}

/* line 246, ../scss/components/_cards.scss */
.c-card-post__label > span {
  display: inline-block;
  transform: translateY(0.05em);
}

/* line 250, ../scss/components/_cards.scss */
.c-card-post__label--solid {
  background-color: #3a3a3a;
  color: #ffffff;
}

/* line 254, ../scss/components/_cards.scss */
.c-card-post__label--naked {
  padding-left: 0;
  padding-right: 0;
  font-size: 1.15em;
  background-color: transparent;
  border: transparent;
}

/* line 263, ../scss/components/_cards.scss */
.c-card-post__label--naked > span {
  transform: none;
}

/* line 267, ../scss/components/_cards.scss */
.c-card-post__title {
  font-size: 1.5em;
  margin-bottom: 0.7rem;
}

/* line 271, ../scss/components/_cards.scss */
.c-card-post__title:last-child {
  margin-bottom: 0;
}

/* line 275, ../scss/components/_cards.scss */
.c-card-post__link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

/* line 285, ../scss/components/_cards.scss */
.c-card-post__date {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
}

/* line 295, ../scss/components/_cards.scss */
.c-card-post__price {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

/* line 307, ../scss/components/_cards.scss */
.c-card-post__price:has(.c-card-post__limited-link) {
  position: relative;
  align-items: center;
  z-index: 2;
  gap: 1.5rem;
}

/* line 315, ../scss/components/_cards.scss */
.c-card-post__price-label {
  font-size: 1.15em;
}

/* line 318, ../scss/components/_cards.scss */
.c-card-post__price-number {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 2em;
  color: #d23939;
  position: relative;
  top: 0.08em;
}

/* line 330, ../scss/components/_cards.scss */
.c-card-post__price-yen {
  font-size: 1.3em;
}

/* line 333, ../scss/components/_cards.scss */
.c-card-post__price-tax {
  font-feature-settings: "palt";
  font-size: 1.3em;
}

/* line 339, ../scss/components/_cards.scss */
.c-card-post__copy {
  line-height: 1.7;
  letter-spacing: 0;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* line 352, ../scss/components/_cards.scss */
.c-card-post__limited-text {
  font-size: 2em;
  color: #d23939;
  line-height: 1;
}

/* line 357, ../scss/components/_cards.scss */
.c-card-post__limited-link {
  display: block;
  margin-left: auto;
  cursor: pointer;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

@media screen and (min-width: 744px) {
  /* line 364, ../scss/components/_cards.scss */
  .c-card-post__limited-link:hover {
    opacity: 0.7;
  }
}

/* line 369, ../scss/components/_cards.scss */
.c-card-post__modal-open {
  color: #3a3a3a;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 376, ../scss/components/_cards.scss */
.c-card-post__modal-open::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  background-image: url(../images/icon_line.png);
  background-repeat: no-repeat;
  background-size: contain;
}

/* line 385, ../scss/components/_cards.scss */
.c-card-post__modal-text-wrap {
  line-height: 1.3;
}
/* line 388, ../scss/components/_cards.scss */
.c-card-post__modal-text-wrap::before, .c-card-post__modal-text-wrap::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
/* line 398, ../scss/components/_cards.scss */
.c-card-post__modal-text-wrap::before {
  margin-top: calc((1 - 1.3) * 0.5em);
}
/* line 403, ../scss/components/_cards.scss */
.c-card-post__modal-text-wrap::after {
  margin-bottom: calc((1 - 1.3) * 0.5em);
}

/* line 408, ../scss/components/_cards.scss */
.c-card-post__house-copy {
  font-size: 1.15em;
  line-height: 1.7;
  margin-bottom: 0.6em;
}

/* line 414, ../scss/components/_cards.scss */
.c-card-post--works,
.c-card-post--renovation {
  gap: 1.5rem;
}

/* line 419, ../scss/components/_cards.scss */
.c-card-post--house .c-card-post__title {
  letter-spacing: 0;
}

/* line 423, ../scss/components/_cards.scss */
.c-card-post--land .c-card-post__title {
  font-size: 1.15em;
  letter-spacing: 0;
}

/* line 428, ../scss/components/_cards.scss */
.c-card-post--event .c-card-post__title {
  font-size: 1.15em;
  letter-spacing: 0;
}

/* line 433, ../scss/components/_cards.scss */
.c-list-post__item .c-card-post {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

/* line 442, ../scss/components/_cards.scss */
.c-card-page {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 450, ../scss/components/_cards.scss */
.p-home-story__body .c-head-icon-left__header {
  margin-bottom: 1em;
}

/* line 453, ../scss/components/_cards.scss */
.p-home-story__body .c-head-icon-left__title {
  font-size: 1.7em;
}

/* line 456, ../scss/components/_cards.scss */
.p-home-story__body .c-head-icon-left__title > span:nth-of-type(1) {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

/* line 460, ../scss/components/_cards.scss */
.p-home-story__body .c-head-icon-left__header::before {
  width: 3em;
  height: 3em;
  flex: 0 0 3em;
}

/* line 465, ../scss/components/_cards.scss */
.c-card-page--in-slider {
  height: 100%;
  justify-content: space-between;
}

/* line 472, ../scss/components/_cards.scss */
.c-card-border-box-pc {
  --layout-space-y: 5rem;
  --layout-space-x: 10rem;
}
@media screen and (min-width: 744px) {
  /* line 472, ../scss/components/_cards.scss */
  .c-card-border-box-pc {
    border: solid 0.1rem currentColor;
    padding: var(--layout-space-y) var(--layout-space-x);
  }
}

/* line 483, ../scss/components/_cards.scss */
.c-card-news {
  position: relative;
  display: flex;
  gap: 1rem;
  padding-right: 4rem;
}

/* line 490, ../scss/components/_cards.scss */
.c-card-news::after {
  content: "";
  display: block;
  width: 1rem;
  height: 2rem;
  /* アイコンの色（maskなので背景色で制御します） */
  background-color: #3a3a3a;
  /* マスクの指定 */
  -webkit-mask-image: url(../images/arrow-right-big.svg);
  mask-image: url(../images/arrow-right-big.svg);
  /* マスクの位置と繰り返し設定 */
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* line 516, ../scss/components/_cards.scss */
.c-card-news__media {
  width: 40%;
}

/* line 519, ../scss/components/_cards.scss */
.c-card-news__content {
  width: 60%;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

/* line 526, ../scss/components/_cards.scss */
.c-card-news__date {
  font-size: 1.15em;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

/* line 533, ../scss/components/_cards.scss */
.c-card-news__title {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (min-width: 744px) {
  /* line 533, ../scss/components/_cards.scss */
  .c-card-news__title {
    -webkit-line-clamp: 2;
  }
}

/* line 548, ../scss/components/_cards.scss */
.c-card-news__overlay-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  cursor: pointer;
}

/* line 558, ../scss/components/_cards.scss */
.c-card-members {
  padding: 5rem 3rem;
  background-color: #ffffff;
  border: solid 0.1rem #707070;
}
@media screen and (min-width: 744px) {
  /* line 558, ../scss/components/_cards.scss */
  .c-card-members {
    padding: 10rem 4.5rem;
  }
}

/* line 566, ../scss/components/_cards.scss */
.c-card-members__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

/* line 572, ../scss/components/_cards.scss */
.c-card-members__title {
  font-size: 2em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  text-align: center;
}

/* line 578, ../scss/components/_cards.scss */
.c-card-members__title::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/logo_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0 auto 2rem;
}

/* line 589, ../scss/components/_cards.scss */
.c-card-members__body {
  --space-pc: 4rem;
  --space-margin-bottom-pc: 3rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  letter-spacing: 0;
}
@media screen and (min-width: 744px) {
  /* line 589, ../scss/components/_cards.scss */
  .c-card-members__body {
    flex-direction: row;
    gap: var(--space-pc);
  }
}

/* line 604, ../scss/components/_cards.scss */
.c-card-members__enter {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 604, ../scss/components/_cards.scss */
  .c-card-members__enter {
    gap: var(--space-margin-bottom-pc);
    width: 28.5rem;
    flex-shrink: 0;
  }
}

/* line 618, ../scss/components/_cards.scss */
.c-card-members__form form {
  display: flex;
  gap: 2rem;
}

/* line 622, ../scss/components/_cards.scss */
.c-card-members__form form label {
  position: absolute;
}

/* line 625, ../scss/components/_cards.scss */
.c-card-members__form input[type="password"] {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  font-size: 1.15em;
  line-height: 1.7;
  width: 100%;
  padding: 0.6em;
  background-color: #f7f6f2;
  border: solid 0.1rem #6b5832;
  border-radius: 0.5rem;
  height: 5rem;
  line-height: 5rem;
  padding: 0 0.6em;
}

/* line 648, ../scss/components/_cards.scss */
.c-card-members__form button[type="submit"] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.5em;
  height: 5rem;
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  color: #ffffff;
  background-color: #d23939;
  border-radius: 1rem;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}
@media screen and (min-width: 744px) {
  /* line 648, ../scss/components/_cards.scss */
  .c-card-members__form button[type="submit"] {
    background-color: #b69b60;
  }
}

/* line 670, ../scss/components/_cards.scss */
.c-card-members__how-to {
  --width-line-qr: 16rem;
  --space-how-to-content-pc: 2rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  border-top: solid 0.1rem #707070;
  border-bottom: solid 0.1rem #707070;
}
@media screen and (min-width: 744px) {
  /* line 670, ../scss/components/_cards.scss */
  .c-card-members__how-to {
    border-top: none;
    border-bottom: none;
    padding-top: 0;
    padding-bottom: 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
    padding-left: var(--space-pc);
    border-left: solid 0.1rem #707070;
  }
}

/* line 697, ../scss/components/_cards.scss */
.c-card-members__line-title {
  font-size: 1.15em;
}
@media screen and (min-width: 744px) {
  /* line 697, ../scss/components/_cards.scss */
  .c-card-members__line-title {
    width: 100%;
    margin-bottom: var(--space-margin-bottom-pc);
  }
}

/* line 704, ../scss/components/_cards.scss */
.c-card-members__line-media {
  padding: 1.5rem 2rem;
  border: solid 0.2rem #05c755;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 704, ../scss/components/_cards.scss */
  .c-card-members__line-media {
    padding: 0;
    border: none;
    width: var(--width-line-qr);
    margin-right: var(--space-how-to-content-pc);
  }
}

/* line 716, ../scss/components/_cards.scss */
.c-card-members__sp-block {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 716, ../scss/components/_cards.scss */
  .c-card-members__sp-block {
    display: none;
  }
}

/* line 724, ../scss/components/_cards.scss */
.c-card-members__pc-block {
  display: none;
}
@media screen and (min-width: 744px) {
  /* line 724, ../scss/components/_cards.scss */
  .c-card-members__pc-block {
    display: block;
  }
}

/* line 730, ../scss/components/_cards.scss */
.c-card-members__overlay-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  /* タイトルや画像より上に配置 */
  cursor: pointer;
}

/* line 739, ../scss/components/_cards.scss */
.c-card-members__line-icon {
  width: 8.8rem;
  flex-shrink: 0;
}

/* line 743, ../scss/components/_cards.scss */
.c-card-members__line-text {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.7;
  color: #05c755;
}

/* line 751, ../scss/components/_cards.scss */
.c-card-members__steps {
  list-style-type: decimal;
  padding-left: 1.5em;
}
@media screen and (min-width: 744px) {
  /* line 751, ../scss/components/_cards.scss */
  .c-card-members__steps {
    width: calc(100% - var(--width-line-qr) - var(--space-how-to-content-pc));
  }
}

/* line 758, ../scss/components/_cards.scss */
.c-card-members__steps li + li {
  margin-top: 2rem;
}

@media screen and (min-width: 744px) {
  /* line 762, ../scss/components/_cards.scss */
  .c-card-members--only-how-to {
    padding: 10rem;
  }
}

/* line 767, ../scss/components/_cards.scss */
.c-card-members--only-how-to .c-card-members__how-to {
  padding: 0;
  border-top: none;
  border-bottom: none;
}
@media screen and (min-width: 744px) {
  /* line 767, ../scss/components/_cards.scss */
  .c-card-members--only-how-to .c-card-members__how-to {
    border-left: none;
  }
}

/* line 4, ../scss/components/_deco.scss */
.c-deco-bottom-border {
  position: relative;
}

/* line 7, ../scss/components/_deco.scss */
.c-deco-bottom-border::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  background-color: #d23939;
  position: absolute;
  bottom: 0;
  left: 0;
}

/* line 17, ../scss/components/_deco.scss */
.c-deco-bottom-border--white::after {
  background-color: #ffffff;
}

/* line 20, ../scss/components/_deco.scss */
.c-deco-bottom-border--brown::after {
  background-color: #6b5832;
}

/* line 23, ../scss/components/_deco.scss */
.c-deco-bottom-border--blue::after {
  background-color: #293a4a;
}

/* line 26, ../scss/components/_deco.scss */
.c-deco-bottom-border--olive-gray::after {
  background-color: #5c635b;
}

/* line 29, ../scss/components/_deco.scss */
.c-deco-flex-border {
  position: relative;
}

/* line 32, ../scss/components/_deco.scss */
.c-deco-flex-border::after {
  content: "";
  display: block;
  width: 61.8%;
  height: 0.1rem;
  background-color: #d23939;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (min-width: 744px) {
  /* line 44, ../scss/components/_deco.scss */
  .c-deco-flex-border::after {
    width: 0.1rem;
    height: 100%;
    left: auto;
    right: 0;
  }
}

/* line 53, ../scss/components/_deco.scss */
.c-deco-side-border {
  position: relative;
}

/* line 57, ../scss/components/_deco.scss */
.c-deco-side-border::before,
.c-deco-side-border::after {
  content: "";
  position: absolute;
  height: 100%;
  background-color: currentColor;
  z-index: 1;
}

/* line 67, ../scss/components/_deco.scss */
.c-deco-side-border::before {
  top: 0;
  left: 0;
  background-color: #d23939;
  width: 0.2rem;
}

/* line 73, ../scss/components/_deco.scss */
.c-deco-side-border::after {
  bottom: 0;
  right: 0;
  background-color: #ffffff;
  width: 0.1rem;
}

/* line 81, ../scss/components/_deco.scss */
.c-deco-side-border--r-dark::after {
  background-color: #3a3a3a;
}

/* line 85, ../scss/components/_deco.scss */
.c-deco-side-border--left-only::after {
  display: none;
}

/* line 91, ../scss/components/_deco.scss */
.c-deco-side-border--in-list::before {
  background-color: #3a3a3a;
  width: 0.1rem;
}

/* line 95, ../scss/components/_deco.scss */
.c-deco-side-border--in-list::after {
  background-color: #3a3a3a;
}

/* line 101, ../scss/components/_deco.scss */
.c-deco-icon-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 106, ../scss/components/_deco.scss */
.c-deco-icon-left::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/logo_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}

/* line 117, ../scss/components/_deco.scss */
.c-deco-border-right-pc {
  position: relative;
}

@media screen and (min-width: 744px) {
  /* line 120, ../scss/components/_deco.scss */
  .c-deco-border-right-pc::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 0.2rem;
    background-color: #d23939;
  }
}

/* -------------------------------------------------------------------------
   Headings  
     ※ ただの太字や強調テキストは _texts.scss へ。
   ------------------------------------------------------------------------- */
/* line 8, ../scss/components/_headings.scss */
.c-head-border__main-ttl,
.c-head-border__sub-ttl {
  display: block;
}

/* line 12, ../scss/components/_headings.scss */
.c-head-border__main-ttl {
  font-family: "FP-ヒラギノ角ゴ ProN W3", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 300;
  padding-bottom: 0.3em;
  margin-bottom: 0.3em;
  position: relative;
}

/* line 23, ../scss/components/_headings.scss */
.c-head-border__main-ttl::after {
  content: "";
  display: block;
  width: 61.8%;
  height: 0.1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: currentColor;
}

/* line 33, ../scss/components/_headings.scss */
.c-head-border__sub-ttl {
  font-size: 0.5em;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* line 41, ../scss/components/_headings.scss */
.c-head-border--center {
  text-align: center;
}

/* line 44, ../scss/components/_headings.scss */
.c-head-border--center .c-head-border__main-ttl::after {
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 744px) {
  /* line 50, ../scss/components/_headings.scss */
  .c-head-border--pc-center {
    text-align: center;
  }
}

@media screen and (min-width: 744px) {
  /* line 55, ../scss/components/_headings.scss */
  .c-head-border--pc-center .c-head-border__main-ttl::after {
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
}

/* line 65, ../scss/components/_headings.scss */
.c-head-icon-top {
  text-align: center;
}

/* line 68, ../scss/components/_headings.scss */
.c-head-icon-top::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/logo_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0 auto 2rem;
}

/* line 80, ../scss/components/_headings.scss */
.c-head-icon-top__meta {
  margin-bottom: 1em;
  line-height: 1.4;
}

/* line 84, ../scss/components/_headings.scss */
.c-head-icon-top__label > span + span::before {
  content: " | ";
}

/* line 87, ../scss/components/_headings.scss */
.c-head-icon-top__label-ja {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
}

/* line 92, ../scss/components/_headings.scss */
.c-head-icon-top__label-en {
  font-size: 1.3em;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* line 98, ../scss/components/_headings.scss */
.c-head-icon-top__heading-group {
  line-height: 1.4;
}

/* line 101, ../scss/components/_headings.scss */
.c-head-icon-top__title {
  font-size: 2em;
}

/* line 105, ../scss/components/_headings.scss */
.c-head-icon-top__lead {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  margin-top: 1em;
}

/* line 111, ../scss/components/_headings.scss */
.c-head-icon-top__price {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-top: 1em;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0.5em;
}

/* line 124, ../scss/components/_headings.scss */
.c-head-icon-top__price-label {
  font-size: 1.15em;
}

/* line 127, ../scss/components/_headings.scss */
.c-head-icon-top__price-number {
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 2.3em;
  color: #d23939;
  position: relative;
  top: 0.08em;
}

/* line 139, ../scss/components/_headings.scss */
.c-head-icon-top__price-unit {
  font-size: 1.3em;
}

/* line 142, ../scss/components/_headings.scss */
.c-head-icon-top__price-tax {
  font-size: 1.3em;
  font-feature-settings: "palt";
}

/* line 146, ../scss/components/_headings.scss */
.c-head-icon-top__caution::before {
  content: "※";
}

/* line 149, ../scss/components/_headings.scss */
.c-head-icon-top__type {
  font-size: 1.15em;
  margin-top: 1em;
}

/* line 154, ../scss/components/_headings.scss */
.c-head-icon-top__price-limited {
  font-size: 2em;
  color: #d23939;
  line-height: 1;
}

/* line 159, ../scss/components/_headings.scss */
.c-head-icon-top__limited-link {
  width: 100%;
  margin-top: 0.5rem;
}

/* line 163, ../scss/components/_headings.scss */
.c-head-icon-top__anchor {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  padding-right: 0.4em;
  padding-bottom: 0.2em;
  border-bottom: solid 0.1rem currentColor;
}

/* line 176, ../scss/components/_headings.scss */
.c-head-icon-top__anchor::after {
  content: "";
  display: block;
  aspect-ratio: 8 / 7;
  height: 0.5em;
  background-color: currentColor;
  -webkit-mask-image: url("../images/arrow-triangle-down.svg");
  mask-image: url("../images/arrow-triangle-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  position: relative;
  transform: translateY(15%);
}

/* line 204, ../scss/components/_headings.scss */
.c-head-icon-top__house-copy {
  font-size: 1.15em;
  margin-top: 0.5em;
}

/* line 211, ../scss/components/_headings.scss */
.c-head-icon-left {
  width: 100%;
}

/* line 214, ../scss/components/_headings.scss */
.c-head-icon-left__header {
  display: flex;
  align-items: center;
  gap: 0.7em;
  margin-bottom: 2em;
}

/* line 220, ../scss/components/_headings.scss */
.c-head-icon-left__header::before {
  content: "";
  display: block;
  width: 4em;
  height: 4em;
  background-image: url(../images/logo_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex: 0 0 4em;
}

/* line 232, ../scss/components/_headings.scss */
.c-head-icon-left__title {
  font-size: 2.3em;
  flex: 1 1 auto;
}

/* line 236, ../scss/components/_headings.scss */
.c-head-icon-left__title > span {
  display: block;
}

/* line 239, ../scss/components/_headings.scss */
.c-head-icon-left__title > span:nth-of-type(1) {
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* line 243, ../scss/components/_headings.scss */
.c-head-icon-left__title > span:nth-of-type(2) {
  font-size: 0.6em;
}

/* line 247, ../scss/components/_headings.scss */
.c-head-icon-left__leed {
  width: 100%;
}

/* line 252, ../scss/components/_headings.scss */
.c-head-icon-left--inline .c-head-icon-left__title {
  font-size: 1.15em;
}

/* line 258, ../scss/components/_headings.scss */
.c-head-icon-bottom {
  --space-icon: 5rem;
  text-align: center;
}

/* line 262, ../scss/components/_headings.scss */
.c-head-icon-bottom::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/logo_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-top: var(--space-icon);
  margin-left: auto;
  margin-right: auto;
}

/* line 275, ../scss/components/_headings.scss */
.c-head-icon-bottom__title {
  font-size: 1.5em;
  line-height: 1.7;
}
@media screen and (min-width: 744px) {
  /* line 275, ../scss/components/_headings.scss */
  .c-head-icon-bottom__title {
    font-size: 2em;
  }
}

/* line 285, ../scss/components/_headings.scss */
.c-head-logo-top {
  display: flex;
  flex-direction: column;
  gap: 0.7em;
  text-align: center;
}

/* line 291, ../scss/components/_headings.scss */
.c-head-logo-top__logo {
  width: 9em;
  margin: 0 auto;
}

/* line 295, ../scss/components/_headings.scss */
.c-head-logo-top__title {
  font-size: 1em;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
}

/* line 301, ../scss/components/_headings.scss */
.c-head-logo-top__title--en {
  font-size: 2em;
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

/* line 306, ../scss/components/_headings.scss */
.c-head-logo-top--large {
  gap: 2em;
}

/* line 309, ../scss/components/_headings.scss */
.c-head-logo-top--large .c-head-logo-top__logo {
  width: 15em;
}

/* line 312, ../scss/components/_headings.scss */
.c-head-logo-top--large .c-head-logo-top__title {
  font-size: 1.3em;
}

/* line 319, ../scss/components/_headings.scss */
.c-head-icon-top-simple {
  font-size: 3.2rem;
  text-align: center;
}

/* line 323, ../scss/components/_headings.scss */
.c-head-icon-top-simple::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/logo_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0 auto 2rem;
}

/* line 334, ../scss/components/_headings.scss */
.c-head-icon-top-simple > span {
  display: block;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 1em;
  margin-bottom: 0.3em;
}

/* line 341, ../scss/components/_headings.scss */
.c-head-icon-top-simple > small {
  display: block;
  font-weight: 500;
  font-size: 0.6em;
}

/* line 349, ../scss/components/_headings.scss */
.c-head-logo-left {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 354, ../scss/components/_headings.scss */
.c-head-logo-left__title {
  display: flex;
  align-items: flex-end;
  gap: 1.4em;
  gap: 0.7em;
}

/* line 361, ../scss/components/_headings.scss */
.c-head-logo-left__logo {
  width: 10.5em;
}

/* line 364, ../scss/components/_headings.scss */
.c-head-logo-left__logo--lg {
  width: 12em;
}

/* line 367, ../scss/components/_headings.scss */
.c-head-logo-left__text {
  font-family: "AvenirLTPro-Black", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 2.3em;
  padding: 0;
  transform: translateY(0.135em);
}

/* line 377, ../scss/components/_headings.scss */
.c-head-logo-left__lead {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
  line-height: 1.4;
}

/* line 383, ../scss/components/_headings.scss */
.c-head-logo-left__text--ja {
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
  transform: none;
  margin-bottom: 0.4em;
}

/* line 390, ../scss/components/_headings.scss */
.c-head-logo-left__lead > span {
  font-size: 1.2em;
  margin-right: 0.3em;
}

/* line 394, ../scss/components/_headings.scss */
.c-head-logo-left__lead--sm {
  font-size: 1em;
  line-height: 2;
}

/* line 401, ../scss/components/_headings.scss */
.c-head-logo-right {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: right;
}

/* line 407, ../scss/components/_headings.scss */
.c-head-logo-right__title {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 0.7em;
}

/* line 413, ../scss/components/_headings.scss */
.c-head-logo-right__logo {
  width: 10.5em;
}

/* line 416, ../scss/components/_headings.scss */
.c-head-logo-right__text {
  font-family: "AvenirLTPro-Black", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 2.3em;
  padding: 0;
  transform: translateY(0.135em);
}

/* line 426, ../scss/components/_headings.scss */
.c-head-logo-right__lead {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
  line-height: 1.4;
}

/* line 436, ../scss/components/_headings.scss */
.c-head-company-name {
  --font-size: 1.4rem;
  font-size: var(--font-size);
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
  width: fit-content;
  text-align: center;
}

/* line 445, ../scss/components/_headings.scss */
.c-head-company-name__logo {
  display: block;
  width: 12em;
  margin-bottom: 1.5em;
}

/* line 450, ../scss/components/_headings.scss */
.c-head-company-name__title {
  display: block;
}

/* line 456, ../scss/components/_headings.scss */
.c-head-pair {
  font-size: 1em;
  line-height: 1.4;
}

/* line 460, ../scss/components/_headings.scss */
.c-head-pair__main {
  font-size: 1.5em;
}

/* line 463, ../scss/components/_headings.scss */
.c-head-pair__sub {
  font-size: 1em;
  vertical-align: baseline;
  margin-left: 1em;
}

/* -------------------------------------------------------------------------
   Lists
   ------------------------------------------------------------------------- */
/* line 7, ../scss/components/_lists.scss */
.c-list-page-button {
  --gap: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 7, ../scss/components/_lists.scss */
  .c-list-page-button {
    flex-direction: row;
  }
}

/* line 16, ../scss/components/_lists.scss */
.c-list-page-button > li {
  background-color: #ffffff;
  cursor: pointer;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (min-width: 744px) {
  /* line 16, ../scss/components/_lists.scss */
  .c-list-page-button > li {
    width: calc(((100% - var(--gap) * 2) / 3));
  }
}

@media screen and (min-width: 744px) {
  /* line 24, ../scss/components/_lists.scss */
  .c-list-page-button > li:hover {
    opacity: 0.7;
  }
}

/* line 29, ../scss/components/_lists.scss */
.c-list-page-button a {
  display: block;
  padding: 1.5rem 3rem;
  font-size: 1.5em;
  line-height: 1.4;
  position: relative;
}

/* line 38, ../scss/components/_lists.scss */
.c-list-page-button a::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: solid 1.4rem currentColor;
  border-top: solid 0.8rem transparent;
  border-bottom: solid 0.8rem transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  margin: auto;
}

/* line 54, ../scss/components/_lists.scss */
.c-list-page-button a > span,
.c-list-page-button a > small {
  display: block;
}

/* line 58, ../scss/components/_lists.scss */
.c-list-page-button a > span {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
}

/* line 64, ../scss/components/_lists.scss */
.c-list-page-button a > small {
  font-size: 0.6em;
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

/* line 73, ../scss/components/_lists.scss */
.c-list-page-button--border {
  gap: 0;
}
@media screen and (min-width: 744px) {
  /* line 73, ../scss/components/_lists.scss */
  .c-list-page-button--border {
    gap: var(--gap);
    border-bottom: none;
  }
}

/* line 81, ../scss/components/_lists.scss */
.c-list-page-button--border > li {
  background-color: transparent;
  color: currentColor;
  border-top: solid 0.1rem currentColor;
  border-bottom: solid 0.1rem transparent;
}
@media screen and (min-width: 744px) {
  /* line 81, ../scss/components/_lists.scss */
  .c-list-page-button--border > li {
    border: solid 0.1rem currentColor;
  }
}

/* line 94, ../scss/components/_lists.scss */
.c-list-post {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 94, ../scss/components/_lists.scss */
  .c-list-post {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10rem 5rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 104, ../scss/components/_lists.scss */
  .c-list-post li {
    width: calc((100% - 5rem) / 2);
  }
}
@media screen and (min-width: 1920px) {
  /* line 104, ../scss/components/_lists.scss */
  .c-list-post li {
    width: calc((100% - (5rem * 2)) / 3);
  }
}

/* line 117, ../scss/components/_lists.scss */
.c-list-hash li {
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.4;
  text-indent: -1em;
  padding-left: 1em;
}

/* line 125, ../scss/components/_lists.scss */
.c-list-hash li::before {
  content: "＃";
}

/* line 128, ../scss/components/_lists.scss */
.c-list-hash--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

/* line 136, ../scss/components/_lists.scss */
.c-list-spec {
  --gap: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  line-height: 1.4;
  letter-spacing: 0;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
}

/* line 147, ../scss/components/_lists.scss */
.c-list-spec__item {
  width: calc((100% - var(--gap) * 3) / 4);
  position: relative;
  background-color: #f7f6f2;
  color: #3a3a3a;
  border-radius: 0.5rem;
}

/* line 156, ../scss/components/_lists.scss */
.c-list-spec__item::before {
  content: "";
  display: block;
  padding-top: 100%;
}

/* line 161, ../scss/components/_lists.scss */
.c-list-spec__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem;
}

/* line 176, ../scss/components/_lists.scss */
.c-list-spec__inner > span {
  display: block;
}

/* line 179, ../scss/components/_lists.scss */
.c-list-spec__item--no-label {
  border-radius: 0;
  background-color: transparent;
  border: solid 0.1rem #f7f6f2;
  color: #ffffff;
}

/* line 185, ../scss/components/_lists.scss */
.c-list-spec__item--no-label span {
  font-size: 1.3em;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* line 190, ../scss/components/_lists.scss */
.c-list-spec__number {
  font-size: 1.7em;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* line 195, ../scss/components/_lists.scss */
.c-list-spec__unit {
  font-size: 1.15em;
}

/* line 199, ../scss/components/_lists.scss */
.c-list-spec--col3 {
  --gap: 2rem;
  gap: var(--gap);
}

/* line 203, ../scss/components/_lists.scss */
.c-list-spec--col3 .c-list-spec__item {
  width: calc((100% - var(--gap) * 2) / 3);
}

/* line 206, ../scss/components/_lists.scss */
.c-list-spec--col3 .c-list-spec__item--no-label span {
  font-size: 1.7em;
}

@media screen and (min-width: 744px) {
  /* line 209, ../scss/components/_lists.scss */
  .c-list-spec--col3 .c-list-spec__item {
    padding: 2.5rem 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 214, ../scss/components/_lists.scss */
  .c-list-spec--col3 .c-list-spec__item::before {
    display: none;
  }
}

@media screen and (min-width: 744px) {
  /* line 219, ../scss/components/_lists.scss */
  .c-list-spec--col3 .c-list-spec__inner {
    position: relative;
  }
}

@media screen and (min-width: 744px) {
  /* line 225, ../scss/components/_lists.scss */
  .c-list-spec--pc-col2 {
    --gap: 2rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 230, ../scss/components/_lists.scss */
  .c-list-spec--pc-col2 .c-list-spec__item {
    width: calc((100% - var(--gap)) / 2);
  }
}

@media screen and (min-width: 744px) {
  /* line 235, ../scss/components/_lists.scss */
  .c-list-spec--pc-col2 .c-list-spec__item::before {
    padding-top: 75%;
  }
}

@media screen and (min-width: 744px) {
  /* line 240, ../scss/components/_lists.scss */
  .c-list-spec--pc-col2 .c-list-spec__item--no-label span {
    font-size: 1.7em;
  }
}

@media screen and (min-width: 744px) {
  /* line 246, ../scss/components/_lists.scss */
  .c-list-spec--pc-col2 .c-list-spec__desc {
    font-size: 1.3em;
  }
}

/* line 254, ../scss/components/_lists.scss */
.c-list-carp {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 259, ../scss/components/_lists.scss */
.c-list-carp__block {
  display: flex;
  gap: 0.3rem;
}

/* line 263, ../scss/components/_lists.scss */
.c-list-carp__label {
  min-width: 7.5em;
  padding: 1.5rem;
  text-align: center;
  background-color: #ffffff;
  border-left: solid 0.5rem #b69b60;
}

/* line 270, ../scss/components/_lists.scss */
.c-list-carp__data {
  padding: 1.5rem;
  background-color: #ffffff;
  flex: 1 1 0%;
}

/* line 278, ../scss/components/_lists.scss */
.c-list-label {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  line-height: 1;
}

/* line 284, ../scss/components/_lists.scss */
.c-list-label > li {
  background-color: #f2f2f2;
  padding: 0.3em 0.7em;
  border-radius: 0.3em;
}

/* line 290, ../scss/components/_lists.scss */
.c-list-label--white > li {
  background-color: #ffffff;
}

/* line 297, ../scss/components/_lists.scss */
.c-list-icon-left {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 302, ../scss/components/_lists.scss */
.c-list-icon-left__item {
  --list-lineheight: 1.7;
  line-height: var(--list-lineheight);
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

/* line 310, ../scss/components/_lists.scss */
.c-list-icon-left__item::before {
  content: "";
  display: block;
  --icon-size: 0.9em;
  width: var(--icon-size);
  height: var(--icon-size);
  background-image: url(../images/logo_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
  margin-top: calc(((var(--list-lineheight) * 1em) - var(--icon-size)) / 2);
}

/* line 328, ../scss/components/_lists.scss */
.c-list-instagram {
  --gap: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 328, ../scss/components/_lists.scss */
  .c-list-instagram {
    --gap: 1rem;
  }
}

/* line 337, ../scss/components/_lists.scss */
.c-list-instagram__item {
  width: calc((100% - var(--gap) * 2) / 3);
}
@media screen and (min-width: 744px) {
  /* line 337, ../scss/components/_lists.scss */
  .c-list-instagram__item {
    width: calc((100% - var(--gap) * 4) / 5);
  }
}

/* line 343, ../scss/components/_lists.scss */
.c-list-instagram__item:last-child {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 348, ../scss/components/_lists.scss */
.c-list-instagram__link {
  display: block;
  width: 100%;
  height: 100%;
}

/* line 356, ../scss/components/_lists.scss */
.c-list-color {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 361, ../scss/components/_lists.scss */
.c-list-color li {
  width: 5rem;
}

/* line 364, ../scss/components/_lists.scss */
.c-list-color li::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
  height: 0;
}

/* line 371, ../scss/components/_lists.scss */
.c-list-color--brown li:nth-of-type(1) {
  background-color: #6b5832;
}

/* line 374, ../scss/components/_lists.scss */
.c-list-color--brown li:nth-of-type(2) {
  background-color: #b69b60;
}

/* line 377, ../scss/components/_lists.scss */
.c-list-color--brown li:nth-of-type(3) {
  background-color: #f7f6f2;
}

/* line 381, ../scss/components/_lists.scss */
.c-list-color--blue li:nth-of-type(1) {
  background-color: #293a4a;
}

/* line 384, ../scss/components/_lists.scss */
.c-list-color--blue li:nth-of-type(2) {
  background-color: #607d8a;
}

/* line 387, ../scss/components/_lists.scss */
.c-list-color--blue li:nth-of-type(3) {
  background-color: #eceff1;
}

/* line 390, ../scss/components/_lists.scss */
.c-list-color--olive-gray li:nth-of-type(1) {
  background-color: #5c635b;
}

/* line 393, ../scss/components/_lists.scss */
.c-list-color--olive-gray li:nth-of-type(2) {
  background-color: #ebf0ec;
}

/* line 396, ../scss/components/_lists.scss */
.c-list-color--olive-gray li:nth-of-type(3) {
  background-color: #f7f6f2;
}

/* line 399, ../scss/components/_lists.scss */
.c-list-color--row {
  flex-direction: row;
}

/* line 402, ../scss/components/_lists.scss */
.c-list-color--row-reverse {
  flex-direction: row-reverse;
}

/* line 408, ../scss/components/_lists.scss */
.c-list-panels {
  --gap: 3rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 408, ../scss/components/_lists.scss */
  .c-list-panels {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* line 418, ../scss/components/_lists.scss */
.c-list-panels li {
  padding: 3rem 2rem;
  background-color: #ffffff;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 744px) {
  /* line 418, ../scss/components/_lists.scss */
  .c-list-panels li {
    width: calc((100% - var(--gap) * 2) / 3);
    min-height: 13.5em;
  }
}

/* line 428, ../scss/components/_lists.scss */
.c-list-panels li p {
  width: 100%;
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
}

/* line 439, ../scss/components/_lists.scss */
.c-list-numbering {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 439, ../scss/components/_lists.scss */
  .c-list-numbering {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* line 449, ../scss/components/_lists.scss */
.c-list-numbering__item {
  display: flex;
  gap: 1.5rem;
}
@media screen and (min-width: 744px) {
  /* line 449, ../scss/components/_lists.scss */
  .c-list-numbering__item {
    width: calc((100% - var(--gap)) / 2);
  }
}

/* line 456, ../scss/components/_lists.scss */
.c-list-numbering__icon {
  font-size: 1.7em;
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background-color: #ffffff;
  color: #3a3a3a;
  flex-shrink: 0;
}

/* line 472, ../scss/components/_lists.scss */
.c-list-numbering__head {
  font-size: 1.3em;
  margin-bottom: 0.3em;
}

/* line 476, ../scss/components/_lists.scss */
.c-list-numbering__body {
  line-height: 1.7;
}

/* line 479, ../scss/components/_lists.scss */
.c-list-numbering__body h4 {
  margin: 1em 0 0.5em;
}

/* line 485, ../scss/components/_lists.scss */
.c-list-data {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.7;
}

/* line 496, ../scss/components/_lists.scss */
.c-list-data__block {
  display: flex;
}

/* line 499, ../scss/components/_lists.scss */
.c-list-data__title {
  flex-shrink: 0;
}

/* line 506, ../scss/components/_lists.scss */
.c-list-caution {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 511, ../scss/components/_lists.scss */
.c-list-caution__item {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.4;
}

/* line 517, ../scss/components/_lists.scss */
.c-list-caution__item::before {
  content: "※";
}

/* line 525, ../scss/components/_lists.scss */
.c-list-dots li {
  font-size: 1.15em;
  line-height: 1.7;
  text-indent: -1em;
  padding-left: 1em;
}

/* line 531, ../scss/components/_lists.scss */
.c-list-dots li + li {
  margin-top: 1.5rem;
}

/* line 534, ../scss/components/_lists.scss */
.c-list-dots li::before {
  content: "・";
}

/* -------------------------------------------------------------------------
   Structures (Layouts)   
     ※ サイト全体の共通レイアウト（ヘッダー等）は layout/ フォルダへ。
   ------------------------------------------------------------------------- */
/* line 10, ../scss/components/_structures.scss */
.c-zigzag__item,
.c-zigzag__desc {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* line 16, ../scss/components/_structures.scss */
.c-zigzag__item + .c-zigzag__item {
  margin-top: 5rem;
}

/* line 19, ../scss/components/_structures.scss */
.c-zigzag__desc {
  padding: 0 3rem;
}
@media screen and (min-width: 744px) {
  /* line 19, ../scss/components/_structures.scss */
  .c-zigzag__desc {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 19, ../scss/components/_structures.scss */
  .c-zigzag__desc {
    padding: 0;
  }
}

/* line 29, ../scss/components/_structures.scss */
.c-zigzag__media {
  padding: 0 3rem;
}
@media screen and (min-width: 744px) {
  /* line 29, ../scss/components/_structures.scss */
  .c-zigzag__media {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 29, ../scss/components/_structures.scss */
  .c-zigzag__media {
    padding: 0;
  }
}

/* line 39, ../scss/components/_structures.scss */
.c-zigzag__item:nth-child(even) .c-zigzag__desc {
  text-align: right;
}

/* line 42, ../scss/components/_structures.scss */
.c-zigzag__item:nth-child(even) .c-zigzag__media {
  padding-left: 0;
}

/* line 45, ../scss/components/_structures.scss */
.c-zigzag__item:nth-child(odd) .c-zigzag__media {
  padding-right: 0;
}

/* line 48, ../scss/components/_structures.scss */
.c-zigzag__item:last-child .c-zigzag__desc {
  text-align: center;
}

/* -------------------------------------------------------------------------
   Texts & Typography
   ------------------------------------------------------------------------- */
/* line 7, ../scss/components/_texts.scss */
.c-text-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}

/* line 12, ../scss/components/_texts.scss */
.c-text-arrow::after {
  content: "";
  display: block;
  height: 0.6em;
  aspect-ratio: 16 / 8;
  background-color: currentColor;
  -webkit-mask-image: url("../images/more-arrow.svg");
  mask-image: url("../images/more-arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

/* line 38, ../scss/components/_texts.scss */
.c-copy-design-cost {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1280px) {
  /* line 38, ../scss/components/_texts.scss */
  .c-copy-design-cost {
    gap: 3rem;
  }
}

/* line 46, ../scss/components/_texts.scss */
.c-copy-design-cost__title {
  font-size: 2.8em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}
@media screen and (min-width: 744px) {
  /* line 46, ../scss/components/_texts.scss */
  .c-copy-design-cost__title {
    font-size: 3.5em;
    min-width: 9em;
  }
}
@media screen and (min-width: 1280px) {
  /* line 46, ../scss/components/_texts.scss */
  .c-copy-design-cost__title {
    font-size: 4.5em;
    gap: 2rem;
  }
}

/* line 73, ../scss/components/_texts.scss */
.c-copy-design-cost__sub-title {
  font-size: 1.2em;
  text-align: center;
}
@media screen and (min-width: 744px) {
  /* line 73, ../scss/components/_texts.scss */
  .c-copy-design-cost__sub-title {
    font-size: 1.5em;
  }
}
@media screen and (min-width: 1280px) {
  /* line 73, ../scss/components/_texts.scss */
  .c-copy-design-cost__sub-title {
    font-size: 2em;
  }
}

/* line 84, ../scss/components/_texts.scss */
.c-copy-design-cost--inline .c-copy-design-cost__title {
  display: block;
  width: auto;
  margin: 0;
  font-size: 1.3em;
  line-height: 1.4;
}

/* line 96, ../scss/components/_texts.scss */
.c-text-figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 1rem;
  letter-spacing: 0;
  padding: 0.4em;
  line-height: 1;
  background-color: #000;
}

/* line 6, ../scss/components/_media.scss */
.c-media-map__content {
  width: 100%;
  height: 0;
  padding-top: 125%;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 6, ../scss/components/_media.scss */
  .c-media-map__content {
    padding-top: 70%;
  }
}

/* line 15, ../scss/components/_media.scss */
.c-media-map__content > iframe {
  width: 100%;
  height: 100%;
  vertical-align: top;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

/* line 29, ../scss/components/_media.scss */
.c-media-youtube__inner {
  padding-top: 56.25%;
  position: relative;
}

/* line 33, ../scss/components/_media.scss */
.c-media-youtube__inner > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* line 45, ../scss/components/_media.scss */
.c-media-short-mov__inner {
  position: relative;
  padding-top: 177.77%;
}

/* line 49, ../scss/components/_media.scss */
.c-media-short-mov__inner > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -------------------------------------------------------------------------
   Vendor Overrides (Splide)
   ------------------------------------------------------------------------- */
/* line 4, ../scss/components/_vendor-splide.scss */
.splide {
  --pagination-space: 3rem;
  margin-bottom: var(--pagination-space);
}

/* line 10, ../scss/components/_vendor-splide.scss */
.splide__arrows {
  display: block;
  width: 0;
  height: 0;
  overflow: visible;
}

/* line 16, ../scss/components/_vendor-splide.scss */
.splide__arrow {
  display: flex;
  gap: 0.7em;
  min-height: 5rem;
  font-size: 1.15em;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  padding: 1.5rem 1rem;
  background-color: rgba(0, 0, 0, 0.75);
  color: #ffffff;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}

/* line 35, ../scss/components/_vendor-splide.scss */
.splide__arrow > span {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  transform: translateY(0.15em);
}

/* line 40, ../scss/components/_vendor-splide.scss */
.splide__arrow > svg {
  width: 0.7em;
  fill: none;
  stroke: currentColor;
  color: currentColor;
}

/* line 46, ../scss/components/_vendor-splide.scss */
.splide__arrow--prev > svg {
  transform: rotate(180deg);
}

/* line 49, ../scss/components/_vendor-splide.scss */
.splide__arrow--next {
  right: 0;
}

/* line 52, ../scss/components/_vendor-splide.scss */
.splide__arrow--prev {
  left: 0;
}

/* line 55, ../scss/components/_vendor-splide.scss */
.splide__arrow:disabled {
  display: none;
}

/* line 61, ../scss/components/_vendor-splide.scss */
.splide__pagination {
  --calc-pagination-space: calc(var(--pagination-space) * -1);
  position: absolute;
  bottom: var(--calc-pagination-space);
  width: 100%;
}

/* line 69, ../scss/components/_vendor-splide.scss */
.splide__pagination__page {
  --dots-width: 1.8rem;
  --dots-height: 0.3rem;
  --dots-space: 0.5rem;
  background: #3a3a3a;
  /* 色 */
  width: var(--dots-width);
  /* 幅 */
  height: var(--dots-height);
  /* 高さ */
  opacity: 0.25;
  /* 透明度 */
  margin: 0 var(--dots-space);
  /* ドット同士の間隔 */
  border: none;
  /* デフォルトの線を消す */
}

/* line 82, ../scss/components/_vendor-splide.scss */
.splide__pagination__page.is-active {
  opacity: 1;
  z-index: 1;
}

/* line 88, ../scss/components/_vendor-splide.scss */
.splide__arrows--on-dark .splide__arrow {
  background-color: #ffffff;
  color: #3a3a3a;
}

/* line 94, ../scss/components/_vendor-splide.scss */
.p-slider-pages__dots-indicator {
  display: flex;
}

/* line 97, ../scss/components/_vendor-splide.scss */
.p-slider-pages__dots-indicator button {
  --dots-width: 1.8rem;
  --dots-height: 0.3rem;
  --dots-space: 0.5rem;
  background: #3a3a3a;
  /* 色 */
  width: var(--dots-width);
  /* 幅 */
  height: var(--dots-height);
  /* 高さ */
  opacity: 0.25;
  /* 透明度 */
  margin: 0 var(--dots-space);
  /* ドット同士の間隔 */
  border: none;
  /* デフォルトの線を消す */
}

/* line 109, ../scss/components/_vendor-splide.scss */
.p-slider-pages__dots-indicator button.is-active {
  opacity: 1;
  z-index: 1;
}

/* line 117, ../scss/components/_vendor-splide.scss */
.splide__pagination:has(li:nth-child(14)) .splide__pagination__page {
  width: 0.6rem;
  margin: 0 0.3rem;
}
@media screen and (min-width: 744px) {
  /* line 117, ../scss/components/_vendor-splide.scss */
  .splide__pagination:has(li:nth-child(14)) .splide__pagination__page {
    width: var(--dots-width);
    /* 幅 */
    margin: 0 var(--dots-space);
    /* ドット同士の間隔 */
  }
}

/* line 128, ../scss/components/_vendor-splide.scss */
.c-home-slider {
  --layout-space: 1.5rem;
  padding-left: var(--layout-space);
  padding-right: var(--layout-space);
}
@media screen and (min-width: 744px) {
  /* line 128, ../scss/components/_vendor-splide.scss */
  .c-home-slider {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 139, ../scss/components/_vendor-splide.scss */
.c-home-slider .splide__slide {
  padding-left: var(--layout-space);
  padding-right: var(--layout-space);
}
@media screen and (min-width: 744px) {
  /* line 139, ../scss/components/_vendor-splide.scss */
  .c-home-slider .splide__slide {
    padding-right: 0;
  }
}

/* line 146, ../scss/components/_vendor-splide.scss */
.c-home-slider .splide__arrow--next {
  right: calc(var(--layout-space) * -1);
}

/* line 149, ../scss/components/_vendor-splide.scss */
.c-home-slider .splide__arrow--prev {
  left: calc(var(--layout-space) * -1);
}

/* line 152, ../scss/components/_vendor-splide.scss */
.c-home-slider .splide__pagination {
  justify-content: flex-start;
  padding-left: 3rem;
}

/* line 160, ../scss/components/_vendor-splide.scss */
.c-home-slider--sp-multiple .splide__slide {
  padding-right: 0;
}

/* line 178, ../scss/components/_vendor-splide.scss */
.splide__slide .c-card-post {
  height: 100%;
}

/* line 181, ../scss/components/_vendor-splide.scss */
.splide__slide .c-card-post__info {
  flex: 1 1 auto;
}

/* line 191, ../scss/components/_vendor-splide.scss */
.p-slider-story .splide__track {
  overflow: hidden;
}
/* line 195, ../scss/components/_vendor-splide.scss */
.p-slider-story .splide__list {
  display: flex;
}
/* line 199, ../scss/components/_vendor-splide.scss */
.p-slider-story .splide__slide {
  flex-shrink: 0;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 199, ../scss/components/_vendor-splide.scss */
  .p-slider-story .splide__slide {
    width: calc(100% - 1.5rem - 8.5rem);
  }
}

/* line 216, ../scss/components/_vendor-splide.scss */
.p-slider-new-house .splide__track,
.p-slider-land .splide__track {
  overflow: hidden;
}
/* line 221, ../scss/components/_vendor-splide.scss */
.p-slider-new-house .splide__list,
.p-slider-land .splide__list {
  display: flex;
}
/* line 226, ../scss/components/_vendor-splide.scss */
.p-slider-new-house .splide__slide,
.p-slider-land .splide__slide {
  flex-shrink: 0;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 226, ../scss/components/_vendor-splide.scss */
  .p-slider-new-house .splide__slide,
  .p-slider-land .splide__slide {
    width: calc((100% - 1.5rem - 15rem) / 2);
  }
}
@media screen and (min-width: 1280px) {
  /* line 226, ../scss/components/_vendor-splide.scss */
  .p-slider-new-house .splide__slide,
  .p-slider-land .splide__slide {
    width: calc((100% - 1.5rem - 3rem) / 3);
  }
}
@media screen and (min-width: 1920px) {
  /* line 226, ../scss/components/_vendor-splide.scss */
  .p-slider-new-house .splide__slide,
  .p-slider-land .splide__slide {
    width: calc((100% - 1.5rem - 10rem) / 3);
  }
}

/* line 253, ../scss/components/_vendor-splide.scss */
.p-slider-youtube .splide__track {
  overflow: hidden;
}
/* line 258, ../scss/components/_vendor-splide.scss */
.p-slider-youtube .splide__list {
  display: flex;
}
/* line 263, ../scss/components/_vendor-splide.scss */
.p-slider-youtube .splide__slide {
  flex-shrink: 0;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 263, ../scss/components/_vendor-splide.scss */
  .p-slider-youtube .splide__slide {
    width: calc(100% - 1.5rem - 15rem);
  }
}
@media screen and (min-width: 1280px) {
  /* line 263, ../scss/components/_vendor-splide.scss */
  .p-slider-youtube .splide__slide {
    width: calc((100% - 1.5rem - 6rem) / 2);
  }
}

/* line 284, ../scss/components/_vendor-splide.scss */
.p-slider-short .splide__track {
  overflow: hidden;
}
/* line 289, ../scss/components/_vendor-splide.scss */
.p-slider-short .splide__list {
  display: flex;
}
/* line 294, ../scss/components/_vendor-splide.scss */
.p-slider-short .splide__slide {
  flex-shrink: 0;
  width: calc((100% - 3.5rem) / 2);
}
@media screen and (min-width: 744px) {
  /* line 294, ../scss/components/_vendor-splide.scss */
  .p-slider-short .splide__slide {
    width: calc((100% - 1.5rem - 3rem) / 3);
  }
}
@media screen and (min-width: 1280px) {
  /* line 294, ../scss/components/_vendor-splide.scss */
  .p-slider-short .splide__slide {
    width: calc((100% - 1.5rem - 9rem) / 3);
  }
}

/* line 315, ../scss/components/_vendor-splide.scss */
.p-slider-event .splide__track {
  overflow: hidden;
}
/* line 320, ../scss/components/_vendor-splide.scss */
.p-slider-event .splide__list {
  display: flex;
}
/* line 325, ../scss/components/_vendor-splide.scss */
.p-slider-event .splide__slide {
  flex-shrink: 0;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 325, ../scss/components/_vendor-splide.scss */
  .p-slider-event .splide__slide {
    width: calc((100% - 1.5rem - 15rem) / 2);
  }
}
@media screen and (min-width: 1280px) {
  /* line 325, ../scss/components/_vendor-splide.scss */
  .p-slider-event .splide__slide {
    width: calc((100% - 1.5rem - 3rem) / 3);
  }
}
@media screen and (min-width: 1920px) {
  /* line 325, ../scss/components/_vendor-splide.scss */
  .p-slider-event .splide__slide {
    width: calc((100% - 1.5rem - 10rem) / 3);
  }
}

/* line 382, ../scss/components/_vendor-splide.scss */
.p-slider-works-home .splide__track {
  overflow: hidden;
}
/* line 387, ../scss/components/_vendor-splide.scss */
.p-slider-works-home .splide__list {
  display: flex;
}
/* line 392, ../scss/components/_vendor-splide.scss */
.p-slider-works-home .splide__slide {
  flex-shrink: 0;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 392, ../scss/components/_vendor-splide.scss */
  .p-slider-works-home .splide__slide {
    width: calc((100% - 1.5rem - 15rem) / 2);
  }
}
@media screen and (min-width: 1280px) {
  /* line 392, ../scss/components/_vendor-splide.scss */
  .p-slider-works-home .splide__slide {
    width: calc((100% - 1.5rem - 10rem) / 3);
  }
}

/* line 413, ../scss/components/_vendor-splide.scss */
.p-slider-works-renovation .splide__track {
  overflow: hidden;
}
/* line 418, ../scss/components/_vendor-splide.scss */
.p-slider-works-renovation .splide__list {
  display: flex;
}
/* line 423, ../scss/components/_vendor-splide.scss */
.p-slider-works-renovation .splide__slide {
  flex-shrink: 0;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 423, ../scss/components/_vendor-splide.scss */
  .p-slider-works-renovation .splide__slide {
    width: calc((100% - 1.5rem - 15rem) / 2);
  }
}
@media screen and (min-width: 1280px) {
  /* line 423, ../scss/components/_vendor-splide.scss */
  .p-slider-works-renovation .splide__slide {
    width: calc((100% - 1.5rem - 10rem) / 3);
  }
}

/* line 444, ../scss/components/_vendor-splide.scss */
.p-nav-slider .splide {
  margin: 0;
}

/* line 447, ../scss/components/_vendor-splide.scss */
.p-nav-slider .splide__arrows {
  width: auto;
  height: auto;
}

/* line 452, ../scss/components/_vendor-splide.scss */
.p-nav-slider .splide__arrow {
  position: static;
  transform: none;
  display: block;
  height: auto;
  padding: 0;
  background-color: transparent;
  color: #3a3a3a;
  box-shadow: none;
  font-size: 1em;
}

/* line 464, ../scss/components/_vendor-splide.scss */
.p-nav-slider .splide__arrow > span {
  font-family: "FP-ヒラギノ角ゴ ProN W3", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 300;
  transform: none;
}

/* line 4, ../scss/project/_common.scss */
.p-sec-top-square {
  min-height: 43rem;
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: #f7f6f2;
}

/* line 11, ../scss/project/_common.scss */
.p-sec-top-square::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
}

/* line 22, ../scss/project/_common.scss */
.p-sec-top-square[style*="--bg-img"]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/kari_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1);
  background-size: cover;
  z-index: 10;
}

/* line 42, ../scss/project/_common.scss */
.p-sec-top-square__media {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  z-index: 15;
  max-width: 128rem;
}

/* line 52, ../scss/project/_common.scss */
.p-sec-top-square__media > img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

/* line 60, ../scss/project/_common.scss */
.p-sec-top-square__content {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 30;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 60, ../scss/project/_common.scss */
  .p-sec-top-square__content {
    padding-left: 9.5rem;
    padding-right: 9.5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 60, ../scss/project/_common.scss */
  .p-sec-top-square__content {
    padding-left: 14rem;
    padding-right: 14rem;
  }
}

/* line 80, ../scss/project/_common.scss */
.p-sec-top-square--dark {
  color: #ffffff;
}

/* line 83, ../scss/project/_common.scss */
.p-sec-top-square--dark::before {
  background-color: rgba(58, 58, 58, 0.5);
}

/* line 86, ../scss/project/_common.scss */
.p-sec-top-square--white::before {
  background-color: rgba(255, 255, 255, 0.85);
}

/* line 93, ../scss/project/_common.scss */
.p-sec-top-stack {
  min-height: calc(100vh - 7rem);
  padding: 0;
}
@media screen and (min-width: 744px) {
  /* line 93, ../scss/project/_common.scss */
  .p-sec-top-stack {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 1280px) {
  /* line 93, ../scss/project/_common.scss */
  .p-sec-top-stack {
    min-height: 0;
    display: block;
  }
}

/* line 106, ../scss/project/_common.scss */
.p-sec-top-stack__header {
  background-color: #f7f6f2;
}
@media screen and (min-width: 1280px) {
  /* line 106, ../scss/project/_common.scss */
  .p-sec-top-stack__header {
    flex: 1 1 0%;
  }
}

/* line 114, ../scss/project/_common.scss */
.p-sec-top-stack__media {
  width: 100%;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1280px) {
  /* line 114, ../scss/project/_common.scss */
  .p-sec-top-stack__media {
    padding-left: 14rem;
    padding-right: 14rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 114, ../scss/project/_common.scss */
  .p-sec-top-stack__media {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 1280px) {
  /* line 131, ../scss/project/_common.scss */
  .p-sec-top-stack__media-inner {
    position: relative;
    overflow: hidden;
  }
}

@media screen and (min-width: 1280px) {
  /* line 140, ../scss/project/_common.scss */
  .p-sec-top-stack__media-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--bg-img);
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.5);
    background-size: 100% 100%;
    z-index: 10;
    filter: blur(5px);
  }
}

/* line 157, ../scss/project/_common.scss */
.p-sec-top-stack__media-inner > figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1 / 1;
}
@media screen and (min-width: 744px) {
  /* line 157, ../scss/project/_common.scss */
  .p-sec-top-stack__media-inner > figure {
    aspect-ratio: 10 / 7;
  }
}
@media screen and (min-width: 1280px) {
  /* line 157, ../scss/project/_common.scss */
  .p-sec-top-stack__media-inner > figure {
    min-width: 72rem;
    width: 90vh;
    max-width: 93%;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 16 / 9;
  }
}
@media screen and (min-width: 1920px) {
  /* line 157, ../scss/project/_common.scss */
  .p-sec-top-stack__media-inner > figure {
    min-width: 92rem;
  }
}

/* line 178, ../scss/project/_common.scss */
.p-sec-top-stack__media img {
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 15;
}

@media screen and (min-width: 744px) {
  /* line 187, ../scss/project/_common.scss */
  .p-sec-top-stack__body {
    flex: 1 1 auto;
  }
}
@media screen and (min-width: 1280px) {
  /* line 187, ../scss/project/_common.scss */
  .p-sec-top-stack__body {
    flex: 0 1 auto;
  }
}

/* line 195, ../scss/project/_common.scss */
.p-sec-top-stack__content {
  padding-top: 3rem;
  padding-bottom: 5rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 1280px) {
  /* line 195, ../scss/project/_common.scss */
  .p-sec-top-stack__content {
    padding-bottom: 6rem;
  }
}

/* line 210, ../scss/project/_common.scss */
.p-sec-top-full {
  min-height: calc(100vh - 7rem - 6rem);
  position: relative;
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 210, ../scss/project/_common.scss */
  .p-sec-top-full {
    min-height: calc(100vh - 7rem);
  }
}

/* line 221, ../scss/project/_common.scss */
.p-sec-top-full::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
}

/* line 231, ../scss/project/_common.scss */
.p-sec-top-full__media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* line 238, ../scss/project/_common.scss */
.p-sec-top-full__media img {
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 15;
}

/* line 247, ../scss/project/_common.scss */
.p-sec-top-full__content {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 30;
  width: 100%;
}
@media screen and (min-width: 1920px) {
  /* line 247, ../scss/project/_common.scss */
  .p-sec-top-full__content {
    padding-left: 14rem;
    padding-right: 14rem;
  }
}

/* line 263, ../scss/project/_common.scss */
.p-sec-top-full--dark {
  color: #ffffff;
}

/* line 266, ../scss/project/_common.scss */
.p-sec-top-full--dark::before {
  background-color: rgba(58, 58, 58, 0.5);
}

/* line 269, ../scss/project/_common.scss */
.p-sec-top-full--black {
  color: #ffffff;
}

/* line 272, ../scss/project/_common.scss */
.p-sec-top-full--black::before {
  background-color: rgba(0, 0, 0, 0.5);
}

/* line 275, ../scss/project/_common.scss */
.p-sec-top-full--white::before {
  background-color: rgba(255, 255, 255, 0.85);
}

/* line 278, ../scss/project/_common.scss */
.p-sec-top-full--fill-white {
  background-color: #ffffff;
  color: #3a3a3a;
}

/* line 282, ../scss/project/_common.scss */
.p-sec-top-full--fill-white::before {
  display: none;
}

/* line 289, ../scss/project/_common.scss */
.p-sec-floor-plan__body {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 289, ../scss/project/_common.scss */
  .p-sec-floor-plan__body {
    padding-left: 12rem;
    padding-right: 12rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 1280px) {
  /* line 289, ../scss/project/_common.scss */
  .p-sec-floor-plan__body {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 289, ../scss/project/_common.scss */
  .p-sec-floor-plan__body {
    max-width: 131rem;
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 312, ../scss/project/_common.scss */
.p-sec-floor-plan__block {
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 312, ../scss/project/_common.scss */
  .p-sec-floor-plan__block {
    width: calc((100% - var(--gap)) / 2);
  }
}
@media screen and (min-width: 1280px) {
  /* line 312, ../scss/project/_common.scss */
  .p-sec-floor-plan__block {
    width: calc((100% - var(--gap) * 2) / 3);
  }
}

/* line 326, ../scss/project/_common.scss */
.p-sec-spec__header {
  margin-bottom: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 326, ../scss/project/_common.scss */
  .p-sec-spec__header {
    margin-bottom: 5rem;
  }
}

/* line 332, ../scss/project/_common.scss */
.p-sec-spec__body {
  --gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 332, ../scss/project/_common.scss */
  .p-sec-spec__body {
    display: flex;
    gap: var(--gap);
  }
}

/* line 340, ../scss/project/_common.scss */
.p-sec-spec__main {
  margin-bottom: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 340, ../scss/project/_common.scss */
  .p-sec-spec__main {
    width: calc((100% - var(--gap)) / 2);
    margin-bottom: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 347, ../scss/project/_common.scss */
  .p-sec-spec__sub {
    width: calc((100% - var(--gap)) / 2);
  }
}

/* line 355, ../scss/project/_common.scss */
.p-sec-spec__sub {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 362, ../scss/project/_common.scss */
.p-spec-address {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 369, ../scss/project/_common.scss */
.p-spec-address__block {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* line 374, ../scss/project/_common.scss */
.p-spec-address__label {
  line-height: 1;
  width: 6em;
  text-align: center;
  padding: 0.3em;
  border: solid 0.1rem #ffffff;
  flex-shrink: 0;
}

/* line 382, ../scss/project/_common.scss */
.p-spec-address__text {
  font-size: 1.3em;
  line-height: 1.7;
}

/* line 387, ../scss/project/_common.scss */
.p-spec-price {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 0.3em;
}

/* line 395, ../scss/project/_common.scss */
.p-spec-price__label {
  font-size: 1.15em;
}

/* line 398, ../scss/project/_common.scss */
.p-spec-price__number {
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 2.3em;
}

/* line 403, ../scss/project/_common.scss */
.p-spec-price__unit {
  font-size: 1.3em;
}

/* line 407, ../scss/project/_common.scss */
.p-spec-head {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  line-height: 1.4;
}

/* line 413, ../scss/project/_common.scss */
.p-spec-head__title {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  font-size: 1.3em;
}

/* line 419, ../scss/project/_common.scss */
.p-spec-desc {
  letter-spacing: 0.05em;
}

/* line 423, ../scss/project/_common.scss */
.p-spec-tag-list {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  line-height: 1.7;
}

/* line 431, ../scss/project/_common.scss */
.p-spec-tag-list > li {
  font-size: 1.15em;
}

/* line 434, ../scss/project/_common.scss */
.p-spec-tag-list > li::before {
  content: "＃";
}

/* line 442, ../scss/project/_common.scss */
.p-list-after-service {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 442, ../scss/project/_common.scss */
  .p-list-after-service {
    flex-wrap: wrap;
    flex-direction: row;
  }
}

/* line 452, ../scss/project/_common.scss */
.p-list-after-service__item {
  display: flex;
  gap: 0.5rem;
  line-height: 1.5;
}
@media screen and (min-width: 744px) {
  /* line 452, ../scss/project/_common.scss */
  .p-list-after-service__item {
    width: calc((100% - var(--gap)) / 2);
  }
}

/* line 461, ../scss/project/_common.scss */
.p-list-after-service__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1 1 0%;
}

/* line 467, ../scss/project/_common.scss */
.p-list-after-service__icon {
  width: 8.4rem;
  flex-shrink: 0;
}

/* line 471, ../scss/project/_common.scss */
.p-list-after-service h3 {
  line-height: 1;
}

/* line 480, ../scss/project/_common.scss */
.p-list-visit {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  line-height: 1.7;
}
@media screen and (min-width: 744px) {
  /* line 480, ../scss/project/_common.scss */
  .p-list-visit {
    flex-direction: row;
    --gap: 4rem;
  }
}

/* line 491, ../scss/project/_common.scss */
.p-list-visit__item {
  position: relative;
  padding-left: calc(2em + 1.5rem);
}
@media screen and (min-width: 744px) {
  /* line 491, ../scss/project/_common.scss */
  .p-list-visit__item {
    padding-left: 0;
    width: calc((100% - var(--gap) * 2) / 3);
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 503, ../scss/project/_common.scss */
  .p-list-visit__header {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
}

/* line 510, ../scss/project/_common.scss */
.p-list-visit__label {
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
  background-color: #3a3a3a;
  color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 2em;
  height: 2em;
}
@media screen and (min-width: 744px) {
  /* line 510, ../scss/project/_common.scss */
  .p-list-visit__label {
    position: relative;
  }
}

/* line 525, ../scss/project/_common.scss */
.p-list-visit__label::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}

/* line 531, ../scss/project/_common.scss */
.p-list-visit__label > span {
  font-size: 1.5em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  z-index: 1;
}

/* line 545, ../scss/project/_common.scss */
.p-sec-point__body {
  --gap: 5rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 545, ../scss/project/_common.scss */
  .p-sec-point__body {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
    flex-wrap: wrap;
    flex-direction: row;
  }
}

@media screen and (min-width: 744px) {
  /* line 562, ../scss/project/_common.scss */
  .p-sec-point__block {
    width: calc((100% - var(--gap)) / 2);
  }
}

/* line 570, ../scss/project/_common.scss */
.p-card-point {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 575, ../scss/project/_common.scss */
.p-card-point__head {
  padding: 0 1rem;
}
@media screen and (min-width: 744px) {
  /* line 575, ../scss/project/_common.scss */
  .p-card-point__head {
    padding: 0;
  }
}

/* line 581, ../scss/project/_common.scss */
.p-card-point__desc {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 0 1rem;
  line-height: 1.7;
}
@media screen and (min-width: 744px) {
  /* line 581, ../scss/project/_common.scss */
  .p-card-point__desc {
    padding: 0;
  }
}

/* line 600, ../scss/project/_common.scss */
.p-news {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}

/* line 605, ../scss/project/_common.scss */
.p-news-list {
  font-size: 1em;
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  gap: 0.7em;
}

/* line 612, ../scss/project/_common.scss */
.p-news-list__item {
  display: flex;
  gap: 1rem;
  letter-spacing: 0.03em;
}

/* line 617, ../scss/project/_common.scss */
.p-news__date {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

/* line 621, ../scss/project/_common.scss */
.p-news__link {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* line 626, ../scss/project/_common.scss */
.p-news__link {
  font-size: 14px;
}

/* line 632, ../scss/project/_common.scss */
.p-process-desc {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  text-align: center;
  letter-spacing: 0.05em;
}

/* line 640, ../scss/project/_common.scss */
.p-process-desc__item {
  font-size: 1.3em;
}

/* line 646, ../scss/project/_common.scss */
.p-workers-nav-container {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 744px) {
  /* line 646, ../scss/project/_common.scss */
  .p-workers-nav-container {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
  }
}

@media screen and (min-width: 744px) {
  /* line 655, ../scss/project/_common.scss */
  .p-sec-contact > .l-stack {
    gap: 10rem;
  }
}

/* line 663, ../scss/project/_common.scss */
.p-form-area {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 663, ../scss/project/_common.scss */
  .p-form-area {
    gap: 10rem;
  }
}

/* line 671, ../scss/project/_common.scss */
.p-form-area__header {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* line 676, ../scss/project/_common.scss */
.p-form-area__header--lg {
  gap: 5rem;
}

@media screen and (min-width: 744px) {
  /* line 679, ../scss/project/_common.scss */
  .p-form-area__title {
    text-align: center;
  }
}

/* line 687, ../scss/project/_common.scss */
.p-modelhouse-ad {
  padding: 3rem;
  background-color: #f7f6f2;
}
@media screen and (min-width: 744px) {
  /* line 687, ../scss/project/_common.scss */
  .p-modelhouse-ad {
    padding: 5rem;
  }
}

/* line 695, ../scss/project/_common.scss */
.p-modelhouse-ad__inner {
  display: flex;
  flex-direction: column-reverse;
  gap: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 695, ../scss/project/_common.scss */
  .p-modelhouse-ad__inner {
    flex-direction: row;
    gap: 3rem;
  }
}

/* line 704, ../scss/project/_common.scss */
.p-modelhouse-ad__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 0.85em;
}
@media screen and (max-width: 374px) {
  /* line 704, ../scss/project/_common.scss */
  .p-modelhouse-ad__content {
    font-size: 10px;
  }
}
@media screen and (min-width: 744px) {
  /* line 704, ../scss/project/_common.scss */
  .p-modelhouse-ad__content {
    font-size: 1em;
  }
}

/* line 721, ../scss/project/_common.scss */
.p-modelhouse-ad__desc {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 726, ../scss/project/_common.scss */
.p-modelhouse-ad__info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media screen and (min-width: 744px) {
  /* line 731, ../scss/project/_common.scss */
  .p-modelhouse-ad__media {
    width: 48.5%;
    flex-shrink: 0;
  }
}

/* line 737, ../scss/project/_common.scss */
.p-modelhouse-ad__figure {
  position: relative;
}

/* line 740, ../scss/project/_common.scss */
.p-modelhouse-ad__figure::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 70%;
}

/* line 746, ../scss/project/_common.scss */
.p-modelhouse-ad__figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 754, ../scss/project/_common.scss */
.p-modelhouse-ad__gmap {
  margin-top: 1rem;
}

/* line 760, ../scss/project/_common.scss */
.p-form-message {
  padding: 3rem;
  background-color: #f7f6f2;
}
@media screen and (min-width: 744px) {
  /* line 760, ../scss/project/_common.scss */
  .p-form-message {
    padding: 5rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 768, ../scss/project/_common.scss */
  .p-form-message__desc {
    text-align: center;
  }
}

/* line 776, ../scss/project/_common.scss */
.js-accordion-content {
  max-height: 0;
  overflow: hidden;
  margin-top: 0;
  transition: max-height 0.5s ease-out;
}

/* line 783, ../scss/project/_common.scss */
.js-accordion-trigger {
  height: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  line-height: 1;
  background-color: #ffffff;
  border: solid 0.1rem #3a3a3a;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}

/* line 798, ../scss/project/_common.scss */
.js-input-example-text {
  display: inline-block;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 1;
  transform: translateY(0);
}

/* line 808, ../scss/project/_common.scss */
.js-input-example-text.is-switching {
  opacity: 0;
}

/* line 814, ../scss/project/_common.scss */
.c-icon-plus-minus {
  --icon-plus-minus-size: 1rem;
  display: block;
  width: var(--icon-plus-minus-size);
  height: var(--icon-plus-minus-size);
  position: relative;
}

/* line 821, ../scss/project/_common.scss */
.c-icon-plus-minus::before,
.c-icon-plus-minus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: currentColor;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 831, ../scss/project/_common.scss */
.c-icon-plus-minus::before {
  width: var(--icon-plus-minus-size);
  height: 0.2rem;
}

/* line 835, ../scss/project/_common.scss */
.c-icon-plus-minus::after {
  width: 0.2rem;
  height: var(--icon-plus-minus-size);
  transform: translate(-50%, -50%) rotate(0deg);
}

/* line 841, ../scss/project/_common.scss */
.js-accordion-trigger.is-active .c-icon-plus-minus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* line 846, ../scss/project/_common.scss */
.p-input-example {
  background-color: #f2f2f2;
  padding: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 846, ../scss/project/_common.scss */
  .p-input-example {
    padding: 3rem;
  }
}

/* line 853, ../scss/project/_common.scss */
.p-input-example__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 858, ../scss/project/_common.scss */
.p-input-example__title {
  font-size: 1.15em;
}

/* line 864, ../scss/project/_common.scss */
.p-nav-select-panel {
  background-color: #ffffff;
  border: solid 0.1rem #3a3a3a;
  border-top: none;
  padding: 3rem;
}

/* line 871, ../scss/project/_common.scss */
.p-job-about__dl,
.p-job-about__dl > div {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 881, ../scss/project/_common.scss */
.p-sec-modelhouse {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 881, ../scss/project/_common.scss */
  .p-sec-modelhouse {
    gap: 10rem;
  }
}

/* line 890, ../scss/project/_common.scss */
.p-sec-modelhouse__body .p-modelhouse-ad {
  background-color: transparent;
  color: #ffffff;
  padding: 0;
}

/* line 895, ../scss/project/_common.scss */
.p-sec-modelhouse__body .js-accordion-trigger {
  color: #3a3a3a;
}

/* line 898, ../scss/project/_common.scss */
.p-sec-modelhouse__body .p-input-example {
  color: #3a3a3a;
}

/* line 901, ../scss/project/_common.scss */
.p-sec-modelhouse__body .c-form__btn-zip {
  background-color: #f7f6f2;
  color: #3a3a3a;
}

/* line 905, ../scss/project/_common.scss */
.p-sec-modelhouse__body .c-btn-submit {
  background-color: #f7f6f2;
  color: #3a3a3a;
}

/* line 909, ../scss/project/_common.scss */
.p-sec-modelhouse__body
.c-form__acceptance
input[type="checkbox"]:checked
+ .wpcf7-list-item-label::before {
  background-color: #f7f6f2;
  border-color: #f7f6f2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a3a3a' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

/* line 918, ../scss/project/_common.scss */
.p-sec-modelhouse__body button,
.p-sec-modelhouse__body input,
.p-sec-modelhouse__body optgroup,
.p-sec-modelhouse__body select,
.p-sec-modelhouse__body textarea {
  color: #3a3a3a;
}

/* line 929, ../scss/project/_common.scss */
.p-modal-members {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 1, 1), visibility 0.2s;
}

/* line 947, ../scss/project/_common.scss */
.p-modal-members.is-popup {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1), visibility 0.2s;
}

/* line 956, ../scss/project/_common.scss */
.p-modal-members__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

/* line 967, ../scss/project/_common.scss */
.p-modal-members__wrap {
  position: relative;
  z-index: 10;
  width: 100%;
  min-height: 100vh;
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-left: 3rem;
  padding-right: 3rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1280px) {
  /* line 967, ../scss/project/_common.scss */
  .p-modal-members__wrap {
    padding-top: 10rem;
    padding-bottom: 10rem;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1920px) {
  /* line 967, ../scss/project/_common.scss */
  .p-modal-members__wrap {
    padding-top: 15rem;
    padding-bottom: 15rem;
  }
}

/* line 999, ../scss/project/_common.scss */
.p-modal-members__content {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  display: flex;
}

/* line 1008, ../scss/project/_common.scss */
.p-modal-members__body {
  position: relative;
  height: fit-content;
  margin: auto;
}

/* line 1014, ../scss/project/_common.scss */
.p-modal-members__close-btn {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  background-color: rgba(0, 0, 0, 0.5);
  color: #ffffff;
}
@media screen and (min-width: 744px) {
  /* line 1014, ../scss/project/_common.scss */
  .p-modal-members__close-btn {
    top: 5.5rem;
  }
}

/* line 1033, ../scss/project/_common.scss */
.c-icon-close {
  display: block;
  position: relative;
  width: 1em;
  height: 1em;
}

/* line 1041, ../scss/project/_common.scss */
.c-icon-close::before,
.c-icon-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}

/* line 1053, ../scss/project/_common.scss */
.c-icon-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

/* line 1058, ../scss/project/_common.scss */
.c-icon-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (min-width: 744px) {
  /* line 1064, ../scss/project/_common.scss */
  .p-sec-tel-info {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

/* line 1071, ../scss/project/_common.scss */
.p-tel-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 744px) {
  /* line 1071, ../scss/project/_common.scss */
  .p-tel-info {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

/* line 1081, ../scss/project/_common.scss */
.p-tel-info__title {
  font-size: 1.5em;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding-bottom: 1rem;
  border-bottom: solid 0.1rem currentColor;
}
@media screen and (min-width: 744px) {
  /* line 1081, ../scss/project/_common.scss */
  .p-tel-info__title {
    justify-content: center;
    padding-bottom: 2rem;
    margin-bottom: 1rem;
  }
}

/* line 1096, ../scss/project/_common.scss */
.p-tel-info__title::before {
  content: "";
  display: block;
  width: 3.3rem;
  height: 3.3rem;
  background-image: url(../images/icon_tel.png);
  background-repeat: no-repeat;
  background-size: contain;
}

/* line 1106, ../scss/project/_common.scss */
.p-tel-info__link {
  font-size: 3em;
  font-family: "AvenirLTPro-Black", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 900;
  color: #d23939;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 5rem;
  cursor: pointer;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

@media screen and (min-width: 744px) {
  /* line 1121, ../scss/project/_common.scss */
  .p-tel-info__link:hover {
    opacity: 0.7;
  }
}

/* line 1126, ../scss/project/_common.scss */
.p-tel-info__link::before {
  content: "";
  display: block;
  width: 4.8rem;
  height: 3.2rem;
  background-image: url(../images/icon_free-dial.png);
  background-repeat: no-repeat;
  background-size: contain;
}

/* line 1135, ../scss/project/_common.scss */
.p-tel-info__link > span {
  transform: translateY(0.03em);
}

/* line 1140, ../scss/project/_common.scss */
.p-tel-info__about {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  font-size: 1.5em;
  line-height: 1.7;
}

/* line 1146, ../scss/project/_common.scss */
.p-tel-info__about > div {
  display: flex;
  gap: 0.5em;
}
@media screen and (min-width: 744px) {
  /* line 1146, ../scss/project/_common.scss */
  .p-tel-info__about > div {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

/* line 13, ../scss/project/_home.scss */
.home .l-section {
  gap: 10rem;
}
@media screen and (min-width: 744px) {
  /* line 17, ../scss/project/_home.scss */
  .home .l-content--left-only {
    padding-right: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 17, ../scss/project/_home.scss */
  .home .l-content--left-only {
    padding-right: var(--content-padding);
  }
}
/* line 27, ../scss/project/_home.scss */
.home .l-indicator-slide {
  color: #ffffff;
}
/* line 30, ../scss/project/_home.scss */
.home .l-indicator-slide.is-active {
  color: #3a3a3a;
}

/* line 55, ../scss/project/_home.scss */
.p-home-top {
  --sidebar-w: 14.5rem;
  --sidebar-margin: 5rem;
  --sidebar-margin-wide: 12.5rem;
  --layout-gap: 5rem;
  padding-top: 0;
  padding-bottom: 0;
  color: #ffffff;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.5), 0.1rem 0.1rem rgba(0, 0, 0, 0.5);
}

/* line 94, ../scss/project/_home.scss */
.p-home-top__inner {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 7rem);
  min-height: calc(100svh - 7rem);
  padding-bottom: 6rem;
}
@media screen and (min-width: 744px) {
  /* line 94, ../scss/project/_home.scss */
  .p-home-top__inner {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1920px) {
  /* line 94, ../scss/project/_home.scss */
  .p-home-top__inner {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* line 118, ../scss/project/_home.scss */
.p-home-top__header {
  flex: 1;
  display: flex;
  align-items: center;
}

/* line 123, ../scss/project/_home.scss */
.p-home-top__header-inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
  position: relative;
}

/* line 131, ../scss/project/_home.scss */
.p-home-top__title {
  width: 100%;
}

/* line 134, ../scss/project/_home.scss */
.p-home-top__heading {
  --line-heigt: 1.4;
  font-size: 1.5em;
  line-height: var(--line-heigt);
  display: flex;
  flex-direction: column;
  gap: 1.4em;
}
@media screen and (min-width: 744px) {
  /* line 134, ../scss/project/_home.scss */
  .p-home-top__heading {
    font-size: 2em;
    text-align: center;
  }
}

/* line 147, ../scss/project/_home.scss */
.p-home-top__main-ttl {
  display: block;
  font-size: 2.5em;
  letter-spacing: 0.05em;
}

/* line 152, ../scss/project/_home.scss */
.p-home-top__main-ttl::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  /* 計算式： (1 - 行間) ÷ 2 = 上の余白分 */
  /* これをマイナスのマージンとして適用します */
  margin-top: calc((1 - var(--line-heigt)) / 2 * 1em);
}

/* line 162, ../scss/project/_home.scss */
.p-home-top__sub-ttl {
  display: block;
}

@media screen and (min-width: 1920px) {
  /* line 185, ../scss/project/_home.scss */
  .p-sec-slogan .l-stack {
    gap: 10rem;
  }
}

/* line 190, ../scss/project/_home.scss */
.p-sec-slogan__media {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 190, ../scss/project/_home.scss */
  .p-sec-slogan__media {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 199, ../scss/project/_home.scss */
.p-sec-slogan__desc {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 199, ../scss/project/_home.scss */
  .p-sec-slogan__desc {
    gap: 4rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 207, ../scss/project/_home.scss */
  .p-sec-slogan__desc p {
    font-size: 1.3em;
  }
}

/* line 216, ../scss/project/_home.scss */
.p-concept {
  font-size: 1.3em;
}

/* line 219, ../scss/project/_home.scss */
.p-concept__inner {
  --layout-ratio: 0.5;
  --img-aspect: 0.5625;
  --indent-sp: 3rem;
  --indent-tab: 5rem;
  --indent-pc-wide: 14rem;
  --indent-pc-narrow: 7.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  padding-left: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 219, ../scss/project/_home.scss */
  .p-concept__inner {
    --img-aspect: 0.7;
  }
}
@media screen and (min-width: 744px) {
  /* line 219, ../scss/project/_home.scss */
  .p-concept__inner {
    gap: 4rem;
    padding-left: 0;
    padding-right: calc(var(--layout-ratio) * 100%);
    min-height: calc((100vw * var(--layout-ratio) * var(--img-aspect)));
  }
}
@media screen and (min-width: 1280px) {
  /* line 219, ../scss/project/_home.scss */
  .p-concept__inner {
    justify-content: center;
    min-height: calc( (128rem * var(--layout-ratio) * var(--img-aspect)) );
  }
}

/* line 264, ../scss/project/_home.scss */
.p-concept__title,
.p-concept__list,
.p-concept__comment,
.p-concept__button-area {
  padding-left: var(--indent-sp);
  padding-right: var(--indent-sp);
}
@media screen and (min-width: 744px) {
  /* line 264, ../scss/project/_home.scss */
  .p-concept__title,
  .p-concept__list,
  .p-concept__comment,
  .p-concept__button-area {
    padding-left: var(--indent-tab);
  }
}
@media screen and (min-width: 1280px) {
  /* line 264, ../scss/project/_home.scss */
  .p-concept__title,
  .p-concept__list,
  .p-concept__comment,
  .p-concept__button-area {
    padding-left: var(--indent-pc-wide);
    padding-right: var(--indent-pc-narrow);
  }
}

/* line 281, ../scss/project/_home.scss */
.p-concept__list .c-list-icon-left {
  gap: 1.5rem;
}

/* line 287, ../scss/project/_home.scss */
.p-concept__comment p {
  --comment-line-height: 2.5;
  line-height: var(--comment-line-height);
}

/* line 291, ../scss/project/_home.scss */
.p-concept__comment p::before,
.p-concept__comment p::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}

/* line 298, ../scss/project/_home.scss */
.p-concept__comment p::before {
  margin-top: calc((1 - var(--comment-line-height)) * 0.5em);
}

/* line 301, ../scss/project/_home.scss */
.p-concept__comment p::after {
  margin-bottom: calc((1 - var(--comment-line-height)) * 0.5em);
}

/* line 307, ../scss/project/_home.scss */
.p-concept__media {
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 307, ../scss/project/_home.scss */
  .p-concept__media {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(var(--layout-ratio) * 100%);
  }
}

/* line 317, ../scss/project/_home.scss */
.p-concept-media > figure {
  height: 0;
  padding-top: calc(100% * var(--img-aspect));
  position: relative;
}

/* line 322, ../scss/project/_home.scss */
.p-concept-media > figure img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 744px) {
  /* line 333, ../scss/project/_home.scss */
  .p-sec-concept--page .p-concept__inner {
    padding-left: calc(var(--layout-ratio) * 100%);
    padding-right: 0;
    justify-content: center;
  }
}

@media screen and (min-width: 744px) {
  /* line 340, ../scss/project/_home.scss */
  .p-sec-concept--page .p-concept__title,
  .p-sec-concept--page .p-concept__list,
  .p-sec-concept--page .p-concept__comment,
  .p-sec-concept--page .p-concept__button-area {
    padding-left: var(--indent-sp);
    padding-right: var(--indent-tab);
  }
}
@media screen and (min-width: 1280px) {
  /* line 340, ../scss/project/_home.scss */
  .p-sec-concept--page .p-concept__title,
  .p-sec-concept--page .p-concept__list,
  .p-sec-concept--page .p-concept__comment,
  .p-sec-concept--page .p-concept__button-area {
    padding-left: var(--indent-pc-narrow);
    padding-right: var(--indent-pc-wide);
  }
}

@media screen and (min-width: 744px) {
  /* line 353, ../scss/project/_home.scss */
  .p-sec-concept--page .p-concept__media {
    left: 0;
    right: auto;
  }
}

/* line 362, ../scss/project/_home.scss */
.p-home-story {
  padding-bottom: 0;
  gap: 7.5rem;
}
@media screen and (min-width: 744px) {
  /* line 362, ../scss/project/_home.scss */
  .p-home-story {
    padding-bottom: var(--section-padding);
  }
}

/* line 369, ../scss/project/_home.scss */
.p-home-story:has(.p-home-story__content-top) {
  padding-bottom: var(--section-padding);
}

/* line 373, ../scss/project/_home.scss */
.c-home-ui {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 1920px) {
  /* line 373, ../scss/project/_home.scss */
  .c-home-ui {
    gap: 0;
  }
}

/* line 390, ../scss/project/_home.scss */
.p-home-story__content-top {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 390, ../scss/project/_home.scss */
  .p-home-story__content-top {
    flex-direction: row;
    gap: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 399, ../scss/project/_home.scss */
  .p-home-story__slider {
    width: 62%;
    padding-right: 4rem;
    border-right: solid 0.1rem #ffffff;
  }
}

@media screen and (min-width: 744px) {
  /* line 407, ../scss/project/_home.scss */
  .p-home-story__news {
    width: 38%;
    padding-left: 4rem;
  }
}

/* line 416, ../scss/project/_home.scss */
.p-sldier-pages-layout {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 416, ../scss/project/_home.scss */
  .p-sldier-pages-layout {
    flex-direction: row;
  }
}

/* line 424, ../scss/project/_home.scss */
.p-sldier-pages-layout__body {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 424, ../scss/project/_home.scss */
  .p-sldier-pages-layout__body {
    max-width: 73%;
  }
}

@media screen and (min-width: 744px) {
  /* line 433, ../scss/project/_home.scss */
  .p-sldier-pages-layout__footer {
    display: flex;
    align-items: flex-end;
  }
}

@media screen and (min-width: 744px) {
  /* line 439, ../scss/project/_home.scss */
  .p-sldier-pages-layout__footer .c-button-inline__link {
    padding-left: 0;
  }
}

/* line 444, ../scss/project/_home.scss */
.p-slider-pages-control {
  --height-control-item: 6rem;
  height: var(--height-control-item);
}
@media screen and (min-width: 1280px) {
  /* line 444, ../scss/project/_home.scss */
  .p-slider-pages-control {
    width: var(--sidebar-w);
  }
}

/* line 451, ../scss/project/_home.scss */
.p-home-story__news {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 461, ../scss/project/_home.scss */
.p-slider-pages__inner {
  position: relative;
}

/* line 468, ../scss/project/_home.scss */
.p-slider-pages-control__list {
  position: relative;
  display: flex;
  height: 100%;
  gap: 1.5rem;
}

/* line 475, ../scss/project/_home.scss */
.p-slider-pages-control__item {
  width: 33.33%;
  position: relative;
  text-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.15);
}

/* line 481, ../scss/project/_home.scss */
.p-slider-pages-control__content {
  width: 100%;
  height: var(--height-control-item);
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 0.1rem #f7f6f2;
  opacity: 0.25;
  color: #ffffff;
}

/* line 494, ../scss/project/_home.scss */
.p-slider-pages-control__item.is-active .p-slider-pages-control__content {
  color: #ffffff;
  background-color: rgba(247, 246, 242, 0.15);
  opacity: 1;
  border: none;
}

/* line 505, ../scss/project/_home.scss */
.c-home-ui-flex {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 505, ../scss/project/_home.scss */
  .c-home-ui-flex {
    flex-direction: row;
  }
}

@media screen and (min-width: 744px) {
  /* line 514, ../scss/project/_home.scss */
  .c-home-ui-flex__media {
    padding-left: 0;
    padding-right: 0;
    width: 78%;
  }
}

/* line 521, ../scss/project/_home.scss */
.c-home-ui-flex__text {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 521, ../scss/project/_home.scss */
  .c-home-ui-flex__text {
    padding-left: 0;
    padding-right: 0;
    width: 78%;
  }
}

/* line 530, ../scss/project/_home.scss */
.c-home-ui-flex__text p {
  line-height: 2.5;
}

/* line 533, ../scss/project/_home.scss */
.c-home-ui-flex__button {
  display: flex;
  gap: 1.5rem;
}
@media screen and (min-width: 744px) {
  /* line 533, ../scss/project/_home.scss */
  .c-home-ui-flex__button {
    width: auto;
    padding-left: 0;
    padding-right: 0;
    flex-direction: column;
  }
}

/* line 546, ../scss/project/_home.scss */
.p-home-story .splide__pagination__page {
  background: #ffffff;
}

/* line 559, ../scss/project/_home.scss */
.p-sec-modelhouse__header .c-head-icon-top {
  margin-top: 1em;
}

/* line 563, ../scss/project/_home.scss */
.p-home-modelhouse__title {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 568, ../scss/project/_home.scss */
.p-home-modelhouse__title-logo {
  font-size: 1em;
  width: 18.5em;
  margin: 0 auto;
}

/* line 575, ../scss/project/_home.scss */
.c-head-logo-top__new-text {
  font-size: 1.15em;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
  line-height: 1;
  border: solid 0.1rem #ffffff;
  display: block;
  width: fit-content;
  padding: 0.2em 1.3em;
  margin-left: auto;
  margin-right: auto;
}

/* line 587, ../scss/project/_home.scss */
.p-home-modelhouse__media__inner > figure {
  height: 0;
  padding-top: 100%;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 587, ../scss/project/_home.scss */
  .p-home-modelhouse__media__inner > figure {
    padding-top: 52.3%;
  }
}

/* line 596, ../scss/project/_home.scss */
.p-home-modelhouse__media__inner > figure img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

/* line 603, ../scss/project/_home.scss */
.p-home-modelhouse__about {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

/* line 613, ../scss/project/_home.scss */
.p-people__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 1280px) {
  /* line 613, ../scss/project/_home.scss */
  .p-people__inner {
    flex-direction: row;
    gap: 2.5rem;
  }
}

/* line 622, ../scss/project/_home.scss */
.p-people__header {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 744px) {
  /* line 622, ../scss/project/_home.scss */
  .p-people__header {
    padding-left: 0;
    padding-right: 0;
    flex-direction: row;
    align-items: flex-end;
    gap: 5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 622, ../scss/project/_home.scss */
  .p-people__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    padding-top: 1.5rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 642, ../scss/project/_home.scss */
  .p-people__title .c-head-logo-left__text {
    font-size: -2.3em;
  }
  /* line 645, ../scss/project/_home.scss */
  .p-people__title .c-head-logo-left__lead {
    font-size: 1.3em;
  }
}

/* line 650, ../scss/project/_home.scss */
.p-people__desc-box {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 744px) {
  /* line 650, ../scss/project/_home.scss */
  .p-people__desc-box {
    gap: 2rem;
  }
}

/* line 661, ../scss/project/_home.scss */
.p-people__button {
  display: flex;
  gap: 2.5rem;
}
@media screen and (min-width: 1280px) {
  /* line 661, ../scss/project/_home.scss */
  .p-people__button {
    flex-direction: column;
    gap: 2rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 661, ../scss/project/_home.scss */
  .p-people__button {
    flex-direction: row;
  }
}

@media screen and (min-width: 1280px) {
  /* line 672, ../scss/project/_home.scss */
  .p-people__body {
    width: 86rem;
    flex-shrink: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 686, ../scss/project/_home.scss */
  .p-about-us {
    display: flex;
    justify-content: center;
  }
}

/* line 692, ../scss/project/_home.scss */
.p-about-us__inner {
  padding: 5rem 2.3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  color: #3a3a3a;
  background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (min-width: 744px) {
  /* line 692, ../scss/project/_home.scss */
  .p-about-us__inner {
    width: 64rem;
    padding: 5rem 4.7rem;
  }
}

/* line 704, ../scss/project/_home.scss */
.p-about-us__body {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 709, ../scss/project/_home.scss */
.p-about-us__body p {
  line-height: 2.5;
}

/* line 712, ../scss/project/_home.scss */
.p-about-us__footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

/* line 717, ../scss/project/_home.scss */
.p-about-us__logo {
  width: 8rem;
}

/* line 720, ../scss/project/_home.scss */
.p-about-us__link {
  line-height: 1;
  height: 4rem;
}

/* line 724, ../scss/project/_home.scss */
.p-about-us__link > a {
  display: block;
  height: 100%;
  display: flex;
  align-items: flex-end;
}

/* line 734, ../scss/project/_home.scss */
.p-home-works__navigation .l-nav-select {
  width: 31rem;
}
@media screen and (min-width: 744px) {
  /* line 734, ../scss/project/_home.scss */
  .p-home-works__navigation .l-nav-select {
    width: 53rem;
    margin-right: auto;
    margin-left: 0;
  }
}

/* line 2, ../scss/project/_archive.scss */
.p-archive-section .l-content {
  --content-padding: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 2, ../scss/project/_archive.scss */
  .p-archive-section .l-content {
    --content-padding: 9.5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 2, ../scss/project/_archive.scss */
  .p-archive-section .l-content {
    --content-padding: 22rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 2, ../scss/project/_archive.scss */
  .p-archive-section .l-content {
    --content-padding: 0;
  }
}
/* line 19, ../scss/project/_archive.scss */
.p-archive-section .l-nav-select {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 744px) {
  /* line 19, ../scss/project/_archive.scss */
  .p-archive-section .l-nav-select {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 1280px) {
  /* line 11, ../scss/project/_single.scss */
  .page-template-single-works .breadcrumb,
  .post-template-single-works .breadcrumb,
  .page-template-single-works-renovation .breadcrumb,
  .post-template-single-works-renovation .breadcrumb,
  .page-template-single-event .breadcrumb,
  .post-template-single-event .breadcrumb,
  .page-template-single-property-newhouse .breadcrumb,
  .post-template-single-property-newhouse .breadcrumb,
  .single .breadcrumb {
    padding-left: 14rem;
    padding-right: 14rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 11, ../scss/project/_single.scss */
  .page-template-single-works .breadcrumb,
  .post-template-single-works .breadcrumb,
  .page-template-single-works-renovation .breadcrumb,
  .post-template-single-works-renovation .breadcrumb,
  .page-template-single-event .breadcrumb,
  .post-template-single-event .breadcrumb,
  .page-template-single-property-newhouse .breadcrumb,
  .post-template-single-property-newhouse .breadcrumb,
  .single .breadcrumb {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 23, ../scss/project/_single.scss */
  .page-template-single-works .breadcrumb__items,
  .post-template-single-works .breadcrumb__items,
  .page-template-single-works-renovation .breadcrumb__items,
  .post-template-single-works-renovation .breadcrumb__items,
  .page-template-single-event .breadcrumb__items,
  .post-template-single-event .breadcrumb__items,
  .page-template-single-property-newhouse .breadcrumb__items,
  .post-template-single-property-newhouse .breadcrumb__items,
  .single .breadcrumb__items {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

/* line 3, ../scss/project/_story.scss */
.p-sec-story-list .l-content {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media screen and (min-width: 744px) {
  /* line 3, ../scss/project/_story.scss */
  .p-sec-story-list .l-content {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 13, ../scss/project/_story.scss */
.p-story-list .c-card-story {
  background-color: #f7f6f2;
  padding: 5rem 1.5rem;
}
@media screen and (min-width: 744px) {
  /* line 13, ../scss/project/_story.scss */
  .p-story-list .c-card-story {
    padding: 7.5rem 2rem;
    gap: 3rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 13, ../scss/project/_story.scss */
  .p-story-list .c-card-story {
    padding: 7.5rem 3rem;
  }
}
/* line 24, ../scss/project/_story.scss */
.p-story-list .c-card-story__title {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media screen and (min-width: 744px) {
  /* line 24, ../scss/project/_story.scss */
  .p-story-list .c-card-story__title {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 24, ../scss/project/_story.scss */
  .p-story-list .c-card-story__title {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 744px) {
  /* line 36, ../scss/project/_story.scss */
  .p-story-list .c-card-story__media > figure {
    padding-top: 133.4%;
  }
}
@media screen and (min-width: 1280px) {
  /* line 36, ../scss/project/_story.scss */
  .p-story-list .c-card-story__media > figure {
    padding-top: 70%;
  }
}
@media screen and (min-width: 744px) {
  /* line 44, ../scss/project/_story.scss */
  .p-story-list .c-card-story__desc {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 44, ../scss/project/_story.scss */
  .p-story-list .c-card-story__desc {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
/* line 54, ../scss/project/_story.scss */
.p-story-list .c-card-story__desc > div {
  padding-right: 0.5rem;
}
@media screen and (min-width: 744px) {
  /* line 54, ../scss/project/_story.scss */
  .p-story-list .c-card-story__desc > div {
    padding-right: 0;
  }
}

/* line 61, ../scss/project/_story.scss */
.p-story-list__item:nth-child(even) .c-card-story {
  background-color: #f2f2f2;
}

/* line 64, ../scss/project/_story.scss */
.p-story-list {
  --gap: 3rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 64, ../scss/project/_story.scss */
  .p-story-list {
    --gap: 5rem;
    flex-wrap: wrap;
    flex-direction: row;
  }
}

@media screen and (min-width: 744px) {
  /* line 75, ../scss/project/_story.scss */
  .p-story-list__item {
    width: calc((100% - var(--gap)) / 2);
  }
}

/* line 2, ../scss/project/_concept.scss */
.js-fade-trigger {
  --duration-fade: 0.7s;
  opacity: 0;
  transform: translateY(4rem);
  transition: opacity var(--duration-fade) cubic-bezier(0, 0, 0.2, 1), transform var(--duration-fade) cubic-bezier(0, 0, 0.2, 1);
}

/* line 9, ../scss/project/_concept.scss */
.js-fade-trigger.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* アクティブ時に線を引く */
/* line 16, ../scss/project/_concept.scss */
.p-concept-copy__box.is-visible .outline-path {
  stroke-dashoffset: 0;
  opacity: 1;
  transition: stroke-dashoffset 5s linear, opacity 0s linear;
}

/* line 23, ../scss/project/_concept.scss */
.page-template-page-concept .p-home-story {
  background-color: rgba(0, 0, 0, 0.75);
}

/* line 33, ../scss/project/_concept.scss */
.p-sec-concept-gallery {
  padding-top: 0;
}

/* line 36, ../scss/project/_concept.scss */
.p-sec-concept-gallery__inner {
  position: relative;
}

/* line 39, ../scss/project/_concept.scss */
.p-sec-concept-gallery__back {
  opacity: 1;
}

/* line 43, ../scss/project/_concept.scss */
.p-sec-concept-gallery__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 43, ../scss/project/_concept.scss */
  .p-sec-concept-gallery__content {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

/* * 構造設計: 
    * 親要素で overflow: hidden して、横スクロールバーを防ぐこと。
    */
/* line 62, ../scss/project/_concept.scss */
.p-gallery {
  /*  変数定義（Block内で完結させる） */
  /* 430px幅で左右に見切れを作るためのサイズ感 */
  display: flex;
  flex-direction: column;
  gap: 5rem;
  /* 重要：はみ出し対策 */
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 744px) {
  /* line 62, ../scss/project/_concept.scss */
  .p-gallery {
    gap: 10rem;
  }
}

/* line 77, ../scss/project/_concept.scss */
.p-gallery__row {
  display: flex;
  gap: 1rem;
  /* 中身に合わせて幅を確保 */
  width: max-content;
  /* // 初期位置の調整:
      // そのままだと左端揃えになるため、画面中央に「メイン画像」が来るようにオフセットする
      // (画面幅/2) - (画像幅/2) - (左に見切れさせたい枚数 * (画像幅+Gap))
      // ※ここではシンプルに、JSで初期位置（xPercent）も含めて制御する前提とし、CSSは並べるだけにする */
  /* // パフォーマンス最適化 */
  will-change: transform;
}
@media screen and (min-width: 744px) {
  /* line 77, ../scss/project/_concept.scss */
  .p-gallery__row {
    gap: 1.5rem;
  }
}

/* line 94, ../scss/project/_concept.scss */
.p-gallery__item {
  width: 37rem;
  overflow: hidden;
}
@media screen and (min-width: 744px) {
  /* line 94, ../scss/project/_concept.scss */
  .p-gallery__item {
    width: 55rem;
  }
}

/* line 101, ../scss/project/_concept.scss */
.p-gallery__figure {
  height: 0;
  padding-top: 70%;
  position: relative;
}

/* line 106, ../scss/project/_concept.scss */
.p-gallery__figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 744px) {
  /* line 114, ../scss/project/_concept.scss */
  .p-gallery__row--sp {
    display: none;
  }
}

/* line 123, ../scss/project/_concept.scss */
.p-concept-copy,
.p-concept-copy__inner {
  height: 100%;
}

/* line 127, ../scss/project/_concept.scss */
.p-concept-copy__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

/* line 135, ../scss/project/_concept.scss */
.p-concept-copy__item {
  display: flex;
}

/* line 138, ../scss/project/_concept.scss */
.p-concept-copy__box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 4rem 3rem;
  background-color: #ffffff;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
}

/* line 148, ../scss/project/_concept.scss */
.p-concept-copy__box p {
  font-size: 1.3em;
}

/* line 152, ../scss/project/_concept.scss */
.p-concept-copy__item--2,
.p-concept-copy__item--3 {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 152, ../scss/project/_concept.scss */
  .p-concept-copy__item--2,
  .p-concept-copy__item--3 {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 161, ../scss/project/_concept.scss */
.p-concept-copy__item--2,
.p-concept-copy__item--4 {
  justify-content: flex-end;
  text-align: right;
}

/* line 170, ../scss/project/_concept.scss */
.p-sec-qa {
  gap: 10rem;
}
@media screen and (min-width: 744px) {
  /* line 170, ../scss/project/_concept.scss */
  .p-sec-qa {
    gap: 15rem;
  }
}

/* line 176, ../scss/project/_concept.scss */
.p-sec-qa__main {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 176, ../scss/project/_concept.scss */
  .p-sec-qa__main {
    gap: 10rem;
  }
}

/* line 184, ../scss/project/_concept.scss */
.p-qa__heading {
  margin-bottom: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 184, ../scss/project/_concept.scss */
  .p-qa__heading {
    margin-bottom: 10rem;
  }
}

/* line 193, ../scss/project/_concept.scss */
.p-qa__list {
  display: flex;
  flex-direction: column;
  gap: 10rem;
}

/* line 201, ../scss/project/_concept.scss */
.p-qa-box {
  --indent-side: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 201, ../scss/project/_concept.scss */
  .p-qa-box {
    --indent-side: 13rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 201, ../scss/project/_concept.scss */
  .p-qa-box {
    --indent-side: 21rem;
  }
}

/* line 210, ../scss/project/_concept.scss */
.p-qa-box__header,
.p-qa-box__body {
  position: relative;
}

/* line 214, ../scss/project/_concept.scss */
.p-qa-box__header {
  z-index: 2;
  padding-right: var(--indent-side);
}

/* line 218, ../scss/project/_concept.scss */
.p-qa-box__title {
  line-height: 1.7;
}

/* line 221, ../scss/project/_concept.scss */
.p-qa-box__body {
  z-index: 1;
  margin-top: -3rem;
  padding-left: var(--indent-side);
}
@media screen and (min-width: 744px) {
  /* line 221, ../scss/project/_concept.scss */
  .p-qa-box__body {
    margin-top: -5rem;
  }
}

/* line 229, ../scss/project/_concept.scss */
.p-qa-box__question,
.p-qa-box__answer {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: fit-content;
  padding: 5rem 3rem;
  border: solid 0.1rem #3a3a3a;
}
@media screen and (min-width: 744px) {
  /* line 229, ../scss/project/_concept.scss */
  .p-qa-box__question,
  .p-qa-box__answer {
    padding: 5rem 10rem 6.5rem;
  }
}

/* line 241, ../scss/project/_concept.scss */
.p-qa-box__icon-q,
.p-qa-box__icon-a {
  display: block;
  font-size: 2em;
  line-height: 1;
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* line 250, ../scss/project/_concept.scss */
.p-qa-box__question {
  border-left: none;
  background-color: #f7f6f2;
}
@media screen and (min-width: 744px) {
  /* line 250, ../scss/project/_concept.scss */
  .p-qa-box__question {
    border-left: solid 0.1rem #3a3a3a;
  }
}

/* line 257, ../scss/project/_concept.scss */
.p-qa-box__icon-a {
  color: #d23939;
}

/* line 260, ../scss/project/_concept.scss */
.p-qa-box__answer {
  background-color: #ffffff;
  border-right: none;
  border-color: #d23939;
}
@media screen and (min-width: 744px) {
  /* line 260, ../scss/project/_concept.scss */
  .p-qa-box__answer {
    width: 100%;
    padding-top: 10rem;
    border-right: solid 0.1rem #d23939;
  }
}

/* line 270, ../scss/project/_concept.scss */
.p-qa-box__text {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  letter-spacing: 0.05em;
}

/* line 277, ../scss/project/_concept.scss */
.p-qa-last {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 282, ../scss/project/_concept.scss */
.p-qa-last__body {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 287, ../scss/project/_concept.scss */
.p-qa-last__en {
  font-size: 1.15em;
}

/* line 293, ../scss/project/_concept.scss */
.p-value {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 293, ../scss/project/_concept.scss */
  .p-value {
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 304, ../scss/project/_concept.scss */
  .p-value__header {
    margin-left: 10rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 304, ../scss/project/_concept.scss */
  .p-value__header {
    margin-left: auto;
  }
}

/* line 312, ../scss/project/_concept.scss */
.p-value__body {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  font-size: 1.3em;
  letter-spacing: 0.1em;
  line-height: 2.3;
}

/* line 321, ../scss/project/_concept.scss */
.p-value__list {
  gap: 4rem;
}

/* line 327, ../scss/project/_concept.scss */
.p-message {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

/* line 332, ../scss/project/_concept.scss */
.p-message__body {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  font-size: 1.3em;
  letter-spacing: 0.1em;
  line-height: 2.3;
  text-align: center;
}

/* line 342, ../scss/project/_concept.scss */
.p-message__en {
  font-size: 1.15em;
}

/* line 5, ../scss/project/_company.scss */
.page-template-page-company .bg_black_light {
  background-color: rgba(0, 0, 0, 0.33);
}
/* line 8, ../scss/project/_company.scss */
.page-template-page-company .bg_black_medium {
  background-color: rgba(0, 0, 0, 0.66);
}
@media screen and (min-width: 1920px) {
  /* line 11, ../scss/project/_company.scss */
  .page-template-page-company .p-about-us {
    padding-left: 0;
    padding-right: 0;
    justify-content: flex-end;
  }
}

/* line 23, ../scss/project/_company.scss */
.p-company-name {
  --ratio-title-box: 0.85;
  --width-title-box: 39rem;
  --height-title-box: calc(var(--width-title-box) * var(--ratio-title-box));
  --margin-minus-body: calc(var(--height-title-box) * -1);
  min-height: calc(100vh - 7rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 744px) {
  /* line 23, ../scss/project/_company.scss */
  .p-company-name {
    --ratio-title-box: 0.7;
    --width-title-box: 46rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 23, ../scss/project/_company.scss */
  .p-company-name {
    --width-title-box: 54rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 23, ../scss/project/_company.scss */
  .p-company-name {
    --width-title-box: 81rem;
  }
}

/* line 45, ../scss/project/_company.scss */
.p-company-name__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  position: relative;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 744px) {
  /* line 45, ../scss/project/_company.scss */
  .p-company-name__inner {
    padding-left: 5rem;
    gap: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 45, ../scss/project/_company.scss */
  .p-company-name__inner {
    padding-left: 10rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 45, ../scss/project/_company.scss */
  .p-company-name__inner {
    max-width: 192rem;
  }
}

/* line 67, ../scss/project/_company.scss */
.p-company-name__header {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 67, ../scss/project/_company.scss */
  .p-company-name__header {
    padding-left: 0;
    padding-right: 0;
    z-index: 1;
  }
}

/* line 76, ../scss/project/_company.scss */
.p-company-name__title-box {
  background-color: #ffffff;
  padding: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--width-title-box);
  height: var(--height-title-box);
  max-width: 100%;
}

/* line 87, ../scss/project/_company.scss */
.p-company-name__body {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 87, ../scss/project/_company.scss */
  .p-company-name__body {
    margin-top: var(--margin-minus-body);
    gap: 0;
  }
}

/* line 96, ../scss/project/_company.scss */
.p-company-name__desc {
  line-height: 3;
}
@media screen and (min-width: 744px) {
  /* line 96, ../scss/project/_company.scss */
  .p-company-name__desc {
    padding-left: var(--width-title-box);
  }
}

/* line 102, ../scss/project/_company.scss */
.p-company-name__desc-inner {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 102, ../scss/project/_company.scss */
  .p-company-name__desc-inner {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    padding-left: 4.5rem;
    padding-right: 0;
  }
}
@media screen and (min-width: 1920px) {
  /* line 102, ../scss/project/_company.scss */
  .p-company-name__desc-inner {
    padding-top: 7rem;
    padding-bottom: 7rem;
    padding-left: 8rem;
  }
}

/* line 117, ../scss/project/_company.scss */
.p-company-name__media-inner {
  padding-right: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 117, ../scss/project/_company.scss */
  .p-company-name__media-inner {
    padding-right: 0;
    width: 79rem;
    margin-left: auto;
  }
}
@media screen and (min-width: 1920px) {
  /* line 117, ../scss/project/_company.scss */
  .p-company-name__media-inner {
    width: 121.5rem;
  }
}

/* line 128, ../scss/project/_company.scss */
.p-company-naem__image {
  position: relative;
  overflow: hidden;
}

/* line 132, ../scss/project/_company.scss */
.p-company-naem__image::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.8%;
}
@media screen and (min-width: 744px) {
  /* line 132, ../scss/project/_company.scss */
  .p-company-naem__image::before {
    padding-top: 33%;
  }
}

/* line 142, ../scss/project/_company.scss */
.p-company-naem__image img {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: 100%;
  object-fit: contain;
}
@media screen and (min-width: 744px) {
  /* line 142, ../scss/project/_company.scss */
  .p-company-naem__image img {
    width: 100%;
    object-fit: cover;
  }
}

@media screen and (min-width: 744px) {
  /* line 158, ../scss/project/_company.scss */
  .p-sec-mission {
    min-height: calc(100vh - 7rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (min-width: 744px) {
  /* line 167, ../scss/project/_company.scss */
  .p-mission__inner {
    width: 57rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 167, ../scss/project/_company.scss */
  .p-mission__inner {
    margin-left: -4rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 167, ../scss/project/_company.scss */
  .p-mission__inner {
    margin-left: -7rem;
  }
}

/* line 178, ../scss/project/_company.scss */
.p-mission__content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 744px) {
  /* line 178, ../scss/project/_company.scss */
  .p-mission__content {
    width: 37rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 189, ../scss/project/_company.scss */
  .p-sec-vision {
    min-height: calc(100vh - 7rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (min-width: 744px) {
  /* line 198, ../scss/project/_company.scss */
  .p-vision__inner {
    width: 57rem;
    margin-left: auto;
  }
}

/* line 204, ../scss/project/_company.scss */
.p-vision__content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 744px) {
  /* line 204, ../scss/project/_company.scss */
  .p-vision__content {
    width: 37rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 216, ../scss/project/_company.scss */
  .p-sec-value {
    min-height: calc(100vh - 7rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* line 225, ../scss/project/_company.scss */
.p-company-value__inner {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 744px) {
  /* line 225, ../scss/project/_company.scss */
  .p-company-value__inner {
    width: 43.5rem;
    padding-left: 7.5rem;
    padding-right: 7.5rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* line 237, ../scss/project/_company.scss */
.p-company-value__content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 242, ../scss/project/_company.scss */
.p-company-value-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 247, ../scss/project/_company.scss */
.p-company-value-list li {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}

@media screen and (min-width: 744px) {
  /* line 256, ../scss/project/_company.scss */
  .p-sec-company-message {
    min-height: calc(100vh - 7rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* line 264, ../scss/project/_company.scss */
.p-company-message__inner {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 264, ../scss/project/_company.scss */
  .p-company-message__inner {
    gap: 5rem;
  }
}

/* line 272, ../scss/project/_company.scss */
.p-company-message__body {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 272, ../scss/project/_company.scss */
  .p-company-message__body {
    gap: 5rem;
    flex-direction: row;
  }
}

@media screen and (min-width: 744px) {
  /* line 281, ../scss/project/_company.scss */
  .p-company-message__media {
    width: 47.5rem;
    flex-shrink: 0;
  }
}

/* line 287, ../scss/project/_company.scss */
.p-company-message__desc {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* line 296, ../scss/project/_company.scss */
.p-licence {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

/* line 301, ../scss/project/_company.scss */
.p-licence__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media screen and (min-width: 744px) {
  /* line 306, ../scss/project/_company.scss */
  .p-licence__content ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
  }
}

@media screen and (min-width: 744px) {
  /* line 313, ../scss/project/_company.scss */
  .p-licence__content li {
    line-height: 1;
  }
}

/* line 318, ../scss/project/_company.scss */
.p-licence h3 {
  font-size: 1em;
}

/* line 321, ../scss/project/_company.scss */
.p-licence h3::before {
  content: "◼️";
}

/* line 324, ../scss/project/_company.scss */
.p-company-table {
  background-color: #f7f6f2;
  padding: 3rem 2.5rem;
  border-radius: 1rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
@media screen and (min-width: 744px) {
  /* line 324, ../scss/project/_company.scss */
  .p-company-table {
    padding: 5rem;
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
}

@media screen and (min-width: 1280px) {
  /* line 340, ../scss/project/_company.scss */
  .p-sec-compnay-top {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1280px) and (min-aspect-ratio: 2 / 1) {
  /* line 340, ../scss/project/_company.scss */
  .p-sec-compnay-top {
    padding-top: 10rem;
  }
}

@media screen and (min-width: 1280px) {
  /* line 351, ../scss/project/_company.scss */
  .p-sec-compnay-top__content {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 359, ../scss/project/_company.scss */
.p-company-top {
  width: 100%;
}

/* line 362, ../scss/project/_company.scss */
.p-company-top__loop {
  width: 100%;
}

/* line 8, ../scss/project/_recruit.scss */
.page-template-page-recruit .bg_black_medium {
  background-color: rgba(0, 0, 0, 0.66);
}
/* line 12, ../scss/project/_recruit.scss */
.page-template-page-recruit .p-sec-top-full {
  min-height: calc(100vh - 7rem);
}
/* line 16, ../scss/project/_recruit.scss */
.page-template-page-recruit .l-floating-cta {
  visibility: hidden;
  opacity: 0;
  display: none;
}
/* line 21, ../scss/project/_recruit.scss */
.page-template-page-recruit .l-indicator-slide {
  bottom: 0;
}

/* line 29, ../scss/project/_recruit.scss */
.p-work-style {
  --layout-space-side: 3rem;
  --media-shift-space-pc: calc(var(--content-padding) * -1);
  --float-desc-width: 39.5rem;
  --desc-gap: 2rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 744px) {
  /* line 29, ../scss/project/_recruit.scss */
  .p-work-style {
    --layout-space-side: 5rem;
    gap: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 29, ../scss/project/_recruit.scss */
  .p-work-style {
    --layout-space-side: 10rem;
  }
}

/* line 48, ../scss/project/_recruit.scss */
.p-work-style__header {
  padding-left: var(--layout-space-side);
  padding-right: var(--layout-space-side);
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 48, ../scss/project/_recruit.scss */
  .p-work-style__header {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 64, ../scss/project/_recruit.scss */
  .p-work-style__desc {
    width: 61.8%;
  }
}

/* line 69, ../scss/project/_recruit.scss */
.p-work-style__desc-inner {
  display: flex;
  flex-direction: column;
  gap: var(--desc-gap);
}
@media screen and (min-width: 744px) {
  /* line 69, ../scss/project/_recruit.scss */
  .p-work-style__desc-inner {
    margin-right: 14rem;
  }
}

/* line 78, ../scss/project/_recruit.scss */
.p-work-style__body {
  --gap-ws-body: 5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--gap-ws-body);
}
@media screen and (min-width: 744px) {
  /* line 78, ../scss/project/_recruit.scss */
  .p-work-style__body {
    flex-direction: row-reverse;
    --gap-ws-body: 7.5rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 90, ../scss/project/_recruit.scss */
  .p-work-style__lead-block {
    width: calc((100% - var(--gap-ws-body)) * 0.6);
    flex-shrink: 0;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    gap: 10rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 101, ../scss/project/_recruit.scss */
  .p-work-style__media {
    margin-right: -5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 101, ../scss/project/_recruit.scss */
  .p-work-style__media {
    margin-right: -14rem;
  }
}

/* line 111, ../scss/project/_recruit.scss */
.p-work-style__media figure {
  position: relative;
}

/* line 114, ../scss/project/_recruit.scss */
.p-work-style__media figure::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}

/* line 120, ../scss/project/_recruit.scss */
.p-work-style__media img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  height: 100%;
}

/* line 128, ../scss/project/_recruit.scss */
.p-work-style__float-desc {
  width: 100%;
  padding-left: var(--layout-space-side);
  padding-right: var(--layout-space-side);
  margin-top: -3rem;
  position: relative;
  z-index: 1;
  text-align: justify;
}
@media screen and (min-width: 744px) {
  /* line 128, ../scss/project/_recruit.scss */
  .p-work-style__float-desc {
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
  }
}

/* line 148, ../scss/project/_recruit.scss */
.p-work-style__float-desc-inner {
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--desc-gap);
  color: #3a3a3a;
  background-color: #f7f6f2;
  width: fit-content;
  margin-left: 6rem;
}
@media screen and (min-width: 744px) {
  /* line 148, ../scss/project/_recruit.scss */
  .p-work-style__float-desc-inner {
    margin-left: 5rem;
    margin-right: 1rem;
    width: auto;
    padding: 7.5rem 2.5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 148, ../scss/project/_recruit.scss */
  .p-work-style__float-desc-inner {
    padding: 7.5rem 3rem;
  }
}

/* line 172, ../scss/project/_recruit.scss */
.p-work-style__secondary-block {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 172, ../scss/project/_recruit.scss */
  .p-work-style__secondary-block {
    width: calc((100% - var(--gap-ws-body)) * 0.4);
    flex-shrink: 0;
    flex-direction: column-reverse;
    justify-content: flex-end;
    padding-top: 10rem;
  }
}

/* line 186, ../scss/project/_recruit.scss */
.p-work-style__last-desc {
  width: 100%;
  padding-left: var(--layout-space-side);
  padding-right: var(--layout-space-side);
}
@media screen and (min-width: 744px) {
  /* line 186, ../scss/project/_recruit.scss */
  .p-work-style__last-desc {
    margin-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 198, ../scss/project/_recruit.scss */
.p-work-style__last-desc-inner {
  display: flex;
  flex-direction: column;
  gap: var(--desc-gap);
  margin-right: 4rem;
}
@media screen and (min-width: 744px) {
  /* line 198, ../scss/project/_recruit.scss */
  .p-work-style__last-desc-inner {
    margin-right: 0rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 198, ../scss/project/_recruit.scss */
  .p-work-style__last-desc-inner {
    margin-right: 5rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 210, ../scss/project/_recruit.scss */
  .p-work-style__media-2 {
    margin-left: -5rem;
  }
}
@media screen and (min-width: 744px) {
  /* line 210, ../scss/project/_recruit.scss */
  .p-work-style__media-2 {
    margin-left: -14rem;
  }
}

/* line 218, ../scss/project/_recruit.scss */
.p-work-style__media-2-inner {
  width: auto;
  margin-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 218, ../scss/project/_recruit.scss */
  .p-work-style__media-2-inner {
    margin-right: 0;
  }
}

/* line 225, ../scss/project/_recruit.scss */
.p-work-style__media-2-inner figure {
  position: relative;
}

/* line 232, ../scss/project/_recruit.scss */
.p-recruit-message {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 232, ../scss/project/_recruit.scss */
  .p-recruit-message {
    width: 50rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

@media screen and (min-width: 744px) {
  /* line 243, ../scss/project/_recruit.scss */
  .p-recruit-message .l-content {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 249, ../scss/project/_recruit.scss */
.p-recruit-message__body {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* line 258, ../scss/project/_recruit.scss */
.p-job-about__inner {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 258, ../scss/project/_recruit.scss */
  .p-job-about__inner {
    gap: 5rem;
  }
}

/* line 266, ../scss/project/_recruit.scss */
.p-job-about__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 272, ../scss/project/_recruit.scss */
.p-job-about__title {
  font-size: 1.7em;
}

/* line 275, ../scss/project/_recruit.scss */
.p-job-about__body {
  --gap-job-about-body: 3rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap-job-about-body);
}
@media screen and (min-width: 744px) {
  /* line 275, ../scss/project/_recruit.scss */
  .p-job-about__body {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* line 286, ../scss/project/_recruit.scss */
.p-job-about__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  padding: 2.5rem;
  background-color: #ffffff;
}
@media screen and (min-width: 744px) {
  /* line 286, ../scss/project/_recruit.scss */
  .p-job-about__item {
    width: calc((100% - (var(--gap-job-about-body) * 2)) * 0.3333);
    flex-grow: 1;
  }
}

/* line 300, ../scss/project/_recruit.scss */
.p-job-about__item::before {
  content: "";
  display: block;
  width: 0.2rem;
  height: 100%;
  background-color: #d23939;
  position: absolute;
  top: 0;
  left: 0;
}

/* line 311, ../scss/project/_recruit.scss */
.p-job-about__item-title {
  font-size: 1.15em;
}

/* line 315, ../scss/project/_recruit.scss */
.p-job-about__list {
  font-size: 1em;
}

/* line 318, ../scss/project/_recruit.scss */
.p-job-about__list > li {
  font-size: 1em;
  letter-spacing: 0;
  display: flex;
  gap: 0.5em;
}

/* line 325, ../scss/project/_recruit.scss */
.p-job-about__list > li::before {
  content: "-";
  flex-shrink: 0;
}

/* line 329, ../scss/project/_recruit.scss */
.p-job-about__list > li + li {
  margin-top: 0.5em;
}

/* line 336, ../scss/project/_recruit.scss */
.p-job-about__dl dt {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
}

/* line 340, ../scss/project/_recruit.scss */
.p-job-about__desc > span {
  display: inline-block;
}

/* line 347, ../scss/project/_recruit.scss */
.p-career {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* line 352, ../scss/project/_recruit.scss */
.p-career__title {
  font-size: 1.7em;
}

/* line 355, ../scss/project/_recruit.scss */
.p-career__steps {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 355, ../scss/project/_recruit.scss */
  .p-career__steps {
    gap: 4.5rem;
  }
}

/* line 363, ../scss/project/_recruit.scss */
.p-career__steps > li {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-left: 2.5rem;
  position: relative;
}

/* line 370, ../scss/project/_recruit.scss */
.p-career__steps > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.2rem;
  height: 100%;
  background-color: #d23939;
}

/* line 380, ../scss/project/_recruit.scss */
.p-career__step-head {
  line-height: 1.4;
}

/* line 385, ../scss/project/_recruit.scss */
.p-career__step-number::after {
  content: "｜";
}

/* line 388, ../scss/project/_recruit.scss */
.p-career__steps p {
  line-height: 1.7;
}

/* line 391, ../scss/project/_recruit.scss */
.p-recruit-button-area {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 399, ../scss/project/_recruit.scss */
.p-qa__list {
  --layout-space-v: 3rem;
  --layout-space-left: 3rem;
  --layout-space-right: 2rem;
  --gap-element: 1.5rem;
  --icon-size: 2rem;
  --layout-space-right--answer: calc( var(--layout-space-right) + var(--gap-element) + var(--icon-size) );
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 399, ../scss/project/_recruit.scss */
  .p-qa__list {
    --layout-space-right: 3rem;
    --layout-space-left: 5rem;
  }
}

/* line 423, ../scss/project/_recruit.scss */
.p-qa__head {
  font-size: 1em;
}

/* line 426, ../scss/project/_recruit.scss */
.p-qa__button {
  width: 100%;
  display: flex;
  align-items: center;
  /* 上下中央 */
  justify-content: space-between;
  gap: var(--gap-element);
  padding-top: var(--layout-space-v);
  padding-right: var(--layout-space-right);
  padding-bottom: var(--layout-space-v);
  padding-left: var(--layout-space-left);
  background-color: #f7f6f2;
  cursor: pointer;
}

/* line 443, ../scss/project/_recruit.scss */
.p-qa__icon-q {
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
}

/* line 449, ../scss/project/_recruit.scss */
.p-qa__title {
  flex: 1;
  /* 余白を埋める */
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W3", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 300;
  line-height: 1.4;
}

/* line 459, ../scss/project/_recruit.scss */
.p-qa__icon-arrow {
  position: relative;
  display: block;
  width: var(--icon-size);
  /* 少し大きさを調整 */
  height: var(--icon-size);
}

/* line 465, ../scss/project/_recruit.scss */
.p-qa__icon-arrow::before,
.p-qa__icon-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 中央配置 */
  background-color: #b69b60;
  /* 線の色 */
  transition: transform 0.7s cubic-bezier(0, 0, 0.2, 1), opacity 0.7s cubic-bezier(0, 0, 0.2, 1);
}

/* line 478, ../scss/project/_recruit.scss */
.p-qa__icon-arrow::before {
  width: 100%;
  height: 0.1rem;
  /* 線の太さ */
}

/* line 483, ../scss/project/_recruit.scss */
.p-qa__icon-arrow::after {
  width: 0.1rem;
  /* 線の太さ */
  height: 100%;
}

/* line 488, ../scss/project/_recruit.scss */
.p-qa__button[aria-expanded="true"] .p-qa__icon-arrow::after {
  /* 縦棒を90度回転させて横棒に重ねる（または透明にする） */
  /* ここでは「回転しながら消える」演出にしています */
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

/* line 498, ../scss/project/_recruit.scss */
.p-qa__body {
  display: grid;
  grid-template-rows: 0fr;
  /* 閉じた状態：高さ0 */
  transition: grid-template-rows 0.35s cubic-bezier(0, 0, 0.2, 1), padding 0.35s cubic-bezier(0, 0, 0.2, 1);
  overflow: hidden;
}

/* line 506, ../scss/project/_recruit.scss */
.p-qa__body[aria-hidden="false"] {
  grid-template-rows: 1fr;
  /* 中身の高さに合わせて自動で開く */
  padding-top: var(--layout-space-v);
}

/* line 510, ../scss/project/_recruit.scss */
.p-qa__body-inner {
  min-height: 0;
  /* gridのバグ回避用 */
  display: flex;
  gap: var(--gap-element);
  /* ここにパディングをつけるとアニメーションがカクつくので、
     パディングは .p-qa__body 側で開閉時に制御するか、マージンで調整する */
  margin-left: var(--layout-space-left);
  margin-right: var(--layout-space-right--answer);
  line-height: 1.7;
}

/* line 523, ../scss/project/_recruit.scss */
.p-qa__icon-a {
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  color: #293a4a;
}

/* line 529, ../scss/project/_recruit.scss */
.p-qa__text {
  font-size: 1.3em;
  color: #293a4a;
}

/* line 534, ../scss/project/_recruit.scss */
.p-entory-job-intro {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 542, ../scss/project/_recruit.scss */
.p-sec-growth-career {
  padding-bottom: calc(var(--section-padding) * 0.5);
}

@media screen and (min-width: 744px) {
  /* line 545, ../scss/project/_recruit.scss */
  .p-sec-growth-career .l-content {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 552, ../scss/project/_recruit.scss */
  .p-sec-growth-career {
    padding-top: 12.5rem;
  }
}

/* line 557, ../scss/project/_recruit.scss */
.p-sec-growth-career__inner {
  width: 100%;
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 557, ../scss/project/_recruit.scss */
  .p-sec-growth-career__inner {
    flex-direction: row;
    padding-left: 5rem;
    padding-right: 5rem;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1280px) {
  /* line 557, ../scss/project/_recruit.scss */
  .p-sec-growth-career__inner {
    padding-left: 14rem;
    padding-right: 14rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 577, ../scss/project/_recruit.scss */
  .p-sec-growth-career__header {
    width: 40rem;
    flex-shrink: 0;
  }
}

/* line 583, ../scss/project/_recruit.scss */
.p-sec-growth-career__desc {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media screen and (min-width: 744px) {
  /* line 588, ../scss/project/_recruit.scss */
  .p-sec-growth-career__body {
    width: calc((100% - var(--gap) - 40rem));
  }
}

/* line 596, ../scss/project/_recruit.scss */
.p-sec-entry-info {
  padding-top: calc(var(--section-padding) * 0.55);
}

@media screen and (min-width: 744px) {
  /* line 599, ../scss/project/_recruit.scss */
  .p-sec-entry-info .l-content {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 606, ../scss/project/_recruit.scss */
.p-sec-entry-info__inner {
  width: 100%;
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 606, ../scss/project/_recruit.scss */
  .p-sec-entry-info__inner {
    padding-left: 5rem;
    padding-right: 5rem;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1280px) {
  /* line 606, ../scss/project/_recruit.scss */
  .p-sec-entry-info__inner {
    padding-left: 14rem;
    padding-right: 14rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 632, ../scss/project/_recruit.scss */
  .p-sec-entry-info__body {
    width: 100%;
  }
}

@media screen and (min-width: 1280px) {
  /* line 643, ../scss/project/_recruit.scss */
  .p-sec-recruit-top {
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1280px) {
  /* line 654, ../scss/project/_recruit.scss */
  .p-sec-recruit-top__content {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: column;
  }
}

/* line 665, ../scss/project/_recruit.scss */
.p-recruit-top {
  width: 100%;
}
@media screen and (min-width: 1280px) {
  /* line 665, ../scss/project/_recruit.scss */
  .p-recruit-top {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}

/* line 674, ../scss/project/_recruit.scss */
.p-recruit-top__loop {
  width: 100%;
}

/* line 678, ../scss/project/_recruit.scss */
.p-recruit-top__heading {
  padding-top: var(--content-padding);
}
@media screen and (min-width: 1280px) {
  /* line 678, ../scss/project/_recruit.scss */
  .p-recruit-top__heading {
    padding-top: 3.5rem;
    padding-bottom: 10rem;
    flex-grow: 1;
  }
}
@media screen and (min-width: 1920px) {
  /* line 678, ../scss/project/_recruit.scss */
  .p-recruit-top__heading {
    padding-top: 5rem;
  }
}

/* line 693, ../scss/project/_recruit.scss */
.p-nav-slider {
  padding-top: 2rem;
  border-bottom: solid 0.1rem #d1d1d1;
  background-color: #ffffff;
}

/* line 699, ../scss/project/_recruit.scss */
.p-nav-slider__inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 704, ../scss/project/_recruit.scss */
.p-nav-slider__title {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  padding-left: 3rem;
  padding-right: 3rem;
}

/* line 712, ../scss/project/_recruit.scss */
.p-nav-slider__nav {
  padding-left: 3rem;
  padding-right: 3rem;
}

/* line 716, ../scss/project/_recruit.scss */
.p-nav-slider__sldie-content {
  padding: 1rem 0.5rem;
}

/* line 720, ../scss/project/_recruit.scss */
.p-nav-slider__button {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  background-color: #ffffff;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  padding: 1.5rem 2rem;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* line 735, ../scss/project/_recruit.scss */
.p-nav-slider__button::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/logo_icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* line 744, ../scss/project/_recruit.scss */
.p-nav-slider__button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0.2rem;
  background-color: #d23939;
}

/* line 755, ../scss/project/_recruit.scss */
.p-nav-slider__arrows {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: flex;
  justify-content: space-between;
}

/* line 762, ../scss/project/_recruit.scss */
.p-nav-slider__arrow {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1em;
  padding: 1rem 0 2rem;
}

/* line 770, ../scss/project/_recruit.scss */
.p-nav-slider__arrow::before {
  display: block;
  width: 1em;
  /* 文字サイズに追従 */
  height: 1em;
  background-color: currentColor;
  /* 親の文字色を使う */
  /* マスク画像の設定（右矢印のSVGを読み込む想定） */
  -webkit-mask-image: url("../images/arrow-triangle.svg");
  mask-image: url("../images/arrow-triangle.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

/* line 789, ../scss/project/_recruit.scss */
.p-nav-slider__arrow-prev::before {
  content: "";
}

/* line 792, ../scss/project/_recruit.scss */
.p-nav-slider__arrow-next {
  flex-direction: row-reverse;
}

/* line 795, ../scss/project/_recruit.scss */
.p-nav-slider__arrow-next::before {
  content: "";
  transform: rotate(180deg);
}

/* 既存コンテンツの表示・非表示 */
/* line 801, ../scss/project/_recruit.scss */
.js-select-content-multiple {
  display: none;
}

/* line 805, ../scss/project/_recruit.scss */
.js-select-content-multiple.is-active {
  display: block;
}

@media screen and (min-width: 744px) {
  /* line 810, ../scss/project/_recruit.scss */
  .p-tab-recruit {
    background-color: #ffffff;
    padding-top: 5rem;
    padding-bottom: 2.5rem;
  }
}

/* line 5, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .bg_black_medium {
  background-color: rgba(0, 0, 0, 0.66);
}
/* line 8, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .p-sec-top-full {
  min-height: calc(100vh - 7rem);
}
/* line 11, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-floating-cta {
  visibility: hidden;
  opacity: 0;
  display: none;
}
/* line 16, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-indicator-slide {
  bottom: 0;
}
/* line 19, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-container-switch {
  padding-top: 0;
}
/* line 22, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .p-sec-entry-info {
  padding-top: var(--section-padding);
}
/* line 28, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-container-switch:has(.l-container-switch__header) .p-sec-entry-info {
  padding-top: calc(var(--section-padding) * 0.55);
}
/* line 33, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-container-switch:has(.l-container-switch__header) .p-tab-recruit {
  background-color: #f7f6f2;
}
/* line 36, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-container-switch:has(.l-container-switch__header) .l-nav-select__button {
  background-color: #d1d1d1;
}
/* line 39, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-container-switch:has(.l-container-switch__header) .l-nav-select__list-item.is-active .l-nav-select__button {
  background-color: #f7f6f2;
}
/* line 42, ../scss/project/_recruit-career.scss */
.page-template-page-recruit-career .l-container-switch:has(.l-container-switch__header) .l-nav-select__list-item.is-active::after {
  background-color: #f7f6f2;
}

/* line 4, ../scss/project/_staff.scss */
.p-philosophy {
  --layout-space-side: 3rem;
  --media-shift-space-pc: calc(var(--content-padding) * -1);
  --float-desc-width: 39.5rem;
  --desc-gap: 2rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 744px) {
  /* line 4, ../scss/project/_staff.scss */
  .p-philosophy {
    --layout-space-side: 5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 4, ../scss/project/_staff.scss */
  .p-philosophy {
    --layout-space-side: 10rem;
  }
}

/* line 22, ../scss/project/_staff.scss */
.p-philosophy__header {
  padding-left: var(--layout-space-side);
  padding-right: var(--layout-space-side);
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 22, ../scss/project/_staff.scss */
  .p-philosophy__header {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 38, ../scss/project/_staff.scss */
.p-philosophy__desc {
  display: flex;
  flex-direction: column;
  gap: var(--desc-gap);
}

/* line 44, ../scss/project/_staff.scss */
.p-philosophy__body {
  position: relative;
}

@media screen and (min-width: 744px) {
  /* line 47, ../scss/project/_staff.scss */
  .p-philosophy__media {
    margin-right: var(--media-shift-space-pc);
  }
}
@media screen and (min-width: 1280px) {
  /* line 47, ../scss/project/_staff.scss */
  .p-philosophy__media {
    margin-right: 0;
  }
}

/* line 57, ../scss/project/_staff.scss */
.p-philosophy__float-desc {
  width: 100%;
  padding-left: var(--layout-space-side);
  padding-right: var(--layout-space-side);
  margin-top: -3rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 744px) {
  /* line 57, ../scss/project/_staff.scss */
  .p-philosophy__float-desc {
    padding-left: 0;
    padding-right: 0;
    margin-top: -9rem;
  }
}

/* line 75, ../scss/project/_staff.scss */
.p-philosophy__float-desc-inner {
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--desc-gap);
  color: #3a3a3a;
  background-color: #f7f6f2;
  width: fit-content;
  margin-left: auto;
}
@media screen and (min-width: 744px) {
  /* line 75, ../scss/project/_staff.scss */
  .p-philosophy__float-desc-inner {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    width: var(--float-desc-width);
    margin-right: -9rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 75, ../scss/project/_staff.scss */
  .p-philosophy__float-desc-inner {
    margin-right: -14rem;
  }
}

/* line 99, ../scss/project/_staff.scss */
.p-philosophy__last-desc {
  width: 100%;
  padding-left: var(--layout-space-side);
  padding-right: var(--layout-space-side);
  margin-top: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 99, ../scss/project/_staff.scss */
  .p-philosophy__last-desc {
    margin-top: 0;
    padding-right: var(--float-desc-width);
    margin-top: -7.5rem;
    position: relative;
  }
}

/* line 114, ../scss/project/_staff.scss */
.p-philosophy__last-desc-inner {
  display: flex;
  flex-direction: column;
  gap: var(--desc-gap);
}

/* line 122, ../scss/project/_staff.scss */
.p-interview {
  --layout-space: 1.5rem;
  --indent-border: calc(var(--layout-space) * -1);
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 744px) {
  /* line 122, ../scss/project/_staff.scss */
  .p-interview {
    --layout-space: 2.5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 122, ../scss/project/_staff.scss */
  .p-interview {
    --layout-space: 5rem;
    max-width: 131rem;
  }
}

/* line 137, ../scss/project/_staff.scss */
.p-interview__inner {
  padding-left: var(--layout-space);
  padding-right: var(--layout-space);
}
@media screen and (min-width: 1280px) {
  /* line 137, ../scss/project/_staff.scss */
  .p-interview__inner {
    padding-left: 11rem;
    padding-right: 11rem;
  }
}
@media screen and (min-width: 1920px) {
  /* line 137, ../scss/project/_staff.scss */
  .p-interview__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 150, ../scss/project/_staff.scss */
.p-interview__list {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  padding-left: var(--layout-space);
  padding-right: var(--layout-space);
}
@media screen and (min-width: 744px) {
  /* line 150, ../scss/project/_staff.scss */
  .p-interview__list {
    --gap: var(--layout-space);
    justify-content: space-evenly;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media screen and (min-width: 744px) {
  /* line 167, ../scss/project/_staff.scss */
  .p-interview__item {
    padding-left: 0;
    padding-right: 0;
    width: calc((100% - var(--gap)) / 2);
  }
}
@media screen and (min-width: 1920px) {
  /* line 167, ../scss/project/_staff.scss */
  .p-interview__item {
    width: calc((100% - var(--gap) * 2) / 3);
  }
}

/* line 177, ../scss/project/_staff.scss */
.p-interview__item:nth-of-type(1).c-deco-side-border::before {
  background-color: #d23939;
  width: 0.2rem;
}

/* line 181, ../scss/project/_staff.scss */
.p-interview__item.c-deco-side-border::before {
  left: var(--indent-border);
}

/* line 184, ../scss/project/_staff.scss */
.p-interview__item.c-deco-side-border::after {
  right: var(--indent-border);
}

@media screen and (min-width: 744px) {
  /* line 187, ../scss/project/_staff.scss */
  .p-interview__item:nth-child(odd).c-deco-side-border::after {
    display: none;
  }
}
@media screen and (min-width: 1920px) {
  /* line 187, ../scss/project/_staff.scss */
  .p-interview__item:nth-child(odd).c-deco-side-border::after {
    display: block;
  }
}

@media screen and (min-width: 744px) {
  /* line 195, ../scss/project/_staff.scss */
  .p-interview__item:nth-child(even).c-deco-side-border::before {
    display: none;
  }
}
@media screen and (min-width: 1920px) {
  /* line 195, ../scss/project/_staff.scss */
  .p-interview__item:nth-child(even).c-deco-side-border::before {
    display: block;
  }
}

/* --------------------------------------------------
   1列目 (1, 4, 7, 10...)
   3の倍数 + 1 の要素
-------------------------------------------------- */
@media screen and (min-width: 1920px) {
  /* line 207, ../scss/project/_staff.scss */
  .p-interview__item:nth-child(3n + 1).c-deco-side-border::after {
    display: none;
  }
}

/* --------------------------------------------------
   2列目 (2, 5, 8...)
-------------------------------------------------- */
@media screen and (min-width: 1920px) {
  /* line 215, ../scss/project/_staff.scss */
  .p-interview__item:nth-child(3n + 2).c-deco-side-border::before,
  .p-interview__item:nth-child(3n + 2).c-deco-side-border::after {
    display: none;
  }
}

/* --------------------------------------------------
   3列目 (3, 6, 9, 12...)
   3の倍数 の要素
-------------------------------------------------- */
@media screen and (min-width: 1920px) {
  /* line 225, ../scss/project/_staff.scss */
  .p-interview__item:nth-child(3n).c-deco-side-border::before {
    display: none;
  }
}

@media screen and (min-width: 744px) {
  /* line 4, ../scss/project/_new-house.scss */
  .p-way-of-build {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 4, ../scss/project/_new-house.scss */
  .p-way-of-build {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 14, ../scss/project/_new-house.scss */
.p-way-of-build__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

/* line 22, ../scss/project/_new-house.scss */
.p-way-of-build-part {
  --part1-visual-gap: 2.5rem;
  --width-color-list: 5rem;
  --indent-space-pc: 5rem;
  --part2-indent-space-pc: calc( var(--part1-visual-gap) + var(--width-color-list) + var(--indent-space-pc) );
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
  width: 100%;
}

/* line 36, ../scss/project/_new-house.scss */
.p-way-of-build-part__desc {
  line-height: 2.5;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 44, ../scss/project/_new-house.scss */
.p-way-of-build-part__media figure {
  position: relative;
  height: 0;
  padding-top: 70%;
}

/* line 49, ../scss/project/_new-house.scss */
.p-way-of-build-part__media img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 744px) {
  /* line 58, ../scss/project/_new-house.scss */
  .p-way-of-build-part--1 {
    flex-direction: row;
    align-items: flex-end;
    gap: 5rem;
    padding-left: var(--indent-space-pc);
    padding-right: var(--indent-space-pc);
  }
}
@media screen and (min-width: 1280px) {
  /* line 58, ../scss/project/_new-house.scss */
  .p-way-of-build-part--1 {
    padding-left: 0;
    padding-right: 0;
    gap: 4rem;
  }
}

/* line 72, ../scss/project/_new-house.scss */
.p-way-of-build-part--1 .p-way-of-build-part__desc {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 72, ../scss/project/_new-house.scss */
  .p-way-of-build-part--1 .p-way-of-build-part__desc {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 5rem;
    flex: 1 1 auto;
  }
}

/* line 82, ../scss/project/_new-house.scss */
.p-way-of-build-part--1 .p-way-of-build-part__visuals {
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 82, ../scss/project/_new-house.scss */
  .p-way-of-build-part--1 .p-way-of-build-part__visuals {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: row-reverse;
    gap: var(--part1-visual-gap);
    width: 70%;
    flex-shrink: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 96, ../scss/project/_new-house.scss */
  .p-way-of-build-part--1 .p-way-of-build-part__media {
    width: 100%;
  }
}

@media screen and (min-width: 744px) {
  /* line 101, ../scss/project/_new-house.scss */
  .p-way-of-build-part--1 .p-way-of-build-part__media figure {
    padding-top: 75%;
  }
}

/* line 106, ../scss/project/_new-house.scss */
.p-way-of-build-part--1 .p-way-of-build-part__color {
  position: absolute;
  top: -14rem;
  right: 4rem;
  z-index: 5;
}
@media screen and (min-width: 744px) {
  /* line 106, ../scss/project/_new-house.scss */
  .p-way-of-build-part--1 .p-way-of-build-part__color {
    position: static;
    top: auto;
    right: auto;
  }
}

@media screen and (min-width: 744px) {
  /* line 118, ../scss/project/_new-house.scss */
  .p-way-of-build-part--2 {
    padding-top: 3rem;
    padding-right: var(--part2-indent-space-pc);
    gap: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 118, ../scss/project/_new-house.scss */
  .p-way-of-build-part--2 {
    padding-top: 0;
    padding-right: 7.5rem;
  }
}

/* line 129, ../scss/project/_new-house.scss */
.p-way-of-build-part--2 .p-way-of-build-part__desc {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 129, ../scss/project/_new-house.scss */
  .p-way-of-build-part--2 .p-way-of-build-part__desc {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 138, ../scss/project/_new-house.scss */
.p-way-of-build-part--2 .p-way-of-build-part__desc p {
  width: fit-content;
  margin-left: auto;
}

/* line 142, ../scss/project/_new-house.scss */
.p-way-of-build-part--2 .p-way-of-build-part__visuals {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 142, ../scss/project/_new-house.scss */
  .p-way-of-build-part--2 .p-way-of-build-part__visuals {
    padding-right: 5rem;
    gap: 5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 142, ../scss/project/_new-house.scss */
  .p-way-of-build-part--2 .p-way-of-build-part__visuals {
    padding-right: 7.5rem;
  }
}

/* line 154, ../scss/project/_new-house.scss */
.p-way-of-build-part--2 .p-way-of-build-part__color {
  padding-left: 5rem;
  padding-right: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 154, ../scss/project/_new-house.scss */
  .p-way-of-build-part--2 .p-way-of-build-part__color {
    padding-right: 30rem;
  }
}

/* line 161, ../scss/project/_new-house.scss */
.p-way-of-build-part--2 .c-list-color {
  justify-content: flex-end;
}

/* line 164, ../scss/project/_new-house.scss */
.p-way-of-build-part--2 .p-way-of-build-part__media figure {
  padding-top: 56.25%;
}

/* line 169, ../scss/project/_new-house.scss */
.p-way-of-build-part--3 {
  --image-width: 21.5rem;
}
@media screen and (min-width: 744px) {
  /* line 169, ../scss/project/_new-house.scss */
  .p-way-of-build-part--3 {
    --image-width: 40rem;
    min-height: var(--image-width);
    padding-right: var(--image-width);
    padding-left: 20rem;
    padding-top: 5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 169, ../scss/project/_new-house.scss */
  .p-way-of-build-part--3 {
    padding-right: calc(var(--image-width) + 10rem);
  }
}

/* line 182, ../scss/project/_new-house.scss */
.p-way-of-build-part--3 .p-way-of-build-part__desc {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 182, ../scss/project/_new-house.scss */
  .p-way-of-build-part--3 .p-way-of-build-part__desc {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 190, ../scss/project/_new-house.scss */
.p-way-of-build-part--3 .p-way-of-build-part__visuals {
  display: flex;
  justify-content: flex-end;
  gap: 7.5rem;
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 190, ../scss/project/_new-house.scss */
  .p-way-of-build-part--3 .p-way-of-build-part__visuals {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    justify-content: space-between;
    align-items: center;
    padding-left: 5rem;
    padding-right: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 190, ../scss/project/_new-house.scss */
  .p-way-of-build-part--3 .p-way-of-build-part__visuals {
    padding-left: 6rem;
  }
}

/* line 210, ../scss/project/_new-house.scss */
.p-way-of-build-part--3 .p-way-of-build-part__media {
  width: var(--image-width);
  margin-top: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 210, ../scss/project/_new-house.scss */
  .p-way-of-build-part--3 .p-way-of-build-part__media {
    margin-top: 0;
  }
}

/* line 217, ../scss/project/_new-house.scss */
.p-way-of-build-part--3 .p-way-of-build-part__media figure {
  padding-top: 100%;
}

/* line 220, ../scss/project/_new-house.scss */
.p-way-of-build-part--3 .p-way-of-build-part__sub-desc {
  padding-left: 9rem;
  padding-right: 9rem;
}
@media screen and (min-width: 744px) {
  /* line 220, ../scss/project/_new-house.scss */
  .p-way-of-build-part--3 .p-way-of-build-part__sub-desc {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 233, ../scss/project/_new-house.scss */
.p-new-house-message {
  --row-space-new-house-message-pc: 7.5rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 233, ../scss/project/_new-house.scss */
  .p-new-house-message {
    flex-direction: row;
    gap: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 233, ../scss/project/_new-house.scss */
  .p-new-house-message {
    --row-space-new-house-message-pc: 10rem;
  }
}

/* line 246, ../scss/project/_new-house.scss */
.p-new-house-message__header {
  padding-bottom: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 246, ../scss/project/_new-house.scss */
  .p-new-house-message__header {
    display: flex;
    align-items: center;
    padding-bottom: 0;
    padding-right: var(--row-space-new-house-message-pc);
  }
}

/* line 256, ../scss/project/_new-house.scss */
.p-new-house-message__header-inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1280px) {
  /* line 256, ../scss/project/_new-house.scss */
  .p-new-house-message__header-inner {
    gap: 3rem;
  }
}

/* line 264, ../scss/project/_new-house.scss */
.p-new-house-message__title {
  font-size: 2.8em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}
@media screen and (min-width: 744px) {
  /* line 264, ../scss/project/_new-house.scss */
  .p-new-house-message__title {
    font-size: 3.5em;
    min-width: 9em;
  }
}
@media screen and (min-width: 1280px) {
  /* line 264, ../scss/project/_new-house.scss */
  .p-new-house-message__title {
    font-size: 4.5em;
    gap: 2rem;
  }
}

/* line 291, ../scss/project/_new-house.scss */
.p-new-house-message__sub-title {
  font-size: 1.2em;
  text-align: center;
}
@media screen and (min-width: 744px) {
  /* line 291, ../scss/project/_new-house.scss */
  .p-new-house-message__sub-title {
    font-size: 1.5em;
  }
}
@media screen and (min-width: 1280px) {
  /* line 291, ../scss/project/_new-house.scss */
  .p-new-house-message__sub-title {
    font-size: 2em;
  }
}

@media screen and (min-width: 744px) {
  /* line 301, ../scss/project/_new-house.scss */
  .p-new-house-message__body {
    padding-left: var(--row-space-new-house-message-pc);
  }
}

/* line 306, ../scss/project/_new-house.scss */
.p-new-house-message_desc {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  text-align: center;
}
@media screen and (min-width: 744px) {
  /* line 306, ../scss/project/_new-house.scss */
  .p-new-house-message_desc {
    text-align: left;
  }
}

/* line 319, ../scss/project/_new-house.scss */
.p-sec-new-house-value__body {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  text-align: center;
  line-height: 2.5;
  letter-spacing: 0.05em;
}

/* line 333, ../scss/project/_new-house.scss */
.p-sec-large-copy__content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 333, ../scss/project/_new-house.scss */
  .p-sec-large-copy__content {
    gap: 5rem;
  }
}

/* line 341, ../scss/project/_new-house.scss */
.p-sec-large-copy__text {
  color: #ffffff;
  text-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.15);
}

/* line 345, ../scss/project/_new-house.scss */
.p-sec-large-copy__logo figure {
  width: 7.5rem;
  margin-left: auto;
  margin-right: auto;
  filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.15));
}
@media screen and (min-width: 744px) {
  /* line 345, ../scss/project/_new-house.scss */
  .p-sec-large-copy__logo figure {
    width: 12.5rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 4, ../scss/project/_renovation.scss */
  .p-renovation {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 4, ../scss/project/_renovation.scss */
  .p-renovation {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 14, ../scss/project/_renovation.scss */
.p-renovation__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 1280px) {
  /* line 14, ../scss/project/_renovation.scss */
  .p-renovation__inner {
    gap: 6rem;
  }
}

/* line 25, ../scss/project/_renovation.scss */
.p-renovation-part {
  --indent-space: 3rem;
  --indent-space-lg: calc(var(--indent-space) * 2);
  --indent-space-xl: calc(var(--indent-space) * 3);
  --indent-space-tab: 11rem;
  --indent-space-v: 3rem;
  --indent-space-v-lg: calc(var(--indent-space-v) * 2);
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 25, ../scss/project/_renovation.scss */
  .p-renovation-part {
    padding-left: var(--indent-space-tab);
    padding-right: var(--indent-space-tab);
  }
}
@media screen and (min-width: 1280px) {
  /* line 25, ../scss/project/_renovation.scss */
  .p-renovation-part {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 49, ../scss/project/_renovation.scss */
.p-renovation-part__desc {
  line-height: 2.5;
  letter-spacing: 0.05em;
}

/* line 53, ../scss/project/_renovation.scss */
.p-renovation-part__sub-media figure,
.p-renovation-part__media figure {
  position: relative;
  height: 0;
  padding-top: 70%;
}

/* line 59, ../scss/project/_renovation.scss */
.p-renovation-part__sub-media img,
.p-renovation-part__media img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 744px) {
  /* line 71, ../scss/project/_renovation.scss */
  .p-renovation-part--1 {
    flex-direction: row-reverse;
    align-items: center;
    gap: 2.5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 71, ../scss/project/_renovation.scss */
  .p-renovation-part--1 {
    padding-left: 0;
    padding-right: 3rem;
    gap: 3rem;
  }
}

/* line 83, ../scss/project/_renovation.scss */
.p-renovation-part--1 .p-renovation-part__desc {
  padding-left: 12rem;
  padding-right: var(--indent-space-lg);
}
@media screen and (min-width: 744px) {
  /* line 83, ../scss/project/_renovation.scss */
  .p-renovation-part--1 .p-renovation-part__desc {
    padding-top: var(--indent-space-v);
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 auto;
  }
}

/* line 93, ../scss/project/_renovation.scss */
.p-renovation-part--1 .p-renovation-part__desc p {
  width: fit-content;
  margin-left: auto;
}

/* line 97, ../scss/project/_renovation.scss */
.p-renovation-part--1 .p-renovation-part__visuals {
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 97, ../scss/project/_renovation.scss */
  .p-renovation-part--1 .p-renovation-part__visuals {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: row;
    gap: 2.5rem;
    width: 70%;
  }
}

@media screen and (min-width: 744px) {
  /* line 110, ../scss/project/_renovation.scss */
  .p-renovation-part--1 .p-renovation-part__media {
    width: 100%;
  }
}

@media screen and (min-width: 744px) {
  /* line 115, ../scss/project/_renovation.scss */
  .p-renovation-part--1 .p-renovation-part__media figure {
    padding-top: 75%;
  }
}

/* line 120, ../scss/project/_renovation.scss */
.p-renovation-part--1 .p-renovation-part__color {
  position: absolute;
  top: -17rem;
  left: 4rem;
  z-index: 5;
}
@media screen and (min-width: 744px) {
  /* line 120, ../scss/project/_renovation.scss */
  .p-renovation-part--1 .p-renovation-part__color {
    position: static;
    top: auto;
    right: auto;
  }
}

/* line 134, ../scss/project/_renovation.scss */
.p-renovation-part--2 {
  --width-part2-image-1: 18rem;
  --width-part2-image-2: 21rem;
  --indent-part2-pc: var(--indent-space-tab);
}
@media screen and (min-width: 744px) {
  /* line 134, ../scss/project/_renovation.scss */
  .p-renovation-part--2 {
    --width-part2-image-1: 30rem;
    --width-part2-image-2: 32rem;
    gap: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 134, ../scss/project/_renovation.scss */
  .p-renovation-part--2 {
    --width-part2-image-1: 38rem;
    --width-part2-image-2: 40rem;
    --indent-part2-pc: 8rem;
  }
}

/* line 149, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__desc {
  padding-left: var(--indent-space);
  padding-right: var(--indent-space);
}
@media screen and (min-width: 744px) {
  /* line 149, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__desc {
    padding-left: 0;
    padding-right: var(--width-part2-image-1);
  }
}
@media screen and (min-width: 1280px) {
  /* line 149, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__desc {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 162, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__visuals {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 162, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__visuals {
    margin-top: -8rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 162, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__visuals {
    margin-top: -10rem;
    padding-left: 0;
  }
}

/* line 177, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__color {
  position: absolute;
  top: var(--indent-space-v-lg);
  left: 8rem;
  z-index: 5;
}
@media screen and (min-width: 744px) {
  /* line 177, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__color {
    top: 10rem;
    right: calc(var(--width-part2-image-1) + 3rem);
    left: auto;
  }
}
@media screen and (min-width: 1280px) {
  /* line 177, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__color {
    top: 13rem;
    right: calc( var(--width-part2-image-1) + var(--indent-part2-pc) + 6rem );
  }
}

/* line 195, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__media {
  width: var(--width-part2-image-1);
  padding-bottom: var(--indent-space-v-lg);
}
@media screen and (min-width: 744px) {
  /* line 195, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__media {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 195, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__media {
    margin-right: 8rem;
  }
}

/* line 205, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__media figure {
  padding-top: 195%;
}

/* line 208, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__sub-media {
  width: var(--width-part2-image-2);
}
@media screen and (min-width: 744px) {
  /* line 208, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__sub-media {
    margin-left: -3rem;
    margin-right: 3rem;
    margin-bottom: 15rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 208, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__sub-media {
    margin-left: 0;
    margin-right: 0;
  }
}

/* line 220, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__sub-media figure {
  padding-top: 75%;
}

/* line 223, ../scss/project/_renovation.scss */
.p-renovation-part--2 .p-renovation-part__sub-desc {
  padding-left: var(--indent-space-lg);
  padding-right: var(--indent-space-xl);
}
@media screen and (min-width: 744px) {
  /* line 223, ../scss/project/_renovation.scss */
  .p-renovation-part--2 .p-renovation-part__sub-desc {
    position: absolute;
    bottom: 0;
    right: calc( var(--width-part2-image-1) + var(--indent-part2-pc) + 3rem );
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 4rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 240, ../scss/project/_renovation.scss */
  .p-renovation-part--3 {
    flex-direction: row-reverse;
    margin-top: 5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 240, ../scss/project/_renovation.scss */
  .p-renovation-part--3 {
    margin-top: 4rem;
  }
}

/* line 249, ../scss/project/_renovation.scss */
.p-renovation-part--3 .p-renovation-part__desc {
  padding-left: 3rem;
  padding-right: 3rem;
}

/* line 253, ../scss/project/_renovation.scss */
.p-renovation-part--3 .p-renovation-part__visuals {
  padding-right: 10rem;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 253, ../scss/project/_renovation.scss */
  .p-renovation-part--3 .p-renovation-part__visuals {
    padding-right: 0;
    position: static;
    width: 70%;
  }
}
@media screen and (min-width: 1280px) {
  /* line 253, ../scss/project/_renovation.scss */
  .p-renovation-part--3 .p-renovation-part__visuals {
    width: 62rem;
    margin-right: 11rem;
  }
}

/* line 266, ../scss/project/_renovation.scss */
.p-renovation-part--3 .p-renovation-part__color {
  position: absolute;
  top: -1rem;
  transform: translateY(-100%);
  right: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 266, ../scss/project/_renovation.scss */
  .p-renovation-part--3 .p-renovation-part__color {
    right: 3rem;
    top: -1.5rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 266, ../scss/project/_renovation.scss */
  .p-renovation-part--3 .p-renovation-part__color {
    right: 0;
  }
}

@media screen and (min-width: 744px) {
  /* line 279, ../scss/project/_renovation.scss */
  .p-renovation-part--3 .p-renovation-part__media {
    width: 100%;
  }
}

/* line 284, ../scss/project/_renovation.scss */
.p-renovation-part--3 .p-renovation-part__media figure {
  padding-top: 50%;
}

/* line 287, ../scss/project/_renovation.scss */
.p-renovation-part--3 .p-renovation-part__sub-desc {
  padding-left: var(--indent-space);
  padding-right: var(--indent-space);
}
@media screen and (min-width: 744px) {
  /* line 287, ../scss/project/_renovation.scss */
  .p-renovation-part--3 .p-renovation-part__sub-desc {
    padding-left: 0;
    padding-right: 0;
    flex: 1 1 auto;
  }
}
@media screen and (min-width: 1280px) {
  /* line 287, ../scss/project/_renovation.scss */
  .p-renovation-part--3 .p-renovation-part__sub-desc {
    padding-top: 6rem;
  }
}

@media screen and (min-width: 744px) {
  /* line 4, ../scss/project/_real-estate.scss */
  .p-real-estate {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1280px) {
  /* line 4, ../scss/project/_real-estate.scss */
  .p-real-estate {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 14, ../scss/project/_real-estate.scss */
.p-real-estate__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 14, ../scss/project/_real-estate.scss */
  .p-real-estate__inner {
    gap: 0;
  }
}

/* line 25, ../scss/project/_real-estate.scss */
.p-real-estate-part {
  --part1-visual-gap: 2.5rem;
  --width-color-list: 5rem;
  --indent-space-pc: 5rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 25, ../scss/project/_real-estate.scss */
  .p-real-estate-part {
    padding-left: var(--indent-space-pc);
    padding-right: var(--indent-space-pc);
  }
}
@media screen and (min-width: 1280px) {
  /* line 25, ../scss/project/_real-estate.scss */
  .p-real-estate-part {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 46, ../scss/project/_real-estate.scss */
.p-real-estate-part__desc {
  line-height: 2.5;
  letter-spacing: 0.05em;
}

/* line 50, ../scss/project/_real-estate.scss */
.p-real-estate-part__media figure {
  position: relative;
  height: 0;
  padding-top: 70%;
}

/* line 55, ../scss/project/_real-estate.scss */
.p-real-estate-part__media img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 744px) {
  /* line 66, ../scss/project/_real-estate.scss */
  .p-real-estate-part--1 {
    flex-direction: row;
    gap: 2.5rem;
  }
}

/* line 72, ../scss/project/_real-estate.scss */
.p-real-estate-part--1 .p-real-estate-part__desc {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 72, ../scss/project/_real-estate.scss */
  .p-real-estate-part--1 .p-real-estate-part__desc {
    padding-left: 0;
    padding-right: 0;
    padding-top: 9rem;
    flex: 1 0 auto;
  }
}

/* line 82, ../scss/project/_real-estate.scss */
.p-real-estate-part--1 .p-real-estate-part__visuals {
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 82, ../scss/project/_real-estate.scss */
  .p-real-estate-part--1 .p-real-estate-part__visuals {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    gap: var(--part1-visual-gap);
    width: 70%;
    flex-shrink: 1;
  }
}

@media screen and (min-width: 744px) {
  /* line 97, ../scss/project/_real-estate.scss */
  .p-real-estate-part--1 .p-real-estate-part__media {
    width: 100%;
  }
}

@media screen and (min-width: 744px) {
  /* line 102, ../scss/project/_real-estate.scss */
  .p-real-estate-part--1 .p-real-estate-part__media figure {
    padding-top: 75%;
  }
}

/* line 107, ../scss/project/_real-estate.scss */
.p-real-estate-part--1 .p-real-estate-part__color {
  position: absolute;
  top: -14rem;
  right: 4rem;
  z-index: 5;
}
@media screen and (min-width: 744px) {
  /* line 107, ../scss/project/_real-estate.scss */
  .p-real-estate-part--1 .p-real-estate-part__color {
    position: static;
    top: auto;
    right: auto;
  }
}

/* line 121, ../scss/project/_real-estate.scss */
.p-real-estate-part--2 {
  --width-part2-visual-item-sp: 70%;
  --gap: 6rem;
}
@media screen and (min-width: 744px) {
  /* line 121, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 {
    --width-part2-visual-item-sp: auto;
    margin-top: 9rem;
    flex-direction: row-reverse;
    gap: var(--gap);
  }
}
@media screen and (min-width: 1280px) {
  /* line 121, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 {
    padding-top: 0;
  }
}

/* line 135, ../scss/project/_real-estate.scss */
.p-real-estate-part--2 .p-real-estate-part__desc {
  margin-top: -3rem;
  margin-bottom: 3rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 744px) {
  /* line 135, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 .p-real-estate-part__desc {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 3rem;
    padding-bottom: 13rem;
    flex: 1 1 auto;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 1280px) {
  /* line 135, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 .p-real-estate-part__desc {
    padding-bottom: 17rem;
  }
}

/* line 159, ../scss/project/_real-estate.scss */
.p-real-estate-part--2 .p-real-estate-part__visuals {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 159, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 .p-real-estate-part__visuals {
    padding-left: 0;
    padding-right: 0;
    display: block;
    width: 45%;
    flex-shrink: 1;
    position: relative;
  }
}

/* line 176, ../scss/project/_real-estate.scss */
.p-real-estate-part--2 .p-real-estate-part__color {
  width: var(--width-part2-visual-item-sp);
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 744px) {
  /* line 176, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 .p-real-estate-part__color {
    position: absolute;
    left: 100%;
    margin-left: var(--gap);
    bottom: 8rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 176, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 .p-real-estate-part__color {
    bottom: 12rem;
  }
}

/* line 190, ../scss/project/_real-estate.scss */
.p-real-estate-part--2 .c-list-color {
  justify-content: flex-end;
}

/* line 193, ../scss/project/_real-estate.scss */
.p-real-estate-part--2 .p-real-estate-part__media {
  width: var(--width-part2-visual-item-sp);
}
@media screen and (min-width: 744px) {
  /* line 193, ../scss/project/_real-estate.scss */
  .p-real-estate-part--2 .p-real-estate-part__media {
    margin-left: 6rem;
  }
}

/* line 199, ../scss/project/_real-estate.scss */
.p-real-estate-part--2 .p-real-estate-part__media figure {
  padding-top: 100%;
}

@media screen and (min-width: 744px) {
  /* line 206, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 {
    flex-direction: row;
    gap: 9.5rem;
    margin-top: -3rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 206, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 {
    margin-top: -6rem;
  }
}

/* line 217, ../scss/project/_real-estate.scss */
.p-real-estate-part--3 .p-real-estate-part__desc {
  padding-left: 3rem;
  padding-right: 3rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 744px) {
  /* line 217, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 .p-real-estate-part__desc {
    padding-right: 0;
    flex: 1 0 auto;
    justify-content: flex-start;
    padding-top: 20rem;
    padding-left: 20rem;
  }
}

/* line 232, ../scss/project/_real-estate.scss */
.p-real-estate-part--3 .p-real-estate-part__visuals {
  display: flex;
  gap: 2.5rem;
  margin-left: 6rem;
}
@media screen and (min-width: 744px) {
  /* line 232, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 .p-real-estate-part__visuals {
    margin-left: 0;
    gap: 0;
    width: 38.2%;
  }
}

@media screen and (min-width: 744px) {
  /* line 243, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 .p-real-estate-part__color {
    position: absolute;
    z-index: 1;
    top: 12rem;
    left: 17rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 243, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 .p-real-estate-part__color {
    left: 12rem;
  }
}

/* line 254, ../scss/project/_real-estate.scss */
.p-real-estate-part--3 .p-real-estate-part__media {
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 254, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 .p-real-estate-part__media {
    margin-top: 0;
  }
}

/* line 260, ../scss/project/_real-estate.scss */
.p-real-estate-part--3 .p-real-estate-part__media figure {
  padding-top: 162%;
}

/* line 263, ../scss/project/_real-estate.scss */
.p-real-estate-part--3 .p-real-estate-part__sub-desc {
  padding-left: 9rem;
  padding-right: 9rem;
}
@media screen and (min-width: 744px) {
  /* line 263, ../scss/project/_real-estate.scss */
  .p-real-estate-part--3 .p-real-estate-part__sub-desc {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 274, ../scss/project/_real-estate.scss */
.p-real-estate-part--4 {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 274, ../scss/project/_real-estate.scss */
  .p-real-estate-part--4 {
    padding-left: var(--indent-space-pc);
    padding-right: var(--indent-space-pc);
    flex-direction: row-reverse;
    gap: 6rem;
    margin-top: -11rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 274, ../scss/project/_real-estate.scss */
  .p-real-estate-part--4 {
    padding-left: 0;
    padding-right: 0;
    margin-top: -18rem;
  }
}

/* line 293, ../scss/project/_real-estate.scss */
.p-real-estate-part--4 .p-real-estate-part__desc {
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 744px) {
  /* line 293, ../scss/project/_real-estate.scss */
  .p-real-estate-part--4 .p-real-estate-part__desc {
    justify-content: flex-start;
    align-items: flex-end;
    flex: 1 0 auto;
    padding-top: 11rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 293, ../scss/project/_real-estate.scss */
  .p-real-estate-part--4 .p-real-estate-part__desc {
    padding-top: 20rem;
  }
}

/* line 306, ../scss/project/_real-estate.scss */
.p-real-estate-part--4 .p-real-estate-part__visuals {
  margin-right: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 306, ../scss/project/_real-estate.scss */
  .p-real-estate-part--4 .p-real-estate-part__visuals {
    margin-right: 0;
    width: 53%;
    flex-shrink: 1;
  }
}

/* line 1, ../scss/project/_newbuild.scss */
.page-template-page-newbuild .p-sec-tel-info {
  background-color: #f7f6f2;
}

/* line 4, ../scss/project/_newbuild.scss */
.page-template-page-newbuild .p-tel-info {
  font-size: 0.85em;
}
@media screen and (min-width: 744px) {
  /* line 4, ../scss/project/_newbuild.scss */
  .page-template-page-newbuild .p-tel-info {
    font-size: 1em;
  }
}

/* line 10, ../scss/project/_newbuild.scss */
.page-template-page-newbuild .p-tel-info {
  background-color: #fff;
  padding: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 10, ../scss/project/_newbuild.scss */
  .page-template-page-newbuild .p-tel-info {
    padding: 3rem 10rem;
  }
}

/* line 1, ../scss/project/_news.scss */
.p-arcihve-news {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 1, ../scss/project/_news.scss */
  .p-arcihve-news {
    gap: 10rem;
  }
}

/* line 10, ../scss/project/_news.scss */
.p-arcihve-news__title {
  font-size: 1.5em;
}

/* line 14, ../scss/project/_news.scss */
.p-arcihve-news-list {
  --gap: 3rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}

@media screen and (min-width: 744px) and (max-width: 1279px) {
  /* line 3, ../scss/project/_single-event.scss */
  .page-template-single-event .site-main .l-content,
  .post-template-single-event .site-main .l-content {
    --content-padding: 4rem;
  }
}

/* line 13, ../scss/project/_single-event.scss */
.p-event-summary {
  --section-padding: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 13, ../scss/project/_single-event.scss */
  .p-event-summary {
    --section-padding: 10rem;
  }
}

/* line 20, ../scss/project/_single-event.scss */
.p-event-summary__header {
  margin-bottom: 3rem;
}

/* line 23, ../scss/project/_single-event.scss */
.p-event-summary__body {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 744px) {
  /* line 23, ../scss/project/_single-event.scss */
  .p-event-summary__body {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
    display: flex;
    gap: 2rem;
  }
}
@media screen and (min-width: 1280px) {
  /* line 23, ../scss/project/_single-event.scss */
  .p-event-summary__body {
    gap: 4rem;
  }
}

/* line 40, ../scss/project/_single-event.scss */
.p-event-summary__main {
  padding-left: var(--content-padding);
  padding-right: var(--content-padding);
  margin-bottom: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 40, ../scss/project/_single-event.scss */
  .p-event-summary__main {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}

/* line 58, ../scss/project/_single-event.scss */
.p-event-summary__desc {
  letter-spacing: 0.03em;
  margin-bottom: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 58, ../scss/project/_single-event.scss */
  .p-event-summary__desc {
    margin: 0;
  }
}

/* line 66, ../scss/project/_single-event.scss */
.p-event-summary__feature {
  margin-bottom: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 66, ../scss/project/_single-event.scss */
  .p-event-summary__feature {
    margin: 0;
  }
}

/* line 73, ../scss/project/_single-event.scss */
.p-event-summary__info {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media screen and (min-width: 744px) {
  /* line 78, ../scss/project/_single-event.scss */
  .p-event-summary__side {
    width: 55rem;
    flex-shrink: 0;
  }
}

/* line 87, ../scss/project/_single-event.scss */
.p-slider-summary .splide__slide {
  width: 100%;
  padding: 0 2rem;
}
@media screen and (min-width: 744px) {
  /* line 87, ../scss/project/_single-event.scss */
  .p-slider-summary .splide__slide {
    padding: 0;
  }
}

@media screen and (min-width: 1280px) {
  /* line 94, ../scss/project/_single-event.scss */
  .p-slider-summary .splide__arrow--next {
    transform: translate(50%, -50%);
  }
}

@media screen and (min-width: 1280px) {
  /* line 99, ../scss/project/_single-event.scss */
  .p-slider-summary .splide__arrow--prev {
    transform: translate(-50%, -50%);
  }
}

/* line 108, ../scss/project/_single-event.scss */
.p-event-sec-flex {
  --section-padding: 0;
}
@media screen and (min-width: 1280px) {
  /* line 108, ../scss/project/_single-event.scss */
  .p-event-sec-flex {
    --section-padding: 10rem;
    padding-bottom: 0;
  }
}

/* line 115, ../scss/project/_single-event.scss */
.p-event-sec-flex__inner {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 744px) {
  /* line 115, ../scss/project/_single-event.scss */
  .p-event-sec-flex__inner {
    display: flex;
  }
}
@media screen and (min-width: 1280px) {
  /* line 115, ../scss/project/_single-event.scss */
  .p-event-sec-flex__inner {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 127, ../scss/project/_single-event.scss */
.p-event-sec-flex__block {
  --inner-padding: 3rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 127, ../scss/project/_single-event.scss */
  .p-event-sec-flex__block {
    --inner-padding: 4rem;
    width: 50%;
  }
}
@media screen and (min-width: 1280px) {
  /* line 127, ../scss/project/_single-event.scss */
  .p-event-sec-flex__block {
    --inner-padding: 5rem;
  }
}

/* line 140, ../scss/project/_single-event.scss */
.p-event-sec-flex__block .l-stack > * {
  padding-left: var(--inner-padding);
  padding-right: var(--inner-padding);
}

/* line 144, ../scss/project/_single-event.scss */
.p-event-sec-flex__block .c-head-border {
  padding-right: 0;
}
@media screen and (min-width: 744px) {
  /* line 144, ../scss/project/_single-event.scss */
  .p-event-sec-flex__block .c-head-border {
    padding-right: var(--inner-padding);
  }
}

@media screen and (min-width: 744px) {
  /* line 5, ../scss/project/_single-works-renovation.scss */
  .page-template-single-works-renovation .p-sec-spec__main,
  .post-template-single-works-renovation .p-sec-spec__main {
    width: 31%;
  }
}
@media screen and (min-width: 744px) {
  /* line 10, ../scss/project/_single-works-renovation.scss */
  .page-template-single-works-renovation .p-sec-spec__sub,
  .post-template-single-works-renovation .p-sec-spec__sub {
    flex: 1 1 auto;
  }
}

@media screen and (min-width: 744px) {
  /* line 16, ../scss/project/_single-works-renovation.scss */
  .p-works-ren-bf-af {
    display: flex;
  }
}

@media screen and (min-width: 744px) {
  /* line 21, ../scss/project/_single-works-renovation.scss */
  .p-works-ren-bf-af > figure {
    width: 50%;
  }
}

/* line 26, ../scss/project/_single-works-renovation.scss */
.p-works-ren-gallery {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 26, ../scss/project/_single-works-renovation.scss */
  .p-works-ren-gallery {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 35, ../scss/project/_single-works-renovation.scss */
.p-works-ren-gallery__list {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 35, ../scss/project/_single-works-renovation.scss */
  .p-works-ren-gallery__list {
    flex-wrap: wrap;
    flex-direction: row;
  }
}

/* line 46, ../scss/project/_single-works-renovation.scss */
.p-works-ren-gallery__list > li {
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 46, ../scss/project/_single-works-renovation.scss */
  .p-works-ren-gallery__list > li {
    width: calc((100% - var(--gap)) / 2);
  }
}

/* line 56, ../scss/project/_single-works-renovation.scss */
.p-works-before-gallery {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 744px) {
  /* line 56, ../scss/project/_single-works-renovation.scss */
  .p-works-before-gallery {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 66, ../scss/project/_single-works-renovation.scss */
.p-slider-before .splide__slide {
  width: 62%;
}

@media screen and (min-width: 744px) {
  /* line 69, ../scss/project/_single-works-renovation.scss */
  .p-slider-before .splide__list {
    --gap: 3rem;
    display: flex !important;
    flex-wrap: wrap;
    gap: var(--gap);
  }
}

@media screen and (min-width: 744px) {
  /* line 77, ../scss/project/_single-works-renovation.scss */
  .p-slider-before .splide__slide {
    width: calc((100% - var(--gap) * 3) / 4);
  }
}

/* line 2, ../scss/project/_single-property-newhouse.scss */
.p-password {
  position: relative;
  overflow: hidden;
}

/* line 6, ../scss/project/_single-property-newhouse.scss */
.p-password__content {
  position: relative;
  z-index: 2;
}

/* line 10, ../scss/project/_single-property-newhouse.scss */
.p-password__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

/* line 19, ../scss/project/_single-property-newhouse.scss */
.p-password__bg > * {
  filter: blur(8px);
  transform: scale(1.05);
  pointer-events: none;
}

/* line 3, ../scss/project/_single-property-land.scss */
.p-sec-top-stack--land .p-sec-top-stack__media-inner {
  background-color: #ffffff;
}
/* line 6, ../scss/project/_single-property-land.scss */
.p-sec-top-stack--land .p-sec-top-stack__media-inner::before {
  display: none;
}
/* line 10, ../scss/project/_single-property-land.scss */
.p-sec-top-stack--land .p-sec-top-stack__media img {
  width: 100%;
  object-fit: contain;
}
/* line 16, ../scss/project/_single-property-land.scss */
.p-sec-top-stack--land .c-list-spec__desc {
  font-size: 1.3em;
}

/* line 2, ../scss/project/_single-modelhouse.scss */
.p-modelhouse-gallery {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (min-width: 744px) {
  /* line 2, ../scss/project/_single-modelhouse.scss */
  .p-modelhouse-gallery {
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
  }
}

/* line 10, ../scss/project/_single-modelhouse.scss */
.p-modelhouse-gallery__list {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 10, ../scss/project/_single-modelhouse.scss */
  .p-modelhouse-gallery__list {
    flex-wrap: wrap;
    flex-direction: row;
  }
}

@media screen and (min-width: 744px) {
  /* line 20, ../scss/project/_single-modelhouse.scss */
  .p-modelhouse-gallery__item {
    width: calc((100% - var(--gap)) / 2);
  }
}

/* line 26, ../scss/project/_single-modelhouse.scss */
.p-modelhouse-floor-plan__inner {
  --gap: 5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 744px) {
  /* line 26, ../scss/project/_single-modelhouse.scss */
  .p-modelhouse-floor-plan__inner {
    flex-wrap: wrap;
    flex-direction: row;
  }
}

/* line 36, ../scss/project/_single-modelhouse.scss */
.p-modelhouse-floor-plan__block {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 36, ../scss/project/_single-modelhouse.scss */
  .p-modelhouse-floor-plan__block {
    width: calc((100% - var(--gap)) / 2);
  }
}

@media screen and (min-width: 744px) {
  /* line 44, ../scss/project/_single-modelhouse.scss */
  .p-modelhouse-floor-plan__block > .c-head-border {
    width: 37rem;
  }
}

/* line 4, ../scss/project/_single-story.scss */
.p-single-story-mv {
  text-align: center;
}

/* line 10, ../scss/project/_single-story.scss */
.p-single-story-intro {
  font-size: 1.3em;
}
@media screen and (min-width: 744px) {
  /* line 10, ../scss/project/_single-story.scss */
  .p-single-story-intro {
    text-align: center;
  }
}

/* line 19, ../scss/project/_single-story.scss */
.p-sec-story-part {
  padding-top: 0;
  display: flex;
  flex-direction: column;
  gap: 7.5rem;
}
@media screen and (min-width: 744px) {
  /* line 19, ../scss/project/_single-story.scss */
  .p-sec-story-part {
    gap: 10rem;
  }
}

/* line 36, ../scss/project/_single-story.scss */
.p-story-part {
  --sp-indent: 3rem;
  --sp-overlap: -6rem;
  --pc-offset: 5rem;
  --media-top-padding: 10rem;
  --media-refer-width: 100vw;
  --media-ratio: 0.618;
  --content-shift: var(--pc-offset);
  --media-width: calc(100% * var(--media-ratio));
  --content-width: 38.2%;
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 1280px) {
  /* line 36, ../scss/project/_single-story.scss */
  .p-story-part {
    --pc-offset: 14rem;
    --media-refer-width: calc(128rem);
    --content-width: 37.5%;
    --media-ratio: 0.56;
  }
}
@media screen and (min-width: 744px) {
  /* line 36, ../scss/project/_single-story.scss */
  .p-story-part {
    min-height: calc( var(--media-top-padding) + (var(--media-refer-width) * var(--media-ratio) * 0.7) );
  }
}

/* line 82, ../scss/project/_single-story.scss */
.p-story-part__content {
  padding-right: var(--sp-indent);
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 744px) {
  /* line 82, ../scss/project/_single-story.scss */
  .p-story-part__content {
    padding-right: 0;
    margin-top: 0;
    width: var(--content-width);
    margin-left: var(--content-shift);
    margin-right: calc(var(--content-shift) * -1);
  }
}

/* line 106, ../scss/project/_single-story.scss */
.p-story-part__media {
  padding-left: var(--sp-indent);
  margin-top: var(--sp-overlap);
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 744px) {
  /* line 106, ../scss/project/_single-story.scss */
  .p-story-part__media {
    padding-left: 0;
    margin-top: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: var(--media-width);
    padding-top: var(--media-top-padding);
  }
}

/* line 131, ../scss/project/_single-story.scss */
.p-story-part--reverse {
  --content-shift: calc(var(--pc-offset) * -1);
  flex-direction: column-reverse;
}
@media screen and (min-width: 744px) {
  /* line 131, ../scss/project/_single-story.scss */
  .p-story-part--reverse {
    padding-bottom: 0;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
}

/* line 146, ../scss/project/_single-story.scss */
.p-story-part--reverse .p-story-part__content {
  padding-right: 0;
  padding-left: var(--sp-indent);
  margin-top: var(--sp-overlap);
}
@media screen and (min-width: 744px) {
  /* line 146, ../scss/project/_single-story.scss */
  .p-story-part--reverse .p-story-part__content {
    padding-left: 0;
    margin-top: 0;
    padding-top: var(--media-top-padding);
  }
}

/* line 161, ../scss/project/_single-story.scss */
.p-story-part--reverse .p-story-part__media {
  padding-left: 0;
  padding-right: var(--sp-indent);
  margin-top: 0;
}
@media screen and (min-width: 744px) {
  /* line 161, ../scss/project/_single-story.scss */
  .p-story-part--reverse .p-story-part__media {
    padding-right: 0;
    padding-top: 0;
    padding-bottom: var(--media-top-padding);
    right: auto;
    left: 0;
    bottom: auto;
    top: 0;
  }
}

/* line 184, ../scss/project/_single-story.scss */
.p-story-part--highlight {
  --content-shift: calc(var(--pc-offset) * 2);
  --media-top-padding: 19.5rem;
}
@media screen and (min-width: 744px) {
  /* line 184, ../scss/project/_single-story.scss */
  .p-story-part--highlight {
    min-height: calc( var(--media-top-padding) + ((var(--media-refer-width) - var(--content-shift)) * 0.7) );
  }
}

@media screen and (min-width: 1280px) {
  /* line 198, ../scss/project/_single-story.scss */
  .p-story-part--highlight .p-story-part__content {
    --content-shift: calc(var(--pc-offset) * 1);
  }
}

@media screen and (min-width: 744px) {
  /* line 205, ../scss/project/_single-story.scss */
  .p-story-part--highlight .p-story-part__media {
    width: calc(var(--media-refer-width) - var(--content-shift));
    left: 0;
    margin: auto;
  }
}
@media screen and (min-width: 1280px) {
  /* line 205, ../scss/project/_single-story.scss */
  .p-story-part--highlight .p-story-part__media {
    left: auto;
  }
}

/* line 220, ../scss/project/_single-story.scss */
.p-story-content {
  padding: 5rem 3rem;
  background-color: rgba(247, 246, 242, 0.95);
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 744px) {
  /* line 220, ../scss/project/_single-story.scss */
  .p-story-content {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

/* line 233, ../scss/project/_single-story.scss */
.p-story-content__desc {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 238, ../scss/project/_single-story.scss */
.p-story-content__desc blockquote {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
}

/* line 242, ../scss/project/_single-story.scss */
.p-story-part:nth-child(even) .p-story-content {
  background-color: rgba(242, 242, 242, 0.95);
}

/* line 246, ../scss/project/_single-story.scss */
.p-story-media {
  position: relative;
  z-index: 10;
}

/* line 250, ../scss/project/_single-story.scss */
.p-story-media > figure {
  height: 0;
  padding-top: 100%;
  position: relative;
}
@media screen and (min-width: 744px) {
  /* line 250, ../scss/project/_single-story.scss */
  .p-story-media > figure {
    padding-top: 70%;
  }
}

/* line 258, ../scss/project/_single-story.scss */
.p-story-media img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

/* line 1, ../scss/project/_thanks.scss */
.p-thanks {
  display: flex;
  flex-direction: column;
  gap: 10rem;
  padding-top: 14rem;
}

/* line 9, ../scss/project/_thanks.scss */
.p-thanks__title {
  font-size: 1.3em;
}

/* line 12, ../scss/project/_thanks.scss */
.p-thanks__body {
  display: flex;
  flex-direction: column;
  gap: 10rem;
}

/* line 17, ../scss/project/_thanks.scss */
.p-thanks__desc {
  font-size: 1.3em;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 23, ../scss/project/_thanks.scss */
.p-thanks__link {
  text-decoration: underline;
}

/* line 1, ../scss/project/_privacy-policy.scss */
.p-privacy-policy {
  display: flex;
  flex-direction: column;
  gap: 10rem;
  padding-top: 14rem;
}

/* line 9, ../scss/project/_privacy-policy.scss */
.p-privacy-policy__title {
  font-size: 1.3em;
}

/* line 12, ../scss/project/_privacy-policy.scss */
.p-privacy-policy__body {
  display: flex;
  flex-direction: column;
  gap: 10rem;
}

/* line 17, ../scss/project/_privacy-policy.scss */
.p-privacy-policy__desc {
  font-size: 1.3em;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* line 23, ../scss/project/_privacy-policy.scss */
.p-privacy-policy__link {
  text-decoration: underline;
}

/* line 27, ../scss/project/_privacy-policy.scss */
.p-privacy-policy__body br {
  display: none;
}

/* -------------------------------------------
   行のラッパー
------------------------------------------- */
/* line 33, ../scss/project/_privacy-policy.scss */
.c-dl-info__row {
  /* 行ごとの余白（ボーダーがないので少し広めに開けると綺麗です） */
  margin-bottom: 1.5rem;
}

/* 最後の行だけ余白を消す */
/* line 39, ../scss/project/_privacy-policy.scss */
.c-dl-info__row:last-child {
  margin-bottom: 0;
}

/* PC以上の設定（横並びにする） */
@media screen and (min-width: 744px) {
  /* line 45, ../scss/project/_privacy-policy.scss */
  .c-dl-info__row {
    display: flex;
    align-items: baseline;
    /* テキストのベースラインで揃える */
  }
}
/* -------------------------------------------
   左側：項目名 (dt)
------------------------------------------ */
/* line 54, ../scss/project/_privacy-policy.scss */
.c-dl-info dt {
  /* スマホ用の下余白 */
  margin-bottom: 0.5em;
}

/* PC以上の設定 */
@media screen and (min-width: 744px) {
  /* line 61, ../scss/project/_privacy-policy.scss */
  .c-dl-info dt {
    /* 固定幅（文字数に合わせて調整してください） */
    width: 8em;
    /* フレックスボックスで縮まないようにする */
    flex-shrink: 0;
    /* PCでは横並びなので下余白は不要 */
    margin-bottom: 0;
  }
}
/* -------------------------------------------
   右側：内容 (dd)
------------------------------------------- */
/* line 76, ../scss/project/_privacy-policy.scss */
.c-dl-info dd {
  /* ブラウザ標準のインデントをリセット */
  margin-left: 0;
  /* 長い英数字（URL等）が枠を突き抜けないようにする */
  overflow-wrap: break-word;
}

/* PC以上の設定 */
@media screen and (min-width: 744px) {
  /* line 86, ../scss/project/_privacy-policy.scss */
  .c-dl-info dd {
    /* 余った幅をすべて使う */
    flex: 1;
  }
}
/* line 4, ../scss/global/_form.scss */
.wpcf7-list-item {
  margin: 0;
  margin-left: 0 !important;
}

/* line 15, ../scss/global/_form.scss */
.c-form__container {
  --gap-block: 4rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap-block);
  overflow: hidden;
}
@media screen and (min-width: 744px) {
  /* line 15, ../scss/global/_form.scss */
  .c-form__container {
    --gap-block: 10rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* line 27, ../scss/global/_form.scss */
.c-form__block {
  --gap-item: 4rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap-item);
}
@media screen and (min-width: 744px) {
  /* line 27, ../scss/global/_form.scss */
  .c-form__block {
    --gap-item: 7.5rem;
    width: calc((100% - var(--gap-block)) * 0.5);
  }
}

/* line 38, ../scss/global/_form.scss */
.c-form__block:last-child:has(.wpcf7-not-valid) {
  padding-bottom: 20px;
}

@media screen and (min-width: 744px) {
  /* line 43, ../scss/global/_form.scss */
  .c-form__block--full {
    width: 100%;
  }
}

/* line 51, ../scss/global/_form.scss */
.c-form__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 56, ../scss/global/_form.scss */
.c-form__item--ui {
  gap: 2rem;
}

/* line 59, ../scss/global/_form.scss */
.c-form__item--row {
  --gap-row-item: 1.5rem;
  display: flex;
  gap: var(--gap-row-item);
}

/* line 64, ../scss/global/_form.scss */
.c-form__row-item {
  width: calc((100% - var(--gap-row-item)) / 2);
}

/* line 70, ../scss/global/_form.scss */
.c-form__row {
  --gap-form-row: 1rem;
  display: flex;
  align-items: center;
  gap: var(--gap-form-row);
}

/* line 76, ../scss/global/_form.scss */
.c-form__row--half .c-form__col {
  width: 50%;
}

/* line 81, ../scss/global/_form.scss */
.c-form__row--tel .c-form-input {
  max-width: 12rem;
  text-align: center;
}

/* line 85, ../scss/global/_form.scss */
.c-form__row--tel .c-form__col:nth-of-type(1) .c-form-input {
  max-width: 9rem;
}

/* line 92, ../scss/global/_form.scss */
.c-form__col--date {
  width: calc((100% - var(--gap-form-row)) * 0.52);
}
@media screen and (min-width: 744px) {
  /* line 92, ../scss/global/_form.scss */
  .c-form__col--date {
    width: calc((100% - var(--gap-form-row)) * 0.57);
  }
}

/* line 98, ../scss/global/_form.scss */
.c-form__col--time {
  width: calc((100% - var(--gap-form-row)) * 0.48);
}
@media screen and (min-width: 744px) {
  /* line 98, ../scss/global/_form.scss */
  .c-form__col--time {
    width: calc((100% - var(--gap-form-row)) * 0.43);
  }
}

/* line 106, ../scss/global/_form.scss */
.c-form__row--zip .c-form-input {
  text-align: center;
}

/* line 113, ../scss/global/_form.scss */
.c-form__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  margin-top: 5rem;
}
@media screen and (min-width: 744px) {
  /* line 113, ../scss/global/_form.scss */
  .c-form__footer {
    margin-top: 7.5rem;
  }
}

/* line 127, ../scss/global/_form.scss */
.c-form__title {
  width: 100%;
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.4;
}

/* line 135, ../scss/global/_form.scss */
.c-form__title--required::after {
  --icon-size: 0.8rem;
  content: "";
  display: inline-block;
  margin-left: 1rem;
  width: var(--icon-size);
  height: var(--icon-size);
  background-image: url(../images/logo_icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: 0.15em;
}

/* line 156, ../scss/global/_form.scss */
.c-form-input,
.c-form-select,
.c-form-textarea {
  font-family: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: normal;
  font-size: 1.15em;
  line-height: 1.7;
  width: 100%;
  padding: 0.6em;
  background-color: #f7f6f2;
  border: solid 0.1rem #6b5832;
  border-radius: 0.5rem;
}

/* line 174, ../scss/global/_form.scss */
::placeholder {
  font-family: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: normal;
}

/* line 180, ../scss/global/_form.scss */
.c-form-input,
.c-form-select {
  height: 5rem;
  line-height: 5rem;
  padding: 0 0.6em;
}

/* line 199, ../scss/global/_form.scss */
.c-form__btn-zip {
  height: 5rem;
  width: 9em;
  flex-shrink: 0;
  margin-left: 1rem;
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  color: #ffffff;
  background-color: #3a3a3a;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  display: flex;
  justify-content: center;
  align-items: center;
}

/* line 219, ../scss/global/_form.scss */
.c-form__submit {
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
}

/* line 225, ../scss/global/_form.scss */
.c-btn-submit {
  border: none;
  outline: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 5rem;
  width: 100%;
  max-width: 38rem;
  padding: 0 2em;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
  font-size: 1.15em;
  color: #ffffff;
  background-color: #3a3a3a;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.15);
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* line 252, ../scss/global/_form.scss */
.c-btn-submit:not(:disabled):hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* line 257, ../scss/global/_form.scss */
.c-btn-submit[disabled] {
  background-color: #bbb;
  color: #ccc;
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 265, ../scss/global/_form.scss */
.c-form__submit .wpcf7-spinner {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  /* line 265, ../scss/global/_form.scss */
  .c-form__submit .wpcf7-spinner {
    right: auto;
    left: 50%;
    transform: translate(-50%, 3rem);
  }
}

/* line 285, ../scss/global/_form.scss */
.c-form__acceptance {
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.7;
}

/* line 291, ../scss/global/_form.scss */
.c-form__acceptance label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  cursor: pointer;
  user-select: none;
  transition: opacity 0.3s;
}

/* line 305, ../scss/global/_form.scss */
.c-form__acceptance input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 313, ../scss/global/_form.scss */
.c-form__acceptance .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 318, ../scss/global/_form.scss */
.c-form__acceptance .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  border: 0.1rem solid #6b5832;
  border-radius: 0.5rem;
  background-color: #ffffff;
  transition: all 0.2s ease;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
  flex-shrink: 0;
}

/* line 338, ../scss/global/_form.scss */
.c-form__acceptance
input[type="checkbox"]:checked
+ .wpcf7-list-item-label::before {
  background-color: #3a3a3a;
  border-color: #3a3a3a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

/* line 353, ../scss/global/_form.scss */
.c-form__check-group {
  margin-top: 1rem;
}

/* line 357, ../scss/global/_form.scss */
.c-form-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

/* line 366, ../scss/global/_form.scss */
.c-form__check-group .wpcf7-list-item {
  width: 100%;
}

/* line 370, ../scss/global/_form.scss */
.c-form__check-group label {
  display: block;
  position: relative;
  cursor: pointer;
  user-select: none;
}

/* line 385, ../scss/global/_form.scss */
.c-form__check-group input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 393, ../scss/global/_form.scss */
.c-form__check-group .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  /* 文字スタイル */
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.7;
}

/* 2. カスタムチェックボックス（四角い箱）を作る */
/* 箱（枠線）だけを担当 */
/* line 405, ../scss/global/_form.scss */
.c-form__check-group .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  border: 0.1rem solid #6b5832;
  background-color: #f7f6f2;
  margin-right: 1rem;
  flex-shrink: 0;
  /* 箱自体の色変化などが不要なら transition はなくてOK */
}

/* ★追加：チェックマークだけを担当する要素を作る */
/* line 418, ../scss/global/_form.scss */
.c-form__check-group .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 0;
  /* 箱の上に重ねる */
  top: 50%;
  /* 箱と同じサイズにして中央配置しやすくする */
  width: 4rem;
  height: 4rem;
  /* 画像設定（最初から入れておく） */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' fill='%23d23939'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 62% 62%;
  /* ▼ アニメーションの肝（最初は隠しておく） ▼ */
  opacity: 0;
  transform: translateY(-50%) scale(0.5);
  /* 小さくしておく */
  transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
  pointer-events: none;
  /* クリックを邪魔しないように */
}

/* 3. チェックが入った時の変化 */
/* line 443, ../scss/global/_form.scss */
.c-form__check-group
input[type="checkbox"]:checked
+ .wpcf7-list-item-label::after {
  /* ▼ フワッと、ボヨヨンと出る ▼ */
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

/* line 455, ../scss/global/_form.scss */
.c-form__radio-group {
  margin-top: 1rem;
}

/* line 459, ../scss/global/_form.scss */
.c-form-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
@media screen and (min-width: 744px) {
  /* line 459, ../scss/global/_form.scss */
  .c-form-radio {
    gap: 2.5rem;
  }
}

/* line 467, ../scss/global/_form.scss */
.c-form__radio-group .wpcf7-list-item {
  width: 100%;
}
@media screen and (min-width: 744px) {
  /* line 467, ../scss/global/_form.scss */
  .c-form__radio-group .wpcf7-list-item {
    width: auto;
  }
}

/* ラベル（クリックエリア） */
/* line 474, ../scss/global/_form.scss */
.c-form__radio-group label {
  display: block;
  position: relative;
  cursor: pointer;
  user-select: none;
}

/* ホバー時の挙動 */
/* line 489, ../scss/global/_form.scss */
.c-form__radio-group input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 497, ../scss/global/_form.scss */
.c-form__radio-group .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  font-size: 1.15em;
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.7;
}

/* 2. カスタムラジオボタン（丸い箱）を作る */
/* 外枠（丸）だけを担当 */
/* line 508, ../scss/global/_form.scss */
.c-form__radio-group .wpcf7-list-item-label::before {
  content: "";
  display: block;
  /* 箱のデザイン */
  width: 4rem;
  height: 4rem;
  border: 0.1rem solid #6b5832;
  background-color: #f7f6f2;
  border-radius: 50%;
  /* 丸くする */
  /* テキストとの距離 */
  margin-right: 0.8rem;
  flex-shrink: 0;
}

/* ★追加：中の「点（●）」だけを担当する要素を作る */
/* line 525, ../scss/global/_form.scss */
.c-form__radio-group .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  /* 上下中央配置の準備 */
  /* 箱と同じサイズにしておく（位置合わせが楽） */
  width: 4rem;
  height: 4rem;
  /* 赤い丸（●）のSVG */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23d23939'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50% 50%;
  /* 中の点のサイズ */
  /* ▼ アニメーションの肝（最初は隠して小さくしておく） ▼ */
  opacity: 0;
  /* 縦位置の調整(-50%) と サイズ(scale 0) をセットで指定 */
  transform: translateY(-50%) scale(0);
  /* 動き */
  transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
  pointer-events: none;
  /* クリックを邪魔しない */
}

/* 3. 選択された時の変化 */
/* line 553, ../scss/global/_form.scss */
.c-form__radio-group
input[type="radio"]:checked
+ .wpcf7-list-item-label::after {
  /* ▼ フワッと、中心から広がるように出る ▼ */
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

/* -------------------------------------------
   日付選択（Datepicker）のスタイル
------------------------------------------- */
/* 1. アイコンを配置する「親（枠）」 */
/* line 568, ../scss/global/_form.scss */
.c-form__col--date {
  position: relative;
  /* アイコン配置の基準 */
  /* ▼ 自前のアイコン（カレンダー）を配置 ▼ */
}
/* line 572, ../scss/global/_form.scss */
.c-form__col--date::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
  /* サイズ */
  width: 2rem;
  height: 2rem;
  /* ★カレンダーアイコンの画像パス */
  background-image: url("../images/icon_calendar.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* ★重要：クリックが下のinput（の透明なネイティブアイコン）に届くようにする */
  pointer-events: none;
}

/* 2. inputタグ本体の設定 */
/* line 596, ../scss/global/_form.scss */
.c-form__col--date .c-form-input {
  /* アイコンと文字が重ならないように右余白を空ける */
  padding-right: 4.5rem;
  /* iOSなどで丸みを帯びるのをリセット */
  appearance: none;
  -webkit-appearance: none;
}

/* 3. 【最重要】ブラウザ標準のカレンダーアイコンを透明にする */
/* line 606, ../scss/global/_form.scss */
.c-form__col--date input[type="date"]::-webkit-calendar-picker-indicator {
  /* display: none; にするとカレンダーが開かなくなるので、
     「存在はするけど見えない」状態にします */
  opacity: 0;
  /* カレンダーが開くエリアを、自作アイコンの上に来るように広げる・配置する */
  position: absolute;
  right: 1rem;
  /* 自作アイコンのあたりに配置 */
  width: 3rem;
  /* クリックしやすいように少し広めに */
  height: 100%;
  cursor: pointer;
}

/* line 622, ../scss/global/_form.scss */
.c-form__col--time {
  position: relative;
  /* アイコン配置の基準 */
}

/* line 625, ../scss/global/_form.scss */
.c-form__col--time::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  /* 右端からの距離 */
  transform: translateY(-50%);
  /* 上下中央揃え */
  width: 2rem;
  /* アイコンサイズ */
  height: 2rem;
  background-image: url(../images/icon_time.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* ★超重要：ここをクリックしても下のセレクトボックスが反応するようにする */
  pointer-events: none;
}

/* 2. セレクトボックス本体の設定 */
/* line 645, ../scss/global/_form.scss */
.c-form__col--time .c-form-select {
  padding-right: 4.5rem;
  /* ★重要：アイコンと文字が重ならないように右余白を多めに */
}

/* 入力ユニット（基準となる親） */
/* line 653, ../scss/global/_form.scss */
.c-form-join-unit {
  position: relative;
  width: 100%;
}

/* 前後の文字（共通） */
/* line 659, ../scss/global/_form.scss */
.c-form-join-unit__head,
.c-form-join-unit__tail {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  /* クリックしても後ろのinputが反応するようにする */
  z-index: 1;
}

/* 「大人/子供」の位置 */
/* line 670, ../scss/global/_form.scss */
.c-form-join-unit__head {
  left: 1.5rem;
  /* 左端からの距離 */
}

/* 「人」の位置 */
/* line 675, ../scss/global/_form.scss */
.c-form-join-unit__tail {
  right: 1.5rem;
  /* 右端からの距離 */
}

/* inputタグ自体の調整 */
/* line 680, ../scss/global/_form.scss */
.c-form-join-unit .c-form-input {
  /* 文字が被らないように内側の余白を空ける */
  padding-left: 5rem;
  /* 「大人」の分 */
  padding-right: 4rem;
  /* 「人」の分 */
  padding-left: 5rem;
  padding-right: 4rem;
  text-align: right;
  appearance: textfield;
  /* 数字を右寄せにする（お好みで center でもOK） */
  text-align: right;
  /* デフォルトのスピナー（▲▼）があると邪魔なので消す場合 */
  appearance: textfield;
  /* Firefox用 */
}
/* line 693, ../scss/global/_form.scss */
.c-form-join-unit .c-form-input::-webkit-inner-spin-button, .c-form-join-unit .c-form-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* line 703, ../scss/global/_form.scss */
.wpcf7-form-control-wrap {
  position: relative;
  display: block;
}

/* line 707, ../scss/global/_form.scss */
.wpcf7-not-valid-tip {
  font-size: 10px;
  line-height: 1.4;
  position: absolute;
  bottom: -0.6em;
  left: 0;
  transform: translateY(100%);
}

/* line 718, ../scss/global/_form.scss */
.c-form-accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 723, ../scss/global/_form.scss */
.c-form-accordion__header {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 13, ../scss/global/_utility.scss */
.u-aspect-2-1 > figure,
.u-aspect-2-1 > div,
.u-aspect-10-7 > figure,
.u-aspect-10-7 > div,
.u-aspect-3-4 > figure,
.u-aspect-3-4 > div,
.u-aspect-16-9 > figure,
.u-aspect-16-9 > div,
.u-aspect-3-2 > figure,
.u-aspect-3-2 > div,
.u-aspect-4-3 > figure,
.u-aspect-4-3 > div,
.u-aspect-square > figure,
.u-aspect-square > div {
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden;
}
/* line 22, ../scss/global/_utility.scss */
.u-aspect-2-1 img,
.u-aspect-2-1 video,
.u-aspect-2-1 iframe,
.u-aspect-10-7 img,
.u-aspect-10-7 video,
.u-aspect-10-7 iframe,
.u-aspect-3-4 img,
.u-aspect-3-4 video,
.u-aspect-3-4 iframe,
.u-aspect-16-9 img,
.u-aspect-16-9 video,
.u-aspect-16-9 iframe,
.u-aspect-3-2 img,
.u-aspect-3-2 video,
.u-aspect-3-2 iframe,
.u-aspect-4-3 img,
.u-aspect-4-3 video,
.u-aspect-4-3 iframe,
.u-aspect-square img,
.u-aspect-square video,
.u-aspect-square iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* line 36, ../scss/global/_utility.scss */
.u-aspect-16-9 > figure,
.u-aspect-16-9 > div {
  padding-top: 56.25%;
}

/* line 41, ../scss/global/_utility.scss */
.u-aspect-3-2 > figure,
.u-aspect-3-2 > div {
  padding-top: 66.7%;
}

/* line 46, ../scss/global/_utility.scss */
.u-aspect-4-3 > figure,
.u-aspect-4-3 > div {
  padding-top: 75%;
}

/* line 51, ../scss/global/_utility.scss */
.u-aspect-square > figure,
.u-aspect-square > div {
  padding-top: 100%;
}

/* line 56, ../scss/global/_utility.scss */
.u-aspect-3-4 > figure,
.u-aspect-3-4 > div {
  padding-top: 133.4%;
}

/* line 60, ../scss/global/_utility.scss */
.u-aspect-10-7 > figure,
.u-aspect-10-7 > div {
  padding-top: 70%;
}

/* line 64, ../scss/global/_utility.scss */
.u-aspect-2-1 > figure,
.u-aspect-2-1 > div {
  padding-top: 50%;
}

/*--------------------------------------------------------------
 Layout Utilities (手動調整用)
--------------------------------------------------------------*/
/* 上下余白 (Padding): 背景色を広げたい時に使用 */
/* line 73, ../scss/global/_utility.scss */
.u-py-50 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* line 77, ../scss/global/_utility.scss */
.u-py-100 {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

/* line 81, ../scss/global/_utility.scss */
.u-py-150 {
  padding-top: 15rem;
  padding-bottom: 15rem;
}

/* line 86, ../scss/global/_utility.scss */
.u-no-padding {
  padding-top: 0;
  padding-bottom: 0;
}

/* line 90, ../scss/global/_utility.scss */
.u-no-padding-top {
  padding-top: 0;
}

/* line 93, ../scss/global/_utility.scss */
.u-no-padding-bottom {
  padding-bottom: 0;
}

/* 上余白 (Margin): ブロック同士を離したい時に使用 */
/* line 97, ../scss/global/_utility.scss */
.u-mt-50 {
  margin-top: 5rem;
}

/* line 100, ../scss/global/_utility.scss */
.u-mt-100 {
  margin-top: 10rem;
}

/*--------------------------------------------------------------
 Theme Colors (背景色と文字色のセット)
 ※ 新しい変数名ルール (--bg-theme-xx / --text-on-xx) を適用
--------------------------------------------------------------*/
/* テーマ：ライト (Beige背景 + 黒文字) */
/* line 108, ../scss/global/_utility.scss */
.bg_theme_light {
  background-color: #f7f6f2;
  color: #3a3a3a;
}

/* テーマ：ライトの透過版 (Overlay) */
/* line 113, ../scss/global/_utility.scss */
.bg_theme_light_medium {
  background-color: rgba(247, 246, 242, 0.65);
  color: #3a3a3a;
}

/* テーマ：ダーク (黒背景 + ベージュ文字) */
/* line 118, ../scss/global/_utility.scss */
.bg_theme_dark {
  background-color: #3a3a3a;
  color: #ffffff;
}

/* テーマ：ダークの透過版 (Overlay) */
/* line 123, ../scss/global/_utility.scss */
.bg_theme_dark_medium {
  background-color: rgba(58, 58, 58, 0.5);
  color: #ffffff;
}

/* line 128, ../scss/global/_utility.scss */
.bg_white {
  background-color: #ffffff;
  color: #3a3a3a;
}

/* line 132, ../scss/global/_utility.scss */
.bg_white_medium {
  background-color: rgba(255, 255, 255, 0.5);
}

/* line 135, ../scss/global/_utility.scss */
.bg_khaki {
  background-color: #999581;
  color: #ffffff;
}

/* line 139, ../scss/global/_utility.scss */
.bg_gray {
  background-color: #f2f2f2;
  color: #3a3a3a;
}

/* line 143, ../scss/global/_utility.scss */
.bg_black_light {
  background-color: rgba(0, 0, 0, 0.25);
  color: #ffffff;
}

/* line 147, ../scss/global/_utility.scss */
.bg_black_medium {
  background-color: rgba(0, 0, 0, 0.5);
  color: #ffffff;
}

/* line 151, ../scss/global/_utility.scss */
.bg_black_heavy {
  background-color: rgba(0, 0, 0, 0.75);
  color: #ffffff;
}

/* line 155, ../scss/global/_utility.scss */
.bg_yellow {
  background-color: #b69b60;
  color: #ffffff;
}

/* line 159, ../scss/global/_utility.scss */
.bg_blue {
  background-color: #293a4a;
  color: #ffffff;
}

/* line 163, ../scss/global/_utility.scss */
.bg_light_blue-100 {
  background-color: #eceff1;
}

/* line 166, ../scss/global/_utility.scss */
.bg_olive_gray {
  background-color: #f7f6f2;
}

/* line 169, ../scss/global/_utility.scss */
.bg_olive_gray-300 {
  background-color: #ebf0ec;
}

/*--------------------------------------------------------------
 Layout Utilities (手動調整用)
--------------------------------------------------------------*/
/* line 176, ../scss/global/_utility.scss */
.u-text-brown {
  color: #6b5832;
}

/* line 179, ../scss/global/_utility.scss */
.u-text-blue {
  color: #293a4a;
}

/* line 182, ../scss/global/_utility.scss */
.u-text-olive-gray {
  color: #5c635b;
}

/* line 185, ../scss/global/_utility.scss */
.u-text-primary {
  color: #d23939;
}

/*--------------------------------------------------------------
 Font Utility: Combined (Family + Weight)
 英語フォント(Avenir)と太さをセットで指定
--------------------------------------------------------------*/
/* Avenir Roman (標準) */
/* line 194, ../scss/global/_utility.scss */
.en-400 {
  font-family: "AvenirLTPro-Roman", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
}

/* Avenir Medium (少し太め) */
/* line 200, ../scss/global/_utility.scss */
.en-500 {
  font-family: "AvenirNextLTPro-Medium", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 500;
}

/* Avenir Black (極太) */
/* line 206, ../scss/global/_utility.scss */
.en-900 {
  font-family: "AvenirLTPro-Black", Avenir, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 900;
}

/* 補足：日本語用（ヒラギノ）もセットにする場合 
  ベースが日本語なら不要かもしれませんが、
  明示的に日本語を指定したい場合に使用します。
*/
/* line 215, ../scss/global/_utility.scss */
.ja-300 {
  font-family: "FP-ヒラギノ角ゴ ProN W3", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 300;
}

/* line 220, ../scss/global/_utility.scss */
.ja-500 {
  font-family: "FP-ヒラギノ角ゴ ProN W5", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 500;
}

/* line 225, ../scss/global/_utility.scss */
.ja-600 {
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
}

/*--------------------------------------------------------------
 text-align
--------------------------------------------------------------*/
/* line 232, ../scss/global/_utility.scss */
.u-text-center {
  text-align: center !important;
}

/* line 235, ../scss/global/_utility.scss */
.u-text-left {
  text-align: left !important;
}

/* line 238, ../scss/global/_utility.scss */
.u-text-right {
  text-align: right !important;
}

/* PC以上（768px以上）の時だけ中央揃え */
@media screen and (min-width: 744px) {
  /* line 243, ../scss/global/_utility.scss */
  .u-text-center-md {
    text-align: center !important;
  }
}
/*--------------------------------------------------------------
 inline-block
--------------------------------------------------------------*/
/* line 250, ../scss/global/_utility.scss */
.ib {
  display: inline-block;
}

/* line 255, ../scss/global/_utility.scss */
.pc {
  display: none;
}
@media screen and (min-width: 744px) {
  /* line 255, ../scss/global/_utility.scss */
  .pc {
    display: block;
  }
}

/* line 261, ../scss/global/_utility.scss */
.sp {
  display: block;
}
@media screen and (min-width: 744px) {
  /* line 261, ../scss/global/_utility.scss */
  .sp {
    display: none;
  }
}

/* line 270, ../scss/global/_utility.scss */
.u-text-copy {
  font-size: 1.3em;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, YuGothic, Meiryo, sans-serif;
  font-weight: 600;
}

@media screen and (min-width: 744px) {
  /* line 275, ../scss/global/_utility.scss */
  .u-pc-right-space {
    margin-right: 0.3em;
  }
}
