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

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

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

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

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

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

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

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

dd {
  margin-left: 0;
}

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

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

address {
  font-style: inherit;
}

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

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

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

caption {
  text-align: left;
}

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

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

html {
  scroll-behavior: smooth;
}
@media screen and (min-width: 1025px) {
  html {
    scroll-padding-top: 66px;
  }
}

body,
body *,
body *::before,
body *::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  font-family: var(--ff-default);
  font-size: 16px;
  font-weight: var(--fw-normal);
  color: var(--c-base);
  background-color: var(--c-bg);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
}

a {
  display: inline-block;
  color: currentColor;
  text-decoration: none;
  word-break: break-word;
}

ul,
ol {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: transparent;
  border: 0;
}

main {
  padding-bottom: 180px;
  overflow: hidden;
}

@media screen and (max-width: 1024px) {
  main {
    padding-bottom: 80px;
  }
}
summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

:root {
  /* color */
  --c-base: #333;
  --c-accent: #07335E;
  --c-accent-hover: #142c45;
  --c-line: #C4C4C4;
  --c-white: #fff;
  /* font-family */
  --ff-default: "Noto Sans JP", sans-serif;
  --ff-serif: "Noto Serif JP", serif;
  --ff-en: "Forum", serif;
  /* font-weight */
  --fw-extra-light: 200;
  --fw-normal: 400;
  --fw-medium: 500;
  --fw-semi-bold: 600;
  --fw-bold: 700;
  --fw-black: 900;
}

/* ===========================================
 * Layout
 * ======================================== */
