@charset "UTF-8";
/* === Swiper === */
/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap");
@import "https://use.typekit.net/pwx1jlo.css";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap");
@import "https://use.typekit.net/pwx1jlo.css";
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform,height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

/* === Header / Footer === */
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

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

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

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

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 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 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

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

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

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

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

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

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

/**
 * 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;
}

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

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

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

/*# sourceMappingURL=normalize.css.map */
body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 16px;
}

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

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}
.acc_skip {
  position: absolute;
  z-index: -10;
  visibility: hidden;
  font-size: 0.1%;
  width: 1px;
  opacity: 0;
}

body#main {
  width: 100%;
}

.wholewrapper * {
  box-sizing: border-box;
}

.wholewrapper *::before, .wholewrapper *::after {
  box-sizing: border-box;
}

.wholewrapper img {
  vertical-align: top;
}

.page_frame.side_none .header {
  width: 100%;
}

.page_frame.side_none .contents_wrap {
  margin: 60px 0 0;
  padding-bottom: 0;
}

@media screen and (max-width: 980px) {
  .page_frame.side_none .contents_wrap {
    margin-top: 125px;
  }
}
.header {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 10;
  width: 220px;
  border-right: 1px solid #e2e2e2;
  background-color: #fff;
}

@media screen and (max-width: 980px) {
  .header {
    right: 0;
    width: auto;
    bottom: auto;
    height: 60px;
  }

  .header.open::after {
    content: "";
    position: absolute;
  }
}
.page_frame.side_none .header {
  right: 0;
  width: auto;
  bottom: auto;
  height: 60px;
}

.page_frame.side_none .header.open::after {
  content: "";
  position: absolute;
}

.header .header_inner {
  position: sticky;
  top: 0;
  display: flex;
  flex-flow: column wrap;
  min-height: 795px;
  height: 100vh;
}

