@charset "UTF-8";
:root {
  --base-color: #ffffff;
  --font-color: #333333;
  --color-brown: #483324;
  --color-red: #98242b;
  --color-white: #f6f2ee;
  --color-beige-01: #d8cbc2;
  --color-beige-02: #9a7559;
  --color-beige-03: #b99477;
  --color-beige-04: #9a7559;
  --color-blue: #5584b8;
  --color-blue-dark: #1e418f;
  --color-blue-mid: #3773a2;
  --color-blue-deep: #2b5a8e;
  --color-blue-navy: #003888;
  --color-blue-light: #a2bfdf;
  --color-blue-pale: #d8e1eb;
  --color-blue-bg: #f4f8fc;
  --color-gold: #978969;
  --color-gray: #707070;
  --color-gray-light: #c8c8c8;
  --color-accent-purple: #5370ac;
  --lh-12: 1.2;
  --lh-14: 1.4;
  --lh-16: 1.6;
  --lh-18: 1.8;
}

/* ------------------------------------------------------------

Reset

------------------------------------------------------------ */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
main {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  background: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  /*
      font:inherit;
      font-family:inherit;
      */
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
}

input,
textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

textarea {
  display: block;
}

:root {
  --scrollbar: 17px;
}

html {
  font-size: calc((100vw - var(--scrollbar)) / 1920 * 10 / 1620 * 1440);
  /*-ブレイクポイント1920px-*/
}
@media screen and (max-width: 1920px) {
  html {
    font-size: 62.5%;
  }
}
html {
  /*-ブレイクポイント1620px-*/
}
@media screen and (max-width: 1620px) {
  html {
    font-size: calc((100vw - var(--scrollbar)) / 1620 * 10);
  }
}
html {
  /*-ブレイクポイント1440px-*/
}
@media screen and (max-width: 1440px) {
  html {
    font-size: calc((100vw - var(--scrollbar)) / 1440 * 9);
  }
}
html {
  /*-ブレイクポイント1200px-*/
}
@media screen and (max-width: 1200px) {
  html {
    font-size: calc((100vw - var(--scrollbar)) / 1440 * 9.5);
  }
}
html {
  /*-ブレイクポイント767px-*/
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  html {
    font-size: 2.2727272727vw;
  }
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary,
textarea {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

picture {
  display: inline;
}

dialog {
  padding: 0;
  border: none;
}

/*a,
a:link,
a:visited,
a:hover,
a:active{
	outline:none;
	text-decoration:none;
}*/
/*a:focus-visible{outline: 2px dotted #333;}*/
.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}

.focus-visible {
  outline: 2px dotted #333;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

input,
select {
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  object-fit: cover;
}

button {
  color: var(--font-color);
  font-size: 1.6rem;
  background: none;
  appearance: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

a {
  color: var(--font-color);
}

/*button:focus-visible{outline: thin dotted #333;}*/
* {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
}

html {
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  background: var(--base-color);
  color: var(--font-color);
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: var(--lh-18);
  font-feature-settings: "palt";
}

.svg_symbol {
  display: none;
}

.br-pc {
  display: block;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .br-pc {
    display: none;
  }
}

.br-sp {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .br-sp {
    display: block;
  }
}

/* ------------------------------------------------------------

Shortcodes

------------------------------------------------------------ */
.normal {
  font-weight: 400 !important;
}

.bold {
  font-weight: 700 !important;
}

.italic {
  font-style: italic !important;
}

.none {
  display: none !important;
}

.mb-none {
  margin-bottom: 0 !important;
}

sub {
  vertical-align: sub !important;
  font-size: 50%;
}

sup {
  vertical-align: super !important;
  font-size: 50%;
}

.txt-mail::after {
  content: "@";
}

.red01 {
  color: #ff0000;
}

.indent-1 {
  text-indent: -1em;
  padding-left: 1em;
}

/* ------------------------------------------------------------

404ページ

------------------------------------------------------------ */
.page-404 .content {
  padding: 7.2rem 2rem;
}
.page-404 .content > p {
  margin-bottom: 4rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  line-height: var(--lh-16);
  text-align: center;
}

/* ------------------------------------------------------------

見出し・セクションラベル

------------------------------------------------------------ */
.c-section-label {
  font-family: "MinervaModern", "Didot", "Georgia", serif;
  font-weight: 400;
  text-align: center;
  line-height: 1;
  color: var(--color-blue-pale);
}
.c-section-label--sm {
  font-size: 8rem;
  letter-spacing: 0.4rem;
}
.c-section-label--md {
  font-size: 12rem;
  letter-spacing: 0.6rem;
  margin-bottom: -3rem;
  color: #d4dde8;
}
.c-section-label--lg {
  font-size: 12rem;
  letter-spacing: 0.6rem;
  line-height: 1;
  margin-bottom: -3rem;
  position: relative;
  z-index: 0;
}
.c-section-label--xl {
  font-size: 18rem;
  letter-spacing: 0.6rem;
  margin-bottom: -6rem;
}

.text-large {
  font-size: 6rem;
  font-weight: 600;
  letter-spacing: 0.6rem;
}

/* ------------------------------------------------------------

ボタン

------------------------------------------------------------ */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.25rem;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-btn:hover {
    opacity: 0.85;
  }
}
.c-btn--blue {
  background: var(--color-blue);
  color: #fff;
}
.c-btn--gold {
  background: var(--color-gold);
  color: #fff;
}
.c-btn--sm {
  padding: 1.2rem 2.4rem;
  font-size: 1.6rem;
}
.c-btn--lg {
  height: 7.2rem;
  font-size: 2.5rem;
  min-width: 38rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .c-btn--lg {
    font-size: 2rem;
    min-width: 34rem;
  }
}
.c-btn__icon {
  display: block;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .c-btn__icon {
    width: 2rem;
    height: auto;
  }
}
.c-btn--wide {
  padding: 1.6rem 8rem;
  font-size: 1.6rem;
  letter-spacing: 0.16rem;
  position: relative;
}
.c-btn--wide::after {
  content: "";
  position: absolute;
  right: 2.4rem;
  top: 50%;
  translate: 0 -50%;
  width: 0.6rem;
  height: 1rem;
  background: #fff;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}

/* ------------------------------------------------------------

コンタクトCTA

------------------------------------------------------------ */
.c-contact-cta {
  position: relative;
  background: linear-gradient(to bottom, #9dd7e8 7.158%, #7c9ae1 83.239%);
  padding: 8rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .c-contact-cta {
    padding: 5.6rem 0;
  }
}
.c-contact-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/bg_contact_texture.webp) center/cover;
  opacity: 0.6;
}
.c-contact-cta::after {
  content: "";
  position: absolute;
  inset: 4rem;
  border: 1px solid #fff;
  pointer-events: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .c-contact-cta::after {
    inset: 1.6rem;
  }
}
.c-contact-cta__inner {
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4rem;
}
.c-contact-cta__label {
  display: block;
  width: 42.8rem;
  height: auto;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .c-contact-cta__label {
    width: 29rem;
  }
}
.c-contact-cta__text {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 2.8rem;
  color: #fff;
  letter-spacing: 0.28rem;
  line-height: 1.8;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .c-contact-cta__text {
    font-size: 2.2rem;
  }
}
.c-contact-cta__buttons {
  display: flex;
  justify-content: center;
  gap: 5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .c-contact-cta__buttons {
    flex-direction: column;
    gap: 2.4rem;
  }
}

/* ------------------------------------------------------------

Header（親サイトの css/header.css を SCSS に変換）

------------------------------------------------------------ */
.h-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 17.8rem;
  margin-bottom: 0;
}
.h-logo a:hover img {
  opacity: 1;
}

.g-logo a:hover img {
  opacity: 1;
}

.index #header {
  display: flex;
}

.head-left {
  background: #f6f6f6;
  position: relative;
  width: 28rem;
  height: 100vh;
  padding: 2rem 0.5rem;
  z-index: 7;
}

#gnavi {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 6;
}
#gnavi .menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 1.5rem;
}
#gnavi .menu > li > a,
#gnavi .menu > li > span {
  display: block;
  text-decoration: none;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.6rem;
  color: #fff;
  cursor: pointer;
  position: relative;
  letter-spacing: 0.06em;
  padding: 1.6rem 2.6rem;
}
#gnavi .menu > li > a i,
#gnavi .menu > li > span i {
  font-style: normal;
  position: relative;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
