@charset "UTF-8";
/**********************************************************
  ブレイクポイント
***********************************************************/
/**********************************************************
  color
***********************************************************/
/**********************************************************
  font
***********************************************************/
/**********************************************************
  size
***********************************************************/
/**********************************************************
  PC / SP 出し分け
***********************************************************/
@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: 600;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

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

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

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

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
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.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
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.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

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

/**
 * Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */
}

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 600;
}

:root {
  color-scheme: light;
}

* {
  min-height: 0;
  min-width: 0;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-y: auto;
}

html.js-noscroll {
  overflow: hidden;
  scroll-behavior: auto;
}

body {
  min-height: 100svh;
  color: #3e3e3e;
  font-size: 16px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.75;
  background-color: #ffffff;
  position: relative;
  overflow-x: clip;
  overflow-y: visible;
  -webkit-font-smoothing: antialiased;
}

body.is-active {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 15px;
    line-height: calc(26 / 15);
  }
}

main {
  display: block;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  image-orientation: from-image;
  pointer-events: none;
}

svg {
  display: block;
}

a {
  transition: 0.3s;
  cursor: pointer;
}

a:hover {
  opacity: 0.7;
}

ul {
  list-style: none;
}

button {
  border: none;
  background: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 共通のレイアウト
――――――――――――――――――――――――――――――――――――――――――――――*/
.l-section {
  position: relative;
  padding: clamp(40px, calc(40px + (35 * ((100vw - 769px) / 671))), 75px) clamp(30px, calc(30px + (90 * ((100vw - 768px) / 512))), 120px) clamp(40px, calc(40px + (35 * ((100vw - 769px) / 671))), 75px);
}

@media screen and (max-width: 768px) {
  .l-section {
    padding-right: 30px;
    padding-left: 30px;
  }
}

.l-inner {
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.l-inner.--s {
  max-width: 1040px;
}

.l-inner.--ss {
  max-width: 920px;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 余白調整
――――――――――――――――――――――――――――――――――――――――――――――*/
.l-pd {
  padding-right: clamp(30px, calc(30px + (90 * ((100vw - 768px) / 512))), 120px);
  padding-left: clamp(30px, calc(30px + (90 * ((100vw - 768px) / 512))), 120px);
}

.l-pd-left {
  padding-left: clamp(30px, calc(30px + (90 * ((100vw - 768px) / 512))), 120px);
}

.l-pd-right {
  padding-right: clamp(30px, calc(30px + (90 * ((100vw - 768px) / 512))), 120px);
}

.l-pd0-left {
  margin-left: clamp(-120px, calc(-30px + (-90 * ((100vw - 768px) / 512))), -30px);
}

.l-pd0-right {
  margin-right: clamp(-120px, calc(-30px + (-90 * ((100vw - 768px) / 512))), -30px);
}

@media screen and (max-width: 768px) {
  .l-pd {
    padding-right: 30px;
    padding-left: 30px;
  }
  .l-pd-left {
    padding-left: 30px;
  }
  .l-pd-right {
    padding-right: 30px;
  }
  .l-pd0-left {
    margin-left: -30px;
  }
  .l-pd0-right {
    margin-right: -30px;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 文字位置調整
――――――――――――――――――――――――――――――――――――――――――――――*/
.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 40px 30px 30px;
  background-color: #c37e2e;
  color: #ffffff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
  text-align: center;
  transition: 0.3s;
}

.c-btn:hover {
  opacity: 0.8;
}

.c-btn.--white {
  background-color: #ffffff;
  color: #3e3e3e;
}

.c-btn.--header {
  width: clamp(190px, calc(190px + (45 * ((100vw - 769px) / 671))), 235px);
  height: 60px;
  padding: 25px clamp(22px, calc(22px + (13 * ((100vw - 769px) / 671))), 35px) 25px clamp(18px, calc(18px + (12 * ((100vw - 769px) / 671))), 30px);
  font-size: 18px;
}

.c-btn.--primary {
  background: #c37e2e;
  color: #ffffff;
}

.c-btn.--primary:hover {
  background: #ffffff;
  color: #c37e2e;
  box-shadow: inset 0 0 0 2px #c37e2e;
}

.c-btn.--secondary {
  background: #ffffff;
  color: #3e3e3e;
}

.c-btn.--secondary:hover {
  background: #3e3e3e;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .c-btn {
    width: 100%;
    padding: 20px 40px 20px 30px;
    font-size: 20px;
  }
}

.c-btn__icon {
  flex-shrink: 0;
  width: 37px;
  height: 37px;
  object-fit: contain;
  margin-right: 20px;
}

.c-btn.--header .c-btn__icon {
  margin-right: clamp(8px, calc(8px + (4 * ((100vw - 769px) / 671))), 12px);
}

@media screen and (max-width: 768px) {
  .c-btn__icon {
    margin-right: 16px;
  }
}

.c-btn.--header .c-btn__icon, .header-nav__reserve .c-btn__icon {
  width: 25px;
  height: 27px;
}

@media screen and (min-width: 769px) {
  .reserve__btns .c-btn:first-child .c-btn__icon {
    width: 27px;
    height: 28px;
  }
  .reserve__btns .c-btn:last-child .c-btn__icon {
    width: 30px;
    height: 24px;
  }
}

.c-btn__icon.--calendar,
.c-btn__icon.--mail {
  display: block;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.c-btn__icon.--calendar {
  mask-image: url("../img/common/icon-reservation.svg");
  -webkit-mask-image: url("../img/common/icon-reservation.svg");
  mask-size: 25px 27px;
  -webkit-mask-size: 25px 27px;
}

.c-btn__icon.--mail {
  mask-image: url("../img/common/icon-contact.svg");
  -webkit-mask-image: url("../img/common/icon-contact.svg");
  mask-size: 30px 24px;
  -webkit-mask-size: 30px 24px;
}

.c-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  position: relative;
}

.top .c-ttl {
  gap: 16px;
}

.c-ttl__deco {
  position: absolute;
  top: calc(50% - 9.5px);
  left: 50%;
  z-index: 0;
  max-width: none;
  width: 480px;
  height: 143px;
  transform: translate(-50%, -50%);
  object-fit: contain;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .c-ttl__deco {
    width: 335px;
    height: 99px;
  }
}

.c-ttl__en {
  position: relative;
  z-index: 1;
  color: #c69f73;
  font-family: "Crimson Text", "Times New Roman", serif;
  font-size: 80px;
  font-weight: 400;
  line-height: 64px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c-ttl__en {
    font-size: 56px;
    line-height: 56px;
  }
}

.c-ttl__ja {
  position: relative;
  z-index: 1;
  color: #c9b7a2;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c-ttl__ja {
    font-size: 18px;
    line-height: 18px;
  }
}

.c-ttl.--voice {
  gap: 16px;
}

.c-ttl.--voice .c-ttl__ja {
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .c-ttl.--voice .c-ttl__ja {
    line-height: 18px;
  }
}

.c-ttl.--instagram {
  gap: 20px;
}

.c-ttl.--instagram .c-ttl__ja {
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .c-ttl.--instagram .c-ttl__ja {
    line-height: 18px;
  }
}

@media screen and (max-width: 768px) {
  .c-ttl.--instagram {
    gap: 16px;
  }
}

@media screen and (max-width: 768px) {
  .c-ttl.--reserve {
    gap: 16px;
  }
}

.c-secTtl {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.c-secTtl.--sm {
  gap: 8px;
}

@media screen and (max-width: 768px) {
  .c-secTtl.--sm {
    gap: 12px;
  }
}

.c-secTtl.--left {
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .c-secTtl.--left {
    align-items: center;
  }
}

@media screen and (max-width: 768px) {
  .c-secTtl {
    gap: 16px;
  }
}

.c-secTtl__brush {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% - 9.5px));
  width: 480px;
  height: 143px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .c-secTtl__brush {
    width: 335px;
    height: 99px;
  }
}

.c-secTtl.--sm .c-secTtl__brush {
  width: 391px;
  height: 117px;
}

@media screen and (max-width: 768px) {
  .c-secTtl.--sm .c-secTtl__brush {
    width: 227px;
    height: 67px;
    transform: translate(-50%, calc(-50% - 2.5px));
  }
}

.c-secTtl__en {
  position: relative;
  font-family: "Crimson Text", "Times New Roman", serif;
  font-size: 80px;
  line-height: 64px;
  color: #c69f73;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .c-secTtl__en {
    font-size: 56px;
    line-height: 56px;
  }
}

.c-secTtl.--sm .c-secTtl__en {
  font-size: 64px;
  line-height: 52px;
}

@media screen and (max-width: 768px) {
  .c-secTtl.--sm .c-secTtl__en {
    font-size: 48px;
    line-height: 48px;
  }
}

.c-secTtl__ja {
  position: relative;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 20px;
  color: #c9b7a2;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .c-secTtl__ja {
    font-size: 18px;
    line-height: 18px;
  }
}

.c-secTtl.--sm .c-secTtl__ja {
  font-size: 16px;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .c-secTtl.--sm .c-secTtl__ja {
    line-height: 16px;
  }
}

.c-kv {
  position: relative;
  width: 100%;
  aspect-ratio: 1440 / 820;
  height: auto;
  min-height: 600px;
  max-height: 820px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .c-kv {
    aspect-ratio: auto;
    height: 700px;
    min-height: 0;
    max-height: none;
  }
}

.c-kv__img,
.c-kv__video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background-color: #a3a3a3;
}

.c-link {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  color: #3e3e3e;
}

.top .c-link {
  gap: 15px;
}

.c-link__inner {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 20px 0 15px;
}

.c-link__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

.c-link__arrow {
  display: block;
  width: 14px;
  height: 5px;
  object-fit: contain;
}

.c-link__line {
  display: block;
  position: relative;
  align-self: flex-end;
  top: 0;
  width: 100%;
  height: 1px;
  object-fit: cover;
  object-position: right center;
  transition: width 0.4s ease;
}

.c-link:hover .c-link__line {
  width: 0;
}

.c-link.--lg {
  gap: 30px;
}

.c-link.--lg .c-link__inner {
  gap: 25px;
  padding: 0 15px 0 20px;
}

.c-link.--lg .c-link__txt {
  font-size: 20px;
}

.c-link.--lg .c-link__arrow {
  width: 20px;
  height: 7px;
}

.c-textLink {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  color: #3e3e3e;
  padding: 0 38px 8px 15px;
}

.c-textLink::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  min-height: 2px;
  background: url("../img/common/link-underline.svg") no-repeat right center/auto 2px;
  transform-origin: right;
  transition: transform 0.4s ease;
}

.c-textLink:hover::after {
  transform: scaleX(0);
}

.c-textLink.--lg {
  font-size: 20px;
  padding: 0 25px 26px 20px;
}

.c-textLink span {
  position: relative;
  display: inline-block;
}

.c-textLink span::before {
  content: "";
  position: absolute;
  top: calc((28px - 3.5px) / 2);
  left: calc(100% + 13px);
  width: 13px;
  height: 4.5px;
  background: url("../img/common/arrow-link.svg") no-repeat center/100% 100%;
}

.c-vtxt {
  flex-shrink: 0;
  width: 16px;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 16px;
  text-align: center;
  word-break: break-all;
  line-break: anywhere;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 768px) {
  .c-vtxt {
    width: 100%;
    line-height: 33px;
    text-align: left;
    word-break: normal;
    line-break: auto;
    overflow-wrap: normal;
  }
}

.c-vtxt.--lg {
  width: 32px;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .c-vtxt.--lg {
    width: 28px;
    font-size: 28px;
    line-height: 28px;
    text-align: center;
    word-break: break-all;
    line-break: anywhere;
    overflow-wrap: anywhere;
  }
}

.c-vtxt.--label {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 24px;
  height: 58px;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

@media screen and (max-width: 768px) {
  .c-vtxt.--label {
    width: auto;
    height: auto;
  }
}

.c-vtxt__txt {
  white-space: nowrap;
}

@media screen and (min-width: 769px) {
  .c-vtxt.--label .c-vtxt__txt {
    transform: rotate(90deg);
  }
}

.c-mainTxt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 40px;
}

@media screen and (max-width: 768px) {
  .c-mainTxt {
    font-size: 18px;
    line-height: 34px;
  }
}

.c-mainTxt.--center {
  text-align: center;
}

.c-leadTxt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 33px;
}

.p-topVoices {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
  padding: 160px 120px;
  background: #f5f0df;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-topVoices {
    gap: 80px;
    padding: 120px 0;
  }
}

.p-topVoices::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/common/bg-voices.jpg") center/cover no-repeat;
  opacity: 0.2;
  pointer-events: none;
}

.p-topVoices > * {
  position: relative;
  z-index: 1;
}

.p-topVoices .c-secTtl__brush {
  background-image: url("../img/top/bg-ttl-voices.png");
}

.p-topVoices__slider {
  width: 100%;
  overflow: visible;
}

.p-topVoices__track {
  display: flex;
  gap: 60px;
  will-change: transform;
}

@media screen and (max-width: 768px) {
  .p-topVoices__track {
    gap: 15px;
  }
}

.p-topVoices__track.is-single {
  width: 100%;
  justify-content: center;
  transform: none;
}

.p-topVoices__card {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  width: 360px;
  flex-shrink: 0;
  overflow: hidden;
}

.p-topVoices__card:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .p-topVoices__card {
    width: 300px;
  }
}

.p-topVoices__img {
  width: 360px;
  height: 360px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-topVoices__img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
}

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

.p-topVoices__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  width: 100%;
  text-align: center;
}

.p-topVoices__course {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: #7b4e1a;
}

.p-topVoices__name {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  color: #7b4e1a;
}

.p-topVoices__line {
  width: 26px;
  height: 0;
  border: none;
  border-top: 1px solid #7b4e1a;
}

.p-topVoices__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  color: #3e3e3e;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-topVoices__txt {
    font-size: 15px;
    line-height: 26px;
  }
}

.p-topVoices__footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 60px;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-topVoices__footer {
    flex-direction: column;
    gap: 40px;
  }
}

.p-topVoices__footer.is-single {
  justify-content: center;
}

.p-topVoices__footer.is-single .p-topVoices__nav {
  display: none;
}

.p-topVoices__nav {
  display: flex;
  gap: 10px;
  align-items: center;
  transform: translateX(-6px) translateY(15px);
}

@media screen and (max-width: 768px) {
  .p-topVoices__nav {
    transform: none;
    margin-top: -28px;
    margin-bottom: 3px;
  }
}

.p-topVoices__arrow {
  width: 77px;
  height: 77px;
  padding: 0;
  border: none;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  transition: opacity 0.3s;
}

.p-topVoices__arrow.--prev {
  background-image: url("../img/common/btn-voicesNav--prev.svg");
}

@media screen and (max-width: 768px) {
  .p-topVoices__arrow.--prev {
    width: 61px;
    height: 69px;
  }
}

.p-topVoices__arrow.--next {
  width: 75px;
  height: 78px;
  background-image: url("../img/common/btn-voicesNav--next.svg");
}

@media screen and (max-width: 768px) {
  .p-topVoices__arrow.--next {
    width: 61px;
    height: 69px;
  }
}

.p-topVoices__arrow:hover {
  opacity: 0.8;
}

.header {
  position: absolute;
  top: 45px;
  left: 60px;
  z-index: 102;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: calc(100% - 120px);
}

@media screen and (max-width: 768px) {
  .header {
    top: 33px;
    left: 15px;
    width: calc(100% - 30px);
    align-items: center;
  }
}

@media screen and (max-width: 768px) {
  body.is-active .header {
    position: fixed;
  }
}

.header-logo {
  display: block;
  position: relative;
  z-index: 102;
  width: clamp(220px, calc(220px + (88 * ((100vw - 769px) / 671))), 308px);
  height: clamp(54px, calc(54px + (21 * ((100vw - 769px) / 671))), 75px);
}

@media screen and (max-width: 768px) {
  .header-logo {
    width: 180px;
    height: 44px;
  }
}

.header-logo__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header-logo__img--menu {
  display: none;
}

@media screen and (max-width: 768px) {
  body.is-active .header-logo__img--default {
    display: none;
  }
  body.is-active .header-logo__img--menu {
    display: block;
  }
}

.header-actions {
  display: flex;
  position: relative;
  z-index: 102;
  align-items: flex-start;
  gap: clamp(14px, calc(14px + (9 * ((100vw - 769px) / 671))), 23px);
}

@media screen and (max-width: 768px) {
  .header-actions {
    position: fixed;
    top: 25px;
    right: 15px;
  }
}

.header-menuBtn {
  display: flex;
  position: relative;
  z-index: 102;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 60px;
  height: 60px;
  padding-top: 22px;
  background-color: #3e3e3e;
  color: #ffffff;
}

.header-menuBtn__bar {
  display: block;
  width: 32px;
  height: 1px;
  background-color: transparent;
  position: relative;
}

.header-menuBtn__bar::before, .header-menuBtn__bar::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  left: 0;
  width: 32px;
  height: 1px;
  background-color: #ffffff;
  transition: 0.5s;
}

.header-menuBtn__bar::before {
  top: -3.5px;
}