.l-header {
  position: fixed;
  top: 0;
  z-index: 1000;
  display: flex;
  gap: 56px;
  justify-content: end;
  width: 100%;
  min-height: 66px;
  visibility: hidden;
  background-color: var(--c-white);
  opacity: 0;
}
@media screen and (max-width: 1140px) {
  .l-header {
    gap: 25px;
  }
}
.l-header.is-up {
  transition: visibility 0s linear 0.5s;
  animation: UpAnime 0.5s forwards;
  animation-fill-mode: forwards;
}
.l-header.is-down {
  visibility: visible;
  opacity: 1;
  animation: DownAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.l-header-nav {
  margin-left: 40px;
  font-size: 18px;
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
}
.l-header-nav__link {
  display: flex;
  gap: 56px;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1140px) {
  .l-header-nav__link {
    gap: 25px;
  }
}
.l-header-nav a {
  display: flex;
  align-items: center;
  height: 100%;
  color: var(--c-base);
  transition: opacity 0.25s;
}
.l-header-nav a:is(:hover, :focus) {
  opacity: 0.7;
}

.l-header-links {
  display: flex;
  min-width: 336px;
  font-size: 15px;
  font-weight: var(--fw-black);
  line-height: 1.4;
  letter-spacing: 0.115em;
}
.l-header-links__item {
  flex: 1;
}
.l-header-links__item.-works a {
  gap: 13px;
  background-color: var(--c-accent);
}
.l-header-links__item.-works a:hover {
  background-color: var(--c-accent-hover);
}
.l-header-links__item.-office a {
  gap: 10px;
  background-color: var(--c-base);
}
.l-header-links__item.-office a:hover {
  background-color: #000;
}
.l-header-links a {
  display: flex;
  flex: auto;
  align-items: center;
  justify-content: end;
  height: 100%;
  padding: 10px 12px;
  color: var(--c-white);
  text-align: center;
  transition: background-color 0.25s;
}
.l-header-links a::after {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  margin-left: 0.3em;
  content: "";
  background-image: url('data:image/svg+xml,<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_131_2)"><path d="M13 26C10.429 25.9998 7.91571 25.2373 5.77802 23.8089C3.64032 22.3804 1.9742 20.3501 0.990322 17.9748C0.0064466 15.5994 -0.250995 12.9857 0.250548 10.464C0.752092 7.94239 1.9901 5.62608 3.80802 3.808C5.01108 2.58262 6.445 1.60774 8.02695 0.939667C9.6089 0.27159 11.3075 -0.0764449 13.0248 -0.0843354C14.742 -0.0922259 16.4438 0.240184 18.0318 0.893696C19.6198 1.54721 21.0626 2.50887 22.2769 3.72314C23.4912 4.93741 24.4528 6.38022 25.1063 7.96825C25.7598 9.55628 26.0923 11.258 26.0844 12.9753C26.0765 14.6925 25.7284 16.3911 25.0604 17.9731C24.3923 19.555 23.4174 20.9889 22.192 22.192C20.9877 23.403 19.5552 24.3631 17.9774 25.0167C16.3996 25.6703 14.7079 26.0046 13 26ZM7.00002 11.722V14.156H15.67L11.87 18.156L13.624 20L20.324 12.94L13.624 5.879L11.874 7.722L15.674 11.722H7.00002Z" fill="white"/></g><defs><clipPath id="clip0_131_2"><rect width="26" height="26" fill="white"/></clipPath></defs></svg>');
  background-repeat: no-repeat;
  background-size: contain;
}

.l-footer {
  padding: 10px;
  color: var(--c-white);
  background-color: var(--c-accent);
}
.l-footer small {
  display: block;
  font-family: var(--ff-en);
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.038em;
}

/* ===========================================
 * Object
 * ======================================== */
.c-section {
  padding-block: 80px;
}
.c-section.-urumimadara {
  color: var(--c-white);
  background-color: #2C2C2C;
}
.c-section.-urumimadara .c-section__title-en,
.c-section.-urumimadara .c-section__title {
  color: var(--c-white);
}
.c-section__heading {
  padding-bottom: 40px;
  text-align: center;
}
.c-section__title {
  font-family: var(--ff-serif);
  font-size: 30px;
  font-weight: var(--fw-semi-bold);
  line-height: 1.4;
  color: var(--c-accent);
  letter-spacing: 0.038em;
}
.c-section__title-en {
  margin-bottom: 0.2em;
  font-family: var(--ff-en);
  font-weight: 400;
  line-height: 1.2;
  color: var(--c-base);
  letter-spacing: 0.074em;
}
.c-section__note {
  margin-top: 0.8em;
  font-size: 15px;
  font-weight: var(--fw-medium);
  color: #000;
  letter-spacing: 0.02em;
}

@media screen and (min-width: 1025px) {
  .c-section {
    padding-block: 150px;
  }
  .c-section__heading {
    padding-bottom: 55px;
  }
  .c-section__title {
    font-size: 46px;
  }
  .c-section__title-en {
    font-size: 25px;
  }
  .c-section__note {
    font-size: 24px;
  }
}
.c-btn {
  width: 100%;
  max-width: 482px;
  text-align: center;
  background-color: var(--c-accent);
  transition: background-color 0.2s;
}
.c-btn:hover {
  background-color: var(--c-accent-hover);
}
.c-btn.-black {
  background-color: var(--c-base);
}
.c-btn.-black:hover {
  background-color: #000;
}
.c-btn__link {
  position: relative;
  display: block;
  width: 100%;
  padding: 18px 12px;
  font-size: 21px;
  font-weight: var(--fw-medium);
  color: var(--c-white);
  letter-spacing: 0.1em;
}
.c-btn__link::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 26px;
  height: 26px;
  content: "";
  background-image: url('data:image/svg+xml,<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_131_2)"><path d="M13 26C10.429 25.9998 7.91571 25.2373 5.77802 23.8089C3.64032 22.3804 1.9742 20.3501 0.990322 17.9748C0.0064466 15.5994 -0.250995 12.9857 0.250548 10.464C0.752092 7.94239 1.9901 5.62608 3.80802 3.808C5.01108 2.58262 6.445 1.60774 8.02695 0.939667C9.6089 0.27159 11.3075 -0.0764449 13.0248 -0.0843354C14.742 -0.0922259 16.4438 0.240184 18.0318 0.893696C19.6198 1.54721 21.0626 2.50887 22.2769 3.72314C23.4912 4.93741 24.4528 6.38022 25.1063 7.96825C25.7598 9.55628 26.0923 11.258 26.0844 12.9753C26.0765 14.6925 25.7284 16.3911 25.0604 17.9731C24.3923 19.555 23.4174 20.9889 22.192 22.192C20.9877 23.403 19.5552 24.3631 17.9774 25.0167C16.3996 25.6703 14.7079 26.0046 13 26ZM7.00002 11.722V14.156H15.67L11.87 18.156L13.624 20L20.324 12.94L13.624 5.879L11.874 7.722L15.674 11.722H7.00002Z" fill="white"/></g><defs><clipPath id="clip0_131_2"><rect width="26" height="26" fill="white"/></clipPath></defs></svg>');
  background-size: contain;
  transition: right 0.2s;
  transform: translateY(-50%);
}
.c-btn__link:hover::after {
  right: 15px;
}