#gnavi .menu > li > a i::after {
  content: "";
  position: absolute;
  width: 0;
  height: 1px;
  background-color: #fff;
  left: 0;
  bottom: -0.8rem;
  transition: all 0.3s linear;
}
#gnavi .menu > li > span i::after {
  content: "";
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  left: 50%;
  bottom: -0.8rem;
  rotate: 135deg;
  translate: -50% 0;
  transition: all 0.3s linear;
}
#gnavi .show {
  width: calc(100% - 28rem);
  display: none;
  position: absolute;
  right: 0;
  background: #f6f6f6;
  padding: 2rem;
  box-shadow: 0.6rem 0.6rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  transition: top 0.4s ease-in, opacity 0.4s ease;
}
#gnavi .show.clinic {
  max-width: 124rem;
}
#gnavi .show.medical {
  max-width: 148rem;
}
#gnavi .show.medical li, #gnavi .show.clinic li {
  max-width: calc(16.6666666667% - 2rem);
}
#gnavi .submenu {
  display: flex;
  flex-wrap: wrap;
}
#gnavi .submenu li {
  width: 22rem;
  position: relative;
  margin: 1rem;
}
#gnavi .submenu li a {
  display: block;
  overflow: hidden;
  text-align: center;
  line-height: 1.8;
}
#gnavi .submenu li a img {
  width: 100%;
  height: auto;
  transition: transform 0.3s linear;
}
#gnavi .submenu li .title {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.4);
  letter-spacing: 0.08em;
  transition: background 0.3s linear;
}
#gnavi.fixed {
  background: #fff;
  padding: 1.6rem;
}
#gnavi.fixed .menu > li > a,
#gnavi.fixed .menu > li > span {
  color: #333;
}

.fixed .menu > li > span i::after {
  border-top: 1px solid #333;
  border-right: 1px solid #333;
}

.under .head-left {
  width: 100%;
  height: auto;
  background: #fff;
  padding: 0;
}
.under .h-logo {
  position: static;
  display: none;
}
.under .wrap-sp {
  margin: 0 auto;
  width: 112rem;
}
.under #gnavi {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  top: 4.8rem;
  transition: top 0.1s linear;
  min-width: 112rem;
}
.under #gnavi.fixed {
  top: 0;
}
.under #gnavi.fixed .menu > li > a,
.under #gnavi.fixed .menu > li > span {
  color: #333;
}
.under #gnavi .menu > li > a,
.under #gnavi .menu > li > span {
  color: #fff;
  position: relative;
}
.under #gnavi .menu > li > a i {
  position: relative;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.under #gnavi .menu > li > a i::after {
  background-color: #fff;
}
.under #gnavi .menu > li > span i::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.g-logo {
  width: 38rem;
  margin: 0 0 0 4.8rem;
}
.fixed .g-logo {
  width: 19rem;
}
.fixed .g-logo img.normal {
  display: block;
}
.fixed .g-logo img.white {
  display: none;
}
.g-logo img {
  width: 100%;
  height: auto;
  transition: opacity 0.1s linear, visibility 0.1s linear;
}
.g-logo img.white {
  display: block;
}
.g-logo img.normal {
  display: none;
}

@media only screen and (min-width: 641px) {
  #gnavi .menu > li > a:hover i::after {
    width: 100%;
  }
  #gnavi .menu > li > span:hover i::after,
  #gnavi .menu .over.active > span i::after {
    rotate: -45deg;
    translate: 50% 0;
    bottom: -1.8rem;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    left: calc(50% - 0.4rem);
  }
  #gnavi .menu .over.active > span {
    background-color: #fff;
    color: #000;
  }
  #gnavi .submenu li a:hover img {
    opacity: 1;
    scale: 1.05;
  }
  #gnavi .submenu li a:hover .title {
    background-color: rgba(0, 0, 0, 0.2);
  }
  .fixed .menu > li > span i::after {
    border-top: 1px solid #000 !important;
    border-right: 1px solid #000 !important;
  }
}
@media screen and (max-width: 1024px) {
  #gnavi .submenu li .title {
    font-size: 1.4rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .menu-icon {
    text-align: center;
    text-transform: uppercase;
    line-height: 1;
    cursor: pointer;
    position: relative;
    top: 0.6rem;
    transition: all 0.4s linear;
  }
  .menu-icon::after {
    content: "MENU";
    position: absolute;
    color: #1f2a66;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    bottom: -1.2rem;
    left: 50%;
    translate: -50% 0;
  }
  .menu-icon.active::after {
    content: "CLOSE";
  }
  .menu-icon span {
    display: block;
    margin: 0 auto 1.8rem;
    width: 3rem;
    height: 2px;
    background-color: #1f2a66;
    transition-duration: 0s;
    transition-delay: 0.2s;
    position: relative;
  }
  .menu-icon span::before, .menu-icon span::after {
    content: "";
    display: block;
    position: absolute;
    width: 3rem;
    height: 2px;
    background-color: #1f2a66;
    transition-duration: 0.2s;
    transition-delay: 0.2s, 0s;
  }
  .menu-icon span::before {
    margin-top: -1rem;
  }
  .menu-icon span::after {
    margin-top: 1rem;
  }
  .menu-icon.active span {
    background-color: transparent;
  }
  .menu-icon.active span::before, .menu-icon.active span::after {
    margin-top: 0;
    transition-delay: 0s, 0.2s;
  }
  .menu-icon.active span::before {
    rotate: 45deg;
  }
  .menu-icon.active span::after {
    rotate: -45deg;
  }
  #gnavi,
  .under #gnavi {
    display: none;
    position: fixed;
    top: 0;
    background: #1f2a66;
    height: 100%;
    overflow: auto;
    min-width: 100%;
  }
  #gnavi .menu {
    display: block;
    padding: 0;
    padding-top: 9rem;
  }
  #gnavi .show.medical {
    max-width: 100%;
  }
  #gnavi .menu > li > a,
  #gnavi .menu > li > span,
  .under #gnavi .menu > li > a,
  .under #gnavi .menu > li > span {
    color: #fff;
    padding: 1.2rem;
    border-bottom: 1px solid #39468a;
  }
  #gnavi .menu > li > a i,
  #gnavi .menu > li > span i {
    display: block;
  }
  #gnavi .menu > li > span i::after {
    left: auto;
    right: 0;
    top: 0.9rem;
    rotate: 135deg;
    translate: none;
  }
  #gnavi .menu > li.active > span i::after {
    left: auto;
    right: 0;
    top: 1.1rem;
    rotate: -45deg;
  }
  .under #gnavi .menu > li > span i::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  #gnavi .show {
    display: none;
    width: 100%;
    position: relative;
  }
  #gnavi .submenu,
  #gnavi .submenu.clinic,
  #gnavi .submenu.medical {
    position: static;
    opacity: 1;
    visibility: visible;
    justify-content: flex-start;
    padding: 1rem;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  #gnavi .submenu li,
  #gnavi .clinic .submenu li,
  #gnavi .medical .submenu li {
    width: calc(50% - 1rem);
    max-width: 100%;
    margin: 0.5rem;
    float: left;
  }
  #gnavi .submenu li a img {
    width: 100%;
  }
  #gnavi .submenu li .title {
    font-size: 3vw;
  }
  .index #header {
    display: block;
  }
  .head-left,
  .under .head-left {
    width: 100%;
    height: auto;
    background: none;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    transition: background-color 0.3s ease;
    z-index: 99;
  }
  .head-left.scrolled,
  .under .head-left.scrolled {
    background-color: #fff;
  }
  .h-logo,
  .under .h-logo {
    display: none;
    position: static;
    translate: none;
    width: 20rem;
  }
  .head-left.scrolled .h-logo,
  .under .head-left.scrolled .h-logo {
    display: block;
  }
  .head-left:not(.scrolled) .wrap-sp,
  .under .head-left:not(.scrolled) .wrap-sp {
    justify-content: flex-end;
  }
  .head-left:not(.scrolled) .menu-icon {
    background-color: #fff;
    padding: 2.4rem 2rem 2.4rem;
  }
  .head-left:not(.scrolled) .menu-icon::after {
    bottom: 1rem;
  }
  .g-logo {
    display: none;
  }
  .wrap-sp,
  .under .wrap-sp {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 3%;
    width: 100%;
  }
}
@media only screen and (max-width: 480px) {
  #gnavi .submenu li .title {
    font-size: 4vw;
  }
}
/* ------------------------------------------------------------

Footer

------------------------------------------------------------ */
.f-top {
  padding: 11rem 0 12rem;
  background: url(../images/f_topBg.webp) no-repeat center;
  background-size: cover;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-top {
    padding: 4.8rem 1.6rem;
  }
}
.f-top .title {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 6.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-top .title {
    font-size: 2.4rem;
    margin-bottom: 2.4rem;
  }
}
.f-top .item {
  display: flex;
  justify-content: center;
  gap: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-top .item {
    flex-direction: column;
    gap: 2.4rem;
  }
}
.f-top .item a {
  display: block;
  width: 50rem;
  text-decoration: none;
  color: #fff;
  text-align: center;
  padding: 2.7rem 1rem 1.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-top .item a {
    width: 100%;
  }
}
.f-top .item li:first-child a {
  background: #4382c1;
}
.f-top .item li:last-child a {
  background: #67c6dc;
}
.f-top .txt-small {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  line-height: 1;
}
.f-top .txt-big {
  margin-bottom: 0;
}
.f-top .txt-big span {
  font-size: 3.8rem;
  letter-spacing: 0.09em;
  padding-left: 4.5rem;
  background: url(../images/icon_phone.webp) no-repeat center left;
  background-size: 3.2rem auto;
}
.f-top li:last-child .txt-big span {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 3.2rem;
  background: url(../images/icon_mail.webp) no-repeat center left 0.7rem;
  background-size: 3.6rem auto;
  padding-left: 5.6rem;
  letter-spacing: 0.17em;
}

