@charset "UTF-8";
/*! 
Theme Name: Kawaguchi Tile
Author: on White
*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*::before, *::after {
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  margin: auto;
  -webkit-overflow-scrolling: touch;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "游ゴシック体", sans-serif;
  line-height: 2;
  color: #000;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  max-width: 100vw;
  position: relative;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "游ゴシック体", sans-serif;
  line-height: 2;
  color: #000;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  max-width: 100vw;
}
body::selection {
  background-color: #000;
  color: #fff;
}

main {
  display: block;
  line-height: 2;
  color: #000;
  transition: opacity 0.3s ease;
  transition: all 1s cubic-bezier(0.59, 0, 0.265, 0.995);
  transition-timing-function: cubic-bezier(0.59, 0, 0.265, 0.995);
}
@media (max-width: 767px) {
  main {
    margin-top: 0px !important;
  }
}
main.-show {
  margin-top: 0px !important;
  opacity: 1;
}

li {
  list-style: none;
}

button {
  padding: 0;
  outline: none;
  border: none;
  background-color: transparent;
  font-family: inherit;
  color: inherit;
  appearance: none;
}

img {
  max-width: 100%;
  border: none;
  vertical-align: top;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-style: none;
}

br.-sp {
  display: none;
}
br.-pc {
  display: block;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
a:hover {
  opacity: 0.7;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  font-size: 100%;
  line-height: 1.5;
  margin: 0;
}

button,
input {
  overflow: visible;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  -webkit-appearance: none;
  border-radius: 0;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
  -webkit-appearance: none;
  border-radius: 0px;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

@media (max-width: 767px) {
  br.-sp {
    display: inline;
  }
  br.-pc {
    display: none;
  }
}
embed,
iframe,
object {
  max-width: 100%;
}

figure {
  margin: 0;
  position: relative;
  overflow: hidden;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: normal;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "游ゴシック体", sans-serif;
}

p {
  font-size: clamp(1.4rem, 1.1vw, 1.6rem);
}

button,
input,
select,
optgroup,
textarea {
  font-weight: normal;
  font-style: normal;
}

span {
  display: inline-block;
}

.grecaptcha-badge {
  display: none !important;
}

.pageName {
  display: none;
}

.pageTop {
  display: none;
}

.anchor {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: -150px;
  left: 0;
  width: 1px;
  height: 1px;
  display: block;
}

.anime {
  opacity: 0;
  transform: translateY(clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px));
  transition: opacity 1s ease, transform 1s ease;
}
.anime.-active {
  opacity: 1;
  transform: translateY(0);
}

body {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.12'/%3E%3C/svg%3E");
}

.burger {
  cursor: pointer;
  position: fixed;
  top: clamp(18px, 18px + (32 - 18) * (100vw - 375px) / 1065, 32px);
  right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  z-index: 200;
  padding: 5px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
}
.burger.-menu {
  opacity: 1;
  pointer-events: auto;
}

.burgerWrap {
  width: clamp(24px, 24px + (30 - 24) * (100vw - 375px) / 1065, 30px);
  height: clamp(12px, 12px + (15 - 12) * (100vw - 375px) / 1065, 15px);
  position: relative;
}

.burgerBar {
  height: 2px;
  width: clamp(24px, 24px + (30 - 24) * (100vw - 375px) / 1065, 30px);
  background-color: #121212;
  transition: all 0.2s ease, background-color 0.4s ease;
  position: absolute;
  left: 50%;
  transition: all 0.2s ease;
}
.burgerBar:nth-of-type(1) {
  top: 0%;
  transform: translate(-50%, 0%) rotate(0deg);
}
.burgerBar:nth-of-type(1).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.burgerBar:nth-of-type(2) {
  top: 100%;
  transform: translate(-50%, -100%) rotate(0deg);
}
.burgerBar:nth-of-type(2).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.breadcrumb {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .breadcrumb {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.breadcrumb {
  margin-top: clamp(140px, 140px + (200 - 140) * (100vw - 375px) / 1065, 200px);
}

.breadcrumbList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 5px;
  width: 100%;
}

.breadcrumbItem {
  font-size: clamp(1.1rem, 11px + (14 - 11) * (100vw - 375px) / 1065, 1.4rem);
  font-weight: 300;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .breadcrumbItem {
    line-height: 1.2;
  }
}
.breadcrumbItem {
  color: black;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.breadcrumbItem:not(:last-of-type)::after {
  color: black;
  content: "/";
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.pagination {
  padding-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
}

.paginationBody {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(18px, 18px + (48 - 18) * (100vw - 375px) / 1065, 48px);
}

.paginationBodyIcon.-prev::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #121212;
  border-right: 1px solid #121212;
  rotate: -135deg;
}
.paginationBodyIcon.-next::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #121212;
  border-right: 1px solid #121212;
  rotate: 45deg;
}
.paginationBodyIcon.-hide {
  pointer-events: none;
  opacity: 0;
}

.paginationBodyNum {
  position: relative;
  font-size: clamp(1.51rem, 15.1px + (18 - 15.1) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 2;
  padding: 0.3em;
}
.paginationBodyNum.-current {
  pointer-events: none;
}
.paginationBodyNum.-current::after {
  content: "";
  position: absolute;
  bottom: -5%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
  height: 2px;
  background: #121212;
}

.paginationBodyEllipsis {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(2px, 2px + (3 - 2) * (100vw - 375px) / 1065, 3px);
}
.paginationBodyEllipsis span {
  display: block;
  width: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 375px) / 1065, 4px);
  min-width: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 375px) / 1065, 4px);
  height: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 375px) / 1065, 4px);
  border-radius: 50%;
  background: #121212;
}

.-noSpace {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.headerBg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(60px, 60px + (96 - 60) * (100vw - 375px) / 1065, 96px);
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.12'/%3E%3C/svg%3E");
  border-bottom: 1px solid #dcdcdc;
  z-index: 99;
  transition: opacity 0.4s ease;
}

.header.-home:not(.-scrolled) .headerBg {
  opacity: 0;
}

.headerInner {
  position: fixed;
  top: clamp(16px, 16px + (37 - 16) * (100vw - 375px) / 1065, 37px);
  right: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  z-index: 100;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.headerInner.-menu {
  top: 0;
  right: 0;
  transition: all 0.3s ease;
  transform: translateX(100%);
  width: 100%;
  height: 100lvh;
  background: rgba(18, 18, 18, 0.96);
}
.headerInner.-menu.-active {
  transform: translateX(0);
}
.headerInner.-noTransition {
  transition: none !important;
}

.headerTtl {
  display: contents;
}

.headerLogo {
  position: fixed;
  left: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  top: clamp(14px, 14px + (28 - 14) * (100vw - 375px) / 1065, 28px);
  z-index: 201;
  display: block;
  width: clamp(104px, 104px + (140 - 104) * (100vw - 375px) / 1065, 140px);
  transition: opacity 0.3s ease;
}
.headerLogo:hover {
  opacity: 0.7;
}

.headerLogoImg {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.4s ease;
}
.headerLogoImg.-white {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.headerNav.-menu {
  overflow-y: scroll;
  max-height: 100%;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.headerNavList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 375px) / 1065, 32px);
}
.headerNavList.-menu {
  width: 100%;
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding-top: clamp(175px, 175px + (250 - 175) * (100vw - 375px) / 1065, 250px);
  padding-bottom: clamp(175px, 175px + (250 - 175) * (100vw - 375px) / 1065, 250px);
  row-gap: clamp(14px, 14px + (20 - 14) * (100vw - 375px) / 1065, 20px);
  padding-left: 16px;
  padding-right: 16px;
}

.headerNavItem {
  position: relative;
  transition: opacity 0.3s ease;
}

.headerNavLink {
  white-space: nowrap;
  text-align: center;
  max-width: 100%;
  color: #121212;
  letter-spacing: 0.08em;
  transition: color 0.3s ease;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 500;
}
.headerNavLink:hover {
  color: #b69a6e;
}
.headerNavLink.-menu {
  color: #fff;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.2em;
  font-size: clamp(1.51rem, 15.1px + (18 - 15.1) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.6;
  font-weight: 500;
}

/*==============================================================
カラー切り替え
・トップ: MVの上では白抜き → スクロールで黒（.-scrolledはheader.js付与）
・SPメニュー展開中: 黒オーバーレイの上なので常に白
==============================================================*/
.header.-home:not(.-scrolled) .headerLogoImg.-black {
  opacity: 0;
}
.header.-home:not(.-scrolled) .headerLogoImg.-white {
  opacity: 1;
}
.header.-home:not(.-scrolled) .headerNavLink:not(.-menu) {
  color: #fff;
}
.header.-home:not(.-scrolled) .headerNavLink:not(.-menu):hover {
  color: #b69a6e;
}
.header.-home:not(.-scrolled) .burgerBar {
  background-color: #fff;
}

