@charset "UTF-8";
/* Sanitize
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *		IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent; /* 4 */
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

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

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

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * 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: 1em; /* 2 */
}

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

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * 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: 1em; /* 2 */
}

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

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
img {
  max-width: 100%;
  height: auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: top;
}

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

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

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

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

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
  color: inherit; /* 2 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

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

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

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

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
			in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation; /* 2 */
}

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

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
 * Add
 */
dl dd {
  margin-left: 0;
}

figure {
  margin: 0;
}

table {
  table-layout: fixed;
}

menu {
  padding: 0;
}

/*引数：初期値はすべて_variables.scssで設定
$spsize：SPデザイン文字サイズ
$spspacing：SPデザイン文字間
$spcontainer：SPデザインコンテンツ幅
$pcsize：PCデザイン文字サイズ
$pcspacing：PCデザイン文字間
*/
/*引数
$property：cssのプロパティ
$pcsize：PCデザインpx
$spsize：SPデザインpx
$pccontainer：PCデザインコンテンツ幅：初期値は_variables.scssで設定
$spcontainer：SPデザインコンテンツ幅：初期値は_variables.scssで設定
*/
/*引数
$vertical：横比率
$horizontal：縦比率
*/
/*引数
$col：PCカラム数
$margin_h：PC横マージンpx
$margin_v：PC縦マージンpx
$spcol：SPカラム数
$spmargin_h：SP横マージンpx
$spmargin_v：SP縦マージンpx
$pccontainer：PCデザインコンテンツ幅：初期値は_variables.scssで設定
$spcontainer：SPデザインコンテンツ幅：初期値は_variables.scssで設定
*/
body {
  font-size: 3.8461538462vw;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8666666667;
  color: #606060;
  overflow-x: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 18px;
    line-height: 1.4444444444;
  }
}

img {
  display: block;
  width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  padding: 0;
  margin: 0;
}

p {
  margin: 0;
}

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

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* hover
--------------------------------------------------*/
a {
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) {
  a:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: none;
  }
  a:where(:any-link, :enabled, summary):hover {
    text-decoration: none;
  }
}

label {
  cursor: pointer;
}

/* コンテナ
--------------------------------------------------*/
.f-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100%;
  padding-inline: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .f-container {
    max-width: 1160px;
    width: 100%;
    margin-inline: auto;
    padding-inline: 20px;
  }
}

.l-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #ededed;
}

.l-header__inner {
  padding-block: 32px;
}

.l-header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(20px, 10.2564102564vw);
}

.l-header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-header__logo {
  width: 35.3846153846vw;
  margin-right: 3.0769230769vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    width: 170px;
    margin-right: 24px;
  }
}

.l-header__description {
  position: relative;
  padding-left: 3.0769230769vw;
  font-size: 2.5641025641vw;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .l-header__description {
    padding-left: 24px;
    font-size: 14px;
  }
}
.l-header__description::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2px;
  height: 100%;
  background-color: #606060;
}

.l-header__hamburger {
  position: relative;
  width: 11.0256410256vw;
  height: 5.641025641vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .l-header__hamburger {
    display: none;
  }
}

.l-header__hamburgerLine {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.5128205128vw;
  background-color: #606060;
}
.l-header__hamburgerLine:nth-child(1) {
  top: 0;
}
.l-header__hamburgerLine:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header__hamburgerLine:nth-child(3) {
  bottom: 0;
}

.l-header__menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background-color: #e6f0f8;
  z-index: 100;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  pointer-events: none; /* 閉じている時はクリックをスルーさせる */
}
.l-header__menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.l-header__frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-block: 5.1282051282vw;
}

.l-header__closeButton {
  width: 6.4102564103vw;
  height: 6.4102564103vw;
  margin-left: auto;
}

.l-header__nav {
  margin-top: 54px;
}

.l-header__navList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.1282051282vw;
}

.l-header__navLink {
  display: block;
  font-size: 4.1025641026vw;
  letter-spacing: 0.05em;
  padding-bottom: 5.1282051282vw;
  border-bottom: 1px solid #606060;
}

/* l-footer */
.l-footer {
  color: #fff;
  background-color: #d3c2ae;
}

.l-footer__inner {
  padding-block: 48px;
}

.l-footerTop__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 6.1538461538vw;
}

.l-footerTop__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.0512820513vw;
}

.l-footerTop__label {
  font-size: 3.5897435897vw;
  line-height: 1.3571428571;
  font-weight: 300;
}
.l-footerTop__label::before {
  content: "";
  display: inline-block;
  width: 2.3076923077vw;
  height: 2.3076923077vw;
  clip-path: polygon(20% 10%, 30% 0, 80% 50%, 30% 100%, 20% 90%, 60% 50%, 20% 10%);
  background: url(../img/common/ico_arrow-right.svg) no-repeat center center/contain;
  margin-right: 1.0256410256vw;
}
@media screen and (min-width: 768px) {
  .l-footerTop__label {
    font-size: 14px;
  }
}

.l-footerTop__link {
  display: block;
  font-size: 3.5897435897vw;
  line-height: 1.3571428571;
  font-weight: 300;
}
.l-footerTop__link::before {
  content: "";
  display: inline-block;
  width: 2.3076923077vw;
  height: 2.3076923077vw;
  clip-path: polygon(20% 10%, 30% 0, 80% 50%, 30% 100%, 20% 90%, 60% 50%, 20% 10%);
  background: url(../img/common/ico_arrow-right.svg) no-repeat center center/contain;
  margin-right: 1.0256410256vw;
}
@media screen and (min-width: 768px) {
  .l-footerTop__link {
    font-size: 14px;
  }
}

.l-footerTop__childList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2820512821vw;
  margin-top: 5px;
}

.l-footerTop__childLink {
  position: relative;
  display: block;
  font-size: 2.5641025641vw;
  line-height: 1.4;
  font-weight: 300;
  padding-left: 2.5641025641vw;
  margin-left: 3.8461538462vw;
}
@media screen and (min-width: 768px) {
  .l-footerTop__childLink {
    font-size: 10px;
  }
}
.l-footerTop__childLink::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1.7948717949vw;
  height: 1.3846153846vw;
  margin: auto 0;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
}

.l-footerBottom {
  padding-top: 28px;
  margin-top: 48px;
  border-top: 1px solid #fff;
}

.l-footerBottom__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.0769230769vw;
}

.l-footerBottom__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-footerBottom__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-footerBottom__item:not(:first-of-type)::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 3.3333333333vw;
  margin-inline: 2.0512820513vw;
  background-color: #fff;
}

.l-footerBottom__link {
  position: relative;
  display: block;
  font-size: 3.3333333333vw;
  line-height: 1;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .l-footerBottom__link {
    font-size: 13px;
  }
}

.l-footerBottom__copyright {
  margin-top: 20px;
}
.l-footerBottom__copyright small {
  display: block;
  font-size: 2.8205128205vw;
  font-weight: 300;
  line-height: 1.6363636364;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footerBottom__copyright small {
    font-size: 11px;
  }
}

/* 見出し */
.c-heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
}

.c-heading__en {
  display: block;
  font-size: 4.1025641026vw;
  line-height: 1.1875;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  color: #99b4cc;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .c-heading__en {
    font-size: 28px;
  }
}