@media screen and (max-width: 1024px) {
  .c-btn {
    max-width: 336px;
  }
  .c-btn__link {
    padding: 16px 12px;
    font-size: 18px;
  }
  .c-btn__link::after {
    width: 18px;
    height: 18px;
  }
}
.c-btn-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  max-width: 818px;
  margin: 56px auto 0;
}
@media screen and (min-width: 1025px) {
  .c-btn-container {
    flex-direction: row;
    gap: 40px;
    margin-top: 62px;
  }
}

.c-list li {
  position: relative;
  padding-left: 1em;
}
.c-list li::before {
  position: absolute;
  left: 0;
  content: "・";
}

.p-bottom-menu {
  position: fixed;
  bottom: 0;
  z-index: 10;
  display: flex;
  width: 100%;
  font-size: 13px;
  line-height: 1.4;
}
.p-bottom-menu a {
  display: flex;
  flex: 1;
  gap: 10px;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 52px;
  padding: 10px;
  font-weight: var(--fw-bold);
  color: var(--c-white);
  text-align: center;
  transition: background-color 0.25s;
}
.p-bottom-menu a::after {
  display: inline-block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  content: "";
  background-image: url('data:image/svg+xml,<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_131_2)"><path d="M13 26C10.429 25.9998 7.91571 25.2373 5.77802 23.8089C3.64032 22.3804 1.9742 20.3501 0.990322 17.9748C0.0064466 15.5994 -0.250995 12.9857 0.250548 10.464C0.752092 7.94239 1.9901 5.62608 3.80802 3.808C5.01108 2.58262 6.445 1.60774 8.02695 0.939667C9.6089 0.27159 11.3075 -0.0764449 13.0248 -0.0843354C14.742 -0.0922259 16.4438 0.240184 18.0318 0.893696C19.6198 1.54721 21.0626 2.50887 22.2769 3.72314C23.4912 4.93741 24.4528 6.38022 25.1063 7.96825C25.7598 9.55628 26.0923 11.258 26.0844 12.9753C26.0765 14.6925 25.7284 16.3911 25.0604 17.9731C24.3923 19.555 23.4174 20.9889 22.192 22.192C20.9877 23.403 19.5552 24.3631 17.9774 25.0167C16.3996 25.6703 14.7079 26.0046 13 26ZM7.00002 11.722V14.156H15.67L11.87 18.156L13.624 20L20.324 12.94L13.624 5.879L11.874 7.722L15.674 11.722H7.00002Z" fill="white"/></g><defs><clipPath id="clip0_131_2"><rect width="26" height="26" fill="white"/></clipPath></defs></svg>');
  background-repeat: no-repeat;
  background-size: contain;
}
.p-bottom-menu__item {
  flex: 1;
}
.p-bottom-menu__item.-works a {
  padding-left: 5px;
  background-color: var(--c-accent);
}
.p-bottom-menu__item.-works a:hover {
  background-color: var(--c-accent-hover);
}
.p-bottom-menu__item.-office a {
  background-color: var(--c-base);
}
.p-bottom-menu__item.-office a:hover {
  background-color: #000;
}