.f-mid .container {
  display: flex;
  justify-content: space-between;
  padding: 12rem 6rem 8.5rem;
  max-width: 112rem;
  margin: 0 auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-mid .container {
    padding: 6.4rem 1.6rem;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.f-mid .f-left {
  max-width: 56rem;
}
.f-mid .f-info {
  display: flex;
  margin-bottom: 4.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-mid .f-info {
    flex-direction: column;
    align-items: center;
    margin-bottom: 3.2rem;
  }
}
.f-mid .idx-calendar {
  width: 53rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-mid .idx-calendar {
    width: 100%;
  }
}
.f-mid .idx-calendar img {
  width: 100%;
  height: auto;
}
.f-mid .f-right img {
  width: 37rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-mid .f-right img {
    width: 100%;
  }
}
.f-mid .map-link {
  text-align: right;
  margin: 0.5rem 0 0;
}
.f-mid .map-link a {
  text-decoration: none;
  display: inline;
  padding-left: 1.7rem;
  position: relative;
}
.f-mid .map-link a::before {
  content: "";
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}

.f-logo {
  width: 22.2rem;
  flex-shrink: 0;
}
.f-logo img {
  width: 100%;
  height: auto;
}

.f-address {
  line-height: 1.4;
  margin: 0.4rem 0 0 4.2rem;
  letter-spacing: 0.1em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-address {
    margin: 2.4rem auto 0;
    text-align: center;
  }
}

.f-menu {
  background: #1f2a66;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-menu {
    display: none;
  }
}
.f-menu .container {
  padding: 9.2rem 5rem 7.8rem 6rem;
  max-width: 112rem;
  margin: 0 auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-menu .container {
    flex-direction: column-reverse;
    padding: 0 1.6rem;
    gap: 4rem;
  }
}
.f-menu [class^=item] {
  display: flex;
  flex-wrap: wrap;
}
.f-menu [class^=item] li {
  position: relative;
  margin-bottom: 1.4rem;
  margin-right: 5.5rem;
}
.f-menu [class^=item] .title {
  width: 100%;
  color: #fff;
  font-weight: bold;
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 1.4rem;
}
.f-menu [class^=item] .title::before {
  content: "";
  position: absolute;
  width: 0.8rem;
  height: 2px;
  background: #fff;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
.f-menu [class^=item] a {
  color: #fff;
  text-decoration: none;
  position: relative;
  padding-left: 1.6rem;
  transition: all 0.2s ease;
}
.f-menu [class^=item] a::before {
  content: "";
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}
@media (hover: hover) {
  .f-menu [class^=item] a:hover {
    color: #4382c1;
  }
}
.f-menu .item01 {
  margin-bottom: 2rem;
}
.f-menu .item01 li:first-child a {
  padding-left: 0;
}
.f-menu .item01 li:first-child a::before {
  display: none;
}

.f-banner {
  padding: 5rem 0;
}
.f-banner .container {
  display: flex;
  justify-content: space-between;
  gap: 8rem;
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-banner .container {
    padding: 0 1.6rem;
    flex-direction: column-reverse;
    gap: 2.4rem;
  }
}
.f-banner dt {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-weight: 600;
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  padding: 0 0.5rem;
  border-bottom: 1px solid #dbdcdc;
}
.f-banner .f-banner_r {
  flex: 1;
}
.f-banner .f-banner_r dt::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url(../images/f_title02.webp) center no-repeat;
  background-size: contain;
  margin-right: 1rem;
  vertical-align: middle;
}
.f-banner .f-banner_r dd img {
  max-width: 100%;
  height: auto;
}
.f-banner .f-banner_l {
  width: 19rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .f-banner .f-banner_l {
    width: 100%;
  }
}
.f-banner .f-banner_l dt::before {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background: url(../images/f_title01.webp) center no-repeat;
  background-size: contain;
  margin-right: 1rem;
  vertical-align: middle;
}
.f-banner .f-banner_l li {
  padding-bottom: 1.5rem;
}
.f-banner .f-banner_l li:last-child {
  padding-bottom: 0;
}
.f-banner .f-banner_l img {
  max-width: 100%;
  height: auto;
}
@media (hover: hover) {
  .f-banner .f-banner_l a:hover {
    opacity: 0.8;
  }
}

.copyright {
  text-align: center;
  line-height: 4rem;
  margin-bottom: 0;
  background: #e9e9e9;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}

/* ------------------------------------------------------------

Sidebar（固定サイドCTAボタン）

------------------------------------------------------------ */
.sidebar {
  position: fixed;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  z-index: 3;
  display: flex;
  flex-direction: column;
}
.sidebar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 0.8rem;
  width: 10.7rem;
  height: 10.7rem;
  text-decoration: none;
  color: #fff;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.9rem;
  line-height: 1.4;
  text-align: center;
  transition: filter 0.2s ease;
}
@media (hover: hover) {
  .sidebar__item:hover {
    filter: brightness(1.1);
  }
}
.sidebar__item span {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.sidebar__item--clock {
  display: flex;
  background-color: #676767;
  position: relative;
  translate: 0 0;
  transition: translate 0.3s;
}
.sidebar__item--clock .item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.sidebar__item--tel {
  background-color: #978969;
  position: relative;
  translate: 0 0;
  transition: translate 0.3s;
}
.sidebar__item--web {
  background-color: #5584b8;
}
.sidebar__item--top {
  background-color: #3e3e3e;
}
.sidebar__tooltip {
  position: absolute;
  left: 100%;
  top: 0;
  width: 36rem;
  background-color: #676767;
  color: #fff;
  padding: 1.6rem;
  pointer-events: none;
}
.sidebar__tooltip-hours {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.4rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.6rem;
}
.sidebar__tooltip-row {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.sidebar__tooltip-row dt {
  font-weight: 600;
  min-width: 4.5em;
}
.sidebar__icon {
  display: block;
  width: auto;
  max-width: 4.2rem;
  height: auto;
  max-height: 3.8rem;
  object-fit: contain;
}
.sidebar__clock-wrap {
  position: relative;
  width: 10.7rem;
  height: 10.7rem;
  overflow: visible;
}
@media (hover: hover) {
  .sidebar__clock-wrap:hover .sidebar__item--clock {
    translate: -36rem 0;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .sidebar__clock-wrap {
    display: none;
  }
}
.sidebar__tel-wrap {
  position: relative;
  width: 10.7rem;
  height: 10.7rem;
  overflow: visible;
}
@media (hover: hover) {
  .sidebar__tel-wrap:hover .sidebar__item--tel {
    translate: -36rem 0;
  }
}
.sidebar__tel-tooltip {
  position: absolute;
  left: 100%;
  top: 0;
  width: 36rem;
  height: 100%;
  background-color: #978969;
  color: #fff;
  padding: 0 2.4rem;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.4rem;
}
.sidebar__tel-sub {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.4rem;
  line-height: 1.5;
}
.sidebar__tel-num {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  body {
    padding-bottom: 6.5rem;
  }
  .sidebar {
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    translate: none;
    flex-direction: row;
    z-index: 100;
  }
  .sidebar__item {
    flex: 1;
    width: auto;
    height: 6rem;
    font-size: 1.3rem;
    gap: 0.4rem;
    padding: 0.6rem 0.4rem;
  }
  .sidebar__item--top {
    width: 6rem;
    flex: none;
  }
  .sidebar__icon {
    max-height: 2.2rem;
    max-width: 3rem;
  }
  .sidebar__clock-wrap, .sidebar__tel-wrap {
    flex: 1;
    height: 6.5rem;
    overflow: hidden;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) and (orientation: portrait) and (max-width: 767px) {
  .sidebar__clock-wrap, .sidebar__tel-wrap {
    height: 6rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .sidebar__item--clock, .sidebar__item--tel {
    translate: 0 0 !important;
    transition: none;
  }
  .sidebar__tel-tooltip {
    display: none;
  }
}
/* ------------------------------------------------------------

モーダル

------------------------------------------------------------ */
.js-modal {
  opacity: 0;
  translate: 0 3rem;
}
.js-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.js-modal[open] {
  display: block;
  animation: slideUp 0.3s ease-out forwards;
}
.js-modal[open]::backdrop {
  opacity: 1;
}
.js-modal.closing {
  animation: slideDown 0.2s ease-in forwards;
}
.js-modal.closing::backdrop {
  opacity: 0;
}

@keyframes slideUp {
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes slideDown {
  from {
    opacity: 1;
    translate: 0 0;
  }
  to {
    opacity: 0;
    translate: 0 3rem;
  }
}
/* ------------------------------------------------------------

画像ポップアップモーダル

------------------------------------------------------------ */
.imageModal {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
.imageModal.is-open {
  display: block;
}
.imageModal__overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(0.5rem);
  animation: fadeIn 0.3s ease-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
.imageModal__container {
  position: relative;
  z-index: 1000;
  animation: zoomIn 0.3s ease-out;
}
.imageModal__close {
  color: #fff;
  font-size: 4.8rem;
  line-height: 1;
  position: absolute;
  top: -4.8rem;
  right: 0;
  cursor: pointer;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .imageModal__close {
    font-size: 3.2rem;
    top: -3.2rem;
    right: -0.8rem;
  }
}
.imageModal__image {
  display: block;
  height: 70vh;
  width: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .imageModal__image {
    width: 90vw;
    height: auto;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* ------------------------------------------------------------

トップページ

------------------------------------------------------------ */
.page-top {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  color: var(--font-color);
  line-height: var(--lh-18);
  overflow-x: hidden;
}

/* ============================================================
   Hero
   ============================================================ */
.mv {
  position: relative;
  width: 100%;
  height: 100vh;
  background: var(--font-color);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv {
    padding-inline: 2.4rem;
    height: 77rem;
  }
}
.mv .site-h1 {
  position: absolute;
  top: 1.6rem;
  left: 4.7rem;
  z-index: 1;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.07rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv .site-h1 {
    left: 2.4rem;
    width: 70%;
  }
}
.mv__bg {
  position: absolute;
  inset: 0;
  display: flex;
}
.mv__bg picture {
  width: 100%;
  height: 100%;
}
.mv__bg picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mv__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.mv__logo {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__logo {
    display: block;
    width: 27.5rem;
    margin-bottom: 2.4rem;
  }
}
.mv__title {
  text-align: center;
  color: #fff;
}
.mv__title-sub {
  display: block;
  font-size: 5.6rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.84rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__title-sub {
    font-size: 2.5rem;
    letter-spacing: 0;
  }
}
.mv__title-sub .big {
  font-size: 6.4rem;
  letter-spacing: 0.96rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-weight: 600;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__title-sub .big {
    font-size: 3.2rem;
    letter-spacing: 0;
  }
}
.mv__title-main {
  display: block;
  font-size: 6.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.96rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__title-main {
    font-size: 4rem;
  }
}
.mv__badges {
  display: flex;
  justify-content: space-between;
  width: 72rem;
  margin-top: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__badges {
    width: 100%;
    gap: 2.4rem;
  }
}
.mv__badge {
  position: relative;
  width: 22.5rem;
  height: 8.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__badge {
    width: calc((100% - 2.4rem) / 3);
    height: 10rem;
  }
}
.mv__badge::before, .mv__badge::after {
  content: "";
  position: absolute;
  width: 22rem;
  height: 8rem;
  border: 1px solid #e3e3e3;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__badge::before, .mv__badge::after {
    width: 100%;
    height: 10rem;
  }
}
.mv__badge::before {
  top: 0;
  left: 0;
}
.mv__badge::after {
  top: 0.5rem;
  left: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__badge::after {
    top: -0.5rem;
    left: -0.5rem;
  }
}
.mv__badge p {
  height: 100%;
  position: relative;
  z-index: 1;
  text-align: center;
  display: grid;
  place-items: center;
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.18rem;
  line-height: 1.4;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__badge p {
    font-size: 1.6rem;
  }
}
.mv__info-bar {
  position: absolute;
  bottom: -16.6rem;
  left: 0;
  right: 0;
  z-index: 2;
  width: fit-content;
  max-width: 108.3rem;
  background: #fff url(../images/root_mv_texture.webp) center/cover no-repeat;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-bar {
    margin-right: 2.4rem;
    bottom: -50rem;
    background: url(../images/root_mv_texture_sp.webp) center/cover no-repeat;
  }
}
.mv__info-bar-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6.4rem;
  padding: 4.8rem 6.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-bar-inner {
    flex-direction: column;
    padding: 4rem 2.4rem 4.8rem;
    gap: 2.4rem;
  }
}
.mv__info-group {
  display: flex;
  flex-direction: column;
  gap: 2.3rem;
}
.mv__info-row {
  display: flex;
  align-items: flex-start;
  gap: 2.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-row {
    flex-direction: column;
    gap: 0.8rem;
  }
}
.mv__info-row p,
.mv__info-row > div {
  font-size: 1.8rem;
  color: var(--font-color);
  letter-spacing: 0.09rem;
  line-height: 2.7rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-row p,
  .mv__info-row > div {
    font-size: 1.6rem;
  }
}
.mv__info-label {
  width: 6.4rem;
  flex-shrink: 0;
}
.mv__info-label img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}
.mv__info-sep {
  width: 1px;
  align-self: stretch;
  background: #a5a5a5;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-sep {
    display: none;
  }
}
.mv__info-hours {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.mv__info-hours-row {
  display: flex;
  align-items: center;
  gap: 1.3rem;
}
.mv__info-hours-row > span:last-child {
  font-size: 1.8rem;
  color: var(--font-color);
  letter-spacing: 0.09rem;
  line-height: 2.7rem;
}
.mv__info-hours-row dd {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.mv__info-hours-day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #a5a5a5;
  padding: 0.3rem 0.8rem;
  font-size: 1.7rem;
  letter-spacing: 0.085rem;
  line-height: 1.4;
  color: var(--font-color);
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.mv__info-divider {
  width: 1px;
  align-self: stretch;
  background: repeating-linear-gradient(to bottom, #a5a5a5 0, #a5a5a5 2px, transparent 2px, transparent 4px);
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-divider {
    width: 100%;
    height: 1px;
  }
}
.mv__info-reservation {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.8rem;
  width: 24rem;
  flex-shrink: 0;
  margin-left: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-reservation {
    margin-left: 0;
    width: 100%;
    flex-direction: row;
  }
}
.mv__info-reservation-title {
  font-size: 2rem;
  color: var(--font-color);
  letter-spacing: 0.2rem;
  line-height: 2.7rem;
  text-align: center;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__info-reservation-title {
    writing-mode: vertical-rl;
    font-feature-settings: normal;
  }
}
.mv__info-reservation-btns {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 100%;
}
.mv__info-reservation-btns .c-btn {
  width: 100%;
  height: 6rem;
  padding: 0;
  font-size: 2rem;
  letter-spacing: 0.2rem;
}
.mv__info-reservation-btns .c-btn img {
  width: 1.8rem;
  height: auto;
}
.mv__breadcrumb {
  position: absolute;
  bottom: -6rem;
  right: 20vw;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .mv__breadcrumb {
    right: 20rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .mv__breadcrumb {
    bottom: -54rem;
    right: unset;
    left: 2rem;
  }
}
.mv__breadcrumb li {
  display: inline-block;
  line-height: 1.3em;
  margin-bottom: 5px;
  position: relative;
}
.mv__breadcrumb li:last-child:after {
  display: none;
}
.mv__breadcrumb li::after {
  position: absolute;
  content: "";
  width: 9px;
  height: 9px;
  border-right: 1px solid #3251a5;
  border-top: 1px solid #3251a5;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 13px;
}
.mv__breadcrumb li a {
  text-decoration: underline;
  color: #333;
  padding: 0 32px 0 0;
}
@media (hover: hover) {
  .mv__breadcrumb li a:hover {
    color: #3251a5;
  }
}

.index-section {
  position: relative;
}
.index-section__texture {
  position: absolute;
  right: 0;
  z-index: -1;
  top: 12.8rem;
  width: 65.8rem;
  height: auto;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__texture {
    width: 31.6rem;
    top: auto;
    bottom: 8rem;
  }
}
.index-section__texture img {
  width: 100%;
  height: auto;
}
.index-section__inner {
  padding: 27rem 12rem 14rem;
  max-width: 100rem;
  margin-inline: auto;
  box-sizing: content-box;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__inner {
    padding: 60rem 2.4rem 8rem;
  }
}
.index-section__header {
  display: flex;
  align-items: flex-end;
  gap: 4.8rem;
  margin-bottom: 3.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__header {
    gap: 3.2rem;
  }
}
.index-section__label {
  display: block;
  width: 18.9rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__label {
    width: 15.8rem;
  }
}
.index-section__title {
  font-size: 4rem;
  color: var(--font-color);
  letter-spacing: 0.2rem;
  line-height: 1;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__title {
    font-size: 3.2rem;
  }
}
.index-section__columns {
  display: flex;
  gap: 6.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__columns {
    flex-direction: column;
    gap: 0.6rem;
  }
}
.index-section__col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.index-section__row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.index-section__divider {
  width: 0;
  align-self: stretch;
  border-left: 2px dotted #a5a5a5;
  align-self: stretch;
  flex-shrink: 0;
}
.index-section__num {
  font-size: 2.4rem;
  color: var(--color-gold);
  letter-spacing: 0.12rem;
  flex-shrink: 0;
  line-height: 1.6;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__num {
    font-size: 1.8rem;
  }
}
.index-section__item {
  line-height: 4.3rem;
  font-size: 2rem;
  letter-spacing: 0.1rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .index-section__item {
    font-size: 1.8rem;
  }
}
@media (hover: hover) {
  .index-section__item:hover {
    opacity: 0.7;
  }
}

.trouble {
  position: relative;
  z-index: 1;
  min-height: 103.3rem;
  display: grid;
  place-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble {
    padding: 8rem 2.4rem;
    min-height: auto;
  }
}
.trouble__bg {
  position: absolute;
  inset: 0;
}
.trouble__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.trouble__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
  max-width: 120rem;
  margin: 0 auto;
  text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__content {
    gap: 0;
  }
}
.trouble__label {
  display: block;
  width: 60.2rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__label {
    width: 27rem;
  }
}
.trouble__heading {
  font-size: 4rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.4rem;
  line-height: 5.3rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__heading {
    font-size: 3.2rem;
    margin-top: 3.2rem;
  }
}
.trouble__heading .big {
  font-size: 6rem;
  font-weight: 600;
  letter-spacing: 0.6rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__heading .big {
    font-size: 4rem;
  }
}
.trouble__heading .dots {
  text-emphasis: dot;
}
.trouble__sub {
  font-size: 3rem;
  color: #fff;
  letter-spacing: 0.3rem;
  line-height: 5.3rem;
  margin-top: -2.4rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__sub {
    font-size: 2.4rem;
    margin-top: 1.6rem;
    line-height: 1.6;
  }
}
.trouble__grid {
  display: flex;
  gap: 12rem;
  justify-content: center;
  text-align: left;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__grid {
    width: 100%;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 4.8rem;
  }
}
.trouble__col {
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
  width: 54rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__col {
    width: 100%;
    gap: 2.4rem;
  }
}
.trouble__item {
  display: flex;
  align-items: flex-end;
  gap: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 2px dotted rgba(216, 225, 235, 0.3);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__item {
    padding-bottom: 0.8rem;
    gap: 0.8rem;
    align-items: center;
  }
}
.trouble__item p {
  font-size: 2.4rem;
  color: #fff;
  letter-spacing: 0.12rem;
  line-height: 3.6rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__item p {
    font-size: 1.8rem;
  }
}
.trouble__item strong {
  font-size: 3.4rem;
  letter-spacing: 0.17rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__item strong {
    font-size: 2.4rem;
  }
}
.trouble__check {
  width: 3.7rem;
  height: 3.7rem;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .trouble__check {
    width: 2.2rem;
    height: 2.2rem;
  }
}

.consult {
  position: relative;
  z-index: 0;
  min-height: 54.9rem;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  overflow: hidden;
  margin-top: -10rem;
  padding: 0 18.75% 8.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .consult {
    padding: 6.8rem 2.4rem;
    min-height: 46.8rem;
    margin-top: -4rem;
  }
}
.consult__bg {
  position: absolute;
  inset: 0;
}
.consult__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.consult__inner {
  position: relative;
  z-index: 2;
  width: fit-content;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .consult__inner {
    width: 30rem;
  }
}
.consult__heading {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.16rem;
  color: var(--font-color);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .consult__heading {
    font-size: 2.2rem;
    line-height: 1.6;
  }
}
.consult__heading strong {
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: 0.2rem;
  color: #1a3d94;
  background: #fff;
  box-decoration-break: clone;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  padding: 0.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .consult__heading strong {
    font-size: 2.8rem;
    line-height: 1.8;
  }
}

.doctor {
  background: linear-gradient(to bottom, #4782ae 6.002%, #1e418f 97.673%);
  padding: 19.5rem 0 15rem;
  color: #fff;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor {
    padding: 7.2rem 2.4rem;
    background: linear-gradient(#4782ae 0%, #1e418f 100%);
    overflow-x: clip;
  }
}
.doctor__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 114rem;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__bg {
    width: 28rem;
    bottom: auto;
    top: 90rem;
  }
}
.doctor__bg img {
  width: 100%;
  height: auto;
}
.doctor__label {
  display: block;
  width: 54.7rem;
  height: auto;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__label {
    width: 34rem;
    order: -1;
  }
}
.doctor__content {
  display: flex;
  gap: 6rem;
  align-items: center;
  max-width: 120rem;
  margin: 0 auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__content {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
  }
}
.doctor__text {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  flex-shrink: 0;
  width: 59.9rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__text {
    display: contents;
  }
}
.doctor__title-block {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__title-block {
    gap: 0.8rem;
    margin-top: 2.4rem;
    order: -1;
  }
}
.doctor__title-row {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__title-row {
    gap: 0.8rem;
  }
}
.doctor__grid {
  display: inline-flex;
  gap: 1.6rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__grid {
    gap: 0.8rem;
  }
}
.doctor__grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 11.5rem;
  height: 11.5rem;
  background: rgba(255, 255, 255, 0.95);
  color: var(--color-accent-purple);
  font-size: 8rem;
  font-weight: 600;
  letter-spacing: 0.8rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__grid span {
    width: 7.3rem;
    height: 7.3rem;
    font-size: 5rem;
    letter-spacing: 0;
  }
}
.doctor__title-sub {
  font-size: 6.4rem;
  font-weight: 400;
  letter-spacing: 0.64rem;
  line-height: 1.6;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__title-sub {
    font-size: 4rem;
  }
}
.doctor__description {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
  max-width: 55rem;
}
.doctor__name {
  font-size: 2.9rem;
  font-weight: 600;
  letter-spacing: 0.145rem;
  line-height: 1.8;
  display: flex;
  align-items: baseline;
  gap: 3.2rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__name {
    font-size: 2.2rem;
    gap: 1.6rem;
    align-self: flex-end;
  }
}
.doctor__name .big {
  font-size: 3.8rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__name .big {
    font-size: 3.2rem;
  }
}
.doctor__image {
  flex-shrink: 0;
  width: 75rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__image {
    display: contents;
  }
}
.doctor__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__image img {
    order: -1;
    max-width: 41.6rem;
    width: 41.6rem;
  }
}
.doctor__credentials {
  max-width: 120rem;
  margin: 6.4rem auto 0;
  display: flex;
  gap: 2.4rem 6rem;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__credentials {
    flex-direction: column;
    gap: 4rem;
    margin: 4rem auto 0;
  }
}
.doctor__credential {
  width: 54rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__credential {
    width: 100%;
  }
}
.doctor__credential-title {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.22rem;
  line-height: 1.55;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__credential-title {
    font-size: 1.8rem;
  }
}
.doctor__credential-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--color-blue-light);
}
.doctor__credential-list {
  margin-top: 0.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__credential-list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
}
.doctor__credential-list li {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.08rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__credential-list li {
    line-height: 1.8;
  }
}
.doctor__message {
  max-width: 120rem;
  margin: 6.4rem auto 0;
  background: var(--color-accent-purple);
  display: flex;
  gap: 8rem;
  align-items: flex-start;
  padding: 8rem 7.2rem;
  overflow: hidden;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__message {
    margin: 4.8rem auto 0;
    padding: 4.8rem 2.4rem;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.doctor__message-text {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
  width: 53.5rem;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__message-text {
    display: contents;
  }
}
.doctor__message-text h3 {
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0.16rem;
  line-height: 1.5;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__message-text h3 {
    font-size: 2.2rem;
    order: -1;
  }
}
.doctor__message-body {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.08rem;
}
.doctor__message-img {
  flex-shrink: 0;
  width: 44.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .doctor__message-img {
    width: 100%;
    order: -1;
  }
}
.doctor__message-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.treatment {
  padding: 10rem 0 8rem;
  background: #fff;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment {
    padding: 6.4rem 2.4rem 7.2rem;
  }
}
.treatment__inner {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  max-width: 120rem;
  margin: 0 auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__inner {
    gap: 7.2rem;
  }
}
.treatment__top {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__top {
    align-items: center;
  }
}
.treatment__label {
  width: 113.5rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__label {
    width: 30rem;
  }
}
.treatment__label img {
  width: 100%;
  height: auto;
}
.treatment__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__header {
    flex-direction: column;
    gap: 4rem;
    align-items: center;
  }
}
.treatment__header h2 {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  line-height: 1;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__header h2 {
    font-size: 3.2rem;
  }
}
.treatment__header h2 .big {
  font-size: 6rem;
  font-weight: 600;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__header h2 .big {
    font-size: 4rem;
  }
}
.treatment__description {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
  width: 65rem;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__description {
    width: 100%;
  }
}
.treatment__steps {
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__steps {
    flex-direction: column;
    gap: 4.8rem;
  }
}
.treatment__steps::before {
  content: "";
  width: 80%;
  position: absolute;
  top: 2.65rem;
  left: 50%;
  translate: -50% 0;
  border-top: 2px dashed #a5a5a5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__steps::before {
    width: 1px;
    height: 85%;
    position: absolute;
    top: 4rem;
    left: 9rem;
    translate: -50% 0;
    border-left: 1px dashed #a5a5a5;
  }
}
.treatment__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 21.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__step {
    width: 100%;
    flex-direction: row;
    position: relative;
  }
}
.treatment__number {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.3rem;
  height: 5.3rem;
  border-radius: 50%;
  background: var(--color-blue);
  color: #fff;
  font-size: 2rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__number {
    position: absolute;
    top: -2.5rem;
    left: 0;
  }
}
.treatment__step img {
  width: 100%;
  height: 16rem;
  object-fit: cover;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .treatment__step img {
    width: 18rem;
    height: auto;
  }
}
.treatment__step p {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
}

.question {
  background: var(--color-blue-bg);
  padding: 14rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question {
    padding: 6.4rem 2.4rem 7.2rem;
  }
}
.question__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 120rem;
  margin: 0 auto;
}
.question__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  max-width: 85rem;
  margin-bottom: 8rem;
}
.question__label {
  display: block;
  width: 49.1rem;
  height: auto;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__label {
    width: 33rem;
  }
}
.question__title {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  line-height: 1.6;
  text-align: center;
  color: var(--font-color);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__title {
    font-size: 3.2rem;
  }
}
.question__title span {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.question__title .big {
  font-size: 6rem;
  font-weight: 600;
  letter-spacing: 0.6rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__title .big {
    font-size: 4rem;
  }
}
.question__description {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
  color: var(--font-color);
}
.question__grid {
  display: flex;
  flex-direction: column;
  gap: 8.8rem;
  width: 100%;
  margin-bottom: 12rem;
}
.question__row {
  display: flex;
  justify-content: space-between;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__row {
    flex-direction: column;
    gap: 8.8rem;
  }
}
.question__row--lg {
  gap: 2.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__row--lg {
    gap: 8.8rem;
  }
}
.question__row--sm {
  gap: 2.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__row--sm {
    gap: 8.8rem;
  }
}
.question__card {
  display: flex;
  gap: 1.6rem;
}
.question__card--lg {
  flex: 1;
}
.question__card--sm {
  flex: 1;
}
.question__reason {
  display: block;
  flex-shrink: 0;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__reason {
    height: 10rem;
  }
}
.question__card--lg .question__reason {
  flex: none;
  width: 1.7rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__card--lg .question__reason {
    width: 1.4rem;
  }
}
.question__card--sm .question__reason {
  width: 1.4rem;
}
.question__card .question__reason-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  flex-shrink: 0;
}
.question__reason-line {
  width: 1px;
  flex: 1;
  background: #a2bfdf;
}
.question__card-body {
  position: relative;
  flex: 1;
}
.question__card-body img {
  width: 100%;
  height: auto;
  display: block;
}
.question__caption {
  width: max-content;
  position: absolute;
  bottom: -3.8rem;
  left: 50%;
  translate: -50% 0;
  background: #fff;
  padding: 1.6rem 2rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  text-align: center;
  color: var(--font-color);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__caption {
    font-size: 1.8rem;
    translate: -51% 0;
  }
}
.question__card--sm .question__caption {
  bottom: -4.8rem;
}
.question__conclusion {
  text-align: center;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.32rem;
  color: var(--font-color);
  margin-bottom: 7.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__conclusion {
    font-size: 2.8rem;
    margin-bottom: 2.4rem;
  }
}
.question__conclusion p {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.question__highlight {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: 0.4rem;
  color: #fff;
  background: var(--color-blue);
  padding: 0.2rem 0.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__highlight {
    font-size: 2.8rem;
    padding: 0.8rem;
  }
}
.question__therefore {
  text-align: center;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 3.2rem;
  color: var(--color-blue);
  letter-spacing: 0.32rem;
  line-height: 1.3;
  position: relative;
  z-index: 0;
  width: 30rem;
  height: 7.5rem;
  display: grid;
  place-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .question__therefore {
    width: 29rem;
    height: 8.4rem;
    font-size: 2.8rem;
  }
}
.question__therefore::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #d8e1eb;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.question__therefore p {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}

.microscope {
  position: relative;
  color: #fff;
  padding: 15rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope {
    padding: 0 2.4rem 7.4rem;
    overflow-x: clip;
  }
}
.microscope::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/root_microscope_bg.webp) center/cover no-repeat;
  z-index: -2;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope::before {
    background-image: url(../images/root_microscope_bg_sp.webp);
  }
}
.microscope__bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 68rem;
  z-index: -1;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__bg {
    position: unset;
    width: 29rem;
    margin-inline: auto -2.4rem;
  }
}
.microscope__bg img {
  width: 100%;
  height: auto;
}
.microscope__label {
  position: absolute;
  top: -21rem;
  left: 0;
  width: 93.8rem;
  height: auto;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__label {
    top: -24rem;
    left: -1.6rem;
    width: 8.6rem;
  }
}
.microscope__inner {
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  max-width: 120rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__inner {
    gap: 4rem;
  }
}
.microscope__text {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  max-width: 75rem;
}
.microscope__text h2 {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__text h2 {
    font-size: 2.8rem;
  }
}
.microscope__text h2 .big {
  font-size: 6rem;
  font-weight: 600;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__text h2 .big {
    font-size: 4rem;
  }
}
.microscope__desc {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.microscope__desc p {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
}
.microscope__comparison {
  display: flex;
  gap: 8rem;
  align-items: flex-start;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__comparison {
    flex-direction: column;
    gap: 4rem;
  }
}
.microscope__comparison-text {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  width: 50rem;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__comparison-text {
    width: 100%;
    gap: 2.4rem;
  }
}
.microscope__comparison-title {
  display: flex;
  gap: 2.4rem;
  align-items: flex-start;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__comparison-title {
    gap: 1.6rem;
  }
}
.microscope__comparison-title h3 {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  line-height: 1.4;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__comparison-title h3 {
    font-size: 3.2rem;
  }
}
.microscope__comparison-line {
  width: 1px;
  align-self: stretch;
  background: #fff;
  flex-shrink: 0;
}
.microscope__images {
  display: flex;
  gap: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__images {
    gap: 2.4rem;
  }
}
.microscope__img-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  width: 28rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__img-block {
    width: calc((100% - 2.4rem) / 2);
    gap: 0.8rem;
  }
}
.microscope__img-block img {
  width: 28rem;
  height: 28rem;
  object-fit: cover;
  border-radius: 50%;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__img-block img {
    width: 100%;
    height: auto;
  }
}
.microscope__img-block p {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.12rem;
  line-height: 1.5;
  text-align: center;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .microscope__img-block p {
    font-size: 1.8rem;
  }
}