.c-heading__ja {
  display: block;
  font-size: 5.1282051282vw;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .c-heading__ja {
    font-size: 34px;
  }
}
.c-heading__ja.m-headingReserve {
  font-size: 5.1282051282vw;
  line-height: 1.6;
}

.c-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.6153846154vw;
  padding: 2.3076923077vw 6.1538461538vw;
  border: 1px solid #a2c2dd;
  border-radius: 50px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .c-button {
    padding: 12px 24px;
    gap: 18px;
  }
}
@media (hover: hover) {
  .c-button:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .c-button:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}

.c-button__text {
  font-size: 3.3333333333vw;
  line-height: 1.2307692308;
  color: #99b4cc;
}
@media screen and (min-width: 768px) {
  .c-button__text {
    font-size: 18px;
  }
}

.c-button__line {
  position: relative;
  width: 4.358974359vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .c-button__line {
    width: 17px;
    height: 1px;
  }
}
.c-button__line::before, .c-button__line::after {
  content: "";
  position: absolute;
  right: 0;
  width: 2.5641025641vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}
@media screen and (min-width: 768px) {
  .c-button__line::before, .c-button__line::after {
    width: 10px;
    height: 1px;
  }
}
.c-button__line::before {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.c-button__line::after {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}

/* ページ メインビジュアル */
.c-mv {
  position: relative;
}

.c-mv__content {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-mv__title {
  font-size: 5.1282051282vw;
  line-height: 1.6;
  color: #fff;
}

.c-mv__img {
  display: block;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

/* 記事スライダー */
.c-slider {
  position: relative;
  opacity: 0; /* 最初は透明にしておく */
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.c-slider.slick-initialized {
  opacity: 1; /* 初期化されたら表示する */
}
.c-slider.slick-slider {
  margin-bottom: 20px !important;
}
.c-slider .slick-arrow {
  top: 23.4615384615vw;
  width: 5.8974358974vw;
  height: 5.8974358974vw;
  background-color: #a2c2dd;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-slider .slick-arrow {
    width: 30px;
    height: 30px;
  }
}
.c-slider .slick-prev {
  left: -2.9487179487vw;
}
.c-slider .slick-prev::before {
  content: "";
  display: block;
  width: 5.8974358974vw;
  height: 5.8974358974vw;
  background: url(../img/common/ico_arrow-right-rounded.svg) no-repeat center center/contain;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.c-slider .slick-next {
  right: -2.9487179487vw;
}
.c-slider .slick-next::before {
  content: "";
  display: block;
  width: 5.8974358974vw;
  height: 5.8974358974vw;
  background: url(../img/common/ico_arrow-right-rounded.svg) no-repeat center center/contain;
}

.c-slider__img img {
  border-radius: 12px;
}

.c-slider__block {
  margin-top: 20px;
}

.c-slider__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-slider__date {
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  line-height: 1.1428571429;
  font-weight: 300;
  letter-spacing: 0.05em;
}

.c-slider__title {
  font-weight: 300;
  font-size: 4.1025641026vw;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #0f0f0f;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-slider__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 20px;
}

.c-slider__dots li {
  width: 2.3076923077vw;
  height: 2.3076923077vw;
  margin: 0 1.5384615385vw;
  background: #d0d0d0;
  border-radius: 50%;
  cursor: pointer;
}

.c-slider__dots li:hover,
.c-slider__dots li.slick-active {
  background: #a2c2dd;
}

.c-slider__dots li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

/* 記事のページネーション */
.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  gap: 3.0769230769vw;
}

.c-pagination__item {
  font-size: 4.1025641026vw;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #34425f;
}
.c-inputCheckbox__input,
.c-inputRadio__input {
  display: none;
}
.c-inputCheckbox__mark,
.c-inputRadio__mark {
  position: relative;
  padding: 0 0 0 30px;
}
.c-inputCheckbox__mark::before,
.c-inputRadio__mark::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #ccc;
  width: 20px;
  height: 20px;
}
.c-inputCheckbox__mark::after,
.c-inputRadio__mark::after {
  position: absolute;
  top: 5px;
  left: 5px;
  background: #0000ff;
  width: 10px;
  height: 10px;
}

.c-inputRadio__mark::before, .c-inputRadio__mark::after {
  border-radius: 50%;
}

:checked + .c-inputCheckbox__mark::after,
:checked + .c-inputRadio__mark::after {
  content: "";
}

.c-tab_btnList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-tab_btn {
  width: 50%;
  padding: 10px 0;
  text-align: center;
  list-style: none;
  cursor: pointer;
}
.c-tab_btn.-show {
  border-top: 2px solid #333;
  color: red;
}
.c-tab_contents {
  display: none;
}
.c-tab_contents.-show {
  display: block;
}

.c-breadcrumbs__item {
  position: relative;
  font-size: 3.0769230769vw;
  line-height: 1.5833333333;
  font-weight: 300;
}

.c-breadcrumbs__item:not(:last-child) {
  margin-right: 2.0512820513vw;
}

.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px 0;
}

.c-breadcrumbs__link {
  padding-right: 3.0769230769vw;
}
.c-breadcrumbs__link::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1.7948717949vw;
  height: 1.7948717949vw;
  top: 2px;
  bottom: 0;
  right: 0;
  left: auto;
  margin: auto 0 auto auto;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
/* --------------------------------------------------
  cleafix
-------------------------------------------------- */
.u-clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-alignL {
  text-align: left;
}

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

.u-alignR {
  text-align: right;
}

/* --------------------------------------------------
  margin
-------------------------------------------------- */
.u-margin.-short {
  margin-bottom: 16px;
}
.u-margin.-middle {
  margin-bottom: 32px;
}
.u-margin.-large {
  margin-bottom: 64px;
}

/* --------------------------------------------------
  padding
-------------------------------------------------- */
.-ratio16-9 {
  padding-top: 56.25%;
}

.-ratio4-3 {
  padding-top: 75%;
}

.p-homeFv__inner {
  background-color: #ededed;
  padding-bottom: 70px;
}

.p-homeFv__main {
  position: relative;
  padding-bottom: 18.7179487179vw;
}
@media screen and (min-width: 768px) {
  .p-homeFv__main {
    padding-bottom: 11.5%;
  }
}

.p-homeFv_above {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.p-homeFv__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 20px;
}

.p-homeFv__titlewrap {
  position: absolute;
  top: 45px;
  right: 5.1282051282vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-homeFv__titlewrap {
    right: 160px;
  }
}

.p-homeFv__titleLine {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  background-color: #ffffff;
  padding: 15px 10px;
  font-size: 4.1025641026vw;
  line-height: 1.125;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-homeFv__titleLine {
    font-size: 27px;
    line-height: 1.137037037;
  }
}

/* Newsセクション */
.p-homeNews {
  background-color: #ededed;
}

.p-homeNews__list {
  padding-inline: 5.1282051282vw;
  margin-top: 40px;
}

.p-homeNews__item {
  position: relative;
}
.p-homeNews__item:not(:first-of-type)::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-block: 16px;
  background-color: #374361;
}

.p-homeNews__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5384615385vw;
}

.p-homeNews__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.0512820513vw;
}

.p-homeNews__date {
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  line-height: 1.1428571429;
  letter-spacing: 0.05em;
  font-style: italic;
  font-weight: 300;
}