.header:has(.headerInner.-menu.-active) .headerLogoImg.-black {
  opacity: 0;
}
.header:has(.headerInner.-menu.-active) .headerLogoImg.-white {
  opacity: 1;
}
.header:has(.headerInner.-menu.-active) .burgerBar {
  background-color: #fff;
}

.headerCloser {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 4;
}
.headerCloser.-active {
  display: block;
}

.headerZone {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 3px;
  width: calc(100% - clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px) - clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px) - 32px);
  opacity: 0;
  pointer-events: none;
}

.mv {
  position: relative;
  height: 100lvh;
  min-height: clamp(560px, 560px + (680 - 560) * (100vw - 375px) / 1065, 680px);
  overflow: hidden;
  background: #fff;
}

.mvVisual {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.mvVisual::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(18, 18, 18, 0.5);
}

.mvVisualImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1.4s ease;
}
.mvVisualImg.-active {
  opacity: 1;
}

.mvInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .mvInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.mvInner {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  z-index: 2;
  height: 100%;
  padding-top: clamp(120px, 120px + (160 - 120) * (100vw - 375px) / 1065, 160px);
  padding-bottom: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}

.mvBody {
  width: 100%;
  opacity: 0;
  transform: translateY(clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px));
  transition: opacity 1s ease 0.4s, transform 1s ease 0.4s;
}
.mvBody > *:first-child {
  margin-top: 0 !important;
}
.mvBody.-active {
  opacity: 1;
  transform: translateY(0);
}

