@charset "UTF-8";
/*! 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: bold;
}

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: 60%;
  line-height: 0;
  position: relative;
  vertical-align: super !important;
}

sub {
  bottom: -0.25em;
}

/* 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: bold;
}

#mainarea {
  padding-bottom: 0;
}
#mainarea.top {
  background-color: #f8f6ef;
}

body:has(.top) #breadcrumb,
body:has(.top) #breadcrumb a {
  color: #fff;
}
body:has(.top) .foot_recommend_wrap,
body:has(.top) #foot_info {
  position: relative;
  z-index: 999;
}

body:has(.top) {
  overflow: clip !important;
}
body:has(.top) #wrap {
  overflow: clip !important;
}

.l-container {
  width: 100%;
  height: auto;
  -webkit-text-size-adjust: 100%;
  color: #4a4848;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium",
    "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-align: left;
  box-sizing: border-box;
  margin: auto;
  position: relative;
  z-index: 5;
}
.l-container img {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .l-container {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 767px) {
  .l-container {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
  }
}
.l-container__inner {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-container__inner {
    max-width: min(83.056vw, 1315.6px);
    margin: auto;
  }
}
@media screen and (max-width: 767px) {
  .l-container__inner {
    padding: 0 min(8vw, 33px);
  }
}
@media screen and (min-width: 768px) {
  .l-container__inner.--narrow {
    max-width: min(69.167vw, 1095.6px);
  }
}

.l-section {
  width: 100%;
  position: relative;
  z-index: 1;
}

.c-button__anchor,
.c-button--md,
.c-button--lg {
  max-width: 100%;
  background-color: #9a9a9a;
  color: #fff;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium",
    "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  text-decoration: none;
  text-align: center;
  line-height: 1.15;
  border-radius: 999px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
  position: relative;
  top: 0;
  transition: background-color 0.4s ease;
  overflow: hidden;
}
.c-button__anchor:hover,
.c-button--md:hover,
.c-button--lg:hover {
  color: #fff;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .c-button__anchor,
  .c-button--md,
  .c-button--lg {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
  .c-button__anchor:hover,
  .c-button--md:hover,
  .c-button--lg:hover {
    background-color: #c3c3c3;
  }
}
@media screen and (max-width: 767px) {
  .c-button__anchor,
  .c-button--md,
  .c-button--lg {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
.c-button__anchor::after,
.c-button--md::after,
.c-button--lg::after {
  font-family: "Font Awesome 6 Pro";
  content: "\f105";
  line-height: 1;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  .c-button__anchor::after,
  .c-button--md::after,
  .c-button--lg::after {
    font-size: clamp(11.05px, 0.903vw, 14.3px);
    right: min(0.764vw, 12.1px);
  }
}
@media screen and (max-width: 767px) {
  .c-button__anchor::after,
  .c-button--md::after,
  .c-button--lg::after {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    right: min(4vw, 16.5px);
  }
}
[target="_blank"].c-button__anchor::after,
[target="_blank"].c-button--md::after,
[target="_blank"].c-button--lg::after {
  content: "\f08e";
}
[href*="pdf"].c-button__anchor::after,
[href*="pdf"].c-button--md::after,
[href*="pdf"].c-button--lg::after,
.--pdf.c-button__anchor::after,
.--pdf.c-button--md::after,
.--pdf.c-button--lg::after {
  content: "";
  background-image: url(../img/common/icon_pdf.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
}
@media screen and (min-width: 768px) {
  [href*="pdf"].c-button__anchor::after,
  [href*="pdf"].c-button--md::after,
  [href*="pdf"].c-button--lg::after,
  .--pdf.c-button__anchor::after,
  .--pdf.c-button--md::after,
  .--pdf.c-button--lg::after {
    width: min(1.25vw, 19.8px);
    height: min(1.319vw, 20.9px);
    right: min(1.042vw, 16.5px);
  }
}
@media screen and (max-width: 767px) {
  [href*="pdf"].c-button__anchor::after,
  [href*="pdf"].c-button--md::after,
  [href*="pdf"].c-button--lg::after,
  .--pdf.c-button__anchor::after,
  .--pdf.c-button--md::after,
  .--pdf.c-button--lg::after {
    width: min(4.8vw, 19.8px);
    height: min(5.067vw, 20.9px);
    right: min(4vw, 16.5px);
  }
}

@media screen and (min-width: 768px) {
  .c-button--lg {
    width: clamp(329.8px, 26.944vw, 426.8px);
    height: clamp(61.2px, 5vw, 79.2px);
  }
}
@media screen and (max-width: 767px) {
  .c-button--lg {
    width: clamp(267.75px, 84vw, 346.5px);
    height: clamp(44.2px, 13.867vw, 57.2px);
  }
}
@media screen and (min-width: 768px) {
  .c-button--md {
    width: clamp(243.95px, 19.931vw, 315.7px);
    height: clamp(51px, 4.167vw, 66px);
  }
}
@media screen and (max-width: 767px) {
  .c-button--md {
    width: clamp(267.75px, 84vw, 346.5px);
    height: clamp(44.2px, 13.867vw, 57.2px);
  }
}
.c-button__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .c-button__list {
    gap: min(1.111vw, 17.6px);
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .c-button__list {
    column-gap: min(4.267vw, 17.6px);
  }
}
@media screen and (max-width: 540px) {
  .c-button__list {
    row-gap: min(4.267vw, 17.6px);
  }
}
.c-button__list [class^="c-button"] {
  margin: 0;
}
.c-button__anchor {
  line-height: 1.3;
  padding-left: 1em;
  padding-right: 1em;
  margin: 0;
}
.c-button__anchor__list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .c-button__anchor__list {
    gap: min(1.389vw, 22px) min(1.111vw, 17.6px);
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .c-button__anchor__list {
    gap: min(5.333vw, 22px) min(4.267vw, 17.6px);
  }
}
@media screen and (max-width: 540px) {
  .c-button__anchor__list.--2 {
    gap: min(2.133vw, 8.8px) min(2.133vw, 8.8px);
  }
}
@media screen and (max-width: 540px) {
  .c-button__anchor__list.--3 {
    gap: min(2.133vw, 8.8px) min(1.067vw, 4.4px);
  }
}
@media screen and (min-width: 768px) {
  .c-button__anchor {
    min-height: clamp(54.4px, 4.444vw, 70.4px);
    padding-top: 1em;
    padding-bottom: clamp(17px, 1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .c-button__anchor {
    min-height: clamp(49.3px, 15.467vw, 63.8px);
    padding-top: 0.5em;
    padding-bottom: clamp(11.9px, 3.733vw, 15.4px);
  }
}
@media screen and (max-width: 540px) {
  .c-button__anchor {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .--2 .c-button__anchor {
    width: calc((100% - min(1.111vw, 17.6px)) / 2);
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .--2 .c-button__anchor {
    width: calc((100% - min(4.267vw, 17.6px)) / 2);
  }
}
@media screen and (max-width: 540px) {
  .--2 .c-button__anchor {
    width: calc((100% - min(2.133vw, 8.8px)) / 2);
  }
}
@media screen and (min-width: 768px) {
  .--3 .c-button__anchor {
    width: calc((100% - min(1.111vw, 17.6px) * 2) / 3);
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .--3 .c-button__anchor {
    width: calc((100% - min(4.267vw, 17.6px) * 2) / 3);
  }
}
@media screen and (max-width: 540px) {
  .--3 .c-button__anchor {
    width: calc((100% - min(1.067vw, 4.4px) * 2) / 3);
  }
}
@media screen and (max-width: 540px) {
  .--sp--1 .c-button__anchor {
    width: 100%;
  }
}
.c-button__anchor::after {
  content: "\f078";
  top: auto;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .c-button__anchor::after {
    bottom: clamp(4.25px, 0.347vw, 5.5px);
  }
}
@media screen and (max-width: 767px) {
  .c-button__anchor::after {
    bottom: clamp(3.4px, 1.067vw, 4.4px);
  }
}

.c-list li {
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-list li {
    padding-left: min(1.25vw, 19.8px);
  }
}
@media screen and (max-width: 767px) {
  .c-list li {
    padding-left: min(3.733vw, 15.4px);
  }
}
.c-list li::before {
  content: "";
  background-color: #9a9a9a;
  border-radius: 50%;
  position: absolute;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-list li::before {
    width: clamp(8.5px, 0.694vw, 11px);
    height: clamp(8.5px, 0.694vw, 11px);
    top: clamp(5.1px, 0.417vw, 6.6px);
  }
}
@media screen and (max-width: 767px) {
  .c-list li::before {
    width: clamp(8.5px, 2.667vw, 11px);
    height: clamp(8.5px, 2.667vw, 11px);
    top: clamp(5.1px, 1.6vw, 6.6px);
  }
}
@media screen and (min-width: 768px) {
  .c-list li:not(:last-child) {
    margin-bottom: min(0.556vw, 8.8px);
  }
}
@media screen and (max-width: 767px) {
  .c-list li:not(:last-child) {
    margin-bottom: min(2.133vw, 8.8px);
  }
}
.c-list--notice {
  position: relative;
}
.c-list--notice li {
  color: #6f6f6f;
  text-indent: -1.25em;
  padding-left: 1.25em;
  vertical-align: text-top;
  text-align: left;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .c-list--notice li {
    font-size: clamp(10.2px, 0.833vw, 13.2px);
  }
}
@media screen and (max-width: 767px) {
  .c-list--notice li {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.c-list--notice li + li {
  margin-top: 0.3em;
}

[class^="c-list"]:not([class*="c-list--textlink"]) li a {
  color: #b0c68e;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  [class^="c-list"]:not([class*="c-list--textlink"]) li a:hover {
    text-decoration: none;
  }
}
[class^="c-list"]:not([class*="c-list--textlink"]) li a[href$=".pdf"]::after,
[class^="c-list"]:not([class*="c-list--textlink"])
  li
  a[target="_blank"]::after {
  display: inline;
  margin: 0 0.25em;
  font-weight: 700;
  font-family: "Font Awesome 6 Pro";
  line-height: 1;
}
[class^="c-list"]:not([class*="c-list--textlink"]) li a[href$=".pdf"]::after {
  content: "\f1c1" !important;
  font-size: 1.25em !important;
}
[class^="c-list"]:not([class*="c-list--textlink"])
  li
  a[target="_blank"]::after {
  content: "\f08e";
  font-size: inherit;
}

ol.c-list li {
  list-style: decimal;
  padding-left: 0.5em;
  margin-left: 1em;
}
ol.c-list li::before {
  content: none;
}
ol.c-list--notice li {
  text-indent: -1.75em;
  padding-left: 1.75em;
}
ol.c-list.--circle {
  counter-reset: my-counter;
}
ol.c-list.--circle li {
  list-style: none;
  padding-left: 1.75em;
  margin-left: 0;
}
ol.c-list.--circle li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: 1px solid;
  border-radius: 50%;
  background-color: transparent;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.45em;
  width: 1.45em;
  font-size: 80%;
  line-height: 1;
  position: absolute;
  top: 0.3em;
  left: 0;
}

.c-modal__container {
  display: none;
  width: 100%;
  min-height: 100%;
  background-color: rgba(248, 246, 239, 0.95);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  overflow-x: hidden;
}
@media screen and (max-width: 540px) {
  .c-modal__container--pc {
    display: none !important;
  }
}
.c-modal__inner {
  width: 100%;
  height: auto;
  max-height: 100vh;
  color: #4a4848;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium",
    "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  -webkit-text-size-adjust: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .c-modal__inner {
    max-width: min(83.056vw, 1315.6px);
  }
}
@media screen and (max-width: 767px) {
  .c-modal__inner {
    padding-left: min(8vw, 33px);
    padding-right: min(8vw, 33px);
  }
}
.c-modal__block {
  width: min(69.444vw, 1100px);
  height: auto;
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium",
    "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  margin-left: auto;
  margin-right: auto;
  padding: min(11.111vw, 176px) 0 min(10.417vw, 165px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-modal__block {
    width: 75.5208333333vw;
  }
}
.c-modal__block img {
  width: 100%;
}
.c-modal__media {
  background-color: #000;
  aspect-ratio: 16/9;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1681px) {
  .c-modal__media {
    max-width: min(59.028vw, 935px);
  }
}
@media screen and (min-width: 768px) {
  .c-modal__media {
    width: min(83.333vw, 1320px);
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .c-modal__media {
    width: calc(100% - min(21.333vw, 88px));
  }
}
@media screen and (max-width: 767px) and (max-width: 540px) {
  .c-modal__media {
    width: calc(100% - min(10.667vw, 44px));
  }
}
.c-modal__media iframe,
.c-modal__media video {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  right: 0;
}
.c-modal__close-btn {
  background-color: #fff;
  border-radius: 50%;
  border: #9a9a9a solid 1px;
  position: fixed;
  margin: 0;
  opacity: 1;
  transition: background-color 0.4s ease;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .c-modal__close-btn {
    width: min(3.611vw, 57.2px);
    height: min(3.611vw, 57.2px);
    top: min(2.778vw, 44px);
    right: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .c-modal__close-btn {
    width: min(11.2vw, 46.2px);
    height: min(11.2vw, 46.2px);
    top: min(5.333vw, 22px);
    right: min(5.333vw, 22px);
  }
}
.c-modal__close-btn::before {
  content: "\f00d";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  color: #9a9a9a;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: color 0.4s ease;
}
@media screen and (min-width: 768px) {
  .c-modal__close-btn::before {
    font-size: min(1.181vw, 18.7px);
  }
}
@media screen and (max-width: 767px) {
  .c-modal__close-btn::before {
    font-size: min(4vw, 16.5px);
  }
}
@media screen and (min-width: 768px) {
  .c-modal__close-btn:hover {
    background-color: #9a9a9a;
  }
  .c-modal__close-btn:hover::before {
    color: #fff;
  }
}

.js-modal {
  display: block;
}

.js-modal,
.js-modal-close {
  cursor: pointer;
}

.pswp {
  z-index: 10000 !important;
}
.pswp__button--zoom {
  display: none !important;
}
.pswp__button--close {
  background-color: #fff;
  border-radius: 50%;
  border: #9a9a9a solid 1px !important;
  position: fixed;
  margin: 0;
  opacity: 1;
  transition: background-color 0.4s ease !important;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .pswp__button--close {
    width: min(3.611vw, 57.2px);
    height: min(3.611vw, 57.2px);
    top: min(2.778vw, 44px);
    right: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .pswp__button--close {
    width: min(11.2vw, 46.2px);
    height: min(11.2vw, 46.2px);
    top: min(5.333vw, 22px);
    right: min(5.333vw, 22px);
  }
}
.pswp__button--close::before {
  content: "\f00d";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  color: #9a9a9a;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: color 0.4s ease;
}
@media screen and (min-width: 768px) {
  .pswp__button--close::before {
    font-size: min(1.181vw, 18.7px);
  }
}
@media screen and (max-width: 767px) {
  .pswp__button--close::before {
    font-size: min(4vw, 16.5px);
  }
}
@media screen and (min-width: 768px) {
  .pswp__button--close:hover {
    background-color: #9a9a9a;
  }
  .pswp__button--close:hover::before {
    color: #fff;
  }
}
.pswp__button--close > svg {
  display: none;
}
.pswp__button--arrow {
  top: 50%;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .pswp__button--arrow {
    width: min(3.889vw, 61.6px);
    height: min(3.889vw, 61.6px);
    transition: background-color 0.4s ease;
  }
}
@media screen and (max-width: 767px) {
  .pswp__button--arrow {
    visibility: visible !important;
    width: min(11.733vw, 48.4px);
    height: min(11.733vw, 48.4px);
    margin-top: calc(min(5.867vw, 24.2px) * -1);
  }
}
.pswp__button--arrow::after {
  font-family: "Font Awesome 6 Pro";
  font-weight: 100;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: color 0.4s ease;
}
@media screen and (min-width: 768px) {
  .pswp__button--arrow::after {
    color: #9a9a9a !important;
    font-size: clamp(30.6px, 2.5vw, 39.6px);
  }
}
@media screen and (max-width: 767px) {
  .pswp__button--arrow::after {
    color: #fff !important;
    font-size: clamp(20.4px, 6.4vw, 26.4px);
  }
}
@media screen and (min-width: 768px) {
  .pswp__button--arrow:hover::after {
    color: #c3c3c3 !important;
  }
}
.pswp__button--arrow > svg {
  display: none;
}
.pswp__button--arrow--prev::after {
  content: "\f104";
}
.pswp__button--arrow--next::after {
  content: "\f105";
}
.pswp__counter {
  color: #4a4848;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium",
    "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-shadow: none;
}
.pswp__bg {
  background-color: #f8f6ef;
}

.c-banner__list {
/*240515　設定変更*/
  display: grid;
}
@media screen and (min-width: 768px) {
  .c-banner__list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(1.111vw, 17.6px);
  }
}
@media screen and (max-width: 767px) {
  .c-banner__list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: min(5.333vw, 22px);
/*240515　設定変更*/
    display: grid;
  }
}
@media screen and (min-width: 768px) {
  .c-banner__list.--wide {
    grid-template-columns: repeat(1, 1fr);
    column-gap: min(1.111vw, 17.6px);
  }
}
.c-banner__list.--simple {
/*2420515設定変更
  width: 100%;
  */
  width: 40%;
  min-width: 280px;
  display: block !important;
}
@media screen and (min-width: 768px) {
  .c-banner__list.--simple {
    max-width: clamp(673.2px, 55vw, 871.2px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .c-banner__list + .c-banner__list {
    margin-top: min(3.333vw, 52.8px);
  }
}
@media screen and (max-width: 767px) {
  .c-banner__list + .c-banner__list {
    margin-top: min(10.667vw, 44px);
  }
  .c-banner__list.--simple {
    width: 100% !important;
/*240515　設定変更*/
    display: grid;
  }
}
@media screen and (min-width: 768px) {
  .--wide .c-banner__item {
    width: 100%;
    max-width: clamp(673.2px, 55vw, 871.2px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .c-banner__item {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}
.c-banner__link {
  width: 100%;
  background-color: #b1ada9;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-banner__link {
    height: clamp(182.75px, 14.931vw, 236.5px);
    display: flex;
    padding-top: clamp(40.8px, 3.333vw, 52.8px);
    padding-left: clamp(290.7px, 23.75vw, 376.2px);
    transition: background-color 0.4s ease;
  }
  .c-banner__link:hover {
    background-color: #c3c3c3;
  }
  .--wide .c-banner__link {
    padding-top: clamp(49.3px, 4.028vw, 63.8px);
    padding-left: clamp(350.2px, 28.611vw, 453.2px);
  }
  .--digital .c-banner__link {
    padding-left: clamp(210.8px, 17.222vw, 272.8px);
  }
}
.c-banner__link:hover {
  text-decoration: none;
}
.--simple .c-banner__link {
  background: none !important;
  height: auto;
  padding: 0;
  width: 70%;
  margin:auto;
}
.--simple .c-banner__link > img,
.--simple .c-banner__link > picture img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .--simple .c-banner__link > img,
  .--simple .c-banner__link > picture img {
    transition: opacity 0.4s ease;
  }
  .--simple .c-banner__link > img:hover,
  .--simple .c-banner__link > picture img:hover {
    opacity: 0.7;
  }
}
.c-banner__link__head {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-banner__link__head {
    font-size: clamp(15.3px, 1.25vw, 19.8px);
    margin-bottom: min(1.111vw, 17.6px);
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .c-banner__link__head {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    margin-bottom: min(4.267vw, 17.6px);
  }
}
.c-banner__link__head sup {
  top: 0;
  vertical-align: baseline !important;
  font-size: 50%;
}
@media screen and (min-width: 768px) {
  .c-banner__image {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-banner__image > img,
  .c-banner__image > picture img {
    width: auto;
    max-width: none;
    height: clamp(182.75px, 14.931vw, 236.5px);
  }
}
@media screen and (max-width: 767px) {
  .c-banner__image > img,
  .c-banner__image > picture img {
    width: 100%;
  }
}
.c-banner__inner {
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-banner__inner {
    padding: min(6.4vw, 26.4px) min(5.333vw, 22px) min(16vw, 66px);
  }
}
.c-banner__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .c-banner__title {
    font-size: clamp(17px, 1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .c-banner__title {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
  }
}
.c-banner__text {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .c-banner__text {
    font-size: clamp(11.05px, 0.903vw, 14.3px);
  }
}
@media screen and (max-width: 767px) {
  .c-banner__text {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}

@keyframes circleScroll {
  0% {
    opacity: 0;
    top: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
    top: 90%;
  }
  100% {
    opacity: 0;
    top: 90%;
  }
}
.p-index__logo {
  line-height: 0;
}
.p-index__logo > img,
.p-index__logo > picture img {
  width: 100%;
}
picture.new_plan{
  text-align:center;
  margin: 0 27%;
  transition-delay: 0.s;
}
picture.new_plan img {
  width: 46%;
  padding-bottom: 30px;
  transition: opacity 0.45s ease;
}
.p-index-section__ellipse {
  width: 152%;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  z-index: 0;
}
.p-index-section__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-index-section__title {
    font-size: clamp(20.4px, 1.667vw, 26.4px);
    margin-bottom: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-section__title {
    font-size: clamp(15.3px, 4.8vw, 19.8px);
    margin-bottom: min(6.4vw, 26.4px);
  }
}
.ecbn-selection-widget div .p-index-section__title {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .ecbn-selection-widget div .p-index-section__title {
    font-size: clamp(20.4px, 1.667vw, 26.4px);
    margin-bottom: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .ecbn-selection-widget div .p-index-section__title {
    font-size: clamp(15.3px, 4.8vw, 19.8px);
    margin-bottom: min(6.4vw, 26.4px);
  }
}
.p-index-section__lead {
  color: #6f6f6f;
  line-height: 2.2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-index-section__lead {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-section__lead {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    padding-left: min(8vw, 33px);
    padding-right: min(8vw, 33px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-section__lead + * {
    margin-top: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-section__lead + * {
    margin-top: min(10.667vw, 44px);
  }
}
.ecbn-selection-widget div .p-index-section__lead {
  line-height: 2.2;
}
@media screen and (min-width: 768px) {
  .ecbn-selection-widget div .p-index-section__lead {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    margin-bottom: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .ecbn-selection-widget div .p-index-section__lead {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    padding-left: min(8vw, 33px);
    padding-right: min(8vw, 33px);
    margin-bottom: min(10.667vw, 44px);
  }
}
@media screen and (min-width: 768px) {
  .ecbn-selection-widget div .p-index-section__lead + * {
    margin-top: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .ecbn-selection-widget div .p-index-section__lead + * {
    margin-top: min(10.667vw, 44px);
  }
}
.p-index-mv__wrapper {
  width: 100%;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-index-mv__wrapper {
    height: calc(100vh - 131px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__wrapper {
    height: calc(100vh - 101px);
  }
}
.p-index-mv__inner {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 2;
}
.p-index-mv__title {
  position: fixed;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-index-mv__title {
    width: min(44.444vw, 704px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__title {
    width: min(84vw, 346.5px);
  }
}
.p-index-mv__title > img {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.is-moved .p-index-mv__title > img {
  opacity: 1;
}
.p-index-mv__video {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-index-mv__video {
    min-height: auto;
    height: calc(100vh - 101px);
  }
}
.p-index-mv__video__wrapper {
  width: 100%;
  position: fixed;
  left: -1px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-index-mv__video__wrapper {
    height: calc(100vh - 131px);
    top: 81px;
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__video__wrapper {
    height: calc(100vh - 101px);
    top: 51px;
  }
}
.p-index-mv__video__button {
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  position: fixed;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-index-mv__video__button {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    bottom: calc(min(4.722vw, 74.8px) + 50px);
    left: min(4.028vw, 63.8px);
    cursor: pointer;
    transition: opacity 0.4s ease;
  }
  .p-index-mv__video__button:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__video__button {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
    bottom: calc(min(12.8vw, 52.8px) + 50px);
    left: min(4.267vw, 17.6px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-mv__video__button > i {
    width: clamp(13.6px, 1.111vw, 17.6px);
    margin-right: min(0.556vw, 8.8px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__video__button > i {
    width: clamp(11.9px, 3.733vw, 15.4px);
    margin-right: min(1.6vw, 6.6px);
  }
}
.p-index-mv__scrollbar__wrap {
  position: fixed;
  pointer-events: none;
  user-select: none;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-index-mv__scrollbar__wrap {
    width: min(5.417vw, 85.8px);
    height: min(3.889vw, 61.6px);
    bottom: calc(min(3.333vw, 52.8px) + 50px);
    right: min(5vw, 79.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__scrollbar__wrap {
    width: min(16.533vw, 68.2px);
    height: min(12.267vw, 50.6px);
    bottom: calc(min(10.667vw, 44px) + 50px);
    right: min(4.267vw, 17.6px);
  }
}
.p-index-mv__scrollbar__effect {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  animation: circleScroll 2s cubic-bezier(0.52, 0.08, 0.18, 1) infinite;
}
@media screen and (min-width: 768px) {
  .p-index-mv__scrollbar__effect {
    width: min(0.417vw, 6.6px);
    height: min(0.417vw, 6.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__scrollbar__effect {
    width: min(1.333vw, 5.5px);
    height: min(1.333vw, 5.5px);
  }
}
.p-index-mv__scrollbar__text {
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  .p-index-mv__scrollbar__text {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-mv__scrollbar__text {
    font-size: clamp(9.35px, 2.933vw, 12.1px);
  }
}
.p-index-section {
  position: relative;
}
.p-index-section__container {
  width: 100%;
  background-color: #f8f6ef;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-index-section + .p-index-section {
    margin-top: min(8.333vw, 132px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-section + .p-index-section {
    margin-top: min(21.333vw, 88px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-section:last-child {
    padding-bottom: min(6.944vw, 110px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-section:last-child {
    padding-bottom: min(21.333vw, 88px);
  }
}
.p-index-section__details {
  background-color: #fffef8;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-index-section__details {
    margin-top: min(6.944vw, 110px);
    padding-top: min(6.944vw, 110px);
  }
  .p-index-section__details::before {
    content: "";
    width: 100%;
    height: min(26.042vw, 412.5px);
    background-color: #f8f6ef;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
@media screen and (max-width: 767px) {
  .p-index-section__details {
    padding-top: min(21.333vw, 88px);
  }
}
.p-index-section__details__ellipse {
  top: 0;
}
.p-index-section__details__ellipse path {
  fill: #fffef8;
}
@media screen and (max-width: 767px) {
  .p-index-section__details__ellipse {
    display: none;
  }
}
.p-index-plan__lead__wrapper {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-index-plan__lead__wrapper {
    padding-bottom: min(6.944vw, 110px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-plan__lead__wrapper {
    padding-bottom: min(21.333vw, 88px);
  }
}
.p-index-plan__lead__inner {
  position: relative;
  z-index: 1;
}
.p-index-plan__lead__inner::before {
  content: "";
  width: 100%;
  background-color: #eeefe7;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  z-index: -1;
}
@media screen and (min-width: 481px) {
  .p-index-plan__lead__inner::before {
    height: 50%;
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lead__inner::before {
    height: 100%;
  }
}
.p-index-plan__lead__image {
  position: relative;
}
.p-index-plan__lead__image::after {
  content: "";
  width: 100%;
  background-color: #eeefe7;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-index-plan__lead__image::after {
    height: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-plan__lead__image::after {
    height: min(6.933vw, 28.6px);
  }
}
.p-index-plan__lead__title {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-index-plan__lead__title {
    width: clamp(425px, 34.722vw, 550px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-plan__lead__title {
    width: clamp(241.4px, 75.733vw, 312.4px);
  }
}
.p-index-plan__lead__head {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-index-plan__lead__head {
    font-size: clamp(15.3px, 4.8vw, 19.8px);
    line-height: 2;
    margin-top: min(2.5vw, 39.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-plan__lead__head {
    font-size: clamp(12.75px, 4vw, 16.5px);
    line-height: 2.2;
    margin-top: min(9.6vw, 39.6px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-plan__lead__text {
    margin-top: min(2.222vw, 35.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-plan__lead__text {
    margin-top: min(4.267vw, 17.6px);
  }
}
.p-index-plan__lead__ellipse {
  bottom: 0;
}
.p-index-plan__lead__ellipse path {
  fill: #eeefe7;
}
@media screen and (min-width: 481px) {
  .p-index-plan__wrapper {
    padding-top: min(6.944vw, 110px);
  }
}
@media screen and (max-width: 767px) and (min-width: 481px) {
  .p-index-plan__wrapper {
    padding-top: 15.625vw;
    padding-bottom: 15.625vw;
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__wrapper {
    height: auto;
    position: relative;
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__bg {
    width: 100%;
    height: 100vh;
    margin-top: calc(min(10.667vw, 44px) * -1);
    position: sticky;
    top: 51px;
    left: 0;
    z-index: -1;
    transition: opacity 0.6s ease-out;
  }
  .p-index-plan__bg.is-show {
    opacity: 1;
  }
  .p-index-plan__bg__block {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    position: absolute;
    top: -51px;
    left: 0;
    opacity: 0;
    opacity: 0;
    transition: opacity 0.5s ease-in;
  }
  .p-index-plan__bg__block.--hiraya {
    background-image: url("../img/index/plan_hiraya_img.webp");
  }
  .p-index-plan__bg__block.--oyane {
    background-image: url("../img/index/plan_oyane_img.webp");
    background-position: calc(50% - 10px) bottom;
  }
  .p-index-plan__bg__block.--skipkura {
    background-image: url("../img/index/plan_skip-kura_img.webp");
  }
  .p-index-plan__bg__block.--2f {
    height: calc(100% + 51px);
    background-image: url("../img/index/plan_2f_img.webp");
  }
  .p-index-plan__bg__block.is-active {
    opacity: 1;
  }
}
.p-index-plan__lineup {
  width: 100%;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 481px) {
  .p-index-plan__lineup + .p-index-plan__lineup {
    margin-top: min(8.333vw, 132px);
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lineup {
    height: calc(100vh - 101px);
  }
  .p-index-plan__lineup[data-plan="--hiraya"] {
    margin-top: calc((100vh - 101px) * -1 / 2);
  }
}
@media screen and (min-width: 481px) {
  .p-index-plan__lineup__inner {
    display: flex;
  }
  .p-index-plan__lineup__inner.--reverse {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lineup__inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: 0 min(8vw, 33px) min(10.667vw, 44px);
  }
}
.p-index-plan__lineup__image {
  overflow: hidden;
}
@media screen and (min-width: 481px) {
  .p-index-plan__lineup__image {
    width: clamp(691.05px, 56.458vw, 894.3px);
    border-top-left-radius: min(1.389vw, 22px);
    border-bottom-left-radius: min(1.389vw, 22px);
  }
  .--reverse .p-index-plan__lineup__image {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: min(1.389vw, 22px);
    border-bottom-right-radius: min(1.389vw, 22px);
  }
}
@media screen and (min-width: 481px) and (max-width: 1024px) {
  .p-index-plan__lineup__image {
    width: 50%;
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lineup__image {
    display: none;
  }
}
@media screen and (min-width: 481px) {
  .p-index-plan__lineup__summary {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: min(8.75vw, 138.6px);
    padding-right: min(6.806vw, 107.8px);
  }
  .--reverse .p-index-plan__lineup__summary {
    padding-right: min(8.75vw, 138.6px);
    padding-left: min(6.806vw, 107.8px);
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lineup__summary {
    width: 100%;
  }
}
.p-index-plan__lineup__title {
  margin: auto;
}
@media screen and (min-width: 481px) {
  .p-index-plan__lineup__title {
    width: min(25.278vw, 400.4px);
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lineup__title {
    width: min(76vw, 313.5px);
  }
}
.p-index-plan__lineup__text {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 481px) {
  .p-index-plan__lineup__text {
    color: #6f6f6f;
    font-size: clamp(17px, 1.389vw, 22px);
    margin-top: min(2.5vw, 39.6px);
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lineup__text {
    color: #fff;
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    margin-top: min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-plan__lineup__note {
    color: #6f6f6f;
    font-size: clamp(10.2px, 0.833vw, 13.2px);
    margin-top: min(2.778vw, 44px);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-index-plan__lineup__note {
    color: #ffffff;
    font-size: clamp(9.35px, 2.933vw, 12.1px);
    margin-top: min(4.267vw, 17.6px);
  }
}
.p-index-plan__lineup__note > span {
  font-size: 185%;
  display: inline-block;
  translate: 0 0.35em;
}
@media screen and (min-width: 481px) {
  .p-index-plan__lineup__button {
    margin-top: min(4.167vw, 66px);
  }
}
@media screen and (max-width: 480px) {
  .p-index-plan__lineup__button {
    background-color: rgba(255, 255, 255, 0);
    margin-top: min(4.267vw, 17.6px);
    border: #fff solid 1px;
  }
  .p-index-plan__lineup__button::after {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    font-weight: 700;
  }
}
.p-index-gallery__slider__container {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-index-gallery__slider__item {
    padding: 0 min(0.556vw, 8.8px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-gallery__slider__item {
    padding: 0 min(1.6vw, 6.6px);
  }
}
.p-index-gallery__slider__image {
  aspect-ratio: 4/5;
  display: block;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-index-gallery__slider__image {
    border-radius: min(1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-gallery__slider__image {
    border-radius: min(3.2vw, 13.2px);
  }
}
.p-index-gallery__slider__image > img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.p-index-gallery__slider__prev,
.p-index-gallery__slider__next {
  background-color: #9a9a9a;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-index-gallery__slider__prev,
  .p-index-gallery__slider__next {
    width: min(3.889vw, 61.6px);
    height: min(3.889vw, 61.6px);
    transition: background-color 0.4s ease;
  }
  .p-index-gallery__slider__prev:hover,
  .p-index-gallery__slider__next:hover {
    background-color: #c3c3c3;
  }
}
@media screen and (max-width: 767px) {
  .p-index-gallery__slider__prev,
  .p-index-gallery__slider__next {
    width: min(11.733vw, 48.4px);
    height: min(11.733vw, 48.4px);
  }
}
.p-index-gallery__slider__prev::after,
.p-index-gallery__slider__next::after {
  font-family: "Font Awesome 6 Pro";
  color: #fff;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
@media screen and (min-width: 768px) {
  .p-index-gallery__slider__prev::after,
  .p-index-gallery__slider__next::after {
    font-size: clamp(12.75px, 1.042vw, 16.5px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-gallery__slider__prev::after,
  .p-index-gallery__slider__next::after {
    font-size: clamp(12.75px, 4vw, 16.5px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-gallery__slider__prev {
    left: min(5vw, 79.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-gallery__slider__prev {
    left: min(2.133vw, 8.8px);
  }
}
.p-index-gallery__slider__prev::after {
  content: "\f104";
}
@media screen and (min-width: 768px) {
  .p-index-gallery__slider__next {
    right: min(5vw, 79.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-gallery__slider__next {
    right: min(2.133vw, 8.8px);
  }
}
.p-index-gallery__slider__next::after {
  content: "\f105";
}
.p-index-lifestyle__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__list {
    column-gap: 4px;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__list {
    row-gap: 4px;
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-index-lifestyle__item__link {
  background-color: #2c3034;
  display: block;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__item__link:hover .p-index-lifestyle__item__thumb img {
    scale: 1.05;
  }
  .p-index-lifestyle__item__link:hover .p-index-lifestyle__item__title {
    opacity: 0.6;
  }
}
.p-index-lifestyle__item__thumb {
  opacity: 0.7;
}
.p-index-lifestyle__item__thumb > img,
.p-index-lifestyle__item__thumb > picture img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__item__thumb > img,
  .p-index-lifestyle__item__thumb > picture img {
    transition: scale 1.2s cubic-bezier(0.23, 1, 0.33, 1.03);
  }
}
.p-index-lifestyle__item__thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #000000 100%);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.65;
  z-index: 1;
}
.p-index-lifestyle__item__title {
  width: 100%;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__item__title {
    font-size: clamp(17px, 1.389vw, 22px);
    transition: opacity 0.4s ease;
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__item__title {
    font-size: clamp(15.3px, 4.8vw, 19.8px);
  }
}
.p-index-lifestyle__details__wrapper {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__wrapper {
    padding-top: min(5.556vw, 88px);
    padding-bottom: min(5.556vw, 88px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__details__wrapper {
    padding-top: min(36.267vw, 149.6px);
    padding-bottom: min(10.667vw, 44px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__head {
    display: grid;
    align-items: center;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-index-lifestyle__details__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__title {
    font-size: clamp(20.4px, 1.667vw, 26.4px);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__details__title {
    font-size: clamp(15.3px, 4.8vw, 19.8px);
    text-align: left;
  }
}
.p-index-lifestyle__details__title::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  background-color: #b1ada9;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
  translate: 0 -0.075em;
}
.p-index-lifestyle__details__text {
  color: #6f6f6f;
  text-align: left;
  line-height: 2.2;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__text {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__details__text {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    margin-top: min(9.6vw, 39.6px);
  }
}
.p-index-lifestyle__details__text > small {
  font-size: 85%;
}
.p-index-lifestyle__details__column {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__column {
    grid-template-columns: repeat(3, 1fr);
    column-gap: min(1.389vw, 22px);
    margin-top: min(5.556vw, 88px);
  }
  .p-index-lifestyle__details__column.--narrow {
    width: clamp(697px, 56.944vw, 902px);
    margin-left: auto;
    margin-right: auto;
  }
  .p-index-lifestyle__details__column:has(.--narrow) {
    grid-template-columns: repeat(2, 1fr) auto;
    padding: 0 min(1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__details__column {
    grid-template-columns: repeat(1, 1fr);
    row-gap: min(10.667vw, 44px);
    margin-top: min(10.667vw, 44px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__column__item.--narrow {
    width: min(24.167vw, 382.8px);
  }
}
.p-index-lifestyle__details__column__image img {
  width: 100%;
}
.p-index-lifestyle__details__column__lead {
  font-weight: 500;
  line-height: 2.2;
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__column__lead {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    margin-top: min(1.944vw, 30.8px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__details__column__lead {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    margin-top: min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-lifestyle__details__notice {
    margin-top: min(2.778vw, 44px);
  }
  .p-index-lifestyle__details__notice.--narrow {
    width: clamp(697px, 56.944vw, 902px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-index-lifestyle__details__notice {
    margin-top: min(10.667vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__lead {
    padding-left: 0;
    padding-right: 0;
  }
}
.p-index-movie__link {
  background-color: #fff;
  display: block;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-index-movie__link {
    border-radius: min(0.694vw, 11px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__link {
    border-radius: min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-movie__link.--large {
    border-radius: min(1.389vw, 22px);
  }
}
.p-index-movie__link::before {
  content: "";
  position: absolute;
  background-image: url(../img/common/icon_play.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0.9;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-index-movie__link::before {
    width: min(5.347vw, 84.7px);
    height: min(5.347vw, 84.7px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__link::before {
    width: min(13.333vw, 55px);
    height: min(13.333vw, 55px);
  }
}
.p-index-movie__link.--black::before {
  background-image: url(../img/common/icon_play_black.svg);
  opacity: .6;
}
.p-index-movie__link__wrapper {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-index-movie__link__wrapper {
    width: min(55vw, 871.2px);
    margin-top: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__link__wrapper {
    margin-top: min(10.667vw, 44px);
  }
}
.p-index-movie__link__head {
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-index-movie__link__head {
    font-size: clamp(13.6px, 1.111vw, 17.6px);
    margin-top: min(1.111vw, 17.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__link__head {
    font-size: clamp(12.75px, 4vw, 16.5px);
    margin-top: min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-movie__link__head > span {
    font-size: clamp(10.2px, 0.833vw, 13.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__link__head > span {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.p-index-movie__link__text {
  color: #6f6f6f;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-index-movie__link__text {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    margin-top: min(0.556vw, 8.8px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__link__text {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    margin-top: min(2.133vw, 8.8px);
  }
}
.p-index-movie__link img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-index-movie__link img {
    transition: scale 1.2s cubic-bezier(0.23, 1, 0.33, 1.03);
  }
}
@media screen and (min-width: 768px) {
  .p-index-movie__link:hover img {
    scale: 1.05;
  }
}
.p-index-movie__block__container,
.p-index-movie__slider__container {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-index-movie__block__container,
  .p-index-movie__slider__container {
    margin-top: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__block__container,
  .p-index-movie__slider__container {
    margin-top: min(10.667vw, 44px);
  }
}
@media screen and (min-width: 541px) {
  .p-index-movie__block__wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-index-movie__block__wrapper {
    width: min(69.444vw, 1100px);
    column-gap: min(1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .p-index-movie__block__wrapper {
    width: min(186.667vw, 770px);
    column-gap: min(5.333vw, 22px);
  }
}
@media screen and (min-width: 541px) {
  .p-index-movie__block__wrapper.--single {
    justify-content: center;
  }
}
@media screen and (min-width: 541px) {
  .p-index-movie__block__item {
    width: calc((100% - min(1.389vw, 22px)) / 2);
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .p-index-movie__block__item {
    width: calc((100% - min(5.333vw, 22px)) / 2);
  }
}
@media screen and (max-width: 540px) {
  .p-index-movie__block__item {
    padding: 0 min(1.6vw, 6.6px);
  }
  .--single .p-index-movie__block__item {
    padding: 0 min(8vw, 33px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-movie__slider__wrapper {
    margin-left: -25%;
  }
}
@media screen and (min-width: 768px) {
  .p-index-movie__slider__item {
    padding: 0 min(0.556vw, 8.8px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__slider__item {
    padding: 0 min(1.6vw, 6.6px);
  }
}
.p-index-movie__slider__prev,
.p-index-movie__slider__next {
  background-color: #9a9a9a;
  border-radius: 50%;
  margin: 0;
  overflow: hidden;
  transition: opacity 0.4s ease;
}
.p-index-movie__slider__prev,
.p-index-movie__slider__next {
  background-color: #9a9a9a;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-index-movie__slider__prev,
  .p-index-movie__slider__next {
    width: min(3.889vw, 61.6px);
    height: min(3.889vw, 61.6px);
    top: min(7.2222vw, 114.4px);
    transition: background-color 0.4s ease;
  }
  .p-index-movie__slider__prev:hover,
  .p-index-movie__slider__next:hover {
    background-color: #c3c3c3;
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__slider__prev,
  .p-index-movie__slider__next {
    width: min(11.733vw, 48.4px);
    height: min(11.733vw, 48.4px);
    top: min(16.533vw, 68.2px);
  }
}
.p-index-movie__slider__prev::after,
.p-index-movie__slider__next::after {
  font-family: "Font Awesome 6 Pro";
  color: #fff;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
@media screen and (min-width: 768px) {
  .p-index-movie__slider__prev::after,
  .p-index-movie__slider__next::after {
    font-size: clamp(12.75px, 1.042vw, 16.5px);
  }
}
@media screen and (max-width: 767px) {
  .p-index-movie__slider__prev::after,
  .p-index-movie__slider__next::after {
    font-size: clamp(12.75px, 4vw, 16.5px);
  }
}
.p-index-movie__slider__prev.swiper-button-disabled,
.p-index-movie__slider__next.swiper-button-disabled {
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-index-movie__slider__prev {
    left: min(2.133vw, 8.8px);
  }
}
.p-index-movie__slider__prev::after {
  content: "\f104";
}
@media screen and (max-width: 767px) {
  .p-index-movie__slider__next {
    right: min(2.133vw, 8.8px);
  }
}
.p-index-movie__slider__next::after {
  content: "\f105";
}
@media screen and (min-width: 768px) {
  .p-index-movie__slider__prev {
    left: min(-1.388vw, -22px);
  }
}
@media screen and (min-width: 768px) {
  .p-index-movie__slider__next {
    right: min(-1.388vw, -22px);
  }
}
.p-index-movie__banner {
  position: absolute;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-index-movie__banner {
    bottom: calc(min(2.778vw, 44px) + 20);
    right: 20px;
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .p-index-movie__banner {
    right: 20px;
    bottom: 20px;
  }
}
@media screen and (max-width: 767px) and (max-width: 540px) {
  .p-index-movie__banner {
    right: 0;
    bottom: 10px;
  }
}
.p-index-movie__banner.is-fixed {
  position: fixed;
}
@media screen and (min-width: 768px) {
  .p-index-movie__banner.is-fixed {
    bottom: 70px;
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .p-index-movie__banner.is-fixed {
    bottom: 70px;
  }
}
@media screen and (max-width: 767px) and (max-width: 540px) {
  .p-index-movie__banner.is-fixed {
    bottom: 60px;
  }
}
.p-index-movie__banner__link {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-index-movie__banner__link {
    width: 381px;
  }
}
@media screen and (max-width: 767px) and (min-width: 541px) {
  .p-index-movie__banner__link {
    width: 381px;
  }
}
@media screen and (max-width: 767px) and (max-width: 540px) {
  .p-index-movie__banner__link {
    width: 100%;
  }
}
.p-index-movie__banner__link img {
  width: 100%;
}

.p-plan__logo {
  line-height: 0;
}
.p-plan__logo > img,
.p-plan__logo > picture img {
  width: 100%;
}
.p-plan-top__container {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-plan-top__container {
    padding-top: min(5.556vw, 88px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__container {
    padding-top: min(13.867vw, 57.2px);
  }
}
.p-plan-top__container::before {
  content: "";
  width: 100%;
  background-color: #f8f6ef;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-plan-top__container::before {
    height: calc(100% - clamp(85px, 6.944vw, 110px));
    border-bottom-right-radius: min(6.944vw, 110px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__container::before {
    height: calc(100% - clamp(68px, 21.333vw, 88px));
  }
}
.p-plan-top__section {
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-plan-top__section + .p-plan-top__section {
    margin-top: min(4.167vw, 66px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__section + .p-plan-top__section {
    margin-top: min(10.667vw, 44px);
  }
}
.p-plan-top__inner {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-plan-top__inner {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
}
.p-plan-top__image {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-plan-top__image {
    width: clamp(605.2px, 49.444vw, 783.2px);
    border-top-left-radius: min(1.389vw, 22px);
    border-bottom-left-radius: min(1.389vw, 22px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-plan-top__image {
    width: 50%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1681px) {
  .p-plan-top__image {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__image {
    width: calc(100% - min(8vw, 33px));
    border-top-left-radius: min(5.333vw, 22px);
    border-bottom-left-radius: min(5.333vw, 22px);
    margin-left: auto;
  }
}
.--reverse .p-plan-top__image {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
@media screen and (min-width: 768px) {
  .--reverse .p-plan-top__image {
    width: clamp(519.35px, 42.431vw, 672.1px);
    border-top-right-radius: min(1.389vw, 22px);
    border-bottom-right-radius: min(1.389vw, 22px);
  }
}
@media screen and (min-width: 768px) and (min-width: 1681px) {
  .--reverse .p-plan-top__image {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .--reverse .p-plan-top__image {
    border-top-right-radius: min(5.333vw, 22px);
    border-bottom-right-radius: min(5.333vw, 22px);
    margin-left: 0;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-plan-top__summary {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: min(9.444vw, 149.6px);
    padding-right: min(8.056vw, 127.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__summary {
    width: 100%;
    padding-left: min(8vw, 33px);
    padding-right: min(8vw, 33px);
    margin-top: min(10.667vw, 44px);
  }
}
@media screen and (min-width: 768px) {
  .--reverse .p-plan-top__summary {
    padding-right: min(8.333vw, 132px);
    padding-left: min(8.056vw, 127.6px);
  }
}
@media screen and (max-width: 767px) {
  .--reverse .p-plan-top__summary {
    margin-top: 0;
    margin-bottom: min(18.133vw, 74.8px);
  }
}
.p-plan-top__title {
  margin: auto;
}
@media screen and (min-width: 768px) {
  .p-plan-top__title {
    width: min(32.917vw, 521.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__title {
    width: min(84vw, 346.5px);
  }
}
.p-plan-top__lead {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #6f6f6f;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-plan-top__lead {
    font-size: clamp(17px, 1.389vw, 22px);
    margin-top: min(3.056vw, 48.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__lead {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    margin-top: min(7.467vw, 30.8px);
  }
}
.p-plan-top__text {
  color: #6f6f6f;
  line-height: 2.2;
}
@media screen and (min-width: 768px) {
  .p-plan-top__text {
    max-width: clamp(501.5px, 40.972vw, 649px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-top__note {
    font-size: clamp(10.2px, 0.833vw, 13.2px);
    margin-top: min(2.778vw, 44px);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-top__note {
    font-size: clamp(9.35px, 2.933vw, 12.1px);
    margin-top: min(7.467vw, 30.8px);
  }
}
.p-plan-top__note > span {
  font-size: 185%;
  display: inline-block;
  translate: 0 0.35em;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__container {
    padding-top: min(5.556vw, 88px);
    padding-bottom: min(7.639vw, 121px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__container {
    padding-top: min(10.667vw, 44px);
    padding-bottom: min(16vw, 66px);
  }
}
.p-plan-spec__wrapper {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__wrapper {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__summary {
    flex: 1;
  }
}
.p-plan-spec__drawing {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__type,
  .p-plan-spec__detail,
  .p-plan-spec__notice {
    width: min(39.583vw, 627px);
    margin-left: auto;
    margin-right: auto;
  }
}
.p-plan-spec__type,
.p-plan-spec__detail {
  color: #6f6f6f;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__type {
    font-size: clamp(10.2px, 0.833vw, 13.2px);
    margin-top: min(0.694vw, 11px);
  }
}
.p-plan-spec__type > b {
  font-weight: 400;
  margin-right: 0.25em;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__type > b {
    font-size: clamp(13.6px, 1.111vw, 17.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__type > b {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
  }
}
.p-plan-spec__detail {
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__detail {
    font-size: clamp(10.2px, 0.833vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__notice {
    margin-top: min(0.556vw, 8.8px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__notice {
    margin-top: min(2.133vw, 8.8px);
  }
}
.p-plan-spec__variation__block {
  background-color: #f8f6ef;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__variation__block {
    width: min(40.972vw, 649px);
    margin-top: min(4.167vw, 66px);
    margin-left: auto;
    margin-right: auto;
    padding: min(2.778vw, 44px) min(1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__variation__block {
    margin-top: min(10.667vw, 44px);
    padding: min(10.667vw, 44px) min(4.267vw, 17.6px);
  }
}
.p-plan-spec__variation__text {
  color: #6f6f6f;
  font-weight: 500;
  line-height: 2.2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__variation__text {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__variation__text {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__variation__button {
    margin-top: min(1.222vw, 35.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__variation__button {
    margin-top: min(6.4vw, 26.4px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__wrapper {
    width: min(30vw, 475.2px);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-left: min(2.778vw, 44px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__wrapper {
    margin-top: min(11.733vw, 48.4px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__block {
    width: 100%;
  }
  .p-plan-spec__lifestyle__block.--carbon {
    width: min(15.278vw, 242px);
  }
  .p-plan-spec__lifestyle__block.--resilience {
    width: min(12.917vw, 204.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__block {
    background-color: #f8f6ef;
    padding: 0 min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__block + .p-plan-spec__lifestyle__block {
    margin-top: min(1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__block + .p-plan-spec__lifestyle__block {
    margin-top: min(1.067vw, 4.4px);
  }
}
.p-plan-spec__lifestyle__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__title {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    padding-left: clamp(17px, 1.389vw, 22px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__title {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    padding: min(5.333vw, 22px) 0 min(5.333vw, 22px) min(3.2vw, 13.2px);
    transition: opacity 0.4s ease;
  }
  .is-active .p-plan-spec__lifestyle__title {
    opacity: 0.6;
  }
}
.p-plan-spec__lifestyle__title::before {
  content: "";
  background-color: #b1ada9;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  margin-top: 1px;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__title::before {
    width: clamp(5.95px, 0.486vw, 7.7px);
    height: clamp(5.95px, 0.486vw, 7.7px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__title::before {
    width: clamp(3.4px, 1.067vw, 4.4px);
    height: clamp(3.4px, 1.067vw, 4.4px);
  }
}
.p-plan-spec__lifestyle__title.--nodot {
  padding-left: 0;
}
.p-plan-spec__lifestyle__title.--nodot::before {
  content: none;
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__title::after {
    content: "\f107";
    font-family: "Font Awesome 6 Pro";
    font-size: clamp(8.5px, 2.667vw, 11px);
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    transition: scale 0.4s ease;
  }
  .is-active .p-plan-spec__lifestyle__title::after {
    scale: 1 -1;
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__details {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__details {
    display: none;
    padding-bottom: min(7.467vw, 30.8px);
  }
}
.p-plan-spec__lifestyle__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__list {
    grid-template-columns: repeat(5, 1fr);
    gap: min(1.111vw, 17.6px) min(0.556vw, 8.8px);
    margin-top: min(0.833vw, 13.2px);
  }
  .--carbon .p-plan-spec__lifestyle__list,
  .--resilience .p-plan-spec__lifestyle__list {
    grid-template-columns: repeat(auto-fill, min(5.556vw, 88px));
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.133vw, 8.8px) min(3.2vw, 13.2px);
    padding: 0 min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__item {
    max-width: min(5.556vw, 88px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__item {
    max-width: min(21.333vw, 88px);
  }
}
.p-plan-spec__lifestyle__item__head {
  color: #6f6f6f;
  text-align: center;
  line-height: 1.5;
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-plan-spec__lifestyle__item__head {
    font-size: clamp(9.35px, 0.764vw, 12.1px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-spec__lifestyle__item__head {
    font-size: clamp(9.35px, 2.933vw, 12.1px);
  }
}
.p-plan-gallery__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-plan-gallery__list {
    row-gap: min(1.067vw, 4.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-gallery__list {
    row-gap: min(1.6vw, 6.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-gallery__list.--pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-plan-gallery__list.--sp {
    display: none;
  }
}
.p-plan-gallery__item > img,
.p-plan-gallery__item > picture img {
  width: 100%;
}
.p-plan-aside__container {
  background-color: #f8f6ef;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-plan-aside__container {
    padding-top: min(6.944vw, 110px);
    padding-bottom: min(8.333vw, 132px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-aside__container {
    padding-top: min(16vw, 66px);
    padding-bottom: min(21.333vw, 88px);
  }
}
.p-plan-aside__plan__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-plan-aside__plan__list {
    column-gap: min(1.389vw, 22px);
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-aside__plan__list {
    row-gap: min(5.333vw, 22px);
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-plan-aside__plan__item__image > img,
.p-plan-aside__plan__item__image > picture img {
  width: 100%;
}
.p-plan-aside__plan__item__link {
  background-color: #ffffff;
  text-decoration: none !important;
  display: block;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-plan-aside__plan__item__link {
    border-radius: min(0.694vw, 11px);
  }
  .p-plan-aside__plan__item__link:hover::before {
    background-color: #c3c3c3;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-aside__plan__item__link {
    border-radius: min(2.667vw, 11px);
  }
}
.p-plan-aside__plan__item__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-plan-aside__plan__item__inner {
    padding: min(1.389vw, 22px) 0 min(1.667vw, 26.4px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-aside__plan__item__inner {
    padding: min(6.4vw, 26.4px) 0 min(8.533vw, 35.2px);
  }
}
.p-plan-aside__plan__item__title {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-plan-aside__plan__item__title {
    width: min(17.778vw, 281.6px);
  }
}
@media screen and (max-width: 767px) {
  .p-plan-aside__plan__item__title {
    width: min(68.267vw, 281.6px);
  }
}
.p-plan-aside__plan__item__lead {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体",
    "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ",
    sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #4a4848;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-plan-aside__plan__item__lead {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    margin-top: min(0.833vw, 13.2px);
    transition: opacity 0.4s ease;
  }
  .p-plan-aside__plan__item:hover .p-plan-aside__plan__item__lead {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-aside__plan__item__lead {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    margin-top: min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .p-plan-aside__top__button {
    margin-top: min(5.556vw, 88px);
/*    margin-bottom: min(6.944vw, 110px); */
  }
}
@media screen and (max-width: 767px) {
  .p-plan-aside__top__button {
    margin-top: min(10.667vw, 44px);
    /* margin-bottom: min(16vw, 66px); */
  }
}

.u-link-arrow {
  position: relative;
  overflow: hidden;
}
.u-link-arrow::before,
.u-link-arrow::after {
  position: absolute;
}
.u-link-arrow::before {
  content: "";
  background-color: #9a9a9a;
  border-radius: 50%;
  z-index: 1;
  transition: background-color 0.4s ease;
}
@media screen and (min-width: 768px) {
  .u-link-arrow::before {
    width: min(1.667vw, 26.4px);
    height: min(1.667vw, 26.4px);
    bottom: min(0.833vw, 13.2px);
    right: min(0.833vw, 13.2px);
  }
}
@media screen and (max-width: 767px) {
  .u-link-arrow::before {
    width: min(5.333vw, 22px);
    height: min(5.333vw, 22px);
    bottom: min(3.2vw, 13.2px);
    right: min(3.2vw, 13.2px);
  }
}
@media screen and (min-width: 768px) {
  .u-link-arrow.--black::before {
    background-color: #4a4848;
  }
  .u-link-arrow.--black:hover::before {
    background-color: #c3c3c3;
  }
}
.u-link-arrow::after {
  color: #fff;
  font-family: "Font Awesome 6 Pro";
  font-weight: 700;
  content: "\f105";
  line-height: 1;
  position: absolute;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .u-link-arrow::after {
    font-size: min(0.903vw, 14.3px);
    bottom: min(1.181vw, 18.7px);
    right: min(1.319vw, 20.9px);
  }
}
@media screen and (max-width: 767px) {
  .u-link-arrow::after {
    font-size: min(2.667vw, 11px);
    bottom: min(4.533vw, 18.7px);
    right: min(5.067vw, 20.9px);
  }
}


.mode-sp div{display: block;}
.mode-sp .swiper-wrapper{
    display: flex;
    transform: initial;
  }
.mode-sp ul{
  display:flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.mode-sp ul li{text-indent: -10px;
}
.mode-sp ul li:first-child{ padding-right: 15px;}
@media screen and (max-width: 767px) {
  .mode-sp ul{
    flex-direction: column;
  }
  .mode-sp .swiper-wrapper{
    flex-direction: column;
    transform: none !important;
  }
  .mode-sp .swiper-wrapper div:nth-child(1){order: 2}
  .mode-sp .swiper-wrapper div:nth-child(2){order: 3}
  .mode-sp .swiper-wrapper div:nth-child(3){order: 1}
  .mode-sp .swiper-wrapper div:nth-child(n+4) {
    display: none;
  }
  .mode-sp .swiper-button-next,
  .mode-sp .swiper-button-prev{display: none !important;}
  .mode-sp .p-index-movie__slider__item{ margin:auto; }
}

.u-anim__fadeIn {
  opacity: 0;
  transition: opacity 0.45s ease;
}
.u-anim__fadeIn.is-scrolled {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .u-anim__fadeIn--pc {
    opacity: 0;
    transition: opacity 0.45s ease;
  }
  .u-anim__fadeIn--pc.is-scrolled {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .u-anim__fadeIn--sp {
    opacity: 0;
    transition: opacity 0.45s ease;
  }
  .u-anim__fadeIn--sp.is-scrolled {
    opacity: 1;
  }
}
.u-anim__fadeIn__order > * {
  opacity: 0;
  transition: opacity 0.45s ease;
}
.u-anim__fadeIn__order > *:nth-child(2) {
  transition-delay: 0.4s;
}
.u-anim__fadeIn__order > *:nth-child(3) {
  transition-delay: 0.8s;
}
.u-anim__fadeIn__order > *:nth-child(4) {
  transition-delay: 1.2s;
}
.u-anim__fadeIn__order > *:nth-child(5) {
  transition-delay: 1.6s;
}
.u-anim__fadeIn__order > *:nth-child(6) {
  transition-delay: 2s;
}
.u-anim__fadeIn__order.is-scrolled > * {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .u-anim__fadeIn__order--pc > * {
    opacity: 0;
    transition: opacity 0.45s ease;
  }
  .u-anim__fadeIn__order--pc > *:nth-child(1) {
    transition-delay: 0.4s;
  }
  .u-anim__fadeIn__order--pc > *:nth-child(2) {
    transition-delay: 0.8s;
  }
  .u-anim__fadeIn__order--pc > *:nth-child(3) {
    transition-delay: 1.2s;
  }
  .u-anim__fadeIn__order--pc > *:nth-child(4) {
    transition-delay: 1.6s;
  }
  .u-anim__fadeIn__order--pc > *:nth-child(5) {
    transition-delay: 2s;
  }
  .u-anim__fadeIn__order--pc.is-scrolled > * {
    opacity: 1;
  }
}
.u-anim--delay--1 {
  transition-delay: 0.4s;
}
.u-anim--delay--2 {
  transition-delay: 0.8s;
}
.u-anim--delay--3 {
  transition-delay: 1.2s;
}
.u-anim--delay--4 {
  transition-delay: 1.6s;
}
.u-anim--delay--5 {
  transition-delay: 2s;
}
@media screen and (min-width: 768px) {
  .u-anim--delay--pc--1 {
    transition-delay: 0.4s;
  }
  .u-anim--delay--pc--2 {
    transition-delay: 0.8s;
  }
  .u-anim--delay--pc--3 {
    transition-delay: 1.2s;
  }
  .u-anim--delay--pc--4 {
    transition-delay: 1.6s;
  }
  .u-anim--delay--pc--5 {
    transition-delay: 2s;
  }
}
@media screen and (max-width: 767px) {
  .u-anim--delay--sp--1 {
    transition-delay: 0.4s;
  }
  .u-anim--delay--sp--2 {
    transition-delay: 0.8s;
  }
  .u-anim--delay--sp--3 {
    transition-delay: 1.2s;
  }
  .u-anim--delay--sp--4 {
    transition-delay: 1.6s;
  }
  .u-anim--delay--sp--5 {
    transition-delay: 2s;
  }
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: flex !important;
  align-items: center;
}

.d-flex-center {
  justify-content: center;
  align-items: center;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media screen and (max-width: 767px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
    align-items: center;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media screen and (max-width: 540px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
    align-items: center;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (max-width: 480px) {
  .foot_recommend_head {
    padding: 0 !important;
  }
}

#footer_area #btn_top {
  background-color: #f8f6ef !important;
}

.video-js .vjs-dock-title {
  text-align: left;
}


/*建売会場一覧*/
    #tateuri{ padding:110px 0; }
    #tateuri h2 br{display: none;}
    #tateuri p.lead{
    color: #6f6f6f;
    line-height: 2.2; font-size:12px; padding: 0 0 30px; text-align:center; font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
    #tateuri p.caution{
    color: #6f6f6f; text-align: right;
    width: 1200px;
    margin: auto;
    line-height: 2.2; font-size:12px; padding: 30px 0 0; text-align:right; font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }

    #tateuri .wrap{
        width: 100%;
        max-width:1150px;
        margin:auto;
    }
    #tateuri .wrap ul{
        display: flex;
        justify-content:space-between;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    #tateuri li{ 
        border-bottom:1px solid #c4c4c4;
        list-style:none;
        padding:5px 0;
        width:49.5%;
        font-size:12px;
    }
    #tateuri li:nth-child(-n+2){ border-bottom:none; }
    #tateuri table{ table-layout: auto;}
    #tateuri .tateuri_head td{
        background: #b0ada9;
        border-left: 1px solid #fff;
        color:#fff;
    }
    #tateuri li td{
        background: none;
        font-size: 12px;
        letter-spacing:0px;
        padding: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    #tateuri a{
        background-color: #d55b5a;
        border-color: #d55b5a;
        color: #fff;
        padding: 3px 8px;
        border-radius: 4px;
    }
    #tateuri a:hover{ background:#ccc; }
    #tateuri .tateuri_head td:nth-child(1){ width:64px; text-align:center;}
    #tateuri .tateuri_head td:nth-child(2){ width:130px; text-align:center;}
    #tateuri .tateuri_head td:nth-child(3){ width:175px; text-align:center;}
    #tateuri .tateuri_head td:nth-child(4){ width:140px; text-align:center;}
    #tateuri .tateuri_head td:nth-child(5){ width:62px; }
    #tateuri td:nth-child(1){ width:64px; max-width:64px; text-align:center; }
    #tateuri td:nth-child(2){ width:130px; max-width:130px; text-align:center; }
    #tateuri td:nth-child(3){ width:175px; max-width:175px; text-align:left; }
    #tateuri td:nth-child(4){ width:140px; max-width:140px; text-align:left;  }
    #tateuri td:nth-child(5){ width:62px; max-width:62px; text-align:center; }
    @media screen and (max-width: 767px) {
        #tateuri{ padding:60px 0; }
        #tateuri table { table-layout: auto; margin: auto; width: 100%;}
        #tateuri h2 br{ display:block; }
        #tateuri p.lead { text-align:left; padding: 0 5% 30px; line-height: 1.7; }
        #tateuri p.lead br{ display:none; }
        #tateuri p.caution{ padding: 30px 5% 0; width: auto; text-align: center;}
        #tateuri .wrap{ width: 90%; max-width: none !important; margin:auto;}
        #tateuri .wrap ul{ flex-direction: column;}
        #tateuri .wrap li{ width: 100%; display: inline-block; padding: 10px 0;}
        #tateuri .wrap li:nth-child(2){ display: none;}
        #tateuri td{font-size: 10px;}
        #tateuri .tateuri_head td:nth-child(1){ width:50px; text-align:center;}
        #tateuri .tateuri_head td:nth-child(2){ width:50px; text-align:center;}
        #tateuri .tateuri_head td:nth-child(3){ width:100px; text-align:center;}
        #tateuri .tateuri_head td:nth-child(4){ width:50px; text-align:center;}
        #tateuri .tateuri_head td:nth-child(5){ width:50px; }
        #tateuri td:nth-child(1){ width:50px; max-width:50px; text-align:left; }
        #tateuri td:nth-child(2){ width:50px; max-width:50px; text-align:left; }
        #tateuri td:nth-child(3){ width:100px; max-width:100px; text-align:left; }
        #tateuri td:nth-child(4){ width:50px; max-width:50px; text-align:left;  }
        #tateuri td:nth-child(5){ width:50px; max-width:50px; text-align:center; }
    }

/* vismo調整用  */
  .p-index-section .ecbn-selection-widget {
    max-width: none;
    margin: auto;
  }

  .p-index-section .vsm-slider .ecbn-selection-widget-new div.ecbn-selection-wrapper {
    min-width: auto !important;
    margin: 0;
    overflow: visible;
  }

  .p-index-section .vsm-slider .ecbn-selection-wrapper .ecbn-selection-description, .p-index-section .vsm-slider .ecbn-selection-wrapper .ecbn-selection-title {
    width: 100%;
    margin-inline: auto;
  }

  @media screen and (min-width: 768px) {
    .p-index-section .vsm-slider .ecbn-selection-wrapper .ecbn-selection-description, .p-index-section .vsm-slider .ecbn-selection-wrapper .ecbn-selection-title {
      max-width: min(83.056vw, 1315.6px);
    }
  }

  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slide-wrapper {
    width: 100%;
  }

  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slide-wrapper .ecbn-selection-snap {
    display: flex;
    margin: 0;
  }

  .p-index-section .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item, .p-index-section .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item {
    float: none;
    padding: 0;
  }

  @media screen and (min-width: 768px) {
    .p-index-section .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item,   .p-index-section .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item {
      margin-right: 0.833333vw;
    }
  }

  @media screen and (max-width: 767px) {
    .p-index-section .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item,   .p-index-section .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item {
      margin-right: 1.6vw;
    }
  }

  @media screen and (min-width: 768px) {
    .p-index-section .ecbn-selection-widget-new .ecbn-selection-item > div {
      width: 15.76388888vw;
    }  
  }

  .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item>div>a, .p-index-section .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item>div>a {
    height: auto;
    aspect-ratio: 161 / 286;
    overflow: hidden;
  }

  @media screen and (min-width: 768px) {
    .p-index-section .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item>div>a, .p-index-section .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item>div>a {
      width: 100%;
      border-radius: 10px;
    }
  }

  @media screen and (max-width: 767px) {
    .p-index-section .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item>div>a, .p-index-section .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item>div>a {
      width: 32.533333vw;
      border-radius: 12px;
      height: 100%;
    }
  }

  .p-index-section .ecbn-selection-item .ecbn-selection-detail--caption, .p-index-section .ecbn-selection-item .ecbn-selection-detail--free-comment {
    width: auto;
    max-height: none;
    padding: 0;
  }

  .p-index-section .ecbn-selection-item .ecbn-selection-detail--caption .ecbn-selection-caption, .p-index-section .ecbn-selection-item .ecbn-selection-detail--free-comment .ecbn-selection-free-comment {
    text-align: center;
    line-height: 1.2;
  }

  @media screen and (min-width: 768px) {
    .p-index-section .ecbn-selection-item .ecbn-selection-detail--caption .ecbn-selection-caption, .p-index-section .ecbn-selection-item .ecbn-selection-detail--free-comment .ecbn-selection-free-comment {
      font-size: clamp(13.6px, 1.111vw, 17.6px);
      margin-top: min(1.111vw, 17.6px);
    }
  }

  @media screen and (max-width: 767px) {
    .p-index-section .ecbn-selection-item .ecbn-selection-detail--caption .ecbn-selection-caption, .p-index-section .ecbn-selection-item .ecbn-selection-detail--free-comment .ecbn-selection-free-comment {
      font-size: 3.466666vw;
      margin-top: min(3.2vw, 13.2px);
    }
  }

  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev,
  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next {
    background-color: #9a9a9a;
    border-radius: 50%;
    margin: 0;
    overflow: hidden;
    transition: opacity 0.4s ease;
    opacity: 1;
  }

  @media screen and (min-width: 768px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev,
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next {
      width: 3.889vw;
      height: 3.889vw;
      top: 13.1944444vw;
      transition: background-color 0.4s ease;
    }
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev:hover,
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next:hover {
      background-color: #c3c3c3;
    }
  }
  @media screen and (max-width: 767px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev,
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next {
      width: 11.733vw;
      height: 11.733vw;
      top: 29.866666vw;
    }
  }
  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev::before,
  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next::before {
    font-family: "Font Awesome 6 Pro";
    color: #fff;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    bottom: auto;
    border: none;
    width: auto;
    height: auto;
    text-indent: 0;
  }
  @media screen and (min-width: 768px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev::before,
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next::before {
      font-size: 1.042vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev::before,
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next::before {
      font-size: 4vw;
    }
  }
  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev.swiper-button-disabled,
  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next.swiper-button-disabled {
    opacity: 0;
  }
  @media screen and (min-width: 768px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev {
      left: 13.611111vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev {
      left: 2.133vw;
    }
  }
  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-prev::before {
    content: "\f104";
  }
  @media screen and (min-width: 768px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next {
      right: 13.611111vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next {
      right: 2.133vw;
    }
  }
  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next::before {
    content: "\f105";
  }

  .p-index-section .ecbn-selection-wrapper .ecbn-selection-slide-wrapper a:hover img, .p-index-section .ecbn-selection-wrapper .ecbn-selection-slide-wrapper a:hover video.ecbn-selection-video-play {
    opacity: 1;
  }

  #__inner_lightbox.ecbn-selection-preview div.ecbn-selection-preview-overlay {
    background-color: rgb(248, 246, 239);
    opacity: .95 !important;
  }

  #__inner_lightbox.ecbn-selection-preview div.ecbn-selection-preview-overlay {
    background-color: rgb(248, 246, 239);
    opacity: .95 !important;
  }

  #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-close {
    width: 52px;
    height: 52px;
    background-color: #fff;
    border-radius: 50%;
    border: #9a9a9a solid 1px;
    position: absolute;
    top: 20px;
    right: 20px;
  }

  #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-close::before {
    content: "\f00d";
    font-family: "Font Awesome 6 Pro";
    font-size: 17px;
    font-weight: 300;
    width: auto;
    height: auto;
    color: #9a9a9a;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  @media screen and (min-width: 768px) {
    #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-close:hover::before {
      color: #fff;
    }
  }

  @media screen and (min-width: 768px) {
    #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-close, #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-close::before {
      transition: background-color 0.4s ease;
    }

    #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-close:hover {
      background-color: #9a9a9a;
    }
  }

  #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-close::after {
    content: none;
  }

  #__inner_lightbox.ecbn-selection-preview .ecbn-selection-right div.ecbn-selection-right-header {
    display: none;
  }

  #__inner_lightbox.ecbn-selection-preview-new div.noProductsMsg {
    height: 0;
  }

  @media screen and (min-width: 768px) {
    #__inner_lightbox.ecbn-selection-preview .ecbn-selection-right {
      padding-top: 50px;
    }
  
    #__inner_lightbox.ecbn-selection-preview .ecbn-selection-preview-caption p {
      height: 420px;
    }
  }


/* 省エネ大賞ロゴ設置 */
img.shouene_sp{ display:none; }
img.shouene{
    position: absolute;
    width: 130px !important;
    border-radius: 20px 0 0 0;
  }
  @media (max-width: 480px) {
      img.shouene{
        width: 22% !important;
    }
      img.shouene_sp{
        display: block;
        position: absolute;
        width: 22% !import;
      }
  }
.new_plan_topic{
  color: #2d518f;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 7px;
  font-weight: bold;
  padding-top: 20px;
}
.new_plan_topic::before {
  content: ""; /* 疑似要素には content プロパティが必須 */
  display: inline-block; /* 画像のサイズを制御し、テキストと並列に表示 */
  width: 4.5vw;
  height: 4.5vw;
  background-image: url('/kodate/syouhin/smart_style_roomie/assets/img/new_icon.png'); /* アイコン画像のパス */
  background-size: contain; /* 画像が要素内に収まるように調整 */
  background-repeat: no-repeat; /* 画像の繰り返しを防ぐ */
  vertical-align: middle; /* テキストとアイコンの垂直方向の位置を調整 */
  margin-right: 5px; /* アイコンとテキストの間に余白を追加 */
}
@media screen and (max-width: 767px) {
  .new_plan_topic::before {
  width: 14vw;
  height: 14vw;
  }
}
.new_plan_topic{
  text-align:center;
  margin: 0;
  opacity: 0;
  transition: opacity 0.45s ease; /* 0.45秒でフェードイン */
  transition-delay: 0.1s !important;
}
/* SMART STYLE Roomie - picture.new_plan フェードインアニメーション用スタイル */

/* 対象要素の初期状態（非表示） */
picture.new_plan {
  opacity: 0;
  transition: opacity 0.45s ease; /* 0.45秒でフェードイン */
  transition-delay: 0.8s !important;
}
/* 画面内に入った時の状態（表示） */
picture.new_plan.is-visible, 
.new_plan_topic.is-visible {
  opacity: 1;
}

/*
  既存の `picture.new_plan img` に設定されている可能性のある 
  `transition-delay` を上書きして、意図しない遅延を防ぐ。
*/
picture.new_plan.is-visible img {
  transition-delay: 0s !important;
}