.p-homeNews__label {
  font-size: 2.5641025641vw;
  font-weight: 300;
  line-height: 1.1666666667;
  letter-spacing: 0.05em;
  padding: 4px;
  border-radius: 4px;
  color: #fff;
  background-color: #606060;
}
.p-homeNews__label.m-news {
  background-color: #a2c2dd;
}
.p-homeNews__label.m-media {
  background-color: #d3c2ae;
}

.p-homeNews__title {
  font-size: 4.1025641026vw;
  line-height: 1.4375;
  font-weight: 300;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-homeNews__title {
    font-size: 18px;
  }
}

.p-homeNews__button {
  text-align: center;
  margin-top: 40px;
}

/* About */
.p-homeAbout {
  padding-block: 40px 70px;
  background-color: #ededed;
}

.p-homeAbout__title {
  font-size: 6.1538461538vw;
}
@media screen and (min-width: 768px) {
  .p-homeAbout__title {
    font-size: 54px;
    line-height: 1.5;
  }
}

.p-homeAbout__text {
  position: relative;
  font-size: 3.8461538462vw;
  line-height: 2.4;
  font-weight: 300;
  margin-top: 40px;
  z-index: 300;
}
@media screen and (min-width: 768px) {
  .p-homeAbout__text {
    font-size: 24px;
    line-height: 2.0416666667;
  }
}

.p-homeAbout__button {
  text-align: center;
  margin-top: 25px;
}

.p-homeAbout__wrap {
  position: relative;
}

.p-homeAbout__bgwrap {
  position: absolute;
  bottom: 22px;
  right: -5.1282051282vw;
  z-index: 100;
}

/* 診療のご案内 */
.p-homeMedicalMenu {
  padding-block: 40px;
}

.p-homeMedicalMenu__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10.2564102564vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 10.2564102564vw;
  max-width: 905px;
  margin-inline: auto;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-homeMedicalMenu__list {
    -ms-grid-columns: 1fr 56px 1fr 56px 1fr 56px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 56px;
    margin-top: 60px;
  }
}

.p-homeMedicalMenu__link {
  display: block;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-homeMedicalMenu__link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .p-homeMedicalMenu__link:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}

.p-homeMedicalMenu__icon {
  display: block;
  width: 100%;
  height: auto;
  padding-inline: 1.7948717949vw;
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .p-homeMedicalMenu__icon {
    padding-inline: 9px;
    margin-bottom: 15px;
  }
}

.p-homeMedicalMenu__text {
  font-size: 4.1025641026vw;
  line-height: 1.625;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-homeMedicalMenu__text {
    font-size: 23px;
    line-height: 1.4347826087;
  }
}

.p-homeFeature__inner {
  max-width: 1232px;
  background-color: #f9f9f9;
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .p-homeFeature__inner {
    max-width: 1440px;
  }
}

@media screen and (min-width: 768px) {
  .p-homeFeaturePointTable__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-homeFeaturePointTable__heading {
  background-color: #e1ebf3;
  font-size: 5.1282051282vw;
  line-height: 1;
  color: #82a1d2;
  border-bottom: 2px solid #374361;
  padding: 32px 20px 15px 20px;
}

.p-homeFeaturePointTable__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 3.0769230769vw 4px 3.0769230769vw;
  border-bottom: 1px solid #374361;
}
.p-homeFeaturePointTable__row.m-FeatureLastRow {
  border-bottom: 2px solid #374361;
}

.p-homeFeaturePointTable__text {
  font-size: 5.3846153846vw;
  line-height: 1;
}

.p-homeFeaturePointTable__text span {
  font-size: 3.5897435897vw;
  line-height: 1;
  font-weight: 300;
  padding-right: 8px;
}

.p-homeFeaturePointTable__text span.m-tableTextGap {
  padding-left: 8px;
}

.p-homeFeaturePointTable__number {
  font-size: 10.5128205128vw;
  line-height: 1;
  color: #82a1d2;
  font-family: "Roboto", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-homeFeaturePointTable__number span {
  font-size: 5.3846153846vw;
  line-height: 1;
  font-weight: 300;
  margin-left: 6px;
}

.p-homeFeaturePointTable__caution {
  font-size: 2.8205128205vw;
  line-height: 1;
  font-weight: 300;
  margin-top: 8px;
}

ol {
  list-style: none;
  padding-left: 0;
}

.p-homeFeaturePoint__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-homeFeaturePoint__list {
  counter-reset: feature-counter;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 60px;
}

.p-homeFeaturePoint__item {
  counter-increment: feature-counter;
  position: relative;
  width: 100%;
}

.p-homeFeaturePoint__item:nth-child(n+2) {
  margin-top: 128px;
}

.p-homeFeaturePoint__item::before {
  content: "";
  position: absolute;
  top: 0;
  width: 130px;
  height: 113px;
  background-image: url("../img/top/img_feature_number_01.svg");
}

.p-homeFeaturePoint__item:nth-child(2)::before {
  right: 0;
  width: 135px;
  height: 102px;
  background-image: url("../img/top/img_feature_number_02.svg");
}

.p-homeFeaturePoint__item:nth-child(3)::before {
  left: 0;
  width: 154px;
  height: 112px;
  background-image: url("../img/top/img_feature_number_03.svg");
}

.p-homeFeaturePoint__title {
  font-size: 5.641025641vw;
  line-height: 1.1818181818;
  color: #606060;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .p-homeFeaturePoint__title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    max-width: 1120px;
    margin: 0 auto;
  }
}

.p-homeFeaturePoint__item:nth-child(odd) .p-homeFeaturePoint__title {
  text-align: right;
}

.p-homeFeaturePoint__item:nth-child(even) .p-homeFeaturePoint__title {
  text-align: left;
}

.p-homeFeaturePoint__item .p-homeFeaturePoint__title.m-FeatureTitleResults01 {
  padding-bottom: 20px;
}

.p-homeFeaturePoint__item .p-homeFeaturePoint__title.m-FeatureTitleResults02 {
  padding-bottom: 0px;
}

.p-homeFeaturePoint__item .p-homeFeaturePoint__title.m-FeatureTitleResults03 {
  padding-bottom: 28px;
  padding-right: 20px;
}

@media screen and (max-width: 768px) {
  .p-homeFeaturePoint__image {
    margin: 0 calc(50% - 50vw);
  }
}

@media screen and (min-width: 768px) {
  .p-homeFeaturePoint__desc {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    max-width: 1120px;
    margin: 0 auto;
    margin-top: 32px;
    text-align: center;
  }
}

.p-homeFeaturePointTable {
  margin-top: 36px;
}