.mvBodyLabel {
  color: #fff;
  letter-spacing: 0.24em;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.mvBodyLabel::before {
  content: "";
  display: inline-block;
  width: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  height: 1px;
  margin-right: clamp(8px, 8px + (16 - 8) * (100vw - 375px) / 1065, 16px);
  background: #b69a6e;
  vertical-align: middle;
}
.mvBodyLabel > span {
  display: inline-block;
  margin-left: clamp(8px, 8px + (16 - 8) * (100vw - 375px) / 1065, 16px);
  letter-spacing: 0.08em;
  opacity: 0.75;
}

.mvBodyTtl {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  color: #fff;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(3.02rem, 30.2px + (72 - 30.2) * (100vw - 375px) / 1065, 7.2rem);
  line-height: 1.4;
  font-weight: 500;
}
.mvBodyTtl > span {
  display: inline-block;
}

.mvBodyTxt {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  color: #fff;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
}

.mvBtn {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  column-gap: clamp(8px, 8px + (16 - 8) * (100vw - 375px) / 1065, 16px);
}
@media (max-width: 767px) {
  .mvBtn {
    flex-direction: column;
    column-gap: 0;
    row-gap: 8px;
  }
}

.mvBtnLink {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding-top: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px);
  padding-bottom: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px);
  padding-left: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  padding-right: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  letter-spacing: 0.08em;
  transition: all 0.3s ease;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
.mvBtnLink.-main {
  background: #fff;
  color: #000;
}
.mvBtnLink.-sub {
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
}
.mvBtnLink:hover {
  opacity: 0.7;
}

.mvFoot {
  margin-top: clamp(32px, 32px + (56 - 32) * (100vw - 375px) / 1065, 56px);
  padding-top: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  opacity: 0;
  transition: opacity 1s ease 0.7s;
}
.mvFoot.-active {
  opacity: 1;
}

.mvFootList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
}

.mvFootItem {
  color: #fff;
  letter-spacing: 0.08em;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
}
.mvFootItem:not(:first-of-type) {
  margin-left: clamp(12px, 12px + (32 - 12) * (100vw - 375px) / 1065, 32px);
  padding-left: clamp(12px, 12px + (32 - 12) * (100vw - 375px) / 1065, 32px);
  border-left: 1px solid rgba(255, 255, 255, 0.4);
}

.footer {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
  padding-top: clamp(48px, 48px + (72 - 48) * (100vw - 375px) / 1065, 72px);
  padding-bottom: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  background: #121212;
}

.footerInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .footerInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.footerBody {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(0px, 0px + (64 - 0) * (100vw - 375px) / 1065, 64px);
}
@media (max-width: 767px) {
  .footerBody {
    flex-direction: column;
    row-gap: 32px;
  }
}

.footerHead > *:first-child {
  margin-top: 0 !important;
}

.footerHeadLogo {
  display: block;
  width: clamp(140px, 140px + (180 - 140) * (100vw - 375px) / 1065, 180px);
  transition: opacity 0.3s ease;
}
.footerHeadLogo:hover {
  opacity: 0.7;
}

.footerHeadImg {
  display: block;
  width: 100%;
  height: auto;
}

.footerHeadTxt {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.08em;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .footerNav {
    width: 100%;
  }
}