.commitment {
  position: relative;
  z-index: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment {
    padding: 6.4rem 2.4rem 7.2rem;
  }
}
.commitment__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.commitment__bg img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.commitment__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid img {
    padding-bottom: 1.6rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid h2 {
    padding-block: 3.2rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid h3 {
    padding-bottom: 0.8rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid p {
    padding-bottom: 4rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-1 {
    order: -20;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-2 {
    order: -19;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-3 {
    order: -18;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-4 {
    order: -17;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-5 {
    order: -16;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-6 {
    order: -15;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-7 {
    order: -14;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-8 {
    order: -13;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-9 {
    order: -12;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-10 {
    order: -11;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-11 {
    order: -10;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-12 {
    order: -9;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-13 {
    order: -8;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-14 {
    order: -7;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-15 {
    order: -6;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-16 {
    order: -5;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-17 {
    order: -4;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-18 {
    order: -3;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-19 {
    order: -2;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-20 {
    order: -1;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__grid .--index-21 {
    order: 0;
  }
}
.commitment__label {
  display: block;
  width: 70.6rem;
  height: auto;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__label {
    width: 35rem;
  }
}
.commitment__desc {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
}
.commitment__img {
  overflow: hidden;
}
.commitment__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.commitment__img--rounded {
  display: grid;
  place-items: center;
  background: #fff;
}
.commitment__img--rounded img {
  border-radius: 19.6rem;
  width: auto;
  height: auto;
  max-width: 54.5rem;
  max-height: 43.4rem;
}
.commitment__text {
  padding: 8.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.4rem;
  position: relative;
  overflow: hidden;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__text {
    display: contents;
  }
}
@media screen and (max-width: 1700px) {
  .commitment__text.left {
    padding: 8.8rem 8.8rem 8.8rem 13rem;
  }
}
@media screen and (max-width: 1440px) {
  .commitment__text.left {
    padding: 8.8rem 7.2rem 8.8rem 13rem;
  }
}
@media screen and (max-width: 1700px) {
  .commitment__text.right {
    padding: 8.8rem 13rem 8.8rem 8.8rem;
  }
}
@media screen and (max-width: 1440px) {
  .commitment__text.right {
    padding: 8.8rem 13rem 8.8rem 7.2rem;
  }
}
.commitment__text h2 {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  line-height: 1.6;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__text h2 {
    font-size: 3.2rem;
  }
}
.commitment__text h2 .big {
  font-size: 6rem;
  letter-spacing: 0.6rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-weight: 600;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__text h2 .big {
    font-size: 4rem;
  }
}
.commitment__text h2 .inline {
  display: inline-block;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.commitment__text h3 {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__text h3 {
    font-size: 2.4rem;
  }
}
.commitment__text p {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
  max-width: 65rem;
  position: relative;
}
.commitment__num {
  position: absolute;
  right: 0;
  bottom: -11.6rem;
  width: 35rem;
  height: auto;
  mix-blend-mode: multiply;
  pointer-events: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .commitment__num {
    right: 0;
    bottom: 3.2rem;
    width: 19rem;
  }
}
.commitment__num.left {
  right: auto;
  left: 0;
}

.cases {
  padding: 14rem 0 10rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases {
    padding: 6.4rem 2.4rem 7.2rem;
    gap: 3.2rem;
  }
}
.cases__header {
  display: flex;
  align-items: flex-end;
  gap: 4.8rem;
  min-width: 120rem;
  margin-inline: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__header {
    flex-direction: column;
    min-width: 100%;
    align-items: center;
    gap: 3.2rem;
  }
}
.cases__label {
  display: block;
  width: 25.4rem;
  height: auto;
  mix-blend-mode: multiply;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__label {
    width: 17.6rem;
  }
}
.cases h2 {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  line-height: 1;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases h2 {
    font-size: 3.2rem;
  }
}
.cases__cards {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__cards {
    grid-template-columns: 1fr;
    gap: 4.8rem;
  }
}
.cases__card {
  background: var(--color-blue-bg);
  display: flex;
  flex-direction: column;
  padding: 8rem 6.4rem;
  height: fit-content;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__card {
    padding: 5.6rem 2rem;
  }
}
.cases__card h3 {
  font-size: 2.2rem;
  font-weight: 400;
  letter-spacing: 0.11rem;
  line-height: 1.5;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__card h3 {
    -webkit-line-clamp: 2;
  }
}
.cases__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 2.4rem;
}
.cases__images {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.2rem;
  width: 100%;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__images {
    flex-direction: column;
    gap: 1.6rem;
  }
}
.cases__img-wrap img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.cases__tag {
  display: block;
  text-align: center;
  padding: 0.8rem 1.6rem 0.4rem;
  font-size: 1.8rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  color: #fff;
  letter-spacing: 0.18rem;
  line-height: 1.6;
}
.cases__tag--before {
  background: var(--color-blue-light);
}
.cases__tag--after {
  background: var(--color-blue);
}
.cases__arrow {
  display: block;
  width: 2rem;
  height: 4rem;
  background: #d8e1eb;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__arrow {
    rotate: 90deg;
  }
}
.cases__detail {
  display: flex;
  flex-direction: column-reverse;
  border: 1px solid var(--color-blue);
}
.cases__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  padding: 1.6rem;
  cursor: pointer;
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  color: var(--color-blue);
  letter-spacing: 0.16rem;
  list-style: none;
  transition: opacity 0.3s;
}
.cases__toggle::-webkit-details-marker {
  display: none;
}
.cases__toggle::after {
  content: "+";
  font-size: 2rem;
  line-height: 1;
}
@media (hover: hover) {
  .cases__toggle:hover {
    opacity: 0.7;
  }
}
.cases__detail[open] .cases__toggle::after {
  content: "−";
}
.cases__detail[open] .cases__toggle {
  padding: 2.4rem;
}
.cases__detail-list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 4.8rem 4.8rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__detail-list {
    padding: 3.2rem 2rem 0;
  }
}
.cases__detail-row {
  display: flex;
  gap: 3.2rem;
  align-items: flex-start;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid #e3e3e3;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__detail-row {
    flex-direction: column;
    gap: 0.8rem;
  }
}
.cases__detail-row dt {
  width: 15rem;
  flex-shrink: 0;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
  padding: 0.5rem 0.8rem 0.3rem;
  background: #fff;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .cases__detail-row dt {
    width: auto;
    min-width: 8rem;
    padding: 0.5rem 1.6rem 0.3rem;
  }
}
.cases__detail-row dd {
  flex: 1;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.08rem;
}

.difference {
  position: relative;
  overflow: hidden;
  color: #fff;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference {
    padding: 6.4rem 2.4rem 0;
  }
}
.difference::before, .difference::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  z-index: 0;
}
.difference::before {
  left: 0;
  background: linear-gradient(to bottom, #1e418f, #6498bf);
}
.difference::after {
  right: 0;
  background: linear-gradient(to bottom, #4782ae, #9bb9d6);
}
.difference__deco {
  position: absolute;
  top: 0;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 29rem;
  letter-spacing: 2rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.06);
  writing-mode: vertical-rl;
  z-index: 1;
  pointer-events: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__deco {
    font-size: 8rem;
    letter-spacing: 0.05em;
  }
}
.difference__deco--left {
  left: 0;
}
.difference__deco--right {
  right: 0;
}
.difference__inner {
  position: relative;
  z-index: 2;
  max-width: 120rem;
  margin: 0 auto;
  padding: 23.2rem 0 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__inner {
    padding: 0;
  }
}
.difference__label {
  display: block;
  margin: 0 auto 4.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__label {
    width: 38rem;
    margin: 0 auto 3.2rem;
  }
}
.difference__header {
  max-width: 85rem;
  margin: 0 auto 8.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__header {
    margin: 0 auto 4.8rem;
  }
}
.difference__header h2 {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0.32rem;
  line-height: 1.6;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.difference__header h2 .big {
  font-size: 6rem;
  letter-spacing: 0.4rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-weight: 600;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__header h2 .big {
    font-size: 4rem;
  }
}
.difference__header p {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
  margin-top: 4.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__header p {
    margin-top: 2.4rem;
  }
}
.difference__comparison {
  display: flex;
  gap: 8rem;
  margin-bottom: 8.8rem;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__comparison {
    flex-direction: column;
    gap: 4rem;
    margin-bottom: 6.4rem;
  }
}
.difference__col {
  flex: 1;
  position: relative;
}
.difference__col-title {
  display: flex;
  align-items: center;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0.32rem;
  line-height: 1.4;
  border-left: 2px solid #5584b8;
  padding-left: 1.6rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__col-title {
    font-size: 2.2rem;
  }
}
.difference__col-title .big {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 4rem;
  letter-spacing: 0.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__col-title .big {
    font-size: 2.8rem;
  }
}
.difference__badge {
  position: absolute;
  top: -5.7rem;
  right: 3.8rem;
  width: 17.3rem;
  height: 17.3rem;
  border-radius: 50%;
  background: rgba(151, 137, 105, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 3.8rem;
  font-weight: 600;
  letter-spacing: 0.38rem;
  line-height: 1.13;
  text-align: center;
  z-index: 3;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__badge {
    font-size: 2.4rem;
    height: 11.5rem;
    width: 11.5rem;
    top: -3.5rem;
    right: 2.8rem;
  }
}
.difference__badge::after {
  content: "";
  border: 1px solid #fff;
  position: absolute;
  inset: 1rem;
  border-radius: 50%;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__badge::after {
    inset: 0.6rem;
  }
}
.difference__content {
  background: #fff;
  padding: 5.6rem 4rem;
  margin-top: 1.6rem;
  color: var(--font-color);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__content {
    padding: 4rem 2.4rem;
  }
}
.difference__list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.difference__list li {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.09rem;
  position: relative;
  padding-left: 2.4rem;
}
.difference__list li::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background: #c8c8c8;
  position: absolute;
  left: 0;
  top: 1rem;
}
.difference__list li span {
  text-decoration: underline;
}
.difference__wrap {
  display: contents;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__wrap {
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
}
.difference__success-rate {
  text-align: center;
  margin-bottom: 4.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__success-rate {
    display: contents;
  }
}
.difference__success-rate h3 {
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: 0.4rem;
  line-height: 1.5;
  margin-bottom: 4.8rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__success-rate h3 {
    order: 1;
    margin-bottom: 0;
    font-size: 2.4rem;
  }
}
.difference__rate-grid {
  display: flex;
  gap: 10rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-grid {
    display: contents;
  }
}
.difference__rate-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-col {
    font-size: 2rem;
    height: 6rem;
  }
  .difference__rate-col:nth-of-type(1) {
    order: 2;
  }
  .difference__rate-col:nth-of-type(2) {
    order: 4;
  }
}
.difference__rate-header {
  position: relative;
  height: 9.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 3.2rem;
  letter-spacing: 0.32rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-header {
    font-size: 2rem;
    height: 6rem;
  }
}
.difference__rate-header .big {
  font-size: 4rem;
  letter-spacing: 0.4rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-header .big {
    font-size: 2.4rem;
  }
}
.difference__rate-header::before, .difference__rate-header::after {
  content: "";
  position: absolute;
  border: 1px solid #f4f8fc;
}
.difference__rate-header::before {
  inset: 0;
  width: 54.2rem;
  height: 8.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-header::before {
    width: 100%;
    height: 6rem;
  }
}
.difference__rate-header::after {
  top: 0.8rem;
  left: 0.8rem;
  width: 54.2rem;
  height: 8.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-header::after {
    top: -0.6rem;
    left: -0.6rem;
    width: 100%;
    height: 6rem;
  }
}
.difference__rate-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  height: 20rem;
  padding: 3.2rem 2.4rem 2.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-card {
    flex-direction: row;
    justify-content: space-between;
    height: auto;
    padding: 2.4rem 2rem;
  }
}
.difference__rate-card--dark {
  background: #003888;
}
.difference__rate-card--mid {
  background: #3773a2;
  flex: 1;
}
.difference__rate-label {
  font-size: 2.8rem;
  letter-spacing: 0.14rem;
  line-height: 1.4;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-label {
    font-size: 1.6rem;
    text-align: left;
  }
}
.difference__rate-value {
  font-size: 4.7rem;
  letter-spacing: 0.235rem;
  line-height: 1.4;
  text-align: center;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-value {
    font-size: 2.8rem;
  }
}
.difference__rate-value .num {
  font-size: 7rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-value .num {
    font-size: 4.8rem;
  }
}
.difference__images {
  display: flex;
  gap: 10rem;
  margin-bottom: 6.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__images {
    display: contents;
  }
}
.difference__images img {
  width: 100%;
  height: auto;
  display: block;
}
.difference__images p {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.08rem;
  margin-top: 2.4rem;
}
.difference__img-col {
  flex: 1;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__img-col:nth-of-type(1) {
    order: 3;
  }
  .difference__img-col:nth-of-type(2) {
    order: 5;
  }
}
.difference__rate-source {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.07rem;
  text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__rate-source {
    text-align: left;
  }
}
.difference__therefore {
  text-align: center;
  padding: 9.4rem 0 0;
  display: grid;
  place-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__therefore {
    padding: 7.2rem 0 0;
  }
}
.difference__therefore p {
  font-size: 3.2rem;
  color: #5584b8;
  letter-spacing: 0.32rem;
  position: relative;
  display: inline-block;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  min-width: 30rem;
  max-width: 40rem;
  min-height: 7.5rem;
  display: grid;
  place-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__therefore p {
    font-size: 2.8rem;
  }
}
.difference__therefore p::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #d8e1eb;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  opacity: 0.8;
}
.difference__recommendation {
  margin-top: -6rem;
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 12.4rem 0 10rem;
  background: #fff;
  color: var(--font-color);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__recommendation {
    width: 100vw;
    margin-left: -2.4rem;
    padding: 12rem 2.4rem 8rem;
  }
}
.difference__recommendation p {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
  line-height: 1.8;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .difference__recommendation p {
    font-size: 2.5rem;
  }
}
.difference__highlight {
  background: #5584b8;
  font-weight: 600;
  color: var(--base-color);
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  padding: 0.8rem;
}

.price {
  background: #f4f8fc;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price {
    padding: 6.4rem 2.4rem 7.2rem;
  }
}
.price__inner {
  max-width: 120rem;
  margin: 0 auto;
  padding: 14rem 0 12rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__inner {
    padding: 0;
  }
}
.price__header {
  text-align: center;
  margin-bottom: 8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__header {
    margin-bottom: 4.8rem;
  }
}
.price__label {
  display: block;
  margin: 0 auto 4.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__label {
    width: 17.8rem;
    margin: 0 auto 4rem;
  }
}
.price h2 {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 4rem;
  letter-spacing: 0.6rem;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price h2 {
    font-size: 3.2rem;
  }
}
.price__col-header {
  background: #5584b8;
  color: #fff;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.22rem;
  text-align: center;
  padding: 0.8rem 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__col-header {
    padding: 0.4rem 1rem;
  }
}
.price__amount {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 2.5rem;
  text-align: center;
  line-height: 1.4;
  color: #000;
}
.price__amount .big {
  font-size: 3.2rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.price__sub {
  font-size: 2.4rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.price__yen {
  font-size: 2.5rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.price__tax {
  font-size: 1.6rem;
  margin-left: 0.2rem;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
}
.price__card {
  background: #fff;
  padding: 5.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__card {
    padding: 3.2rem 4.8rem;
  }
}
.price__cols {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__cols {
    flex-direction: column;
  }
}
.price__col {
  flex: 1;
  max-width: 32rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
.price__col .price__col-header {
  width: 100%;
}
.price__plus {
  font-size: 6.4rem;
  color: #a2bfdf;
  text-align: center;
  padding: 5.6rem 0;
  line-height: 1;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__plus {
    padding: 1.6rem;
  }
}
.price__card--sub {
  display: flex;
  align-items: center;
  gap: 7.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__card--sub {
    flex-direction: column;
    padding: 3.2rem 4.8rem;
    gap: 3.2rem;
  }
}
.price__sub-row {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__sub-row {
    flex-direction: column;
    gap: 1.6rem;
  }
}
.price__sub-row .price__col-header {
  width: 32rem;
  flex-shrink: 0;
}
.price__sep {
  width: 1px;
  height: 5.5rem;
  background: #a5a5a5;
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__sep {
    width: 100%;
    height: 1px;
  }
}
.price__note {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.08rem;
  color: #000;
  max-width: 32rem;
}
.price__extras {
  display: flex;
  justify-content: space-between;
  gap: 6rem;
  margin-top: 8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__extras {
    margin-top: 4rem;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.price__extra {
  flex: 1;
  max-width: 36rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__extra {
    width: 100%;
    max-width: 100%;
  }
}
.price__extra .price__amount {
  background: #fff;
  padding: 1.8rem 2.8rem 1.6rem;
}
.price__extra-header {
  background: #978969;
  color: #fff;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.22rem;
  text-align: center;
  padding: 1rem;
  line-height: 1.6;
}
.price__extra-sub {
  font-size: 1.6rem;
  letter-spacing: 0.16rem;
}
.price__consent {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.09rem;
  line-height: 1.8;
  text-align: center;
  margin-top: 5.6rem;
  color: #000;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .price__consent {
    font-size: 1.6rem;
    text-align: justify;
    margin-top: 4rem;
  }
}

.faq {
  background: #fff;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq {
    padding: 6.4rem 2.4rem 7.2rem;
  }
}
.faq__inner {
  max-width: 120rem;
  margin: 0 auto;
  padding: 14rem 0 12rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq__inner {
    padding: 0;
  }
}
.faq__header {
  text-align: center;
  margin-bottom: 8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq__header {
    margin-bottom: 3.2rem;
  }
}
.faq__label {
  display: block;
  margin: 0 auto 4.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq__label {
    width: 16rem;
    margin: 0 auto 2.4rem;
  }
}
.faq h2 {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "MS PMincho", "MS Mincho", serif;
  font-size: 4rem;
  letter-spacing: 0.6rem;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq h2 {
    font-size: 3.2rem;
  }
}
.faq__grid {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4.5rem 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq__grid {
    flex-direction: column;
  }
}
.faq__item {
  width: calc(50% - 3rem);
  color: #fff;
  padding: 4rem 4.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq__item {
    padding: 3.2rem 2.4rem;
    width: 100%;
  }
}
.faq__item:nth-child(odd) {
  background: #5584b8;
}
.faq__item:nth-child(even) {
  background: #2b5a8e;
}
.faq__item > summary {
  list-style: none;
}
.faq__item > summary::-webkit-details-marker {
  display: none;
}
.faq__question {
  cursor: pointer;
}
.faq__q-row {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  padding-bottom: 2.4rem;
  border-bottom: 2px dashed rgba(255, 255, 255, 0.3);
}
.faq__q-row h3 {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.1rem;
}
.faq__q {
  flex-shrink: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq__q {
    width: 3.2rem;
  }
}
.faq__answer {
  padding-top: 2.4rem;
}
.faq__a-row {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
}
.faq__a-row p {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.08rem;
}
.faq__a {
  flex-shrink: 0;
  margin-top: 0.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .faq__a {
    width: 3.2rem;
  }
}
.faq__close {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
  margin: 2.4rem auto 0;
  padding: 0;
  background: none;
  border: none;
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  color: #fff;
  cursor: pointer;
  letter-spacing: 0.08rem;
}
.faq__chevron {
  display: block;
  width: 2.5rem;
  height: 1.3rem;
  position: relative;
}
.faq__chevron::before, .faq__chevron::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1.4rem;
  height: 2px;
  background: #fff;
}
.faq__chevron::before {
  left: 0.1rem;
  rotate: -40deg;
}
.faq__chevron::after {
  right: 0.1rem;
  rotate: 40deg;
}
.faq__item:not([open]) .faq__question::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 1.3rem;
  margin: 4.2rem auto 0;
  background: url(../images/icon_faq.svg) center/contain no-repeat;
}