.header-menuBtn__bar::after {
  top: 3.5px;
}

.header-menuBtn__txt {
  margin-top: 14px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
  text-align: center;
  color: #ffffff;
}

.header-menuBtn.js-open .header-menuBtn__bar {
  background-color: transparent;
}

.header-menuBtn.js-open .header-menuBtn__bar::before {
  top: 0;
  transform: rotate(45deg);
}

.header-menuBtn.js-open .header-menuBtn__bar::after {
  top: 0;
  transform: rotate(-45deg);
}

.header-nav {
  position: fixed;
  inset: 0;
  z-index: 101;
  display: flex;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.header-nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.header-nav__visual {
  flex: 1 1 50%;
  width: 50%;
  min-width: 0;
  height: 100%;
  overflow: hidden;
}

.header-nav__visual-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: right bottom;
}

.header-nav__body {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 50%;
  min-width: 0;
  height: 100%;
  padding: clamp(120px, calc(120px + (31 * ((100vw - 769px) / 671))), 151px) clamp(24px, calc(24px + (36 * ((100vw - 769px) / 671))), 60px);
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .header-nav__body {
    padding-top: clamp(108px, 100dvh - 672px, clamp(120px, 120px + 31 * (100vw - 769px) / 671, 151px));
    padding-bottom: clamp(10px, 100dvh - 639px, clamp(120px, 120px + 31 * (100vw - 769px) / 671, 151px));
  }
}

@media screen and (max-width: 768px) {
  .header-nav__body {
    flex: 1 1 auto;
    width: 100%;
    align-items: flex-start;
    padding: 110px 30px 40px;
  }
}

.header-nav__scroll {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

.header-nav__reserve {
  flex-shrink: 0;
  width: 100%;
  margin-top: 50px;
}

.header-nav__cols {
  display: grid;
  flex-shrink: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: clamp(16px, calc(16px + (34 * ((100vw - 769px) / 671))), 50px);
  row-gap: clamp(24px, calc(24px + (26 * ((100vw - 769px) / 671))), 50px);
  width: 100%;
  min-width: 0;
}

@media screen and (min-width: 769px) {
  .header-nav__cols {
    row-gap: clamp(6px, 100dvh - 599px, clamp(24px, 24px + 26 * (100vw - 769px) / 671, 50px));
  }
}

@media screen and (max-width: 768px) {
  .header-nav__cols {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
}

.header-nav__group {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.header-nav__ttl {
  padding: clamp(10px, calc(10px + (5 * ((100vw - 769px) / 671))), 15px) clamp(8px, calc(8px + (2 * ((100vw - 769px) / 671))), 10px);
  color: #af987d;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: clamp(14px, calc(14px + (2 * ((100vw - 769px) / 671))), 16px);
  font-weight: 600;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .header-nav__ttl.--empty {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .header-nav__group:nth-child(3) .header-nav__ttl {
    margin-top: 30px;
  }
}

.header-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: clamp(10px, calc(10px + (5 * ((100vw - 769px) / 671))), 15px) clamp(8px, calc(8px + (2 * ((100vw - 769px) / 671))), 10px);
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
  margin-bottom: -1px;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: clamp(13px, calc(13px + (3 * ((100vw - 769px) / 671))), 16px);
  font-weight: 300;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 768px) {
  .header-nav__link {
    padding: 14px 10px;
    font-size: 15px;
    line-height: 26px;
  }
}

.header-nav__arrow {
  display: block;
  width: 7px;
  height: 7px;
  border-top: 1px solid #3e3e3e;
  border-right: 1px solid #3e3e3e;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.footer {
  width: 100%;
}

.footer-nav {
  padding-top: clamp(85px, calc(85px + (75 * ((100vw - 769px) / 671))), 160px);
  padding-bottom: clamp(45px, calc(45px + (35 * ((100vw - 769px) / 671))), 80px);
  overflow: hidden;
  background-color: #131313;
}

@media screen and (max-width: 768px) {
  .footer-nav {
    padding-top: 120px;
    padding-bottom: 40px;
  }
}

.footer-nav__deco {
  position: absolute;
  z-index: 0;
  height: auto;
  pointer-events: none;
  object-fit: contain;
}

.footer-nav__deco--02 {
  top: 64px;
  right: -52px;
  width: calc(416 / 1440 * 100%);
  aspect-ratio: 416 / 293;
}

@media screen and (max-width: 768px) {
  .footer-nav__deco--02 {
    top: 83px;
    right: -121px;
    width: 272px;
    aspect-ratio: 272 / 192;
  }
}

.footer-nav__deco--01 {
  bottom: 12px;
  left: -20px;
  width: calc(324 / 1440 * 100%);
  aspect-ratio: 324 / 217;
}

@media screen and (max-width: 768px) {
  .footer-nav__deco--01 {
    bottom: 21px;
    left: -21px;
    width: 324px;
  }
}

.footer-nav .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 174px;
}

@media screen and (max-width: 768px) {
  .footer-nav .l-inner {
    gap: 84px;
  }
}

.footer-nav__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 98px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .footer-nav__head {
    gap: 60px;
  }
}

.footer-logo {
  display: block;
  width: 348px;
  height: 85px;
}

@media screen and (max-width: 768px) {
  .footer-logo {
    width: 240px;
    height: 59px;
  }
}

.footer-logo__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.footer-sitemap {
  display: flex;
  gap: 30px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .footer-sitemap {
    flex-direction: column;
    gap: 0;
  }
}

.footer-sitemap__col {
  flex: 1;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .footer-sitemap__col + .footer-sitemap__col {
    margin-top: 31px;
  }
  .footer-sitemap__col:has(.footer-sitemap__ttl.--empty) {
    margin-top: 0;
  }
}

.footer-sitemap__ttl {
  padding: 30px 10px;
  color: #af987d;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .footer-sitemap__ttl.--empty {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .footer-sitemap__ttl {
    padding: 27px 10px;
    font-size: 15px;
  }
}

.footer-sitemap__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px 10px;
  border-top: 1px solid #656565;
  border-bottom: 1px solid #656565;
  margin-bottom: -1px;
  color: #ffffff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .footer-sitemap__link {
    padding: 26px 10px;
    font-size: 15px;
    line-height: 26px;
  }
}

.footer-sitemap__arrow {
  display: block;
  width: 9px;
  height: 12px;
  object-fit: contain;
  flex-shrink: 0;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .footer-bottom {
    flex-direction: column;
    gap: 30px;
  }
}

.footer-bottom__links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .footer-bottom__links {
    justify-content: center;
    gap: 10px 15px;
    font-size: 15px;
    line-height: 26px;
  }
}

.footer-bottom__sep {
  display: block;
  width: 10px;
  height: 14px;
  position: relative;
}

.footer-bottom__sep::before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: 6px;
  left: -3px;
  width: 17px;
  height: 1px;
  background-color: #ffffff;
  transform: rotate(-54.46deg);
}

.footer-copy {
  color: #ffffff;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .footer-copy {
    font-size: 15px;
    line-height: 26px;
  }
}

.footer-visual {
  padding: 0;
  height: auto;
  aspect-ratio: 1440 / 867;
}

@media screen and (max-width: 768px) {
  .footer-visual {
    padding-right: 0;
    padding-left: 0;
    height: auto;
    aspect-ratio: 390 / 466;
  }
}

.footer-visual .l-inner {
  max-width: none;
  height: 100%;
}

.footer-visual__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.footer-powered {
  padding-top: 16px;
  padding-bottom: 16px;
  background-color: #ffffff;
  border-top: 1px solid #efefef;
}

.footer-powered .l-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-powered__link {
  display: flex;
  align-items: center;
  gap: 9px;
}

.footer-powered__txt {
  color: #1b4278;
  font-size: 12px;
  font-weight: 300;
  line-height: normal;
}

.footer-powered__powered {
  width: 71px;
  height: 18px;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .footer-powered__powered {
    transform: translate(2px, 3px);
  }
}

.footer-powered__logo {
  width: 177px;
  height: 23px;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .footer-powered__logo {
    width: 146px;
    height: 19px;
  }
}

.reserve {
  min-height: 668px;
  padding-top: 132px;
  padding-bottom: 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .reserve {
    min-height: 0;
    padding-top: 120px;
    padding-bottom: 80px;
  }
}

.reserve__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.reserve__overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(3px);
}

.reserve .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding-right: clamp(0px, calc(0px + (100 - 0) * ((100vw - 1000px) / (1280 - 1000))), 100px);
  padding-left: clamp(0px, calc(0px + (100 - 0) * ((100vw - 1000px) / (1280 - 1000))), 100px);
}

@media screen and (max-width: 768px) {
  .reserve .l-inner {
    padding-right: 0;
    padding-left: 0;
  }
}

.reserve__btns {
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .reserve__btns {
    flex-direction: column;
    align-items: stretch;
  }
}

.reserve__btns .c-btn {
  flex: 1 0 0;
  min-width: 0;
  gap: 30px;
}

@media screen and (max-width: 768px) {
  .reserve__btns .c-btn {
    flex: auto;
    gap: 27px;
    padding: 25px 40px 25px 30px;
    font-size: 20px;
    line-height: 28px;
  }
}

.reserve__btns .c-btn__icon {
  transform: translateX(5.2px);
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .reserve__btns .c-btn__icon {
    width: 28px;
    height: 29px;
    transform: translateX(7px);
  }
}

@media screen and (max-width: 768px) {
  .reserve__btns .c-btn:last-child .c-btn__icon {
    width: 32px;
    height: 26px;
  }
}

.topKv {
  padding: 0;
}

.topKv .l-inner {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 100%;
}

.topKv__title {
  position: absolute;
  top: 180px;
  left: 128px;
  display: flex;
  align-items: flex-start;
  gap: 24px;
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 32px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .topKv__title {
    top: 146px;
    left: auto;
    right: 35px;
    font-size: 28px;
    line-height: 28px;
  }
}

.topKv__title-line {
  width: 32px;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

@media screen and (max-width: 768px) {
  .topKv__title-line {
    width: 28px;
  }
}

.topKv__sub {
  position: absolute;
  top: 360px;
  left: 26px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 48px;
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 16px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .topKv__sub {
    top: 455px;
    left: 50px;
  }
}

.topKv__sub-line {
  width: 16px;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.topAboutVisual {
  padding: 0;
  height: 581px;
}

@media screen and (max-width: 768px) {
  .topAboutVisual {
    padding-right: 0;
    padding-left: 0;
    height: 442px;
  }
}

.topAboutVisual .l-inner {
  max-width: none;
  height: 100%;
}

.topAboutVisual picture {
  display: block;
  width: 100%;
  height: 100%;
}

.topAboutVisual__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.topPoint {
  position: relative;
  z-index: 1;
  margin-top: -19px;
  margin-bottom: -19px;
  padding-top: calc(clamp(70px, calc(70px + (62 * ((100vw - 769px) / 671))), 132px) + 19px);
  padding-bottom: calc(clamp(70px, calc(70px + (65 * ((100vw - 769px) / 671))), 135px) + 19px);
  background-color: transparent;
  background-image: url("../img/top/bg_point.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

@media screen and (max-width: 768px) {
  .topPoint {
    margin-top: -19px;
    margin-bottom: -19px;
    padding-top: 132px;
    padding-bottom: 154px;
    background-image: url("../img/top/bg_point-sp.png");
  }
}

.topPoint .l-inner {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  padding-left: clamp(0px, calc(0px + (40 * ((100vw - 768px) / 512))), 40px);
}

@media screen and (max-width: 768px) {
  .topPoint .l-inner {
    flex-direction: column;
    gap: 58px;
    padding-left: 0;
  }
}

.topPoint__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 73px;
}

@media screen and (max-width: 768px) {
  .topPoint__head {
    width: auto;
    flex-direction: column-reverse;
    gap: 16px;
  }
}

.topPoint__ttl {
  width: 26px;
  color: #3e3e3e;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 32px;
  text-align: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

@media screen and (max-width: 768px) {
  .topPoint__ttl {
    width: auto;
    font-size: 28px;
    line-height: 28px;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }
}

.topPoint__en {
  width: 24px;
  color: #3e3e3e;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  writing-mode: vertical-rl;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .topPoint__en {
    width: auto;
    writing-mode: horizontal-tb;
    line-height: 16px;
    letter-spacing: 0;
  }
}

.topPoint__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
  flex: 1;
  max-width: 1007px;
}

@media screen and (max-width: 768px) {
  .topPoint__list {
    width: 100%;
    max-width: none;
  }
}

.topPoint__item {
  display: flex;
  align-items: center;
  gap: 50px;
}

@media screen and (max-width: 768px) {
  .topPoint__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 41.5px;
  }
}

.topPoint__img-box {
  flex-shrink: 0;
  width: 280px;
  height: 300px;
  background-color: #a3a3a3;
}

@media screen and (max-width: 768px) {
  .topPoint__img-box {
    width: 100%;
    height: auto;
    aspect-ratio: 225 / 260;
  }
}

.topPoint__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topPoint__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
}

.topPoint__label {
  margin-bottom: 8px;
  color: #a3a3a3;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 16px;
}

.topPoint__item-ttl {
  margin-bottom: 24px;
  color: #3e3e3e;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
}

@media screen and (max-width: 768px) {
  .topPoint__item-ttl {
    margin-bottom: 22px;
  }
}

.topPoint__line {
  width: 100%;
  height: 1px;
  margin-bottom: 24px;
  background-color: #3e3e3e;
}

.topPoint__txt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .topPoint__txt {
    font-size: 15px;
    line-height: 26px;
  }
}

.topCourse {
  padding-top: clamp(95px, calc(95px + (83 * ((100vw - 769px) / 671))), 178px);
  padding-right: 0;
  padding-bottom: clamp(95px, calc(95px + (80 * ((100vw - 769px) / 671))), 175px);
  padding-left: 0;
  background-color: #f8f8f8;
}

@media screen and (max-width: 768px) {
  .topCourse {
    padding-top: 123px;
    padding-right: 0;
    padding-bottom: 117px;
    padding-left: 0;
  }
}

.topCourse .l-inner {
  max-width: 1440px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

@media screen and (max-width: 768px) {
  .topCourse .l-inner {
    gap: 80px;
  }
}

.topCourse__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(100px, calc(100px + (80 * ((100vw - 768px) / 512))), 180px);
  width: 100%;
}

@media screen and (max-width: 768px) {
  .topCourse__list {
    gap: 72px;
  }
}

.topCourse__item {
  display: flex;
  align-items: center;
  gap: clamp(30px, calc(30px + (30 * ((100vw - 769px) / 671))), 60px);
  width: 100%;
}

.topCourse__item.--reverse {
  flex-direction: row-reverse;
  padding-left: clamp(60px, calc(60px + (60 * ((100vw - 769px) / 671))), 120px);
}

@media screen and (max-width: 768px) {
  .topCourse__item.--reverse {
    flex-direction: column;
    padding-left: 15px;
  }
}

@media screen and (max-width: 768px) {
  .topCourse__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 56px;
    padding-right: 15px;
  }
}

@media screen and (max-width: 768px) {
  .topCourse__item.--reverse {
    padding-right: 0;
  }
}

.topCourse__img-box {
  flex-shrink: 0;
  width: clamp(510px, calc(510px + (450 * ((100vw - 769px) / 671))), 960px);
  aspect-ratio: 960 / 580;
  height: auto;
  background-color: #a3a3a3;
}

@media screen and (max-width: 768px) {
  .topCourse__img-box {
    width: 100%;
    max-width: none;
    aspect-ratio: 400 / 280;
  }
}

.topCourse__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topCourse__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(30px, calc(30px + (30 * ((100vw - 769px) / 671))), 60px);
  flex: 1;
  min-width: 0;
  padding-right: clamp(60px, calc(60px + (60 * ((100vw - 769px) / 671))), 120px);
}

.topCourse__item.--reverse .topCourse__body {
  padding-right: 0;
}

@media screen and (max-width: 768px) {
  .topCourse__body {
    gap: 40px;
    width: 100%;
    padding: 0 15px 0 30px;
  }
}

@media screen and (max-width: 768px) {
  .topCourse__item.--reverse .topCourse__body {
    padding: 0 30px 0 15px;
  }
}

.topCourse__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding-right: 20px;
}

.topCourse__ttl {
  color: #3e3e3e;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 40px;
}

@media screen and (max-width: 768px) {
  .topCourse__ttl {
    line-height: 40px;
  }
}

.topCourse__time {
  color: #3e3e3e;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 16px;
}

.topCourse__txt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .topCourse__txt {
    font-size: 15px;
    line-height: 26px;
  }
}

.topCourse__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .topCourse__content {
    gap: 40px;
  }
}

.topCourseVisual {
  position: relative;
  z-index: 2;
  padding: 0;
  overflow: visible;
}

@media screen and (max-width: 768px) {
  .topCourseVisual {
    padding-right: 0;
    padding-left: 0;
  }
}

.topCourseVisual::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  width: 100vw;
  height: 18px;
  margin-left: -50vw;
  background-color: inherit;
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/common/line-jagged--double.svg");
  mask-size: max(1440px, 100%) 18px;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/common/line-jagged--double.svg");
  -webkit-mask-size: max(1440px, 100%) 18px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background-color: #f8f8f8;
}