.footerNavList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  row-gap: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px);
}
@media (max-width: 767px) {
  .footerNavList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.footerNavLink {
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
}
.footerNavLink:hover {
  opacity: 0.7;
}

.footerFoot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  margin-top: clamp(40px, 40px + (56 - 40) * (100vw - 375px) / 1065, 56px);
  padding-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footerFootCopy {
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.08em;
  font-size: clamp(1.06rem, 10.6px + (12 - 10.6) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
}

.error {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (140 - 16) * (100vw - 375px) / 1065, 140px);
  padding-right: clamp(16px, 16px + (140 - 16) * (100vw - 375px) / 1065, 140px);
}
@media (max-width: 767px) {
  .error {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.errorInner {
  width: 100%;
}

.errorBody {
  min-height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: clamp(112px, 112px + (160 - 112) * (100vw - 375px) / 1065, 160px);
  padding-bottom: clamp(112px, 112px + (160 - 112) * (100vw - 375px) / 1065, 160px);
}

.errorBodyTtl {
  font-size: clamp(4.48rem, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 6.4rem);
  font-weight: 600;
  line-height: 1.5;
}

.errorBodyTxt {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
}

.errorBodyLink {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 375px) / 1065, 16px);
}

.works {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
}
.works.-archive {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}

.worksInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .worksInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.worksHead > *:first-child {
  margin-top: 0 !important;
}

.worksHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.worksHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.worksFilter {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.worksFilterList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  row-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
}
.worksFilterList:not(:first-of-type) {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
}

.worksFilterLink {
  display: block;
  padding: 0.5em 1.2em;
  border: 1px solid #dcdcdc;
  letter-spacing: 0.04em;
  transition: all 0.3s ease;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
}
.worksFilterLink.-active {
  background: #121212;
  border-color: #121212;
  color: #fff;
  pointer-events: none;
}
.worksFilterLink:hover {
  border-color: #121212;
}

.worksBody {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.worksBodyList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
}

.worksBodyItem {
  width: 33.3333333333%;
  border: 1px solid #dcdcdc;
}
@media (max-width: 767px) {
  .worksBodyItem {
    width: 50%;
  }
}
.worksBodyItem.anime {
  transform: none;
}
.worksBodyItem.anime:nth-of-type(3n + 2) {
  transition-delay: 0.12s;
}
.worksBodyItem.anime:nth-of-type(3n) {
  transition-delay: 0.24s;
}

.worksBodyLink {
  display: block;
  height: 100%;
  transition: opacity 0.3s ease;
}
.worksBodyLink:hover {
  opacity: 0.7;
}

.worksCard {
  position: relative;
}

.worksCardImg {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.worksCardNew {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.4em 1em;
  background: #b69a6e;
  color: #fff;
  letter-spacing: 0.15em;
  font-size: clamp(0.94rem, 9.4px + (11 - 9.4) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1;
  font-weight: 500;
}

.worksCardTtl {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  padding-left: clamp(10px, 10px + (20 - 10) * (100vw - 375px) / 1065, 20px);
  padding-right: clamp(10px, 10px + (20 - 10) * (100vw - 375px) / 1065, 20px);
  letter-spacing: 0.04em;
  font-size: clamp(1.12rem, 11.2px + (15 - 11.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.worksCardMeta {
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
  padding-left: clamp(10px, 10px + (20 - 10) * (100vw - 375px) / 1065, 20px);
  padding-right: clamp(10px, 10px + (20 - 10) * (100vw - 375px) / 1065, 20px);
  padding-bottom: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
  color: #666;
  letter-spacing: 0.04em;
  font-size: clamp(1.01rem, 10.1px + (12 - 10.1) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
}

.worksBodyMore {
  display: block;
  width: fit-content;
  margin-top: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  margin-left: auto;
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
}
.worksBodyMore::after {
  content: "";
  display: inline-block;
  width: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  height: 1px;
  margin-left: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  background: #b69a6e;
  vertical-align: middle;
}
.worksBodyMore:hover {
  opacity: 0.7;
}

.worksBodyNone {
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
}

.detail {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}

.detailInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .detailInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.detailHead > *:first-child {
  margin-top: 0 !important;
}

.detailHeadLabel {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}

.detailHeadTtl {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.5;
  font-weight: 500;
}

.detailHeadMeta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
  margin-top: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
}

.detailHeadItem {
  color: #666;
  letter-spacing: 0.08em;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
}
.detailHeadItem:not(:first-of-type) {
  margin-left: clamp(10px, 10px + (20 - 10) * (100vw - 375px) / 1065, 20px);
  padding-left: clamp(10px, 10px + (20 - 10) * (100vw - 375px) / 1065, 20px);
  border-left: 1px solid #dcdcdc;
}

.detailVisual {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.detailVisualImg {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.detailSlider {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}
.detailSlider .splide__arrow {
  width: clamp(36px, 36px + (48 - 36) * (100vw - 375px) / 1065, 48px);
  height: clamp(36px, 36px + (48 - 36) * (100vw - 375px) / 1065, 48px);
  background: #fff;
  border-radius: 0;
  opacity: 0.9;
}
.detailSlider .splide__arrow svg {
  fill: #121212;
  width: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  height: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.detailSlider .splide__pagination__page {
  background: rgba(255, 255, 255, 0.6);
}
.detailSlider .splide__pagination__page.is-active {
  background: #fff;
  transform: none;
}

.detailSliderImg {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.detailCompare {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(0px, 0px + (24 - 0) * (100vw - 375px) / 1065, 24px);
  margin-top: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / 1065, 64px);
}
@media (max-width: 767px) {
  .detailCompare {
    flex-direction: column;
    row-gap: 16px;
  }
}

.detailCompareItem {
  position: relative;
  width: calc((100% - clamp(0px, 0px + (24 - 0) * (100vw - 375px) / 1065, 24px)) / 2);
}
@media (max-width: 767px) {
  .detailCompareItem {
    width: 100%;
  }
}

.detailCompareLabel {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 0.4em 1em;
  background: #121212;
  color: #fff;
  letter-spacing: 0.15em;
  font-size: clamp(0.94rem, 9.4px + (11 - 9.4) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1;
  font-weight: 500;
}

.detailCompareImg {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.detailOverview {
  margin-top: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / 1065, 64px);
}
.detailOverview > *:first-child {
  margin-top: 0 !important;
}

.detailOverviewTtl {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (22 - 14.9) * (100vw - 375px) / 1065, 2.2rem);
  line-height: 1.5;
  font-weight: 500;
}

.detailOverviewTable {
  width: 100%;
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.detailOverviewTable tbody {
  display: contents;
}
.detailOverviewTable tr {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
.detailOverviewTable tr:not(:first-of-type) {
  border-top: 1px solid #dcdcdc;
}
.detailOverviewTable th {
  width: clamp(96px, 96px + (200 - 96) * (100vw - 375px) / 1065, 200px);
  min-width: clamp(96px, 96px + (200 - 96) * (100vw - 375px) / 1065, 200px);
  padding-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-bottom: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  color: #666;
  text-align: left;
  letter-spacing: 0.04em;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
  font-weight: 500;
}
.detailOverviewTable td {
  padding-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-bottom: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  letter-spacing: 0.04em;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
}

.detailBody {
  margin-top: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / 1065, 64px);
}
.detailBody > *:first-child {
  margin-top: 0 !important;
}

.detailBodyTtl {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (22 - 14.9) * (100vw - 375px) / 1065, 2.2rem);
  line-height: 1.5;
  font-weight: 500;
}

.detailBodyTxt {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2;
}
.detailBodyTxt.-voice {
  padding: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  background: #f5f5f5;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
}

.cost {
  margin-top: clamp(56px, 56px + (96 - 56) * (100vw - 375px) / 1065, 96px);
  padding-top: clamp(48px, 48px + (72 - 48) * (100vw - 375px) / 1065, 72px);
  padding-bottom: clamp(48px, 48px + (72 - 48) * (100vw - 375px) / 1065, 72px);
  background: #121212;
}

.costInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .costInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.costBody {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
.costBody > *:first-child {
  margin-top: 0 !important;
}

.costBodyLabel {
  color: #b69a6e;
  letter-spacing: 0.25em;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}

.costBodyTxt {
  margin-top: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
  color: #fff;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.55rem, 15.5px + (28 - 15.5) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1.6;
  font-weight: 500;
}

.costBodyBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-top: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px);
  background: #b69a6e;
  color: #fff;
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
.costBodyBtn:hover {
  opacity: 0.7;
}

.flow {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
}

.flowInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .flowInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.flowHead > *:first-child {
  margin-top: 0 !important;
}

.flowHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.flowHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.flowBody {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.flowBodyList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(0px, 0px + (24 - 0) * (100vw - 375px) / 1065, 24px);
}
@media (max-width: 767px) {
  .flowBodyList {
    flex-direction: column;
  }
}

.flowBodyItem {
  width: calc((100% - clamp(0px, 0px + (24 - 0) * (100vw - 375px) / 1065, 24px) * (5)) / 6);
  border-top: 1px solid #121212;
  padding-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.flowBodyItem > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .flowBodyItem {
    width: 100%;
  }
}

.flowBodyNum {
  display: block;
  color: #b69a6e;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.76rem, 17.6px + (28 - 17.6) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1;
  font-weight: 500;
}

.flowBodyTtl {
  margin-top: clamp(6px, 6px + (12 - 6) * (100vw - 375px) / 1065, 12px);
  letter-spacing: 0.04em;
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 500;
}

.flowBodyTxt {
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
  color: #666;
  letter-spacing: 0.04em;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.7;
}

.faq {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
  padding-top: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
  padding-bottom: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
  background: #f5f5f5;
}

.faqInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .faqInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.faqHead > *:first-child {
  margin-top: 0 !important;
}

.faqHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.faqHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.faqBody {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.faqBodyItem {
  padding: clamp(16px, 16px + (28 - 16) * (100vw - 375px) / 1065, 28px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  background: #fff;
  border: 1px solid #dcdcdc;
}
.faqBodyItem > *:first-child {
  margin-top: 0 !important;
}
.faqBodyItem:not(:first-of-type) {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
}

.faqBodyQ {
  letter-spacing: 0.04em;
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.6;
  font-weight: 500;
}
.faqBodyQ::before {
  content: "Q.";
  margin-right: 0.75em;
  color: #b69a6e;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
}

.faqBodyA {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  color: #666;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
}
.faqBodyA::before {
  content: "A.";
  margin-right: 0.75em;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
}

.cta {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
}

.ctaInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .ctaInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.ctaBody {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
.ctaBody > *:first-child {
  margin-top: 0 !important;
}

.ctaBodyTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.ctaBodyTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.ctaBodyTxt {
  margin-top: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2;
}

.ctaBtn {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  column-gap: clamp(8px, 8px + (16 - 8) * (100vw - 375px) / 1065, 16px);
  margin-top: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
}
@media (max-width: 767px) {
  .ctaBtn {
    flex-direction: column;
    column-gap: 0;
    row-gap: 8px;
    width: 100%;
  }
}

.ctaBtnLink {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px);
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
.ctaBtnLink.-main {
  background: #b69a6e;
  color: #fff;
}
.ctaBtnLink.-sub {
  border: 1px solid #121212;
  color: #121212;
}
.ctaBtnLink:hover {
  opacity: 0.7;
}

.ctaSns {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
}

.ctaSnsLink {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: clamp(26px, 26px + (32 - 26) * (100vw - 375px) / 1065, 32px);
  height: clamp(26px, 26px + (32 - 26) * (100vw - 375px) / 1065, 32px);
  color: #b69a6e;
  transition: opacity 0.3s ease;
}
.ctaSnsLink:hover {
  opacity: 0.7;
}

.ctaSnsIcon {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.about {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
  padding-top: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
  padding-bottom: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
  background: #f5f5f5;
}

.aboutInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .aboutInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.aboutHead > *:first-child {
  margin-top: 0 !important;
}

.aboutHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.aboutHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.aboutBody {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(0px, 0px + (64 - 0) * (100vw - 375px) / 1065, 64px);
  margin-top: clamp(28px, 28px + (48 - 28) * (100vw - 375px) / 1065, 48px);
}
@media (max-width: 767px) {
  .aboutBody {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 32px;
  }
}

.aboutData > *:first-child {
  margin-top: 0 !important;
}

.aboutDataList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(32px, 32px + (64 - 32) * (100vw - 375px) / 1065, 64px);
}

.aboutDataItem {
  text-align: center;
}

.aboutDataNum {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.04em;
  font-size: clamp(2.95rem, 29.5px + (88 - 29.5) * (100vw - 375px) / 1065, 8.8rem);
  line-height: 1;
  font-weight: 500;
}
.aboutDataNum > span {
  margin-left: 0.1em;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (24 - 14.9) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1;
  font-weight: 500;
}

.aboutDataLabel {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  color: #666;
  letter-spacing: 0.15em;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
}

.aboutRead {
  width: 55%;
}
.aboutRead > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .aboutRead {
    width: 100%;
  }
}

.aboutReadTxt {
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2.2;
}

.aboutReadMore {
  display: block;
  width: fit-content;
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
}
.aboutReadMore::after {
  content: "";
  display: inline-block;
  width: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  height: 1px;
  margin-left: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  background: #b69a6e;
  vertical-align: middle;
}
.aboutReadMore:hover {
  opacity: 0.7;
}

.service {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
}

.serviceInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .serviceInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.serviceHead > *:first-child {
  margin-top: 0 !important;
}

.serviceHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.serviceHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.serviceBody {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.serviceBodyList {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(0px, 0px + (24 - 0) * (100vw - 375px) / 1065, 24px);
  row-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
@media (max-width: 767px) {
  .serviceBodyList {
    flex-direction: column;
  }
}

.serviceBodyItem {
  width: calc((100% - clamp(0px, 0px + (24 - 0) * (100vw - 375px) / 1065, 24px)) / 2);
}
@media (max-width: 767px) {
  .serviceBodyItem {
    width: 100%;
  }
}
.serviceBodyItem.anime:nth-of-type(even) {
  transition-delay: 0.15s;
}

.serviceBodyLink {
  position: relative;
  display: block;
  height: 100%;
  padding: clamp(32px, 32px + (64 - 32) * (100vw - 375px) / 1065, 64px) clamp(20px, 20px + (40 - 20) * (100vw - 375px) / 1065, 40px);
  overflow: hidden;
}
.serviceBodyLink::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(18, 18, 18, 0.6);
  z-index: 1;
}
.serviceBodyLink:hover .serviceBodyBg {
  transform: scale(1.04);
}

.serviceBodyBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transition: transform 0.6s ease;
}

.serviceCard {
  position: relative;
  z-index: 2;
}
.serviceCard > *:first-child {
  margin-top: 0 !important;
}

.serviceCardNum {
  color: rgba(255, 255, 255, 0.7);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.15em;
  font-size: clamp(1.36rem, 13.6px + (18 - 13.6) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1;
  font-weight: 500;
}

.serviceCardTtl {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  color: #fff;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.66rem, 16.6px + (28 - 16.6) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1.4;
  font-weight: 500;
}

.serviceCardTxt {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.9;
}

.serviceCardMore {
  display: block;
  width: fit-content;
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  color: #fff;
  letter-spacing: 0.08em;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
}
.serviceCardMore::after {
  content: "";
  display: inline-block;
  width: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  height: 1px;
  margin-left: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  background: #fff;
  vertical-align: middle;
}

.business {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
  padding-top: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
  padding-bottom: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
  background: #121212;
}

.businessInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .businessInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.businessHead > *:first-child {
  margin-top: 0 !important;
}

.businessHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.businessHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  color: #fff;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.businessBody {
  margin-top: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
}
.businessBody > *:first-child {
  margin-top: 0 !important;
}

.businessBodyTxt {
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2.1;
}

.businessBodyList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  row-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.businessBodyItem {
  padding: 0.5em 1.2em;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  letter-spacing: 0.08em;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
}

.businessBodyBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: fit-content;
  margin-top: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px);
  background: #b69a6e;
  color: #fff;
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
.businessBodyBtn:hover {
  opacity: 0.7;
}

.insta {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
}

.instaInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .instaInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.instaHead > *:first-child {
  margin-top: 0 !important;
}

.instaHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.instaHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.instaBody {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.instaBody #sb_instagram {
  padding-bottom: 0 !important;
}
.instaBody #sb_instagram #sbi_header,
.instaBody #sb_instagram #sbi_load {
  display: none !important;
}
.instaBody #sb_instagram #sbi_images {
  padding: 0 !important;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  column-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}
.instaBody #sb_instagram #sbi_images .sbi_item {
  padding: 0 !important;
  width: calc((100% - clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px) * (3)) / 4);
}
@media (max-width: 767px) {
  .instaBody #sb_instagram #sbi_images .sbi_item {
    width: calc((100% - clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px) * (1)) / 2);
  }
}
.instaBody #sb_instagram .sbi_photo_wrap {
  position: relative;
  overflow: hidden;
}
.instaBody #sb_instagram .sbi_photo_wrap::after {
  display: block;
  padding-top: 100%;
  content: "";
}
.instaBody #sb_instagram .sbi_photo {
  width: 100%;
  height: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.instaBody #sb_instagram .sbi_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.instaBody #sb_instagram .sbi_type_carousel .sbi_photo_wrap .fa-clone {
  display: none !important;
}

.lower {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}

.lowerInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .lowerInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.lowerHead > *:first-child {
  margin-top: 0 !important;
}

.lowerHeadLabel {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}

.lowerHeadTtl {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.97rem, 19.7px + (40 - 19.7) * (100vw - 375px) / 1065, 4rem);
  line-height: 1.4;
  font-weight: 500;
}