@media screen and (max-width: 767px) {
  .header .header_inner {
    display: block;
  }
}
@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner {
    height: 100vh;
    min-height: inherit;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 2;
    height: 60px;
    min-height: auto;
    background-color: #fff;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}
.page_frame.side_none .header .header_inner {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 2;
  height: 60px;
  min-height: auto;
  background-color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.page_frame.side_none .header .header_inner .header_logo {
  align-self: center;
}

.page_frame.side_none .header .header_inner .header_logo a {
  padding: 4px 15px 0;
}

.header .header_inner .header_logo {
  margin: 0;
  text-align: center;
  line-height: 0;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_logo {
    align-self: center;
  }
}
.header .header_inner .header_logo a {
  display: block;
  padding: 30px 0 29px;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_logo a {
    max-height: 73px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_logo a {
    padding: 4px 15px 0;
  }
}
.header .header_inner .header__menu {
  display: flex;
  flex-flow: column nowrap;
  flex: 1 1 auto;
  max-height: calc(100vh - 74px);
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu {
    display: block;
  }
}
@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header__menu {
    max-height: calc(100vh - 74px);
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu {
    display: none;
    overflow-y: scroll;
    height: auto;
    min-height: inherit;
    max-height: calc(100vh - 60px);
  }

  .header .header_inner .header__menu.open {
    display: block;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    background-color: #fff;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
  }
}
.page_frame.side_none .header .header_inner .header__menu {
  display: none;
  overflow-y: scroll;
}

.page_frame.side_none .header .header_inner .header__menu.open {
  display: block;
  position: fixed;
  top: 60px;
  width: 650px;
  left: auto;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-color: #fff;
}

@media print, screen and (min-width: 981px) {
  .page_frame.side_none .header .header_inner .header__menu.open {
    width: 650px;
  }
}
@media screen and (max-width: 980px) {
  .page_frame.side_none .header .header_inner .header__menu.open {
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list {
    margin-bottom: 26px;
  }

  .header .header_inner .header__menu_list > li + li {
    margin-top: 10px;
  }
}
.header .header_inner .header__menu_list ul.depth1 {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #efefef;
}

.header .header_inner .header__menu_list li.depth1 {
  border-bottom: 1px solid #efefef;
  font-family: 'Noto Serif JP', serif;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.03em;
  font-weight: 500;
  position: relative;
}

.header .header_inner .header__menu_list li.depth1.menu_s {
  font-size: 13px;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header__menu_list li.depth1 {
    font-size: 13px;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1 {
    border-bottom: 1px solid #cecece;
    padding: 1px 0;
    font-size: 18px;
    line-height: 20px;
    letter-spacing: 0.03em;
    font-weight: bold;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list li.depth1 {
  background-color: #f8f8f8;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a {
  background-color: #fff;
}

.header .header_inner .header__menu_list li.depth1 > a {
  display: block;
  padding: 12px 15px 13px;
  background: url(../media/images/common/2023/gnavi_triangle.svg) no-repeat right 14px center;
  color: #000;
  text-decoration: none;
}

@media print, screen and (min-width: 981px) and (max-height: 700px) {
  .header .header_inner .header__menu_list li.depth1 > a {
    padding: 10px 16px;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1 > a {
    display: block;
    padding: 19px 15px;
    background: none;
    color: #000;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a {
  background-image: none;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > a {
  background-color: #fff;
  background-image: none;
  color: #fff;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > .menu_wrap {
  position: static;
  display: block;
  background: #f8f8f8;
}

@media print, screen and (min-width: 981px) {
  .page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > .menu_wrap {
    background: #f8f8f8;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > .menu_wrap ul.depth2 {
    background: none;
  }
}
.header .header_inner .header__menu_list li.depth1 .disable {
  pointer-events: none;
}

@media print, screen and (min-width: 981px) {
  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > a {
    background-color: #3674bb;
    background-image: url(../media/images/common/2023/gnavi_triangle_open.svg);
    color: #fff;
  }

  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > .menu_wrap {
    position: absolute;
    top: 0;
    left: 220px;
    display: block;
  }
}
@media print, screen and (min-width: 981px) and (min-width: 981px) {
  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > .menu_wrap {
    background: linear-gradient(135deg, rgba(0, 100, 182, 0.9) 0%, rgba(89, 195, 166, 0.9) 100%);
  }

  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > .menu_wrap ul.depth2 {
    background: none;
  }
}
@media print, screen and (min-width: 981px) {
  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > ul.depth2 {
    display: flex;
  }
}
.header .header_inner .header__menu_list li.depth1 > .menu_wrap {
  display: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1 > .menu_wrap {
    display: block;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > .menu_wrap {
  display: block;
}

.header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2 {
  position: static;
  display: flex;
}

.header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2:first-child {
  padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2:first-child {
    padding-bottom: 0;
  }
}
.header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2 + ul.depth2 {
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2 + ul.depth2 {
    padding-top: 0;
  }
}
.header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
  padding: 37px 40px 30px;
  width: 520px;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
  position: static;
  display: flex;
  width: 100%;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
    padding: 22px 30px 0;
    width: 100%;
  }
}
.header .header_inner .header__menu_list li.depth1.campaign li.depth2 {
  flex: 0 0 200px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1.campaign li.depth2 {
    flex: 0 0 45%;
  }
}
.header .header_inner .header__menu_list li.depth1.campaign .menu_thumbnail {
  height: 140px;
  aspect-ratio: 200/140;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1.campaign .menu_thumbnail {
    height: 105px;
    aspect-ratio: 150/105;
  }
}
@media print, screen and (min-width: 981px) {
  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
    gap: 10px 1%;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign li.depth2 {
    flex: 0 0 30%;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign li.depth2 .menu_thumbnail {
    width: 100%;
    height: auto;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign li.depth2 .menu_thumbnail img {
    width: 100%;
  }
}
.header .header_inner .header__menu_list li.depth1.create ul.depth2 {
  padding: 30px 30px 30px;
  width: 630px;
  gap: 30px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1.create ul.depth2 {
    padding: 22px 30px 0;
    width: 100%;
    gap: 5px 0;
  }
}
.header .header_inner .header__menu_list ul.depth2 {
  display: none;
  list-style: none;
  position: absolute;
  top: 0;
  left: 220px;
  width: 480px;
  background: linear-gradient(135deg, rgba(0, 100, 182, 0.9) 0%, rgba(89, 195, 166, 0.9) 100%);
  padding: 51px 50px 49px;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 28px 40px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: normal;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list ul.depth2 {
    position: static;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 22px 22px 8px;
    background: #f8f8f8;
    width: 100%;
    gap: inherit;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list ul.depth2 {
    justify-content: space-between;
    padding: 22px 30px 8px;
    gap: 5px 0;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 {
  display: flex;
  flex-flow: row wrap;
  position: static;
  background: #f8f8f8;
}

.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 a {
  color: #000;
}

.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 li.depth2 > a {
  background: url(../media/images/common/2023/gnavi_lower_arrow_bk.svg) no-repeat right 1px bottom 8px;
}

.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 li.depth2.text_menu a {
  border-bottom: 1px solid #000;
}

.header .header_inner .header__menu_list li.depth2 {
  flex: 0 0 170px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth2 {
    padding-bottom: 18px;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.03em;
    font-weight: 500;
  }

  .header .header_inner .header__menu_list li.depth2 > a {
    display: block;
    color: #000;
  }

  .header .header_inner .header__menu_list li.depth2.text_menu {
    flex: 0 0 28%;
  }
}
@media screen and (max-width: 980px) and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth2.text_menu {
    max-width: inherit;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth2 {
    flex: 0 0 45%;
    max-width: 150px;
  }
}
.header .header_inner .header__menu_list li.depth2.text_menu > a {
  border-bottom: 1px solid #fff;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header__menu_list li.depth2.text_menu > a {
    transition: 0.3s;
  }

  .header .header_inner .header__menu_list li.depth2.text_menu > a:hover {
    opacity: 0.85;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth2.text_menu > a {
    border-bottom: 1px solid #000;
  }
}
.header .header_inner .header__menu_list li.depth2 .menu_thumbnail {
  margin-bottom: 6px;
  height: 91px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth2 .menu_thumbnail {
    margin-bottom: 1px;
  }
}
.header .header_inner .header__menu_list li.depth2 .menu_thumbnail img {
  object-fit: contain;
  height: 100%;
  max-width: 100%;
}

.header .header_inner .header__menu_list li.depth2 > a {
  display: block;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
  letter-spacing: 0;
  background: url(../media/images/common/2023/gnavi_lower_arrow.svg) no-repeat right 1px bottom 8px;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header__menu_list li.depth2 > a {
    transition: 0.5s;
  }

  .header .header_inner .header__menu_list li.depth2 > a .menu_thumbnail {
    overflow: hidden;
  }

  .header .header_inner .header__menu_list li.depth2 > a .menu_thumbnail img {
    transition: 0.45s;
  }

  .header .header_inner .header__menu_list li.depth2 > a:hover img {
    transform: scale(1.06);
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth2 > a {
    background: url(../media/images/common/2023/gnavi_lower_arrow_bk.svg) no-repeat right 1px bottom 8px;
    font-size: 12px;
    font-weight: normal;
    color: #000;
  }
}
.header .header_inner .header_banner {
  margin-top: 20px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_banner {
    display: none;
  }
}
.header .header_inner .header_banner a {
  display: block;
  padding-left: 1px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  color: #000;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 500;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_banner a {
    transition: 0.5s;
  }

  .header .header_inner .header_banner a:hover {
    filter: brightness(1.03);
  }
}
.header .header_inner .header_banner a img {
  display: block;
  width: 180px;
  aspect-ratio: 180 / 110;
  object-fit: cover;
  margin: 0 auto;
}

.header .header_inner .header_banner a span {
  display: block;
  margin-top: 9px;
  padding-left: 9px;
}

.header .header_inner .header_banner_overlap {
  margin: 18px 0 9px;
  padding: 0 20px;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_banner_overlap {
    transition: 0.5s;
  }

  .header .header_inner .header_banner_overlap:hover {
    opacity: 0.85;
  }
}
@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_banner_overlap {
    margin-top: 15px;
    margin-bottom: 0px;
    padding: 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_banner_overlap {
    display: none;
  }
}
.header .header_inner .header_banner_overlap .item {
  position: relative;
  display: table;
  margin: 0 auto;
}

.header .header_inner .header_banner_overlap a {
  display: block;
  text-decoration: none;
}

.header .header_inner .header_banner_overlap img {
  max-width: 100%;
}

.header .header_inner .header_banner_overlap span {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 6px 19px 6px 10px;
  background: linear-gradient(90deg, rgba(0, 100, 182, 0.9) 0%, rgba(89, 195, 166, 0.9) 100%);
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #fff;
}

.header .header_inner .header_banner_overlap span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.5px 0 4.5px 5px;
  border-color: transparent transparent transparent #fff;
}

.header .header_inner .header_buttons {
  margin: 21px 0 0;
  padding: 0 19.5px;
  list-style: none;
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons {
    margin: auto auto 0;
    padding-top: 30px;
    padding-bottom: 55px;
    max-width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons {
    padding-top: 0px;
    padding-bottom: 20px;
  }
}
.header .header_inner .header_buttons li {
  margin-top: 6px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.03em;
  padding-left: 1px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons li {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons li {
    margin-top: 7px;
  }
}
.header .header_inner .header_buttons li a {
  display: block;
  padding: 12px 0 9px 0.03em;
  color: #fff;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons li a {
    transition: 0.5s;
  }

  .header .header_inner .header_buttons li a:hover {
    opacity: 0.85;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons li a {
    padding: 12px 0 13px 0.03em;
  }
}
.header .header_inner .header_buttons li.catalog a {
  background: #0064b6 url(../media/images/common/2023/header_catalog_icon.svg?v=2) no-repeat right 13px center;
}

.header .header_inner .header_buttons li.contact a {
  background: #42bfb6 url(../media/images/common/2023/header_contact_icon.svg) no-repeat right 14px center;
}

.header .header_inner .header_buttons li.movie a {
  background: #071f60;
}

.header .header_inner .header_buttons_ellipse,
.header .header_inner .header_circle_icon,
.header .header_inner .header_line_item {
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons_ellipse,
  .header .header_inner .header_circle_icon,
  .header .header_inner .header_line_item {
    max-width: 260px;
    margin-left: auto;
    margin-right: auto;
  }
}
.page_frame.side_none .header .header_inner .header_buttons_ellipse, .page_frame.side_none
.header .header_inner .header_circle_icon, .page_frame.side_none
.header .header_inner .header_line_item {
  max-width: 260px;
  margin-left: auto;
  margin-right: auto;
}

.header .header_inner .header_buttons_ellipse {
  margin: 11px 0 0;
  padding: 0 19.5px;
  list-style: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons_ellipse {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse {
    margin: 20px auto;
    padding: 0;
  }
}
.header .header_inner .header_buttons_ellipse li {
  margin-top: 7px;
  border: 1px solid #0064b6;
  border-radius: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.03em;
  padding-left: 1px;
  text-align: center;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons_ellipse li:hover {
    background-color: #0064b6;
  }

  .header .header_inner .header_buttons_ellipse li:hover a {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li {
    font-size: 16px;
  }
}
.header .header_inner .header_buttons_ellipse li.catalog a {
  background: url(../media/images/common/2023/icon_docs.svg?v=2) no-repeat right 16px center/12px;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons_ellipse li.catalog a:hover {
    background-image: url(../media/images/common/2023/icon_docs_w.svg);
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li.catalog a {
    background-position: right 19px center;
    background-size: 15px;
  }
}
.header .header_inner .header_buttons_ellipse li.contact a {
  background: url(../media/images/common/2023/icon_mail_color.svg) no-repeat right 15px center/14px;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons_ellipse li.contact a:hover {
    background-image: url(../media/images/common/2023/icon_mail_color_w.svg);
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li.contact a {
    background-position: right 19px center;
    background-size: 16px;
  }
}
.header .header_inner .header_buttons_ellipse li a {
  display: block;
  padding: 10px 30px 10px;
  text-decoration: none;
  color: #0064b6;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_buttons_ellipse li a {
    padding: 7px 30px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li a {
    padding: 16px 20px 15px;
    background-position: right 19px center;
    background-size: 15px;
  }
}
.header .header_inner .header_circle_icon {
  display: flex;
  flex-flow: row wrap;
  margin: 28px 0;
  padding: 0px 12px 0 19px;
  list-style: none;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_circle_icon {
    margin-top: 15px;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header_circle_icon {
    margin: 29px auto;
    padding: 0 27px;
    justify-content: center;
  }
}
.header .header_inner .header_circle_icon > li {
  flex: 0 0 47%;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header_circle_icon > li {
    flex: 0 0 45%;
  }
}
.header .header_inner .header_circle_icon > li:nth-child(even) {
  margin-left: 4%;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header_circle_icon > li:nth-child(even) {
    margin-left: 7%;
  }
}
.header .header_inner .header_circle_icon > li a {
  display: block;
  padding: 0 5px 0 22px;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: #000;
  background: url(../media/images/common/2023/icon_circle.svg) no-repeat left 0 center/14px;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_circle_icon > li a {
    font-size: 13px;
    background-size: 13px;
  }
}
@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_circle_icon > li a:hover {
    color: #0064b6;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_circle_icon > li a {
    padding: 0 5px 0 20px;
    background-position: top 2px left 4px;
    font-size: 16px;
  }
}
.header .header_inner ul.header_line_item {
  /*margin: auto 7px 0 0;*/
  margin: 0 7px 0 0;
  padding: 0px 12px 0 19px;
  list-style: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner ul.header_line_item {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner ul.header_line_item {
    margin: 50px auto 50px;
    padding: 0;
  }
}
.header .header_inner ul.header_line_item + .header_sns {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner ul.header_line_item + .header_sns {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner ul.header_line_item + .header_sns {
    margin: 9px auto;
  }
}
.header .header_inner ul.header_line_item > li {
  border-bottom: 1px solid #777;
}

.header .header_inner ul.header_line_item > li:first-child {
  border-top: 1px solid #777;
}

.header .header_inner ul.header_line_item > li a {
  display: block;
  padding: 15px 6px 15px 4px;
  background: url(../media/images/common/2023/gnavi_triangle.svg) no-repeat right 0 center;
  font-size: 13px;
  text-align: center;
  text-decoration: none;
  color: #000;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner ul.header_line_item > li a {
    transition: 0.3s;
  }

  .header .header_inner ul.header_line_item > li a:hover {
    color: #0064b6;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner ul.header_line_item > li a {
    padding: 20px 23px 14px 0px;
    background-position: center right 15px;
    font-size: 16px;
  }
}
.header .header_inner .header_sns {
  margin-top: auto;
  padding-top: 10px;
  padding-left: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 21px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_sns {
    display: none;
    gap: 35px;
  }
}
.header .header_inner .header_sns a {
  line-height: 0;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_sns a {
    transition: 0.5s;
  }

  .header .header_inner .header_sns a:hover {
    opacity: 0.75;
  }
}
.header .header_inner .header_sns a img.instagram {
  width: 20px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_sns a img.instagram {
    width: 25px;
  }
}
.header .header_inner .header_sns a img.youtube {
  width: 22px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_sns a img.youtube {
    width: 26px;
  }
}
.header .header_inner .header_company_link {
  margin-top: 16px;
  border-top: 1px solid #0064b6;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  background-color: #fff;
  height: 44px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link {
    margin: 40px 0;
    border: none;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_company_link {
    margin: 16px 0 0;
  }
}
.header .header_inner .header_company_link a {
  flex: 1 1;
  background: url(../media/images/common/2023/gnavi_triangle.svg) no-repeat right 9px center;
  padding: 13px 0 11px 0.03em;
  text-align: center;
  color: #0064b6;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_company_link a:hover {
    opacity: 0.75;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link a {
    background: none;
    font-size: 15px;
  }

  .header .header_inner .header_company_link a::after {
    content: "";
    display: inline-block;
    background: url(../media/images/common/2023/gnavi_triangle.svg) no-repeat right 9px center;
    width: 1em;
    height: 1em;
    transform: translateY(2px);
    background-size: 1em;
    margin-left: 1em;
  }
}
.header .header_inner .header_company_link a:hover {
  background-color: rgba(0, 100, 182, 0.2);
}

.header .header_inner .header_company_link a:first-child {
  flex-basis: 111px;
  border-right: 1px solid #0064b6;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link a:first-child {
    position: relative;
    flex-basis: 50%;
    border-right: none;
    text-indent: 3.3em;
  }

  .header .header_inner .header_company_link a:first-child::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    height: 1.3em;
    transform: translateY(-50%);
    width: 1px;
    background: #0064b6;
  }
}
.header .header_inner .header_company_link a:last-child {
  flex-basis: 108px;
  background-position: right 10px center;
  padding-right: 4px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link a:last-child {
    flex-basis: 50%;
    text-indent: -2.7em;
  }
}
.header .header_inner .sp_fixed_menu {
  display: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .sp_fixed_menu {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    display: block;
  }
}
.header .header_inner .sp_fixed_menu .sp_fixed_menu_list {
  display: flex;
  flex-flow: row nowrap;
  margin: 0;
  padding-left: 0;
  list-style: none;
  background: #3674bb;
  background-color: #F08437;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li {
  flex: 0 0 25%;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li + li {
  border-left: 1px solid #fff;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.estates a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_estates.svg);
  background-size: 23px;
  background-position: top 6px center;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.model_house a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_model_house.svg);
  background-size: 26px;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.event a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_event.svg);
  background-size: 21px;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.campaign a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_campaign.svg);
  background-size: 29px;
  background-position: top 13px left 54%;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li a {
  display: block;
  padding: 33px 4px 4px;
  background-repeat: no-repeat;
  background-position: top 10px center;
  font-weight: bold;
  font-size: 11px;
  line-height: 14px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  background-color: #3674bb;
}

.header .header_inner .spMenu {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .spMenu {
    display: block;
  }
}
.header .header_inner .spMenu .spMenu_button_close {
  display: none;
}

.page_frame.side_none .header .header_inner .spMenu {
  display: block;
}

.header .header_inner .spMenu--bar {
  position: absolute;
  background-color: #000;
  width: 24px;
  height: 2px;
  right: 18px;
  transition: all 0.3s ease-in-out;
}

.header .header_inner .spMenu--bar.top {
  top: 21px;
}

.header .header_inner .spMenu--bar.cross1, .header .header_inner .spMenu--bar.cross2 {
  top: 23px;
}

.header .header_inner .spMenu--bar.bottom {
  top: 39px;
}

.header .header_inner .spMenu.open .spMenu--bar.top, .header .header_inner .spMenu.open .spMenu--bar.bottom {
  opacity: 0;
}

.header .header_inner .spMenu.open .spMenu--bar.cross1, .header .header_inner .spMenu.open .spMenu--bar.cross2 {
  right: 14px;
  width: 30px;
}

.header .header_inner .spMenu.open .spMenu--bar.cross1 {
  rotate: -40deg;
}

.header .header_inner .spMenu.open .spMenu--bar.cross2 {
  rotate: 40deg;
}

.header .header_inner .spMenu.open .spMenu_button_open {
  display: none;
}

.header .header_inner .spMenu.open .spMenu_button_close {
  display: block;
}

.header .header_inner .spMenu.spMenu_button {
  width: 60px;
  height: 100%;
  border-bottom: 1px solid #fff;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar {
  background-color: #fff;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar.top {
  top: 14px;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar.cross1 {
  top: 23px;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar.bottom {
  top: 32px;
}

.header .header_inner .spMenu.spMenu_button .spMenu_title {
  position: absolute;
  bottom: 6px;
  left: 0;
  right: 0;
  font-weight: bold;
  font-size: 11px;
  line-height: 13px;
  text-align: center;
  color: #fff;
}

.header .header_inner .sp_header_sns {
  display: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .sp_header_sns {
    position: absolute;
    top: 10px;
    right: 75px;
    display: flex;
    gap: 13px;
  }
}
.contents_wrap {
  margin-left: 220px;
}

@media screen and (max-width: 980px) {
  .contents_wrap {
    margin-left: 0;
    margin-top: 125px;
  }
}
.contents {
  padding-bottom: 0;
}

.contents .columns {
  position: static;
  padding-bottom: 0;
}

.footer {
  position: relative;
}

@media screen and (max-width: 767px) {
  .footer .footer_navi {
    margin: 0 -10px;
  }
}
.footer .footer_navi ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 35px;
}

@media screen and (max-width: 980px) {
  .footer .footer_navi ul {
    gap: 10px 25px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_navi ul {
    gap: 13px 0;
  }
}
.footer .footer_navi ul li {
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
}

@media screen and (max-width: 980px) {
  .footer .footer_navi ul li {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_navi ul li {
    position: relative;
    flex: 0 0 45%;
    text-align: center;
    line-height: 1;
  }

  .footer .footer_navi ul li:nth-child(1) {
    text-align: right;
  }

  .footer .footer_navi ul li:nth-child(1), .footer .footer_navi ul li:nth-child(3) {
    border-right: 1px solid #fff;
  }

  .footer .footer_navi ul li:nth-child(1) a, .footer .footer_navi ul li:nth-child(3) a {
    margin-left: auto;
    margin-right: 0;
  }

  .footer .footer_navi ul li:nth-child(5) {
    flex: 0 0 100%;
  }

  .footer .footer_navi ul li:nth-child(5) a {
    margin: 0 auto;
  }
}
.footer .footer_navi ul li a {
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}

@media print, screen and (min-width: 1025px) {
  .footer .footer_navi ul li a {
    transition: 0.5s;
  }

  .footer .footer_navi ul li a:hover {
    opacity: 0.85;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_navi ul li a {
    display: table;
    padding: 0 20px;
  }
}
.footer .footer_info {
  margin-top: 52px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .footer .footer_info {
    display: block;
    margin-top: 30px;
    padding: 0 30px;
  }
}
.footer .footer_info .l {
  flex: 0 0 216px;
}

@media screen and (max-width: 767px) {
  .footer .footer_info .l {
    padding: 0 8px;
  }
}
.footer .footer_info .l .footer_customer_tel {
  border-bottom: 1px solid #fff;
  padding-bottom: 18px;
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width: 767px) {
  .footer .footer_info .l .footer_customer_tel {
    padding: 16px 10px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    text-align: center;
  }
}
.footer .footer_info .l .footer_customer_tel a {
  text-decoration: none;
  color: #fff;
  pointer-events: none;
}

.footer .footer_info .l .footer_customer_tel a .name {
  display: block;
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .footer .footer_info .l .footer_customer_tel a .name {
    font-size: 15px;
  }
}
.footer .footer_info .l .footer_customer_tel a .phone_num {
  display: block;
  margin-top: 8px;
  font-size: 28px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.footer .footer_info .l .footer_customer_tel a .phone_num img {
  vertical-align: -1px;
  margin-right: 4px;
}

.footer .footer_info .r {
  flex: 0 1 auto;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .footer .footer_info .r {
    text-align: center;
    margin-top: 25px;
    padding: 0 2px;
  }
}
.footer .footer_info .r p {
  margin: 0;
  color: #fff;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 980px) {
  .footer .footer_info .r p {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_info .r p {
    font-size: 13px;
  }
}
.footer .footer_info .r .logo {
  margin: 21px 1px 12px 0;
}

@media screen and (max-width: 767px) {
  .footer .footer_info .r .logo {
    margin: 10px 0px 17px 0;
    padding: 0 3px;
  }
}
.footer .footer_info .r .logo img {
  width: 308px;
}

@media screen and (max-width: 767px) {
  .footer .footer_info .r .logo img {
    width: 100%;
  }
}
.footer .copyright {
  margin-top: 16px;
  padding-left: 1px;
  color: #fff;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .footer .copyright {
    text-align: center;
  }
}
#main {
  padding-bottom: 120px;
}

@media screen and (max-width: 767px) {
  #main {
    padding-bottom: 50px;
  }
}
.pankuzu_area {
  display: block;
}

.fixed_banner_display_none {
  display: none;
}

.fixed_banner_display_ .fixed_banner {
  position: fixed;
  top: auto;
  bottom: 0;
  right: 0;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s opacity;
  width: 180px;
}

@media screen and (max-width: 767px) {
  .fixed_banner_display_ .fixed_banner {
    transition: 0.5s;
  }
}
@media print, screen and (min-width: 981px) {
  .fixed_banner_display_ .fixed_banner.bottom {
    position: absolute;
    bottom: 100%;
    right: 0;
  }
}
.fixed_banner_display_ .fixed_banner.show {
  opacity: 1;
  visibility: visible;
}

@media print, screen and (min-width: 1430px) {
  .fixed_banner_display_ .fixed_banner {
    width: 280px;
  }
}
@media screen and (max-width: 980px) {
  .fixed_banner_display_ .fixed_banner {
    width: 280px;
  }
}
@media screen and (max-width: 980px) {
  .fixed_banner_display_ .fixed_banner {
    transform: translateY(85%);
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
  }
}
.fixed_banner_display_ .fixed_banner .fixed_banner_title {
  display: none;
}

@media screen and (max-width: 980px) {
  .fixed_banner_display_ .fixed_banner .fixed_banner_title {
    position: relative;
    display: block;
    background-color: #0064b6;
    padding: 12px 14px 11px;
    font-size: 12px;
    color: #fff;
    cursor: pointer;
  }
}
.fixed_banner_display_ .fixed_banner .fixed_banner_title .fixed_banner_close {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 15px;
  display: inline-block;
  width: 13px;
}

.fixed_banner_display_ .fixed_banner .fixed_banner_title .fixed_banner_close img {
  display: block;
  width: 100%;
}

.fixed_banner_display_ .fixed_banner.open {
  transform: translateY(0);
}

.fixed_banner_display_ .fixed_banner.open .fixed_banner_close {
  transform: translateY(-50%) rotate(0deg);
}

@media print, screen and (min-width: 1025px) {
  .fixed_banner_display_ .fixed_banner .fixed_banner_contents a {
    transition: 0.5s;
  }

  .fixed_banner_display_ .fixed_banner .fixed_banner_contents a:hover {
    filter: brightness(1.15);
  }
}
.fixed_banner_display_ .fixed_banner .fixed_banner_contents a img {
  width: 100%;
}

#privacy_form + .contact_us p {
  margin: 0;
}

#privacy_form + .contact_us p + p {
  margin-top: 13px;
}

#privacy_form + .contact_us ul {
  margin: 20px 0;
  padding: 0;
  list-style: none;
  line-height: 1.45;
}

.disp-id {
  position: absolute;
  display: inline-block;
  font-weight: 700;
  font-size: 12px;
  z-index: 1000;
  top: 0;
  left: 0;
  color: white;
  background: rgba(0, 0, 0, 0.5);
  padding: 4px;
  width: auto !important;
}

/*# sourceMappingURL=common2023_re.css.map */
body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 16px;
}

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

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}
.acc_skip {
  position: absolute;
  z-index: -10;
  visibility: hidden;
  font-size: 0.1%;
  width: 1px;
  opacity: 0;
}

body#main {
  width: 100%;
}

.wholewrapper * {
  box-sizing: border-box;
}

.wholewrapper *::before, .wholewrapper *::after {
  box-sizing: border-box;
}

.wholewrapper img {
  vertical-align: top;
}

.page_frame.side_none .header {
  width: 100%;
}

.page_frame.side_none .contents_wrap {
  margin: 60px 0 0;
  padding-bottom: 0;
}

/*
  Header
*/
.header {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 10;
  border-right: 1px solid #e2e2e2;
  background-color: #fff;
}

@media screen and (max-width: 980px) {
  .header {
    right: 0;
    width: auto;
    bottom: auto;
    height: 60px;
  }

  .header.open::after {
    content: "";
    position: absolute;
  }
}
.page_frame.side_none .header {
  right: 0;
  width: auto;
  bottom: auto;
  height: 60px;
}

.page_frame.side_none .header.open::after {
  content: "";
  position: absolute;
}

.header .header_inner {
  position: sticky;
  top: 0;
  display: flex;
  flex-flow: column wrap;
  min-height: 795px;
  height: 100vh;
}

@media screen and (max-width: 767px) {
  .header .header_inner {
    display: block;
  }
}
@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner {
    height: 100vh;
    min-height: inherit;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 2;
    height: 60px;
    min-height: auto;
    background-color: #fff;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}
.page_frame.side_none .header .header_inner {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 2;
  height: 60px;
  min-height: auto;
  background-color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.page_frame.side_none .header .header_inner .header_logo {
  align-self: center;
}

.page_frame.side_none .header .header_inner .header_logo a {
  padding: 4px 15px 0;
}

@media screen and (max-width: 767px) {
  .page_frame.side_none .header .header_inner .header_logo a img {
    width: calc(283px * 0.65);
  }
}
@media screen and (max-width: 320px) {
  .page_frame.side_none .header .header_inner .header_logo a img {
    width: calc(283px * 0.55);
  }
}
.header .header_inner .header_logo {
  margin: 0;
  text-align: center;
  line-height: 0;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_logo {
    align-self: center;
  }
}
.header .header_inner .header_logo a {
  display: block;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_logo a {
    max-height: 73px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_logo a {
    padding: 4px 15px 0;
  }
}
.header .header_inner .header__pc-nav {
  margin-right: 75px;
}

.header .header_inner .header__pc-nav a {
  display: inline-block;
  width: fit-content;
  color: #000;
  text-decoration: none;
  padding: 0 20px;
  border-right: solid 1px #e6e6e6;
}

.header .header_inner .header__pc-nav a:last-of-type {
  border-right: none;
}

.header .header_inner .header__pc-nav a span {
  position: relative;
  display: inline-block;
  transition: color 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}

.header .header_inner .header__pc-nav a span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background-color: #f48466;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

.header .header_inner .header__pc-nav a:hover span {
  color: #f48466;
}

.header .header_inner .header__pc-nav a:hover span::after {
  transform: scaleX(1);
  transform-origin: left center;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__pc-nav {
    display: none;
  }
}
.header .header_inner .header__menu {
  display: flex;
  flex-flow: column nowrap;
  flex: 1 1 auto;
  max-height: calc(100vh - 74px);
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu {
    display: block;
  }
}
@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header__menu {
    max-height: calc(100vh - 74px);
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu {
    display: none;
    height: auto;
    min-height: inherit;
    max-height: calc(100vh - 60px);
    transition: opacity 1s ease-in;
  }

  .header .header_inner .header__menu.open {
    display: block;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    background-color: #fff;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
  }
}
.page_frame.side_none .header .header_inner .header__menu {
  display: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in;
  overflow-y: scroll;
}

.page_frame.side_none .header .header_inner .header__menu.open {
  position: fixed;
  top: 60px;
  width: 650px;
  left: auto;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: block;
  background-color: #fff;
  opacity: 1;
  visibility: visible;
}

@media print, screen and (min-width: 981px) {
  .page_frame.side_none .header .header_inner .header__menu.open {
    width: 650px;
  }
}
@media screen and (max-width: 980px) {
  .page_frame.side_none .header .header_inner .header__menu.open {
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list {
    margin-bottom: 26px;
  }

  .header .header_inner .header__menu_list > li + li {
    margin-top: 10px;
  }
}
.header .header_inner .header__menu_list ul.depth1 {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #efefef;
}

.header .header_inner .header__menu_list li.depth1 {
  border-bottom: 1px solid #efefef;
  font-family: 'Noto Serif JP', serif;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.03em;
  font-weight: 500;
  position: relative;
}

.header .header_inner .header__menu_list li.depth1.menu_s {
  font-size: 13px;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header__menu_list li.depth1 {
    font-size: 13px;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1 {
    border-bottom: 1px solid #cecece;
    padding: 1px 0;
    font-size: 18px;
    line-height: 20px;
    letter-spacing: 0.03em;
    font-weight: bold;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list li.depth1 {
  background-color: #f8f8f8;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a {
  background-color: #fff;
}

.header .header_inner .header__menu_list li.depth1 > a {
  display: block;
  padding: 12px 15px 13px;
  background: url(../media/images/common/2023/gnavi_triangle.svg) no-repeat right 14px center;
  color: #000;
  text-decoration: none;
}

@media print, screen and (min-width: 981px) and (max-height: 700px) {
  .header .header_inner .header__menu_list li.depth1 > a {
    padding: 10px 16px;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1 > a {
    display: block;
    padding: 19px 15px;
    background: none;
    color: #000;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a {
  background-image: none;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > a {
  background-color: #fff;
  background-image: none;
  color: #fff;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > .menu_wrap {
  position: static;
  display: block;
  background: #f8f8f8;
}

@media print, screen and (min-width: 981px) {
  .page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > .menu_wrap {
    background: #f8f8f8;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1 > a:hover > .menu_wrap ul.depth2 {
    background: none;
  }
}
.header .header_inner .header__menu_list li.depth1 .disable {
  pointer-events: none;
}

@media print, screen and (min-width: 981px) {
  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > a {
    background-color: #3674bb;
    background-image: url(../media/images/common/2023/gnavi_triangle_open.svg);
    color: #fff;
  }

  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > .menu_wrap {
    position: absolute;
    top: 0;
    left: 220px;
    display: block;
  }
}
@media print, screen and (min-width: 981px) and (min-width: 981px) {
  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > .menu_wrap {
    background: linear-gradient(135deg, rgba(0, 100, 182, 0.9) 0%, rgba(89, 195, 166, 0.9) 100%);
  }

  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > .menu_wrap ul.depth2 {
    background: none;
  }
}
@media print, screen and (min-width: 981px) {
  .page_frame.side_ .header .header_inner .header__menu_list li.depth1:hover > ul.depth2 {
    display: flex;
  }
}
.header .header_inner .header__menu_list li.depth1 > .menu_wrap {
  display: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1 > .menu_wrap {
    display: block;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list li.depth1 > .menu_wrap {
  display: block;
}

.header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2 {
  position: static;
  display: flex;
}

.header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2:first-child {
  padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2:first-child {
    padding-bottom: 0;
  }
}
.header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2 + ul.depth2 {
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1 > .menu_wrap ul.depth2 + ul.depth2 {
    padding-top: 0;
  }
}
.header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
  padding: 37px 40px 30px;
  width: 520px;
}

.page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
  position: static;
  display: flex;
  width: 100%;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
    padding: 22px 30px 0;
    width: 100%;
  }
}
.header .header_inner .header__menu_list li.depth1.campaign li.depth2 {
  flex: 0 0 200px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1.campaign li.depth2 {
    flex: 0 0 45%;
  }
}
.header .header_inner .header__menu_list li.depth1.campaign .menu_thumbnail {
  height: 140px;
  aspect-ratio: 200/140;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth1.campaign .menu_thumbnail {
    height: 105px;
    aspect-ratio: 150/105;
  }
}
@media print, screen and (min-width: 981px) {
  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign ul.depth2 {
    gap: 10px 1%;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign li.depth2 {
    flex: 0 0 30%;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign li.depth2 .menu_thumbnail {
    width: 100%;
    height: auto;
  }

  .page_frame.side_none .header .header_inner .header__menu_list li.depth1.campaign li.depth2 .menu_thumbnail img {
    width: 100%;
  }
}
.header .header_inner .header__menu_list li.depth1.create ul.depth2 {
  padding: 30px 30px 30px;
  width: 630px;
  gap: 30px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth1.create ul.depth2 {
    padding: 22px 30px 0;
    width: 100%;
    gap: 5px 0;
  }
}
.header .header_inner .header__menu_list ul.depth2 {
  display: none;
  list-style: none;
  position: absolute;
  top: 0;
  left: 220px;
  width: 480px;
  background: linear-gradient(135deg, rgba(0, 100, 182, 0.9) 0%, rgba(89, 195, 166, 0.9) 100%);
  padding: 51px 50px 49px;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 28px 40px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: normal;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list ul.depth2 {
    position: static;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 22px 22px 8px;
    background: #f8f8f8;
    width: 100%;
    gap: inherit;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list ul.depth2 {
    justify-content: space-between;
    padding: 22px 30px 8px;
    gap: 5px 0;
  }
}
.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 {
  display: flex;
  flex-flow: row wrap;
  position: static;
  background: #f8f8f8;
}

.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 a {
  color: #000;
}

.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 li.depth2 > a {
  background: url(../media/images/common/2023/gnavi_lower_arrow_bk.svg) no-repeat right 1px bottom 8px;
}

.page_frame.side_none .header .header_inner .header__menu_list ul.depth2 li.depth2.text_menu a {
  border-bottom: 1px solid #000;
}

.header .header_inner .header__menu_list li.depth2 {
  flex: 0 0 170px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth2 {
    padding-bottom: 18px;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.03em;
    font-weight: 500;
  }

  .header .header_inner .header__menu_list li.depth2 > a {
    display: block;
    color: #000;
  }

  .header .header_inner .header__menu_list li.depth2.text_menu {
    flex: 0 0 28%;
  }
}
@media screen and (max-width: 980px) and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth2.text_menu {
    max-width: inherit;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth2 {
    flex: 0 0 45%;
    max-width: 150px;
  }
}
.header .header_inner .header__menu_list li.depth2.text_menu > a {
  border-bottom: 1px solid #fff;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header__menu_list li.depth2.text_menu > a {
    transition: 0.3s;
  }

  .header .header_inner .header__menu_list li.depth2.text_menu > a:hover {
    opacity: 0.85;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth2.text_menu > a {
    border-bottom: 1px solid #000;
  }
}
.header .header_inner .header__menu_list li.depth2 .menu_thumbnail {
  margin-bottom: 6px;
  height: 91px;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header__menu_list li.depth2 .menu_thumbnail {
    margin-bottom: 1px;
  }
}
.header .header_inner .header__menu_list li.depth2 .menu_thumbnail img {
  object-fit: contain;
  height: 100%;
  max-width: 100%;
}

.header .header_inner .header__menu_list li.depth2 > a {
  display: block;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
  letter-spacing: 0;
  background: url(../media/images/common/2023/gnavi_lower_arrow.svg) no-repeat right 1px bottom 8px;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header__menu_list li.depth2 > a {
    transition: 0.5s;
  }

  .header .header_inner .header__menu_list li.depth2 > a .menu_thumbnail {
    overflow: hidden;
  }

  .header .header_inner .header__menu_list li.depth2 > a .menu_thumbnail img {
    transition: 0.45s;
  }

  .header .header_inner .header__menu_list li.depth2 > a:hover img {
    transform: scale(1.06);
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header__menu_list li.depth2 > a {
    background: url(../media/images/common/2023/gnavi_lower_arrow_bk.svg) no-repeat right 1px bottom 8px;
    font-size: 12px;
    font-weight: normal;
    color: #000;
  }
}
.header .header_inner .header_banner {
  margin-top: 20px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_banner {
    display: none;
  }
}
.header .header_inner .header_banner a {
  display: block;
  padding-left: 1px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  color: #000;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 500;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_banner a {
    transition: 0.5s;
  }

  .header .header_inner .header_banner a:hover {
    filter: brightness(1.03);
  }
}
.header .header_inner .header_banner a img {
  display: block;
  width: 180px;
  aspect-ratio: 180 / 110;
  object-fit: cover;
  margin: 0 auto;
}

.header .header_inner .header_banner a span {
  display: block;
  margin-top: 9px;
  padding-left: 9px;
}

.header .header_inner .header_banner_overlap {
  margin: 18px 0 9px;
  padding: 0 20px;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_banner_overlap {
    transition: 0.5s;
  }

  .header .header_inner .header_banner_overlap:hover {
    opacity: 0.85;
  }
}
@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_banner_overlap {
    margin-top: 15px;
    margin-bottom: 0px;
    padding: 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_banner_overlap {
    display: none;
  }
}
.header .header_inner .header_banner_overlap .item {
  position: relative;
  display: table;
  margin: 0 auto;
}

.header .header_inner .header_banner_overlap a {
  display: block;
  text-decoration: none;
}

.header .header_inner .header_banner_overlap img {
  max-width: 100%;
}

.header .header_inner .header_banner_overlap span {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 6px 19px 6px 10px;
  background: linear-gradient(90deg, rgba(0, 100, 182, 0.9) 0%, rgba(89, 195, 166, 0.9) 100%);
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #fff;
}

.header .header_inner .header_banner_overlap span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.5px 0 4.5px 5px;
  border-color: transparent transparent transparent #fff;
}

.header .header_inner .header_buttons {
  margin: 21px 0 0;
  padding: 0 19.5px;
  list-style: none;
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons {
    margin: auto auto 0;
    padding-top: 30px;
    padding-bottom: 55px;
    max-width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons {
    padding-top: 0px;
    padding-bottom: 20px;
  }
}
.header .header_inner .header_buttons li {
  margin-top: 6px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.03em;
  padding-left: 1px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons li {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons li {
    margin-top: 7px;
  }
}
.header .header_inner .header_buttons li a {
  display: block;
  padding: 12px 0 9px 0.03em;
  color: #fff;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons li a {
    transition: 0.5s;
  }

  .header .header_inner .header_buttons li a:hover {
    opacity: 0.85;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons li a {
    padding: 12px 0 13px 0.03em;
  }
}
.header .header_inner .header_buttons li.catalog a {
  background: #0064b6 url(../media/images/common/2023/header_catalog_icon.svg?v=2) no-repeat right 13px center;
}

.header .header_inner .header_buttons li.contact a {
  background: #42bfb6 url(../media/images/common/2023/header_contact_icon.svg) no-repeat right 14px center;
}

.header .header_inner .header_buttons li.movie a {
  background: #071f60;
}

.header .header_inner .header_buttons_ellipse,
.header .header_inner .header_circle_icon,
.header .header_inner .header_line_item {
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons_ellipse,
  .header .header_inner .header_circle_icon,
  .header .header_inner .header_line_item {
    max-width: 260px;
    margin-left: auto;
    margin-right: auto;
  }
}
.page_frame.side_none .header .header_inner .header_buttons_ellipse, .page_frame.side_none
.header .header_inner .header_circle_icon, .page_frame.side_none
.header .header_inner .header_line_item {
  max-width: 260px;
  margin-left: auto;
  margin-right: auto;
}

.header .header_inner .header_buttons_ellipse {
  margin: 11px 0 0;
  padding: 0 19.5px;
  list-style: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_buttons_ellipse {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse {
    margin: 20px auto;
    padding: 0;
  }
}
.header .header_inner .header_buttons_ellipse li {
  margin-top: 7px;
  border: 1px solid #000;
  border-radius: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.03em;
  padding-left: 1px;
  text-align: center;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons_ellipse li {
    transition: background 0.3s ease-in;
  }

  .header .header_inner .header_buttons_ellipse li:hover {
    background-color: #000;
  }

  .header .header_inner .header_buttons_ellipse li:hover a {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li {
    font-size: 16px;
  }
}
.header .header_inner .header_buttons_ellipse li.catalog a {
  background: url(../media/images/common/2025/trc/icon_docs.svg) no-repeat right 16px center/12px;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons_ellipse li.catalog a:hover {
    background-image: url(../media/images/common/2025/trc/icon_docs-white.svg);
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li.catalog a {
    background-position: right 19px center;
    background-size: 15px;
  }
}
.header .header_inner .header_buttons_ellipse li.contact a {
  background: url(../media/images/common/2025/trc/icon_mail.svg) no-repeat right 15px center/14px;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_buttons_ellipse li.contact a:hover {
    background-image: url(../media/images/common/2025/icon_mail-white.svg);
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li.contact a {
    background-position: right 19px center;
    background-size: 16px;
  }
}
.header .header_inner .header_buttons_ellipse li a {
  display: block;
  padding: 10px 30px 10px;
  text-decoration: none;
  color: #000;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_buttons_ellipse li a {
    padding: 7px 30px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_buttons_ellipse li a {
    padding: 16px 20px 15px;
    background-position: right 19px center;
    background-size: 15px;
  }
}
.header .header_inner .header_circle_icon {
  display: flex;
  flex-flow: row wrap;
  margin: 28px 0;
  padding: 0px 12px 0 19px;
  list-style: none;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_circle_icon {
    margin-top: 15px;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header_circle_icon {
    margin: 29px auto;
    padding: 0 27px;
    justify-content: center;
  }
}
.header .header_inner .header_circle_icon > li {
  flex: 0 0 47%;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header_circle_icon > li {
    flex: 0 0 45%;
  }
}
.header .header_inner .header_circle_icon > li:nth-child(even) {
  margin-left: 4%;
}

@media screen and (max-width: 767px) {
  .header .header_inner .header_circle_icon > li:nth-child(even) {
    margin-left: 7%;
  }
}
.header .header_inner .header_circle_icon > li a {
  display: block;
  padding: 0 5px 0 22px;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: #000;
  background: url(../media/images/common/2025/trc/icon_circle.svg) no-repeat left 0 center/14px;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner .header_circle_icon > li a {
    font-size: 13px;
    background-size: 13px;
  }
}
@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_circle_icon > li a span {
    position: relative;
    display: inline-block;
  }

  .header .header_inner .header_circle_icon > li a span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 1px;
    background-color: #000;
    opacity: 0;
    transition: opacity 0.3s ease-in;
  }

  .header .header_inner .header_circle_icon > li a span:hover::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_circle_icon > li a {
    padding: 0 5px 0 20px;
    background-position: top 2px left 4px;
    font-size: 16px;
  }
}
.header .header_inner ul.header_line_item {
  /*margin: auto 7px 0 0;*/
  margin: 0 7px 0 0;
  padding: 0px 12px 0 19px;
  list-style: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner ul.header_line_item {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner ul.header_line_item {
    margin: 50px auto 50px;
    padding: 0;
  }
}
.header .header_inner ul.header_line_item + .header_sns {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media print, screen and (min-width: 981px) and (max-height: 787px) {
  .header .header_inner ul.header_line_item + .header_sns {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner ul.header_line_item + .header_sns {
    margin: 9px auto;
  }
}
.header .header_inner ul.header_line_item > li {
  border-bottom: 1px solid #777;
}

.header .header_inner ul.header_line_item > li:first-child {
  border-top: 1px solid #777;
}

.header .header_inner ul.header_line_item > li a {
  display: block;
  padding: 15px 6px 15px 4px;
  background: url(../media/images/common/2025/trc/icon_triangle.svg) no-repeat right 0 center;
  font-size: 13px;
  text-align: center;
  text-decoration: none;
  color: #000;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner ul.header_line_item > li a span {
    position: relative;
    display: inline-block;
  }

  .header .header_inner ul.header_line_item > li a span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 1px;
    background-color: #000;
    opacity: 0;
    transition: opacity 0.3s ease-in;
  }

  .header .header_inner ul.header_line_item > li a span:hover::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner ul.header_line_item > li a {
    padding: 20px 23px 14px 0px;
    background-position: center right 15px;
    font-size: 16px;
  }
}
.header .header_inner .header_sns {
  margin-top: auto;
  padding-top: 5px;
  padding-left: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 21px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_sns {
    display: none;
    gap: 35px;
  }
}
.header .header_inner .header_sns a {
  line-height: 0;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_sns a {
    transition: 0.5s;
  }

  .header .header_inner .header_sns a:hover {
    opacity: 0.75;
  }
}
.header .header_inner .header_sns a img.instagram {
  width: 20px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_sns a img.instagram {
    width: 25px;
  }
}
.header .header_inner .header_sns a img.youtube {
  width: 22px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_sns a img.youtube {
    width: 26px;
  }
}
.header .header_inner .header_company_link {
  margin-top: 16px;
  border-top: 1px solid #0064b6;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  background-color: #fff;
  height: 44px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link {
    margin: 40px 0;
    border: none;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .header_company_link {
    margin: 16px 0 0;
  }
}
.header .header_inner .header_company_link a {
  flex: 1 1;
  background: url(../media/images/common/2023/gnavi_triangle.svg) no-repeat right 9px center;
  padding: 13px 0 11px 0.03em;
  text-align: center;
  color: #0064b6;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-decoration: none;
}

@media print, screen and (min-width: 1025px) {
  .header .header_inner .header_company_link a:hover {
    opacity: 0.75;
  }
}
@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link a {
    background: none;
    font-size: 15px;
  }

  .header .header_inner .header_company_link a::after {
    content: "";
    display: inline-block;
    background: url(../media/images/common/2023/gnavi_triangle.svg) no-repeat right 9px center;
    width: 1em;
    height: 1em;
    transform: translateY(2px);
    background-size: 1em;
    margin-left: 1em;
  }
}
.header .header_inner .header_company_link a:hover {
  background-color: rgba(0, 100, 182, 0.2);
}

.header .header_inner .header_company_link a:first-child {
  flex-basis: 111px;
  border-right: 1px solid #0064b6;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link a:first-child {
    position: relative;
    flex-basis: 50%;
    border-right: none;
    text-indent: 3.3em;
  }

  .header .header_inner .header_company_link a:first-child::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    height: 1.3em;
    transform: translateY(-50%);
    width: 1px;
    background: #0064b6;
  }
}
.header .header_inner .header_company_link a:last-child {
  flex-basis: 108px;
  background-position: right 10px center;
  padding-right: 4px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .header_company_link a:last-child {
    flex-basis: 50%;
    text-indent: -2.7em;
  }
}
.header .header_inner .sp_fixed_menu {
  display: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .sp_fixed_menu {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    display: block;
  }
}
.header .header_inner .sp_fixed_menu .sp_fixed_menu_list {
  display: flex;
  flex-flow: row nowrap;
  margin: 0;
  padding-left: 0;
  list-style: none;
  background: #3674bb;
  background-color: #F08437;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li {
  flex: 0 0 25%;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li + li {
  border-left: 1px solid #fff;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.estates a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_estates.svg);
  background-size: 23px;
  background-position: top 6px center;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.model_house a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_model_house.svg);
  background-size: 26px;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.event a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_event.svg);
  background-size: 21px;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li.campaign a {
  background-image: url(../media/images/common/2023/fiexd_menu_icon_campaign.svg);
  background-size: 29px;
  background-position: top 13px left 54%;
}

.header .header_inner .sp_fixed_menu .sp_fixed_menu_list > li a {
  display: block;
  padding: 33px 4px 4px;
  background-repeat: no-repeat;
  background-position: top 10px center;
  font-weight: bold;
  font-size: 11px;
  line-height: 14px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  background-color: #333333;
}

.header .header_inner .spMenu {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
}

@media screen and (max-width: 980px) {
  .header .header_inner .spMenu {
    display: block;
  }
}
.header .header_inner .spMenu .spMenu_button_close {
  display: none;
}

.page_frame.side_none .header .header_inner .spMenu {
  display: block;
}

@media screen and (max-width: 767px) {
  .page_frame.side_none .header .header_inner .spMenu {
    display: none;
  }
}
.header .header_inner .spMenu--bar {
  position: absolute;
  background-color: #000;
  width: 24px;
  height: 2px;
  right: 18px;
  transition: all 0.3s ease-in-out;
}

.header .header_inner .spMenu--bar.top {
  top: 21px;
}

.header .header_inner .spMenu--bar.cross1, .header .header_inner .spMenu--bar.cross2 {
  top: 27px;
}

.header .header_inner .spMenu--bar.bottom {
  top: 39px;
}

.header .header_inner .spMenu.open .spMenu--bar.top, .header .header_inner .spMenu.open .spMenu--bar.bottom {
  opacity: 0;
}

.header .header_inner .spMenu.open .spMenu--bar.cross1, .header .header_inner .spMenu.open .spMenu--bar.cross2 {
  right: 14px;
  width: 30px;
}

.header .header_inner .spMenu.open .spMenu--bar.cross1 {
  rotate: -40deg;
}

.header .header_inner .spMenu.open .spMenu--bar.cross2 {
  rotate: 40deg;
}

.header .header_inner .spMenu.open .spMenu_button_open {
  display: none;
}

.header .header_inner .spMenu.open .spMenu_button_close {
  display: block;
}

.header .header_inner .spMenu.spMenu_button {
  width: 60px;
  height: 100%;
  border-bottom: 1px solid #fff;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar {
  background-color: #000;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar.top {
  top: 18px;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar.cross1 {
  top: 27px;
}

.header .header_inner .spMenu.spMenu_button .spMenu--bar.bottom {
  top: 36px;
}

.header .header_inner .spMenu.spMenu_button .spMenu_title {
  position: absolute;
  bottom: 6px;
  left: 0;
  right: 0;
  font-weight: bold;
  font-size: 11px;
  line-height: 13px;
  text-align: center;
  color: #fff;
}

.header .header_inner .sp_header_sns {
  display: none;
}

@media screen and (max-width: 980px) {
  .header .header_inner .sp_header_sns {
    position: absolute;
    top: 10px;
    right: 75px;
    display: flex;
    gap: 13px;
  }
}
@media screen and (max-width: 767px) {
  .header .header_inner .sp_header_sns {
    right: 15px;
  }
}
.contents_wrap {
  margin-left: 220px;
}

@media screen and (max-width: 980px) {
  .contents_wrap {
    margin-left: 0;
    margin-top: 125px;
  }
}
.contents {
  padding-bottom: 0;
}

.contents .columns {
  position: static;
  padding-bottom: 0;
}

/*
  Footer
*/
.footer {
  background-color: #737270;
  color: #fff;
  /* Footer PC */
  /* Footer TAB */
  /* Footer SP */
  /* Footer SE */
}

.footer .container {
  padding-left: 15px;
  padding-right: 15px;
  margin-inline: auto;
}

.footer .sns-list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer__nav {
  display: flex;
  flex-wrap: wrap;
}

.footer .footer__nav a {
  position: relative;
  display: inline-block;
  color: #fff;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 300;
  text-decoration: none;
}

.footer .footer__nav a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 1px;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.3s ease-in;
}

.footer .wrapper .footer__tel a {
  display: block;
  border: solid 1px rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  padding: 10px;
}

.footer .wrapper .footer__tel a p {
  line-height: 1;
  margin: 0;
}

.footer .wrapper .footer__tel a span {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.footer .wrapper .footer__tel a span::before {
  content: "";
  display: block;
  background: url(../media/images/common/2025/trc/icon_tel.svg) 0 0 no-repeat;
  background-size: contain;
}

.footer .wrapper .footer__logo p {
  letter-spacing: 0.01em;
  margin: 0;
}

.footer .wrapper .footer__logo address {
  font-feature-settings: "palt";
  font-style: normal;
  letter-spacing: 0.01em;
}

.footer .footer__copyright small {
  display: block;
  letter-spacing: 0;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .footer {
    padding-top: 75px;
    padding-bottom: 100px;
  }

  .footer .container {
    max-width: 1200px;
  }

  .footer .sns-list li {
    margin-right: 12.5px;
  }

  .footer .sns-list li a {
    transition: opacity 0.3s ease-in;
  }

  .footer .sns-list li a:hover {
    opacity: 0.8;
  }

  .footer .footer__nav {
    justify-content: space-between;
  }

  .footer .footer__nav a {
    font-size: 15px;
  }

  .footer .footer__nav a:hover::after {
    opacity: 1;
  }

  .footer .footer__sp-sns {
    display: none;
  }

  .footer .wrapper {
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
  }

  .footer .wrapper .footer__tel {
    order: 2;
  }

  .footer .wrapper .footer__tel a {
    width: 330px;
    height: 100px;
    pointer-events: none;
  }

  .footer .wrapper .footer__tel a span {
    margin-top: 17.5px;
    font-size: 35px;
  }

  .footer .wrapper .footer__tel a span::before {
    width: 17px;
    height: 19px;
    margin-right: 10px;
  }

  .footer .wrapper .footer__logo {
    order: 1;
  }

  .footer .wrapper .footer__logo p {
    font-size: 12px;
  }

  .footer .wrapper .footer__logo .footer__logo--img {
    margin-top: 15px;
  }

  .footer .wrapper .footer__logo address {
    margin-top: 20px;
  }

  .footer .wrapper .footer__logo address .zip {
    display: inline-block;
    margin-right: 0.25em;
  }

  .footer .wrapper .footer__logo .footer__logo--sns {
    margin-top: 25px;
  }

  .footer .footer__copyright {
    margin-top: 25px;
    text-align: right;
  }

  .footer .footer__copyright small {
    font-size: 12px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .footer {
    padding-top: 20px;
    padding-bottom: 130px;
  }

  .footer .footer__nav {
    justify-content: initial;
  }

  .footer .footer__nav a {
    width: 50%;
    padding: 5px;
    text-align: center;
  }

  .footer .footer__nav a::after {
    display: none;
  }

  .footer .wrapper {
    display: block;
    margin-top: 25px;
  }

  .footer .wrapper .footer__tel a {
    width: 330px;
    height: 100px;
    margin-inline: auto;
  }

  .footer .wrapper .footer__tel a span {
    margin-top: 17.5px;
    font-size: 35px;
  }

  .footer .wrapper .footer__tel a span::before {
    width: 17px;
    height: 19px;
    margin-right: 10px;
  }

  .footer .wrapper .footer__logo {
    width: fit-content;
    margin: 35px auto 0 auto;
  }

  .footer .wrapper .footer__logo p {
    font-size: 12px;
  }

  .footer .wrapper .footer__logo .footer__logo--img {
    margin-top: 15px;
  }

  .footer .wrapper .footer__logo address {
    margin-top: 20px;
  }

  .footer .wrapper .footer__logo address .zip {
    display: inline-block;
    margin-right: 0.25em;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: 25px;
    padding-bottom: 50px;
  }

  .footer .container {
    display: flex;
    flex-direction: column;
  }

  .footer .footer__nav {
    order: 2;
    justify-content: initial;
    margin-top: 25px;
  }

  .footer .footer__nav a {
    width: 50%;
    font-size: 14px;
    padding: 5px;
    text-align: center;
  }

  .footer .footer__nav a:nth-child(n+5) {
    width: 100%;
  }

  .footer .footer__sp-sns {
    order: 3;
    width: fit-content;
    margin: 20px auto 0 auto;
  }

  .footer .sns-list li {
    margin-right: 12.5px;
  }

  .footer .sns-list li a {
    transition: opacity 0.3s ease-in;
  }

  .footer .sns-list li a:hover {
    opacity: 0.8;
  }

  .footer .wrapper {
    display: flex;
    flex-direction: column;
  }

  .footer .wrapper .footer__tel {
    order: 2;
    margin-top: 25px;
  }

  .footer .wrapper .footer__tel a {
    width: 80%;
    margin-inline: auto;
  }

  .footer .wrapper .footer__tel a span {
    margin-top: 15px;
    font-size: 27px;
  }

  .footer .wrapper .footer__tel a span::before {
    width: calc(17px * 0.9);
    height: calc(19px * 0.9);
    margin-right: 10px;
  }

  .footer .wrapper .footer__logo {
    order: 1;
  }

  .footer .wrapper .footer__logo p {
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center;
  }

  .footer .wrapper .footer__logo .footer__logo--img {
    margin-top: 15px;
    text-align: center;
  }

  .footer .wrapper .footer__logo .footer__logo--img img {
    width: 85%;
    height: auto;
  }

  .footer .wrapper .footer__logo address {
    width: fit-content;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 20px auto 0 auto;
  }

  .footer .wrapper .footer__logo address .zip {
    display: block;
  }

  .footer .wrapper .footer__logo .footer__logo--sns {
    display: none;
  }

  .footer .footer__copyright {
    order: 4;
    margin-top: 40px;
    text-align: center;
  }

  .footer .footer__copyright small {
    font-size: 12px;
  }
}
#main {
  padding-bottom: 120px;
}

@media screen and (max-width: 767px) {
  #main {
    padding-bottom: 50px;
  }
}
.pankuzu_area {
  display: block;
}

.fixed_banner_display_none {
  display: none;
}

.fixed_banner_display_ .fixed_banner {
  position: fixed;
  top: auto;
  bottom: 0;
  right: 0;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s opacity;
  width: 180px;
}

@media screen and (max-width: 767px) {
  .fixed_banner_display_ .fixed_banner {
    transition: 0.5s;
  }
}
@media print, screen and (min-width: 981px) {
  .fixed_banner_display_ .fixed_banner.bottom {
    position: absolute;
    bottom: 100%;
    right: 0;
  }
}
.fixed_banner_display_ .fixed_banner.show {
  opacity: 1;
  visibility: visible;
}

@media print, screen and (min-width: 1430px) {
  .fixed_banner_display_ .fixed_banner {
    width: 280px;
  }
}
@media screen and (max-width: 980px) {
  .fixed_banner_display_ .fixed_banner {
    width: 280px;
  }
}
@media screen and (max-width: 980px) {
  .fixed_banner_display_ .fixed_banner {
    transform: translateY(85%);
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
  }
}
.fixed_banner_display_ .fixed_banner .fixed_banner_title {
  display: none;
}

@media screen and (max-width: 980px) {
  .fixed_banner_display_ .fixed_banner .fixed_banner_title {
    position: relative;
    display: block;
    background-color: #0064b6;
    padding: 12px 14px 11px;
    font-size: 12px;
    color: #fff;
    cursor: pointer;
  }
}
.fixed_banner_display_ .fixed_banner .fixed_banner_title .fixed_banner_close {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 15px;
  display: inline-block;
  width: 13px;
}

.fixed_banner_display_ .fixed_banner .fixed_banner_title .fixed_banner_close img {
  display: block;
  width: 100%;
}

.fixed_banner_display_ .fixed_banner.open {
  transform: translateY(0);
}

.fixed_banner_display_ .fixed_banner.open .fixed_banner_close {
  transform: translateY(-50%) rotate(0deg);
}

@media print, screen and (min-width: 1025px) {
  .fixed_banner_display_ .fixed_banner .fixed_banner_contents a {
    transition: 0.5s;
  }

  .fixed_banner_display_ .fixed_banner .fixed_banner_contents a:hover {
    filter: brightness(1.15);
  }
}
.fixed_banner_display_ .fixed_banner .fixed_banner_contents a img {
  width: 100%;
}

#privacy_form + .contact_us p {
  margin: 0;
}

#privacy_form + .contact_us p + p {
  margin-top: 13px;
}

#privacy_form + .contact_us ul {
  margin: 20px 0;
  padding: 0;
  list-style: none;
  line-height: 1.45;
}

.disp-id {
  position: absolute;
  display: inline-block;
  font-weight: 700;
  font-size: 12px;
  z-index: 1000;
  top: 0;
  left: 0;
  color: white;
  background: rgba(0, 0, 0, 0.5);
  padding: 4px;
  width: auto !important;
}

/*
  SP Fixed Menu
*/
#sp-footer-fixed-menu {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 99;
  display: none;
}

#sp-footer-fixed-menu::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: url(../media/images/common/2025/trc/line_sp-footer-fixed-menu.svg) 0 0 no-repeat;
  background-size: cover;
}

#sp-footer-fixed-menu ul {
  display: flex;
  justify-content: center;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}

#sp-footer-fixed-menu ul li {
  background: #fff;
  width: 20vw;
}

#sp-footer-fixed-menu ul li button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

#sp-footer-fixed-menu ul li .sp-footer-fixed-menu__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  color: #333;
  line-height: 1;
  font-weight: 400;
  text-decoration: none;
  text-align: center;
}

#sp-footer-fixed-menu ul li .sp-footer-fixed-menu__btn .icon {
  width: 30px;
  height: 30px;
  margin-top: 5px;
}

#sp-footer-fixed-menu ul li .sp-footer-fixed-menu__btn p {
  font-size: 9px;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 5px;
}

#sp-footer-fixed-menu ul li #btn-sp-footer-fixed-menu .icon {
  position: relative;
}

#sp-footer-fixed-menu ul li #btn-sp-footer-fixed-menu .icon img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 9998;
  visibility: hidden;
  transition: opacity 0.3s ease-in, visibility 0.3s ease-in;
}

#sp-footer-fixed-menu ul li #btn-sp-footer-fixed-menu .icon img.active {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 767px) {
  #sp-footer-fixed-menu {
    display: block;
  }
}
/*# sourceMappingURL=common2025_trc.css.map */
/* === Parfait WL page === */
/************************************************************************
* reset
************************************************************************/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  -webkit-print-color-adjust: exact;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-underline-offset: .2em;
  background: #fff;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  color: #000;
  font-family: '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-break: strict;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-break: normal;
  overflow-wrap: anywhere;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  vertical-align: baseline;
  margin: 0;
  border: 0;
  padding: 0;
  font: inherit;
  font-size: 100%;
}

a {
  display: inline-block;
  -webkit-transition: opacity .3s ease 0s;
  transition: opacity .3s ease 0s;
  color: inherit;
  text-decoration: none;
}

a[href='*'] {
  cursor: pointer;
}

a[href='*']:hover, a[href='*']:focus-visible {
  opacity: .7;
}

img,
svg {
  display: inline-block;
  vertical-align: top;
  border: none;
  width: 100%;
  max-width: 100%;
  height: auto;
}

video {
  width: 100%;
  height: auto;
}

code,
kbd,
pre,
samp {
  font-size: inherit;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

address {
  font-style: italic;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  margin: 0;
  border: none;
  background: transparent;
  padding: 0;
  font: inherit;
}

abbr,
acronym {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

cite {
  font-style: italic;
}

code,
kbd {
  background-color: #F8F8F8;
  padding: .25em .5em;
}

em {
  font-style: italic;
  font-weight: 700;
}

pre {
  display: block;
  background-color: #F8F8F8;
  padding: 1em 2em;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

var {
  background-color: #F8F8F8;
  padding: .25em .5em;
  font-style: italic;
}

/************************************************************************
* end reset
************************************************************************/
.js-fadeIn {
  visibility: hidden;
  opacity: 0;
}

.js-fadeInUp {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  visibility: hidden;
  opacity: 0;
}

.js-fadeInLeft {
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
  visibility: hidden;
  opacity: 0;
}

.js-fadeInRight {
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
  visibility: hidden;
  opacity: 0;
}

@-webkit-keyframes fadeInLeft {
  from {
    -webkit-transform: translate3d(-2%, 0, 0);
    transform: translate3d(-2%, 0, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes fadeInLeft {
  from {
    -webkit-transform: translate3d(-2%, 0, 0);
    transform: translate3d(-2%, 0, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes fadeInRight {
  from {
    -webkit-transform: translate3d(2%, 0, 0);
    transform: translate3d(2%, 0, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes fadeInRight {
  from {
    -webkit-transform: translate3d(2%, 0, 0);
    transform: translate3d(2%, 0, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    -webkit-transform: translate3d(0, 2%, 0);
    transform: translate3d(0, 2%, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes fadeInUp {
  from {
    -webkit-transform: translate3d(0, 2%, 0);
    transform: translate3d(0, 2%, 0);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeInLeft,
.fadeInRight,
.fadeInUp,
.fadeIn,
.fadeOut {
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}

.fadeInLeft {
  -webkit-animation-name: fadeinleft;
  animation-name: fadeInLeft;
}

.fadeInRight {
  -webkit-animation-name: fadeinright;
  animation-name: fadeInRight;
}

.fadeInUp {
  -webkit-animation-name: fadeinup;
  animation-name: fadeInUp;
}

.fadeIn {
  -webkit-animation-name: fadein;
  animation-name: fadeIn;
}

.fadeOut {
  opacity: 1;
  -webkit-animation-name: fadeout;
  animation-name: fadeOut;
}

[data-target] {
  cursor: pointer;
}

html {
  scrollbar-gutter: stable;
  font-size: 100%;
}

button {
  color: #000;
}

/************************************************************************
* layout
************************************************************************/
body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

body.fadeIn {
  opacity: 0;
}

main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

footer {
  margin-top: auto;
}

/************************************************************************
* base
************************************************************************/
a[target=_blank]:not([class]) {
  -webkit-transition: color .3s;
  transition: color .3s;
}

a:not([class]) {
  color: #03c;
}

a:not([class]):visited {
  color: #639;
}

a:not([class]):hover {
  text-decoration: underline;
}

table {
  margin-right: auto;
  margin-left: auto;
  border-collapse: collapse;
  border-spacing: 0;
  width: auto;
  min-width: 100%;
  table-layout: fixed;
}

th,
td {
  border: 1px solid;
}

address {
  font-style: normal;
}

details .icon {
  aspect-ratio: 1;
  display: block;
  position: relative;
  width: 24px;
  width: 1.5rem;
}

details .icon::before, details .icon::after {
  inset: 0;
  position: absolute;
  margin: auto;
  background-color: #000;
  width: 13px;
  width: .8125rem;
  height: 1px;
  content: '';
}

details .icon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

details[open] > summary .icon::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}

details.is-closing[open] > summary .icon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  cursor: pointer;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

/************************************************************************
* end base
************************************************************************/
/************************************************************************
* form
************************************************************************/
form {
  margin: 0;
  padding: 0;
}

form button[type=submit],
form input[type=submit],
form input[type=button] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  width: auto;
}

form button[type=submit]:hover, form button[type=submit]:focus-visible,
form input[type=submit]:hover,
form input[type=submit]:focus-visible,
form input[type=button]:hover,
form input[type=button]:focus-visible {
  outline: none;
}

form button[type=submit]:disabled,
form input[type=submit]:disabled,
form input[type=button]:disabled {
  cursor: default;
  border-color: transparent;
  background-color: #b2b2b2;
  pointer-events: none;
  color: #fff;
}

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

label {
  cursor: pointer;
}

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #707070;
  border-radius: 0;
  background-image: none;
  padding: 8px;
  padding: .5rem;
  width: 100%;
  font-family: inherit;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

textarea {
  resize: vertical;
}

textarea:hover, textarea:focus-visible {
  outline: none;
}

textarea:focus-visible {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #707070;
}

textarea ::-moz-focus-inner {
  border: none;
  padding: 0;
}

input:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #707070;
}

input[type=radio] {
  position: absolute;
  opacity: 0;
  margin: 0;
  padding: 0;
  width: auto;
  line-height: 1.5;
}

input[type=radio] + span {
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin: 0;
  padding: 0 0 0 1.875em;
  line-height: 1.5;
}

input[type=radio] + span::before {
  display: block;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #707070;
  border-radius: 50%;
  background: #fff;
  width: 1.625em;
  height: 1.625em;
  content: '';
}

input[type=radio] + span::after {
  display: block;
  position: absolute;
  top: .5lh;
  left: .5em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
  -webkit-transition: opacity .3s ease 0s;
  transition: opacity .3s ease 0s;
  border-radius: 50%;
  background: #707070;
  width: .625em;
  height: .625em;
  content: '';
}

input[type=radio]:focus-visible + span::before {
  outline: -webkit-focus-ring-color auto 5px;
}

input[type=radio]:checked + span::after {
  opacity: 1;
}

input[type=checkbox] {
  position: absolute;
  vertical-align: middle;
  opacity: 0;
  margin: 0;
  padding: 0;
  width: auto;
  line-height: 1.5;
}

input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
  padding-left: 1.875em;
  line-height: 1.5;
}

input[type=checkbox] + span::before {
  display: inline-block;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #707070;
  width: 1.625em;
  height: 1.625em;
  content: '';
}

input[type=checkbox] + span::after {
  display: inline-block;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-70%) translateX(0.5em) rotate(45deg);
  transform: translateY(-70%) translateX(0.5em) rotate(45deg);
  opacity: 0;
  -webkit-transition: opacity .3s ease 0s;
  transition: opacity .3s ease 0s;
  border-right: .25em solid #0C4A6E;
  border-bottom: .25em solid #0C4A6E;
  width: .8125em;
  height: 1.625em;
  content: '';
}

input[type=checkbox]:focus-visible + span::before {
  outline: -webkit-focus-ring-color auto 5px;
}

input[type=checkbox]:checked:focus-visible + span::before {
  outline: none;
}

input[type=checkbox]:checked + span::after {
  opacity: 1;
}

input[type=number], input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: textfield;
  margin: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #707070;
  border-radius: 0;
  padding: .4em 2.4em .4em .8em;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  font-size: 1rem;
}

select::-ms-expand {
  display: none;
}

select:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #707070;
}

select:focus-visible {
  outline: initial;
}

select:invalid {
  color: #b2b2b2;
}

select:not(:disabled) {
  cursor: pointer;
}

:root {
  /* ウィンドウサイズ */
  --vw: 100vw;
  --vh: 100vh;
  /* 三角形 */
  --clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
  --clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
  --clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
  --clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
  --clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
  /**
     * svgをbackgroundで使う
     * 色：#ffffff -> %23ffffff
     */
  --icon-btn-arrow: url('data:image/svg+xml;utf8,<svg width="37" height="6" viewBox="0 0 37 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 5H36L26.2703 1" stroke="%230C4A6E"/></svg>');
  /* ヘッダー高さ */
  --header-height: 60px;
}

/************************************************************************
* overwrite mfp
************************************************************************/
.mfp-bg {
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
  background-color: #AFA688;
}

.mfp-bg.mfp-ready {
  opacity: .8;
}

.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

.mfp-wrap .mfp-arrow {
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

.mfp-wrap.mfp-ready .mfp-arrow {
  opacity: 1;
}

.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.mfp-wrap.mfp-removing .mfp-arrow {
  opacity: 0;
}

/************************************************************************
* overwrite mfp end
************************************************************************/
/************************************************************************
* MW WP Form Over write
************************************************************************/
.mwform-radio-field,
.mwform-checkbox-field {
  display: inline-block;
}

.mw_wp_form_preview .c-select::after {
  content: none;
}

.mw_wp_form_preview .p-hasPlaceholder__text {
  display: none;
}

/************************************************************************
* swiper
************************************************************************/
.swiper-button-prev,
.swiper-button-next {
  aspect-ratio: 1;
  z-index: 1;
  cursor: pointer;
  background: transparent no-repeat center center/contain;
  width: 30px;
  width: 1.875rem;
}

.swiper-button-prev {
  rotate: 180deg;
  background-image: url("../media/images/campaign/2026/04/common/icon-slider-arrow.svg");
}

.swiper-button-next {
  background-image: url("../media/images/campaign/2026/04/common/icon-slider-arrow.svg");
}

.swiper-pagination {
  font-size: 0;
}

.swiper-pagination-bullet {
  display: inline-block;
  cursor: pointer;
  border-radius: 50%;
  background-color: #D5D5D5;
  width: 5px;
  height: 5px;
}

.swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 5px;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #0C4A6E;
}

/* rtl ******************************************************************/
.swiper[dir=rtl] .swiper-button-prev {
  background-image: url("../media/images/campaign/2026/04/common/icon-chevron-right.svg");
}

.swiper[dir=rtl] .swiper-button-next {
  background-image: url("../media/images/campaign/2026/04/common/icon-chevron-left.svg");
}

.swiper[dir=rtl] .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-right: 5px;
  margin-left: 0;
}

/************************************************************************
* swiper end
************************************************************************/
.wpcf7-spinner {
  display: none;
}

/************************************************************************
* Table of Contents Plus
************************************************************************/
#toc_container {
  padding: 30px 20px;
  padding: 1.875rem 1.25rem;
  width: 100% !important;
}

#toc_container .toc_number {
  margin-right: .5em;
  color: #0C4A6E;
  font-weight: 700;
}

#toc_container .toc_list li {
  color: #000;
}

#toc_container .toc_list li::before {
  display: none;
  color: #0C4A6E;
}

#toc_container .toc_list li + li {
  margin-top: .5em;
}

#toc_container .toc_list a {
  color: #000;
}

.l-body {
  overflow-x: clip;
}

.l-container {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

.l-container.l-container--full {
  margin-left: calc((100% - 100vw) / 2);
  width: 100vw;
  max-width: none;
}

.l-footer {
  margin-top: 80px;
  margin-top: 5rem;
}

.l-header {
  position: -webkit-sticky;
  position: sticky;
  top: -110%;
  left: 0;
  z-index: 20;
  -webkit-transition: top .3s ease 0s;
  transition: top .3s ease 0s;
  width: 100%;
}

.l-header.is-fixed {
  top: 0;
  -webkit-box-shadow: 0 3px 6px rgba(117, 117, 117, 0.16);
  box-shadow: 0 3px 6px rgba(117, 117, 117, 0.16);
}

/************************************************************************
* 基本形
************************************************************************/
.c-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  -webkit-transition: .3s ease 0s;
  transition: .3s ease 0s;
  -webkit-transition-property: color, background-color, border-color;
  transition-property: color, background-color, border-color;
  margin: 0;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border: 1px solid transparent;
  border-radius: 10px;
  background-color: #0C4A6E;
  background-image: none;
  padding: 1em 2em;
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}

.c-btn:hover, .c-btn:focus-visible {
  outline: none;
  border-color: currentColor;
  background-color: #fff;
  color: #0C4A6E;
}

/************************************************************************
* modifier
************************************************************************/
.c-btn.c-btn--shine {
  position: relative;
  overflow: hidden;
}

.c-btn.c-btn--shine::before {
  /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.8)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%);
  /*キラッと光る形状*/
  width: 50%;
  height: 100%;
  content: '';
}

.c-btn.c-btn--shine:hover, .c-btn.c-btn--shine:focus-visible {
  opacity: 1;
  border-color: #0C4A6E;
  background-color: #0C4A6E;
  color: #fff;
}

.c-btn.c-btn--shine:hover::before, .c-btn.c-btn--shine:focus-visible::before {
  -webkit-animation: shine .7s;
  animation: shine .7s;
}

@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
.c-btn--arrowRight {
  position: relative;
  padding-right: 2em;
  padding-left: 1.38em;
}

.c-btn--arrowRight::after {
  position: absolute;
  top: 50%;
  right: .83em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font: var(--fa-font-solid);
  font-weight: 900;
  content: '\f061';
}

.c-btn--yellow {
  background-color: yellow;
  color: #222;
}

.c-btn--yellow:hover, .c-btn--yellow:focus {
  border-color: yellow;
  color: #222;
}

/************************************************************************
* バリエーション:角丸ボタン
************************************************************************/
.c-roundedBtn {
  display: inline-block;
  -webkit-transition: .25s;
  transition: .25s;
  border: 2px solid transparent;
  border-radius: 10px;
  border-bottom-color: #072b40;
  background-color: #0C4A6E;
  padding: 15px 10px;
  width: 236px;
  max-width: 100%;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
}

.c-roundedBtn:hover, .c-roundedBtn:focus {
  border-color: currentColor;
  background-color: #fff;
  color: #0C4A6E;
}

/************************************************************************
* バリエーション：アイコン付き小ボタン
************************************************************************/
.c-beforeIconBtn {
  display: inline-block;
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
  border: 1px solid currentColor;
  padding: .2em .3em;
  color: #0C4A6E;
  text-decoration: none;
}

.c-beforeIconBtn:hover, .c-beforeIconBtn:focus {
  background-color: #0C4A6E;
  color: #fff;
}

.c-beforeIconBtn::before {
  display: inline-block;
  margin-right: .5em;
  font: var(--fa-font-solid);
  font-weight: 900;
}

.c-beforeIconBtn--download::before {
  content: '\f019';
}

.c-cta {
  border-radius: .875rem;
  padding-top: 60px;
  padding-top: 3.75rem;
  text-align: center;
}

.c-cta__inner {
  gap: 10px;
  gap: .625rem;
  padding-inline: 20px;
  padding-inline: 1.25rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  border-radius: .625rem;
  background-color: #614931;
  padding-bottom: 15px;
  padding-bottom: .9375rem;
  width: 100%;
  max-width: 345px;
  max-width: 21.5625rem;
}

.c-cta__inner {
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.32s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.c-cta__arrow,
.c-cta__catalog img {
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.c-cta__inner:hover {
  transform: translateY(-6px);
  background-color: #4a3520;
  box-shadow: 0 20px 36px -10px rgba(60, 40, 20, 0.45);
}

.c-cta__inner:hover .c-cta__arrow {
  transform: translateX(10px);
}

.c-cta__inner:hover .c-cta__catalog img {
  transform: scale(1.06);
}

.c-cta__inner:active {
  transform: translateY(-2px);
  transition-duration: .12s;
}

.c-cta__catalog {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  margin-top: -60px;
  margin-top: -3.75rem;
}

.c-cta__catalog img {
  display: block;
  -webkit-box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.25);
  width: 90px;
  width: 5.625rem;
  height: auto;
}

.c-cta__body {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-cta__labelRow {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-cta__label {
  display: inline-block;
  border-radius: 1.25rem;
  background-color: #fff;
  padding: 4px 12px;
  padding: .25rem .75rem;
  color: #614931;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 11px;
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .05em;
  white-space: nowrap;
}

.c-cta__em {
  display: inline-block;
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
}

.c-cta__text {
  color: #fff;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: .05em;
}

.c-cta__arrow {
  display: block;
  width: 50px;
  width: 3.125rem;
  height: auto;
}

.c-cta__icon {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 20px;
  width: 1.25rem;
  height: auto;
}

.c-totop {
  display: block;
  position: fixed;
  right: 20px;
  right: 1.25rem;
  bottom: 20px;
  bottom: 1.25rem;
  visibility: hidden;
  opacity: 0;
  z-index: 30;
  -webkit-transition: all .3s ease 0s;
  transition: all .3s ease 0s;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  background-color: #65a7ce;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
}

.c-totop::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -20%) rotate(-45deg);
  transform: translate(-50%, -20%) rotate(-45deg);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  content: '';
}

.c-totop.is-active {
  visibility: visible;
  opacity: .7;
}

.c-totop.is-active:hover, .c-totop.is-active:focus {
  opacity: 1;
}

.p-article__date + .p-article__date {
  margin-left: 20px;
}

.p-article__label {
  margin-left: 20px;
}

.p-article__title {
  margin-top: 31px;
  font-size: 20px;
  line-height: 1.5;
}

.p-article__eyecatch {
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  text-align: center;
}

.p-article__body {
  margin-top: 16px;
  border-top: 1px solid #e7e0db;
  border-bottom: 1px solid #e7e0db;
  padding-top: 30px;
  padding-bottom: 50px;
  font-size: 15px;
  line-height: 2;
}

.p-article__body h1,
.p-article__body h2,
.p-article__body h3,
.p-article__body h4,
.p-article__body h5,
.p-article__body h6 {
  margin-top: 2em;
  margin-bottom: 1em;
  font-weight: 700;
  line-height: 1.5;
}

.p-article__body h1 {
  font-size: 32px;
  font-size: 2rem;
}

.p-article__body h2 {
  background-color: #000;
  padding: .3em .4em;
  color: #fff;
  font-size: 26px;
  font-size: 1.625rem;
}

.p-article__body h3 {
  border-left: 5px solid #000;
  padding-left: .5em;
  font-size: 24px;
  font-size: 1.5rem;
}

.p-article__body h4 {
  font-size: 20px;
  font-size: 1.25rem;
}

.p-article__body h5 {
  font-size: 18px;
  font-size: 1.125rem;
}

.p-article__body .c-beforeBar {
  position: relative;
  padding-left: 1.5em;
}

.p-article__body .c-beforeBar::before {
  position: absolute;
  top: 1em;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #000;
  content: 'ー';
}

.p-article__body ul {
  list-style: none;
}

.p-article__body ul li {
  position: relative;
  padding-left: 1em;
}

.p-article__body ul li::before {
  position: absolute;
  left: 0;
  content: '・';
}

.p-article__body table {
  border: none;
  width: 100%;
}

.p-article__body table th,
.p-article__body table td {
  vertical-align: middle;
  border: none;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 20px;
  padding: 1.25rem;
}

.p-article__body table th {
  border-right: 1px solid #000;
  width: 130px;
  width: 8.125rem;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 700;
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  text-justify: inter-ideograph;
}

.p-article__body * + * {
  margin-top: 25px;
}

.p-article__body *:first-child {
  margin-top: 0;
}

.p-article__body .wp-block-spacer, .p-article__body .wp-block-spacer + * {
  margin-top: 0;
}

.p-article__body p {
  font-weight: 400;
}

.p-article__body ul,
.p-article__body ol {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  margin-left: 10px;
  margin-left: .625rem;
}

.p-article__body ul ul,
.p-article__body ul ol,
.p-article__body ol ul,
.p-article__body ol ol {
  margin-top: 15px;
  margin-top: .9375rem;
  margin-left: 0;
}

.p-article__body ul li,
.p-article__body ol li {
  gap: 10px;
  gap: .625rem;
  display: grid;
  grid-column: span 2;
  grid-template-columns: subgrid;
}

.p-article__body ol {
  padding-left: 1.25em;
}

.p-article__body ol > li:not([class]) {
  list-style: decimal;
}

.p-article__body ol > li:not([class])::marker {
  color: #0C4A6E;
  font-weight: 700;
}

.p-article__body li:not([class]) + li {
  margin-top: 10px;
  margin-top: .625rem;
}

.p-article__body a:not([class]) {
  color: #0C4A6E;
  text-decoration: underline;
}

.p-article__body figcaption {
  margin-top: 0;
  padding-top: .5em;
  padding-bottom: .5em;
  color: #000;
  font-size: 14px;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

.p-article__body strong,
.p-article__body b {
  font-weight: 700;
}

.p-article__body blockquote,
.p-article__body q {
  position: relative;
  background-color: #F8F8F8;
  padding: 1em 4em;
}

.p-article__body blockquote::before, .p-article__body blockquote::after,
.p-article__body q::before,
.p-article__body q::after {
  position: absolute;
  color: #b2b2b2;
  font: var(--fa-font-solid);
  font-size: 2em;
  font-weight: 900;
}

.p-article__body blockquote::before,
.p-article__body q::before {
  top: 0;
  left: .5em;
  content: '\f10d';
}

.p-article__body blockquote::after,
.p-article__body q::after {
  right: .5em;
  bottom: 0;
  content: '\f10e';
}

.p-article__body q {
  display: inline-block;
}

.p-article__body dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.p-article__body dt,
.p-article__body dd {
  border-top: 1px solid #e7e0db;
  padding: 20px 10px;
  padding: 1.25rem .625rem;
}

.p-article__body dt:last-of-type,
.p-article__body dd:last-of-type {
  border-bottom: 1px solid #e7e0db;
}

.p-article__body dt {
  width: 33%;
  font-weight: 700;
}

.p-article__body dd {
  width: 67%;
}

.p-article__body pre {
  overflow: auto;
  font-size: 14px;
  font-size: .875rem;
  letter-spacing: 0;
  white-space: pre;
}

.p-article__body .aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.p-article__body .alignleft {
  float: left;
  margin-right: 1em;
}

.p-article__body .alignright {
  float: right;
  margin-left: 1em;
}

.p-article__body .gallery {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-article__body .gallery-columns-4 {
  gap: 20px;
}

.p-article__body .gallery-columns-4 > .gallery-item {
  width: calc((100% - 60px) / 4);
}

.p-article__body .gallery-item {
  margin-top: 0;
}

.p-article__body .gallery-icon {
  text-align: center;
}

.p-article__links {
  margin-top: 30px;
  margin-top: 1.875rem;
  text-align: center;
}

.post-page-numbers {
  display: inline-block;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  border: 1px solid #0C4A6E;
  width: 2em;
  height: 2em;
  color: #0C4A6E;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 2em;
  text-align: center;
}

.p-article__links .post-page-numbers {
  text-decoration: none;
}

.post-page-numbers + .post-page-numbers {
  margin-left: 10px;
}

.post-page-numbers.current {
  background-color: #0C4A6E;
  color: #fff;
}

.post-page-numbers.dots {
  border: none;
}

.p-drawer {
  z-index: 40;
  margin-left: auto;
}

.p-drawer__icon {
  display: inline-block;
  position: relative;
  z-index: 41;
  cursor: pointer;
  padding: 19px 17.5px;
  padding: 1.1875rem 1.09375rem;
  font-size: 0;
  line-height: 1;
  text-align: center;
}

.p-drawer__icon::after {
  display: none;
  margin-top: 4px;
  min-width: 5em;
  color: #000;
  font-size: 8px;
  font-size: .5rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  content: 'MENU';
}

.p-drawer__icon.is-opened::after {
  content: 'CLOSE';
}

.p-drawer__bars {
  display: inline-block;
  vertical-align: bottom;
  width: 25px;
}

.p-drawer__bar {
  display: block;
  -webkit-transition: all .3s linear 0s;
  transition: all .3s linear 0s;
  margin-top: 5px;
  background: #000;
  width: 100%;
  height: 3px;
}

.p-drawer__bar:first-child {
  margin-top: 0;
}

.is-opened .p-drawer__bar:nth-child(2) {
  background: transparent;
}

.is-opened .p-drawer__bar:first-child {
  -webkit-transform: translateY(8px) rotate(45deg);
  transform: translateY(8px) rotate(45deg);
  width: 100%;
}

.is-opened .p-drawer__bar:last-child {
  -webkit-transform: translateY(-8px) rotate(-45deg);
  transform: translateY(-8px) rotate(-45deg);
  width: 100%;
}

.p-drawer__bg {
  -webkit-transition: all .3s ease 0s;
  transition: all .3s ease 0s;
}

.p-drawer__bg.is-opened {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.25);
  width: 100vw;
  height: 100vh;
}

.p-drawer__content {
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
  z-index: 40;
  -webkit-transition: -webkit-transform .5s ease 0s;
  transition: -webkit-transform .5s ease 0s;
  transition: transform .5s ease 0s;
  transition: transform .5s ease 0s, -webkit-transform .5s ease 0s;
  background: #fff;
  padding-top: var(--header-height, 60px);
  padding-bottom: var(--header-height, 60px);
  width: 100%;
  max-height: 100dvh;
  overflow: auto;
  color: #000;
  text-align: center;
}

.p-drawer__content.is-opened {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-box-shadow: 6px 0 25px rgba(0, 0, 0, 0.16);
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.16);
}

.p-drawer__content--left {
  right: auto;
  left: 0;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
}

.p-drawer__content--top {
  top: 0;
  bottom: auto;
  -webkit-transform: translateY(-105%);
  transform: translateY(-105%);
  width: 100%;
  max-width: 100%;
}

.p-drawer__content--cover {
  width: 100%;
  max-width: 100%;
}

.p-drawer__inner {
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
}

.p-drawer__navItem + .p-drawer__navItem {
  margin-top: .5em;
}

.p-drawer__navLink {
  display: block;
  padding-top: .5em;
  padding-bottom: .5em;
}

.p-footer {
  background-color: #0C4A6E;
  padding-top: 30px;
  padding-top: 1.875rem;
  padding-bottom: 30px;
  padding-bottom: 1.875rem;
  text-align: center;
}

.p-footer__logo {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
}

.p-footer__logo img,
.p-footer__logo svg {
  width: 200px;
  width: 12.5rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-footer__copy {
  padding: 10px 0;
  padding: .625rem 0;
  color: #000;
}

.p-fv {
  background-color: #fff;
  position: relative;
}

.p-fv__photos {
  position: relative;
}

.p-fv__photos::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 55%, rgba(0, 0, 0, 0.22) 100%);
  z-index: 2;
}

.p-fv__brand {
  transform-style: preserve-3d;
  perspective: 800px;
  will-change: transform;
}

.p-fv__scrollCue {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #1a1a1a;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  pointer-events: none;
  z-index: 5;
  animation: p-fvCueBob 2.2s ease-in-out infinite;
}

@media screen and (min-width: 768px) {
  .p-fv__scrollCue {
    display: flex;
  }
}
.p-fv__scrollCueArrow {
  display: inline-flex;
}

@keyframes p-fvCueBob {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(8px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-fv__scrollCue {
    animation: none;
  }
}
.p-fv__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-fv__photos {
  display: none;
}

.p-fv__photoList {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.p-fv__photoItem {
  aspect-ratio: 389/259;
  overflow: hidden;
}

.p-fv__photoImg {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-fv__spPhotos {
  display: block;
}

.p-fv__mainSlider .swiper-slide {
  aspect-ratio: 375/273;
  overflow: hidden;
}

.p-fv__mainSlider picture,
.p-fv__mainSlider img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-fv__thumbSlider {
  margin-top: 5px;
  margin-top: .3125rem;
}

.p-fv__thumbSlider .swiper-slide {
  aspect-ratio: 98/72;
  opacity: .45;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  cursor: pointer;
  width: 98px;
  width: 6.125rem;
  overflow: hidden;
}

.p-fv__thumbSlider .swiper-slide-thumb-active {
  opacity: 1;
}

.p-fv__thumbSlider picture,
.p-fv__thumbSlider img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-fv__brand {
  gap: 30px;
  gap: 1.875rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 40px 20px 30px;
  padding: 2.5rem 1.25rem 1.875rem;
}

.p-fv__brandLogo {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: 100%;
  max-width: 329px;
  max-width: 20.5625rem;
}

.p-fv__brandLogoSub {
  display: block;
  width: auto;
  max-width: 115px;
  max-width: 7.1875rem;
  height: auto;
}

.p-fv__brandLogoParfait {
  display: block;
  width: auto;
  max-width: 185px;
  max-width: 11.5625rem;
  height: auto;
}

.p-fv__brandWlImg {
  display: block;
  width: auto;
  max-width: 331px;
  max-width: 20.6875rem;
}

.p-fv__brandMessage {
  width: 100%;
  max-width: 329px;
  max-width: 20.5625rem;
}

.p-fv__catch {
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.8;
}

.p-fv__colorBar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 15px;
  margin-top: .9375rem;
}

.p-fv__colorBarItem {
  display: block;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 70px;
  -webkit-flex: 0 0 4.375rem;
  -ms-flex: 0 0 70px;
  -ms-flex: 0 0 4.375rem;
  flex: 0 0 70px;
  flex: 0 0 4.375rem;
  height: 2px;
  height: .125rem;
}

.p-fv__colorBarItem--orange {
  background-color: #f48466;
}

.p-fv__colorBarItem--blue {
  background-color: #48b7ce;
}

.p-fv__colorBarItem--purple {
  background-color: #8490c8;
}

.p-fvModal {
  inset: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0;
  z-index: 100;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  pointer-events: none;
}

.p-fvModal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.p-fvModal__overlay {
  inset: 0;
  position: absolute;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.85);
}

.p-fvModal__content {
  position: relative;
  z-index: 1;
  max-width: Min(90vw, 900px);
  max-width: Min(90vw, 56.25rem);
}

.p-fvModal__close {
  padding-block: 10px;
  padding-block: .625rem;
  padding-inline: 10px;
  padding-inline: .625rem;
  position: absolute;
  top: -48px;
  top: -3rem;
  right: 0;
  cursor: pointer;
  border: none;
  background: none;
}

.p-fvModal__close::before,
.p-fvModal__close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #fff;
  width: 24px;
  width: 1.5rem;
  height: 2px;
  height: .125rem;
  content: '';
}

.p-fvModal__close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.p-fvModal__close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.p-fvModal__picture {
  display: block;
}

.p-fvModal__img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 90vh;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-header {
  -webkit-box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.05);
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.05);
  background-color: #fff;
}

.p-header__inner {
  padding-block: 10px;
  padding-block: .625rem;
  padding-inline: 20px;
  padding-inline: 1.25rem;
  gap: 20px;
  gap: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-header__logo {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-header__logo--parfait {
  display: none;
}

.p-header__logoImg {
  display: block;
  width: auto;
  max-height: 40px;
  max-height: 2.5rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-header__nav {
  display: none;
}

.p-header__navList {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-header__navLink {
  display: block;
  font-size: 14px;
  font-size: .875rem;
  letter-spacing: .05em;
  white-space: nowrap;
}

.p-header__navLink:hover {
  opacity: .7;
}

.p-header__hamburger {
  gap: 5px;
  gap: .3125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: auto;
  padding: 6px;
  padding: .375rem;
}

.p-header__hamburgerBar {
  display: block;
  -webkit-transition: opacity .3s, -webkit-transform .3s;
  transition: opacity .3s, -webkit-transform .3s;
  transition: transform .3s, opacity .3s;
  transition: transform .3s, opacity .3s, -webkit-transform .3s;
  background-color: #000;
  width: 22px;
  width: 1.375rem;
  height: 2px;
  height: .125rem;
}

.p-header__spNav {
  border-top: 1px solid #b2b2b2;
  background-color: #fff;
}

.p-header__spNav[aria-hidden=true] {
  display: none;
}

.p-header__spNav[aria-hidden=false] {
  display: block;
}

.p-header__spNavList {
  padding: 16px 20px;
  padding: 1rem 1.25rem;
}

.p-header__spNavItem + .p-header__spNavItem {
  margin-top: 4px;
  margin-top: .25rem;
}

.p-header__spNavLink {
  display: block;
  border-bottom: 1px solid #b2b2b2;
  padding: 12px 0;
  padding: .75rem 0;
  font-size: 14px;
  font-size: .875rem;
}

.p-intro {
  position: relative;
  background-color: #fff;
}

.p-intro__deco {
  display: none;
  z-index: 0;
}

.p-intro__deco--pink {
  top: 88px;
  top: 5.5rem;
  right: 0;
  background-color: #ffe5dc;
  width: 160px;
  width: 10rem;
  height: 200px;
  height: 12.5rem;
}

.p-intro__deco--teal {
  top: 286px;
  top: 17.875rem;
  left: 0;
  background-color: #daf4f7;
  width: 100px;
  width: 6.25rem;
  height: 180px;
  height: 11.25rem;
}

.p-intro__deco--purple {
  top: 506px;
  top: 31.625rem;
  right: 0;
  background-color: #e4e5f6;
  width: 280px;
  width: 17.5rem;
  height: 100px;
  height: 6.25rem;
}

.p-intro__inner {
  padding-block: 60px 80px;
  padding-block: 3.75rem 5rem;
  padding-inline: 20px;
  padding-inline: 1.25rem;
  position: relative;
  z-index: 1;
}

.p-intro__head {
  text-align: center;
}

.p-intro__subtitle {
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.p-intro__title {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 8px;
  margin-top: .5rem;
}

.p-intro__titleNumGroup {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-intro__titleNum {
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1;
}

.p-intro__titleWl {
  display: block;
  width: auto;
  height: 50px;
  height: 3.125rem;
}

.p-intro__colorBar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0;
  width: 76px;
  width: 4.75rem;
  height: 2px;
  height: .125rem;
}

.p-intro__colorBarItem {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 0;
  -ms-flex: 1 0 0;
  flex: 1 0 0;
  min-width: 0;
}

.p-intro__colorBarItem--orange {
  background-color: #f48466;
}

.p-intro__colorBarItem--blue {
  background-color: #48b7ce;
}

.p-intro__colorBarItem--purple {
  background-color: #8490c8;
}

.p-intro__house {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}

.p-intro__houseImg {
  display: block;
  width: 100%;
  height: auto;
}

.p-intro__nav {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-intro__navList {
  gap: 20px;
  gap: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-intro__navItem {
  border-bottom: 0.5px solid #8e8e8e;
  border-bottom: .03125rem solid #8e8e8e;
}

.p-intro__navItem:last-child {
  border-bottom: none;
}

.p-intro__navBtn {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  cursor: pointer;
  padding: 0 0 10px;
  padding: 0 0 .625rem;
  width: 100%;
  text-align: left;
}

.p-intro__navBtn:hover {
  opacity: .7;
}

.p-intro__navBtnInner {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-intro__navBtnLogo {
  gap: 4px;
  gap: .25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  min-height: 24px;
  min-height: 1.5rem;
}

.p-intro__navBtnLogo img {
  display: block;
  width: auto;
  height: 24px;
  height: 1.5rem;
}

.p-intro__navBtnText {
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 13px;
  font-size: .8125rem;
  line-height: 1.6;
  text-align: left;
}

.p-intro__navBtn::after {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  border-top: 1px solid currentColor;
  border-top: .0625rem solid currentColor;
  border-right: 1px solid currentColor;
  border-right: .0625rem solid currentColor;
  width: 10px;
  width: .625rem;
  height: 10px;
  height: .625rem;
  content: '';
}

.p-lifeline {
  position: relative;
  margin-right: 15px;
  margin-right: .9375rem;
  overflow: hidden;
}

.p-lifeline::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff9f7;
  transform: translateX(var(--lifeline-bg-x, -73px));
  opacity: var(--lifeline-bg-o, 0);
  z-index: 0;
  pointer-events: none;
  will-change: transform, opacity;
}

.p-lifeline__inner {
  position: relative;
  z-index: 1;
  padding-block: 60px 40px;
  padding-block: 3.75rem 2.5rem;
  margin-top: 60px;
  margin-top: 3.75rem;
}

.p-lifeline__head {
  padding-inline: 20px;
  padding-inline: 1.25rem;
}

.p-lifeline__logo {
  margin-top: -90px;
  margin-top: -5.625rem;
}

.p-lifeline__logo img {
  display: block;
  width: auto;
  max-width: 214px;
  max-width: 13.375rem;
  height: auto;
}

.p-lifeline__subtitle {
  margin-top: 30px;
  margin-top: 1.875rem;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.p-lifeline__slider {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-lifeline__slide {
  position: relative;
}

.p-lifeline__slideImg {
  aspect-ratio: 900/600;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-lifeline__slideCaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  mix-blend-mode: multiply;
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(44%, #563026));
  background: linear-gradient(to right, #fff, #563026 44%);
  padding: 16px 20px;
  padding: 1rem 1.25rem;
  color: #fff;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 14px;
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: center;
}

.p-lifeline__point {
  padding-inline: 20px;
  padding-inline: 1.25rem;
  position: relative;
  margin-top: 74px;
  margin-top: 4.625rem;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
}

.p-lifeline__pointLabel {
  display: block;
  position: absolute;
  top: -40px;
  top: -2.5rem;
  left: 56px;
  left: 3.5rem;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  width: 11%;
  height: auto;
}

.p-lifeline__pointList {
  background-color: #fff;
  padding: 65px 30px;
  padding: 4.0625rem 1.875rem;
}

.p-lifeline__pointItem + .p-lifeline__pointItem {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-lifeline__pointCard {
  position: relative;
}

.p-lifeline__pointPhoto {
  aspect-ratio: 262/175;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-lifeline__pointIcon {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 63px;
  width: 3.9375rem;
  height: auto;
}

.p-lifeline__pointText {
  margin-top: 16px;
  margin-top: 1rem;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 14px;
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.6;
  text-align: center;
}

.p-lifeline__pointNote {
  margin-top: 12px;
  margin-top: .75rem;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 11px;
  font-size: .6875rem;
  letter-spacing: .1em;
  line-height: 1.7;
}

.p-lifeline__pointLogos {
  gap: 20px;
  gap: 1.25rem;
  padding-block: 16px;
  padding-block: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-lifeline__pointLogos img {
  display: block;
  width: auto;
  height: auto;
  max-height: 40px;
  max-height: 2.5rem;
}

.p-lifeline__pointProducts {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-lifeline__pointProductImg {
  display: block;
  width: auto;
  height: auto;
  max-height: 146px;
  max-height: 9.125rem;
}

.p-lifeline__cta {
  margin-top: 60px;
  margin-top: 3.75rem;
  text-align: center;
}

.p-living {
  overflow: hidden;
}

.p-living__inner {
  position: relative;
  padding-block: 60px 40px;
  padding-block: 3.75rem 2.5rem;
  margin-top: 176px;
  margin-top: 11rem;
}

.p-living__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #f3ffff;
  transform: translateX(var(--living-bg-x, -200px));
  opacity: var(--living-bg-o, 0);
  z-index: 0;
  pointer-events: none;
  will-change: transform, opacity;
}

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

.p-living__head {
  padding-inline: 20px;
  padding-inline: 1.25rem;
}

.p-living__logo {
  margin-top: -90px;
  margin-top: -5.625rem;
}

.p-living__logo img {
  display: block;
  width: auto;
  max-width: 205px;
  max-width: 12.8125rem;
  height: auto;
}

.p-living__subtitle {
  margin-top: 20px;
  margin-top: 1.25rem;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.p-living__slider {
  position: relative;
  margin-top: 40px;
  margin-top: 2.5rem;
  overflow: unset;
}

.p-living__slide {
  position: relative;
}

.p-living__slideMedia {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 900 / 600;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

.p-living__slideImg {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  margin: 0;
  vertical-align: bottom;
}

.p-living__slideCaption {
  display: block;
  position: absolute;
  inset: auto 0 0 0;
  margin: 0;
  border: 0;
  padding: 18px 22px;
  padding: 1.125rem 1.375rem;
  color: #fff;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 14px;
  font-size: .875rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: .1em;
  text-align: right;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.p-living__slideCaptionBar {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  mix-blend-mode: multiply;
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(44%, #402310));
  background: linear-gradient(to right, #fff, #402310 44%);
}

.p-living__slideCaptionText {
  position: relative;
  z-index: 1;
  display: inline-block;
}

.p-living__slideCounter {
  gap: 8px;
  gap: .5rem;
  padding-inline: 20px;
  padding-inline: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 12px;
  margin-top: .75rem;
  color: #666;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 12px;
  font-size: .75rem;
  letter-spacing: .1em;
}

.p-living__slideCounterCurrent {
  color: #48b7ce;
  font-weight: 700;
}

.p-living__slideCounterTotal {
  color: #999;
}

.p-living__slideCounterBars {
  gap: 5px;
  gap: .3125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-living__slideCounterBar {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: #ccc;
  width: 20px;
  width: 1.25rem;
  height: 1px;
  height: .0625rem;
}

.p-living__slideCounterBar::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #48b7ce;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

.p-living__slideCounterBar.is-active::after {
  -webkit-animation: livingBarFill 4s linear forwards;
  animation: livingBarFill 4s linear forwards;
}

@-webkit-keyframes livingBarFill {
  from {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}
@keyframes livingBarFill {
  from {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}
.p-living__slideCounterCurrent {
  display: inline-block;
  will-change: transform, opacity;
}

.p-living__point {
  padding-inline: 20px;
  padding-inline: 1.25rem;
  position: relative;
  margin-top: 100px;
  margin-top: 6.25rem;
}

.p-living__pointLabel {
  display: block;
  position: absolute;
  top: -40px;
  top: -2.5rem;
  left: 56px;
  left: 3.5rem;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  width: 11%;
  height: auto;
}

.p-living__pointContent {
  background-color: #fff;
  padding: 65px 42px 35px;
  padding: 4.0625rem 2.625rem 2.1875rem;
}

.p-living__pointTitle {
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: center;
}

.p-living__pointLine {
  margin-inline: auto;
  display: block;
  margin-top: 12px;
  margin-top: .75rem;
  width: 460px;
  width: 28.75rem;
  max-width: 100%;
  height: auto;
  transform-origin: left center;
}

.p-living__pointList {
  gap: 40px;
  gap: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.p-living__pointPhoto {
  aspect-ratio: 260/173;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-living__pointHeading {
  gap: 6px;
  gap: .375rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 12px;
  margin-top: .75rem;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.p-living__pointHeading::before {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-color: #48b7ce;
  width: 2px;
  width: .125rem;
  height: 14px;
  height: .875rem;
  content: '';
}

.p-living__pointText {
  margin-top: 8px;
  margin-top: .5rem;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.7;
  text-align: center;
}

.p-living__cta {
  margin-top: 60px;
  margin-top: 3.75rem;
  text-align: center;
}

.p-longtime {
  overflow: hidden;
}

.p-longtime__inner {
  padding-block: 60px 26px;
  padding-block: 3.75rem 1.625rem;
  margin-top: 168px;
  margin-top: 10.5rem;
  background-color: #f8f6ff;
}

.p-longtime__head {
  padding-inline: 20px;
  padding-inline: 1.25rem;
}

.p-longtime__logo {
  margin-top: -80px;
  margin-top: -5rem;
}

.p-longtime__logo img {
  display: block;
  width: auto;
  max-width: 306px;
  max-width: 19.125rem;
  height: auto;
}

.p-longtime__subtitle {
  margin-top: 20px;
  margin-top: 1.25rem;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.p-longtime__slider {
  position: relative;
  margin-top: 40px;
  margin-top: 2.5rem;
  overflow: unset;
}

.p-longtime__slideList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-longtime__slide {
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
}

.p-longtime__slideImg {
  aspect-ratio: 900/600;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-longtime__slideCaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 16px 20px;
  padding: 1rem 1.25rem;
  color: #fff;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 14px;
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-align: right;
  line-height: normal;
}

.p-longtime__slideCaption::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  mix-blend-mode: multiply;
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(44%, #402310));
  background: linear-gradient(to right, #fff, #402310 44%);
}

.p-longtime__slideCaptionText {
  position: relative;
  z-index: 1;
  display: inline-block;
}

.p-longtime__slideCounter {
  gap: 8px;
  gap: .5rem;
  padding-inline: 20px;
  padding-inline: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 12px;
  margin-top: .75rem;
  color: #666;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 12px;
  font-size: .75rem;
  letter-spacing: .1em;
}

.p-longtime__slideCounterCurrent {
  color: #3a2563;
  font-weight: 700;
}

.p-longtime__slideCounterTotal {
  color: #999;
}

.p-longtime__slideCounterBars {
  gap: 5px;
  gap: .3125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-longtime__slideCounterBar {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: #ccc;
  width: 20px;
  width: 1.25rem;
  height: 1px;
  height: .0625rem;
}

.p-longtime__slideCounter:not(.p-longtime__slideCounter--point) .p-longtime__slideCounterBar::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #3a2563;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

.p-longtime__slideCounter:not(.p-longtime__slideCounter--point) .p-longtime__slideCounterBar.is-active::after {
  -webkit-animation: longtimeBarFill 4s linear forwards;
  animation: longtimeBarFill 4s linear forwards;
}

@-webkit-keyframes longtimeBarFill {
  from {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}
@keyframes longtimeBarFill {
  from {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}
/* Point counter (NOT the main one) — restore the simple toggle behavior */
.p-longtime__slideCounter--point .p-longtime__slideCounterBar.is-active {
  background-color: #3a2563;
}

.p-longtime__slideCounterCurrent {
  display: inline-block;
  will-change: transform, opacity;
}

.p-longtime__point {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.p-longtime__pointDivider {
  gap: 16px;
  gap: 1rem;
  padding-inline: 20px;
  padding-inline: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #444;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: center;
}

.p-longtime__pointDivider::before,
.p-longtime__pointDivider::after {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #ccc;
  max-width: 150px;
  max-width: 9.375rem;
  height: 1px;
  height: .0625rem;
  content: '';
}

.p-longtime__pointSlider {
  position: relative;
  margin-top: 30px;
  margin-top: 1.875rem;
  overflow: unset;
}

.p-longtime__pointSlideList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-longtime__pointSlide {
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
}

.p-longtime__pointSlideImg {
  aspect-ratio: 900/600;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-longtime__pointCaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(44%, rgba(58, 37, 99, 0.85)));
  background: linear-gradient(to right, transparent, rgba(58, 37, 99, 0.85) 44%);
  padding: 16px 20px;
  padding: 1rem 1.25rem;
  color: #fff;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 14px;
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.7;
  text-align: center;
}

.p-longtime__pointCaption small {
  vertical-align: super;
  font-size: .75em;
}

.p-longtime__pointSlideMedia {
  position: relative;
}

.p-longtime__pointSumstockLogo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 110px;
  width: 6.875rem;
  height: auto;
  pointer-events: none;
}

/* Pin the point counter to the image-bottom line so it sits between image and notes */
.p-longtime__pointSlider .p-longtime__slideCounter--point {
  position: absolute;
  top: 600px;
  top: 37.5rem;
  right: 0;
  z-index: 5;
  margin-top: 0;
  padding-top: 32px;
  padding-top: 2rem;
  padding-bottom: 32px;
  padding-bottom: 2rem;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .p-longtime__pointSlider .p-longtime__slideCounter--point {
    right: 190px;
    right: 11.875rem;
  }
}
@media (max-width: 1023px) {
  .p-longtime__pointSlider .p-longtime__slideCounter--point {
    top: auto;
    bottom: -36px;
    bottom: -2.25rem;
  }
}
/* Bar-fill animation on the point counter (matches main longtime/living counters) */
.p-longtime__slideCounter--point .p-longtime__slideCounterBar {
  position: relative;
  overflow: hidden;
}

.p-longtime__slideCounter--point .p-longtime__slideCounterBar::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #3a2563;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

.p-longtime__slideCounter--point .p-longtime__slideCounterBar.is-active::after {
  -webkit-animation: longtimeBarFill 4s linear forwards;
  animation: longtimeBarFill 4s linear forwards;
}

.p-longtime__slideCounter--point .p-longtime__slideCounterBar.is-active {
  background-color: #ccc;
}

.p-longtime__pointFooter {
  padding-inline: 20px;
  padding-inline: 1.25rem;
  margin-top: 110px;
  margin-top: 6.875rem;
}

.p-longtime__note {
  color: #555;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 11px;
  font-size: .6875rem;
  letter-spacing: .1em;
  line-height: 1.7;
}

.p-longtime__note + .p-longtime__note {
  margin-top: 8px;
  margin-top: .5rem;
}

.p-longtime__noteList {
  margin-top: 4px;
  margin-top: .25rem;
  margin-bottom: 8px;
  margin-bottom: .5rem;
  padding-left: 14px;
  padding-left: .875rem;
}

.p-longtime__noteList li {
  color: #555;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 11px;
  font-size: .6875rem;
  letter-spacing: .1em;
  line-height: 1.7;
  list-style: disc;
}

.p-longtime__sumstock {
  margin-top: 24px;
  margin-top: 1.5rem;
  border-top: 1px solid #ddd;
  border-top: .0625rem solid #ddd;
  padding-top: 24px;
  padding-top: 1.5rem;
}

.p-longtime__sumstockLogo {
  display: block;
  margin-bottom: 12px;
  margin-bottom: .75rem;
  width: auto;
  max-width: 120px;
  max-width: 7.5rem;
  height: auto;
}

.p-longtime__sumstockText {
  color: #555;
  font-family: 'Zen Kaku Gothic New', '游ゴシック体', '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 11px;
  font-size: .6875rem;
  letter-spacing: .1em;
  line-height: 1.8;
}

.p-longtime__cta {
  margin-top: 60px;
  margin-top: 3.75rem;
  text-align: center;
}

#main #op {
  display: none;
}

body > #op {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #fff;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.op__wrapper {
  position: absolute;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%, -40%);
  transform: translate(-50%, -40%);
  width: 100%;
  height: auto;
}

.op__logo {
  margin-inline: auto;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity .7s ease-in;
  transition: opacity .7s ease-in;
  text-align: center;
}

.op__logo img {
  width: 100%;
  max-width: 248px;
  max-width: 15.5rem;
  height: auto;
}

.op__logo.active {
  visibility: visible;
  opacity: 1;
}

.wholewrapper {
  visibility: hidden;
}

/************************************************************************
* p-pagination
************************************************************************/
.p-pagination__inner {
  letter-spacing: 0;
  text-align: center;
}

.page-numbers {
  display: inline-block;
  border: 1px solid #0C4A6E;
  width: 2em;
  height: 2em;
  color: #0C4A6E;
  font-size: 14px;
  font-size: .875rem;
  letter-spacing: 0;
  line-height: 2;
}

.page-numbers + .page-numbers {
  margin-left: 10px;
  margin-left: .625rem;
}

.page-numbers.current {
  background-color: #0C4A6E;
  color: #fff;
}

.page-numbers.dots {
  border: none;
}

.clearfix::after {
  display: block;
  clear: both;
  content: '';
}

/************************************************************************
* visible device
************************************************************************/
.u-onlyPc {
  display: none;
}

.u-onlyTab {
  display: none;
}

.u-onlySp {
  display: none;
}

.u-inlineBlock {
  display: inline-block !important;
}

.u-block {
  display: block !important;
}

.u-inline {
  display: inline !important;
}

.u-hidden {
  display: none !important;
}

.u-overflowHidden {
  overflow: hidden !important;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  position: absolute;
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}

@media screen and (min-width: 600px) {
  .p-article__body .gallery-columns-4 > .gallery-item {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.5094339623vw;
    font-size: calc(var(--vw-unitless) / 1060 * 100%);
  }

  :root {
    --header-height: 80px;
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 40px;
    width: 2.5rem;
  }

  #toc_container {
    padding: 30px 60px;
    padding: 1.875rem 3.75rem;
  }

  .l-container {
    padding-right: 30px;
    padding-left: 30px;
    max-width: 1120px;
  }

  .l-container.l-container--narrow {
    max-width: 908px;
  }

  .l-container.l-container--wide {
    max-width: 1332px;
  }

  .p-article__title {
    font-size: 24px;
  }

  .p-article__body {
    padding-top: 60px;
    padding-bottom: 100px;
    font-size: 16px;
  }

  .p-article__body table th,
  .p-article__body table td {
    padding: 20px 30px;
    padding: 1.25rem 1.875rem;
  }

  .p-article__body table th {
    width: 153px;
    width: 9.5625rem;
  }

  .p-article__body .gallery-columns-4 > .gallery-item {
    width: calc((100% - 40px) / 3);
  }

  .p-footer__logo {
    font-size: 40px;
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .u-onlyTab {
    display: block;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .u-hidden--tab {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer {
    margin-top: 150px;
    margin-top: 9.375rem;
  }

  .c-cta {
    border: none;
    border-radius: 0;
    padding-top: 26px;
    padding-top: 1.625rem;
  }

  .c-cta__inner {
    gap: 20px;
    gap: 1.25rem;
    padding-block: 16px;
    padding-block: 1rem;
    padding-inline: 20px 50px;
    padding-inline: 1.25rem 3.125rem;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 554px;
    max-width: 34.625rem;
  }

  .c-cta__catalog {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-top: -32px;
    margin-top: -2rem;
  }

  .c-cta__catalog img {
    width: 151px;
    width: 9.4375rem;
  }

  .c-cta__labelRow {
    display: contents;
  }

  .c-cta__label {
    border: none;
    font-size: 14px;
    font-size: .875rem;
  }

  .c-cta__text {
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: .05em;
  }

  .c-cta__icon {
    position: absolute;
    top: 50%;
    right: 20px;
    right: 1.25rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 18px;
    width: 1.125rem;
  }

  .post-page-numbers + .post-page-numbers {
    margin-left: 20px;
  }

  .p-fv__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .p-fv__photos {
    display: block;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 60.78%;
    -ms-flex: 0 0 60.78%;
    flex: 0 0 60.78%;
  }

  .p-fv__spPhotos {
    display: none;
  }

  .p-fv__brand {
    gap: 60px;
    gap: 3.75rem;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    padding: 80px 80px 60px 140px;
    padding: 5rem 5rem 3.75rem 8.75rem;
  }

  .p-fv__brandLogo {
    gap: 20px;
    gap: 1.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    max-width: none;
  }

  .p-fv__brandLogoSub {
    max-width: 225px;
    max-width: 14.0625rem;
  }

  .p-fv__brandLogoParfait {
    max-width: 331px;
    max-width: 20.6875rem;
  }

  .p-fv__brandMessage {
    max-width: none;
  }

  .p-fv__catch {
    font-size: 26px;
    font-size: 1.625rem;
    letter-spacing: .05em;
  }

  .p-fv__colorBarItem {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 102px;
    -webkit-flex: 0 0 6.375rem;
    -ms-flex: 0 0 102px;
    -ms-flex: 0 0 6.375rem;
    flex: 0 0 102px;
    flex: 0 0 6.375rem;
    height: 3px;
    height: .1875rem;
  }

  .p-header__inner {
    margin-inline: auto;
    padding-inline: 40px;
    padding-inline: 2.5rem;
    max-width: 1280px;
    max-width: 80rem;
  }

  .p-header__logo--parfait {
    display: block;
  }

  .p-header__nav {
    display: block;
    margin-left: auto;
  }

  .p-header__hamburger {
    display: none;
  }

  .p-intro__deco {
    display: block;
    position: absolute;
    pointer-events: none;
  }

  .p-intro__deco--pink {
    top: 124px;
    top: 7.75rem;
    width: 383px;
    width: 23.9375rem;
    height: 226px;
    height: 14.125rem;
  }

  .p-intro__deco--teal {
    top: 351px;
    top: 21.9375rem;
    left: -14px;
    left: -.875rem;
    width: 190px;
    width: 11.875rem;
    height: 231px;
    height: 14.4375rem;
  }

  .p-intro__deco--purple {
    top: 575px;
    top: 35.9375rem;
    width: 353px;
    width: 22.0625rem;
    height: 190px;
    height: 11.875rem;
  }

  .p-intro__inner {
    padding-block: 80px 100px;
    padding-block: 5rem 6.25rem;
    padding-inline: 0;
    margin-inline: auto;
    max-width: 1280px;
    max-width: 80rem;
  }

  .p-intro__subtitle {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-intro__title {
    gap: 8px;
    gap: .5rem;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }

  .p-intro__titleNum {
    font-size: 48px;
    font-size: 3rem;
  }

  .p-intro__titleWl {
    height: 62px;
    height: 3.875rem;
  }

  .p-intro__colorBar {
    width: 120px;
    width: 7.5rem;
    height: 3px;
    height: .1875rem;
  }

  .p-intro__house {
    margin-top: 60px;
    margin-top: 3.75rem;
  }

  .p-intro__houseImg {
    margin-inline: auto;
    max-width: 948px;
    max-width: 59.25rem;
  }

  .p-intro__nav {
    margin-top: 60px;
    margin-top: 3.75rem;
  }

  .p-intro__navList {
    gap: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .p-intro__navItem {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-bottom: none;
  }

  .p-intro__navItem + .p-intro__navItem {
    border-left: 1px solid #000;
  }

  .p-intro__navBtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 16px 10px 20px;
    padding: 1rem .625rem 1.25rem;
    text-align: center;
  }

  .p-intro__navBtnInner {
    gap: 12px;
    gap: .75rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-intro__navBtnLogo {
    min-height: 40px;
    min-height: 2.5rem;
  }

  .p-intro__navBtnLogo img {
    height: 31px;
    height: 1.9375rem;
  }

  .p-intro__navBtnText {
    font-size: 16px;
    font-size: 1rem;
    text-align: center;
  }

  .p-intro__navBtn::after {
    -webkit-transform: none;
    transform: none;
    border: none;
    border-top: 6px solid currentColor;
    border-top: .375rem solid currentColor;
    border-right: 6px solid transparent;
    border-right: .375rem solid transparent;
    border-left: 6px solid transparent;
    border-left: .375rem solid transparent;
    width: 0;
    height: 0;
  }

  .p-lifeline {
    margin-right: 71px;
    margin-right: 4.4375rem;
  }

  .p-lifeline__inner {
    padding-block: 80px 100px;
    padding-block: 5rem 6.25rem;
    margin-top: 176px;
    margin-top: 11rem;
  }

  .p-lifeline__head {
    padding-inline: 0;
    margin-bottom: 56px;
    margin-bottom: 3.5rem;
    margin-left: 71px;
    margin-left: 4.4375rem;
  }

  .p-lifeline__logo {
    margin-top: -130px;
    margin-top: -8.125rem;
  }

  .p-lifeline__logo img {
    max-width: 445px;
    max-width: 27.8125rem;
  }

  .p-lifeline__subtitle {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .p-lifeline__slider {
    margin-top: 60px;
    margin-top: 3.75rem;
  }

  .p-lifeline__slideCaption {
    padding: 20px 40px;
    padding: 1.25rem 2.5rem;
    font-size: 28px;
    font-size: 1.75rem;
    letter-spacing: .1em;
  }

  .p-lifeline__point {
    margin-inline: auto;
    padding-inline: 0;
    max-width: 1040px;
    max-width: 65rem;
  }

  .p-lifeline__pointLabel {
    top: 0;
    right: auto;
    left: 0;
    -webkit-transform: none;
    transform: none;
    z-index: 1;
  }

  .p-lifeline__pointList {
    gap: 60px;
    gap: 3.75rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 50px 80px 60px;
    padding: 3.125rem 5rem 3.75rem;
  }

  .p-lifeline__pointItem {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 290px;
    max-width: 18.125rem;
  }

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

  .p-lifeline__pointNote {
    font-size: 13px;
    font-size: .8125rem;
    letter-spacing: .1em;
  }

  .p-lifeline__cta {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-living__inner {
    padding-block: 80px 100px;
    padding-block: 5rem 6.25rem;
    margin-right: 71px;
    margin-right: 4.4375rem;
  }

  .p-living__head {
    padding-inline: 0;
    margin-left: 71px;
    margin-left: 4.4375rem;
  }

  .p-living__logo {
    margin-top: -130px;
    margin-top: -8.125rem;
  }

  .p-living__logo img {
    max-width: 461px;
    max-width: 28.8125rem;
  }

  .p-living__subtitle {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .p-living__slider {
    margin-inline: auto;
    margin-top: 60px;
    margin-top: 3.75rem;
    max-width: 1280px;
    max-width: 80rem;
  }

  .p-living__slide {
    width: 900px;
    width: 56.25rem;
    max-width: 900px;
    max-width: 56.25rem;
  }

  .p-living__slideCaption {
    padding: 28px 40px;
    padding: 1.75rem 2.5rem;
    font-size: 28px;
    font-size: 1.75rem;
    letter-spacing: .1em;
  }

  .p-living__slideCounter {
    max-width: 1280px;
    max-width: 80rem;
    margin-inline: auto;
    margin-top: 16px;
    margin-top: 1rem;
    padding-inline: 0 190px;
    padding-inline: 0 11.875rem;
    font-size: 14px;
    font-size: .875rem;
  }

  .p-living__point {
    margin-inline: auto;
    padding-inline: 0;
    max-width: 1040px;
    max-width: 65rem;
  }

  .p-living__pointLabel {
    top: 0;
    right: auto;
    left: 0;
    -webkit-transform: none;
    transform: none;
    z-index: 1;
  }

  .p-living__pointContent {
    padding: 50px 80px 60px;
    padding: 3.125rem 5rem 3.75rem;
  }

  .p-living__pointTitle {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-living__pointList {
    gap: 60px;
    gap: 3.75rem;
    margin-inline: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px;
    margin-top: 2.5rem;
    max-width: 640px;
    max-width: 40rem;
  }

  .p-living__pointItem {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 290px;
    max-width: 18.125rem;
  }

  .p-living__pointText {
    font-size: 16px;
    font-size: 1rem;
  }

  .p-living__cta {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-longtime__inner {
    padding-block: 80px 100px;
    padding-block: 5rem 6.25rem;
    margin-right: 71px;
    margin-right: 4.4375rem;
  }

  .p-longtime__head {
    padding-inline: 0;
    margin-left: 71px;
    margin-left: 4.4375rem;
  }

  .p-longtime__logo {
    margin-top: -120px;
    margin-top: -7.5rem;
  }

  .p-longtime__logo img {
    max-width: 540px;
    max-width: 33.75rem;
  }

  .p-longtime__subtitle {
    font-size: 20px;
    font-size: 1.25rem;
  }

  .p-longtime__slider {
    margin-inline: auto;
    margin-top: 60px;
    margin-top: 3.75rem;
    max-width: 1280px;
    max-width: 80rem;
  }

  .p-longtime__slide {
    width: 900px;
    width: 56.25rem;
    max-width: 900px;
    max-width: 56.25rem;
  }

  .p-longtime__slideCaption {
    padding: 20px 40px;
    padding: 1.25rem 2.5rem;
    font-size: 28px;
    font-size: 1.75rem;
    letter-spacing: .1em;
  }

  .p-longtime__slideCounter:not(.p-longtime__slideCounter--point) {
    max-width: 1280px;
    max-width: 80rem;
    margin-inline: auto;
    margin-top: 16px;
    margin-top: 1rem;
    padding-inline: 0 190px;
    padding-inline: 0 11.875rem;
    font-size: 14px;
    font-size: .875rem;
  }

  .p-longtime__point {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-longtime__pointDivider {
    padding-inline: 0;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: .1em;
  }

  .p-longtime__pointSlider {
    margin-inline: auto;
    margin-top: 40px;
    margin-top: 2.5rem;
    max-width: 1280px;
    max-width: 80rem;
  }

  .p-longtime__pointSlide {
    width: 900px;
    width: 56.25rem;
    max-width: 900px;
    max-width: 56.25rem;
  }

  .p-longtime__pointCaption {
    padding: 24px 40px;
    padding: 1.5rem 2.5rem;
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: .1em;
  }

  .p-longtime__pointFooter {
    gap: 40px;
    gap: 2.5rem;
    padding-inline: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-longtime__notes {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .p-longtime__note {
    font-size: 12px;
    font-size: .75rem;
    letter-spacing: .1em;
  }

  .p-longtime__noteList li {
    font-size: 12px;
    font-size: .75rem;
    letter-spacing: .1em;
  }

  .p-longtime__sumstock {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-top: 0;
    border-top: none;
    border-left: 1px solid #ddd;
    border-left: .0625rem solid #ddd;
    padding-top: 0;
    padding-left: 40px;
    padding-left: 2.5rem;
    width: 200px;
    width: 12.5rem;
  }

  .p-longtime__sumstockText {
    font-size: 12px;
    font-size: .75rem;
  }

  .p-longtime__cta {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .u-onlyPc {
    display: block;
  }

  .u-hidden--pc {
    display: none !important;
  }
}
@media (min-width: 1060px) {
  html {
    font-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .u-onlySp {
    display: block;
  }

  .u-hidden--sp {
    display: none !important;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
    font-size: calc(var(--vw-unitless) / 375 * 100%);
  }
}
/* Match the sticky nav's drop shadow on the page header so they read as one unit */
.p-wl .header {
  box-shadow: 0 10px 8px rgba(0, 0, 0, 0.14);
}

/* ===== Sticky 3-section nav ===== */
.p-stickyNav {
  position: fixed;
  top: var(--header-height, 60px);
  left: 50%;
  z-index: 50;
  background: #fff;
  border: none;
  border-radius: 0 0 16px 16px;
  padding: 6px 12px;
  filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.14));
  /* Elastic-drop: bar starts collapsed at the header line, pops out
     with overshoot when shown. translate(-50%) preserves centering. */
  transform-origin: top center;
  transform: translate(-50%, 0) scaleY(0);
  pointer-events: none;
  will-change: transform;
  /* Resting state = leaving transition (quick clean collapse) */
  transition: transform 0.2s cubic-bezier(0.4, 0, 1, 1);
  max-width: calc(100vw - 24px);
}

.p-stickyNav[hidden] {
  display: none;
}

.p-stickyNav.is-visible {
  transform: translate(-50%, 0) scaleY(1);
  pointer-events: auto;
  /* Entering transition: elastic overshoot (~5% past target then settle) */
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Respect reduced-motion: skip the bounce, just fade */
@media (prefers-reduced-motion: reduce) {
  .p-stickyNav {
    transform: translate(-50%, 0);
    opacity: 0;
    transition: opacity .2s ease;
  }

  .p-stickyNav.is-visible {
    transform: translate(-50%, 0);
    opacity: 1;
    transition: opacity .2s ease;
  }
}
/* Concave (inverted) curves on outer-top corners — makes the bar look
   like it's hanging from the header instead of being a separate pill */
.p-stickyNav::before,
.p-stickyNav::after {
  content: '';
  position: absolute;
  top: 0;
  width: 16px;
  height: 16px;
  pointer-events: none;
}

.p-stickyNav::before {
  left: -16px;
  background: radial-gradient(circle at 0 100%, transparent 0, transparent 16px, #fff 16.5px);
}

.p-stickyNav::after {
  right: -16px;
  background: radial-gradient(circle at 100% 100%, transparent 0, transparent 16px, #fff 16.5px);
}

.p-stickyNav__list {
  display: flex;
  align-items: stretch;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-stickyNav__item + .p-stickyNav__item {
  border-left: 1px solid #d9d9d9;
}

.p-stickyNav__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 18px;
  background: none;
  border: 0;
  cursor: pointer;
  transition: opacity .2s ease;
}

.p-stickyNav__btn:hover {
  opacity: .7;
}

.p-stickyNav__btn img {
  display: block;
  height: 22px;
  width: auto;
}

/* Living and Longtime source PNGs have ~14px of transparent vertical padding
   inside their canvases, which makes their glyphs render ~17% smaller than
   Lifeline's at the same CSS height. Render those two taller so the visible
   letterforms match. */
.p-stickyNav__btn[data-target="#wlLiving"] img,
.p-stickyNav__btn[data-target="#wlLongtime"] img {
  height: 26px;
}

.p-stickyNav__chevron {
  display: block;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid currentColor;
  color: #333;
}

@media (max-width: 767px) {
  .p-stickyNav {
    top: var(--header-height, 50px);
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
    padding: 8px 4px;
    border-radius: 0 0 14px 14px;
  }

  .p-stickyNav__list {
    width: 100%;
  }

  .p-stickyNav__item {
    flex: 1;
  }

  .p-stickyNav::before,
  .p-stickyNav::after {
    width: 14px;
    height: 14px;
  }

  .p-stickyNav::before {
    left: -14px;
    background: radial-gradient(circle at 0 100%, transparent 0, transparent 14px, #fff 14.5px);
  }

  .p-stickyNav::after {
    right: -14px;
    background: radial-gradient(circle at 100% 100%, transparent 0, transparent 14px, #fff 14.5px);
  }

  .p-stickyNav__btn {
    padding: 6px 4px;
    width: 100%;
    gap: 4px;
  }

  .p-stickyNav__btn img {
    height: 13px;
  }

  /* Override the desktop 26px down to mobile-fitting sizes; keep the
     glyph-matching ratio so all three "W"s still appear the same size. */
  .p-stickyNav__btn[data-target="#wlLiving"] img {
    height: 15px;
  }

  .p-stickyNav__btn[data-target="#wlLongtime"] img {
    height: 14px;
  }

  .p-stickyNav__chevron {
    border-left-width: 4px;
    border-right-width: 4px;
    border-top-width: 4px;
  }
}
/*# sourceMappingURL=map/style.css.map */

/*# sourceMappingURL=parfait_wl_bundle.css.map */