.topCourseVisual::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  width: 100vw;
  height: 18px;
  margin-left: -50vw;
  background-color: inherit;
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/common/line-jagged--double.svg");
  mask-size: max(1440px, 100%) 18px;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/common/line-jagged--double.svg");
  -webkit-mask-size: max(1440px, 100%) 18px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background-color: #f5f0df;
}

.topCourseVisual.--no-voice::after {
  background-color: #fff;
}

.topCourseVisual .l-inner {
  max-width: none;
}

.topCourseVisual picture {
  display: block;
  width: 100%;
}

.topCourseVisual__img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.topVoice {
  display: flex;
  position: relative;
  z-index: 1;
  flex-direction: column;
  align-items: center;
  margin-top: -8px;
  margin-bottom: -8px;
  padding-top: calc(clamp(75px, calc(75px + (65 * ((100vw - 769px) / 671))), 140px) + 8px);
  padding-bottom: calc(clamp(90px, calc(90px + (80 * ((100vw - 769px) / 671))), 170px) + 8px);
  padding-right: 0;
  padding-left: 0;
  background-color: transparent;
  background: url("../img/top/bg_voice.png") no-repeat center/cover;
  overflow: visible;
}

@media screen and (max-width: 768px) {
  .topVoice {
    margin-top: -8px;
    margin-bottom: -8px;
    padding-top: 128px;
    padding-bottom: 120px;
    padding-right: 0;
    padding-left: 0;
    background-image: url("../img/top/bg_voice-sp.png");
  }
}

.topVoice__slider {
  width: 100%;
  margin-top: 100px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .topVoice__slider {
    margin-top: 80px;
  }
}

.topVoice__track {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  will-change: transform;
}

@media screen and (max-width: 768px) {
  .topVoice__track {
    gap: 15px;
  }
}

.topVoice__track.is-single {
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  transform: none;
}

.topVoice__foot.is-single {
  justify-content: center;
}

.topVoice__foot.is-single .topVoice__arrows {
  display: none;
}

.topVoice__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 360px;
  flex-shrink: 0;
}

.topVoice__card:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .topVoice__card {
    width: 300px;
  }
}

.topVoice__img-box {
  width: 360px;
  height: 360px;
  overflow: hidden;
  background-color: #a3a3a3;
}

@media screen and (max-width: 768px) {
  .topVoice__img-box {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

.topVoice__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.topVoice__card:hover .topVoice__img {
  transform: scale(1.1);
}

.topVoice__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
}

.topVoice__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  color: #7b4e1a;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
}

.topVoice__course {
  font-size: 20px;
}

.topVoice__name {
  font-size: 16px;
}

.topVoice__line {
  width: 26px;
  height: 1px;
  background-color: #7b4e1a;
}

.topVoice__txt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .topVoice__txt {
    display: -webkit-box;
    overflow: hidden;
    font-size: 15px;
    line-height: 26px;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
}

.topVoice__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px;
  padding: 0 clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
}

@media screen and (max-width: 768px) {
  .topVoice__foot {
    flex-direction: column;
    align-items: center;
    gap: 95px;
    margin-top: 54px;
    padding: 0 30px;
  }
}

.topVoice__arrows {
  display: flex;
  align-items: center;
  gap: 6px;
}

.topVoice__arrow {
  width: 76px;
  height: 76px;
  padding: 0;
  background-color: transparent;
}

@media screen and (max-width: 768px) {
  .topVoice__arrow {
    width: 64px;
    height: 64px;
  }
}

.topVoice__arrow-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.topNavCards {
  padding-top: clamp(85px, calc(85px + (75 * ((100vw - 769px) / 671))), 160px);
  padding-bottom: clamp(85px, calc(85px + (75 * ((100vw - 769px) / 671))), 160px);
  background: url("../img/top/bg_nav.png") no-repeat center center/cover;
}

@media screen and (max-width: 768px) {
  .topNavCards {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

.topNavCards .l-inner {
  display: flex;
  align-items: flex-start;
  gap: 80px;
}

@media screen and (max-width: 768px) {
  .topNavCards .l-inner {
    flex-direction: column;
  }
}

.topNavCards__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  flex: 1;
  min-width: 0;
}

.topNavCards__item:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .topNavCards__item {
    width: 100%;
    gap: 28px;
  }
}

.topNavCards__img-box {
  width: 100%;
  aspect-ratio: 570 / 280;
  overflow: hidden;
  background-color: #a3a3a3;
}

.topNavCards__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.topNavCards__item:hover .topNavCards__img {
  transform: scale(1.1);
}

.topNavCards__ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .topNavCards__ttl {
    gap: 12px;
  }
}

.topNavCards__en {
  width: 100%;
  color: #7b4e1a;
  font-family: "Crimson Text", "Times New Roman", serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 48px;
}

@media screen and (max-width: 768px) {
  .topNavCards__en {
    font-size: 40px;
    line-height: 40px;
  }
}

.topNavCards__ja {
  width: 100%;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

@media screen and (max-width: 768px) {
  .topNavCards__ja {
    line-height: 16px;
  }
}

.topInsta {
  padding-top: clamp(85px, calc(85px + (75 * ((100vw - 769px) / 671))), 160px);
  padding-bottom: clamp(130px, calc(130px + (115 * ((100vw - 769px) / 671))), 245px);
  background-color: #ffffff;
  background-image: url("../img/top/bg-instagram.png");
  background-repeat: no-repeat;
  background-position: center calc(50% + 85px);
  background-size: clamp(700px, calc(700px + (620 * ((100vw - 768px) / 512))), 1320px);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .topInsta {
    padding-top: 120px;
    padding-bottom: 180px;
    background-size: contain;
  }
}

.topInsta .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
}

@media screen and (max-width: 768px) {
  .topInsta .l-inner {
    gap: 80px;
  }
}

.topInsta__grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
  width: 640px;
}

@media screen and (max-width: 768px) {
  .topInsta__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    width: 100%;
  }
}

.topInsta__item {
  display: block;
  width: 180px;
  height: 242px;
  overflow: hidden;
  background-color: #a3a3a3;
}

.topInsta__item:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .topInsta__item {
    width: 100%;
    height: auto;
    aspect-ratio: 100 / 134;
  }
}

.topInsta__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.topInsta__item:hover .topInsta__img {
  transform: scale(1.1);
}

.topAbout {
  z-index: 1;
  margin-top: -9px;
  margin-bottom: -9px;
  padding-top: calc(122px + 9px);
  padding-bottom: 189px;
  background-color: transparent;
  background-image: url("../img/top/bg_about.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

@media screen and (max-width: 768px) {
  .topAbout {
    margin-top: -9px;
    margin-bottom: -9px;
    padding-top: calc(80px + 9px);
    padding-bottom: calc(100px + 9px);
    background-image: url("../img/top/bg_about-sp.png");
  }
}

.topAbout .l-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(32px, calc(32px + (32 * ((100vw - 768px) / 512))), 64px);
  padding-right: clamp(0px, calc(0px + (85 - 0) * ((100vw - 1000px) / (1280 - 1000))), 85px);
  padding-left: clamp(0px, calc(0px + (119 - 0) * ((100vw - 1000px) / (1280 - 1000))), 119px);
}

@media screen and (max-width: 1000px) {
  .topAbout .l-inner {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .topAbout .l-inner {
    flex-direction: column-reverse;
    align-items: center;
    gap: 64px;
    padding-right: 0;
    padding-left: 0;
  }
}

.topAbout__body {
  display: flex;
  align-items: flex-start;
  gap: clamp(32px, calc(32px + (32 * ((100vw - 768px) / 512))), 64px);
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .topAbout__body {
    flex-direction: column-reverse;
    gap: 34px;
    width: 100%;
  }
}

.topAbout__group {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .topAbout__group {
    flex-direction: column-reverse;
    gap: 0;
    width: 100%;
  }
}

.topAbout__nowrap {
  display: contents;
}

@media screen and (max-width: 768px) {
  .topAbout__nowrap {
    display: flex;
    flex-direction: row-reverse;
    align-items: baseline;
  }
}

@media screen and (max-width: 768px) {
  .topAbout__nowrap .c-vtxt {
    width: auto;
    white-space: nowrap;
  }
}

.topAbout__feature {
  display: flex;
  align-items: flex-start;
  gap: 45px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .topAbout__feature {
    flex-direction: column-reverse;
    align-items: center;
    gap: 32px;
  }
}

.topAbout__feature-ttl {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  flex-shrink: 0;
}

.p-aboutKv {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: clamp(300px, 185.39493px + 14.90313vw, 400px);
  padding: clamp(140px, 117.07899px + 2.98063vw, 160px) clamp(30px, -73.14456px + 13.41282vw, 120px) 100px;
  gap: 16px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-aboutKv {
    height: 300px;
    padding: 140px 30px 100px;
  }
}

.p-aboutKv__bg {
  position: absolute;
  inset: 0;
  display: block;
}

.p-aboutKv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.p-aboutKv__overlay {
  position: absolute;
  inset: 0;
  background: rgba(46, 81, 109, 0.5);
  pointer-events: none;
}

.p-aboutKv__en {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(14px, 11.7079px + 0.29806vw, 16px);
  line-height: clamp(14px, -6.62891px + 2.68256vw, 32px);
  color: #ffffff;
}

.p-aboutKv__ja {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(28px, 14.24739px + 1.78838vw, 40px);
  line-height: clamp(28px, 23.4158px + 0.59613vw, 32px);
  color: #ffffff;
}

.p-aboutMsg {
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .p-aboutMsg {
    flex-direction: column;
  }
}

.p-aboutMsg__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(60px, 37.07899px + 2.98063vw, 80px);
  padding: clamp(100px, 54.15797px + 5.96125vw, 140px) clamp(30px, -73.14456px + 13.41282vw, 120px) clamp(120px, 97.07899px + 2.98063vw, 140px);
  background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.8) 65%, rgba(255, 255, 255, 0.8) 100%);
}

@media screen and (min-width: 769px) {
  .p-aboutMsg__copy {
    flex: 1;
    min-width: 0;
  }
}

.p-aboutMsg__body {
  max-width: 566px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 13.85395px + 0.14903vw, 16px);
  line-height: clamp(30px, 25.4158px + 0.59613vw, 34px);
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .p-aboutMsg__body {
    max-width: none;
  }
}

.p-aboutMsg__body p + p {
  margin-top: clamp(30px, 25.4158px + 0.59613vw, 34px);
}

.p-aboutMsg__sign {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  width: 100%;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 13.85395px + 0.14903vw, 16px);
  line-height: clamp(26px, 23.7079px + 0.29806vw, 28px);
  color: #3e3e3e;
}

.p-aboutMsg__img {
  position: sticky;
  top: 0;
  flex: none;
  width: clamp(339px, 0.91505px + 43.96423vw, 634px);
  max-width: 634px;
  height: auto;
  aspect-ratio: 634 / 1100;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-aboutMsg__img {
    position: static;
    width: 100%;
    max-width: none;
    height: 660px;
    aspect-ratio: auto;
  }
}

.p-aboutMsg__img picture {
  display: block;
  width: 100%;
  height: 100%;
}

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

.p-aboutCards {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 80px;
  padding: clamp(120px, 97.07899px + 2.98063vw, 140px) clamp(30px, -141.9076px + 22.35469vw, 180px);
  background: #f8f8f8;
  overflow: visible;
}

@media screen and (max-width: 768px) {
  .p-aboutCards {
    flex-direction: column;
  }
}

.p-aboutCards::after {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  width: 100vw;
  height: 18px;
  margin-left: -50vw;
  background-color: inherit;
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/common/line-jagged--double.svg");
  mask-size: max(1440px, 100%) 18px;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/common/line-jagged--double.svg");
  -webkit-mask-size: max(1440px, 100%) 18px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.p-aboutCards::before {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  width: 100vw;
  height: 18px;
  margin-left: -50vw;
  background-color: inherit;
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/common/line-jagged--double.svg");
  mask-size: max(1440px, 100%) 18px;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/common/line-jagged--double.svg");
  -webkit-mask-size: max(1440px, 100%) 18px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.p-aboutCards__item {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 22.83159px + 1.19225vw, 40px);
  flex: 1;
  min-width: 0;
  max-width: 490px;
}

@media screen and (max-width: 768px) {
  .p-aboutCards__item {
    max-width: none;
    width: 100%;
  }
}

.p-aboutCards__img {
  width: 100%;
  aspect-ratio: 680 / 400;
  overflow: hidden;
}

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

.p-aboutCards__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(16px, 6.83159px + 1.19225vw, 24px);
}

.p-aboutCards__ttl {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 44px;
  color: #c69f73;
}

.p-aboutCards__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  width: 100%;
}

.p-aboutCards__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 13.85395px + 0.14903vw, 16px);
  line-height: clamp(26px, 23.7079px + 0.29806vw, 28px);
  color: #3e3e3e;
}

.p-aboutSafety {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
  padding: clamp(120px, 97.07899px + 2.98063vw, 140px) clamp(30px, -141.9076px + 22.35469vw, 180px);
}

.p-aboutSafety .c-secTtl__brush {
  background-image: url("../img/about/bg-ttl-safety.png");
}

.p-aboutSafety__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(60px, 37.07899px + 2.98063vw, 80px);
  width: 100%;
}

.p-aboutSafety__lead {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 13.85395px + 0.14903vw, 16px);
  line-height: clamp(26px, 23.7079px + 0.29806vw, 28px);
  color: #3e3e3e;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-aboutSafety__lead {
    text-align: left;
    width: 100%;
  }
}

.p-aboutSafety__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: 1080px;
  padding-top: clamp(37px, 33.56185px + 0.44709vw, 40px);
  border-top: 1px solid #c69f73;
}

@media screen and (max-width: 768px) {
  .p-aboutSafety__list {
    gap: 38px;
  }
}

.p-aboutSafety__row {
  display: flex;
  align-items: center;
  gap: 100px;
  padding-bottom: clamp(30px, 20.83159px + 1.19225vw, 38px);
  border-bottom: 1px solid #c69f73;
}

@media screen and (max-width: 768px) {
  .p-aboutSafety__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
    padding-bottom: 30px;
  }
}

.p-aboutSafety__th {
  flex-shrink: 0;
  width: 216px;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(20px, 15.4158px + 0.59613vw, 24px);
  line-height: 1;
  color: #c69f73;
}

.p-aboutSafety__td {
  flex: 1;
  min-width: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 13.85395px + 0.14903vw, 16px);
  line-height: clamp(26px, 23.7079px + 0.29806vw, 28px);
  color: #3e3e3e;
}

.p-aboutLinks {
  display: flex;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-aboutLinks {
    flex-direction: column;
    height: 550px;
  }
}

.p-aboutLinks__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 15.4158px + 0.59613vw, 24px);
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: clamp(275px, -28.70343px + 39.49329vw, 540px);
  overflow: hidden;
  color: #ffffff;
}

.p-aboutLinks__item:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .p-aboutLinks__item {
    height: auto;
  }
}

.p-aboutLinks__bg {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}

.p-aboutLinks__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.p-aboutLinks__item:hover .p-aboutLinks__bg img {
  transform: scale(1.1);
  opacity: 1;
}

.p-aboutLinks__overlay {
  position: absolute;
  inset: 0;
  background: rgba(16, 19, 43, 0.45);
}

.p-aboutLinks__en {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(32px, 22.83159px + 1.19225vw, 40px);
  line-height: 28px;
}

.p-aboutLinks__ja {
  position: relative;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(20px, 15.4158px + 0.59613vw, 24px);
  line-height: 28px;
}

.sabaniKv {
  padding: 0;
  height: 400px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .sabaniKv {
    padding-right: 0;
    padding-left: 0;
    height: 300px;
  }
}

.sabaniKv__media {
  position: absolute;
  inset: 0;
}

.sabaniKv__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(46, 81, 109, 0.5);
}

.sabaniKv__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.sabaniKv__img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: bottom;
}

.sabaniKv .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  padding-top: 160px;
  padding-right: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
  padding-bottom: 100px;
  padding-left: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
}

@media screen and (max-width: 768px) {
  .sabaniKv .l-inner {
    padding-top: 140px;
    padding-right: 30px;
    padding-bottom: 100px;
    padding-left: 30px;
  }
}

.sabaniKv__ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.sabaniKv__en {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .sabaniKv__en {
    font-size: 14px;
    line-height: 14px;
  }
}

.sabaniKv__ja {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .sabaniKv__ja {
    font-size: 28px;
    line-height: 28px;
  }
}

.sabaniIntro {
  padding-top: clamp(80px, calc(80px + (40 * ((100vw - 769px) / 671))), 120px);
  padding-bottom: clamp(70px, calc(70px + (33 * ((100vw - 769px) / 671))), 103px);
}

@media screen and (max-width: 768px) {
  .sabaniIntro {
    padding-top: 75px;
    padding-bottom: 120px;
  }
}