.contact {
  margin-top: clamp(32px, 32px + (56 - 32) * (100vw - 375px) / 1065, 56px);
}

.contactInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .contactInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.contactMain {
  transition: opacity 0.4s ease;
}
.contactMain > *:first-child {
  margin-top: 0 !important;
}
.contactMain.-hide {
  opacity: 0;
}

.contactMainTxt {
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2;
}

.contactMainForm {
  margin-top: clamp(28px, 28px + (48 - 28) * (100vw - 375px) / 1065, 48px);
}
.contactMainForm > p {
  display: contents;
}
.contactMainForm .wpcf7-not-valid-tip {
  margin-top: 4px;
  color: #c0392b;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
}

.contactMainRow {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
.contactMainRow:not(:first-of-type) {
  margin-top: clamp(20px, 20px + (24 - 20) * (100vw - 375px) / 1065, 24px);
}
@media (max-width: 767px) {
  .contactMainRow {
    flex-direction: column;
    row-gap: 8px;
  }
}
.contactMainRow > p {
  display: contents;
}

.contactMainLabel {
  width: clamp(0px, 0px + (220 - 0) * (100vw - 375px) / 1065, 220px);
  min-width: clamp(0px, 0px + (220 - 0) * (100vw - 375px) / 1065, 220px);
  margin-top: clamp(0px, 0px + (10 - 0) * (100vw - 375px) / 1065, 10px);
  padding-right: 0.5em;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
@media (max-width: 767px) {
  .contactMainLabel {
    width: 100%;
    min-width: 100%;
  }
}
@media (max-width: 767px) {
  .contactMainLabel .-pc {
    display: none;
  }
}

.contactMainField {
  width: calc(100% - clamp(0px, 0px + (220 - 0) * (100vw - 375px) / 1065, 220px));
}
@media (max-width: 767px) {
  .contactMainField {
    width: 100%;
  }
}
.contactMainField > p {
  display: contents;
}
.contactMainField .wpcf7-form-control-wrap {
  display: contents;
}
.contactMainField .wpcf7-radio {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  row-gap: 8px;
}
.contactMainField .wpcf7-list-item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
  margin: 0;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
}
.contactMainField .wpcf7-list-item label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
  cursor: pointer;
}