.p-homeAccess__inner {
  padding-top: 48px;
  padding-bottom: 48px;
}
@media screen and (min-width: 768px) {
  .p-homeAccess__inner {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

.p-homeAccess__clinic {
  margin-top: 24px;
}

.p-homeAccess__block:nth-child(n+2) {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-homeAccess__block:nth-child(n+2) {
    margin-top: 104px;
  }
}

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

.p-homeAccess__name {
  font-size: 5.1282051282vw;
  line-height: 1.2;
}

.p-homeAccess__operation {
  display: block;
  font-size: 3.0769230769vw;
  line-height: 2;
}

.p-homeAccess__img {
  margin-top: 12px;
}
@media screen and (min-width: 768px) {
  .p-homeAccess__img {
    margin-top: 20px;
  }
}

.p-homeAccess__address {
  text-align: center;
  font-size: 3.5897435897vw;
  line-height: 1.4285714286;
  font-weight: 300;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .p-homeAccess__address {
    margin-top: 20px;
  }
}

.p-homeAccess__button {
  text-align: center;
  margin-top: 24px;
}

.p-homeColumn__inner {
  padding-block: 48px;
}

@media screen and (min-width: 768px) {
  .p-homeColumn__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-homeColumn__button {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-homeColumn__button {
    display: block;
  }
}

.p-homeColumn__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-block: 20px;
  margin-bottom: 32px;
}

.p-homeColumn__item {
  position: relative;
  padding-block: 20px;
}
.p-homeColumn__item:not(:first-child) {
  border-top: 1px solid #606060;
}

.p-homeColumn__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}

.p-homeColumn__img {
  width: 35.7575757576%;
}
.p-homeColumn__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

.p-homeColumn__block {
  width: 64.2424242424%;
}

.p-homeColumn__date {
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  line-height: 1.1428571429;
  font-weight: 300;
}

.p-homeColumn__label {
  padding: 2px 4px;
  font-size: 3.0769230769vw;
  line-height: 1.1666666667;
  letter-spacing: 0.05em;
  border-radius: 4px;
  color: #fff;
}

.p-homeColumn__title {
  font-size: 4.1025641026vw;
  line-height: 1.375;
  font-weight: 300;
  color: #0f0f0f;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-homeEachColumn__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.0769230769vw;
}

.p-homeEachColumn__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 2px 4.1025641026vw 2px 3.0769230769vw;
  background-color: #e6f0f8;
  border-radius: 6px;
}

.p-homeEachColumn__text {
  font-size: 3.0769230769vw;
  line-height: 2.1666666667;
  color: #606060;
}

.p-homeEachColumn__icon {
  display: block;
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  margin-right: 3.0769230769vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

.p-homeEachColumn__line {
  position: relative;
  width: 4.358974359vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-homeEachColumn__line::before,
.p-homeEachColumn__line::after {
  content: "";
  position: absolute;
  right: 0;
  width: 2.5641025641vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}

.p-homeEachColumn__line::before {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

.p-homeEachColumn__line::after {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}

.p-homeEachColumn__summary {
  font-size: 2.5641025641vw;
  line-height: 2;
  letter-spacing: 0.05%;
  margin-top: 48px;
  text-align: center;
}

.p-policy__inner {
  padding-bottom: 48px;
}

.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px 0;
}

.p-policy__heading {
  padding: 72px 0;
}

.p-policyFv__text {
  font-weight: 300;
}

.p-policyFv + .p-policy__section {
  margin-top: 48px;
}

.p-policy__section + .p-policy__section {
  margin-top: 40px;
}

.p-policy__title {
  font-size: 4.6153846154vw;
  line-height: 1.2222222222;
  border-bottom: 1px solid #606060;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.p-policy__body p {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 300;
  letter-spacing: 0.05em;
}

.p-policy__list {
  padding-left: 22px;
  margin: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.p-policy__Item {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 400;
  text-indent: -18px;
}
.p-policy__Item::before {
  content: "・";
  margin-right: 3px;
}

.p-policy__stepList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}

.p-policy__stepTitle {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 400;
  margin-bottom: 6px;
}

.p-policy__stepTitle span {
  margin-right: 5.1282051282vw;
}

/* p-sleepColumnNew */
.p-sleepColumnNew__heading {
  padding-block: 28px;
}

/* .p-sleepColumnList  */
.p-sleepColumnList__heading {
  padding-block: 36px 16px;
}

.p-sleepColumnList__container {
  margin-bottom: 32px;
}

.p-sleepColumnList__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-sleepColumnList__item {
  position: relative;
  padding-block: 20px;
}
.p-sleepColumnList__item:not(:first-child) {
  border-top: 1px solid #606060;
}

.p-sleepColumnList__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}

.p-sleepColumnList__img {
  width: 35.7575757576%;
}
.p-sleepColumnList__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

.p-sleepColumnList__block {
  width: 64.2424242424%;
}

.p-sleepColumnList__date {
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  line-height: 1.1428571429;
  font-weight: 300;
}

.p-sleepColumnList__label {
  padding: 2px 4px;
  font-size: 3.0769230769vw;
  line-height: 1.1666666667;
  letter-spacing: 0.05em;
  border-radius: 4px;
  color: #fff;
}

.p-sleepColumnList__title {
  font-size: 4.1025641026vw;
  line-height: 1.375;
  font-weight: 300;
  color: #0f0f0f;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-sleepColumnList__pagination {
  margin-top: 6px;
}

/* .p-sleepColumnOther  */
.p-sleepColumnOther__inner {
  margin-bottom: 48px;
}

.p-sleepColumnOther__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.0769230769vw;
}

.p-sleepColumnOther__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 2px 4.1025641026vw 2px 3.0769230769vw;
  background-color: #e6f0f8;
  border-radius: 6px;
}

.p-sleepColumnOther__text {
  font-size: 3.0769230769vw;
  line-height: 2.1666666667;
  color: #606060;
}