.sabaniIntro .l-inner {
  display: flex;
  align-items: flex-start;
  gap: clamp(40px, calc(40px + (21 * ((100vw - 769px) / 671))), 61px);
}

@media screen and (max-width: 768px) {
  .sabaniIntro .l-inner {
    flex-direction: column;
    gap: 85px;
  }
}

.sabaniIntro__copy {
  display: flex;
  flex-direction: column;
  gap: 34px;
  width: clamp(309px, calc(309px + (270 * ((100vw - 769px) / 671))), 579px);
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .sabaniIntro__copy {
    width: 100%;
  }
}

.sabaniIntro__ttl {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 44px;
  color: #c69f73;
}

.sabaniIntro__body {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(30px, calc(30px + (4 * ((100vw - 769px) / 671))), 34px);
  color: #3e3e3e;
}

.sabaniIntro__body p + p {
  margin-top: clamp(30px, calc(30px + (4 * ((100vw - 769px) / 671))), 34px);
}

.sabaniIntro__photos {
  position: relative;
  flex: 1 1 auto;
  min-width: 299px;
  max-width: 560px;
  aspect-ratio: 560 / 526;
  margin-top: -5px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .sabaniIntro__photos {
    flex: none;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: auto;
    aspect-ratio: 330 / 310;
    margin-right: 0;
    margin-left: 0;
  }
}

.sabaniIntro__photo {
  position: absolute;
  overflow: hidden;
}

.sabaniIntro__photo.--a {
  top: 0;
  left: 0;
  width: 61.2%;
  height: 53.7%;
}

@media screen and (max-width: 768px) {
  .sabaniIntro__photo.--a {
    width: 61.2%;
    height: 53.5%;
  }
}

.sabaniIntro__photo.--b {
  top: 46.3%;
  left: 40.4%;
  width: 59.6%;
  height: 53.7%;
}

@media screen and (max-width: 768px) {
  .sabaniIntro__photo.--b {
    top: 46.5%;
    left: 40.3%;
    width: 59.7%;
    height: 53.5%;
  }
}

.sabaniIntro__img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: bottom;
}

.sabaniCraft {
  padding-top: 0;
  padding-bottom: clamp(70px, calc(70px + (30 * ((100vw - 769px) / 671))), 100px);
}

@media screen and (max-width: 768px) {
  .sabaniCraft {
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
  }
}

.sabaniCraft .l-inner {
  display: flex;
  align-items: stretch;
  max-width: 1200px;
}

@media screen and (max-width: 768px) {
  .sabaniCraft .l-inner {
    flex-direction: column;
  }
}

.sabaniCraft__img {
  flex-shrink: 0;
  align-self: stretch;
  width: clamp(351px, calc(351px + (306 * ((100vw - 769px) / 671))), 657px);
  min-height: clamp(321px, calc(321px + (280 * ((100vw - 769px) / 671))), 601px);
  max-height: 601px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .sabaniCraft__img {
    width: 100%;
    min-height: 0;
    height: auto;
    aspect-ratio: 390 / 330;
  }
}

.sabaniCraft__img picture {
  display: block;
  width: 100%;
  height: 100%;
}

.sabaniCraft__img img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}

.sabaniCraft__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(20px, calc(20px + (16 * ((100vw - 769px) / 671))), 36px);
  flex: 1;
  min-width: 0;
  min-height: clamp(321px, calc(321px + (280 * ((100vw - 769px) / 671))), 601px);
  max-height: 601px;
  padding: clamp(40px, calc(40px + (25 * ((100vw - 769px) / 671))), 65px) clamp(32px, calc(32px + (48 * ((100vw - 769px) / 671))), 80px) clamp(50px, calc(50px + (50 * ((100vw - 769px) / 671))), 100px);
  background-color: #2a4357;
  color: #ffffff;
}

.sabaniCraft__body > * {
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .sabaniCraft__body {
    min-height: 0;
    max-height: none;
    gap: 29px;
    padding: 60px 30px 80px;
  }
}

.sabaniCraft__ttl {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 44px;
}

.sabaniCraft__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 34px;
}

@media screen and (max-width: 768px) {
  .sabaniCraft__txt {
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 33.7px;
  }
}

@media screen and (max-width: 768px) {
  .sabaniCraft__txt p + p {
    margin-top: 1px;
  }
}

.sabaniCraft__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 25px;
  padding: 0 15px 8px 20px;
  color: #ffffff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 28px;
}

.sabaniCraft__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -16px;
  width: 214px;
  height: 2px;
  background: url("../img/common/link-underline-long.svg") no-repeat right center/auto 2px;
  filter: brightness(0) invert(1);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.sabaniCraft__link:hover::after {
  transform: scaleX(0);
}

.sabaniCraft__ext {
  width: 14px;
  height: 14px;
  filter: brightness(0) invert(1);
}

.sabaniHistory {
  overflow: visible;
  padding-top: clamp(80px, calc(80px + (47 * ((100vw - 769px) / 671))), 127px);
  padding-bottom: clamp(60px, calc(60px + (54 * ((100vw - 769px) / 671))), 114px);
  padding-right: clamp(30px, calc(30px + (30 * ((100vw - 769px) / 671))), 60px);
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sabaniHistory {
    padding-top: 140px;
    padding-right: 30px;
    padding-bottom: 97px;
  }
}

.sabaniHistory::after {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  width: 100vw;
  height: 18px;
  margin-left: -50vw;
  background-color: inherit;
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/common/line-jagged--double.svg");
  mask-size: max(1440px, 100%) 18px;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/common/line-jagged--double.svg");
  -webkit-mask-size: max(1440px, 100%) 18px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.sabaniHistory__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.sabaniHistory__bg img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}

.sabaniHistory .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(40px, calc(40px + (20 * ((100vw - 769px) / 671))), 60px);
  max-width: 1260px;
}

@media screen and (max-width: 768px) {
  .sabaniHistory .l-inner {
    flex-direction: column;
    gap: 50px;
  }
}

.sabaniHistory__copy {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: clamp(310px, calc(310px + (270 * ((100vw - 769px) / 671))), 580px);
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .sabaniHistory__copy {
    width: 100%;
  }
}

.sabaniHistory__head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: #c69f73;
}

.sabaniHistory__en {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1;
}

.sabaniHistory__ttl {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 44px;
}

@media screen and (max-width: 768px) {
  .sabaniHistory__ttl {
    font-size: 23.5px;
    line-height: 43.2px;
  }
}

.sabaniHistory__body {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (8 * ((100vw - 769px) / 671))), 34px);
  color: #3e3e3e;
}

.sabaniHistory__body p + p {
  margin-top: clamp(26px, calc(26px + (8 * ((100vw - 769px) / 671))), 34px);
}

.sabaniHistory__media {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 23px;
  width: clamp(331px, calc(331px + (289 * ((100vw - 769px) / 671))), 620px);
  flex-shrink: 0;
  margin-top: -5px;
}

@media screen and (max-width: 768px) {
  .sabaniHistory__media {
    align-items: center;
    gap: 12px;
    width: 100%;
  }
}

.sabaniHistory__img {
  width: 100%;
  height: clamp(231px, calc(231px + (201 * ((100vw - 769px) / 671))), 432px);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .sabaniHistory__img {
    height: auto;
    aspect-ratio: 330 / 215;
  }
}

.sabaniHistory__img img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}

.sabaniHistory__cap {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5;
  color: #3e3e3e;
}

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

.sabaniHistory__cap a {
  color: inherit;
  text-decoration: underline;
}

.sabaniDesign {
  padding-top: clamp(70px, calc(70px + (35 * ((100vw - 769px) / 671))), 105px);
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  .sabaniDesign {
    padding-top: 143px;
    padding-bottom: 100px;
  }
}

.sabaniDesign .l-inner {
  position: relative;
  height: clamp(512px, calc(512px + (445 * ((100vw - 769px) / 671))), 957px);
}

@media screen and (max-width: 768px) {
  .sabaniDesign .l-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
    height: auto;
  }
}

.sabaniDesign .c-secTtl__brush {
  background-image: url("../img/top/img-title-bg.png");
}

@media screen and (min-width: 769px) {
  .sabaniDesign__ttl {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.sabaniDesign__lead {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (8 * ((100vw - 769px) / 671))), 34px);
  color: #3e3e3e;
}

@media screen and (min-width: 769px) {
  .sabaniDesign__lead {
    position: absolute;
    top: 0;
    left: clamp(299px, calc(299px + (262 * ((100vw - 769px) / 671))), 561px);
    width: clamp(341px, calc(341px + (298 * ((100vw - 769px) / 671))), 639px);
    font-size: clamp(12px, calc(12px + (4 * ((100vw - 769px) / 671))), 16px);
    line-height: clamp(18px, calc(18px + (16 * ((100vw - 769px) / 671))), 34px);
  }
}

@media screen and (max-width: 768px) {
  .sabaniDesign__lead {
    width: 100%;
  }
}

.sabaniDesign__guides {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

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

.sabaniDesign__line {
  position: absolute;
  max-width: none;
  max-height: none;
}

.sabaniDesign__line.--hagi {
  top: 47.88%;
  left: 19.29%;
  width: 10.59%;
  height: 12.12%;
}

.sabaniDesign__line.--buoyancy {
  top: clamp(319px, calc(319px + (315 * ((100vw - 769px) / 671))), 634px);
  left: clamp(167px, calc(167px + (145 * ((100vw - 769px) / 671))), 312px);
  width: clamp(56px, calc(56px + (39 * ((100vw - 769px) / 671))), 95px);
  height: clamp(36px, calc(36px + (32 * ((100vw - 769px) / 671))), 68px);
}

.sabaniDesign__line.--emission {
  top: 31.28%;
  left: 57.77%;
  width: 14.22%;
  height: 5.9%;
}

.sabaniDesign__line.--bottom {
  top: 67.02%;
  left: 54.85%;
  width: 12.6%;
  height: 5.55%;
}

.sabaniDesign__line.--sugi {
  top: 52.82%;
  left: 67.38%;
  width: 9.48%;
  height: 8.47%;
}

.sabaniDesign__pin {
  position: absolute;
  width: clamp(9px, calc(9px + (7 * ((100vw - 769px) / 671))), 16px);
  height: clamp(9px, calc(9px + (7 * ((100vw - 769px) / 671))), 16px);
  max-width: none;
}

.sabaniDesign__pin.--hagi {
  top: 58.82%;
  left: 28.92%;
}

.sabaniDesign__pin.--buoyancy {
  top: clamp(315px, calc(315px + (312 * ((100vw - 769px) / 671))), 627px);
  left: clamp(219px, calc(219px + (181 * ((100vw - 769px) / 671))), 400px);
}

.sabaniDesign__pin.--emission {
  top: 35.9%;
  left: 57.33%;
}

.sabaniDesign__pin.--bottom {
  top: 66.51%;
  left: 54.33%;
}

.sabaniDesign__pin.--sugi {
  top: 60.1%;
  left: 67%;
}

@media screen and (min-width: 769px) {
  .sabaniDesign__stage {
    position: static;
  }
}

@media screen and (max-width: 768px) {
  .sabaniDesign__stage {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .sabaniDesign__cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }
}

.sabaniDesign__boat {
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .sabaniDesign__boat {
    position: absolute;
    z-index: 0;
    top: clamp(135px, calc(135px + (117 * ((100vw - 769px) / 671))), 252px);
    left: clamp(132px, calc(132px + (115 * ((100vw - 769px) / 671))), 247px);
    width: clamp(387px, calc(387px + (337 * ((100vw - 769px) / 671))), 724px);
    height: clamp(256px, calc(256px + (224 * ((100vw - 769px) / 671))), 480px);
  }
}

@media screen and (max-width: 768px) {
  .sabaniDesign__boat {
    width: calc(100% + 30px);
    margin-left: -15px;
    aspect-ratio: 361 / 239.5;
  }
}

.sabaniDesign__boat img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}

.sabaniDesign__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 21px 17px 18px;
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid #c69f73;
}

.sabaniDesign__card.is-modal {
  appearance: none;
  width: auto;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .sabaniDesign__card.is-modal {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .sabaniDesign__card {
    position: absolute;
    z-index: 2;
    gap: clamp(2px, calc(2px + (6 * ((100vw - 769px) / 671))), 8px);
    padding: clamp(9px, calc(9px + (12 * ((100vw - 769px) / 671))), 21px) clamp(10px, calc(10px + (7 * ((100vw - 769px) / 671))), 17px) clamp(8px, calc(8px + (10 * ((100vw - 769px) / 671))), 18px);
  }
}

@media screen and (max-width: 768px) {
  .sabaniDesign__card {
    position: static;
    gap: 9px;
    width: 100%;
    padding: 14px 14px 12px;
  }
}

@media screen and (min-width: 769px) {
  .sabaniDesign__card.--emission {
    top: clamp(106px, calc(106px + (93 * ((100vw - 769px) / 671))), 199px);
    left: clamp(460px, calc(460px + (401 * ((100vw - 769px) / 671))), 861px);
    width: clamp(181px, calc(181px + (158 * ((100vw - 769px) / 671))), 339px);
  }
}

@media screen and (min-width: 769px) {
  .sabaniDesign__card.--hagi {
    top: clamp(187px, calc(187px + (164 * ((100vw - 769px) / 671))), 351px);
    left: 0;
    width: clamp(155px, calc(155px + (136 * ((100vw - 769px) / 671))), 291px);
  }
}

@media screen and (min-width: 769px) {
  .sabaniDesign__card.--sugi {
    top: clamp(258px, calc(258px + (168 * ((100vw - 769px) / 671))), 426px);
    left: clamp(491px, calc(491px + (428 * ((100vw - 769px) / 671))), 919px);
    width: clamp(165px, calc(165px + (24 * ((100vw - 769px) / 671))), 189px);
  }
}

@media screen and (min-width: 769px) {
  .sabaniDesign__card.--buoyancy {
    top: clamp(350px, calc(350px + (305 * ((100vw - 769px) / 671))), 655px);
    left: 0;
    width: clamp(172px, calc(172px + (151 * ((100vw - 769px) / 671))), 323px);
  }
}

@media screen and (min-width: 769px) {
  .sabaniDesign__card.--bottom {
    top: clamp(365px, calc(365px + (318 * ((100vw - 769px) / 671))), 683px);
    left: clamp(429px, calc(429px + (375 * ((100vw - 769px) / 671))), 804px);
    width: clamp(190px, calc(190px + (165 * ((100vw - 769px) / 671))), 355px);
  }
}

.sabaniDesign__cardHead {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sabaniDesign__plus {
  flex-shrink: 0;
  width: 23px;
  height: 23px;
  max-width: none;
}

@media screen and (max-width: 768px) {
  .sabaniDesign__plus {
    width: 19px;
    height: 19px;
  }
}

.sabaniDesign__cardTtl {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.3;
  color: #c69f73;
}

@media screen and (min-width: 769px) {
  .sabaniDesign__cardTtl {
    font-size: clamp(15px, calc(15px + (5 * ((100vw - 769px) / 671))), 20px);
  }
}

@media screen and (max-width: 768px) {
  .sabaniDesign__cardTtl {
    font-size: 18px;
  }
}

.sabaniDesign__cardTxt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  color: #3e3e3e;
}

@media screen and (min-width: 769px) {
  .sabaniDesign__cardTxt {
    font-size: clamp(13px, calc(13px + (3 * ((100vw - 769px) / 671))), 16px);
    line-height: clamp(20px, calc(20px + (8 * ((100vw - 769px) / 671))), 28px);
  }
}

@media screen and (max-width: 768px) {
  .sabaniDesign__cardTxt {
    font-size: 15px;
    line-height: 26px;
  }
}

.sabaniLinks {
  display: flex;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .sabaniLinks {
    flex-direction: column;
    height: 550px;
    padding-right: 0;
    padding-left: 0;
  }
}

.sabaniLinks__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex: 1;
  min-width: 0;
  height: 540px;
  overflow: hidden;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sabaniLinks__item {
    gap: 20px;
    height: auto;
  }
}

.sabaniLinks__bg {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}

.sabaniLinks__bg img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.sabaniLinks__item:hover .sabaniLinks__bg img {
  transform: scale(1.1);
}

.sabaniLinks__overlay {
  position: absolute;
  inset: 0;
  background: rgba(16, 19, 43, 0.45);
}

.sabaniLinks__en {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .sabaniLinks__en {
    font-size: 32px;
  }
}

.sabaniLinks__ja {
  position: relative;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .sabaniLinks__ja {
    font-size: 20px;
  }
}

.sabaniModal {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  align-items: safe center;
  justify-content: center;
  padding: 100px clamp(30px, calc(30px + (90 * ((100vw - 768px) / 512))), 120px) 40px;
  overflow-x: hidden;
  overflow-y: auto;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0.45s ease;
}

@media screen and (max-width: 768px) {
  .sabaniModal {
    padding: 7dvh 15px 3dvh;
  }
}

.sabaniModal.is-open {
  visibility: visible;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .sabaniModal {
    transition: none;
  }
}

.sabaniModal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 0.45s ease;
}

@media screen and (max-width: 768px) {
  .sabaniModal__overlay {
    background: rgba(255, 255, 255, 0.85);
  }
}