.contactMainRadio input {
  -webkit-appearance: auto;
  appearance: auto;
  accent-color: #121212;
  width: 16px;
  height: 16px;
}

.contactMainInput {
  width: 100%;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  background: #fff;
  border: 1px solid #dcdcdc;
  letter-spacing: 0.04em;
  resize: vertical;
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
}
.contactMainInput::placeholder {
  color: #aaa;
}
.contactMainInput:focus {
  border-color: #121212;
  outline: none;
}

textarea.contactMainInput {
  min-height: clamp(160px, 160px + (200 - 160) * (100vw - 375px) / 1065, 200px);
}

select.contactMainInput {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  padding-right: clamp(40px, 40px + (44 - 40) * (100vw - 375px) / 1065, 44px);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23121212' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) center;
  background-size: 10px 6px;
}

.contactMainBottom {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  margin-top: clamp(28px, 28px + (48 - 28) * (100vw - 375px) / 1065, 48px);
}
.contactMainBottom > p:not(.contactMainAgreement) {
  display: contents;
}
.contactMainBottom br {
  display: none;
}
.contactMainBottom .wpcf7-acceptance {
  display: block;
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.contactMainBottom .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
.contactMainBottom .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
  cursor: pointer;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
}

.contactMainAgreement {
  text-align: center;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
}
.contactMainAgreement > span {
  display: inline-block;
}
.contactMainAgreement a {
  text-decoration: underline;
}
.contactMainAgreement .-sp {
  display: none;
}
@media (max-width: 767px) {
  .contactMainAgreement .-sp {
    display: block;
  }
}