.p-slider.-urumimadara .p-slider-item__heading {
  color: var(--c-white);
}
.p-slider .splide__track {
  width: 100vw;
  margin-right: 0 calc(50% - 50vw);
}

.p-slider-item {
  max-width: 400px;
}
.p-slider-item a {
  transition: opacity 0.2s;
}
.p-slider-item a:hover {
  opacity: 0.8;
}
.p-slider-item__heading {
  margin-top: 8px;
  font-size: 18px;
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: #838383;
  letter-spacing: 0.04em;
}

/* プログレスバー */
.p-slider-progress {
  margin-top: 30px;
  background: var(--c-accent);
}
.p-slider-progress.-urumimadara {
  background: #838383;
}
.p-slider-progress.-urumimadara .p-slider-progress__bar {
  background: var(--c-white);
}
.p-slider-progress__bar {
  width: 0;
  height: 2px;
  background: #C3C3C3;
  transition: width 400ms ease;
}

@media screen and (max-width: 1024px) {
  .p-slider-item {
    max-width: clamp(13.375rem, 7.886rem + 23.42vw, 22.875rem);
  }
  .p-slider-item__heading {
    margin-top: 6px;
    font-size: clamp(0.563rem, 0.237rem + 1.39vw, 1.125rem);
  }
}
.p-mainvisual {
  display: flex;
  flex-direction: column;
  aspect-ratio: auto 1125/1554;
  font-family: var(--ff-serif);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
.p-mainvisual__item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-mainvisual__item.-sumihada {
  margin-left: auto;
}
.p-mainvisual__item.-sumihada .p-mainvisual__item-name {
  margin-right: -0.5em;
  text-indent: 0.25em;
  letter-spacing: 0.5em;
}
.p-mainvisual__item.-sumihada .p-mainvisual__item-name span {
  margin-right: 1em;
}
.p-mainvisual__item.-urumimadara {
  order: 2;
}
.p-mainvisual__item.-urumimadara .p-mainvisual__item-name {
  color: var(--c-base);
}
.p-mainvisual__item.-urumimadara .p-mainvisual__item-btn {
  background-color: var(--c-base);
}
.p-mainvisual__item-name {
  font-weight: var(--fw-medium);
  color: var(--c-accent);
  text-align: center;
  letter-spacing: 0.08em;
}
.p-mainvisual__item-name span {
  display: block;
  margin-top: 0.3em;
  font-weight: var(--fw-normal);
  letter-spacing: 0.04em;
}
.p-mainvisual__item-btn {
  position: relative;
  color: #fff;
  text-align: center;
  letter-spacing: 0.064em;
  background-color: var(--c-accent);
  transition: background-color 0.25s;
}
.p-mainvisual__item-btn.-sumihada:hover {
  background-color: var(--c-accent-hover);
}
.p-mainvisual__item-btn.-urumimadara:hover {
  background-color: #000;
}
.p-mainvisual__item-btn::after {
  position: absolute;
  top: 50%;
  flex-shrink: 0;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12' viewBox='0 0 14 12'%3E%3Cpath d='M4.389,12.172,7.807,8.207H0V5.793H7.807L4.389,1.828,5.965,0,12,7,5.965,14Z' transform='translate(14) rotate(90)' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  transform: translateY(-40%);
}
.p-mainvisual__catch {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.p-mainvisual__catch-main {
  line-height: 1.62;
  color: var(--c-accent);
  letter-spacing: 0.078em;
}
.p-mainvisual__catch-sub {
  padding-block: 0.5em;
  line-height: 1.65;
  letter-spacing: 0.056em;
  border-top: 1px solid #C4C4C4;
  border-bottom: 1px solid #C4C4C4;
}

@media screen and (max-width: 767px) {
  .p-mainvisual {
    background-image: url("../images/bg-mainvisual-sp.jpg");
  }
  .p-mainvisual__item {
    flex: 124;
    flex-direction: column;
    gap: 2.6666666667vw;
    width: 45.3333333333vw;
  }
  .p-mainvisual__item.-urumimadara {
    transform: translateY(-0.4em);
  }
  .p-mainvisual__item > div {
    display: contents;
  }
  .p-mainvisual__item-name {
    font-size: 8vw;
  }
  .p-mainvisual__item-name span {
    font-size: 4.2666666667vw;
  }
  .p-mainvisual__item-catch {
    display: none;
  }
  .p-mainvisual__item-btn {
    width: 36vw;
    padding: 1.3333333333vw 4vw 1.3333333333vw 1.3333333333vw;
    font-size: 3.4666666667vw;
  }
  .p-mainvisual__item-btn::after {
    right: 2.4vw;
    width: 2.4vw;
    height: 2.4vw;
    background-size: contain;
  }
  .p-mainvisual__catch {
    flex: 270;
    flex-direction: column;
    gap: 4.8vw;
  }
  .p-mainvisual__catch-main {
    font-size: 7.2vw;
  }
  .p-mainvisual__catch-sub {
    font-size: 3.4666666667vw;
  }
  .p-mainvisual__catch-sub br {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-mainvisual {
    aspect-ratio: auto 2000/1108;
    background-image: url("../images/bg-mainvisual.jpg");
  }
  .p-mainvisual__item {
    flex: 263;
  }
  .p-mainvisual__item.-sumihada {
    gap: 3.125vw;
    width: 36.8055555556vw;
  }
  .p-mainvisual__item.-urumimadara {
    gap: 1.0416666667vw;
    width: 40.9722222222vw;
  }
  .p-mainvisual__item-name {
    font-size: 3.9583333333vw;
    transform: translateY(-0.1em);
  }
  .p-mainvisual__item-name span {
    font-size: 1.6666666667vw;
  }
  .p-mainvisual__item-catch {
    font-size: 1.1111111111vw;
    line-height: 1.5;
    letter-spacing: 0.064em;
  }
  .p-mainvisual__item-btn {
    width: 15.4861111111vw;
    padding: 0.9722222222vw 1.0416666667vw 0.9722222222vw 0.3472222222vw;
    margin-top: 1em;
    font-size: 1.1111111111vw;
  }
  .p-mainvisual__item-btn::after {
    right: 0.8333333333vw;
    width: 0.9722222222vw;
    height: 1.0416666667vw;
    background-size: contain;
  }
  .p-mainvisual__catch {
    flex: 272;
    flex-direction: row;
    gap: 3.4722222222vw;
  }
  .p-mainvisual__catch-main {
    font-size: 3.5416666667vw;
  }
  .p-mainvisual__catch-main br:last-child {
    display: none;
  }
  .p-mainvisual__catch-sub {
    font-size: 1.5972222222vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-mainvisual__item {
    flex-direction: column;
    gap: 0 !important;
  }
  .p-mainvisual__item-catch {
    display: none;
  }
  .p-mainvisual__item-btn {
    font-size: 1.5625vw;
  }
}
.p-features {
  overflow: hidden;
}

.p-features-heading {
  padding-top: 290px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-features-heading.-sumihada {
  background-image: url("../images/features-sumihada-sp.jpg");
}
.p-features-heading.-sumihada .p-features-heading__inner {
  background-color: var(--c-white);
}
.p-features-heading.-sumihada .p-features-heading__title {
  text-indent: 0.4em;
  letter-spacing: 0.4em;
}
.p-features-heading.-urumimadara {
  background-image: url("../images/features-urumimadara-sp.jpg");
}
.p-features-heading.-urumimadara .p-features-heading__inner {
  background-color: #2C2C2C;
}
.p-features-heading.-urumimadara .p-features-heading__hiragana,
.p-features-heading.-urumimadara .p-features-heading__title,
.p-features-heading.-urumimadara .p-features-heading__catch {
  color: currentColor;
}
.p-features-heading.-urumimadara .p-features-heading__title {
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}
.p-features-heading__inner {
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 45px 0;
  text-align: center;
}
.p-features-heading__hiragana {
  display: flex;
  gap: 10px;
  align-items: center;
  font-family: var(--ff-en);
  font-size: 18px;
  color: #838383;
  letter-spacing: 0.02em;
}
.p-features-heading__hiragana::before, .p-features-heading__hiragana::after {
  width: 60px;
  height: 1px;
  content: "";
  background-color: currentColor;
}
.p-features-heading__title, .p-features-heading__catch {
  font-family: var(--ff-serif);
  color: var(--c-accent);
}
.p-features-heading__title {
  margin-top: 15px;
  font-size: 48px;
  font-weight: var(--fw-medium);
}
.p-features-heading__catch {
  margin-top: 12px;
  font-size: 20px;
  font-weight: var(--fw-extra-light);
  line-height: 1.375;
  letter-spacing: 0.064em;
}

@media screen and (min-width: 1025px) {
  .p-features-heading {
    display: flex;
    height: 457px;
    padding-top: 0;
  }
  .p-features-heading.-sumihada {
    justify-content: end;
    padding-right: 40px;
    background-image: url("../images/features-sumihada.jpg");
  }
  .p-features-heading.-sumihada .p-features-heading__inner {
    margin-right: max((100vw - 1264px) / 2 - 48px, 0px);
  }
  .p-features-heading.-urumimadara {
    padding-left: 40px;
    background-image: url("../images/features-urumimadara.jpg");
  }
  .p-features-heading.-urumimadara .p-features-heading__inner {
    margin-left: max((100vw - 1264px) / 2 - 48px, 0px);
  }
  .p-features-heading__inner {
    width: 430px;
    height: 100%;
  }
  .p-features-heading__hiragana {
    font-size: 25px;
  }
  .p-features-heading__hiragana::before, .p-features-heading__hiragana::after {
    width: 80px;
  }
  .p-features-heading__title {
    font-size: 61px;
  }
  .p-features-heading__catch {
    margin-top: 40px;
    font-size: 24px;
  }
}
.p-features-text {
  padding-inline: 20px;
}
.p-features-text.-urumimadara .p-features-text__inner {
  border-color: currentColor;
}
.p-features-text__inner {
  max-width: 935px;
  padding: 24px;
  margin: auto;
  font-size: 15px;
  line-height: 2.3;
  border: 1px solid var(--c-base);
}

@media screen and (min-width: 1025px) {
  .p-features-text {
    padding-inline: 40px;
    margin: 56px 0;
  }
  .p-features-text__inner {
    padding: 40px;
  }
}
.p-features-pattern {
  max-width: 1232px;
  padding: 0 40px;
  margin-inline: auto;
}
.p-features-pattern.-urumimadara .p-features-pattern__heading-title-en, .p-features-pattern.-urumimadara .p-features-pattern__heading-title-main {
  color: var(--c-white);
}
.p-features-pattern__inner {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 56px;
  align-items: center;
}
.p-features-pattern__heading-title-en {
  font-family: var(--ff-serif);
  font-size: 22px;
  font-weight: var(--fw-medium);
  color: var(--c-accent);
  letter-spacing: 0.064em;
}
.p-features-pattern__heading-title-main {
  margin-top: 8px;
  font-size: 11px;
  font-weight: var(--fw-medium);
  color: #838383;
  letter-spacing: 0.039em;
}

@media screen and (max-width: 1024px) {
  .p-features-pattern__inner {
    grid-template-columns: auto 1fr;
    gap: 24px;
    margin-top: 46px;
  }
}
@media screen and (min-width: 1025px) {
  .p-features-pattern__inner {
    margin-top: 62px;
  }
  .p-features-pattern__heading-title-en {
    font-size: 50px;
  }
  .p-features-pattern__heading-title-main {
    font-size: 21px;
  }
}
.p-comparison {
  padding-inline: 20px;
}
@media screen and (min-width: 1025px) {
  .p-comparison {
    padding-inline: 40px;
  }
}

.p-comparison-heading-image {
  margin-inline: -20px;
}
@media screen and (min-width: 1025px) {
  .p-comparison-heading-image {
    margin-inline: -40px;
  }
}
.p-comparison-heading-image img {
  width: 100%;
  max-height: 262px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-comparison-cards-wrapper {
  width: 100%;
  overflow-x: auto;
}

.p-comparison-cards {
  display: flex;
  min-width: 650px;
  margin-inline: auto;
  margin-top: 44px;
}
.p-comparison-cards__item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 22px;
  border: 1px solid var(--c-line);
}
.p-comparison-cards__item + .p-comparison-cards__item {
  border-left: 0;
}
.p-comparison-cards__name {
  font-family: var(--ff-serif);
  font-size: 18px;
  font-weight: var(--fw-semi-bold);
  text-align: center;
  text-indent: 0.12em;
  letter-spacing: 0.12em;
}
.p-comparison-cards__name.-sumihada {
  text-indent: 0.5em;
  letter-spacing: 0.5em;
}
.p-comparison-cards__title {
  font-family: var(--ff-serif);
  font-size: 13px;
  color: var(--c-accent);
  text-align: center;
  text-indent: 0.3em;
  letter-spacing: 0.6em;
}
.p-comparison-cards__features {
  font-size: 13px;
}
.p-comparison-cards__features li + li {
  margin-top: 0.5em;
}

@media screen and (min-width: 1025px) {
  .p-comparison-cards {
    gap: 42px;
    width: 1062px;
    margin-top: 88px;
  }
  .p-comparison-cards__item {
    padding: 34px;
  }
  .p-comparison-cards__item + .p-comparison-cards__item {
    border-left: 1px solid var(--c-line);
  }
  .p-comparison-cards__name {
    font-size: 28px;
  }
  .p-comparison-cards__title {
    font-size: 20px;
  }
  .p-comparison-cards__features {
    font-size: 15px;
  }
}
.p-comparison-table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.p-comparison-table {
  width: 1232px;
  margin-inline: auto;
  margin-top: 60px;
  line-height: 1.56;
}
@media screen and (min-width: 1025px) {
  .p-comparison-table {
    margin-top: 80px;
  }
}
.p-comparison-table th:nth-child(1),
.p-comparison-table td:nth-child(1) {
  width: 140px;
  font-weight: var(--fw-medium);
  color: var(--c-accent);
}
.p-comparison-table th:nth-child(2),
.p-comparison-table td:nth-child(2) {
  width: 364px;
  background-color: #F7FBFF;
}
.p-comparison-table th:nth-child(3),
.p-comparison-table td:nth-child(3) {
  width: 364px;
}
.p-comparison-table th:nth-child(4),
.p-comparison-table td:nth-child(4) {
  width: 364px;
  background-color: #F2F2F2;
}
.p-comparison-table__new {
  width: 44px;
  margin-right: 10px;
}
.p-comparison-table th, .p-comparison-table td {
  padding: 12px;
  letter-spacing: 0.065em;
  border: 1px solid var(--c-line);
}
.p-comparison-table th {
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
}
.p-comparison-table__more {
  margin: 30px 0 15px;
  text-align: center;
  cursor: pointer;
}
.p-comparison-table__more span {
  font-size: 13px;
  letter-spacing: 0.065em;
}
.p-comparison-table__more-img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5px;
}
.p-comparison-table__more-img::before, .p-comparison-table__more-img::after {
  display: block;
  width: 120px;
  height: 1px;
  content: "";
  background-color: #c3c3c3;
}
.p-comparison-table__more-img img {
  width: 22px;
  height: 22px;
  margin: 0 8px;
}

.p-notes {
  padding-inline: 20px;
  background-color: #EFF4F8;
}
.p-notes__inner {
  max-width: 1110px;
  margin-inline: auto;
}

@media screen and (min-width: 1025px) {
  .p-notes {
    padding-inline: 40px;
  }
}
.p-terms {
  /* リスト番号 */
  /* 子リスト */
  /* 孫リスト */
  /* アコーディオン */
  /* 続きを見るボタン  */
}
.p-terms__inner {
  padding: 56px;
  font-family: var(--fw-medium);
  font-size: 18px;
  line-height: 1.66;
  letter-spacing: 0.04em;
  background-color: var(--c-white);
}
.p-terms__list {
  counter-reset: item 0;
}
.p-terms__list-item {
  position: relative;
  display: grid;
  grid-template-columns: 1em 1fr;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.p-terms__list-item.-has-content + .p-terms__list-item {
  margin-top: 20px;
}
.p-terms__list-heading {
  font-weight: var(--fw-bold);
  letter-spacing: 0.1em;
}
.p-terms__list-content {
  grid-column: 2/3;
  margin-top: 10px;
}
.p-terms__list-content.-background {
  width: -moz-fit-content;
  width: fit-content;
  padding: 20px;
  background-color: var(--c-bg);
}
.p-terms__list-item::before {
  padding-right: 0.5em;
  font-family: var(--ff-en);
  font-weight: var(--fw-medium);
  color: #656565;
  content: counter(item) ".";
  counter-increment: item;
}
.p-terms__list-item:not(:first-of-type) {
  margin-top: 36px;
}
.p-terms__list-item a {
  color: var(--c-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.p-terms__list-item a:hover {
  text-decoration: none;
}
.-child .p-terms__list-item {
  margin-top: 0;
}
.-child .p-terms__list-item::before {
  padding-right: 1.5em;
  font-family: var(--ff-default);
  font-weight: var(--fw-medium);
  color: var(--c-base);
  content: "(" counter(item) ")";
}
.-grandchild .p-terms__list-item {
  font-size: 14px;
  letter-spacing: 0.04em;
}
.-grandchild .p-terms__list-item::before {
  padding-right: 0;
  font-weight: var(--fw-medium);
  color: var(--c-base);
  content: counter(item) ".";
}
.p-terms__accordion {
  margin-top: 40px;
}
.p-terms__accordion-btn {
  position: relative;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: center;
  cursor: pointer;
}
.p-terms__accordion-btn img {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
}
.p-terms__accordion-btn::before, .p-terms__accordion-btn::after {
  display: block;
  width: 45%;
  height: 2px;
  content: "";
  background-color: #c3c3c3;
}
.p-terms__accordion-inner {
  margin-top: 40px;
}

@media screen and (max-width: 1024px) {
  .p-terms__inner {
    padding: 16px 20px;
    font-size: 14px;
  }
  .p-terms__list-item {
    -moz-column-gap: 6px;
         column-gap: 6px;
  }
  .p-terms__list-content.-background {
    padding: 16px;
    margin-top: 16px;
    background-color: var(--c-bg);
  }
  .p-terms__list-item.-has-content + .p-terms__list-item {
    margin-top: 16px !important;
  }
  .p-terms__list-content.-background .p-terms__list-item {
    font-size: 13px;
  }
  .p-terms__list-item:not(:first-of-type) {
    margin-top: 24px;
  }
  .p-terms__list.-child .p-terms__list-item {
    margin-top: 4px;
  }
  .p-terms__list-content {
    grid-column: 1/3;
    margin-top: 4px;
  }
}
.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.u-ta-center {
  text-align: center;
}

@media screen and (max-width: 1024px) {
  .u-pc-only {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .u-sp-only {
    display: none !important;
  }
}
.u-mt-10 {
  margin-top: 10px !important;
}/*# sourceMappingURL=style.css.map */