.sabaniModal.is-open .sabaniModal__overlay {
  opacity: 1;
}

.sabaniModal__wrap {
  position: relative;
  z-index: 10000;
  width: 100%;
  max-width: 1200px;
  margin-top: 63px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

@media screen and (max-width: 768px) {
  .sabaniModal__wrap {
    max-width: 360px;
    margin-top: 5dvh;
  }
}

.sabaniModal.is-open .sabaniModal__wrap {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .sabaniModal__overlay,
.sabaniModal__wrap {
    transition: none;
  }
  .sabaniModal__wrap {
    transform: none;
  }
}

.sabaniModal__close {
  position: absolute;
  top: -63px;
  right: 0;
  z-index: 1;
  display: block;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .sabaniModal__close {
    top: -5dvh;
  }
}

.sabaniModal__close img {
  width: 40px;
  height: 40px;
  max-width: none;
}

.sabaniModal__panel {
  width: 100%;
  padding: clamp(40px, calc(40px + (40 * ((100vw - 769px) / 671))), 80px);
  background: #ffffff;
  box-shadow: 0 9px 8px rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 768px) {
  .sabaniModal__panel {
    padding: 4dvh 24px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  }
}

.sabaniModal__item {
  display: none;
  align-items: center;
  gap: clamp(24px, calc(24px + (26 * ((100vw - 769px) / 671))), 50px);
}

@media screen and (max-width: 768px) {
  .sabaniModal__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5dvh;
  }
}

.sabaniModal__item.is-active {
  display: flex;
}

.sabaniModal__img {
  flex-shrink: 0;
  width: clamp(240px, calc(240px + (186 * ((100vw - 769px) / 671))), 426px);
  aspect-ratio: 426 / 273;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .sabaniModal__img {
    width: 100%;
    aspect-ratio: auto;
    height: min(21dvh, 45vw);
  }
}

.sabaniModal__img img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}

.sabaniModal__copy {
  display: flex;
  flex-direction: column;
  gap: 26px;
  flex: 1;
  min-width: 0;
  max-width: 564px;
}

@media screen and (max-width: 768px) {
  .sabaniModal__copy {
    max-width: none;
    width: 100%;
    gap: 2dvh;
  }
}

.sabaniModal__head {
  display: flex;
  flex-direction: column;
  gap: 13px;
  max-width: 480px;
}

@media screen and (max-width: 768px) {
  .sabaniModal__head {
    gap: 8px;
    max-width: none;
    width: 100%;
  }
}

.sabaniModal__ttl {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 36px;
  color: #c69f73;
}

@media screen and (max-width: 768px) {
  .sabaniModal__ttl {
    font-size: 20px;
    line-height: 28px;
  }
}

.sabaniModal__lead {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.5;
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .sabaniModal__lead {
    font-size: 15px;
    line-height: 24px;
  }
}

.sabaniModal__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .sabaniModal__txt {
    font-size: 15px;
    line-height: 26px;
  }
}

.sabaniModal__txt p + p {
  margin-top: 0;
}

.contact .reserve {
  display: none;
}

.contactKv {
  padding: 0;
  height: 400px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .contactKv {
    padding-right: 0;
    padding-left: 0;
    height: 300px;
  }
}

.contactKv__media {
  position: absolute;
  inset: 0;
}

.contactKv__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(46, 81, 109, 0.5);
}

.contactKv__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.contactKv__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}

@media screen and (max-width: 768px) {
  .contactKv__img {
    object-position: center;
  }
}

.contactKv .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  padding-top: 160px;
  padding-right: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
  padding-bottom: 100px;
  padding-left: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
}

@media screen and (max-width: 768px) {
  .contactKv .l-inner {
    padding-top: 140px;
    padding-right: 30px;
    padding-bottom: 100px;
    padding-left: 30px;
  }
}

.contactKv__ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.contactKv__en {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .contactKv__en {
    font-size: 14px;
    line-height: 14px;
  }
}

.contactKv__ja {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .contactKv__ja {
    font-size: 28px;
    line-height: 28px;
  }
}

.contactForm {
  padding-top: 140px;
  padding-bottom: 155px;
}

@media screen and (max-width: 768px) {
  .contactForm {
    padding-top: 100px;
    padding-bottom: 134px;
  }
}

.contactForm .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contactForm__lead {
  max-width: 774px;
  margin-bottom: 80px;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 36px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .contactForm__lead {
    max-width: none;
    margin-bottom: 60px;
    font-size: 18px;
    line-height: 32px;
    text-align: left;
  }
}

.contactForm .wpcf7 {
  width: 100%;
  max-width: 960px;
}

.contactForm__form {
  width: 100%;
}

.contactForm__form > p {
  margin: 0;
}

.contactForm__row {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: -1px;
  padding: 30px 15px 28px;
  border-top: 1px solid #e3dcd4;
  border-bottom: 1px solid #e3dcd4;
}

@media screen and (max-width: 768px) {
  .contactForm__row {
    flex-direction: column;
    gap: 20px;
    padding: 24px 0;
  }
}

.contactForm__row > p {
  margin: 0;
  width: 344px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .contactForm__row > p {
    width: 100%;
  }
}

.contactForm__row.--area > p {
  width: auto;
  flex: 1;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .contactForm__row.--area > p {
    width: 100%;
    flex: none;
  }
}

.contactForm__row .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.contactForm__label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  width: 190px;
  min-height: 54px;
}

@media screen and (max-width: 768px) {
  .contactForm__label {
    gap: 10px;
    width: auto;
    min-height: 0;
  }
}

.contactForm__label > p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .contactForm__label > p {
    justify-content: flex-start;
    gap: 10px;
    width: auto;
  }
}

.contactForm__row.--area .contactForm__label {
  min-height: 28px;
  align-items: flex-start;
}

.contactForm__name {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28px;
}

.contactForm__req {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 6px;
  border: 1px solid #ff5e4f;
  border-radius: 3px;
  color: #ff5e4f;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1;
  white-space: nowrap;
}

.contactForm__input,
.contactForm__textarea {
  display: block;
  width: 344px;
  max-width: 100%;
  padding: 13px 20px;
  border: 1px solid #d7c4af;
  background-color: #fbf9f3;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
  outline: none;
  appearance: none;
  border-radius: 0;
}

@media screen and (max-width: 768px) {
  .contactForm__input,
.contactForm__textarea {
    width: 100%;
    font-size: 15px;
    line-height: 26px;
  }
}

.contactForm__input::placeholder,
.contactForm__textarea::placeholder {
  color: #3e3e3e;
  opacity: 1;
}

.contactForm__textarea {
  width: 100%;
  height: 200px;
  resize: vertical;
}

@media screen and (max-width: 768px) {
  .contactForm__textarea {
    height: 230px;
  }
}

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

.contactForm__foot > p {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  width: 100%;
  margin: 0;
}

.contactForm__agree {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.contactForm__check {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.contactForm__check-box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  padding: 5px;
  border: 1px solid #d1d1d1;
  background-color: #f1f1f1;
}

.contactForm__check-ico {
  display: none;
  width: 19px;
  height: 16px;
  object-fit: contain;
}

.contactForm__check:checked + .contactForm__check-box .contactForm__check-ico,
.contactForm__agree.is-checked .contactForm__check-ico {
  display: block;
}

.contactForm__agree-txt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: normal;
  white-space: nowrap;
}

.contactForm__policy {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.contactForm__submit {
  gap: 24px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.contactForm__submit .c-link__line {
  top: -6px;
}

.contactForm__submit:hover {
  opacity: 0.7;
}

.contactForm__submit.is-disabled, .contactForm__submit:disabled {
  opacity: 0.4;
  pointer-events: none;
}

.contactForm .wpcf7-spinner {
  display: none;
}

.contactForm .wpcf7-not-valid-tip {
  margin-top: 8px;
  color: #ff5e4f;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
}

.contactForm .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 0;
  border: none;
  color: #3e3e3e;
  font-size: 16px;
  line-height: 28px;
  text-align: center;
}

.thanksArea {
  padding-top: 140px;
  padding-bottom: 160px;
}

@media screen and (max-width: 768px) {
  .thanksArea {
    padding-top: 100px;
    padding-bottom: 133px;
  }
}

.thanksArea .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 700px;
}

.thanksArea__btn {
  margin-top: 60px;
}

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

.voicesKv {
  padding: 0;
  height: 400px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .voicesKv {
    padding-right: 0;
    padding-left: 0;
    height: 300px;
  }
}

.voicesKv__media {
  position: absolute;
  inset: 0;
}

.voicesKv__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(46, 81, 109, 0.5);
}

.voicesKv__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.voicesKv__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}

@media screen and (max-width: 768px) {
  .voicesKv__img {
    object-position: center;
  }
}

.voicesKv .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  padding-top: 160px;
  padding-right: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
  padding-bottom: 100px;
  padding-left: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
}

@media screen and (max-width: 768px) {
  .voicesKv .l-inner {
    padding-top: 140px;
    padding-right: 30px;
    padding-bottom: 100px;
    padding-left: 30px;
  }
}

.voicesKv__ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.voicesKv__en {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .voicesKv__en {
    font-size: 14px;
    line-height: 14px;
  }
}

.voicesKv__ja {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .voicesKv__ja {
    font-size: 28px;
    line-height: 28px;
  }
}

.voicesList {
  padding-top: 140px;
  padding-bottom: 140px;
}

@media screen and (max-width: 768px) {
  .voicesList {
    padding-top: 120px;
    padding-bottom: 140px;
  }
}

.voicesList .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}

@media screen and (max-width: 768px) {
  .voicesList .l-inner {
    gap: 60px;
  }
}

.voicesList__empty {
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .voicesList__empty {
    white-space: normal;
  }
}

.voicesList__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 78px 60px;
  width: 100%;
}

@media screen and (max-width: 1000px) {
  .voicesList__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .voicesList__grid {
    grid-template-columns: 1fr;
    gap: 79px;
  }
}

.voicesCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
}

.voicesCard:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .voicesCard {
    gap: 31px;
  }
}

.voicesCard__img-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: #a3a3a3;
}

.voicesCard__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.voicesCard:hover .voicesCard__img {
  transform: scale(1.1);
}

.voicesCard__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
}

.voicesCard__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  color: #7b4e1a;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
}

.voicesCard__course {
  font-size: 20px;
}

.voicesCard__name {
  font-size: 16px;
}

.voicesCard__line {
  width: 26px;
  height: 1px;
  background-color: #7b4e1a;
}

.voicesCard__txt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: calc(28px * 3);
}

@media screen and (max-width: 768px) {
  .voicesCard__txt {
    letter-spacing: -1px;
    line-height: 26.7px;
    min-height: auto;
  }
}

.voicesPager {
  display: flex;
  align-items: center;
  gap: 16px;
}

@media screen and (max-width: 768px) {
  .voicesPager {
    gap: 12px;
  }
}

.voicesPager__num,
.voicesPager__more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 55px;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voicesPager__num,
.voicesPager__more {
    width: 42px;
    height: 42px;
  }
}

.voicesPager__num {
  background-color: #f5f2ea;
}

.voicesPager__num.is-current {
  background-color: #c69f73;
  color: #ffffff;
}

.voicesPager__prev,
.voicesPager__next {
  display: block;
  width: 53px;
  height: 53px;
}

@media screen and (max-width: 768px) {
  .voicesPager__prev,
.voicesPager__next {
    width: 42px;
    height: 42px;
  }
}

.voicesPager__prev-img,
.voicesPager__next-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.voices .c-link__inner {
  padding: 0 17px 0 22px;
}

.voices .c-link__line {
  top: -7px;
}

.voiceArticle {
  padding-top: 140px;
  padding-bottom: 100px;
  padding-right: 0;
  padding-left: 0;
}

@media screen and (max-width: 768px) {
  .voiceArticle {
    padding-top: 120px;
    padding-bottom: 80px;
  }
}

.voiceArticle .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
  margin-top: 100px;
  padding-right: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
  padding-left: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
}

@media screen and (max-width: 768px) {
  .voiceArticle .l-inner {
    gap: 60px;
    margin-top: 60px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

.voiceGallery {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .voiceGallery {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .voiceGallery::-webkit-scrollbar {
    display: none;
  }
}

.voiceGallery__track {
  display: flex;
  align-items: center;
  gap: 40px;
  will-change: transform;
  cursor: grab;
}

.voiceGallery__track.is-dragging {
  cursor: grabbing;
}

@media screen and (max-width: 768px) {
  .voiceGallery__track {
    justify-content: flex-start;
    gap: 15px;
    padding-right: calc(50vw - 165px);
    padding-left: calc(50vw - 165px);
    cursor: auto;
  }
}

.voiceGallery__item {
  flex-shrink: 0;
  width: clamp(460px, calc(460px + (100 * ((100vw - 768px) / 512))), 560px);
  height: clamp(460px, calc(460px + (100 * ((100vw - 768px) / 512))), 560px);
  overflow: hidden;
  user-select: none;
}

@media screen and (max-width: 768px) {
  .voiceGallery__item {
    width: 330px;
    height: 330px;
    scroll-snap-align: center;
  }
}

.voiceGallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

.voiceHead {
  display: flex;
  position: relative;
  z-index: 1;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voiceHead {
    gap: 20px;
  }
}

.voiceHead__deco {
  position: absolute;
  bottom: -99px;
  left: 50%;
  z-index: 0;
  width: 700px;
  height: 321px;
  transform: translateX(-50%);
  object-fit: contain;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .voiceHead__deco {
    bottom: -43px;
    width: 506px;
    height: 207px;
  }
}

.voiceHead__ttl,
.voiceHead__name {
  position: relative;
  z-index: 1;
  color: #7b4e1a;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
}

.voiceHead__ttl {
  font-size: 32px;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .voiceHead__ttl {
    font-size: 24px;
    line-height: 24px;
  }
}

.voiceHead__name {
  font-size: 24px;
  line-height: 24px;
}

@media screen and (max-width: 768px) {
  .voiceHead__name {
    font-size: 20px;
    line-height: 20px;
  }
}

.voiceQa {
  display: flex;
  flex-direction: column;
  gap: 50px;
  width: 100%;
  max-width: 1199px;
}

.voiceQa__item {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  padding: 45px 60px 50px;
  background-color: #f5f2ea;
}

@media screen and (max-width: 768px) {
  .voiceQa__item {
    padding: 30px 15px 35px;
  }
}

.voiceQa__head {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .voiceQa__head {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
}

.voiceQa__ico {
  flex-shrink: 0;
  width: 70px;
  height: 70px;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .voiceQa__ico {
    width: 45px;
    height: 45px;
  }
}

.voiceQa__q {
  color: #3e3e3e;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .voiceQa__q {
    width: 100%;
    font-size: 15px;
    line-height: 26px;
  }
}

.voiceQa__a {
  width: 100%;
  padding-left: 94px;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .voiceQa__a {
    padding-left: 0;
    font-size: 15px;
    line-height: 26px;
  }
}

.voiceQa__a p {
  margin: 0;
}

.voiceQa__a p + p {
  margin-top: 0;
}

.voiceRelated {
  padding-top: 0;
  padding-bottom: 134px;
}

@media screen and (max-width: 768px) {
  .voiceRelated {
    padding-bottom: 132px;
  }
}

.voiceRelated .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding-top: 100px;
  padding-right: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
  padding-left: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
  border-top: 1px solid #cacaca;
}

@media screen and (max-width: 768px) {
  .voiceRelated .l-inner {
    gap: 47px;
    padding-top: 60px;
    padding-right: 0;
    padding-left: 0;
  }
}

.voiceRelated__ttl {
  color: #3e3e3e;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voiceRelated__ttl {
    font-size: 20px;
    line-height: 32px;
  }
}

.voiceRelated__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: flex-start;
  gap: clamp(30px, calc(30px + (29 * ((100vw - 769px) / 671))), 59px);
  width: 100%;
}

@media screen and (max-width: 768px) {
  .voiceRelated__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 15px;
    justify-content: flex-start;
    width: calc(100% + 30px * 2);
    margin-right: calc(30px * -1);
    margin-left: calc(30px * -1);
    padding-right: calc(50vw - 165px);
    padding-left: calc(50vw - 165px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .voiceRelated__list::-webkit-scrollbar {
    display: none;
  }
}

.voiceRelated .voicesCard.--related {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .voiceRelated .voicesCard.--related {
    width: 330px;
    flex-shrink: 0;
    scroll-snap-align: center;
  }
}

.voiceRelated .c-link {
  align-self: center;
  padding-top: 6px;
}

.voicesForm .reserve {
  display: none;
}

.voicesForm .footer-sitemap {
  display: none;
}

.voicesForm .footer-nav {
  padding-top: 160px;
  padding-bottom: 80px;
}

@media screen and (max-width: 768px) {
  .voicesForm .footer-nav {
    padding-top: 120px;
    padding-bottom: 40px;
  }
}

.voicesForm .footer-nav .l-inner {
  gap: 180px;
}

@media screen and (max-width: 768px) {
  .voicesForm .footer-nav .l-inner {
    gap: 80px;
  }
}

.voicesForm .footer-nav__head {
  gap: 0;
}

.voicesFormHeader {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 104px;
  padding: 0 60px;
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .voicesFormHeader {
    height: 69px;
    padding: 0 30px;
  }
}

.voicesFormHeader__logo {
  display: block;
  width: 230px;
  height: 56px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .voicesFormHeader__logo {
    width: 152px;
    height: 37px;
  }
}

.voicesFormHeader__logo a {
  display: block;
  width: 100%;
  height: 100%;
}

.voicesFormHeader__img {
  width: 230px;
  height: 56px;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .voicesFormHeader__img {
    width: 152px;
    height: 37px;
  }
}

.voicesFormKv {
  padding: 0;
  height: 308px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .voicesFormKv {
    padding-right: 0;
    padding-left: 0;
    height: 230px;
  }
}

.voicesFormKv .l-inner {
  align-items: flex-start !important;
}

.voicesFormKv__media {
  position: absolute;
  inset: 0;
}

.voicesFormKv__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(46, 81, 109, 0.5);
}