.p-sleepColumnOther__icon {
  display: block;
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  margin-right: 3.0769230769vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

.p-sleepColumnOther__line {
  position: relative;
  width: 4.358974359vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-sleepColumnOther__line::before,
.p-sleepColumnOther__line::after {
  content: "";
  position: absolute;
  right: 0;
  width: 2.5641025641vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}

.p-sleepColumnOther__line::before {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

.p-sleepColumnOther__line::after {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}

.p-sleepSasCheck {
  padding-block: 30px 48px;
}
.p-sleepSasCheck .c-heading__text {
  font-weight: 300;
  line-height: 1.3333333333;
}
.p-sleepSasCheck .p-note {
  margin-top: 20px;
  text-align: center;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-size: 2.8205128205vw;
  line-height: 1.5454545455;
}
.p-sleepSasCheck .c-button.-style01 {
  color: #99b4cc;
  font-size: 3.3333333333vw;
  padding: 1.2820512821vw 6.1538461538vw;
  width: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
}
.p-sleepSasCheck .c-button.-style01::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 17px;
  height: 9px;
  background-color: #99b4cc;
  -webkit-mask: url(../img/sleep/sas-check/ico_arrow.svg) no-repeat center/contain;
          mask: url(../img/sleep/sas-check/ico_arrow.svg) no-repeat center/contain;
  right: 5.1282051282vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-sleepSasCheck .p-btn-wrapper {
  margin: 36px auto 0;
  max-width: 42.0512820513vw;
}

.p-sleepSasCheck__list {
  padding-inline: 6.1538461538vw;
  margin-top: 40px;
}

.p-sleepSasCheck__item + .p-sleepSasCheck__item {
  margin-top: 48px;
}

.p-sleepSasCheck__question {
  letter-spacing: 0.01em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 1.2857142857;
  font-size: 3.5897435897vw;
}
.p-sleepSasCheck__question span {
  font-family: "Roboto", sans-serif;
  color: #99b4cc;
  font-size: 6.4102564103vw;
  font-weight: 600;
  margin-right: 6px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: -0.1em;
  line-height: 1;
  letter-spacing: 0;
}

.p-sleepSasCheck__answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 15px;
}
.p-sleepSasCheck__answer input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  clip: rect(0 0 0 0); /* 古いブラウザ対応 */
  clip-path: inset(50%); /* モダンブラウザ用 */
  overflow: hidden;
  white-space: nowrap;
}
.p-sleepSasCheck__answer input + span {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding-left: 10.7692307692vw;
}
.p-sleepSasCheck__answer {
  /* inputの位置と枠　*/
}
.p-sleepSasCheck__answer input + span:before {
  display: block;
  position: absolute;
  content: "";
}
.p-sleepSasCheck__answer input[type=radio] + span:before {
  top: 50%;
  left: 0;
  width: 7.6923076923vw;
  height: 7.6923076923vw;
  background-color: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-sleepSasCheck__answer {
  /* ラジオボタンのチェック　*/
}
.p-sleepSasCheck__answer input[type=radio]:checked + span:after {
  display: block;
  position: absolute;
  border-right: 4px solid #99b4cc;
  border-bottom: 4px solid #99b4cc;
  width: 2.5641025641vw;
  height: 4.6153846154vw;
  left: 1.0256410256vw;
  top: 36%;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  content: "";
}

.p-sleepSasCheck__radio label {
  background-color: #f9f9f9;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  color: #99b4cc;
  font-size: 4.1025641026vw;
  min-height: 12.8205128205vw;
  padding-left: 2.5641025641vw;
  width: 36.6666666667vw;
  font-weight: 500;
}

.p-sleepSasCheck__submitWrapper {
  position: relative;
  max-width: 42.0512820513vw;
  margin: 48px auto 0;
}
.p-sleepSasCheck__submitWrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 17px;
  height: 9px;
  background-color: #fff;
  -webkit-mask: url(../img/sleep/sas-check/ico_arrow.svg) no-repeat center/contain;
          mask: url(../img/sleep/sas-check/ico_arrow.svg) no-repeat center/contain;
  right: 5.1282051282vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-sleepSasCheck__submit {
  background-color: #a2c2dd;
  color: #fff;
  border-radius: 1000px;
  border: none;
  min-height: 9.2307692308vw;
  width: 100%;
  text-align: left;
  padding-left: 6.1538461538vw;
  font-size: 3.3333333333vw;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-sleepSasCheck__result {
  margin-top: 48px;
  background-color: rgb(249, 249, 249);
  border-radius: 16px;
  text-align: center;
  padding: 5.1282051282vw;
}

.p-sleepSasCheck__result-main {
  color: #99b4cc;
  font-size: 12.3076923077vw;
  line-height: 1.2;
  margin-bottom: 20px;
}
.p-sleepSasCheck__result-main span {
  display: block;
  font-size: 4.1025641026vw;
}

.p-sleepSasCheck__result-text {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  color: #99b4cc;
  letter-spacing: 0.05em;
}
.p-sleepSasCheck__result-text.-sub {
  font-weight: 300;
  margin-top: 5px;
  color: #606060;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-sleepPriceIntro__inner {
  margin-top: 40px;
}

.p-sleepPriceIntro__lead {
  font-size: 3.8461538462vw;
  line-height: 1.6666666667;
  letter-spacing: 0.08em;
  font-weight: 300;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-sleepPriceIntro__caution {
  font-size: 2.8205128205vw;
  line-height: 1.1818181818;
  letter-spacing: 0.05em;
  font-weight: 300;
  margin-top: 16px;
}

.p-sleepPriceCase__inner {
  margin-bottom: 48px;
}

.p-sleepPriceCase__list {
  margin: 12px 0 0 0;
}

.p-sleepPriceCase__each {
  margin-top: 48px;
}

.p-sleepPriceCase__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 4.6153846154vw;
  line-height: 1.2222222222;
  letter-spacing: 0.05em;
}
.p-sleepPriceCase__title span {
  font-size: 2.5641025641vw;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.p-sleepPriceCase__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #99b4cc;
}
.p-sleepPriceCase__row:last-child {
  border-bottom: 1px solid #99b4cc;
}

.p-sleepPriceCase__category {
  font-size: 2.5641025641vw;
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: #82a1d2;
  width: 17.4285714286%;
  text-align: center;
  -ms-flex-line-pack: center;
      align-content: center;
  padding: 8px 0;
  background-color: #f9f9f9;
}

.p-sleepPriceCase__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 82.5714285714%;
}
.p-sleepPriceCase__item.m-threeRow {
  display: block;
}
.p-sleepPriceCase__item.m-bgblue {
  background-color: #e6f0f8;
}

.p-sleepPriceCase__label {
  display: block;
  font-size: 3.0769230769vw;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  font-weight: 300;
  width: 50%;
  -ms-flex-line-pack: center;
      align-content: center;
  border-right: 1px solid #99b4cc;
  padding: 8px 0 8px 8px;
}

.p-sleepPriceCase__price {
  display: block;
  font-size: 3.0769230769vw;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  width: 50%;
  text-align: right;
  -ms-flex-line-pack: center;
      align-content: center;
  padding: 8px 8px 8px 0;
}
.p-sleepPriceCase__price sup {
  vertical-align: text-top;
}

.p-sleepPriceCase__itemwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-sleepPriceCase__itemwrap.m-bgblue {
  background-color: #e6f0f8;
}
.p-sleepPriceCase__itemwrap:not(:last-child) {
  border-bottom: 1px solid #99b4cc;
}

.p-sleepPriceCase__caution {
  font-size: 2.5641025641vw;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-top: 5px;
}

.p-guideInsurance__inner {
  padding-bottom: 48px;
}

.p-guideInsurance__heading {
  padding: 72px 0 40px 0;
}

.p-guideInsuranceFv__text {
  font-size: 3.0769230769vw;
  line-height: 1.5833333333;
  font-weight: 300;
  padding: 0 11.0256410256vw;
  text-align: center;
}

.p-guideInsuranceFv + .p-guideInsurance__section {
  margin-top: 72px;
}

.p-guideInsurance__section + .p-guideInsurance__section {
  margin-top: 40px;
}

.p-guideInsurance__title {
  font-size: 3.8461538462vw;
  line-height: 1.1333333333;
  border-bottom: 1px solid #606060;
  padding-bottom: 16px;
  margin-bottom: 10px;
}

.p-guideInsurance__body p {
  font-size: 3.0769230769vw;
  line-height: 1.4166666667;
  font-weight: 300;
  letter-spacing: 0.03em;
}

.p-guideInsurance__list {
  margin: 10px 0 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-guideInsurance__item {
  position: relative;
  font-size: 3.0769230769vw;
  font-weight: 300;
  letter-spacing: 0.03em;
  line-height: 2;
  padding-left: 2.8205128205vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.p-guideInsurance__item::before {
  content: "";
  position: absolute;
  top: 2.3076923077vw;
  left: 0;
  width: 1.5384615385vw;
  height: 1.5384615385vw;
  background: url(../img/common/ico_list-circle.svg) no-repeat center center/contain;
  border-radius: 50%;
}

.p-guideInsurance__defListwrap {
  margin: 28px 0;
}
.p-guideInsurance__defListwrap p {
  font-size: 2.3076923077vw;
  line-height: 1.4444444444;
  margin-top: 12px;
}

.p-guideInsurance__defList {
  background-color: #f9f9f9;
  margin: 0;
}

.p-guideInsurance__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid rgba(96, 96, 96, 0.5);
}
.p-guideInsurance__block:last-child {
  border-bottom: 1px solid rgba(96, 96, 96, 0.5);
}

.p-guideInsurance__range {
  width: 29%;
  padding: 4px 16px;
  font-size: 3.0769230769vw;
  line-height: 1.4166666667;
  font-weight: 300;
  letter-spacing: 0.05em;
  text-align: center;
  border-right: 1px solid rgba(96, 96, 96, 0.5);
}

.p-guideInsurance__ratio {
  font-size: 3.0769230769vw;
  line-height: 1.4166666667;
  width: 71%;
  padding: 4px 54px;
  text-align: center;
  font-weight: 300;
}
.p-guideInsurance__ratio span {
  font-size: 2.5641025641vw;
  line-height: 1.7;
}

.p-policy__inner {
  padding-bottom: 48px;
}

.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px 0;
}

.p-PrivacyPolicy__heading {
  padding: 72px 0 40px 0;
}

.p-policyFv__text {
  font-weight: 300;
}

.p-policy__section:first-of-type {
  margin-top: 72px;
}

.p-policy__section + .p-policy__section {
  margin-top: 64px;
}

.p-policy__title {
  font-size: 4.6153846154vw;
  line-height: 1.2222222222;
  border-bottom: 1px solid #606060;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.p-policy__body p {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 300;
  letter-spacing: 0.05em;
}

.p-PrivacyPolicy__list {
  padding-left: 27px;
  margin: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.p-PrivacyPolicy__Item {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 300;
  padding: 0;
  list-style-type: none;
  counter-increment: cnt;
  text-indent: -1.4em;
}
.p-PrivacyPolicy__Item::before {
  content: "(" counter(cnt) ") ";
}

.p-policy__stepList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}

.p-policy__stepTitle {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 400;
  margin-bottom: 6px;
}

.p-policy__stepTitle span {
  margin-right: 5.1282051282vw;
}

.p-PrivacyPolicy__inquiry {
  margin-top: 15px;
}
.p-PrivacyPolicy__inquiry a {
  text-decoration: underline;
  color: #82a1d2;
  cursor: pointer;
}

.p-PrivacyPolicy__cookies {
  text-decoration: underline;
  color: #82a1d2;
  cursor: pointer;
}

.p-prof__inner {
  padding-bottom: 48px;
}

.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px 0;
}

.p-prof__heading {
  padding: 72px 0;
}

.p-prof__List {
  width: 100%;
  border-right: 1px solid #e5e5e5;
}

.p-prof__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-prof__block:first-of-type .p-prof__desc {
  border-top: 1px solid #e5e5e5;
}

.p-prof__term {
  width: 24%;
  background-color: #e6f0f8;
  padding: 8px 16px 8px 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 3.0769230769vw;
  line-height: 1.6666666667;
  border-bottom: 2px solid #ffffff;
}

.p-prof__block:last-of-type .p-prof__term {
  border-bottom: none;
}

.p-prof__desc {
  width: 75%;
  padding: 8px 6px 8px 6px;
  background-color: #fff;
  font-size: 3.0769230769vw;
  line-height: 1.6666666667;
  font-weight: 300;
  border-bottom: 2px solid #e5e5e5;
}

.p-prof__block:last-of-type .p-prof__desc {
  border-bottom: 1px solid #e5e5e5;
}

.p-prof__item {
  margin-bottom: 15px;
}
.p-prof__item:last-child {
  margin-bottom: 0;
}

.p-prof__mail {
  text-decoration: underline;
  color: #82a1d2;
  cursor: pointer;
}

.p-law__inner {
  padding-bottom: 48px;
}

.p-law__heading {
  padding: 72px 0;
}

.p-law__section:nth-of-type(n + 2) {
  margin-top: 48px;
}

.p-law__title {
  font-size: 3.5897435897vw;
  line-height: 1.2142857143;
  text-align: center;
}

.p-law__List {
  width: 100%;
  border-right: 1px solid #e5e5e5;
  margin: 16px 0 0 0;
}

.p-law__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-law__block:first-of-type .p-law__desc {
  border-top: 1px solid #e5e5e5;
}

.p-law__term {
  width: 21.7948717949vw;
  background-color: #e6f0f8;
  padding: 8px 16px 8px 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 3.0769230769vw;
  line-height: 1.6666666667;
  border-bottom: 2px solid #ffffff;
}

.p-law__block:last-of-type .p-law__term {
  border-bottom: none;
}

.p-law__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 67.9487179487vw;
  padding: 8px 6px 8px 6px;
  background-color: #fff;
  font-size: 3.0769230769vw;
  line-height: 1.6666666667;
  font-weight: 300;
  border-bottom: 2px solid #e5e5e5;
}