.contactMainAcceptance {
  -webkit-appearance: auto;
  appearance: auto;
  accent-color: #121212;
  width: 16px;
  height: 16px;
}

.contactMainSubmit {
  display: none;
}

.contactMainBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-top: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(32px, 32px + (64 - 32) * (100vw - 375px) / 1065, 64px);
  background: #b69a6e;
  color: #fff;
  letter-spacing: 0.08em;
  opacity: 0.3;
  pointer-events: none;
  transition: opacity 0.3s ease;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
.contactMainBtn.-allow {
  opacity: 1;
  pointer-events: auto;
}
.contactMainBtn.-allow:hover {
  opacity: 0.7;
}

.contactSent {
  display: none;
  transition: opacity 0.5s ease;
}
.contactSent > *:first-child {
  margin-top: 0 !important;
}
.contactSent.-hide {
  opacity: 0;
}

.contactSentTxt {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  text-align: center;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (24 - 14.9) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.8;
  font-weight: 500;
}
.contactSentTxt > span {
  display: inline-block;
}

.contactSentBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: fit-content;
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  margin-left: auto;
  margin-right: auto;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px);
  border: 1px solid #121212;
  color: #121212;
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
.contactSentBtn:hover {
  opacity: 0.7;
}

.policy {
  margin-top: clamp(32px, 32px + (56 - 32) * (100vw - 375px) / 1065, 56px);
}

.policyInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .policyInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.policyBody > *:first-child {
  margin-top: 0 !important;
}

.policyBodyTtl {
  margin-top: clamp(32px, 32px + (56 - 32) * (100vw - 375px) / 1065, 56px);
  padding-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  border-top: 1px solid #dcdcdc;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.34rem, 13.4px + (19 - 13.4) * (100vw - 375px) / 1065, 1.9rem);
  line-height: 1.5;
  font-weight: 500;
}

.policyBodyTxt {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2;
}
.policyBodyTxt a {
  text-decoration: underline;
}

.policyBodyList {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
}

.policyBodyItem {
  position: relative;
  padding-left: 1.2em;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.9;
}
.policyBodyItem::before {
  content: "";
  position: absolute;
  top: 0.85em;
  left: 0;
  width: 8px;
  height: 8px;
  background: #b69a6e;
}
.policyBodyItem:not(:first-of-type) {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
}

.policyBodyDate {
  margin-top: clamp(32px, 32px + (56 - 32) * (100vw - 375px) / 1065, 56px);
  padding-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  border-top: 1px solid #dcdcdc;
  color: #666;
  text-align: right;
  letter-spacing: 0.04em;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.7;
}

.txt {
  margin-top: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
}

.txtInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .txtInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.txtBody > *:first-child {
  margin-top: 0 !important;
}

.txtBodyTtl {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (22 - 14.9) * (100vw - 375px) / 1065, 2.2rem);
  line-height: 1.5;
  font-weight: 500;
}

.txtBodyTxt {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2;
}
.txtBodyTxt p:not(:first-child) {
  margin-top: 1em;
}
.txtBodyTxt a {
  text-decoration: underline;
}

.media {
  margin-top: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
}

.mediaInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .mediaInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.mediaBody {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(0px, 0px + (64 - 0) * (100vw - 375px) / 1065, 64px);
}
.mediaBody.-reverse {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .mediaBody {
    flex-direction: column;
    row-gap: 20px;
  }
  .mediaBody.-reverse {
    flex-direction: column;
  }
}

.mediaVisual {
  position: relative;
  width: 40%;
}
.mediaVisual::before {
  content: "";
  position: absolute;
  top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  left: calc(-1 * clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px));
  width: 100%;
  height: 100%;
  background: #f5f5f5;
  z-index: 0;
}
@media (max-width: 767px) {
  .mediaVisual {
    width: 82%;
  }
}

.mediaBody.-reverse .mediaVisual::before {
  left: auto;
  right: calc(-1 * clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px));
}

.mediaVisualImg {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
}

.mediaVisual.-contain .mediaVisualImg {
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
}

.mediaCard {
  width: 50%;
}
.mediaCard > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .mediaCard {
    width: 100%;
  }
}

.mediaCardTtl {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (22 - 14.9) * (100vw - 375px) / 1065, 2.2rem);
  line-height: 1.5;
  font-weight: 500;
}

.mediaCardTxt {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2;
}
.mediaCardTxt p:not(:first-child) {
  margin-top: 1em;
}
.mediaCardTxt a {
  text-decoration: underline;
}

.num {
  margin-top: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
  padding-top: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / 1065, 64px);
  padding-bottom: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / 1065, 64px);
  background: #f5f5f5;
}

.numInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .numInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.numBody > *:first-child {
  margin-top: 0 !important;
}

.numBodyList {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(32px, 32px + (80 - 32) * (100vw - 375px) / 1065, 80px);
  row-gap: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
}

.numBodyItem {
  text-align: center;
}

.numBodyNum {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.04em;
  font-size: clamp(2.95rem, 29.5px + (88 - 29.5) * (100vw - 375px) / 1065, 8.8rem);
  line-height: 1;
  font-weight: 500;
}
.numBodyNum > span {
  margin-left: 0.1em;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (24 - 14.9) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1;
  font-weight: 500;
}

.numBodyLabel {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  color: #666;
  letter-spacing: 0.15em;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
}

.numBodyTxt {
  margin-top: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  text-align: center;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 2;
}

.feature {
  margin-top: clamp(64px, 64px + (120 - 64) * (100vw - 375px) / 1065, 120px);
}

.featureInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
  padding-right: clamp(16px, 16px + (80 - 16) * (100vw - 375px) / 1065, 80px);
}
@media (max-width: 767px) {
  .featureInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.featureHead > *:first-child {
  margin-top: 0 !important;
}

.featureHeadTtl.-en {
  letter-spacing: 0.25em;
  color: #b69a6e;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
}
.featureHeadTtl.-ja {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 500;
}

.featureHeadTxt {
  margin-top: clamp(10px, 10px + (16 - 10) * (100vw - 375px) / 1065, 16px);
  color: #666;
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
}

.featureBody {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}

.featureBodyList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  align-items: stretch;
}

.featureBodyItem {
  width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (3)) / 4);
  border: 1px solid #dcdcdc;
  padding: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  text-align: center;
}
.featureBodyItem > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .featureBodyItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (1)) / 2);
  }
}

.featureBodyIcon {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: clamp(36px, 36px + (48 - 36) * (100vw - 375px) / 1065, 48px);
  height: auto;
}

.featureBodyLabel {
  margin-top: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
  color: #b69a6e;
  letter-spacing: 0.2em;
  font-size: clamp(1.13rem, 11.3px + (13 - 11.3) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 500;
}

.featureBodyTxt {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  letter-spacing: 0.04em;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
}

.spec {
  margin-top: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / 1065, 80px);
}

.specInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
  padding-right: clamp(16px, 16px + (320 - 16) * (100vw - 375px) / 1065, 320px);
}
@media (max-width: 767px) {
  .specInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.specBody > *:first-child {
  margin-top: 0 !important;
}

.specBodyTtl {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  letter-spacing: 0.08em;
  font-size: clamp(1.49rem, 14.9px + (22 - 14.9) * (100vw - 375px) / 1065, 2.2rem);
  line-height: 1.5;
  font-weight: 500;
}

.specBodyTable {
  width: 100%;
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.specBodyTable tbody {
  display: contents;
}
.specBodyTable tr {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
.specBodyTable tr:not(:first-of-type) {
  border-top: 1px solid #dcdcdc;
}
.specBodyTable th {
  width: clamp(96px, 96px + (200 - 96) * (100vw - 375px) / 1065, 200px);
  min-width: clamp(96px, 96px + (200 - 96) * (100vw - 375px) / 1065, 200px);
  padding-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-bottom: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  color: #666;
  text-align: left;
  letter-spacing: 0.04em;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
  font-weight: 500;
}
.specBodyTable td {
  padding-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-bottom: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  letter-spacing: 0.04em;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
}