.voicesFormKv__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.voicesFormKv__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.voicesFormKv .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  padding-right: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
  padding-left: clamp(0px, calc(30px - 30 * ((100vw - 769px) / 671)), 30px);
}

@media screen and (max-width: 768px) {
  .voicesFormKv .l-inner {
    padding-right: 30px;
    padding-left: 30px;
  }
}

.voicesFormKv__ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.voicesFormKv__en {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .voicesFormKv__en {
    font-size: 14px;
    line-height: 14px;
  }
}

.voicesFormKv__ja {
  color: #ffffff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 32px;
}

@media screen and (max-width: 768px) {
  .voicesFormKv__ja {
    font-size: 28px;
    line-height: 36px;
  }
}

.voicesFormIntro {
  padding-top: 120px;
  padding-bottom: 240px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .voicesFormIntro {
    padding-top: 100px;
    padding-bottom: 200px;
  }
}

.voicesFormIntro__bg {
  position: absolute;
  inset: 0;
}

.voicesFormIntro__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #fff 3.46%, rgba(255, 255, 255, 0.9) 73.26%, rgba(255, 255, 255, 0.49) 100%);
}

.voicesFormIntro__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.voicesFormIntro__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
}

@media screen and (max-width: 768px) {
  .voicesFormIntro__img {
    object-position: 80% 70%;
  }
}

.voicesFormIntro .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

.voicesFormIntro__ttl {
  color: #c69f73;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 36px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voicesFormIntro__ttl {
    width: 100%;
    text-align: left;
  }
}

.voicesFormIntro__txt {
  max-width: 774px;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 34px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voicesFormIntro__txt {
    max-width: none;
    font-size: 15px;
    line-height: 31px;
    text-align: left;
  }
}

.voicesFormIntro__link {
  color: #c69f73;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.voicesFormBody {
  padding-top: 140px;
  padding-bottom: 140px;
  overflow: hidden;
  background-color: #f5f0df;
}

@media screen and (max-width: 768px) {
  .voicesFormBody {
    padding-top: 100px;
    padding-bottom: 140px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

.voicesFormBody__bg {
  position: absolute;
  inset: 0;
  background: url("../img/voices-form/texture.jpg") center/cover no-repeat;
  opacity: 0.2;
  pointer-events: none;
}

.voicesFormBody .l-inner {
  position: relative;
  z-index: 1;
}

.voicesFormCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
  padding: 140px 60px 113px;
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .voicesFormCard {
    gap: 64px;
    padding: 80px 15px 100px;
  }
}

.voicesFormCard__ttl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c69f73;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 32px;
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .voicesFormCard__ttl {
    font-size: 24px;
  }
}

.voicesFormCard__deco {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 391px;
  height: 117px;
  transform: translate(-50%, calc(-50% - 10px));
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .voicesFormCard__deco {
    width: 227px;
    height: 67px;
    transform: translate(-50%, calc(-50% - 4px));
  }
}

.voicesFormCard__ttl span {
  position: relative;
  z-index: 1;
}

.voicesForm__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  width: 100%;
}

.voicesForm__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.voicesForm__error {
  width: 100%;
  margin: 0;
  color: #ff5e4f;
  font-size: 16px;
  line-height: 28px;
  text-align: center;
}

.voicesForm__fields {
  width: 100%;
}

.voicesForm__row {
  display: flex;
  flex-direction: column;
  gap: 25px;
  padding: 40px 0 38px;
  border-top: 1px solid #e3dcd4;
  border-bottom: 1px solid #e3dcd4;
  margin-bottom: -1px;
}

@media screen and (max-width: 768px) {
  .voicesForm__row {
    gap: 27px;
    padding-bottom: 38px;
  }
}

.voicesForm__row:first-child {
  padding-top: 0;
  border-top: none;
}

.voicesForm__row.--last {
  padding-bottom: 0;
  border-bottom: none;
  margin-bottom: 0;
}

.voicesForm__head {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.voicesForm__label {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  .voicesForm__label {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

.voicesForm__name {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28px;
}

.voicesForm__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 5px 6px 5px;
  border: 1px solid #ff5e4f;
  border-radius: 3px;
  color: #ff5e4f;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1;
  white-space: nowrap;
}

.voicesForm__badge.--opt {
  border-color: #666b7e;
  color: #666b7e;
}

.voicesForm__help {
  margin: 0;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .voicesForm__help {
    font-size: 15px;
    line-height: 26px;
  }
}

.voicesForm__input,
.voicesForm__textarea {
  display: block;
  width: 520px;
  max-width: 100%;
  padding: 14px 20px;
  border: 1px solid #d7c4af;
  background-color: #fbf9f3;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
  outline: none;
  appearance: none;
  border-radius: 0;
}

@media screen and (max-width: 768px) {
  .voicesForm__input,
.voicesForm__textarea {
    width: 100%;
    font-size: 15px;
    line-height: 26px;
  }
}

.voicesForm__input::placeholder,
.voicesForm__textarea::placeholder {
  color: #a3a3a3;
  opacity: 1;
}

.voicesForm__textarea {
  width: 100%;
  height: 200px;
  resize: vertical;
}

.voicesForm__select {
  background-image: url("../img/common/ico-arrow-black.svg");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 14px 5px;
  padding-right: 44px;
  cursor: pointer;
}

.voicesForm__choices {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.voicesForm__own {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.voicesForm__choice {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #3e3e3e;
  font-size: 16px;
  font-weight: 300;
  line-height: normal;
  cursor: pointer;
}

.voicesForm__choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.voicesForm__radio {
  display: block;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border: 1px solid #d1d1d1;
  border-radius: 50%;
  background-color: #f1f1f1;
}

.voicesForm__choice input:checked + .voicesForm__radio {
  border: none;
  background: url("../img/voices-form/ico-radio.svg") center/contain no-repeat;
}

.voicesForm__upload {
  padding-left: 36px;
}

.voicesForm__upload.is-disabled {
  opacity: 0.2;
  pointer-events: none;
}

.voicesForm__uploadBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 18px;
  background-color: #e4562b;
  color: #ffffff;
  font-size: 16px;
  font-weight: 300;
  line-height: normal;
  cursor: pointer;
}

.voicesForm__uploadIco {
  width: 14px;
  height: 16px;
  object-fit: contain;
}

.voicesForm__file {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.voicesForm__files {
  margin: 8px 0 0;
  color: #3e3e3e;
  font-size: 14px;
  line-height: 1.5;
}

.voicesForm__foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  width: 100%;
}

.voicesForm__note {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}

.voicesForm__note p {
  margin: 0;
  color: #3e3e3e;
  font-size: 16px;
  font-weight: 300;
  line-height: 28px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voicesForm__note p {
    font-size: 15px;
    line-height: 26px;
    text-align: left;
  }
}

.voicesForm__agree {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.voicesForm__check {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.voicesForm__check-box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  padding: 5px;
  border: 1px solid #d1d1d1;
  background-color: #f1f1f1;
}

.voicesForm__check-ico {
  display: none;
  width: 19px;
  height: 16px;
  object-fit: contain;
}

.voicesForm__check:checked + .voicesForm__check-box .voicesForm__check-ico,
.voicesForm__agree.is-checked .voicesForm__check-ico {
  display: block;
}

.voicesForm__agree-txt {
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: normal;
  white-space: nowrap;
}

.voicesForm__policy {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.voicesForm__submit {
  gap: 24px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.voicesForm__submit .c-link__line {
  top: -6px;
}

.voicesForm__submit:hover {
  opacity: 0.7;
}

.voicesForm__submit.is-disabled, .voicesForm__submit:disabled {
  opacity: 0.4;
  pointer-events: none;
}

.voicesThanks {
  overflow: hidden;
}

.voicesThanks.l-section {
  padding-top: 120px;
  padding-bottom: 240px;
}

@media screen and (max-width: 768px) {
  .voicesThanks.l-section {
    padding-top: 100px;
  }
}

.voicesThanks__bg {
  position: absolute;
  inset: 0;
}

.voicesThanks__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #fff 3.46%, rgba(255, 255, 255, 0.9) 73.26%, rgba(255, 255, 255, 0.49) 100%);
}

.voicesThanks__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.voicesThanks__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 100%;
}

.voicesThanks .l-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
}

.voicesThanks__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  width: 100%;
}

.voicesThanks__ttl {
  color: #c69f73;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 36px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voicesThanks__ttl {
    width: 100%;
    line-height: 36px;
    text-align: left;
  }
}

.voicesThanks__txt {
  max-width: 774px;
  color: #3e3e3e;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 34px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .voicesThanks__txt {
    max-width: none;
    font-size: 15px;
    line-height: 31px;
    text-align: left;
  }
}

.voicesThanks__photo {
  position: relative;
  width: 920px;
  max-width: 100%;
  height: 420px;
}

@media screen and (max-width: 768px) {
  .voicesThanks__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 330 / 223;
  }
}

.voicesThanks__photo picture {
  display: block;
  width: 100%;
  height: 100%;
}

.voicesThanks__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.p-tourPoint .c-secTtl__brush,
.p-tourOption .c-secTtl__brush,
.p-tourSchedule .c-secTtl__brush,
.p-tourMoon .c-secTtl__brush,
.p-topVoices.--lower .c-secTtl__brush,
.p-tourAbout .c-secTtl__brush {
  background-color: rgba(198, 159, 115, 0.18);
  border-radius: 50%;
}

.p-trialTour .p-tourPoint .c-secTtl__brush,
.p-trialTour .p-tourOption .c-secTtl__brush,
.p-trialTour .p-tourSchedule .c-secTtl__brush,
.p-trialTour .p-topVoices.--lower .c-secTtl__brush,
.p-trialTour .p-tourAbout .c-secTtl__brush,
.p-trialTour .p-tourMoon .c-secTtl__brush,
.p-morningTour .p-tourPoint .c-secTtl__brush,
.p-morningTour .p-tourOption .c-secTtl__brush,
.p-morningTour .p-tourSchedule .c-secTtl__brush,
.p-morningTour .p-topVoices.--lower .c-secTtl__brush,
.p-morningTour .p-tourAbout .c-secTtl__brush,
.p-morningTour .p-tourMoon .c-secTtl__brush,
.p-nightTour .p-tourPoint .c-secTtl__brush,
.p-nightTour .p-tourOption .c-secTtl__brush,
.p-nightTour .p-tourSchedule .c-secTtl__brush,
.p-nightTour .p-topVoices.--lower .c-secTtl__brush,
.p-nightTour .p-tourAbout .c-secTtl__brush,
.p-nightTour .p-tourMoon .c-secTtl__brush,
.p-sunsetTour .p-tourPoint .c-secTtl__brush,
.p-sunsetTour .p-tourOption .c-secTtl__brush,
.p-sunsetTour .p-tourSchedule .c-secTtl__brush,
.p-sunsetTour .p-topVoices.--lower .c-secTtl__brush,
.p-sunsetTour .p-tourAbout .c-secTtl__brush,
.p-sunsetTour .p-tourMoon .c-secTtl__brush,
.p-bridalTour .p-tourPoint .c-secTtl__brush,
.p-bridalTour .p-tourOption .c-secTtl__brush,
.p-bridalTour .p-tourSchedule .c-secTtl__brush,
.p-bridalTour .p-topVoices.--lower .c-secTtl__brush,
.p-bridalTour .p-tourAbout .c-secTtl__brush,
.p-bridalTour .p-tourMoon .c-secTtl__brush {
  background-color: transparent;
  border-radius: 0;
}

.p-trialTour .p-tourPoint .c-secTtl__brush {
  background-image: url("../img/tour/bg-ttl-point.png");
}

.p-morningTour .p-tourPoint .c-secTtl__brush {
  background-image: url("../img/morning-tour/bg-ttl-point.png");
}

.p-nightTour .p-tourPoint .c-secTtl__brush {
  background-image: url("../img/night-tour/bg-ttl-point.png");
}

.p-sunsetTour .p-tourPoint .c-secTtl__brush {
  background-image: url("../img/sunset-tour/bg-ttl-point.png");
}

.p-bridalTour .p-tourPoint .c-secTtl__brush {
  background-image: url("../img/bridal-tour/bg-ttl-point.png");
}

.p-trialTour .p-tourOption .c-secTtl__brush {
  background-image: url("../img/tour/bg-ttl-option.png");
}

.p-morningTour .p-tourOption .c-secTtl__brush {
  background-image: url("../img/morning-tour/bg-ttl-option.png");
}

.p-nightTour .p-tourOption .c-secTtl__brush {
  background-image: url("../img/night-tour/bg-ttl-option.png");
}

.p-sunsetTour .p-tourOption .c-secTtl__brush {
  background-image: url("../img/sunset-tour/bg-ttl-option.png");
}

.p-bridalTour .p-tourOption .c-secTtl__brush {
  background-image: url("../img/bridal-tour/bg-ttl-option.png");
}

.p-trialTour .p-tourSchedule .c-secTtl__brush {
  background-image: url("../img/tour/bg-ttl-schedule.png");
}

.p-morningTour .p-tourSchedule .c-secTtl__brush {
  background-image: url("../img/morning-tour/bg-ttl-schedule.png");
}

.p-nightTour .p-tourSchedule .c-secTtl__brush {
  background-image: url("../img/night-tour/bg-ttl-schedule.png");
}

.p-sunsetTour .p-tourSchedule .c-secTtl__brush {
  background-image: url("../img/sunset-tour/bg-ttl-schedule.png");
}

.p-bridalTour .p-tourSchedule .c-secTtl__brush {
  background-image: url("../img/bridal-tour/bg-ttl-schedule.png");
}

.p-trialTour .p-topVoices.--lower .c-secTtl__brush {
  background-image: url("../img/tour/bg-ttl-voices.png");
}

.p-morningTour .p-topVoices.--lower .c-secTtl__brush {
  background-image: url("../img/morning-tour/bg-ttl-voices.png");
}

.p-nightTour .p-topVoices.--lower .c-secTtl__brush {
  background-image: url("../img/night-tour/bg-ttl-voices.png");
}

.p-sunsetTour .p-topVoices.--lower .c-secTtl__brush {
  background-image: url("../img/sunset-tour/bg-ttl-voices.png");
}

.p-trialTour .p-tourAbout .c-secTtl__brush {
  background-image: url("../img/tour/bg-ttl-about.png");
}

.p-morningTour .p-tourAbout .c-secTtl__brush {
  background-image: url("../img/morning-tour/bg-ttl-about.png");
}

.p-nightTour .p-tourAbout .c-secTtl__brush {
  background-image: url("../img/night-tour/bg-ttl-about.png");
}

.p-sunsetTour .p-tourAbout .c-secTtl__brush {
  background-image: url("../img/sunset-tour/bg-ttl-about.png");
}

.p-bridalTour .p-tourAbout .c-secTtl__brush {
  background-image: url("../img/bridal-tour/bg-ttl-about.png");
}

.p-nightTour .p-tourMoon .c-secTtl__brush {
  background-image: url("../img/night-tour/bg-ttl-moon.png");
}

.p-topVoices.--lower {
  gap: 80px;
  padding: clamp(120px, calc(120px + (20 * ((100vw - 769px) / 671))), 140px) 0 clamp(120px, calc(120px + (38 * ((100vw - 769px) / 671))), 158px);
}

.p-topVoices.--lower .p-topVoices__footer {
  padding: 0 clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px);
}