.p-law__block:last-of-type .p-law__desc {
  border-bottom: 1px solid #e5e5e5;
}

.p-law__item {
  margin-bottom: 15px;
}
.p-law__item:last-child {
  margin-bottom: 0;
}

.p-law__tel {
  text-decoration: underline;
  color: #82a1d2;
  cursor: pointer;
}

.p-lawSpec__block:nth-of-type(n + 2) {
  margin-top: 20px;
}

.p-law__itemTitle {
  font-size: 3.0769230769vw;
  line-height: 1.5;
  font-weight: 400;
}

.p-lawSpec__list {
  padding-left: 10px;
  margin: 10px 0 5px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.p-lawSpec__item {
  font-size: 3.0769230769vw;
  line-height: 1.3333333333;
  font-weight: 300;
  text-indent: -1em;
}
.p-lawSpec__item::before {
  content: "・";
}

.p-law__smallText {
  font-size: 2.5641025641vw;
  line-height: 1.5;
}

.p-lawCaution {
  padding-left: 12px;
  margin: 8px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.p-lawCaution__text {
  font-size: 2.5641025641vw;
  line-height: 1.2;
  text-indent: -1.1em;
}
.p-lawCaution__text a {
  text-decoration: underline;
  color: #82a1d2;
  cursor: pointer;
}
.p-lawCaution__text::before {
  content: "※";
}

.p-law__cautionText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-law__cautionText span {
  display: block;
  width: 100%;
  max-width: 4.358974359vw;
  margin-right: 8px;
}

.p-notice__inner {
  padding-bottom: 48px;
}

.p-notice__heading {
  padding-block: 72px;
}

.p-notice__section + .p-notice__section {
  margin-top: 48px;
}

.p-notice__title {
  font-size: 4.6153846154vw;
  line-height: 1.2222222222;
  border-bottom: 1px solid #606060;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.p-notice__body p,
.p-notice__body small {
  font-size: 3.8461538462vw;
  line-height: 1.4666666667;
  font-weight: 300;
  letter-spacing: 0.05em;
}

.p-about__heading {
  padding: 48px 0;
}

.p-aboutConcept {
  padding-bottom: 48px;
}

.p-aboutConcept__title {
  font-size: 6.1538461538vw;
}
@media screen and (min-width: 768px) {
  .p-aboutConcept__title {
    font-size: 54px;
    line-height: 1.5;
  }
}

.p-aboutConcept__text {
  position: relative;
  font-size: 3.8461538462vw;
  line-height: 2.4;
  font-weight: 300;
  margin-top: 40px;
  z-index: 300;
}
@media screen and (min-width: 768px) {
  .p-aboutConcept__text {
    font-size: 24px;
    line-height: 2.0416666667;
  }
}

.p-aboutConcept__wrap {
  position: relative;
}

.p-aboutConcept__bgwrap {
  position: absolute;
  bottom: -35px;
  right: -5.1282051282vw;
  z-index: 100;
}

.p-aboutGreeting__inner {
  position: relative;
  background-color: #f9f9f9;
  margin-top: 44.8717948718vw;
  padding-bottom: 48px;
}

.p-aboutGreeting_aboveDeco {
  position: absolute;
  top: -32.5641025641vw;
  left: 0;
  width: 100%;
}

.p-aboutGreeting__heading {
  padding: 0 0 20px 0;
}

.p-aboutGreeting__image {
  margin: 0 calc(50% - 50vw);
}

.p-aboutGreeting__post {
  font-size: 3.0769230769vw;
  line-height: 1.6666666667;
  font-weight: 300;
}

.p-aboutGreeting__name {
  font-size: 5.1282051282vw;
  line-height: 1.4;
  margin-top: 8px;
}

.p-aboutGreeting__textwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  margin: 48px 0 20px 0;
}

.p-aboutGreeting__text {
  font-size: 4.1025641026vw;
  line-height: 2.1875;
  font-weight: 300;
}

.p-aboutGreeting__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 2px 4.1025641026vw 2px 3.0769230769vw;
  background-color: #e6f0f8;
  border-radius: 6px;
}

.p-aboutGreeting__intro {
  font-size: 3.0769230769vw;
  line-height: 2.1666666667;
  color: #606060;
}

.p-aboutGreeting__icon {
  display: block;
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  margin-right: 3.0769230769vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

.p-aboutGreeting__line {
  position: relative;
  width: 4.358974359vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-aboutGreeting__line {
  position: relative;
}
.p-aboutGreeting__line::before, .p-aboutGreeting__line::after {
  content: "";
  position: absolute;
  right: 0;
  width: 2.5641025641vw;
  height: 0.2564102564vw;
  background-color: #99b4cc;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}

.p-aboutGreeting__line::before {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

.p-aboutGreeting__line::after {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}

.p-aboutFv__text {
  font-weight: 300;
}

.p-about__section + .p-about__section {
  margin-top: 40px;
}

.p-about__title {
  font-size: 4.6153846154vw;
  line-height: 1.2222222222;
  border-bottom: 1px solid #606060;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.p-about__body p {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 300;
  letter-spacing: 5%;
}

.p-about__list {
  padding-left: 22px;
  margin: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.p-about__Item {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 400;
  text-indent: -18px;
}
.p-about__Item::before {
  content: "・";
  margin-right: 3px;
}

.p-about__stepList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}

.p-about__stepTitle {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  font-weight: 400;
  margin-bottom: 6px;
}

.p-about__stepTitle span {
  margin-right: 5.1282051282vw;
}

.p-cookie__inner {
  padding-bottom: 48px;
}

.p-Privacycookie__heading {
  padding: 72px 0;
}

.p-cookieFv__text {
  font-weight: 300;
}

.p-cookie__section:first-of-type {
  margin-top: 20px;
}

.p-cookie__section + .p-cookie__section {
  margin-top: 48px;
}

.p-cookie__title {
  font-size: 5.1282051282vw;
  line-height: 1.2;
  margin-bottom: 20px;
}

.p-cookie__body p {
  font-size: 3.8461538462vw;
  line-height: 1.5333333333;
  font-weight: 300;
  letter-spacing: 0.05em;
}

.p-cookie__list {
  padding-left: 2px;
  margin: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-cookie__list.m-cookieListLarge {
  margin-top: 20px;
}
.p-cookie__list.m-cookieListLarge .p-cookie__Item {
  line-height: 2;
  font-weight: 400;
}

.p-cookie__Item {
  font-size: 3.8461538462vw;
  line-height: 1.5333333333;
  font-weight: 300;
  padding: 0;
  list-style-type: none;
}
.p-cookie__Item span {
  font-weight: 400;
}
.p-cookie__Item a {
  text-decoration: underline;
  color: #82a1d2;
  cursor: pointer;
  font-weight: 300;
}
.p-cookie__Item a span {
  color: #606060;
}

.p-cookieTableBlock .p-cookie__smallText {
  font-size: 2.5641025641vw;
  line-height: 1.5;
}

.p-cookieTable {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 13px;
  background-color: #fff;
  color: #666;
  margin-top: 24px;
  margin-bottom: 12px;
}

.p-cookieTable__head {
  background-color: #a2c2dd;
}
.p-cookieTable__head th {
  font-size: 2.5641025641vw;
  line-height: 1.2;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: -0.08em;
  border-right: 1px solid #fff;
  padding: 10px 5px;
}
.p-cookieTable__head th:last-child {
  border-right: 1px solid #a2c2dd;
}

.p-cookieTable__body tr {
  border-bottom: 1px solid #a2c2dd;
}
.p-cookieTable__body tr:nth-child(even) {
  background-color: #e6f0f8;
}
.p-cookieTable__body td {
  font-size: 2.3076923077vw;
  line-height: 1.2222222222;
  font-weight: 300;
  letter-spacing: -0.02em;
  padding: 6px;
  border-right: 1px solid #a2c2dd;
}

.p-cookiePrivacy__block:nth-child(n+2) {
  margin-top: 10px;
}

.p-cookiePrivacy__company {
  font-size: 3.8461538462vw;
  line-height: 1.5333333333;
  font-weight: 400;
}

.p-cookiePrivacy__content p {
  font-size: 3.8461538462vw;
  line-height: 1.5333333333;
  font-weight: 400;
}
.p-cookiePrivacy__content a {
  text-decoration: underline;
  color: #82a1d2;
  cursor: pointer;
  font-weight: 300;
}

.p-cookie__update {
  text-align: right;
  font-size: 2.5641025641vw;
  line-height: 3;
  font-weight: 300;
  margin-top: 48px;
}

.p-reserveIntro___heading {
  margin-top: 28px;
}

.p-reserveIntro__button {
  margin: 28px 5.8974358974vw 0 5.8974358974vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-reserveIntro__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7692307692vw 7.4358974359vw;
  border-radius: 50px;
  background-color: #a2c2dd;
  width: 31.5789473684%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .p-reserveIntro__link {
    padding: 12px 24px;
    gap: 18px;
  }
}
@media (hover: hover) {
  .p-reserveIntro__link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .p-reserveIntro__link:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}

.p-reserveIntro__text {
  font-size: 3.0769230769vw;
  line-height: 1.6666666667;
  color: #fff;
  letter-spacing: 0.05em;
}

.p-reserveClinic__inner {
  padding-top: 28px;
  padding-bottom: 48px;
}
@media screen and (min-width: 768px) {
  .p-reserveClinic__inner {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

.p-reserveClinic__block:nth-child(n+2) {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-reserveClinic__block:nth-child(n+2) {
    margin-top: 104px;
  }
}

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

.p-reserveClinic__name {
  font-size: 5.1282051282vw;
  line-height: 1.2;
}

.p-reserveClinic__operation {
  display: block;
  font-size: 3.0769230769vw;
  line-height: 2;
}

.p-reserveClinic__img {
  margin-top: 12px;
}
@media screen and (min-width: 768px) {
  .p-reserveClinic__img {
    margin-top: 20px;
  }
}

.p-reserveClinic__address {
  text-align: center;
  font-size: 3.5897435897vw;
  line-height: 1.4285714286;
  font-weight: 300;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .p-reserveClinic__address {
    margin-top: 20px;
  }
}

.p-reserveClinic__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: center;
  margin-top: 24px;
  margin-right: 2.0512820513vw;
  margin-left: 2.0512820513vw;
}

.p-reserveClinic__link {
  width: 46.7065868263%;
}

/* p-guideReservation */
.p-guideReservation__inner {
  padding-block: 72px 48px;
}

.p-guideReservation__lead {
  font-size: 3.0769230769vw;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.5833333333;
  text-align: center;
  margin-top: 40px;
}
.p-guideReservation__lead strong {
  font-size: inherit;
  font-weight: 400;
  color: #99b4cc;
}

.p-guideReservation__section {
  margin-top: 72px;
}
.p-guideReservation__section:nth-of-type(2) {
  margin-top: 56px;
}
.p-guideReservation__section:nth-of-type(3) {
  margin-top: 46px;
}

.p-guideReservation__subHeading {
  font-size: 3.8461538462vw;
  line-height: 1.1333333333;
  letter-spacing: 0.05em;
  padding-bottom: 13px;
  border-bottom: 1px solid #606060;
}
.p-guideReservation__subHeading.m-noBorder {
  border: none;
}

.p-guideReservation__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 14px;
  gap: 14px;
}

.p-guideReservation__item {
  position: relative;
  font-size: 3.0769230769vw;
  font-weight: 300;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.5;
  padding-left: 2.8205128205vw;
}
.p-guideReservation__item::before {
  content: "";
  position: absolute;
  top: 1.5384615385vw;
  left: 0;
  width: 1.5384615385vw;
  height: 1.5384615385vw;
  background: url(../img/common/ico_list-circle.svg) no-repeat center center/contain;
  border-radius: 50%;
}
.p-guideReservation__item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  margin-left: -2.8205128205vw;
  margin-top: 18px;
}
.p-guideReservation__item dl div {
  font-size: 2.5641025641vw;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.p-guideReservation__container {
  padding-block: 32px;
  margin-top: 11px;
  padding-inline: 5.1282051282vw;
  background-color: #f9f9f9;
}

.p-guideReservation__step {
  padding-block: 16px;
}
.p-guideReservation__step + .p-guideReservation__step {
  margin-top: 20px;
}

.p-guideReservation__stepHeading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* 上下中央揃え */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* 左右中央揃え */
  text-align: center;
  font-size: 6.1538461538vw;
  letter-spacing: 0.05em;
  color: #99b4cc;
  margin-inline: -5.1282051282vw;
  /* 左右の線の共通設定 */
}
.p-guideReservation__stepHeading::before, .p-guideReservation__stepHeading::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background-color: #99b4cc;
}
.p-guideReservation__stepHeading {
  /* 文字との間の余白 */
}
.p-guideReservation__stepHeading::before {
  margin-right: 15px;
}
.p-guideReservation__stepHeading::after {
  margin-left: 15px;
}

.p-guideReservation__stepWrap {
  margin-top: 16px;
}

.p-guideReservation__stepImg {
  width: 29.3548387097%;
  margin-inline: auto;
}
.p-guideReservation__stepImg.m-large {
  width: 43.5483870968%;
}

.p-guideReservation__stepContent {
  margin-top: 16px;
}

.p-guideReservation__stepText {
  font-size: 4.6153846154vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
  color: #99b4cc;
}

.p-guideReservation__stepLead {
  font-size: 3.8461538462vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.3333333333;
  text-align: center;
  margin-top: 12px;
}
.p-guideReservation__stepLead.m-left {
  text-align: left;
}

.p-guideReservation__stepAnnotation {
  margin-top: 20px;
  text-align: center;
  line-height: 1;
}
.p-guideReservation__stepAnnotation small {
  font-size: 2.8205128205vw;
  font-weight: 300;
  letter-spacing: 0.05em;
}

.p-guideReservation__stepList li {
  counter-increment: guide;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.0512820513vw;
}
.p-guideReservation__stepList li::before {
  content: counter(guide); /* カウントした数字を表示 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* 丸の外観 */
  width: 5.1282051282vw;
  height: 5.1282051282vw;
  background-color: #99b4cc;
  color: #fff;
  border-radius: 50%; /* 真円にする */
  /* フォント調整 */
  font-size: 2.5641025641vw;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  -ms-flex-negative: 0;
      flex-shrink: 0; /* テキストが長くなっても丸が潰れないように固定 */
}
.p-guideReservation__stepList li:not(:first-child) {
  margin-top: 16px;
}

/* p-guideTreatment */
.p-guideTreatment__inner {
  padding-block: 72px 48px;
}

.p-guideTreatment__lead {
  font-size: 3.0769230769vw;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.5833333333;
  text-align: center;
  margin-top: 40px;
}
.p-guideTreatment__lead strong {
  font-size: inherit;
  font-weight: 400;
  color: #99b4cc;
}

.p-guideTreatment__section {
  margin-top: 72px;
}
.p-guideTreatment__section:nth-of-type(2) {
  margin-top: 48px;
}

.p-guideTreatment__subHeading {
  font-size: 3.8461538462vw;
  line-height: 1.1333333333;
  letter-spacing: 0.05em;
  padding-bottom: 13px;
  border-bottom: 1px solid #606060;
}

.p-guideTreatment__text {
  font-size: 3.0769230769vw;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-weight: 300;
  margin-top: 14px;
}

.p-guideTreatment__stepList {
  counter-reset: guide;
  margin: 40px 0 0 0;
}
.p-guideTreatment__stepList li:not(:first-child) p {
  margin-top: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-guideTreatment__stepList p {
  counter-increment: guide;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.0512820513vw;
  font-size: 3.3333333333vw;
  line-height: 1.1538461538;
}
.p-guideTreatment__stepList p::before {
  content: counter(guide); /* カウントした数字を表示 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* 丸の外観 */
  width: 5.1282051282vw;
  height: 5.1282051282vw;
  background-color: #99b4cc;
  color: #fff;
  border-radius: 50%; /* 真円にする */
  /* フォント調整 */
  font-size: 2.5641025641vw;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  -ms-flex-negative: 0;
      flex-shrink: 0; /* テキストが長くなっても丸が潰れないように固定 */
}

.p-guideTreatment__stepPreparation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 24px;
  padding-inline: 16.6666666667vw;
}
.p-guideTreatment__stepPreparation.m-signup {
  margin-top: 36px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-guideTreatment__stepDownloadApp {
  width: 41.5525114155%;
}

.p-guideTreatment__stepDownloadGoogle {
  width: 51.1415525114%;
}

.p-guideTreatment__container {
  margin-top: 24px;
  padding: 5.1282051282vw;
  background-color: #f9f9f9;
}

.p-guideTreatment__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-guideTreatment__step + .p-guideTreatment__step {
  border-top: 1px solid #99b4cc;
  margin-top: 20px;
  padding-top: 20px;
}

.p-guideTreatment__stepWrap {
  margin-top: 16px;
}

.p-guideTreatment__stepImg {
  width: 36.4516129032%;
}

.p-guideTreatment__stepContent {
  width: 50.6451612903%;
}

.p-guideTreatment__stepText {
  font-size: 3.8461538462vw;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  color: #99b4cc;
}

.p-guideTreatment__stepLead {
  font-size: 3.0769230769vw;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.3333333333;
  margin-top: 20px;
}
.p-guideTreatment__stepLead.m-left {
  text-align: left;
}