.p-tourIntro,
.p-tourPoint,
.p-tourOption,
.p-tourSchedule,
.p-topVoices.--lower,
.p-tourAbout {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.p-tourIntro::after,
.p-tourPoint::after,
.p-tourOption::after,
.p-tourSchedule::after,
.p-topVoices.--lower::after,
.p-tourAbout::after {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  width: 100vw;
  height: 18px;
  margin-left: -50vw;
  background-color: inherit;
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/common/line-jagged--double.svg");
  mask-size: max(1200px, 100%) 18px;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/common/line-jagged--double.svg");
  -webkit-mask-size: max(1200px, 100%) 18px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.p-topVoices.--lower {
  overflow-x: clip;
  overflow-y: visible;
}

.p-tourSchedule {
  z-index: 2;
}

.p-tourSchedule::before {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  width: 100vw;
  height: 18px;
  margin-left: -50vw;
  background-color: inherit;
  pointer-events: none;
  z-index: 2;
  mask-image: url("../img/common/line-jagged--double.svg");
  mask-size: max(1200px, 100%) 18px;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("../img/common/line-jagged--double.svg");
  -webkit-mask-size: max(1200px, 100%) 18px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.p-tourKv {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: clamp(500px, calc(500px + (110 * ((100vw - 769px) / 671))), 610px);
  padding: clamp(80px, calc(80px + (40 * ((100vw - 769px) / 671))), 120px) clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px) clamp(80px, calc(80px + (20 * ((100vw - 769px) / 671))), 100px);
  gap: clamp(18px, calc(18px + (6 * ((100vw - 769px) / 671))), 24px);
  overflow: hidden;
}

.p-tourKv__bg {
  position: absolute;
  inset: 0;
  display: block;
}

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

.p-tourKv__overlay {
  position: absolute;
  inset: 0;
  background: rgba(46, 81, 109, 0.5);
  pointer-events: none;
}

.p-tourKv__en {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(14px, calc(14px + (2 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(14px, calc(14px + (2 * ((100vw - 769px) / 671))), 16px);
  color: #ffffff;
  white-space: nowrap;
}

.p-tourKv__ja {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(28px, calc(28px + (12 * ((100vw - 769px) / 671))), 40px);
  line-height: clamp(28px, calc(28px + (12 * ((100vw - 769px) / 671))), 40px);
  color: #ffffff;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .p-tourKv__ja.--long {
    white-space: normal;
  }
}

.p-tourKv__sub {
  font-size: clamp(22px, calc(22px + (10 * ((100vw - 769px) / 671))), 32px);
  line-height: inherit;
}

.p-tourIntro {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: clamp(100px, calc(100px + (20 * ((100vw - 769px) / 671))), 120px) clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px);
  background: #ffffff;
}

@media screen and (max-width: 768px) {
  .p-tourIntro {
    flex-direction: column;
    gap: 80px;
    padding: 100px 30px 120px;
  }
}

.p-tourIntro__wave {
  position: absolute;
  right: 0;
  bottom: 0;
  width: clamp(477px, calc(477px + (154 * ((100vw - 769px) / 671))), 631px);
  height: clamp(341px, calc(341px + (110 * ((100vw - 769px) / 671))), 451px);
  background: rgba(198, 159, 115, 0.12);
  pointer-events: none;
}

.p-trialTour .p-tourIntro__wave {
  background: url("../img/tour/bg-intro-wave.png") no-repeat center/contain;
}

.p-morningTour .p-tourIntro__wave {
  background: url("../img/morning-tour/bg-intro-wave.png") no-repeat center/contain;
}

.p-nightTour .p-tourIntro__wave {
  background: url("../img/night-tour/bg-intro-wave.png") no-repeat center/contain;
}

.p-sunsetTour .p-tourIntro__wave {
  background: url("../img/sunset-tour/bg-intro-wave.png") no-repeat center/contain;
}

.p-bridalTour .p-tourIntro__wave {
  background: url("../img/bridal-tour/bg-intro-wave.png") no-repeat center/contain;
}

.p-tourIntro__images {
  position: relative;
  z-index: 1;
  flex: none;
  width: clamp(246px, calc(246px + (214 * ((100vw - 769px) / 671))), 460px);
  max-width: 460px;
  height: auto;
  aspect-ratio: 1;
  margin-right: clamp(20px, calc(20px + (68 * ((100vw - 769px) / 671))), 88px);
}

@media screen and (max-width: 768px) {
  .p-tourIntro__images {
    order: 2;
    width: 100%;
    max-width: none;
    margin-right: 0;
    aspect-ratio: 330 / 330;
  }
}

.p-tourIntro__imgMain {
  position: absolute;
  top: 0;
  left: 0;
  width: 91.3%;
  aspect-ratio: 1;
  overflow: hidden;
}

.p-tourIntro__imgSub {
  position: absolute;
  top: 59.8%;
  left: 67.4%;
  width: 32.6%;
  aspect-ratio: 150 / 185;
  overflow: hidden;
}

.p-tourIntro__imgMain img,
.p-tourIntro__imgSub img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-tourIntro__body {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 1 1 auto;
  width: clamp(300px, -103.4098360656px + 52.4590163934vw, 652px);
  max-width: 652px;
}

@media screen and (max-width: 768px) {
  .p-tourIntro__body {
    order: 1;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 100%;
    max-width: none;
    padding-right: 0;
  }
}

.p-tourIntro__catch {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  flex-shrink: 0;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 24px;
  color: #3e3e3e;
  text-align: center;
  padding-right: clamp(0px, calc(0px + (62 * ((100vw - 769px) / 671))), 62px);
}

@media screen and (max-width: 768px) {
  .p-tourIntro__catch {
    order: -1;
    gap: 28px;
  }
}

.p-tourIntro__catchItem {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  width: 28px;
}

@media screen and (max-width: 768px) {
  .p-tourIntro__catchItem {
    width: 24px;
  }
}

.p-tourIntro__catchNum {
  text-orientation: upright;
}

.p-tourIntro__txt {
  width: clamp(220px, calc(220px + (180 * ((100vw - 769px) / 671))), 400px);
  max-width: 400px;
  padding-top: 60px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 30px;
  color: #3e3e3e;
  margin-right: clamp(20px, calc(20px + (38 * ((100vw - 769px) / 671))), 58px);
}

@media screen and (max-width: 768px) {
  .p-tourIntro__txt {
    width: 100%;
    max-width: none;
    margin-right: auto;
    padding-top: 0;
    font-size: 15px;
    line-height: 26px;
  }
}

.p-tourIntro__txt p + p {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .p-tourIntro__txt p + p {
    margin-top: 26px;
  }
}

.p-tourPoint {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(80px, calc(80px + (0 * ((100vw - 769px) / 671))), 80px);
  padding: clamp(120px, calc(120px + (20 * ((100vw - 769px) / 671))), 140px) clamp(15px, calc(15px + (105 * ((100vw - 769px) / 671))), 120px);
  background: #f8f8f8;
}

.p-tourPoint__list {
  display: flex;
  flex-direction: column;
  gap: clamp(60px, calc(60px + (20 * ((100vw - 769px) / 671))), 80px);
  width: 100%;
}

.p-tourPoint__item {
  display: flex;
  align-items: center;
  gap: 80px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-tourPoint__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
}

.p-tourPoint__item.--reverse {
  gap: 56px;
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .p-tourPoint__item.--reverse {
    flex-direction: column;
    gap: 30px;
  }
}

.p-tourPoint__img {
  flex: none;
  width: 56.7%;
  max-width: 680px;
  height: auto;
  aspect-ratio: 680 / 400;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-tourPoint__img {
    width: 100%;
    max-width: none;
  }
}

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

.p-tourPoint__content {
  display: flex;
  flex-direction: column;
  gap: 27px;
  flex: 1;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .p-tourPoint__content {
    gap: 20px;
    padding: 0 15px;
    width: 100%;
  }
}

.p-tourPoint__ttl {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: clamp(20px, calc(20px + (4 * ((100vw - 769px) / 671))), 24px);
  line-height: clamp(38px, calc(38px + (6 * ((100vw - 769px) / 671))), 44px);
  color: #c69f73;
}

.p-tourPoint__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (2 * ((100vw - 769px) / 671))), 28px);
  color: #3e3e3e;
}

.p-tourPoint__txt p + p {
  margin-top: 0;
}

.p-tourOption {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(60px, calc(60px + (20 * ((100vw - 769px) / 671))), 80px);
  padding: clamp(120px, calc(120px + (10 * ((100vw - 769px) / 671))), 130px) clamp(15px, calc(15px + (105 * ((100vw - 769px) / 671))), 120px);
  background: #efeedf;
}

.p-tourOption__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(40px, calc(40px + (40 * ((100vw - 769px) / 671))), 80px);
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-tourOption__head {
    flex-direction: column;
    align-items: center;
    gap: 80px;
    padding: 0 15px;
  }
}

.p-tourOption__lead {
  flex: 1;
  min-width: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  color: #3e3e3e;
  position: relative;
  padding-left: clamp(40px, calc(40px + (196 * ((100vw - 769px) / 671))), 236px);
}

@media screen and (max-width: 768px) {
  .p-tourOption__lead {
    padding-left: 0;
  }
}

.p-tourOption__list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(15px, calc(15px + (38 * ((100vw - 769px) / 671))), 53px);
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-tourOption__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 15px;
  }
}

.p-tourOption__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  flex: 1 1 0;
  width: clamp(160px, calc(160px + (100 * ((100vw - 769px) / 671))), 260px);
  max-width: 260px;
}

@media screen and (max-width: 768px) {
  .p-tourOption__item {
    width: 100%;
    max-width: none;
    gap: 12px;
  }
}

.p-tourOption__img {
  width: 100%;
  height: auto;
}

.p-tourOption__img img {
  display: block;
  width: 100%;
  height: auto;
}

.p-tourOption__name {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 16px;
  color: #3e3e3e;
  white-space: nowrap;
  text-align: center;
}

.p-tourOption__name.--stack {
  white-space: normal;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .p-tourOption__name.--long {
    white-space: normal;
    line-height: 1.4;
  }
}

.p-tourOption__nameSub {
  display: block;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 2px;
}

.p-tourOption__badge {
  position: absolute;
  top: 15px;
  left: -8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.p-tourOption__badgeTxt {
  background: #3e3e3e;
  color: #ffffff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(12px, calc(12px + (2 * ((100vw - 769px) / 671))), 14px);
  line-height: 1;
  padding: 9px 10px 8px;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .p-tourOption__badgeTxt {
    font-size: 12px;
    padding: 7px 8px 6px 8px;
  }
}

.p-tourOption__badge::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-right: 0px solid #181818;
  border-left: 8px solid transparent;
  border-top: 8px solid #181818;
}

.p-tourSchedule {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(80px, calc(80px + (0 * ((100vw - 769px) / 671))), 80px);
  padding: clamp(120px, calc(120px + (24 * ((100vw - 769px) / 671))), 144px) clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px) clamp(120px, calc(120px + (20 * ((100vw - 769px) / 671))), 140px);
  background: #f8f8f8;
}

.p-tourSchedule__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, calc(20px + (20 * ((100vw - 769px) / 671))), 40px);
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-tourSchedule__list {
    gap: 47px;
  }
}

.p-tourSchedule__item {
  display: flex;
  align-items: center;
  gap: 40px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-tourSchedule__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}

.p-tourSchedule__img {
  flex: 0 0 240px;
  width: 240px;
  height: auto;
  aspect-ratio: 240 / 220;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-tourSchedule__img {
    width: 100%;
    flex: none;
  }
}

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

.p-tourSchedule__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .p-tourSchedule__content {
    flex: auto;
    width: 100%;
  }
}

.p-tourSchedule__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  width: 100%;
  padding-bottom: 16px;
  border-bottom: 1px solid #c69f73;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  color: #c69f73;
}

.p-tourSchedule__head.--season {
  gap: 10px;
}

.p-tourSchedule__seasons {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px;
}

.p-tourSchedule__season {
  display: flex;
  align-items: center;
  gap: 5px;
}

.p-tourSchedule__seasonLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 5px;
  border: 1px solid #c69f73;
  font-size: 14px;
  line-height: 1;
  color: #c69f73;
}

.p-tourSchedule__time {
  font-size: 16px;
  line-height: 24px;
}

.p-tourSchedule__ttl {
  font-size: 20px;
  line-height: 30px;
}

.p-tourSchedule__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (2 * ((100vw - 769px) / 671))), 28px);
  color: #3e3e3e;
}

.p-tourMoon {
  --p-tourMoon-pad-x: clamp(15px, calc(15px + (105 * ((100vw - 769px) / 671))), 120px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(60px, calc(60px + (20 * ((100vw - 769px) / 671))), 80px);
  padding: clamp(120px, calc(120px + (20 * ((100vw - 769px) / 671))), 140px) 0;
  background: #ffffff;
  min-width: 0;
  overflow: visible;
}

@media screen and (max-width: 768px) {
  .p-tourMoon {
    --p-tourMoon-pad-x: 0px;
    padding-left: 0;
    padding-right: 0;
  }
}

.p-tourMoon .c-secTtl {
  padding-left: var(--p-tourMoon-pad-x);
  padding-right: var(--p-tourMoon-pad-x);
}

@media screen and (max-width: 768px) {
  .p-tourMoon .c-secTtl.--sm .c-secTtl__en {
    font-size: 28px;
    line-height: 28px;
  }
}

.p-tourMoon .c-secTtl.--sm .c-secTtl__brush {
  width: 534px;
}

@media screen and (max-width: 768px) {
  .p-tourMoon .c-secTtl.--sm .c-secTtl__brush {
    width: 280px;
    height: 67px;
  }
}

.p-tourMoon__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(48px, calc(48px + (68 * ((100vw - 769px) / 671))), 116px);
  width: 100%;
  min-width: 0;
  overflow: visible;
}

.p-tourMoon__lead {
  padding-left: var(--p-tourMoon-pad-x);
  padding-right: var(--p-tourMoon-pad-x);
  max-width: calc(783px + var(--p-tourMoon-pad-x) * 2);
  margin-left: auto;
  margin-right: auto;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (2 * ((100vw - 769px) / 671))), 28px);
  color: #3e3e3e;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__lead {
    text-align: left;
    padding: 0 15px;
    margin-left: 0;
    margin-right: 0;
  }
}

.p-tourMoon__tables {
  display: flex;
  align-items: flex-start;
  gap: 50px;
  width: 100%;
  max-width: calc(1200px + var(--p-tourMoon-pad-x) * 2);
  margin-left: auto;
  margin-right: auto;
  overflow-x: auto;
  padding-left: var(--p-tourMoon-pad-x);
  padding-right: var(--p-tourMoon-pad-x);
  padding-bottom: 12px;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #c69f73 #fffaf3;
}

.p-tourMoon__tables::-webkit-scrollbar {
  height: 10px;
}

.p-tourMoon__tables::-webkit-scrollbar-track {
  background: #fffaf3;
}

.p-tourMoon__tables::-webkit-scrollbar-thumb {
  background: #c69f73;
  border-radius: 5px;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__tables {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    margin-right: 0;
    overflow-x: visible;
    padding-bottom: 0;
  }
}

.p-tourMoon__table {
  flex: 1;
  min-width: 470px;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__table {
    width: 100%;
    min-width: 0;
  }
}

.p-tourMoon__month {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  border-bottom: 1px solid #e5dfd7;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__month {
    flex-wrap: nowrap;
  }
}

.p-tourMoon__monthName {
  display: flex;
  align-items: center;
  flex: 0 0 130px;
  padding: 0 8px 0 20px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 28px;
  color: #c69f73;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__monthName {
    flex: 0 0 105px;
    padding: 0 8px 0 15px;
    font-size: 13px;
    line-height: 22px;
  }
}

.p-tourMoon__rows {
  flex: 1 1 340px;
  min-width: min(340px, 100%);
}

@media screen and (max-width: 768px) {
  .p-tourMoon__rows {
    flex: 1 1 auto;
    min-width: 0;
  }
}

.p-tourMoon__row {
  display: grid;
  grid-template-columns: 95px 95px minmax(0, 1fr);
  align-items: center;
  height: 55px;
  border-bottom: 1px solid #e5dfd7;
}

.p-tourMoon__row:last-child {
  border-bottom: none;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__row {
    grid-template-columns: 2.5em minmax(0, 1fr) auto;
    height: auto;
    min-height: 48px;
    padding: 6px 15px 6px 0;
    gap: 4px;
  }
}

.p-tourMoon__day {
  padding-left: 17px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 28px;
  color: #c69f73;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__day {
    padding-left: 0;
    font-size: 14px;
  }
}

.p-tourMoon__phase {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__phase {
    font-size: 13px;
  }
}

.p-tourMoon__moon {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  flex-shrink: 0;
}

.p-tourMoon__phase.--full .p-tourMoon__moon {
  background: #f0c93d;
}

.p-tourMoon__phase.--new .p-tourMoon__moon {
  background: #1a2744;
}

.p-tourMoon__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 150px;
  height: 35px;
  margin-left: auto;
  padding: 10px 20px;
  background: #c37e2e;
  color: #ffffff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 14px;
  white-space: nowrap;
  transition: opacity 0.3s;
}

.p-tourMoon__btn:hover {
  opacity: 0.85;
}

.p-tourMoon__btn.--off {
  background: #bdbaa9;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-tourMoon__btn {
    width: 110px;
    height: 32px;
    padding: 8px 10px;
    font-size: 12px;
  }
}

.p-tourMoon__btnIcon {
  display: block;
  width: 13px;
  height: 15px;
  flex-shrink: 0;
  background: #ffffff;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 27' fill='none'%3E%3Crect x='1' y='4' width='23' height='21' rx='2' stroke='black' stroke-width='2'/%3E%3Cpath d='M1 10h23M8 1v6M17 1v6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 27' fill='none'%3E%3Crect x='1' y='4' width='23' height='21' rx='2' stroke='black' stroke-width='2'/%3E%3Cpath d='M1 10h23M8 1v6M17 1v6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.p-tourAbout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(80px, calc(80px + (20 * ((100vw - 769px) / 671))), 100px);
  padding: clamp(110px, calc(110px + (21 * ((100vw - 769px) / 671))), 131px) 0 clamp(140px, calc(140px + (20 * ((100vw - 769px) / 671))), 160px);
  background: #ffffff;
}

@media screen and (max-width: 768px) {
  .p-tourAbout {
    padding: 109px 30px 140px;
  }
}

.p-tourAbout__body {
  padding-right: clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px);
  display: flex;
  align-items: flex-start;
  gap: clamp(24px, calc(24px + (36 * ((100vw - 769px) / 671))), 60px);
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__body {
    padding-right: 0;
    flex-direction: column;
    gap: 48px;
  }
}

.p-tourAbout__img {
  position: sticky;
  top: 0;
  flex: none;
  width: clamp(295px, calc(295px + (257 * ((100vw - 769px) / 671))), 552px);
  max-width: 552px;
  height: auto;
  aspect-ratio: 552 / 974;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__img {
    position: static;
    width: 100%;
    max-width: none;
    aspect-ratio: 360 / 330;
  }
}

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

.p-tourAbout__info {
  display: flex;
  flex-direction: column;
  gap: 36px;
  flex: 1;
  min-width: 0;
  padding-top: 24px;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__info {
    padding-top: 0;
    width: 100%;
  }
}

.p-tourAbout__overview {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.p-tourAbout__name {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(24px, calc(24px + (4 * ((100vw - 769px) / 671))), 28px);
  line-height: 48px;
  color: #3e3e3e;
}

.p-tourAbout__sub {
  font-size: clamp(20px, calc(20px + (4 * ((100vw - 769px) / 671))), 24px);
  line-height: inherit;
}

.p-tourAbout__price {
  display: flex;
  align-items: center;
  gap: 12px;
}

.p-tourAbout__priceLabel {
  background: #f4f3d9;
  border-radius: 5px;
  padding: 3px 9px 2px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #3e3e3e;
}

.p-tourAbout__priceVal {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #3e3e3e;
  letter-spacing: 0.3px;
}

.p-tourAbout__table {
  display: grid;
  grid-template-columns: max-content 1fr;
  width: 100%;
}

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

.p-tourAbout__th {
  padding: 13px 10px 12px;
  border-top: 1px solid #e5dfd7;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 28px;
  color: #c69f73;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__th {
    background: #fffaf3;
    font-size: 15px;
    line-height: 26px;
  }
}

.p-tourAbout__td {
  padding: 13px 0 12px 10px;
  border-top: 1px solid #e5dfd7;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 24px;
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__td {
    padding: 12px 0 13px;
    font-size: 15px;
    line-height: 26px;
  }
}

.p-tourAbout__th:last-of-type,
.p-tourAbout__td:last-of-type {
  border-bottom: 1px solid #e5dfd7;
}

.p-tourAbout__lines {
  display: flex;
  flex-direction: column;
  line-height: 24px;
}

.p-tourAbout__list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.p-tourAbout__listItem {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 26px;
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__listItem {
    font-size: 15px;
    line-height: 24px;
  }
}

.p-tourAbout__listItem::before {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  margin-top: 10px;
  background: #c69f73;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__listItem::before {
    margin-top: 9px;
  }
}

.p-tourAbout__em {
  font-weight: 600;
}

.p-tourAbout__link {
  color: #c69f73;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.p-tourAbout__link:hover {
  text-decoration: none;
}

.p-tourAbout__note {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  color: #3e3e3e;
  text-align: right;
}

.p-tourAbout__noteBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
}

.p-tourAbout__accordion {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-left: auto;
  padding: 15px 20px;
  background: #fbfaf3;
  border-radius: 10px;
  text-align: left;
  border: none;
}

@media screen and (max-width: 768px) {
  .p-tourAbout__accordion {
    max-width: none;
    padding: 12px 15px 14px;
  }
}

.p-tourAbout__accordionHead {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
}

.p-tourAbout__accordionTtl {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  color: #c37e2e;
}

.p-tourAbout__accordionIcon {
  position: relative;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: #c37e2e;
  border-radius: 50%;
}

.p-tourAbout__accordionIcon::before,
.p-tourAbout__accordionIcon::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: #ffffff;
  transform: translate(-50%, -50%);
}

.p-tourAbout__accordionIcon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.p-tourAbout__accordion.is-open .p-tourAbout__accordionIcon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg) scale(0);
}

.p-tourAbout__accordionPanel {
  width: 100%;
  overflow: hidden;
  padding-top: 0;
  transition: padding-top 0.4s ease;
}

.p-tourAbout__accordion.is-open .p-tourAbout__accordionPanel {
  padding-top: 10px;
}

.p-tourAbout__accordionInner {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.4s ease;
}

.p-tourAbout__accordion.is-open .p-tourAbout__accordionInner {
  grid-template-rows: 1fr;
}

.p-tourAbout__accordionBody {
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  padding-top: 0;
  border-top: 1px solid transparent;
  transition: padding-top 0.4s ease, border-color 0.4s ease;
}

.p-tourAbout__accordion.is-open .p-tourAbout__accordionBody {
  padding-top: 10px;
  border-top-color: #e5dfd7;
}

.p-tourAbout__btn {
  flex: none;
  width: 100%;
  max-width: 485px;
}

@media screen and (min-width: 769px) {
  .p-tourAbout__btn {
    padding: 25px 40px 25px 30px;
    margin-left: clamp(-120px, calc(-120 * ((100vw - 769px) / 671)), 0px);
  }
}

.p-companyKv {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: clamp(300px, calc(300px + (100 * ((100vw - 769px) / 671))), 400px);
  padding: clamp(140px, calc(140px + (20 * ((100vw - 769px) / 671))), 160px) clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px) 100px;
  gap: 16px;
  overflow: hidden;
}

.p-companyKv__bg {
  position: absolute;
  inset: 0;
  display: block;
}

.p-companyKv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.p-companyKv__overlay {
  position: absolute;
  inset: 0;
  background: rgba(46, 81, 109, 0.5);
  pointer-events: none;
}

.p-companyKv__en {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(14px, calc(14px + (2 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(14px, calc(14px + (18 * ((100vw - 769px) / 671))), 32px);
  color: #ffffff;
}

.p-companyKv__ja {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(28px, calc(28px + (12 * ((100vw - 769px) / 671))), 40px);
  line-height: clamp(28px, calc(28px + (4 * ((100vw - 769px) / 671))), 32px);
  color: #ffffff;
}

.p-companyInfo {
  padding: clamp(120px, calc(120px + (20 * ((100vw - 769px) / 671))), 140px) clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px) clamp(140px, calc(140px + (20 * ((100vw - 769px) / 671))), 160px);
}

.p-companyTable {
  width: 100%;
  padding-left: clamp(0px, calc(0px + (180 * ((100vw - 769px) / 671))), 180px);
  padding-right: clamp(0px, calc(0px + (180 * ((100vw - 769px) / 671))), 180px);
}

.p-companyTable__row {
  display: grid;
  grid-template-columns: 160px 1fr;
  border-top: 1px solid #e5dfd7;
}

@media screen and (max-width: 768px) {
  .p-companyTable__row {
    grid-template-columns: 1fr;
    border-top: none;
  }
}

.p-companyTable__row:last-child {
  border-bottom: 1px solid #e5dfd7;
}

@media screen and (max-width: 768px) {
  .p-companyTable__row:last-child {
    border-bottom: none;
  }
}

.p-companyTable__th {
  display: flex;
  align-items: flex-start;
  padding: 12px 10px 13px 10px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (2 * ((100vw - 769px) / 671))), 28px);
  color: #c69f73;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .p-companyTable__th {
    background: #fffaf3;
    border-top: 1px solid #e5dfd7;
  }
}

.p-companyTable__td {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 12px 10px 13px 10px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (2 * ((100vw - 769px) / 671))), 28px);
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .p-companyTable__td {
    padding-left: 0;
    padding-right: 0;
    border-top: 1px solid #e5dfd7;
  }
}

@media screen and (max-width: 768px) {
  .p-companyTable__row:last-child .p-companyTable__td {
    border-bottom: 1px solid #e5dfd7;
  }
}

.p-companyTable__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-companyTable__list {
    gap: 8px;
  }
}

.p-companyTable__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  overflow-wrap: anywhere;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(24px, calc(24px + (2 * ((100vw - 769px) / 671))), 26px);
  color: #3e3e3e;
}

.p-companyTable__item::before {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  margin-top: clamp(9px, calc(9px + (1 * ((100vw - 769px) / 671))), 10px);
  background: #c69f73;
  border-radius: 50%;
}

.p-companyTable__link {
  overflow-wrap: anywhere;
  color: #c69f73;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-underline-position: from-font;
}

.p-companyTable__link:hover {
  text-decoration: none;
}

.p-companyTable__sns {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.p-companyTable__sns:hover .p-companyTable__link {
  text-decoration: none;
}

.p-companyTable__ext {
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  object-fit: contain;
}

.p-faqKv {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: clamp(300px, calc(300px + (100 * ((100vw - 769px) / 671))), 400px);
  padding: clamp(140px, calc(140px + (20 * ((100vw - 769px) / 671))), 160px) clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px) 100px;
  gap: 16px;
  overflow: hidden;
}

.p-faqKv__bg {
  position: absolute;
  inset: 0;
  display: block;
}

.p-faqKv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.p-faqKv__overlay {
  position: absolute;
  inset: 0;
  background: rgba(46, 81, 109, 0.5);
  pointer-events: none;
}

.p-faqKv__en {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(14px, calc(14px + (2 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(14px, calc(14px + (18 * ((100vw - 769px) / 671))), 32px);
  color: #ffffff;
}

.p-faqKv__ja {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(28px, calc(28px + (12 * ((100vw - 769px) / 671))), 40px);
  line-height: clamp(28px, calc(28px + (4 * ((100vw - 769px) / 671))), 32px);
  color: #ffffff;
}

.p-faqList {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: clamp(100px, calc(100px + (40 * ((100vw - 769px) / 671))), 140px) clamp(15px, calc(15px + (105 * ((100vw - 769px) / 671))), 120px) 140px;
}

.p-faqItem {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: clamp(18px, calc(18px + (17 * ((100vw - 769px) / 671))), 35px) clamp(15px, calc(15px + (35 * ((100vw - 769px) / 671))), 50px);
  background: #f5f2ea;
  border: none;
  text-align: left;
  font: inherit;
  color: inherit;
}

.p-faqItem__trigger {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
}

.p-faqItem__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}

.p-faqItem__q {
  display: flex;
  align-items: center;
  gap: clamp(10px, calc(10px + (12 * ((100vw - 769px) / 671))), 22px);
  flex: 1;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .p-faqItem__q {
    align-items: flex-start;
  }
}

.p-faqItem__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: clamp(32px, calc(32px + (8 * ((100vw - 769px) / 671))), 40px);
  height: clamp(32px, calc(32px + (8 * ((100vw - 769px) / 671))), 40px);
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(16px, calc(16px + (2 * ((100vw - 769px) / 671))), 18px);
  line-height: 1;
  color: #ffffff;
}

.p-faqItem__badge.--q {
  background: #c69f73;
}

.p-faqItem__badge.--a {
  background: #7d7670;
}

.p-faqItem__qTxt {
  flex: 1;
  min-width: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: normal;
  color: #3e3e3e;
}

@media screen and (max-width: 768px) {
  .p-faqItem__qTxt {
    padding-top: 3px;
    line-height: 26px;
  }
}

.p-faqItem__chevron {
  position: relative;
  flex-shrink: 0;
  width: 21px;
  height: 12px;
  transition: transform 0.3s ease;
}

.p-faqItem__chevron::before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  inset: 0;
  border: none;
  transform: none;
  width: 21px;
  height: 12px;
  background-color: #3e3e3e;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' viewBox='0 0 22 14' fill='none'%3E%3Cpath d='M21.377 0.329226L10.877 12.3292L0.376952 0.329224' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' viewBox='0 0 22 14' fill='none'%3E%3Cpath d='M21.377 0.329226L10.877 12.3292L0.376952 0.329224' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}

.p-faqItem.is-open .p-faqItem__chevron {
  transform: rotate(180deg);
}

.p-faqItem__a {
  width: 100%;
  overflow: hidden;
}

.p-faqItem__aInner {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.4s ease;
}

.p-faqItem.is-open .p-faqItem__aInner {
  grid-template-rows: 1fr;
}

.p-faqItem__aBody {
  min-height: 0;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: clamp(10px, calc(10px + (12 * ((100vw - 769px) / 671))), 22px);
  padding-top: 0;
  transition: padding-top 0.4s ease;
}

.p-faqItem.is-open .p-faqItem__aBody {
  padding-top: clamp(14px, calc(14px + (11 * ((100vw - 769px) / 671))), 25px);
}

.p-faqItem__aTxt {
  flex: 1;
  min-width: 0;
  padding-top: clamp(3px, calc(3px + (3 * ((100vw - 769px) / 671))), 6px);
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (2 * ((100vw - 769px) / 671))), 28px);
  color: #3e3e3e;
}

.p-guideKv {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: clamp(300px, calc(300px + (100 * ((100vw - 769px) / 671))), 400px);
  padding: clamp(140px, calc(140px + (20 * ((100vw - 769px) / 671))), 160px) clamp(30px, calc(30px + (90 * ((100vw - 769px) / 671))), 120px) 100px;
  gap: 16px;
  overflow: hidden;
}

.p-guideKv__bg {
  position: absolute;
  inset: 0;
  display: block;
}

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

.p-guideKv__overlay {
  position: absolute;
  inset: 0;
  background: rgba(46, 81, 109, 0.5);
  pointer-events: none;
}

.p-guideKv__en {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(14px, calc(14px + (2 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(14px, calc(14px + (18 * ((100vw - 769px) / 671))), 32px);
  color: #ffffff;
}

.p-guideKv__ja {
  position: relative;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(28px, calc(28px + (12 * ((100vw - 769px) / 671))), 40px);
  line-height: clamp(28px, calc(28px + (4 * ((100vw - 769px) / 671))), 32px);
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .p-guideList {
    display: flex;
    flex-direction: column;
    gap: 80px;
    padding: 100px 30px 140px;
  }
}

.p-guidePerson {
  display: flex;
  align-items: center;
  gap: clamp(20px, calc(20px + (80 * ((100vw - 769px) / 671))), 100px);
  padding-right: clamp(30px, calc(30px + (150 * ((100vw - 769px) / 671))), 180px);
}

@media screen and (max-width: 768px) {
  .p-guidePerson {
    flex-direction: column;
    align-items: flex-start;
    gap: 48px;
    padding: 0;
  }
}

.p-guidePerson.--rev {
  flex-direction: row-reverse;
  padding-right: 0;
  padding-left: clamp(30px, calc(30px + (150 * ((100vw - 769px) / 671))), 180px);
}

@media screen and (max-width: 768px) {
  .p-guidePerson.--rev {
    flex-direction: column;
    padding: 0;
  }
}

.p-guidePerson__img {
  flex: none;
  width: clamp(385px, calc(385px + (335 * ((100vw - 769px) / 671))), 720px);
  max-width: 720px;
  aspect-ratio: 720 / 625;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-guidePerson__img {
    width: 100%;
    max-width: none;
  }
}

.p-guidePerson__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-guidePerson__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(28px, calc(28px + (12 * ((100vw - 769px) / 671))), 40px);
  flex: 1;
  min-width: 0;
  padding-bottom: clamp(0px, calc(0px + (30 * ((100vw - 769px) / 671))), 30px);
}

@media screen and (max-width: 768px) {
  .p-guidePerson__body {
    width: 100%;
    padding-bottom: 0;
  }
}

.p-guidePerson__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  color: #c69f73;
}

.p-guidePerson__role {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(16px, calc(16px + (2 * ((100vw - 769px) / 671))), 18px);
  line-height: clamp(16px, calc(16px + (2 * ((100vw - 769px) / 671))), 18px);
  white-space: nowrap;
}

.p-guidePerson__name {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(24px, calc(24px + (4 * ((100vw - 769px) / 671))), 28px);
  line-height: clamp(24px, calc(24px + (4 * ((100vw - 769px) / 671))), 28px);
}

.p-guidePerson__txt {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: clamp(15px, calc(15px + (1 * ((100vw - 769px) / 671))), 16px);
  line-height: clamp(26px, calc(26px + (2 * ((100vw - 769px) / 671))), 28px);
  color: #3e3e3e;
}

.notFoundArea {
  padding-top: 160px;
  padding-bottom: 160px;
}

@media screen and (max-width: 768px) {
  .notFoundArea {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.notFoundArea .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  max-width: 700px;
}

@media screen and (max-width: 768px) {
  .notFoundArea .l-inner {
    gap: 32px;
  }
}
