@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&display=swap");
/*! destyle.css v1.0.14 | MIT License | https://github.com/nicolas-cusan/destyle.css */
* {
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: inherit;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}


h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
  font-family: var(--sub-font);
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

.l-main p strong{
    color:#eb9800;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

select::-ms-expand {
  display: none;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable] {
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

:root {
  --base-font: "Noto Sans JP", sans-serif;
  --sub-font: "fot-tsukuardgothic-std", sans-serif;
  --en-font: "League Spartan", serif;
  --base-color: #393939;
  --main: #B2DDFB;
  --main-light: #FAF6F0;
  --main-dark: #376AB2;
  --sub: #ECA914;
  --sub-light: #EBF7FD;
  --sub-dark: #946134;
  --gray: #CECECE;
  --gray-light: #F8F7F6;
  --gray-dark: #A6A6A6;
  --gray-black: #444444;
  --white: #FFFFFF;
  --black: #000000;
  --link: #2DABF1;
  --error: #F25F5F;
  --variation1: #ffd9dc;
  --variation2: #ffe0cc;
  --variation3: #fdefe6;
}

.editor-styles-wrapper,
html {
  font-size: 62.5% !important;
  scroll-behavior: smooth !important;
}
.l-sitemap__nav02wrap{
font-weight:500;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper,
  html {
    font-size: 2.66vw !important;
  }
}

.editor-styles-wrapper,
html :where(.wp-block) {
  max-width: 980px !important;
}

.editor-styles-wrapper,
body {
  font-feature-settings: "palt" !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  color: var(--base-color) !important;
  font-family: var(--base-font) !important;
  font-size: 1.6rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: 0.08em !important;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper,
  body {
    -webkit-text-size-adjust: 100% !important;
    margin-bottom: 6.4rem !important;
    overflow-x: hidden !important;
  }
}

body.home {
  background: url(../img/body-bg.png) repeat top left;
}

a {
  transition: all 0.5s;
}

/*
@include pc {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}
*/
.pc {
  display: block;
}
@media screen and (max-width: 840px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 840px) {
  .sp {
    display: block;
  }
}

img {
  vertical-align: middle;
}

.hamburger {
  position: fixed;
  top: 1.4rem;
  right: 4rem;
  width: 7.2rem;
  height: 7.2rem;
  cursor: pointer;
  z-index: 400;
  transition: all 0.5s;
  background: var(--sub);
  border-radius: 50%;
}
@media screen and (max-width: 840px) {
  .hamburger {
    top: 1.1rem;
    right: 1.1rem;
    z-index: 500;
  }
}

.hamburger__line {
  position: absolute;
  width: 26px;
  height: 2px;
  left: 50%;
  transform: translate(-50%, 0);
  background-color: var(--white);
  transition: all 0.5s;
}

.hamburger__line--1 {
  top: 2.3rem;
}

.hamburger__line--2 {
  top: 3rem;
}

.hamburger__line--3 {
  top: 3.7rem;
}

.hamburger__menu {
  color: var(--white);
  text-align: center;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
  position: absolute;
  left: 0;
  bottom: 1.6rem;
  width: 100%;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
  top: 3rem;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
}

.open .hamburger__line--2 {
  opacity: 0;
}

.open .hamburger__line--3 {
  top: 3rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.sp-nav {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #DEEFF0;
  transition: all 0.5s;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0s linear 0.5s;
  z-index: 399;
  padding: 0;
}
@media screen and (max-width: 840px) {
  .sp-nav {
    background: var(--main-light);
    z-index: 401;
  }
}
.sp-nav__logo {
  position: fixed;
  top: 0;
  left: 9.8rem;
  z-index: 400;
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 840px) {
  .sp-nav__logo {
    display: none;
  }
}
.sp-nav__logo a:hover {
  opacity: 0.7;
}
.sp-nav__logo p {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.sp-nav__logo p span {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

/*ハンバーガーがクリックされたら右からスライド*/
.open .sp-nav {
  opacity: 1;
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.lightbox {
  top: 50% !important;
  transform: translateY(-50%) !important;
  position: fixed !important;
}

.lightboxOverlay {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50) !important;
  opacity: 0.5 !important;
}

.lb-data .lb-number {
  color: var(--white) !important;
}

@media screen and (min-width: 840px) {
  .lightbox__link {
    pointer-events: none;
  }
}
.caseSwiper--home .swiper {
  padding: 0;
  max-width: 91rem;
  width: 100%;
  margin: 0 auto;
}
.caseSwiper--home .swiper-buttons {
  width: 68.2rem;
  margin: 0 auto;
  position: relative;
  padding: 0 3.6rem;
}
@media screen and (max-width: 840px) {
  .caseSwiper--home .swiper-buttons {
    width: 100%;
    padding: 0;
  }
}
.caseSwiper--home .swiper-button-next,
.caseSwiper--home .swiper-button-prev {
  color: var(--white);
  background: var(--main-dark);
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  transition: all 0.5s;
}
@media screen and (max-width: 840px) {
  .caseSwiper--home .swiper-button-next,
  .caseSwiper--home .swiper-button-prev {
    background: var(--base-color);
  }
}
.caseSwiper--home .swiper-button-next:hover,
.caseSwiper--home .swiper-button-prev:hover {
  opacity: 0.7;
}
.caseSwiper--home .swiper-button-next:after,
.caseSwiper--home .swiper-button-prev:after {
  font-size: 1rem;
  font-weight: 600;
}
.caseSwiper--home .swiper-button-next,
.caseSwiper--home .swiper-rtl .swiper-button-prev {
  right: 0 !important;
  top: 11rem !important;
}
@media screen and (max-width: 840px) {
  .caseSwiper--home .swiper-button-next,
  .caseSwiper--home .swiper-rtl .swiper-button-prev {
    top: 21.8rem !important;
  }
}
.caseSwiper--home .swiper-button-prev,
.caseSwiper--home .swiper-rtl .swiper-button-next {
  left: 0 !important;
  top: 11rem !important;
}
@media screen and (max-width: 840px) {
  .caseSwiper--home .swiper-button-prev,
  .caseSwiper--home .swiper-rtl .swiper-button-next {
    top: 21.8rem !important;
  }
}

.caseSwiper .swiper {
  padding: 1rem 1rem;
  max-width: 86rem;
  width: 100%;
  margin: 0 auto;
}
.caseSwiper .swiper-buttons {
  width: 90rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 840px) {
  .caseSwiper .swiper-buttons {
    width: 100%;
  }
}
.caseSwiper .swiper-button-next,
.caseSwiper .swiper-button-prev {
  color: var(--white);
      background: var(--sub);
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  transition: all 0.5s;
}
.caseSwiper .swiper-button-next:hover,
.caseSwiper .swiper-button-prev:hover {
  opacity: 0.7;
}
.caseSwiper .swiper-button-next:after,
.caseSwiper .swiper-button-prev:after {
  font-size: 1.4rem;
  font-weight: 600;
}

.noSwiper--case {
  display: flex;
  justify-content: center;
  gap: 0 2.4rem;
  flex-wrap: wrap;
  max-width: 84rem;
  width: 100%;
  margin: 0 auto;
}
.noSwiper--case .c-card {
  width: calc((100% - 1.8rem) / 2);
}
@media screen and (max-width: 840px) {
  .noSwiper--case .c-card {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 840px) {
  .noSwiper--case .c-card + .c-card {
    margin-top: 2.4rem;
  }
}

.blogSwiper .swiper {
  max-width: 94rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 1rem 0;
}
.blogSwiper .swiper-buttons {
  width: 108rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 840px) {
  .blogSwiper .swiper-buttons {
    width: 100%;
  }
}
.blogSwiper .swiper-button-next,
.blogSwiper .swiper-button-prev {
  color: var(--white);
  background: var(--main-dark);
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  transition: all 0.5s;
}
.blogSwiper .swiper-button-next:hover,
.blogSwiper .swiper-button-prev:hover {
  background: var(--main);
}
.blogSwiper .swiper-button-next:after,
.blogSwiper .swiper-button-prev:after {
  font-size: 1.4rem;
  font-weight: 600;
}

.noSwiper--blog {
  display: flex;
  justify-content: center;
  gap: 0 2.4rem;
  flex-wrap: wrap;
  max-width: 84rem;
  width: 100%;
  margin: 0 auto;
}
.noSwiper--blog .c-card {
  width: calc((100% - 1.8rem) / 3);
}
@media screen and (max-width: 840px) {
  .noSwiper--blog .c-card {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 840px) {
  .noSwiper--blog .c-card + .c-card {
    margin-top: 2.4rem;
  }
}

.fade-in-bottom {
  -webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

@-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
.fade-in-top {
  -webkit-animation: fade-in-top 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-top 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

@-webkit-keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
/*スクロールダウン全体の場所*/
.scrolldown2 {
  position: relative;
  top: -18.6rem;
}

/*Scrollテキストの描写*/
.scrolldown2 span {
  /*描画位置*/
  position: absolute;
  left: 1px;
  top: 0;
  transform: translate(-50%, 0);
  /*テキストの形状*/
  color: var(--gray-dark);
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 6rem;
  left: -4px;
  /*丸の形状*/
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--main-dark);
  /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
  z-index: 2;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove {
  0% {
    top: 6;
  }
  100% {
    top: 13rem;
  }
}
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
/* 線の描写 */
.scrolldown2:after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 6rem;
  left: 0;
  /*線の形状*/
  width: 0.1rem;
  height: 7rem;
  background: var(--gray);
  z-index: 1;
}

.l-main {
  width: 100%;
  overflow: hidden;
  display: block;
}

.l-globalnav {
  border-radius: 1.6rem;
  border: 0.2rem solid var(--sub);
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 122.8rem;
  height: 10rem;
  margin: 3rem auto 0 auto;
}
@media screen and (max-width: 840px) {
  .l-globalnav {
    display: none;
  }
}
.l-globalnav li {
  position: relative;
}
.l-globalnav li::after {
  content: "";
  width: 0.1rem;
  height: 1.2rem;
  background: var(--gray-dark);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.l-globalnav li:last-child::after {
  content: none;
}
.l-globalnav a {
  text-align: center;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.12em;
  padding: 0 2rem;
  display: block;
  position: relative;
	font-size: 1.4rem;
}
.l-globalnav a::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/l-globalnav-a.png) no-repeat center bottom/1.5rem auto;
  position: absolute;
  left: 50%;
  bottom: 3rem;
  transform: translate(-50%, 0);
  transition: all 0.5s;
}
.l-globalnav a:hover {
  color: var(--sub);
}
.l-globalnav a:hover::after {
  background: url(../img/l-globalnav-hover.png) no-repeat center bottom/1.5rem auto;
}
/* ----- l-parallax01 ----- */
.l-parallax01 {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
}
.l-parallax01__inner {
	
  height: 45rem;
  width: 100%;
  height: 45rem;
  background: url(../img/l-parallax1.jpg) no-repeat center center/cover;
  background-attachment: fixed;
}
@media screen and (max-width: 840px) {
  .l-parallax01__inner {
  	background: none!important;
    height: 25rem;
/*
    background: url(../img/l-parallax01-sp.jpg) no-repeat center center/cover;
    background-attachment: inherit;
*/
  }
}

/* ----- l-parallax02 ----- */
.l-parallax02 {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  position: relative;
}
.l-parallax02__inner {
  width: 100%;
  height: 45rem;
  background: url(../img/l-parallax07.jpg) no-repeat center center/cover;
  background-attachment: fixed;
}
@media screen and (max-width: 840px) {
  .l-parallax02__inner {
  background: none!important;
    height: 25rem;
/*
    height: 25rem;
    background: url(../img/l-parallax06-sp.jpg) no-repeat center center/cover;
    background-attachment: inherit;
*/
  }
}

/* ----- l-parallax03 ----- */
.l-parallax03 {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  position: relative;
}
.l-parallax03__inner {
  width: 100%;
  height: 45rem;
  background: url(../img/l-parallax03.jpg) no-repeat center center/cover;
  background-attachment: fixed;
}
@media screen and (max-width: 840px) {
  .l-parallax03__inner {
  background: none!important;
    height: 25rem;
/*
    background: url(../img/l-parallax05-sp.jpg) no-repeat center center/cover;
    background-attachment: inherit;
*/
  }
}

/* ----- l-parallax04 ----- */
.l-parallax04 {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  position: relative;
}
.l-parallax04__inner {
  width: 100%;
  height: 45rem;
  background: url(../img/l-parallax04.jpg) no-repeat center center/cover;
  background-attachment: fixed;
}
@media screen and (max-width: 840px) {
  .l-parallax04__inner {
	  background: none!important;
    height: 25rem;
/*
    height: 25rem;
    background: url(../img/l-parallax04-sp.jpg) no-repeat center center/cover;
    background-attachment: inherit;
*/
  }
}

/*
.home {
    .l-treatment {
        padding: 16.6rem 0 32.8rem 0 !important;

        @include sp {
            padding: 8rem 2rem !important;
        }
    }
}
*/
.l-treatment {
  padding: 14rem 0;
  background: var(--white);
}
@media screen and (max-width: 840px) {
  .l-treatment {
    padding: 6.4rem 2rem;
  }
}
.l-treatment__inner {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-treatment__inner {
    width: 100%;
  }
}
.l-treatment__intro {
  width: 100%;
  max-width: 60rem;
  margin: 1.6rem auto 8rem auto;
}
@media screen and (max-width: 840px) {
  .l-treatment__intro {
    margin: 2.4rem auto 5rem auto;
  }
}

.l-qa {
  padding: 16rem 0 0 0;
  /* アコーディオン */
}
@media screen and (max-width: 840px) {
  .l-qa {
    padding: 6.4rem 2rem;
  }
}
.l-qa__inner {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-qa__inner {
    width: 100%;
  }
}
.l-qa__title {
  margin-bottom: 5rem;
}
@media screen and (max-width: 840px) {
  .l-qa__title {
    margin-bottom: 3rem;
  }
}
.l-qa__box {
  padding: 4rem 5rem;
  border-radius: 1rem;
  background: var(--white);
}
@media screen and (max-width: 840px) {
  .l-qa__box {
    padding: 3rem 1.5rem;
  }
}
.l-qa__btn {
  margin-top: 5rem;
  text-align: center;
}
.l-qa .toggle_contents {
  border-bottom: 0.1rem solid var(--gray);
}
.l-qa .toggle_title {
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  position: relative;
  cursor: pointer;
  transition: all 0.5s;
  padding: 2.4rem 6.8rem 2.4rem 9.2rem;
  /*
  &.selected {
      color: var(--main-dark);

      .toggle_btn:before,
      .toggle_btn:after {
          background-color: var(--main-dark);
      }
  }
  */
}
@media screen and (max-width: 840px) {
  .l-qa .toggle_title {
    padding: 2.4rem 4.4rem 2.4rem 6.2rem;
    font-size: 1.7rem;
    line-height: 1.75;
  }
}
.l-qa .toggle_title::before {
  content: "Q";
  width: 4.2rem;
  height: 4.2rem;
  background: var(--main-dark);
  border-radius: 50%;
  color: var(--white);
  text-align: center;
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: 50%;
  left: 3rem;
  transform: translate(0, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .l-qa .toggle_title::before {
    left: 0;
  }
}
.l-qa .toggle_title:hover {
  opacity: 0.7;
}
.l-qa .toggle_btn {
  position: absolute;
  top: 50%;
  right: 3.2rem;
  transform: translateY(-50%);
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 840px) {
  .l-qa .toggle_btn {
    right: 0;
  }
}
.l-qa .toggle_btn:before,
.l-qa .toggle_btn:after {
  display: block;
  content: "";
  background-color: var(--main-dark);
  position: absolute;
  width: 1.8rem;
  height: 0.2rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-qa .toggle_btn:before {
  width: 0.2rem;
  height: 1.8rem;
}
.l-qa .toggle_title.selected .toggle_btn:before {
  content: normal;
}
.l-qa .toggle_contents dd {
  display: none;
  padding: 0 6.8rem 2.4rem 9.2rem;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-qa .toggle_contents dd {
    padding: 0 2rem 3rem 8.2rem;
    background: var(--white);
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
}
.l-qa .toggle_contents dd::before {
  content: "A";
  width: 4.2rem;
  height: 4.2rem;
  background: var(--white);
  border-radius: 50%;
  border: 2px solid var(--sub-dark);
  color: var(--sub-dark);
  text-align: center;
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: 0;
  left: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .l-qa .toggle_contents dd::before {
    left: 2rem;
    top: 0;
  }
}

.l-equipment {
  padding: 14rem 0;
  background: var(--white);
}
@media screen and (max-width: 840px) {
  .l-equipment {
    padding: 6.4rem 2rem;
  }
}
.l-equipment__intro {
  margin: 1.6rem 0 10rem 0;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .l-equipment__intro {
    margin: 2.4rem 0 5rem 0;
    text-align: left;
  }
}
.l-equipment__flexbox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-equipment__flexbox {
    width: 100%;
  }
}
.l-equipment__flexbox.rev {
  flex-direction: row-reverse;
}
.l-equipment__flexbox + .l-equipment__flexbox {
  margin-top: 10rem;
}
@media screen and (max-width: 840px) {
  .l-equipment__flexbox + .l-equipment__flexbox {
    margin-top: 5rem;
  }
}
.l-equipment__imgbox {
  width: 70rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}
@media screen and (max-width: 840px) {
  .l-equipment__imgbox {
    width: 100%;
    gap: 1rem;
  }
}
.l-equipment__imgbox li {
  position: relative;
}
.l-equipment__imgbox li:nth-child(1) {
  width: 100%;
}
.l-equipment__imgbox li:nth-child(2),
.l-equipment__imgbox li:nth-child(3) {
  width: calc((100% - 2rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-equipment__imgbox li:nth-child(2),
  .l-equipment__imgbox li:nth-child(3) {
    width: calc((100% - 1rem) / 2);
  }
}
.l-equipment__imgbox img {
  width: 100%;
  height: auto;
  border-radius: 1rem;
}
.l-equipment__imgbox .num {
  position: absolute;
  top: 0;
  left: 0;
  background: var(--white);
  text-align: center;
  width: 7rem;
  height: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--en-font);
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
.l-equipment__imgbox .num.sub {
  color: var(--sub);
}
.l-equipment__imgbox .num.main-dark {
  color: var(--main-dark);
}
@media screen and (max-width: 840px) {
  .l-equipment__imgbox .num {
    font-size: 2.6rem;
    width: 5rem;
    height: 5rem;
    padding-top: 0.6rem;
  }
}
.l-equipment__txtbox {
  width: 27rem;
}
@media screen and (max-width: 840px) {
  .l-equipment__txtbox {
    width: 100%;
    margin-top: 4rem;
  }
}
.l-equipment__txtbox .group + .group {
  margin-top: 3.2rem;
}
@media screen and (max-width: 840px) {
  .l-equipment__txtbox .group + .group {
    margin-top: 2.4rem;
  }
}
.l-equipment__txtbox h4 {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
}
.l-equipment__txtbox h4 .num {
  font-family: var(--en-font);
  font-size: 2rem;
  line-height: 1;
  padding-top: 0.4rem;
}
.l-equipment__txtbox h4 .num.sub {
  color: var(--sub);
}
.l-equipment__txtbox h4 .num.main-dark {
  color: var(--main-dark);
}
.l-equipment__txtbox h4 .ja {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-equipment__txtbox h4 .ja {
    font-size: 2rem;
  }
}
.l-equipment h3 {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
  margin-bottom: 4rem;
}
@media screen and (max-width: 840px) {
  .l-equipment h3 {
    font-size: 2.4rem;
    margin-bottom: 2.4rem;
    width: 100%;
    display: flex;
  }
}
.l-equipment h3.sub {
  color: var(--sub);
}
.l-equipment h3.main-dark {
  color: var(--main-dark);
}
.l-equipment__btn {
  text-align: center;
  margin-top: 10rem;
}
@media screen and (max-width: 840px) {
  .l-equipment__btn {
    margin-top: 5rem;
  }
}

.l-feature {
  padding: 20rem 0 0 0;
  /* ----- l-feature01 ----- */
  /* ----- l-feature02 ----- */
  /* ----- l-feature03 ----- */
  /* ----- l-feature040506 ----- */
}
@media screen and (max-width: 840px) {
  .l-feature {
    padding: 20rem 0 6.4rem 0;
    background: var(--white);
  }
}
.l-feature__intro {
  width: 82rem;
  margin: 1.6rem auto 12rem auto;
}
@media screen and (max-width: 840px) {
  .l-feature__intro {
    width: 100%;
    margin: 2.4rem auto 6rem auto;
    padding: 0 2rem;
  }
}
.l-feature01 {
  padding-bottom: 10rem;
}
@media screen and (max-width: 840px) {
  .l-feature01 {
    padding: 0 2rem 16rem 2rem;
  }
}
.l-feature01__inner {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-feature01__inner {
    width: 100%;
  }
}
.l-feature01__flexbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  gap: 5rem;
}
@media screen and (max-width: 840px) {
  .l-feature01__flexbox {
    gap: 4rem;
  }
}
.l-feature01__imgbox {
  width: 45rem;
}
@media screen and (max-width: 840px) {
  .l-feature01__imgbox {
    width: 100%;
  }
}
.l-feature01__imgbox img {
  width: 100%;
  height: auto;
  border-radius: 3rem;
}
.l-feature01__txtbox {
  width: 50rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (max-width: 840px) {
  .l-feature01__txtbox {
    width: 100%;
    gap: 2rem;
  }
}
.l-feature01__txtbox > * {
  width: 100%;
}
.l-feature01__title {
  background: url(../img/l-feature01-title-border.png) no-repeat left bottom/auto 0.3rem;
  padding: 0 0 3rem 0;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-feature01__title {
    padding: 0 0 2rem 0;
    flex-wrap: wrap;
    flex-direction: column;
    text-align: center;
    gap: 0.6rem;
  }
}
.l-feature01__title .num {
  color: var(--sub);
  font-family: var(--en-font);
  font-size: 7rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 840px) {
  .l-feature01__title .num {
    font-size: 4.8rem;
  }
}
.l-feature01__title .ja {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-feature01__title .ja {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 840px) {
  .l-feature01__btn {
    text-align: center;
  }
}
.l-feature02 {
  padding: 6.8rem 0 0 0;
  background: #DEEFF0;
}
@media screen and (max-width: 840px) {
  .l-feature02 {
    padding: 0 2rem 6.4rem 2rem;
  }
}
.l-feature02__inner {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-feature02__inner {
    width: 100%;
  }
}
.l-feature02__flexbox {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5rem;
  margin-bottom: 9.6rem;
}
@media screen and (max-width: 840px) {
  .l-feature02__flexbox {
    gap: 4rem;
    position: relative;
    top: -10rem;
    margin-bottom: -10rem;
  }
}
.l-feature02__imgbox {
  width: 45rem;
}
@media screen and (max-width: 840px) {
  .l-feature02__imgbox {
    width: 100%;
  }
}
.l-feature02__imgbox img {
  width: 100%;
  height: auto;
  border-radius: 3rem;
}
.l-feature02__txtbox {
  width: 50rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (max-width: 840px) {
  .l-feature02__txtbox {
    width: 100%;
    gap: 2rem;
  }
}
.l-feature02__txtbox > * {
  width: 100%;
}
.l-feature02__title {
  background: url(../img/l-feature02-title-border.png) no-repeat left bottom/auto 0.3rem;
  padding: 0 0 3rem 0;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-feature02__title {
    padding: 0 0 2rem 0;
    flex-wrap: wrap;
    flex-direction: column;
    text-align: center;
    gap: 0.6rem;
  }
}
.l-feature02__title .num {
  color: var(--main-dark);
  font-family: var(--en-font);
  font-size: 7rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 840px) {
  .l-feature02__title .num {
    font-size: 4.8rem;
  }
}
.l-feature02__title .ja {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-feature02__title .ja {
    font-size: 2.2rem;
  }
}
.l-feature02__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3.8rem;
  position: relative;
  bottom: -13.8rem;
  margin-top: -13.8rem;
}
@media screen and (max-width: 840px) {
  .l-feature02__list {
    gap: 2.5rem;
    position: static;
    margin-top: 7.5rem;
  }
}
.l-feature02__list li {
  width: 27rem;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-feature02__list li {
    width: 100%;
  }
}
.l-feature02__list img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 840px) {
  .l-feature02__list img {
    border-radius: 1rem;
    height: 18rem;
    object-fit: cover;
    object-position: top center;
  }
}
.l-feature02__list .baloon {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 0px 8px rgba(115, 115, 115, 0.25);
  position: absolute;
  top: -5rem;
  right: -2.6rem;
  width: 13rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-feature02__list .baloon {
    top: -2.5rem;
    right: 0;
  }
}
@media screen and (max-width: 840px) {
  .l-feature02__btn {
    text-align: center;
  }
}
.l-feature03 {
  padding: 23.8rem 0 22.4rem 0;
}
@media screen and (max-width: 840px) {
  .l-feature03 {
    padding: 6.4rem 2rem;
  }
}
.l-feature03__inner {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-feature03__inner {
    width: 100%;
  }
}
.l-feature03__title {
  background: url(../img/l-feature03-title-border.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 3rem 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.6rem;
  width: 80rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-feature03__title {
    background: url(../img/l-feature03-title-border-sp.png) no-repeat left bottom/100% 0.3rem;
    width: 100%;
    padding: 0 0 2rem 0;
    gap: 0.6rem;
  }
}
.l-feature03__title .num {
  color: var(--sub);
  font-family: var(--en-font);
  font-size: 7rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 840px) {
  .l-feature03__title .num {
    font-size: 4.8rem;
  }
}
.l-feature03__title .ja {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-feature03__title .ja {
    font-size: 2.2rem;
  }
}
.l-feature03__intro {
  width: 80rem;
  margin: 3rem auto 0 auto;
}
@media screen and (max-width: 840px) {
  .l-feature03__intro {
    width: 100%;
    margin: 2rem auto 0 auto;
  }
}
.l-feature03__figure {
  width: 100%;
  margin: 5rem auto 0 auto;
}
.l-feature03__figure img {
  width: 100%;
  height: auto;
}
.l-feature03__btn {
  margin-top: 5rem;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .l-feature03__btn {
    margin-top: 2rem;
  }
}
.l-feature040506 {
  background: #DEEFF0;
  padding: 0 0 14rem 0;
}
@media screen and (max-width: 840px) {
  .l-feature040506 {
    background: var(--white);
    padding: 0 2rem;
  }
}
.l-feature040506__inner {
  width: 100rem;
  margin: 0 auto -12.4rem auto;
  position: relative;
  top: -12.4rem;
}
@media screen and (max-width: 840px) {
  .l-feature040506__inner {
    width: 100%;
    margin: 0 auto;
    position: static;
  }
}
.l-feature040506__flexbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.6rem;
}
@media screen and (max-width: 840px) {
  .l-feature040506__flexbox {
    gap: 6rem;
  }
}
.l-feature040506__flexitem {
  width: calc((100% - 5.2rem) / 3);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (max-width: 840px) {
  .l-feature040506__flexitem {
    width: 100%;
    gap: 2rem;
  }
}
.l-feature040506__flexitem img {
  width: 100%;
  height: auto;
  border-radius: 3rem;
}
@media screen and (max-width: 840px) {
  .l-feature040506__flexitem img {
    margin-bottom: 2rem;
  }
}
.l-feature040506__title04 {
  background: url(../img/l-feature04-title-border.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 3rem 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title04 {
    padding: 0 0 2rem 0;
    gap: 0.6rem;
  }
}
.l-feature040506__title04 .num {
  color: var(--main-dark);
  font-family: var(--en-font);
  font-size: 7rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title04 .num {
    font-size: 4.8rem;
  }
}
.l-feature040506__title04 .ja {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title04 .ja {
    font-size: 2.2rem;
  }
}
.l-feature040506__title05 {
  background: url(../img/l-feature05-title-border.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 3rem 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title05 {
    background: url(../img/l-feature05-title-border-sp.png) no-repeat left bottom/100% 0.3rem;
    padding: 0 0 2rem 0;
    gap: 0.6rem;
  }
}
.l-feature040506__title05 .num {
  color: var(--main-dark);
  font-family: var(--en-font);
  font-size: 7rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title05 .num {
    color: var(--sub);
    font-size: 4.8rem;
  }
}
.l-feature040506__title05 .ja {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title05 .ja {
    font-size: 2.2rem;
  }
}
.l-feature040506__title06 {
  background: url(../img/l-feature06-title-border.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 3rem 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title06 {
    padding: 0 0 2rem 0;
    gap: 0.6rem;
  }
}
.l-feature040506__title06 .num {
  color: var(--main-dark);
  font-family: var(--en-font);
  font-size: 7rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title06 .num {
    font-size: 4.8rem;
  }
}
.l-feature040506__title06 .ja {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-feature040506__title06 .ja {
    font-size: 2.2rem;
  }
}
.l-feature040506__btn {
  text-align: center;
}

.l-about {
  background: var(--white);
  padding: 12rem 0 0 0;
}
@media screen and (max-width: 840px) {
  .l-about {
    padding: 9rem 0 0 0;
  }
}
.l-aboutGrid {
  display: grid;
  grid-template-columns: 1fr 500px 100px 296px 96px 1fr;
  grid-template-rows: 98px auto 75px 65px;
  gap: 0px 0px;
  grid-auto-flow: row;
  position: relative;
  bottom: -6.5rem;
  margin-top: -6.5rem;
}
@media screen and (max-width: 840px) {
  .l-aboutGrid {
    border-radius: 0 8rem 8rem 0;
    background: var(--main-light);
    position: static;
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
  }
}
.l-aboutGrid__bgbox {
  grid-area: 1/1/4/5;
  border-radius: 0 8rem 8rem 0;
  background: var(--main-light) url(../img/l-about-bg.png) no-repeat bottom left/44rem auto;
}
@media screen and (max-width: 840px) {
  .l-aboutGrid__bgbox {
    display: none;
  }
}
.l-aboutGrid__txtbox {
  grid-area: 2/2/3/3;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  gap: 2.8rem;
}
@media screen and (max-width: 840px) {
  .l-aboutGrid__txtbox {
    width: 100%;
    padding: 8rem 3.5rem 5rem 3.5rem;
    gap: 0;
  }
}
.l-aboutGrid__txtbox > * {
  width: 100%;
}
.l-aboutGrid__imgbox {
  grid-area: 2/4/5/7;
}
@media screen and (max-width: 840px) {
  .l-aboutGrid__imgbox {
    width: 100%;
    position: relative;
    bottom: -12.8rem;
    margin-top: -12.8rem;
  }
}
.l-aboutGrid__imgbox img {
  width: 100%;
  height: auto;
}
.l-about__tagline {
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-about__tagline {
    font-size: 1.8rem;
  }
}
.l-about__tagline span {
  background: url(../img/l-about-tagline.png) no-repeat left bottom/100% auto;
  display: inline-block;
  padding-bottom: 1rem;
}
.l-about__title {
  font-family: var(--sub-font);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 840px) {
  .l-about__title {
    font-size: 2.4rem;
    margin: 1.4rem 0 2.4rem 0;
  }
}
@media screen and (max-width: 840px) {
  .l-about__btn {
    text-align: center;
    margin-top: 4rem;
  }
}

.l-banner {
  width: 100rem;
  margin: 5rem auto 0 auto;
}
@media screen and (max-width: 840px) {
  .l-banner {
    width: 100%;
    padding: 0 2rem;
    margin: 0 auto;
  }
}
.l-banner__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-banner__list {
    gap: 2.8rem;
  }
}
.l-banner__item {
  width: 100%;
}
.l-banner img {
  width: 100%;
  height: auto;
}
.l-banner a:hover {
  opacity: 0.7;
}

.l-flow {
  padding: 14rem 0;
}
@media screen and (max-width: 840px) {
  .l-flow {
    padding: 6.4rem 2rem;
  }
}
.l-flow__inner {
  width: 110rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-flow__inner {
    width: 100%;
  }
}
.l-flow__title {
  margin-bottom: 8rem;
}
@media screen and (max-width: 840px) {
  .l-flow__title {
    margin-bottom: 5rem;
  }
}
.l-flow__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 7.8rem 0;
}
@media screen and (max-width: 840px) {
  .l-flow__list {
    gap: 6.2rem 0;
  }
}
.l-flow__item {
  border-radius: 3rem;
  background: var(--white);
  padding: 5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-flow__item {
    border-radius: 2rem;
    padding: 3rem 2rem;
  }
}
.l-flow__item::after {
  content: "";
  background: var(--main-dark);
  width: 5.8rem;
  height: 2.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -5.3rem;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 840px) {
  .l-flow__item::after {
    width: 4rem;
    height: 2rem;
    bottom: -4.1rem;
  }
}
.l-flow__item:last-child::after {
  content: none;
}
.l-flow__numbox {
  width: 3.6rem;
}
@media screen and (max-width: 840px) {
  .l-flow__numbox {
    order: 2;
    width: 100%;
    margin-top: 2.4rem;
    text-align: center;
  }
}
.l-flow__numbox p {
  color: var(--main-dark);
  font-family: var(--en-font);
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.4;
}
.l-flow__txtbox {
  width: 50rem;
}
@media screen and (max-width: 840px) {
  .l-flow__txtbox {
    order: 3;
    width: 100%;
    margin-top: 1.6rem;
  }
}
.l-flow__txtbox h3 {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-flow__txtbox h3 {
    font-size: 2rem;
    margin-bottom: 1.2rem;
    text-align: center;
  }
}
.l-flow__imgbox {
  width: 35rem;
}
@media screen and (max-width: 840px) {
  .l-flow__imgbox {
    order: 1;
    width: 100%;
  }
}
.l-flow__imgbox img {
  width: 100%;
  height: auto;
  border-radius: 2rem;
}

/* ----- l-information01 ----- */
.l-information01 {
  padding: 10rem 0 12rem 0;
}
@media screen and (max-width: 840px) {
  .l-information01 {
    padding: 6.4rem 2rem;
  }
}
.l-information01__inner {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-information01__inner {
    width: 100%;
  }
}

/* ----- l-information02 ----- */
.l-information02 {
  background: var(--main-light);
  position: relative;
  padding: 15rem 0 0 0;
}
@media screen and (max-width: 840px) {
  .l-information02 {
    padding: 10rem 2rem 0 2rem;
  }
}
.l-information02::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-image: url(../img/arch.png);
  background-size: cover;
  width: 100%;
  height: 0;
  padding-bottom: 9.4907407407%;
  position: absolute;
  top: 0;
  left: 0;
}
.l-information02__inner {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-information02__inner {
    width: 100%;
  }
}

.l-footer {
  background: var(--main-light) url(../img/l-footer-bg.svg) no-repeat bottom right -4.6rem/55.2rem auto;
  width: 100%;
  padding: 8.8rem 0 6.8rem 0;
}
@media screen and (max-width: 840px) {
  .l-footer {
    padding: 8rem 2.8rem;
    background-image: none;
  }
}
.l-footer__inner {
  width: 120rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-footer__inner {
    width: 100%;
  }
}
.l-footer__flex {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 840px) {
  .l-footer__flex {
    gap: 0;
  }
}
.l-footer__flexitem01 {
  margin: 0 4rem 0 0;
}
@media screen and (max-width: 840px) {
  .l-footer__flexitem01 {
    width: 100%;
    margin: 0;
  }
}
.l-footer__flexitem02 {
  margin: 0 11.2rem 0 0;
}
@media screen and (max-width: 840px) {
  .l-footer__flexitem02 {
    width: 100%;
    margin: 1.6rem 0 0 0;
  }
}
.l-footer__flexitem03 {
  flex: 1;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 840px) {
  .l-footer__flexitem03 {
    width: 100%;
    margin-top: 3.2rem;
  }
}
.l-footer__flexitem03 p {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-footer__flexitem03 p {
    font-size: 1.3rem;
  }
}
.l-footer__flexitem03 p a:hover {
  opacity: 0.7;
}
.l-footer__flexitem04 {
  margin-top: 8rem;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .l-footer__flexitem04 {
    margin-top: 3.2rem;
  }
}
.l-footer__flexitem04 small {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-footer__flexitem04 small {
    font-size: 1.1rem;
  }
}
.l-footer__flexitem04 a:hover {
  opacity: 0.7;
}
.l-footer__nav01 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 1.6rem 0;
}
  ul.painless-treatment{width:100%;}
 .l-footer__nav02{
     margin-top:3rem;
 }

@media screen and (max-width: 840px) {
  ul.painless-treatment a{font-size:16px;}
  .l-footer__nav01 {
    flex-direction: row;
  }
  .l-footer__nav01 li {
    width: 50%;
  }
  .l-footer__nav01 li.full {
    width: 100%;
  }
}
.l-footer__nav01 a {
  display: flex;
  align-items: center;
  gap: 0 0.8rem;
  font-weight: 600;
}
.l-footer__nav01 a:hover {
  opacity: 0.7;
}
.l-footer__nav02wrap {
  display: flex;
  gap: 0 2.4rem;
  margin: 1.6rem 0 0 0;
  font-weight: 500;
}
@media screen and (max-width: 840px) {
  .l-footer__nav02wrap {
    gap: 0;
    margin: 1.6rem 0 0 0;
  }
}
@media screen and (max-width: 840px) {
  .l-footer__nav02 {
    width: 50%;
  }
  .l-footer__nav02.col-1 {
    width: 45%;
  }
  .l-footer__nav02.col-2 {
    width: 55%;
  }
}
.l-footer__nav02 li {
  width: 100%;
}
.l-footer__nav02 li + li {
  margin-top: 0.4rem;
}
.nav_subtitle{
		font-size: 14px;
		margin-left:0.9rem;
}

@media screen and (max-width: 840px) {
  .l-footer__nav02 a {
    font-size: 1.3rem;
  }
 .l-footer__nav02wrap .nav_subtitle a{
		font-size: 10px;	
}
.l-sitemap__nav02wrap .nav_subtitle a{
		font-size: 12px;	
}
.l-sitemap__flex .nav_subtitle a{
		font-size: 13px;	
}
}
.l-footer__nav02 a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 840px) {
  .l-floating {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    z-index: 9999;
    border-top: 1px solid var(--white);
  }
  .l-floating__phone {
    width: 50%;
  }
  .l-floating__phone a {
    height: 6.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 0.4rem 0;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    background: var(--gray-light);
    color: var(--main-dark);
    letter-spacing: 0.1em;
  }
  .l-floating__phone p {
    display: flex;
    align-items: center;
    gap: 0 0.6rem;
  }
  .l-floating__phone span {
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .l-floating__reserve {
    width: 50%;
  }
  .l-floating__reserve a {
    height: 6.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 0.4rem 0;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    background: var(--main-dark);
    color: var(--white);
    letter-spacing: 0.1em;
  }
  .l-floating__reserve p {
    display: flex;
    align-items: center;
    gap: 0 0.6rem;
  }
  .l-floating__reserve p small{
      font-size:1.3rem;
  }
        
    

  .l-floating__reserve span {
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.04em;
  }
}
@media screen and (min-width: 840px) {
  .l-floating {
    display: none;
  }
}
.l-blog {
  padding: 10rem 0 12.8rem 0;
}
@media screen and (max-width: 840px) {
  .l-blog {
    padding: 0 0 12.8rem 0;
  }
}
.l-blog__inner {
  border-radius: 8rem;
  background: var(--white);
  padding: 11rem 0;
  width: 130rem;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .l-blog__inner {
    border-radius: 0;
    padding: 7.6rem 0;
    width: 100%;
  }
}
.l-blog__intro {
  text-align: center;
  margin: 1.6rem 0 7.6rem 0;
}
@media screen and (max-width: 840px) {
  .l-blog__intro {
    text-align: left;
    margin: 2.4rem 0 5rem 0;
    padding: 0 2rem;
  }
}

.l-price {
  background: var(--white);
  display: flex;
  flex-wrap: wrap;
}
.l-price__imgbox {
  width: calc(100% - 105.2rem);
}
@media screen and (max-width: 840px) {
  .l-price__imgbox {
    width: 100%;
  }
}
.l-price__imgbox img {
  width: 100%;
  height: 57rem;
  object-fit: cover;
  object-position: top center;
}
@media screen and (max-width: 840px) {
  .l-price__imgbox img {
    height: auto;
  }
}
.l-price__txtbox {
  width: 105.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .l-price__txtbox {
    width: 100%;
    padding: 5.4rem 2.4rem;
  }
}
.l-price__inner {
  width: 80rem;
}
@media screen and (max-width: 840px) {
  .l-price__inner {
    width: 100%;
  }
}
.l-price__title {
  text-align: center;
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-bottom: 4rem;
}
@media screen and (max-width: 840px) {
  .l-price__title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
}
.l-priceCapsule {
  display: flex;
  background: var(--gray-light);
  border-radius: 3rem;
  overflow: hidden;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-priceCapsule {
    margin-bottom: 4.5rem;
    flex-wrap: wrap;
    flex-direction: column;
  }
}
.l-priceCapsule__left {
  width: 50%;
  height: 11.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-priceCapsule__left {
    width: 100%;
    height: 9.4rem;
    align-items: flex-start;
    padding-top: 2.6rem;
  }
}
.l-priceCapsule__left::after {
  content: "";
  background: var(--gray-light);
  height: 11.8rem;
  width: 3.8rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  top: 0;
  right: -3.8rem;
}
@media screen and (max-width: 840px) {
  .l-priceCapsule__left::after {
    height: 2.6rem;
    width: 100%;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: auto;
    bottom: -2.6rem;
    right: auto;
    left: 0;
    border-top: 1px solid var(--gray-light);
  }
}
.l-priceCapsule__left h3 {
  text-align: center;
}
.l-priceCapsule__left h3 span {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: block;
}
.l-priceCapsule__right {
  width: 50%;
  height: 11.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sub);
}
@media screen and (max-width: 840px) {
  .l-priceCapsule__right {
    width: 100%;
    align-items: flex-end;
    padding-bottom: 1.4rem;
  }
}
.l-priceCapsule__right h3 {
  text-align: center;
  color: var(--white);
}
.l-priceCapsule__right h3 span {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: block;
}
.l-priceList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 3rem;
}
@media screen and (max-width: 840px) {
  .l-priceList {
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0;
  }
}
.l-priceList__item {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 840px) {
  .l-priceList__item.touch {
    margin-bottom: 2.4rem;
    flex-direction: row;
    align-items: center;
    gap: 1.6rem;
  }
  .l-priceList__item.border {
    margin: 2.4rem 0;
  }
  .l-priceList__item.border img {
    width: 100%;
    height: auto;
  }
}
.l-priceList__subtitle {
  text-align: center;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
.l-priceList__subtitle.row1 {
  line-height: 3;
}
@media screen and (max-width: 840px) {
  .l-priceList__subtitle.row1 {
    line-height: 1.5;
  }
}
.l-priceList__subtitle.subtitle01 {
  margin-bottom: 1rem;
}
@media screen and (max-width: 840px) {
  .l-priceList__subtitle.subtitle01 {
    margin-bottom: 0;
  }
}
.l-priceList__subtitle.subtitle02 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 840px) {
  .l-priceList__subtitle.subtitle02 {
    margin-bottom: 1.6rem;
  }
}
.l-priceList__subtitle.subtitle03 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 840px) {
  .l-priceList__subtitle.subtitle03 {
    margin-bottom: 1.6rem;
  }
}
.l-priceList__subtitle span {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.1;
  letter-spacing: 0.05em;
}

.l-cta {
  background: url(../img/l-cta-bg.jpg) no-repeat center top/cover;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-cta {
    background: url(../img/l-cta-bg-sp.jpg) no-repeat center top/cover;
  }
}
.l-cta__inner {
  width: 120rem;
  margin: 0 auto -25.6rem auto;
  position: relative;
  top: -25.6rem;
}
@media screen and (max-width: 840px) {
  .l-cta__inner {
    width: 100%;
    margin: 0 auto;
    position: static;
    padding: 5.6rem 1rem 3.5rem 1rem;
  }
}
.l-cta__title {
  width: 80rem;
  margin: 0 auto;
  height: 13.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: var(--sub);
  border-radius: 10rem;
  color: var(--white);
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
  position: relative;
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 840px) {
  .l-cta__title {
    display: none;
  }
}
.l-cta__title::after {
  content: "";
  background: var(--sub);
  height: 2.1rem;
  width: 4.2rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -2rem;
  transform: translate(-50%, 0);
}
.l-ctaMain {
  display: flex;
  align-items: flex-end;
  padding-left: 3.2rem;
}
@media screen and (max-width: 840px) {
  .l-ctaMain {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
}
.l-ctaMain__imgbox {
  width: 54.6rem;
}
@media screen and (max-width: 840px) {
  .l-ctaMain__imgbox {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.l-ctaMain__imgbox img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 840px) {
  .l-ctaMain__imgbox img {
    width: 80%;
  }
}
.l-ctaMain__txtbox {
  width: 42.2rem;
  padding: 0 0 4rem 0;
  color: var(--white);
}
@media screen and (max-width: 840px) {
  .l-ctaMain__txtbox {
    width: 100%;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    text-align: center;
  }
}
.l-ctaMain__labels {
  display: flex;
  gap: 0.4rem;
  margin-bottom: 2.8rem;
  font-size: 15px;
}
@media screen and (max-width: 840px) {
.l-ctaMain__labels {
font-size: 1.6rem;
}
  .l-ctaMain__labels {
    margin-bottom: 4.8rem;
    width: 30.6rem;
    flex-wrap: wrap;
    gap: 1rem 0.4rem;
  }
}
.l-ctaMain__labels li {
  font-weight: 600;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 4.8rem;
  border-radius: 10rem;
  padding: 0 2rem;
  color: var(--white);
}
.l-ctaMain__labels li.sub {
  background: var(--sub);
}
@media screen and (max-width: 840px) {
  .l-ctaMain__labels li.sub {
    width: 100%;
  }
}
.l-ctaMain__labels li.sub::after {
  content: "";
  background: var(--sub);
  height: 1rem;
  width: 1.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -0.9rem;
  transform: translate(-50%, 0);
}
.l-ctaMain__labels li.blue {
  background: #4EB6FF;
}
@media screen and (max-width: 840px) {
  .l-ctaMain__labels li.blue {
    width: calc((100% - 0.4rem) / 2);
  }
}
.l-ctaMain__labels li.blue::after {
  content: "";
  background: #4EB6FF;
  height: 1rem;
  width: 1.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -0.9rem;
  transform: translate(-50%, 0);
}
.l-ctaMain__labels li.gray {
  background: #A6A6A6;
}
@media screen and (max-width: 840px) {
  .l-ctaMain__labels li.gray {
    width: calc((100% - 0.4rem) / 2);
  }
}
.l-ctaMain__labels li.gray::after {
  content: "";
  background: #A6A6A6;
  height: 1rem;
  width: 1.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -0.9rem;
  transform: translate(-50%, 0);
}
.l-ctaMain__catch {
  font-family: var(--sub-font);
  font-size: 4.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 840px) {
  .l-ctaMain__catch {
    font-size: 3.2rem;
    line-height: 1.13;
  }
}
.l-ctaMain__catch .ruby01 {
  position: relative;
  display: inline-block;
}
.l-ctaMain__catch .ruby01::before {
  content: "けっそん";
  color: var(--white);
  font-family: var(--base-font);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  position: absolute;
  left: 50%;
  top: -1.2rem;
  transform: translate(-50%, 0);
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .l-ctaMain__catch .ruby01::before {
    top: -1.6rem;
  }
}
.l-ctaMain__catch .ruby02 {
  position: relative;
  display: inline-block;
}
.l-ctaMain__catch .ruby02::before {
  content: "ほてつ";
  color: var(--white);
  font-family: var(--base-font);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  position: absolute;
  left: 50%;
  top: -1.2rem;
  transform: translate(-50%, 0);
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .l-ctaMain__catch .ruby02::before {
    top: -1.6rem;
  }
}
.l-ctaSub {
  box-shadow: 0px 0px 11px 0px rgba(0, 0, 0, 0.25);
  background: var(--white);
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
  bottom: -22.4rem;
  margin-top: -22.4rem;
  z-index: 1;
}
@media screen and (max-width: 840px) {
  .l-ctaSub {
    position: static;
    margin-top: 0;
  }
}
.l-ctaSub__head {
  background: var(--main);
  padding: 3.4rem 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4.8rem;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .l-ctaSub__head {
    padding: 2.4rem 0.8rem;
  }
  .l-ctaSub__head img {
    display: none;
  }
}
.l-ctaSub__head h2 {
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-ctaSub__head h2 {
    font-size: 2.2rem;
  }
}
.l-ctaSub__body {
  width: 80rem;
  margin: 0 auto;
  padding: 4.8rem 0;
}
@media screen and (max-width: 840px) {
  .l-ctaSub__body {
    width: 100%;
    padding: 3rem 2rem;
  }
}
.l-ctaSub__btns {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-ctaSub__btns {
    flex-direction: column;
    justify-content: center;
  }
}
.l-ctaSub__phone a {
  font-family: var(--sub-font);
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.2rem;
  white-space: nowrap;
}
@media screen and (max-width: 840px) {
  .l-ctaSub__phone a {
    font-size: 2.8rem;
    line-height: 1.28;
    letter-spacing: 0.05em;
    gap: 0 0.6rem;
  }
}
.l-ctaSub__phone a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 840px) {
  .l-ctaSub__reserve {
    width: 100%;
  }
}
.l-ctaSub__reserve a {
  border-radius: 10rem;
  background: var(--main-dark);
  color: var(--white);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 0 3rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  height: 6.8rem;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
  min-width: 40rem;
}
@media screen and (max-width: 840px) {
  .l-ctaSub__reserve a {
    display: flex;
    min-width: auto;
    width: 100%;
    font-size: 1.6rem;
  }
}
.l-ctaSub__reserve a:hover {
  opacity: 0.7;
}

.l-trouble {
  background: var(--white);
  padding: 14rem 0 0 0;
}
@media screen and (max-width: 840px) {
  .l-trouble {
    padding: 12.5rem 0 0 0;
  }
}
.l-trouble__bg {
  width: 100%;
  background: linear-gradient(to bottom, #F0EEEB 30%, #FFFFFF 100%);
  padding: 10.6rem 0 36rem 0;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-trouble__bg {
    padding: 8.2rem 0 4.8rem 0;
  }
}
.l-trouble__bg::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-image: url(../img/arch.png);
  background-size: cover;
  width: 100%;
  height: 0;
  padding-bottom: 9.4907407407%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.l-trouble__inner {
  width: 87.8rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 840px) {
  .l-trouble__inner {
    width: 100%;
    padding: 0 1rem;
  }
}
.l-trouble__figure {
  position: absolute;
  top: -16rem;
  left: -13.4rem;
}
@media screen and (max-width: 840px) {
  .l-trouble__figure {
    left: 50%;
    transform: translate(-50%, 0);
  }
  .l-trouble__figure img {
    width: 15.4rem;
    height: auto;
  }
}
.l-trouble__title {
  text-align: center;
  margin-bottom: 6rem;
  font-family: var(--sub-font);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-trouble__title {
    margin-bottom: 3.2rem;
    font-size: 2.2rem;
    line-height: 1.36;
    gap: 1.2rem;
  }
  .l-trouble__title img {
    width: 2.4rem;
    height: auto;
  }
}
.l-trouble__title .main-dark {
  color: var(--main-dark);
}
.l-trouble__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem 3.4rem;
}
@media screen and (max-width: 840px) {
  .l-trouble__list {
    gap: 1.6rem;
  }
}
.l-trouble__list li {
  width: calc((100% - 6.8rem) / 3);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--white);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 20px 0px rgba(107, 107, 107, 0.25);
}
@media screen and (max-width: 840px) {
  .l-trouble__list li {
    width: calc((100% - 1.6rem) / 2);
    height: 100%;
  }
}
.l-trouble__list li .imgbox {
  width: 100%;
  height: 13.5rem;
}
@media screen and (max-width: 840px) {
  .l-trouble__list li .imgbox {
    height: 50%;
  }
}
.l-trouble__list li .imgbox img {
  width: 100%;
  height: 13.5rem;
  object-fit: cover;
  object-position: top center;
  box-shadow: 0px 0px 20px 0px rgba(107, 107, 107, 0.25);
}
@media screen and (max-width: 840px) {
  .l-trouble__list li .imgbox img {
    height: 100%;
  }
}
.l-trouble__list li .txtbox {
  width: 100%;
  height: 13.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--sub-font);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 840px) {
  .l-trouble__list li .txtbox {
    height: 50%;
    font-size: 1.6rem;
    line-height: 1.1;
  }
}
.l-trouble__list li .txtbox p {
  margin-top: -1.2rem;
}
@media screen and (max-width: 840px) {
  .l-trouble__list li .txtbox p {
    margin-top: -1.4rem;
  }
}
.l-trouble__list li .txtbox .main-dark {
  color: var(--main-dark);
}
.l-trouble__list li .txtbox .sub {
  color: var(--sub);
}
@media screen and (max-width: 840px) {
  .l-trouble__baloon {
    width: calc(100% - 2rem);
    margin: 3rem auto 0 auto;
    background: var(--sub);
    border-radius: 20rem;
    color: var(--white);
    text-align: center;
    font-family: var(--sub-font);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    position: relative;
  }
  .l-trouble__baloon::after {
    content: "";
    background: var(--sub);
    height: 1.8rem;
    width: 3.6rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    left: 50%;
    bottom: -1.7rem;
    transform: translate(-50%, 0);
  }
}
@media screen and (min-width: 840px) {
  .l-trouble__baloon {
    display: none;
  }
}

.l-header {
  width: 100%;
  /*
  &__elements {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: center;
      align-items: flex-end;
      padding-right: 4.8rem;
      width: calc(100% - 17rem);

      @include sp {
          padding-right: 9rem;
          width: 100%;
      }
  }
  */
}
@media screen and (max-width: 840px) {
  .l-header {
    height: 9.4rem;
  }
}
.l-header__logo {
  position: absolute;
  top: 0;
  left: 9.8rem;
  z-index: 400;
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 840px) {
  .l-header__logo {
    top: 0;
    left: 0;
    gap: 0 0.8rem;
  }
  .l-header__logo img {
    width: 9.4rem;
    height: 9.4rem;
  }
}
.l-header__logo a:hover {
  opacity: 0.7;
}
.l-header__logo p {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-header__logo p {
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
  }
}
.l-header__logo p span {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 840px) {
  .l-header__logo p span {
    font-size: 1.6rem;
  }
}
.l-header__btns {
  display: flex;
  align-items: center;
  gap: 0 2rem;
  border-radius: 0 0 0 5rem;
  background: var(--white);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 400;
  height: 10rem;
  padding: 0 13rem 0 3.6rem;
}
@media screen and (max-width: 840px) {
  .l-header__btns {
    background: none;
  }
}
@media screen and (max-width: 840px) {
  .l-header__phone {
    display: none;
  }
}
.l-header__phone a {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.2rem;
  white-space: nowrap;
}
.l-header__phone a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 840px) {
  .l-header__reserve {
    display: none;
  }
}
.l-header__reserve a {
  border-radius: 10rem;
  background: var(--main-dark);
  color: var(--white);
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  padding: 0 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  height: 5rem;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
}
.l-header__reserve a:hover {
  opacity: 0.7;
}

.l-sitemap {
  padding: 20rem 0 13.2rem 0;
}
@media screen and (max-width: 840px) {
  .l-sitemap {
    padding: 9.4rem 2.8rem 15.8rem 2.8rem;
  }
}
.l-sitemap__inner {
  border-radius: 1rem;
  background: var(--white);
  width: 145rem;
  margin: 0 auto;
  padding: 6rem 10.6rem;
}
@media screen and (max-width: 840px) {
  .l-sitemap__inner {
    border-radius: 0;
    background: none;
    width: 100%;
    padding: 0;
  }
}
.l-sitemap__flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
@media screen and (max-width: 840px) {
  .l-sitemap__flex {
    gap: 0;
  }
}
.l-sitemap__flexitem01 {
  margin: 0 4rem 0 0;
}
@media screen and (max-width: 840px) {
  .l-sitemap__flexitem01 {
    width: 100%;
    margin: 0;
  }
}
.l-sitemap__flexitem02 {
  margin: 0 2rem 0 0;
}
@media screen and (max-width: 840px) {
  .l-sitemap__flexitem02 {
    width: 100%;
    margin: 1.6rem 0 0 0;
  }
}
.l-sitemap__flexitem03 {
  flex: 1;
  border-left: 0.1rem solid var(--gray-dark);
  padding: 0 0 0 2.8rem;
}
@media screen and (max-width: 840px) {
  .l-sitemap__flexitem03 {
    display: none;
  }
}
.l-sitemap__flexitem03 p {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-sitemap__flexitem03 p {
    font-size: 1.3rem;
  }
}
.l-sitemap__flexitem03 p a:hover {
  opacity: 0.7;
}
.l-sitemap__flexitem04 {
  margin-top: 5rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-sitemap__flexitem04 {
    margin-top: 3.2rem;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .l-sitemap__flexitem04 .address {
    display: none;
  }
}
.l-sitemap__flexitem04 small {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-sitemap__flexitem04 small {
    font-size: 1.1rem;
  }
}
.l-sitemap__flexitem04 a:hover {
  opacity: 0.7;
}
.l-sitemap__nav01 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 1.6rem 0;
}
@media screen and (max-width: 840px) {
  .l-sitemap__nav01 {
    flex-direction: row;
  }
  .l-sitemap__nav01 li {
    width: 50%;
  }
  .l-sitemap__nav01 li.full {
    width: 100%;
  }
}
.l-sitemap__nav01 a {
  display: flex;
  align-items: center;
  gap: 0 0.8rem;
  font-weight: 600;
}
.l-sitemap__nav01 a:hover {
  opacity: 0.7;
}
.l-sitemap__nav02wrap {
  display: flex;
  gap: 0 2.4rem;
  margin: 1.6rem 0 0 0;
}
@media screen and (max-width: 840px) {
  .l-sitemap__nav02wrap {
    gap: 0;
    margin: 1.6rem 0 0 0rem;
  }
}
@media screen and (max-width: 840px) {
  .l-sitemap__nav02 {
    width: 50%;
  }
  .l-sitemap__nav02.col-1 {
    width: 45%;
  }
  .l-sitemap__nav02.col-2 {
    width: 55%;
  }
}
.l-sitemap__nav02 li {
  width: 100%;
}

.l-sitemap__nav02 li::before {
    content: '';
    background: var(--main-dark);
    display: inline-block !important;
    height: 1rem !important;
    width: 1rem !important;
    top: 0.8rem !important;
    left: 0;
    border-radius: 1.5rem;
}

.nav_subtitle li::before{
    display: none!important;
}

.l-sitemap__nav02 li a{
    padding-left: 1rem;
}

.l-sitemap__nav02 li + li {
  margin-top: 0.4rem;
}
@media screen and (max-width: 840px) {
  .l-sitemap__nav02 a {
    font-size: 1.3rem;
  }
}
.l-sitemap__nav02 a:hover {
  opacity: 0.7;
}
.l-sitemap__cta {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  text-align: center;
  height: 100%;
}
@media screen and (max-width: 840px) {
  .l-sitemap__cta {
    display: none;
  }
}
.l-sitemap__cta h3 {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.l-sitemap__phone a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
.l-sitemap__phone a:hover {
  opacity: 0.7;
}
.l-sitemap__reserve {
  width: 100%;
}
.l-sitemap__reserve a {
  border-radius: 10rem;
  background: var(--main-dark);
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
  color: var(--white);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  width: 100%;
  height: 6.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
}
.l-sitemap__reserve a:hover {
  opacity: 0.7;
}

.l-hero {
  width: 100%;
  height: 100vh;
  padding-top: 12rem;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  background: url(../img/l-hero-bg.png) no-repeat center top/100% auto;
}
@media screen and (max-width: 840px) {
  .l-hero {
    padding-top: 0;
    height: calc(100vh - 15rem);
    background: none;
    flex-direction: column-reverse;
    justify-content: flex-end;
  }
  
}

@media screen and (min-width: 840px) and ( max-width:1560px){
    .l-hero {
      width: 100%;
      height: 80vh;
    }
}

.l-hero__txtbox {
  width: 35.6rem;
  height: 100%;
  padding: 0 0 0 9.8rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 840px) {
  .l-hero__txtbox {
    width: 100%;
    height: auto;
    padding: 2.4rem;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
  }
}
.l-hero__imgbox {
  width: calc(100% - 35.6rem);
  position: relative;
  z-index: 9;
}
@media screen and (max-width: 840px) {
  .l-hero__imgbox {
    width: 100%;
  }
}
.l-hero__tagline {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-bottom: 0.8rem;
  background: url(../img/l-hero-tagline.png) no-repeat left bottom/100% 0.3rem;
  white-space: nowrap;
}
@media screen and (max-width: 840px) {
  .l-hero__tagline {
    font-size: 1.4rem;
    white-space: normal;
  }
}
.l-hero__catch {
  color: var(--main-dark);
  text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.71), 0px 0px 10px rgba(255, 255, 255, 0.71), 0px 0px 10px rgba(255, 255, 255, 0.71), 0px 0px 10px rgba(255, 255, 255, 0.71), 0px 0px 10px rgba(255, 255, 255, 0.71);
  font-family: var(--sub-font);
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.27;
  letter-spacing: 0.06em;
  white-space: nowrap;
  margin-top: 1.8rem;
}
@media screen and (max-width: 840px) {
  .l-hero__catch {
    text-align: center;
    font-size: 3rem;
    line-height: 1.34;
    letter-spacing: 0.05em;
    margin-top: 0;
  }
}


@media screen and (min-width: 812px) and ( max-width:1560px){
  .l-hero__catch {
    font-size: 3rem;
  }
	
}
.l-hero__h1 {
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.28;
  letter-spacing: 0.12em;
  border-radius: 10rem;
  background: var(--sub);
  width: 40.6rem;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2.2rem;
}
@media screen and (max-width: 840px) {
  .l-hero__h1 {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.87;
    letter-spacing: 0.05em;
    margin-top: 0;
    width: 100%;
  }
}

@media screen and (min-width: 812px) and ( max-width:1560px){
	.l-hero__h1{
    font-size: 1.2rem;
  	width: 35.6rem;
	}
}

.l-hero__address {
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.66;
}
.l-hero__list {
  margin: 4.2rem 0;
  display: flex;
  gap: 0.6rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 840px) {
  .l-hero__list {
    margin: 0;
    padding: 2.4rem 1rem;
  }
}
.l-hero__list li {
  width: 13rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--white);
  filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.25));
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.8rem;
  text-align: center;
  font-family: var(--sub-font);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 840px) {
  .l-hero__list li {
    width: calc((100% - 1.2rem) / 3);
    gap: 0.4rem;
  }
  .l-hero__list li img {
    width: 3rem;
    height: auto;
  }
}

@media screen and (min-width: 840px) and ( max-width:1560px){
	.l-hero__list li{
  		width: 11.5rem;	
		font-size: 1.15rem;
	}
}

.l-hero__list li span {
  color: var(--main-dark);
  font-size: 1.8rem;
  line-height: 1.1;
}
@media screen and (max-width: 840px) {
  .l-hero__list li span {
    font-size: 1.6rem;
    line-height: 1.25;
    letter-spacing: 0.03em;
  }
}

.l-doctor {
  padding: 22rem 0 0 0;
  /* ----- l-doctor01 ----- */
  /* ----- l-doctor02 ----- */
}
@media screen and (max-width: 840px) {
  .l-doctor {
    padding: 6.4rem 0 0 0;
  }
}

.l-main .l-doctor{
    padding: 0;
    margin-bottom: 4rem;
}
.l-main .l-doctor .c-heading01{
    background: none;
}
.l-main .l-doctor .c-heading01 .ja span{
   font-size: 3.2rem;
}

.l-main .l-doctor .l-doctor01{
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.l-doctor__intro {
  text-align: center;
  margin: 1.6rem 0 6.8rem 0;
}
@media screen and (max-width: 840px) {
  .l-doctor__intro {
    text-align: left;
    margin: 2.4rem 0 3.4rem 0;
    padding: 0 2rem;
  }
}
.l-doctor01 {
  position: relative;
  padding: 11.2rem 0 0 0;
}
@media screen and (max-width: 840px) {
  .l-doctor01 {
    padding: 6.4rem 0 0 0;
  }
}
.l-doctor01::before {
  content: "";
  width: 84%;
  height: 72%;
  border-radius: 0 8rem 0 0;
  background: #DEEFF0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
@media screen and (max-width: 840px) {
  .l-doctor01::before {
    border-radius: 0 6.4rem 0 0;
    width: 100%;
    height: 95%;
  }
}
.l-doctor01::after {
  content: "";
  display: inline-block;
  width: 50rem;
  height: 57.2rem;
  background-image: url(../img/l-doctor01-after.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 30.5rem;
  left: -7.6rem;
  z-index: -1;
}
@media screen and (max-width: 840px) {
  .l-doctor01::after {
    width: 26.8rem;
    height: 30.6rem;
    top: 90rem;
    left: auto;
    right: -4.5rem;
  }
}
.l-doctor01Sec01 {
  width: 126rem;
  margin: 0 0 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec01 {
    width: 100%;
    margin: 0 auto;
    justify-content: center;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.l-doctor01Sec01__imgbox {
  width: 70.6rem;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec01__imgbox {
    width: calc(100% - 2rem);
    margin: 0 0 0 auto;
  }
}
.l-doctor01Sec01__txtbox {
  width: 45.4rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec01__txtbox {
    width: 100%;
    gap: 1.6rem;
    padding: 0 2rem;
  }
}
.l-doctor01Sec01__txtbox > * {
  width: 100%;
}
.l-doctor01Sec01__msg {
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.34;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec01__msg {
    font-size: 2.4rem;
  }
}
.l-doctor01Sec01__prf .job {
  font-weight: 600;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec01__prf .job {
    font-size: 1.6rem;
  }
}
.l-doctor01Sec01__prf .name {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-doctor01Sec01__prf .name small{
  font-size: 1.5rem;
}
.l-doctor01Sec01__prf .small {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.14;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec01__btn {
    text-align: center;
  }
}
.l-doctor01Sec02 {
  border-radius: 1.2rem;
  background: var(--white);
  box-shadow: 0px 2px 19px 0px rgba(0, 0, 0, 0.25);
  width: 120rem;
  margin: 9rem auto 0 auto;
  padding: 10rem 20rem;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02 {
    width: 100%;
    margin: 6.4rem auto 0 auto;
    padding: 8rem 2rem;
  }
}
.l-doctor01Sec02__labels {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__labels {
    width: 24rem;
    margin: 0 auto 3rem auto;
    gap: 1.2rem;
    flex-wrap: wrap;
  }
}
.l-doctor01Sec02__labels li {
  font-weight: 600;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 4.8rem;
  border-radius: 10rem;
  padding: 0 2rem;
  color: var(--white);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__labels li {
    font-size: 1.6rem;
    font-weight: 700;
    height: 4.2rem;
  }
}
.l-doctor01Sec02__labels li.sub {
  background: var(--sub);
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__labels li.sub {
    width: 100%;
  }
}
.l-doctor01Sec02__labels li.sub::after {
  content: "";
  background: var(--sub);
  height: 1rem;
  width: 1.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -0.9rem;
  transform: translate(-50%, 0);
}
.l-doctor01Sec02__labels li.blue {
  background: #4EB6FF;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__labels li.blue {
    width: calc((100% - 1.2rem) / 2);
  }
}
.l-doctor01Sec02__labels li.blue::after {
  content: "";
  background: #4EB6FF;
  height: 1rem;
  width: 1.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -0.9rem;
  transform: translate(-50%, 0);
}
.l-doctor01Sec02__labels li.gray {
  background: #A6A6A6;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__labels li.gray {
    width: calc((100% - 1.2rem) / 2);
  }
}
.l-doctor01Sec02__labels li.gray::after {
  content: "";
  background: #A6A6A6;
  height: 1rem;
  width: 1.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -0.9rem;
  transform: translate(-50%, 0);
}
.l-doctor01Sec02__intro {
  color: var(--main-dark);
  text-align: center;
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.8rem;
  margin-bottom: 4.2rem;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__intro {
    justify-content: space-between;
    gap: 1.2rem;
    font-size: 2.2rem;
    line-height: 1.36;
  }
  .l-doctor01Sec02__intro img {
    width: 2.8rem;
    height: auto;
  }
}
.l-doctor01Sec02__msgbox {
  margin: 4rem 0 8rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__msgbox {
    margin: 5rem 0 7rem 0;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    gap: 2.4rem;
  }
}
.l-doctor01Sec02__msgbox .imgbox {
  width: 25rem;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__msgbox .imgbox {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.l-doctor01Sec02__msgbox .imgbox img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__msgbox .imgbox img {
    width: 25rem;
  }
}
.l-doctor01Sec02__msgbox .txtbox {
  width: 50rem;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__msgbox .txtbox {
    width: 100%;
  }
}
.l-doctor01Sec02__subtitle01 {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-doctor01Sec02__subtitle01 .txts {
  background: url(../img/l-doctor01Sec02-subtitle-border01.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 2.4rem 0;
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__subtitle01 .txts {
    font-size: 2.4rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
    padding: 0 0 1rem 0;
  }
}
.l-doctor01Sec02__subtitle01 .txts .ruby01 {
  position: relative;
  display: inline-block;
}
.l-doctor01Sec02__subtitle01 .txts .ruby01::before {
  content: "ほてつ";
  color: var(--main-dark);
  font-family: var(--base-font);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  position: absolute;
  left: 50%;
  top: -1.2rem;
  transform: translate(-50%, 0);
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .l-doctor01Sec02__subtitle01 .txts .ruby01::before {
    font-size: 1.3rem;
    letter-spacing: 0.1em;
  }
}
.l-doctor01Sec02__subtitle02 {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-doctor01Sec02__subtitle02 span {
  background: url(../img/l-doctor01Sec02-subtitle-border02.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 2.4rem 0;
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 840px) {
  .l-doctor01Sec02__subtitle02 span {
    background: url(../img/l-doctor01Sec02-subtitle-border01.png) no-repeat left bottom/100% 0.3rem;
    font-size: 2.4rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
    padding: 0 0 1rem 0;
  }
}

.l-main .l-doctor01Sec02__subtitle02 span{
    background: none!important;
}

.l-doctor01Sec02__figure {
  width: 100%;
  margin: 4rem 0;
}
.l-doctor01Sec02__figure img {
  width: 100%;
  height: auto;
}
.l-doctor02 {
  margin-top: 13.2rem;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-doctor02 {
    margin-top: 8rem;
  }
}
.l-doctor02::before {
  content: "";
  width: 90%;
  height: 70%;
  border-radius: 8rem 0 0 0;
  background: #DEEFF0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -2;
}
@media screen and (max-width: 840px) {
  .l-doctor02::before {
    width: 100%;
    height: 95%;
    border-radius: 6.4rem 0 0 0;
  }
}
.l-doctor02__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-doctor02__arrowbox {
  position: relative;
  background: var(--white);
  border: 0.3rem solid var(--sub);
  margin-bottom: 4.2rem;
  border-radius: 10rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--sub);
  text-align: center;
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.1;
  letter-spacing: 0.05em;
  padding: 0 3rem;
  height: 5rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02__arrowbox {
    font-size: 1.6rem;
    border: 2px solid var(--sub);
    margin-bottom: 2.8rem;
  }
}
.l-doctor02__arrowbox::after, .l-doctor02__arrowbox::before {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.l-doctor02__arrowbox::after {
  border-color: rgba(255, 255, 255, 0);
  border-top-color: var(--white);
  border-width: 12px;
  margin-left: -12px;
}
@media screen and (max-width: 840px) {
  .l-doctor02__arrowbox::after {
    border-width: 6px;
    margin-left: -6px;
  }
}
.l-doctor02__arrowbox::before {
  border-color: rgba(236, 169, 20, 0);
  border-top-color: var(--sub);
  border-width: 16px;
  margin-left: -16px;
}
@media screen and (max-width: 840px) {
  .l-doctor02__arrowbox::before {
    border-width: 10px;
    margin-left: -10px;
  }
}
.l-doctor02Sec01 {
  padding: 12rem 0;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01 {
    padding: 6.4rem 0;
  }
}
.l-doctor02Sec01__flexbox {
  width: 135.4rem;
  margin: 0 auto 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__flexbox {
    width: 100%;
    margin: 0 auto;
    gap: 4rem;
  }
}
.l-doctor02Sec01__imgbox {
  width: 62rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__imgbox {
    width: calc(100% - 2rem);
    margin: 0 auto 0 0;
  }
}
.l-doctor02Sec01__imgbox img {
  width: 100%;
  height: auto;
}
.l-doctor02Sec01__txtbox {
  width: 68.2rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__txtbox {
    width: 100%;
  }
}
.l-doctor02Sec01__subtitle {
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__subtitle {
    margin-bottom: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 2rem;
  }
}
.l-doctor02Sec01__subtitle .txts {
  background: url(../img/l-doctor02Sec01-subtitle-border.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 0.6rem 0;
  font-family: var(--sub-font);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__subtitle .txts {
    font-size: 2.4rem;
  }
}
.l-doctor02Sec01__subtitle .txts span {
  font-size: 4.6rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__subtitle .txts span {
    font-size: 2.4rem;
  }
}
.l-doctor02Sec01__intro {
  width: 55rem;
  margin: 0 auto 4rem 0;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__intro {
    width: 100%;
    padding: 0 2rem;
  }
}
.l-doctor02Sec01__btns {
  display: flex;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec01__btns {
    margin-top: 2.4rem;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.l-doctor02Sec02 {
  padding: 12rem 0;
  position: relative;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02 {
    padding: 6.4rem 0;
  }
}
.l-doctor02Sec02::before {
  content: "";
  width: 96%;
  height: 100%;
  border-radius: 0 8rem 0 0;
  background: #D2EBEC;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02::before {
    width: 100%;
    border-radius: 0 6.4rem 0 0;
  }
}
.l-doctor02Sec02__flexbox {
  width: 135.4rem;
  margin: 0 0 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__flexbox {
    width: 100%;
    margin: 0 auto;
    gap: 4rem;
  }
}
.l-doctor02Sec02__imgbox {
  width: 62rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__imgbox {
    width: calc(100% - 2rem);
    margin: 0 0 0 auto;
  }
}
.l-doctor02Sec02__imgbox img {
  width: 100%;
  height: auto;
}
.l-doctor02Sec02__txtbox {
  width: 68.2rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__txtbox {
    width: 100%;
  }
}
.l-doctor02Sec02__subtitle {
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__subtitle {
    margin-bottom: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 2rem;
  }
}
.l-doctor02Sec02__subtitle .txts {
  background: url(../img/l-doctor02Sec02-subtitle-border.png) no-repeat left bottom/100% 0.3rem;
  padding: 0 0 0.6rem 0;
  font-family: var(--sub-font);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__subtitle .txts {
    font-size: 2.4rem;
  }
}
.l-doctor02Sec02__subtitle .txts span {
  font-size: 4.6rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__subtitle .txts span {
    font-size: 2.4rem;
  }
}
.l-doctor02Sec02__intro {
  width: 55rem;
  margin: 0 auto 4rem 0;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__intro {
    width: 100%;
    padding: 0 2rem;
  }
}
.l-doctor02Sec02__btns {
  display: flex;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (max-width: 840px) {
  .l-doctor02Sec02__btns {
    margin-top: 2.4rem;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.editor-styles-wrapper :where(.is-layout-flex) {
  gap: 2rem !important;
}

#tabs-1-media {
  display: none !important;
}

.editor-styles-wrapper,
.l-gutenberg {
  width: 100%;
  max-width: 98rem;
  margin: 0 auto;
  padding: 8rem 4rem;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper,
  .l-gutenberg {
    padding: 4rem 2rem;
  }
}
.editor-styles-wrapper .point,
.l-gutenberg .point {
  border: 0.4rem solid var(--main-dark);
  border-radius: 2.4rem;
  padding: 4.8rem;
}
.editor-styles-wrapper .point2,
.l-gutenberg .point2 {
  border: 0.4rem solid var(--main-dark);
  border-radius: 2.4rem;
  padding: 2.4rem;
}
.editor-styles-wrapper .btnS a,
.l-gutenberg .btnS a {
  color: var(--white);
  background: var(--main-dark);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1;
  padding: 1rem 2rem;
  border-radius: 5rem;
  transition: all 0.5s;
}
.editor-styles-wrapper .btnS a:hover,
.l-gutenberg .btnS a:hover {
  opacity: 0.7;
  cursor: pointer;
}
.editor-styles-wrapper .btnM a,
.l-gutenberg .btnM a {
  color: var(--white);
  background: var(--main-dark);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1;
  padding: 1.4rem 2.8rem;
  border-radius: 5rem;
  transition: all 0.5s;
 
}


@media screen and (max-width: 840px) {
.editor-styles-wrapper .btnM,
    .l-gutenberg .btnM{
       display: flex;
        width: 100%;
        justify-content: center;
        margin-bottom: 3rem;
    }

}
.editor-styles-wrapper .btnM a:hover,
.l-gutenberg .btnM a:hover {
  opacity: 0.7;
  cursor: pointer;
}
.editor-styles-wrapper .btnL a,
.l-gutenberg .btnL a {
  color: var(--white);
  background: var(--main-dark);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  line-height: 1;
  padding: 1.8rem 3.6rem;
  border-radius: 5rem;
  transition: all 0.5s;
}


@media screen and (max-width: 840px) {
.editor-styles-wrapper .btnL,
    .l-gutenberg .btnL{
       display: flex;
        width: 100%;
        justify-content: center;
        margin-bottom: 3rem;
    }

}

.editor-styles-wrapper .btnL a:hover,
.l-gutenberg .btnL a:hover {
  opacity: 0.7;
  cursor: pointer;
}
.editor-styles-wrapper .wp-block-group + .wp-block-group,
.l-gutenberg .wp-block-group + .wp-block-group {
  margin-top: 8rem;
}
.editor-styles-wrapper .wp-block-group__inner-container > * + *,
.l-gutenberg .wp-block-group__inner-container > * + * {
  margin-top: 2.4rem;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper .wp-block-columns.rev,
  .l-gutenberg .wp-block-columns.rev {
    flex-direction: column-reverse;
    margin-top: 5rem;
  }
}
.editor-styles-wrapper .nogap,
.l-gutenberg .nogap {
  gap: 0;
}
.editor-styles-wrapper h1,
.l-gutenberg h1 {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 400;
  position: relative;
  padding-bottom: 2rem;
  color: var(--main-dark);
  margin-bottom: 9.6rem;
}
.editor-styles-wrapper h1::after,
.l-gutenberg h1::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 7rem;
  height: 0.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: var(--main-dark);
}
.editor-styles-wrapper h2,
.l-gutenberg h2 {
  background: var(--main-dark);
  color: var(--white);
  text-align: center;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1rem 2rem;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper h2,
  .l-gutenberg h2 {
    font-size: 2.4rem;
  }
}
.editor-styles-wrapper h3,
.l-gutenberg h3 {
  color: var(--main-dark);
  font-size: 2.4rem;
  font-weight: 600;
  border-bottom: 0.1rem solid var(--main);
  line-height: 1.6;
  padding: 0 0 1rem 0;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper h3,
  .l-gutenberg h3 {
    font-size: 2rem;
  }
}
.editor-styles-wrapper h4,
.l-gutenberg h4 {
  background: var(--main-light);
  color: var(--main-dark);
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0.8rem 1.6rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper h4,
  .l-gutenberg h4 {
    font-size: 1.6rem;
  }
}
.editor-styles-wrapper h5,
.l-gutenberg h5 {
  color: #376ab2;
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper h5,
  .l-gutenberg h5 {
    font-size: 1.4rem;
  }
}
.editor-styles-wrapper h5::before,
.l-gutenberg h5::before {
  content: "●";
  padding: 0 0.5em 0 0;
}
.editor-styles-wrapper h6,
.l-gutenberg h6 {
  color: var(--main);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper h6,
  .l-gutenberg h6 {
    font-size: 1.2rem;
  }
}
.editor-styles-wrapper .list-circle,
.l-gutenberg .list-circle {
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.editor-styles-wrapper .list-circle li,
.l-gutenberg .list-circle li {
  position: relative;
  margin: 0;
  padding: 0 0 0 5rem;
}
.editor-styles-wrapper .list-circle li::before,
.l-gutenberg .list-circle li::before {
  content: "●";
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  text-align: center;
  color: var(--main-dark);
}
.editor-styles-wrapper .list-circle li + li,
.l-gutenberg .list-circle li + li {
  margin-top: 2.4rem;
}
.editor-styles-wrapper .list-check,
.l-gutenberg .list-check {
  list-style-type: none;
}
.editor-styles-wrapper .list-check li,
.l-gutenberg .list-check li {
  position: relative;
  padding: 0 0 0 5rem;
}
.editor-styles-wrapper .list-check li::after,
.l-gutenberg .list-check li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5em;
  left: 1.5rem;
  width: 2rem;
  text-align: center;
  height: 1rem;
  border-left: 0.3rem solid var(--main-dark);
  border-bottom: 0.3rem solid var(--main-dark);
  transform: rotate(-45deg);
}
.editor-styles-wrapper .list-check li + li,
.l-gutenberg .list-check li + li {
  margin-top: 2.4rem;
}
.editor-styles-wrapper .num01,
.editor-styles-wrapper .num02,
.editor-styles-wrapper .num03,
.editor-styles-wrapper .num04,
.editor-styles-wrapper .num05,
.editor-styles-wrapper .num06,
.editor-styles-wrapper .num07,
.editor-styles-wrapper .num08,
.editor-styles-wrapper .num09,
.editor-styles-wrapper .num10,
.l-gutenberg .num01,
.l-gutenberg .num02,
.l-gutenberg .num03,
.l-gutenberg .num04,
.l-gutenberg .num05,
.l-gutenberg .num06,
.l-gutenberg .num07,
.l-gutenberg .num08,
.l-gutenberg .num09,
.l-gutenberg .num10 {
  position: relative;
  font-size: 2rem;
  font-weight: 600;
  padding-left: 4rem;
  display: block;
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
  font-family: var(--sub-font);
  line-height: 1.4;
}
.editor-styles-wrapper .num01::before,
.l-gutenberg .num01::before {
  content: "1";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num02::before,
.l-gutenberg .num02::before {
  content: "2";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num03::before,
.l-gutenberg .num03::before {
  content: "3";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num04::before,
.l-gutenberg .num04::before {
  content: "4";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num05::before,
.l-gutenberg .num05::before {
  content: "5";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num06::before,
.l-gutenberg .num06::before {
  content: "6";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num07::before,
.l-gutenberg .num07::before {
  content: "7";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num08::before,
.l-gutenberg .num08::before {
  content: "8";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num09::before,
.l-gutenberg .num09::before {
  content: "9";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num10::before,
.l-gutenberg .num10::before {
  content: "10";
  width: 3rem;
  height: 3rem;
  color: var(--white);
  background: #eca915;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.3rem;
}
.editor-styles-wrapper .num01-square,
.editor-styles-wrapper .num02-square,
.editor-styles-wrapper .num03-square,
.editor-styles-wrapper .num04-square,
.editor-styles-wrapper .num05-square,
.editor-styles-wrapper .num06-square,
.editor-styles-wrapper .num07-square,
.editor-styles-wrapper .num08-square,
.editor-styles-wrapper .num09-square,
.editor-styles-wrapper .num10-square,
.l-gutenberg .num01-square,
.l-gutenberg .num02-square,
.l-gutenberg .num03-square,
.l-gutenberg .num04-square,
.l-gutenberg .num05-square,
.l-gutenberg .num06-square,
.l-gutenberg .num07-square,
.l-gutenberg .num08-square,
.l-gutenberg .num09-square,
.l-gutenberg .num10-square {
  position: relative;
  font-size: 2rem;
  font-weight: 600;
  padding: 1.5rem 0 1.5rem 7rem;
  display: block;
  margin-bottom: 2.4rem;
  min-height: 6rem;
  line-height: 1.5;
  font-family: var(--sub-font);
}
.editor-styles-wrapper .num01-square::before,
.l-gutenberg .num01-square::before {
  content: "1";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num02-square::before,
.l-gutenberg .num02-square::before {
  content: "2";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num03-square::before,
.l-gutenberg .num03-square::before {
  content: "3";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num04-square::before,
.l-gutenberg .num04-square::before {
  content: "4";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num05-square::before,
.l-gutenberg .num05-square::before {
  content: "5";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num06-square::before,
.l-gutenberg .num06-square::before {
  content: "6";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num07-square::before,
.l-gutenberg .num07-square::before {
  content: "7";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num08-square::before,
.l-gutenberg .num08-square::before {
  content: "8";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num09-square::before,
.l-gutenberg .num09-square::before {
  content: "9";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper .num10-square::before,
.l-gutenberg .num10-square::before {
  content: "10";
  width: 6rem;
  height: 6rem;
  color: #376ab2;
  background: var(--main-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 2rem;
}
.editor-styles-wrapper table,
.l-gutenberg table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.editor-styles-wrapper table td,
.l-gutenberg table td {
  padding: 1.5rem;
}
.editor-styles-wrapper .table-border td,
.l-gutenberg .table-border td {
  border: 0.1rem solid var(--gray);
}
.editor-styles-wrapper .table-border2 td,
.l-gutenberg .table-border2 td {
  border-top: 0.1rem solid var(--gray);
  border-bottom: 0.1rem solid var(--gray);
  border-right: none;
  border-left: none;
}
.editor-styles-wrapper .table-noborder td,
.l-gutenberg .table-noborder td {
  border: none;
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper .table-noborder td,
  .l-gutenberg .table-noborder td {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper .table-scroll table,
  .l-gutenberg .table-scroll table {
    min-width: 90rem;
  }
}
.editor-styles-wrapper .th-top tr:first-child td,
.l-gutenberg .th-top tr:first-child td {
  background: var(--gray-light);
}
.editor-styles-wrapper .th-left td:first-child,
.l-gutenberg .th-left td:first-child {
  background: var(--gray-light);
}
.editor-styles-wrapper .col01-w10 td:nth-child(1),
.l-gutenberg .col01-w10 td:nth-child(1) {
  width: 10%;
}
.editor-styles-wrapper .col01-w20 td:nth-child(1),
.l-gutenberg .col01-w20 td:nth-child(1) {
  width: 20%;
}
.editor-styles-wrapper .col01-w30 td:nth-child(1),
.l-gutenberg .col01-w30 td:nth-child(1) {
  width: 30%;
}
.editor-styles-wrapper .col01-w40 td:nth-child(1),
.l-gutenberg .col01-w40 td:nth-child(1) {
  width: 40%;
}
.editor-styles-wrapper .col01-w50 td:nth-child(1),
.l-gutenberg .col01-w50 td:nth-child(1) {
  width: 50%;
}
.editor-styles-wrapper .col01-w60 td:nth-child(1),
.l-gutenberg .col01-w60 td:nth-child(1) {
  width: 60%;
}
.editor-styles-wrapper .col01-w70 td:nth-child(1),
.l-gutenberg .col01-w70 td:nth-child(1) {
  width: 70%;
}
.editor-styles-wrapper .col01-w80 td:nth-child(1),
.l-gutenberg .col01-w80 td:nth-child(1) {
  width: 80%;
}
.editor-styles-wrapper .col01-w90 td:nth-child(1),
.l-gutenberg .col01-w90 td:nth-child(1) {
  width: 90%;
}
.editor-styles-wrapper .col02-w10 td:nth-child(2),
.l-gutenberg .col02-w10 td:nth-child(2) {
  width: 10%;
}
.editor-styles-wrapper .col02-w20 td:nth-child(2),
.l-gutenberg .col02-w20 td:nth-child(2) {
  width: 20%;
}
.editor-styles-wrapper .col02-w30 td:nth-child(2),
.l-gutenberg .col02-w30 td:nth-child(2) {
  width: 30%;
}
.editor-styles-wrapper .col02-w40 td:nth-child(2),
.l-gutenberg .col02-w40 td:nth-child(2) {
  width: 40%;
}
.editor-styles-wrapper .col02-w50 td:nth-child(2),
.l-gutenberg .col02-w50 td:nth-child(2) {
  width: 50%;
}
.editor-styles-wrapper .col02-w60 td:nth-child(2),
.l-gutenberg .col02-w60 td:nth-child(2) {
  width: 60%;
}
.editor-styles-wrapper .col02-w70 td:nth-child(2),
.l-gutenberg .col02-w70 td:nth-child(2) {
  width: 70%;
}
.editor-styles-wrapper .col02-w80 td:nth-child(2),
.l-gutenberg .col02-w80 td:nth-child(2) {
  width: 80%;
}
.editor-styles-wrapper .col02-w90 td:nth-child(2),
.l-gutenberg .col02-w90 td:nth-child(2) {
  width: 90%;
}
.editor-styles-wrapper .col03-w10 td:nth-child(3),
.l-gutenberg .col03-w10 td:nth-child(3) {
  width: 10%;
}
.editor-styles-wrapper .col03-w20 td:nth-child(3),
.l-gutenberg .col03-w20 td:nth-child(3) {
  width: 20%;
}
.editor-styles-wrapper .col03-w30 td:nth-child(3),
.l-gutenberg .col03-w30 td:nth-child(3) {
  width: 30%;
}
.editor-styles-wrapper .col03-w40 td:nth-child(3),
.l-gutenberg .col03-w40 td:nth-child(3) {
  width: 40%;
}
.editor-styles-wrapper .col03-w50 td:nth-child(3),
.l-gutenberg .col03-w50 td:nth-child(3) {
  width: 50%;
}
.editor-styles-wrapper .col03-w60 td:nth-child(3),
.l-gutenberg .col03-w60 td:nth-child(3) {
  width: 60%;
}
.editor-styles-wrapper .col03-w70 td:nth-child(3),
.l-gutenberg .col03-w70 td:nth-child(3) {
  width: 70%;
}
.editor-styles-wrapper .col03-w80 td:nth-child(3),
.l-gutenberg .col03-w80 td:nth-child(3) {
  width: 80%;
}
.editor-styles-wrapper .col03-w90 td:nth-child(3),
.l-gutenberg .col03-w90 td:nth-child(3) {
  width: 90%;
}
.editor-styles-wrapper .col04-w10 td:nth-child(4),
.l-gutenberg .col04-w10 td:nth-child(4) {
  width: 10%;
}
.editor-styles-wrapper .col04-w20 td:nth-child(4),
.l-gutenberg .col04-w20 td:nth-child(4) {
  width: 20%;
}
.editor-styles-wrapper .col04-w30 td:nth-child(4),
.l-gutenberg .col04-w30 td:nth-child(4) {
  width: 30%;
}
.editor-styles-wrapper .col04-w40 td:nth-child(4),
.l-gutenberg .col04-w40 td:nth-child(4) {
  width: 40%;
}
.editor-styles-wrapper .col04-w50 td:nth-child(4),
.l-gutenberg .col04-w50 td:nth-child(4) {
  width: 50%;
}
.editor-styles-wrapper .col04-w60 td:nth-child(4),
.l-gutenberg .col04-w60 td:nth-child(4) {
  width: 60%;
}
.editor-styles-wrapper .col04-w70 td:nth-child(4),
.l-gutenberg .col04-w70 td:nth-child(4) {
  width: 70%;
}
.editor-styles-wrapper .col04-w80 td:nth-child(4),
.l-gutenberg .col04-w80 td:nth-child(4) {
  width: 80%;
}
.editor-styles-wrapper .col04-w90 td:nth-child(4),
.l-gutenberg .col04-w90 td:nth-child(4) {
  width: 90%;
}
.editor-styles-wrapper .col05-w10 td:nth-child(5),
.l-gutenberg .col05-w10 td:nth-child(5) {
  width: 10%;
}
.editor-styles-wrapper .col05-w20 td:nth-child(5),
.l-gutenberg .col05-w20 td:nth-child(5) {
  width: 20%;
}
.editor-styles-wrapper .col05-w30 td:nth-child(5),
.l-gutenberg .col05-w30 td:nth-child(5) {
  width: 30%;
}
.editor-styles-wrapper .col05-w40 td:nth-child(5),
.l-gutenberg .col05-w40 td:nth-child(5) {
  width: 40%;
}
.editor-styles-wrapper .col05-w50 td:nth-child(5),
.l-gutenberg .col05-w50 td:nth-child(5) {
  width: 50%;
}
.editor-styles-wrapper .col05-w60 td:nth-child(5),
.l-gutenberg .col05-w60 td:nth-child(5) {
  width: 60%;
}
.editor-styles-wrapper .col05-w70 td:nth-child(5),
.l-gutenberg .col05-w70 td:nth-child(5) {
  width: 70%;
}
.editor-styles-wrapper .col05-w80 td:nth-child(5),
.l-gutenberg .col05-w80 td:nth-child(5) {
  width: 80%;
}
.editor-styles-wrapper .col05-w90 td:nth-child(5),
.l-gutenberg .col05-w90 td:nth-child(5) {
  width: 90%;
}
.editor-styles-wrapper .profile,
.l-gutenberg .profile {
  gap: 0;
  background: var(--main);
  color: var(--white);
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper .profile,
  .l-gutenberg .profile {
    flex-direction: column-reverse;
  }
}
.editor-styles-wrapper .profile .job-title,
.l-gutenberg .profile .job-title {
  font-size: 2rem;
  font-weight: 600;
  padding: 0 2.4rem;
 color: var(--main-dark);
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper .profile .job-title,
  .l-gutenberg .profile .job-title {
    padding-top: 2.4rem;
  }
}
.editor-styles-wrapper .profile .name-ja,
.l-gutenberg .profile .name-ja {
  font-size: 3.4rem;
  font-weight: 600;
  padding: 0 2.4rem;
 color: var(--main-dark);
}
.editor-styles-wrapper .profile .name-en,
.l-gutenberg .profile .name-en {
  margin-top: 0rem;
  padding: 0 2.4rem;
 color: var(--main-dark);
}
@media screen and (max-width: 840px) {
  .editor-styles-wrapper .profile .name-en,
  .l-gutenberg .profile .name-en {
    padding: 0 2.4rem 2.4rem 2.4rem;
      margin-top: 0;
  }
}

.editor-styles-wrapper h2,
.l-gutenberg.round h2 {
  border-radius: 1.2rem;
}
.editor-styles-wrapper h4,
.l-gutenberg.round h4 {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num01-square::before,
.l-gutenberg.round .num01-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num02-square::before,
.l-gutenberg.round .num02-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num03-square::before,
.l-gutenberg.round .num03-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num04-square::before,
.l-gutenberg.round .num04-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num05-square::before,
.l-gutenberg.round .num05-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num06-square::before,
.l-gutenberg.round .num06-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num07-square::before,
.l-gutenberg.round .num07-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num08-square::before,
.l-gutenberg.round .num08-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num09-square::before,
.l-gutenberg.round .num09-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .num10-square::before,
.l-gutenberg.round .num10-square::before {
  border-radius: 1.2rem;
}
.editor-styles-wrapper img,
.l-gutenberg.round img {
  border-radius: 1.2rem;
}
.editor-styles-wrapper .profile,
.l-gutenberg.round .profile {
  border-radius: 1.2rem;
  overflow: hidden;
}
.editor-styles-wrapper .profile img,
.l-gutenberg.round .profile img {
  border-radius: 0 !important;
}

.l-bread {
  width: 100%;
  max-width: 124rem;
  margin: 0 auto;
  padding: 2rem;
}
.l-bread a {
  color: var(--main);
  transition: 0.7s;
}
.l-bread a:hover {
  opacity: 0.5;
}

.l-pageheader {
  width: 100%;
}
.l-pageheader img {
  width: 100%;
  height: 20rem;
  object-fit: cover;
}
@media screen and (max-width: 840px) {
  .l-pageheader img {
    height: 100%;
  }
}

.l-pagetitle {
  width: 100%;
  margin: 0 auto;
  padding: 8rem 2rem 0 2rem;
  text-align: center;
  background: inherit;
}
@media screen and (max-width: 840px) {
  .l-pagetitle {
    margin: 4rem auto 0 auto;
    padding: 0;
  }
}
.l-pagetitle h1 {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 400;
  position: relative;
  padding-bottom: 2rem;
}
.l-pagetitle h1::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 7rem;
  height: 0.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: var(--main-dark);
}
.l-pagetitle img {
  width: 100%;
  max-width: 124rem;
  aspect-ratio: 2/1;
  object-fit: cover;
  margin-top: 8rem;
}
@media screen and (max-width: 840px) {
  .l-pagetitle img {
    margin-top: 4rem;
  }
}

.l-pagetitle.default {
  color: var(--main);
}

.l-pagetitle.gray-light {
  color: var(--main);
}

.l-pagetitle.main-light {
  color: var(--main);
}

.l-pagetitle.main {
  color: var(--white);
}

.l-page {
  letter-spacing: 0.06em;
  line-height: 1.8;
}
.l-page section .inner > * + * {
  margin-top: 4rem;
}
.l-page strong {
  font-weight: 600;
}
.l-page .left {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0 1.6rem;
  text-align: left;
}
.l-page .center {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 1.6rem;
  text-align: center;
}
.l-page .right {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0 1.6rem;
  text-align: right;
}
.l-page small {
  font-size: 1.3rem;
  line-height: 1.7;
  display: inline-block;
}
.l-page img {
  max-width: 90rem;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.l-page img.no-trim {
  aspect-ratio: auto !important;
}
.l-page .flex {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 4rem 5rem;
}
@media screen and (max-width: 840px) {
  .l-page .flex {
    gap: 1.6rem;
  }
}
.l-page .flex .col-1 {
  width: 100%;
}
.l-page .flex .col-1 > * + * {
  margin-top: 2rem;
}
@media screen and (max-width: 840px) {
  .l-page .flex .col-1 > * + * {
    margin-top: 1.6rem;
  }
}
.l-page .flex .col-1 img {
  aspect-ratio: 2/1;
}
@media screen and (max-width: 840px) {
  .l-page .flex .col-1 img {
    aspect-ratio: 3/2;
  }
}
.l-page .flex .col-2 {
  width: calc((100% - 5rem) / 2);
}
.l-page .flex .col-2 > * + * {
  margin-top: 2rem;
}
@media screen and (max-width: 840px) {
  .l-page .flex .col-2 > * + * {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page .flex .col-2 {
    width: 100%;
  }
}
.l-page .flex .col-3 {
  width: calc((100% - 10rem) / 3);
}
.l-page .flex .col-3 > * + * {
  margin-top: 2rem;
}
@media screen and (max-width: 840px) {
  .l-page .flex .col-3 > * + * {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page .flex .col-3 {
    width: 100%;
  }
}
.l-page .flex.rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 840px) {
  .l-page .table-wrap {
    overflow-x: scroll;
  }
}
.l-page section.default + section.default {
  margin-top: -8rem;
}
.l-page section.default .inner {
  width: 100%;
  max-width: 98rem;
  margin: 0 auto;
  font-size: 1.6rem;
  padding: 8rem 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default .inner {
    padding: 6rem 2rem;
  }
}
.l-page section.default h1 {
  color: var(--main-dark);
  text-align: center;
  font-size: 3.6rem;
  font-weight: 400;
  margin-bottom: 8rem;
}
.l-page section.default h1 span {
  color: var(--main-dark);
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 6rem;
  position: relative;
}
.l-page section.default h1 span::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 7rem;
  height: 0.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: var(--main-dark);
}
.l-page section.default h2 {
  background: var(--main-dark);
  color: var(--white);
  text-align: center;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1rem 2rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default h2 {
    font-size: 2.4rem;
  }
}
.l-page section.default h2 + p,
.l-page section.default h2 + h3,
.l-page section.default h2 + h4,
.l-page section.default h2 + h5,
.l-page section.default h2 + h6,
.l-page section.default h2 + ol,
.l-page section.default h2 + ul,
.l-page section.default h2 + table,
.l-page section.default h2 + .profile {
  margin-top: 4rem !important;
}
.l-page section.default h3 {
  color: var(--main-dark);
  font-size: 2.4rem;
  font-weight: 600;
  border-bottom: 0.1rem solid var(--main);
  line-height: 1.6;
  padding: 0 0 1rem 0;
  margin-top: 4rem !important;
}
@media screen and (max-width: 840px) {
  .l-page section.default h3 {
    font-size: 2rem;
  }
}
.l-page section.default h4 {
  background: var(--main-light);
  color: var(--main);
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0.8rem 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default h4 {
    font-size: 1.6rem;
  }
}
.l-page section.default h5 {
  color: var(--main);
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: -0.8rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default h5 {
    font-size: 1.4rem;
  }
}
.l-page section.default h5::before {
  content: "●";
  padding: 0 0.5em 0 0;
}
.l-page section.default h6 {
  color: var(--main);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: -1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default h6 {
    font-size: 1.2rem;
  }
}
.l-page section.default .flowTtl {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
}
.l-page section.default .flowTtl span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--main);
  color: var(--white);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.default ol.number {
  counter-reset: list;
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.default ol.number li {
  position: relative;
  margin: 0;
  padding: 0.9rem 0 0.9rem 6.6rem;
}
.l-page section.default ol.number li::before {
  counter-increment: list;
  content: counter(list);
  color: var(--main-dark);
  background: var(--main-light);
  font-size: 2rem;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
}
.l-page section.default ol.number li span {
  display: block;
  font-weight: 600;
}
.l-page section.default ol.number li + li {
  margin-top: 2.4rem;
}
.l-page section.default ol.flow {
  counter-reset: list;
}
.l-page section.default ol.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default ol.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.default ol.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.default ol.flow li div {
    width: 100%;
  }
}
.l-page section.default ol.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.default ol.flow li div span::before {
  counter-increment: list;
  content: counter(list);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--main);
  color: var(--white);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.default ol.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.default ol.flow li div.full {
  width: 100%;
}
.l-page section.default ol.flow li div.full > * + * {
  margin-top: 2rem;
}
.l-page section.default ol.flow li:not(:nth-child(1)),
.l-page section.default ol.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.default ul.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default ul.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.default ul.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.default ul.flow li div {
    width: 100%;
  }
}
.l-page section.default ul.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.default ul.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.default ul.flow li:not(:nth-child(1)),
.l-page section.default ul.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.default ul.circle {
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.default ul.circle li {
  position: relative;
  margin: 0;
  padding: 0 0 0 5rem;
}
.l-page section.default ul.circle li::before {
  content: "●";
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  text-align: center;
  color: var(--main-dark);
}
.l-page section.default ul.circle li span {
  display: block;
  font-weight: 600;
}
.l-page section.default ul.circle li + li {
  margin-top: 2.4rem;
}
.l-page section.default ul.check {
  list-style-type: none;
}
.l-page section.default ul.check li {
  position: relative;
  padding: 0 0 0 5rem;
}
.l-page section.default ul.check li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5em;
  left: 1.5rem;
  width: 2rem;
  text-align: center;
  height: 1rem;
  border-left: 0.3rem solid var(--main-dark);
  border-bottom: 0.3rem solid var(--main-dark);
  transform: rotate(-45deg);
}
.l-page section.default ul.check li + li {
  margin-top: 2.4rem;
}
.l-page section.default dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0;
  width: 100%;
  gap: 1.6rem;
}
.l-page section.default dl dt {
  width: 10rem;
  font-weight: 600;
}
.l-page section.default dl dd {
  width: calc(100% - 11.6rem);
}
.l-page section.default table.border--none {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-top: 0.1rem solid var(--gray);
}
.l-page section.default table.border--none th,
.l-page section.default table.border--none td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border--none th,
  .l-page section.default table.border--none td {
    padding: 2rem;
  }
}
.l-page section.default table.border--none th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border--none th {
    width: 100% !important;
    display: block;
    border-bottom: 0.1rem dashed var(--gray);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border--none td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.default table.border--none th.w10,
.l-page section.default table.border--none td.w10 {
  width: 10%;
}
.l-page section.default table.border--none th.w20,
.l-page section.default table.border--none td.w20 {
  width: 20%;
}
.l-page section.default table.border--none th.w30,
.l-page section.default table.border--none td.w30 {
  width: 30%;
}
.l-page section.default table.border--none th.w40,
.l-page section.default table.border--none td.w40 {
  width: 40%;
}
.l-page section.default table.border--none th.w50,
.l-page section.default table.border--none td.w50 {
  width: 50%;
}
.l-page section.default table.border--none th.w60,
.l-page section.default table.border--none td.w60 {
  width: 60%;
}
.l-page section.default table.border--none th.w70,
.l-page section.default table.border--none td.w70 {
  width: 70%;
}
.l-page section.default table.border--none th.w80,
.l-page section.default table.border--none td.w80 {
  width: 80%;
}
.l-page section.default table.border--none th.w90,
.l-page section.default table.border--none td.w90 {
  width: 90%;
}
.l-page section.default table.border--none th.main,
.l-page section.default table.border--none td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.default table.border--none th.main-light,
.l-page section.default table.border--none td.main-light {
  background: var(--main-light);
}
.l-page section.default table.border--none th.gray-light,
.l-page section.default table.border--none td.gray-light {
  background: var(--gray-light);
}
.l-page section.default table.border {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0.1rem solid var(--gray);
}
.l-page section.default table.border th,
.l-page section.default table.border td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border th,
  .l-page section.default table.border td {
    padding: 2rem;
  }
}
.l-page section.default table.border th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
  border-right: 0.1rem solid var(--gray);
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border th {
    width: 100% !important;
    display: block;
    border-right: none;
    border-bottom: 0.1rem dashed var(--gray);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.default table.border th.w10,
.l-page section.default table.border td.w10 {
  width: 10%;
}
.l-page section.default table.border th.w20,
.l-page section.default table.border td.w20 {
  width: 20%;
}
.l-page section.default table.border th.w30,
.l-page section.default table.border td.w30 {
  width: 30%;
}
.l-page section.default table.border th.w40,
.l-page section.default table.border td.w40 {
  width: 40%;
}
.l-page section.default table.border th.w50,
.l-page section.default table.border td.w50 {
  width: 50%;
}
.l-page section.default table.border th.w60,
.l-page section.default table.border td.w60 {
  width: 60%;
}
.l-page section.default table.border th.w70,
.l-page section.default table.border td.w70 {
  width: 70%;
}
.l-page section.default table.border th.w80,
.l-page section.default table.border td.w80 {
  width: 80%;
}
.l-page section.default table.border th.w90,
.l-page section.default table.border td.w90 {
  width: 90%;
}
.l-page section.default table.border th.main,
.l-page section.default table.border td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.default table.border th.main-light,
.l-page section.default table.border td.main-light {
  background: var(--main-light);
}
.l-page section.default table.border th.gray-light,
.l-page section.default table.border td.gray-light {
  background: var(--gray-light);
}
.l-page section.default table.border--plane {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-top: 0.1rem solid var(--gray);
  border-left: 0.1rem solid var(--gray);
}
.l-page section.default table.border--plane th,
.l-page section.default table.border--plane td {
  vertical-align: middle;
  border-right: 0.1rem solid var(--gray);
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
.l-page section.default table.border--plane th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
  border-right: 0.1rem solid var(--gray);
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border--plane th {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.default table.border--plane td {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
.l-page section.default table.border--plane th.w10,
.l-page section.default table.border--plane td.w10 {
  width: 10%;
}
.l-page section.default table.border--plane th.w20,
.l-page section.default table.border--plane td.w20 {
  width: 20%;
}
.l-page section.default table.border--plane th.w30,
.l-page section.default table.border--plane td.w30 {
  width: 30%;
}
.l-page section.default table.border--plane th.w40,
.l-page section.default table.border--plane td.w40 {
  width: 40%;
}
.l-page section.default table.border--plane th.w50,
.l-page section.default table.border--plane td.w50 {
  width: 50%;
}
.l-page section.default table.border--plane th.w60,
.l-page section.default table.border--plane td.w60 {
  width: 60%;
}
.l-page section.default table.border--plane th.w70,
.l-page section.default table.border--plane td.w70 {
  width: 70%;
}
.l-page section.default table.border--plane th.w80,
.l-page section.default table.border--plane td.w80 {
  width: 80%;
}
.l-page section.default table.border--plane th.w90,
.l-page section.default table.border--plane td.w90 {
  width: 90%;
}
.l-page section.default table.border--plane th.main,
.l-page section.default table.border--plane td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.default table.border--plane th.main-light,
.l-page section.default table.border--plane td.main-light {
  background: var(--main-light);
}
.l-page section.default table.border--plane th.gray-light,
.l-page section.default table.border--plane td.gray-light {
  background: var(--gray-light);
}
@media screen and (max-width: 840px) {
  .l-page section.default table.scroll {
    min-width: 90rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.default table.scroll th {
    width: auto !important;
    display: table-cell !important;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.default table.scroll td {
    width: auto !important;
    display: table-cell !important;
  }
}
.l-page section.default .profile {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
.l-page section.default .profile .profileTxt {
  width: calc((100% - 0.2rem) / 2);
  height: auto;
  background: url(../img/profile.png) no-repeat center center/cover;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 3.2rem;
  line-height: 1.6;
}
@media screen and (max-width: 840px) {
  .l-page section.default .profile .profileTxt {
    width: 100%;
    margin-top: 0.2rem;
  }
}
.l-page section.default .profile .profileTxt p:nth-child(1) {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.default .profile .profileTxt p:nth-child(2) {
  font-size: 3.4rem;
  font-weight: 600;
}
.l-page section.default .profile .profileTxt p:nth-child(3) {
  color: var(--main-dark);
  margin-top: 2.4rem;
}
.l-page section.default .profile .profileImg {
  width: calc((100% - 0.2rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.default .profile .profileImg {
    width: 100%;
  }
}
.l-page section.default .price {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
  border-top: 0.1rem solid var(--gray);
  border-bottom: 0.1rem solid var(--gray);
}
.l-page section.default .price__left {
  width: 24%;
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.default .price__left {
    width: 100%;
    padding: 2rem 0;
    text-align: center;
  }
}
.l-page section.default .price__left img {
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media screen and (max-width: 840px) {
  .l-page section.default .price__left img {
    width: 60%;
  }
}
.l-page section.default .price__center {
  width: calc(52% - 6rem);
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.default .price__center {
    width: 100%;
    padding: 0 0 2rem 0;
  }
}
.l-page section.default .price__right {
  width: 24%;
  background: var(--gray-light);
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media screen and (max-width: 840px) {
  .l-page section.default .price__right {
    width: 100%;
  }
}
.l-page section.default .price__product {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.l-page section.default .price__row1 {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.default .price__row2 {
  width: 100%;
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.default .price__row2:nth-child(2) {
  border-top: 0.2rem solid var(--white);
}
.l-page section.default .price__row3 {
  width: 100%;
  height: 33.3333333333%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.default .price__row3:nth-child(2), .l-page section.default .price__row3:nth-child(3) {
  border-top: 0.2rem solid var(--white);
}
.l-page section.default .price__num {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.default .price + .price {
  margin-top: -0.1rem;
}
.l-page section.gray-light + section.gray-light {
  margin-top: -8rem;
}
.l-page section.gray-light {
  background: var(--gray-light);
}
.l-page section.gray-light .inner {
  width: 100%;
  max-width: 98rem;
  margin: 0 auto;
  font-size: 1.6rem;
  padding: 8rem 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light .inner {
    padding: 6rem 2rem;
  }
}
.l-page section.gray-light h1 {
  color: var(--main);
  text-align: center;
  font-size: 3.6rem;
  font-weight: 400;
  margin-bottom: 8rem;
}
.l-page section.gray-light h1 span {
  color: var(--main-dark);
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 6rem;
  position: relative;
}
.l-page section.gray-light h1 span::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 7rem;
  height: 0.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: var(--main-dark);
}
.l-page section.gray-light h2 {
  background: var(--main-dark);
  color: var(--white);
  text-align: center;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1rem 2rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light h2 {
    font-size: 2.4rem;
  }
}
.l-page section.gray-light h2 + p,
.l-page section.gray-light h2 + h3,
.l-page section.gray-light h2 + h4,
.l-page section.gray-light h2 + h5,
.l-page section.gray-light h2 + h6,
.l-page section.gray-light h2 + ol,
.l-page section.gray-light h2 + ul,
.l-page section.gray-light h2 + table,
.l-page section.gray-light h2 + .profile {
  margin-top: 4rem !important;
}
.l-page section.gray-light h3 {
  color: var(--main-dark);
  font-size: 2.4rem;
  font-weight: 600;
  border-bottom: 0.1rem solid var(--main);
  line-height: 1.6;
  padding: 0 0 1rem 0;
  margin-top: 4rem !important;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light h3 {
    font-size: 2rem;
  }
}
.l-page section.gray-light h4 {
  background: var(--main-light);
  color: var(--main);
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0.8rem 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light h4 {
    font-size: 1.6rem;
  }
}
.l-page section.gray-light h5 {
  color: var(--main);
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: -0.8rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light h5 {
    font-size: 1.4rem;
  }
}
.l-page section.gray-light h5::before {
  content: "●";
  padding: 0 0.5em 0 0;
}
.l-page section.gray-light h6 {
  color: var(--main);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: -1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light h6 {
    font-size: 1.2rem;
  }
}
.l-page section.gray-light .flowTtl {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
}
.l-page section.gray-light .flowTtl span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--main);
  color: var(--white);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.gray-light ol.number {
  counter-reset: list;
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.gray-light ol.number li {
  position: relative;
  margin: 0;
  padding: 0.9rem 0 0.9rem 6.6rem;
}
.l-page section.gray-light ol.number li::before {
  counter-increment: list;
  content: counter(list);
  color: var(--white);
  background: var(--main);
  font-size: 2rem;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
}
.l-page section.gray-light ol.number li span {
  display: block;
  font-weight: 600;
}
.l-page section.gray-light ol.number li + li {
  margin-top: 2.4rem;
}
.l-page section.gray-light ol.flow {
  counter-reset: list;
}
.l-page section.gray-light ol.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light ol.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.gray-light ol.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light ol.flow li div {
    width: 100%;
  }
}
.l-page section.gray-light ol.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.gray-light ol.flow li div span::before {
  counter-increment: list;
  content: counter(list);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--main);
  color: var(--white);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.gray-light ol.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.gray-light ol.flow li div.full {
  width: 100%;
}
.l-page section.gray-light ol.flow li div.full > * + * {
  margin-top: 2rem;
}
.l-page section.gray-light ol.flow li:not(:nth-child(1)),
.l-page section.gray-light ol.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.gray-light ul.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light ul.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.gray-light ul.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light ul.flow li div {
    width: 100%;
  }
}
.l-page section.gray-light ul.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.gray-light ul.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.gray-light ul.flow li:not(:nth-child(1)),
.l-page section.gray-light ul.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.gray-light ul.circle {
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.gray-light ul.circle li {
  position: relative;
  margin: 0;
  padding: 0 0 0 5rem;
}
.l-page section.gray-light ul.circle li::before {
  content: "●";
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  text-align: center;
  color: var(--main-dark);
}
.l-page section.gray-light ul.circle li span {
  display: block;
  font-weight: 600;
}
.l-page section.gray-light ul.circle li + li {
  margin-top: 2.4rem;
}
.l-page section.gray-light ul.check {
  list-style-type: none;
}
.l-page section.gray-light ul.check li {
  position: relative;
  padding: 0 0 0 5rem;
}
.l-page section.gray-light ul.check li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5em;
  left: 1.5rem;
  width: 2rem;
  text-align: center;
  height: 1rem;
  border-left: 0.3rem solid var(--main-dark);
  border-bottom: 0.3rem solid var(--main-dark);
  transform: rotate(-45deg);
}
.l-page section.gray-light ul.check li + li {
  margin-top: 2.4rem;
}
.l-page section.gray-light dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0;
  width: 100%;
  gap: 1.6rem;
}
.l-page section.gray-light dl dt {
  width: 10rem;
  font-weight: 600;
}
.l-page section.gray-light dl dd {
  width: calc(100% - 11.6rem);
}
.l-page section.gray-light table.border--none {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-top: 0.1rem solid var(--gray);
}
.l-page section.gray-light table.border--none th,
.l-page section.gray-light table.border--none td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border--none th,
  .l-page section.gray-light table.border--none td {
    padding: 2rem;
  }
}
.l-page section.gray-light table.border--none th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border--none th {
    width: 100% !important;
    display: block;
    border-bottom: 0.1rem dashed var(--gray);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border--none td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.gray-light table.border--none th.w10,
.l-page section.gray-light table.border--none td.w10 {
  width: 10%;
}
.l-page section.gray-light table.border--none th.w20,
.l-page section.gray-light table.border--none td.w20 {
  width: 20%;
}
.l-page section.gray-light table.border--none th.w30,
.l-page section.gray-light table.border--none td.w30 {
  width: 30%;
}
.l-page section.gray-light table.border--none th.w40,
.l-page section.gray-light table.border--none td.w40 {
  width: 40%;
}
.l-page section.gray-light table.border--none th.w50,
.l-page section.gray-light table.border--none td.w50 {
  width: 50%;
}
.l-page section.gray-light table.border--none th.w60,
.l-page section.gray-light table.border--none td.w60 {
  width: 60%;
}
.l-page section.gray-light table.border--none th.w70,
.l-page section.gray-light table.border--none td.w70 {
  width: 70%;
}
.l-page section.gray-light table.border--none th.w80,
.l-page section.gray-light table.border--none td.w80 {
  width: 80%;
}
.l-page section.gray-light table.border--none th.w90,
.l-page section.gray-light table.border--none td.w90 {
  width: 90%;
}
.l-page section.gray-light table.border--none th.main,
.l-page section.gray-light table.border--none td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.gray-light table.border--none th.main-light,
.l-page section.gray-light table.border--none td.main-light {
  background: var(--main-light);
}
.l-page section.gray-light table.border--none th.gray-light,
.l-page section.gray-light table.border--none td.gray-light {
  background: var(--gray-light);
}
.l-page section.gray-light table.border {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0.1rem solid var(--gray);
}
.l-page section.gray-light table.border th,
.l-page section.gray-light table.border td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border th,
  .l-page section.gray-light table.border td {
    padding: 2rem;
  }
}
.l-page section.gray-light table.border th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
  border-right: 0.1rem solid var(--gray);
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border th {
    width: 100% !important;
    display: block;
    border-right: none;
    border-bottom: 0.1rem dashed var(--gray);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.gray-light table.border th.w10,
.l-page section.gray-light table.border td.w10 {
  width: 10%;
}
.l-page section.gray-light table.border th.w20,
.l-page section.gray-light table.border td.w20 {
  width: 20%;
}
.l-page section.gray-light table.border th.w30,
.l-page section.gray-light table.border td.w30 {
  width: 30%;
}
.l-page section.gray-light table.border th.w40,
.l-page section.gray-light table.border td.w40 {
  width: 40%;
}
.l-page section.gray-light table.border th.w50,
.l-page section.gray-light table.border td.w50 {
  width: 50%;
}
.l-page section.gray-light table.border th.w60,
.l-page section.gray-light table.border td.w60 {
  width: 60%;
}
.l-page section.gray-light table.border th.w70,
.l-page section.gray-light table.border td.w70 {
  width: 70%;
}
.l-page section.gray-light table.border th.w80,
.l-page section.gray-light table.border td.w80 {
  width: 80%;
}
.l-page section.gray-light table.border th.w90,
.l-page section.gray-light table.border td.w90 {
  width: 90%;
}
.l-page section.gray-light table.border th.main,
.l-page section.gray-light table.border td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.gray-light table.border th.main-light,
.l-page section.gray-light table.border td.main-light {
  background: var(--main-light);
}
.l-page section.gray-light table.border th.gray-light,
.l-page section.gray-light table.border td.gray-light {
  background: var(--gray-light);
}
.l-page section.gray-light table.border--plane {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0.1rem solid var(--gray);
}
.l-page section.gray-light table.border--plane th,
.l-page section.gray-light table.border--plane td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
.l-page section.gray-light table.border--plane th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
  border-right: 0.1rem solid var(--gray);
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border--plane th {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.border--plane td {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
.l-page section.gray-light table.border--plane th.w10,
.l-page section.gray-light table.border--plane td.w10 {
  width: 10%;
}
.l-page section.gray-light table.border--plane th.w20,
.l-page section.gray-light table.border--plane td.w20 {
  width: 20%;
}
.l-page section.gray-light table.border--plane th.w30,
.l-page section.gray-light table.border--plane td.w30 {
  width: 30%;
}
.l-page section.gray-light table.border--plane th.w40,
.l-page section.gray-light table.border--plane td.w40 {
  width: 40%;
}
.l-page section.gray-light table.border--plane th.w50,
.l-page section.gray-light table.border--plane td.w50 {
  width: 50%;
}
.l-page section.gray-light table.border--plane th.w60,
.l-page section.gray-light table.border--plane td.w60 {
  width: 60%;
}
.l-page section.gray-light table.border--plane th.w70,
.l-page section.gray-light table.border--plane td.w70 {
  width: 70%;
}
.l-page section.gray-light table.border--plane th.w80,
.l-page section.gray-light table.border--plane td.w80 {
  width: 80%;
}
.l-page section.gray-light table.border--plane th.w90,
.l-page section.gray-light table.border--plane td.w90 {
  width: 90%;
}
.l-page section.gray-light table.border--plane th.main,
.l-page section.gray-light table.border--plane td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.gray-light table.border--plane th.main-light,
.l-page section.gray-light table.border--plane td.main-light {
  background: var(--main-light);
}
.l-page section.gray-light table.border--plane th.gray-light,
.l-page section.gray-light table.border--plane td.gray-light {
  background: var(--gray-light);
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.scroll {
    min-width: 90rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.scroll th {
    width: auto !important;
    display: table-cell !important;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light table.scroll td {
    width: auto !important;
    display: table-cell !important;
  }
}
.l-page section.gray-light .profile {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
.l-page section.gray-light .profile .profileTxt {
  width: calc((100% - 0.2rem) / 2);
  height: auto;
  background: url(../img/profile.png) no-repeat center center/cover;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 3.2rem;
  line-height: 1.6;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light .profile .profileTxt {
    width: 100%;
    margin-top: 0.2rem;
  }
}
.l-page section.gray-light .profile .profileTxt p:nth-child(1) {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.gray-light .profile .profileTxt p:nth-child(2) {
  font-size: 3.4rem;
  font-weight: 600;
}
.l-page section.gray-light .profile .profileTxt p:nth-child(3) {
  color: var(--main-dark);
  margin-top: 2.4rem;
}
.l-page section.gray-light .profile .profileImg {
  width: calc((100% - 0.2rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light .profile .profileImg {
    width: 100%;
  }
}
.l-page section.gray-light .price {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
  border-top: 0.1rem solid var(--gray);
  border-bottom: 0.1rem solid var(--gray);
}
.l-page section.gray-light .price__left {
  width: 24%;
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light .price__left {
    width: 100%;
    padding: 2rem 0;
    text-align: center;
  }
}
.l-page section.gray-light .price__left img {
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light .price__left img {
    width: 60%;
  }
}
.l-page section.gray-light .price__center {
  width: calc(52% - 6rem);
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light .price__center {
    width: 100%;
    padding: 0 0 2rem 0;
  }
}
.l-page section.gray-light .price__right {
  width: 24%;
  background: var(--white);
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media screen and (max-width: 840px) {
  .l-page section.gray-light .price__right {
    width: 100%;
  }
}
.l-page section.gray-light .price__product {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.l-page section.gray-light .price__row1 {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.gray-light .price__row2 {
  width: 100%;
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.gray-light .price__row2:nth-child(2) {
  border-top: 0.2rem solid var(--gray-light);
}
.l-page section.gray-light .price__row3 {
  width: 100%;
  height: 33.3333333333%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.gray-light .price__row3:nth-child(2), .l-page section.gray-light .price__row3:nth-child(3) {
  border-top: 0.2rem solid var(--gray-light);
}
.l-page section.gray-light .price__num {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.gray-light .price + .price {
  margin-top: -0.1rem;
}
.l-page section.main-light + section.main-light {
  margin-top: -8rem;
}
.l-page section.main-light {
  background: var(--main-light);
}
.l-page section.main-light .inner {
  width: 100%;
  max-width: 98rem;
  margin: 0 auto;
  font-size: 1.6rem;
  padding: 8rem 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light .inner {
    padding: 6rem 2rem;
  }
}
.l-page section.main-light h1 {
  color: var(--main);
  text-align: center;
  font-size: 3.6rem;
  font-weight: 400;
  margin-bottom: 8rem;
}
.l-page section.main-light h1 span {
  color: var(--main-dark);
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 6rem;
  position: relative;
}
.l-page section.main-light h1 span::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 7rem;
  height: 0.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: var(--main-dark);
}
.l-page section.main-light h2 {
  background: var(--main-dark);
  color: var(--white);
  text-align: center;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1rem 2rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light h2 {
    font-size: 2.4rem;
  }
}
.l-page section.main-light h2 + p,
.l-page section.main-light h2 + h3,
.l-page section.main-light h2 + h4,
.l-page section.main-light h2 + h5,
.l-page section.main-light h2 + h6,
.l-page section.main-light h2 + ol,
.l-page section.main-light h2 + ul,
.l-page section.main-light h2 + table,
.l-page section.main-light h2 + .profile {
  margin-top: 4rem !important;
}
.l-page section.main-light h3 {
  color: var(--main-dark);
  font-size: 2.4rem;
  font-weight: 600;
  border-bottom: 0.1rem solid var(--main);
  line-height: 1.6;
  padding: 0 0 1rem 0;
  margin-top: 4rem !important;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light h3 {
    font-size: 2rem;
  }
}
.l-page section.main-light h4 {
  background: var(--white);
  color: var(--main);
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0.8rem 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light h4 {
    font-size: 1.6rem;
  }
}
.l-page section.main-light h5 {
  color: var(--main);
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: -0.8rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light h5 {
    font-size: 1.4rem;
  }
}
.l-page section.main-light h5::before {
  content: "●";
  padding: 0 0.5em 0 0;
}
.l-page section.main-light h6 {
  color: var(--main);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: -1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light h6 {
    font-size: 1.2rem;
  }
}
.l-page section.main-light .flowTtl {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
}
.l-page section.main-light .flowTtl span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--main);
  color: var(--white);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.main-light ol.number {
  counter-reset: list;
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.main-light ol.number li {
  position: relative;
  margin: 0;
  padding: 0.9rem 0 0.9rem 6.6rem;
}
.l-page section.main-light ol.number li::before {
  counter-increment: list;
  content: counter(list);
  color: var(--white);
  background: var(--main);
  font-size: 2rem;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
}
.l-page section.main-light ol.number li span {
  display: block;
  font-weight: 600;
}
.l-page section.main-light ol.number li + li {
  margin-top: 2.4rem;
}
.l-page section.main-light ol.flow {
  counter-reset: list;
}
.l-page section.main-light ol.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light ol.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.main-light ol.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.main-light ol.flow li div {
    width: 100%;
  }
}
.l-page section.main-light ol.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.main-light ol.flow li div span::before {
  counter-increment: list;
  content: counter(list);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--main);
  color: var(--white);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.main-light ol.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.main-light ol.flow li div.full {
  width: 100%;
}
.l-page section.main-light ol.flow li div.full > * + * {
  margin-top: 2rem;
}
.l-page section.main-light ol.flow li:not(:nth-child(1)),
.l-page section.main-light ol.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.main-light ul.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light ul.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.main-light ul.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.main-light ul.flow li div {
    width: 100%;
  }
}
.l-page section.main-light ul.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.main-light ul.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.main-light ul.flow li:not(:nth-child(1)),
.l-page section.main-light ul.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.main-light ul.circle {
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.main-light ul.circle li {
  position: relative;
  margin: 0;
  padding: 0 0 0 5rem;
}
.l-page section.main-light ul.circle li::before {
  content: "●";
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  text-align: center;
  color: var(--main-dark);
}
.l-page section.main-light ul.circle li span {
  display: block;
  font-weight: 600;
}
.l-page section.main-light ul.circle li + li {
  margin-top: 2.4rem;
}
.l-page section.main-light ul.check {
  list-style-type: none;
}
.l-page section.main-light ul.check li {
  position: relative;
  padding: 0 0 0 5rem;
}
.l-page section.main-light ul.check li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5em;
  left: 1.5rem;
  width: 2rem;
  text-align: center;
  height: 1rem;
  border-left: 0.3rem solid var(--main-dark);
  border-bottom: 0.3rem solid var(--main-dark);
  transform: rotate(-45deg);
}
.l-page section.main-light ul.check li + li {
  margin-top: 2.4rem;
}
.l-page section.main-light dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0;
  width: 100%;
  gap: 1.6rem;
}
.l-page section.main-light dl dt {
  width: 10rem;
  font-weight: 600;
}
.l-page section.main-light dl dd {
  width: calc(100% - 11.6rem);
}
.l-page section.main-light table.border--none {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-top: 0.1rem solid var(--gray);
}
.l-page section.main-light table.border--none th,
.l-page section.main-light table.border--none td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border--none th,
  .l-page section.main-light table.border--none td {
    padding: 2rem;
  }
}
.l-page section.main-light table.border--none th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border--none th {
    width: 100% !important;
    display: block;
    border-bottom: 0.1rem dashed var(--gray);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border--none td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.main-light table.border--none th.w10,
.l-page section.main-light table.border--none td.w10 {
  width: 10%;
}
.l-page section.main-light table.border--none th.w20,
.l-page section.main-light table.border--none td.w20 {
  width: 20%;
}
.l-page section.main-light table.border--none th.w30,
.l-page section.main-light table.border--none td.w30 {
  width: 30%;
}
.l-page section.main-light table.border--none th.w40,
.l-page section.main-light table.border--none td.w40 {
  width: 40%;
}
.l-page section.main-light table.border--none th.w50,
.l-page section.main-light table.border--none td.w50 {
  width: 50%;
}
.l-page section.main-light table.border--none th.w60,
.l-page section.main-light table.border--none td.w60 {
  width: 60%;
}
.l-page section.main-light table.border--none th.w70,
.l-page section.main-light table.border--none td.w70 {
  width: 70%;
}
.l-page section.main-light table.border--none th.w80,
.l-page section.main-light table.border--none td.w80 {
  width: 80%;
}
.l-page section.main-light table.border--none th.w90,
.l-page section.main-light table.border--none td.w90 {
  width: 90%;
}
.l-page section.main-light table.border--none th.main,
.l-page section.main-light table.border--none td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.main-light table.border--none th.main-light,
.l-page section.main-light table.border--none td.main-light {
  background: var(--main-light);
}
.l-page section.main-light table.border--none th.gray-light,
.l-page section.main-light table.border--none td.gray-light {
  background: var(--gray-light);
}
.l-page section.main-light table.border {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0.1rem solid var(--gray);
}
.l-page section.main-light table.border th,
.l-page section.main-light table.border td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border th,
  .l-page section.main-light table.border td {
    padding: 2rem;
  }
}
.l-page section.main-light table.border th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
  border-right: 0.1rem solid var(--gray);
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border th {
    width: 100% !important;
    display: block;
    border-right: none;
    border-bottom: 0.1rem dashed var(--gray);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.main-light table.border th.w10,
.l-page section.main-light table.border td.w10 {
  width: 10%;
}
.l-page section.main-light table.border th.w20,
.l-page section.main-light table.border td.w20 {
  width: 20%;
}
.l-page section.main-light table.border th.w30,
.l-page section.main-light table.border td.w30 {
  width: 30%;
}
.l-page section.main-light table.border th.w40,
.l-page section.main-light table.border td.w40 {
  width: 40%;
}
.l-page section.main-light table.border th.w50,
.l-page section.main-light table.border td.w50 {
  width: 50%;
}
.l-page section.main-light table.border th.w60,
.l-page section.main-light table.border td.w60 {
  width: 60%;
}
.l-page section.main-light table.border th.w70,
.l-page section.main-light table.border td.w70 {
  width: 70%;
}
.l-page section.main-light table.border th.w80,
.l-page section.main-light table.border td.w80 {
  width: 80%;
}
.l-page section.main-light table.border th.w90,
.l-page section.main-light table.border td.w90 {
  width: 90%;
}
.l-page section.main-light table.border th.main,
.l-page section.main-light table.border td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.main-light table.border th.main-light,
.l-page section.main-light table.border td.main-light {
  background: var(--main-light);
}
.l-page section.main-light table.border th.gray-light,
.l-page section.main-light table.border td.gray-light {
  background: var(--gray-light);
}
.l-page section.main-light table.border--plane {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0.1rem solid var(--gray);
}
.l-page section.main-light table.border--plane th,
.l-page section.main-light table.border--plane td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--gray);
  padding: 2.4rem;
}
.l-page section.main-light table.border--plane th {
  text-align: left;
  color: var(--main-dark);
  font-weight: 600;
  border-right: 0.1rem solid var(--gray);
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border--plane th {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.border--plane td {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
.l-page section.main-light table.border--plane th.w10,
.l-page section.main-light table.border--plane td.w10 {
  width: 10%;
}
.l-page section.main-light table.border--plane th.w20,
.l-page section.main-light table.border--plane td.w20 {
  width: 20%;
}
.l-page section.main-light table.border--plane th.w30,
.l-page section.main-light table.border--plane td.w30 {
  width: 30%;
}
.l-page section.main-light table.border--plane th.w40,
.l-page section.main-light table.border--plane td.w40 {
  width: 40%;
}
.l-page section.main-light table.border--plane th.w50,
.l-page section.main-light table.border--plane td.w50 {
  width: 50%;
}
.l-page section.main-light table.border--plane th.w60,
.l-page section.main-light table.border--plane td.w60 {
  width: 60%;
}
.l-page section.main-light table.border--plane th.w70,
.l-page section.main-light table.border--plane td.w70 {
  width: 70%;
}
.l-page section.main-light table.border--plane th.w80,
.l-page section.main-light table.border--plane td.w80 {
  width: 80%;
}
.l-page section.main-light table.border--plane th.w90,
.l-page section.main-light table.border--plane td.w90 {
  width: 90%;
}
.l-page section.main-light table.border--plane th.main,
.l-page section.main-light table.border--plane td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.main-light table.border--plane th.main-light,
.l-page section.main-light table.border--plane td.main-light {
  background: var(--main-light);
}
.l-page section.main-light table.border--plane th.gray-light,
.l-page section.main-light table.border--plane td.gray-light {
  background: var(--gray-light);
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.scroll {
    min-width: 90rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.scroll th {
    width: auto !important;
    display: table-cell !important;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main-light table.scroll td {
    width: auto !important;
    display: table-cell !important;
  }
}
.l-page section.main-light .profile {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
.l-page section.main-light .profile .profileTxt {
  width: calc((100% - 0.2rem) / 2);
  height: auto;
  background: url(../img/profile.png) no-repeat center center/cover;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 3.2rem;
  line-height: 1.6;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light .profile .profileTxt {
    width: 100%;
    margin-top: 0.2rem;
  }
}
.l-page section.main-light .profile .profileTxt p:nth-child(1) {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.main-light .profile .profileTxt p:nth-child(2) {
  font-size: 3.4rem;
  font-weight: 600;
}
.l-page section.main-light .profile .profileTxt p:nth-child(3) {
  color: var(--main-dark);
  margin-top: 2.4rem;
}
.l-page section.main-light .profile .profileImg {
  width: calc((100% - 0.2rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.main-light .profile .profileImg {
    width: 100%;
  }
}
.l-page section.main-light .price {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
  border-top: 0.1rem solid var(--gray);
  border-bottom: 0.1rem solid var(--gray);
}
.l-page section.main-light .price__left {
  width: 24%;
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light .price__left {
    width: 100%;
    padding: 2rem 0;
    text-align: center;
  }
}
.l-page section.main-light .price__left img {
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light .price__left img {
    width: 60%;
  }
}
.l-page section.main-light .price__center {
  width: calc(52% - 6rem);
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light .price__center {
    width: 100%;
    padding: 0 0 2rem 0;
  }
}
.l-page section.main-light .price__right {
  width: 24%;
  background: var(--white);
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media screen and (max-width: 840px) {
  .l-page section.main-light .price__right {
    width: 100%;
  }
}
.l-page section.main-light .price__product {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.l-page section.main-light .price__row1 {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.main-light .price__row2 {
  width: 100%;
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.main-light .price__row2:nth-child(2) {
  border-top: 0.2rem solid var(--main-light);
}
.l-page section.main-light .price__row3 {
  width: 100%;
  height: 33.3333333333%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.main-light .price__row3:nth-child(2), .l-page section.main-light .price__row3:nth-child(3) {
  border-top: 0.2rem solid var(--main-light);
}
.l-page section.main-light .price__num {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.main-light .price + .price {
  margin-top: -0.1rem;
}
.l-page section.main + section.main {
  margin-top: -8rem;
}
.l-page section.main {
  background: var(--main);
}
.l-page section.main .inner {
  width: 100%;
  max-width: 98rem;
  margin: 0 auto;
  font-size: 1.6rem;
  padding: 8rem 4rem;
  color: var(--white);
}
@media screen and (max-width: 840px) {
  .l-page section.main .inner {
    padding: 6rem 2rem;
  }
}
.l-page section.main h1 {
  color: var(--white);
  text-align: center;
  font-size: 3.6rem;
  font-weight: 400;
  margin-bottom: 8rem;
}
.l-page section.main h1 span {
  color: var(--white);
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 6rem;
  position: relative;
}
.l-page section.main h1 span::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 7rem;
  height: 0.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: var(--white);
}
.l-page section.main h2 {
  background: var(--main-dark);
  color: var(--white);
  text-align: center;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1rem 2rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main h2 {
    font-size: 2.4rem;
  }
}
.l-page section.main h2 + p,
.l-page section.main h2 + h3,
.l-page section.main h2 + h4,
.l-page section.main h2 + h5,
.l-page section.main h2 + h6,
.l-page section.main h2 + ol,
.l-page section.main h2 + ul,
.l-page section.main h2 + table,
.l-page section.main h2 + .profile {
  margin-top: 4rem !important;
}
.l-page section.main h3 {
  color: var(--white);
  font-size: 2.4rem;
  font-weight: 600;
  border-bottom: 0.1rem solid var(--white);
  line-height: 1.6;
  padding: 0 0 1rem 0;
  margin-top: 4rem !important;
}
@media screen and (max-width: 840px) {
  .l-page section.main h3 {
    font-size: 2rem;
  }
}
.l-page section.main h4 {
  background: var(--main-light);
  color: var(--main);
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0.8rem 1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main h4 {
    font-size: 1.6rem;
  }
}
.l-page section.main h5 {
  color: var(--white);
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: -0.8rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main h5 {
    font-size: 1.4rem;
  }
}
.l-page section.main h5::before {
  content: "●";
  padding: 0 0.5em 0 0;
}
.l-page section.main h6 {
  color: var(--white);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: -1.6rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main h6 {
    font-size: 1.2rem;
  }
}
.l-page section.main .flowTtl {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
}
.l-page section.main .flowTtl span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--white);
  color: var(--main);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.main ol.number {
  counter-reset: list;
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.main ol.number li {
  position: relative;
  margin: 0;
  padding: 0.9rem 0 0.9rem 6.6rem;
}
.l-page section.main ol.number li::before {
  counter-increment: list;
  content: counter(list);
  color: var(--main-dark);
  background: var(--main-light);
  font-size: 2rem;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
}
.l-page section.main ol.number li span {
  display: block;
  font-weight: 600;
}
.l-page section.main ol.number li + li {
  margin-top: 2.4rem;
}
.l-page section.main ol.flow {
  counter-reset: list;
}
.l-page section.main ol.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main ol.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.main ol.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.main ol.flow li div {
    width: 100%;
  }
}
.l-page section.main ol.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 4rem;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.main ol.flow li div span::before {
  counter-increment: list;
  content: counter(list);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  border-radius: 50%;
  background: var(--white);
  color: var(--main-dark);
  display: inline-block;
  text-align: center;
  font-size: 1.3rem;
}
.l-page section.main ol.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.main ol.flow li div.full {
  width: 100%;
}
.l-page section.main ol.flow li div.full > * + * {
  margin-top: 2rem;
}
.l-page section.main ol.flow li:not(:nth-child(1)),
.l-page section.main ol.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.main ul.flow li {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main ul.flow li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
.l-page section.main ul.flow li div {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.main ul.flow li div {
    width: 100%;
  }
}
.l-page section.main ul.flow li div span {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  display: block;
  margin-bottom: 2rem;
}
.l-page section.main ul.flow li div p + p {
  margin-top: 2rem;
}
.l-page section.main ul.flow li:not(:nth-child(1)),
.l-page section.main ul.flow li:not(:nth-child(2)) {
  margin-top: 4rem;
}
.l-page section.main ul.circle {
  list-style-type: none;
  margin-bottom: 2.4rem;
}
.l-page section.main ul.circle li {
  position: relative;
  margin: 0;
  padding: 0 0 0 5rem;
}
.l-page section.main ul.circle li::before {
  content: "●";
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  text-align: center;
  color: var(--white);
}
.l-page section.main ul.circle li span {
  display: block;
  font-weight: 600;
}
.l-page section.main ul.circle li + li {
  margin-top: 2.4rem;
}
.l-page section.main ul.check {
  list-style-type: none;
}
.l-page section.main ul.check li {
  position: relative;
  padding: 0 0 0 5rem;
}
.l-page section.main ul.check li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5em;
  left: 1.5rem;
  width: 2rem;
  text-align: center;
  height: 1rem;
  border-left: 0.3rem solid var(--white);
  border-bottom: 0.3rem solid var(--white);
  transform: rotate(-45deg);
}
.l-page section.main ul.check li + li {
  margin-top: 2.4rem;
}
.l-page section.main dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0;
  width: 100%;
  gap: 1.6rem;
}
.l-page section.main dl dt {
  width: 10rem;
  font-weight: 600;
}
.l-page section.main dl dd {
  width: calc(100% - 11.6rem);
}
.l-page section.main table.border--none {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-top: 0.1rem solid var(--white);
}
.l-page section.main table.border--none th,
.l-page section.main table.border--none td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--white);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border--none th,
  .l-page section.main table.border--none td {
    padding: 2rem;
  }
}
.l-page section.main table.border--none th {
  text-align: left;
  color: var(--white);
  font-weight: 600;
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border--none th {
    width: 100% !important;
    display: block;
    border-bottom: 0.1rem dashed var(--white);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border--none td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.main table.border--none th.w10,
.l-page section.main table.border--none td.w10 {
  width: 10%;
}
.l-page section.main table.border--none th.w20,
.l-page section.main table.border--none td.w20 {
  width: 20%;
}
.l-page section.main table.border--none th.w30,
.l-page section.main table.border--none td.w30 {
  width: 30%;
}
.l-page section.main table.border--none th.w40,
.l-page section.main table.border--none td.w40 {
  width: 40%;
}
.l-page section.main table.border--none th.w50,
.l-page section.main table.border--none td.w50 {
  width: 50%;
}
.l-page section.main table.border--none th.w60,
.l-page section.main table.border--none td.w60 {
  width: 60%;
}
.l-page section.main table.border--none th.w70,
.l-page section.main table.border--none td.w70 {
  width: 70%;
}
.l-page section.main table.border--none th.w80,
.l-page section.main table.border--none td.w80 {
  width: 80%;
}
.l-page section.main table.border--none th.w90,
.l-page section.main table.border--none td.w90 {
  width: 90%;
}
.l-page section.main table.border--none th.main,
.l-page section.main table.border--none td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.main table.border--none th.main-light,
.l-page section.main table.border--none td.main-light {
  background: var(--main-light);
  color: var(--main-dark);
}
.l-page section.main table.border--none th.gray-light,
.l-page section.main table.border--none td.gray-light {
  background: var(--gray-light);
  color: var(--main-dark);
}
.l-page section.main table.border {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0.1rem solid var(--white);
}
.l-page section.main table.border th,
.l-page section.main table.border td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--white);
  padding: 2.4rem;
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border th,
  .l-page section.main table.border td {
    padding: 2rem;
  }
}
.l-page section.main table.border th {
  text-align: left;
  color: var(--white);
  font-weight: 600;
  border-right: 0.1rem solid var(--white);
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border th {
    width: 100% !important;
    display: block;
    border-right: none;
    border-bottom: 0.1rem dashed var(--white);
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border td {
    width: 100% !important;
    display: block;
  }
}
.l-page section.main table.border th.w10,
.l-page section.main table.border td.w10 {
  width: 10%;
}
.l-page section.main table.border th.w20,
.l-page section.main table.border td.w20 {
  width: 20%;
}
.l-page section.main table.border th.w30,
.l-page section.main table.border td.w30 {
  width: 30%;
}
.l-page section.main table.border th.w40,
.l-page section.main table.border td.w40 {
  width: 40%;
}
.l-page section.main table.border th.w50,
.l-page section.main table.border td.w50 {
  width: 50%;
}
.l-page section.main table.border th.w60,
.l-page section.main table.border td.w60 {
  width: 60%;
}
.l-page section.main table.border th.w70,
.l-page section.main table.border td.w70 {
  width: 70%;
}
.l-page section.main table.border th.w80,
.l-page section.main table.border td.w80 {
  width: 80%;
}
.l-page section.main table.border th.w90,
.l-page section.main table.border td.w90 {
  width: 90%;
}
.l-page section.main table.border th.main,
.l-page section.main table.border td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.main table.border th.main-light,
.l-page section.main table.border td.main-light {
  background: var(--main-light);
}
.l-page section.main table.border th.gray-light,
.l-page section.main table.border td.gray-light {
  background: var(--gray-light);
}
.l-page section.main table.border--plane {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0.1rem solid var(--white);
}
.l-page section.main table.border--plane th,
.l-page section.main table.border--plane td {
  vertical-align: middle;
  border-bottom: 0.1rem solid var(--white);
  padding: 2.4rem;
}
.l-page section.main table.border--plane th {
  text-align: left;
  color: var(--white);
  font-weight: 600;
  border-right: 0.1rem solid var(--white);
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border--plane th {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main table.border--plane td {
    padding: 0.6rem;
    font-size: 1.3rem;
  }
}
.l-page section.main table.border--plane th.w10,
.l-page section.main table.border--plane td.w10 {
  width: 10%;
}
.l-page section.main table.border--plane th.w20,
.l-page section.main table.border--plane td.w20 {
  width: 20%;
}
.l-page section.main table.border--plane th.w30,
.l-page section.main table.border--plane td.w30 {
  width: 30%;
}
.l-page section.main table.border--plane th.w40,
.l-page section.main table.border--plane td.w40 {
  width: 40%;
}
.l-page section.main table.border--plane th.w50,
.l-page section.main table.border--plane td.w50 {
  width: 50%;
}
.l-page section.main table.border--plane th.w60,
.l-page section.main table.border--plane td.w60 {
  width: 60%;
}
.l-page section.main table.border--plane th.w70,
.l-page section.main table.border--plane td.w70 {
  width: 70%;
}
.l-page section.main table.border--plane th.w80,
.l-page section.main table.border--plane td.w80 {
  width: 80%;
}
.l-page section.main table.border--plane th.w90,
.l-page section.main table.border--plane td.w90 {
  width: 90%;
}
.l-page section.main table.border--plane th.main,
.l-page section.main table.border--plane td.main {
  background: var(--main);
  color: var(--white);
}
.l-page section.main table.border--plane th.main-light,
.l-page section.main table.border--plane td.main-light {
  background: var(--main-light);
}
.l-page section.main table.border--plane th.gray-light,
.l-page section.main table.border--plane td.gray-light {
  background: var(--gray-light);
}
@media screen and (max-width: 840px) {
  .l-page section.main table.scroll {
    min-width: 90rem;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main table.scroll th {
    width: auto !important;
    display: table-cell !important;
  }
}
@media screen and (max-width: 840px) {
  .l-page section.main table.scroll td {
    width: auto !important;
    display: table-cell !important;
  }
}
.l-page section.main .profile {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
.l-page section.main .profile .profileTxt {
  width: calc((100% - 0.2rem) / 2);
  height: auto;
  background: url(../img/profile.png) no-repeat center center/cover;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  padding: 3.2rem;
  line-height: 1.6;
}
@media screen and (max-width: 840px) {
  .l-page section.main .profile .profileTxt {
    width: 100%;
    margin-top: 0.2rem;
  }
}
.l-page section.main .profile .profileTxt p:nth-child(1) {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.main .profile .profileTxt p:nth-child(2) {
  font-size: 3.4rem;
  font-weight: 600;
  color: var(--main-dark);
}
.l-page section.main .profile .profileTxt p:nth-child(3) {
  color: var(--main-dark);
  margin-top: 2.4rem;
}
.l-page section.main .profile .profileImg {
  width: calc((100% - 0.2rem) / 2);
}
@media screen and (max-width: 840px) {
  .l-page section.main .profile .profileImg {
    width: 100%;
  }
}
.l-page section.main .price {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
  border-top: 0.1rem solid var(--white);
  border-bottom: 0.1rem solid var(--white);
}
.l-page section.main .price__left {
  width: 24%;
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.main .price__left {
    width: 100%;
    padding: 2rem 0;
    text-align: center;
  }
}
.l-page section.main .price__left img {
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media screen and (max-width: 840px) {
  .l-page section.main .price__left img {
    width: 60%;
  }
}
.l-page section.main .price__center {
  width: calc(52% - 6rem);
  padding: 3rem 0;
}
@media screen and (max-width: 840px) {
  .l-page section.main .price__center {
    width: 100%;
    padding: 0 0 2rem 0;
  }
}
.l-page section.main .price__right {
  width: 24%;
  background: var(--main-light);
  display: flex;
  align-items: center;
  flex-direction: column;
  color: var(--main-dark);
}
@media screen and (max-width: 840px) {
  .l-page section.main .price__right {
    width: 100%;
  }
}
.l-page section.main .price__product {
  color: var(--white);
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.l-page section.main .price__row1 {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.main .price__row2 {
  width: 100%;
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.main .price__row2:nth-child(2) {
  border-top: 0.2rem solid var(--main);
}
.l-page section.main .price__row3 {
  width: 100%;
  height: 33.3333333333%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
}
.l-page section.main .price__row3:nth-child(2), .l-page section.main .price__row3:nth-child(3) {
  border-top: 0.2rem solid var(--main);
}
.l-page section.main .price__num {
  color: var(--main-dark);
  font-size: 2rem;
  font-weight: 600;
}
.l-page section.main .price + .price {
  margin-top: -0.1rem;
}

.l-page.round h2 {
  border-radius: 1rem;
}
.l-page.round h4 {
  border-radius: 1rem;
}
.l-page.round img {
  border-radius: 1rem;
}
.l-page.round ol li::before {
  border-radius: 1rem;
}
.l-page.round .profile .profileTxt {
  border-radius: 1rem 0 0 1rem;
}
@media screen and (max-width: 840px) {
  .l-page.round .profile .profileTxt {
    border-radius: 0 0 1rem 1rem;
  }
}
.l-page.round .profile .profileImg img {
  border-radius: 0 1rem 1rem 0;
}
@media screen and (max-width: 840px) {
  .l-page.round .profile .profileImg img {
    border-radius: 1rem 1rem 0 0;
  }
}

.l-container {
  width: 100%;
  max-width: 94rem;
  margin: 0 auto;
  padding: 10rem 2rem;
}
@media screen and (max-width: 840px) {
  .l-container {
    padding: 5rem 2rem;
  }
}

.l-404 {
  width: 100%;
  max-width: 124rem;
  margin: 0 auto;
  padding: 10rem 2rem;
  text-align: center;
}
.l-404__title {
  font-size: 3.6rem;
  font-weight: 600;
}

.l-archive {
  width: 100%;
  max-width: 98rem;
  margin: 0 auto;
  padding: 0 4rem 8rem 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 4rem;
}
@media screen and (max-width: 840px) {
  .l-archive {
    padding: 6rem 2rem;
  }
}
.l-archiveTitle {
  width: 100%;
  text-align: center;
  color: var(--main-dark);
  font-size: 3.6rem;
  font-weight: 400;
}
.l-archiveAside {
  width: calc(25% - 2rem);
}
@media screen and (max-width: 840px) {
  .l-archiveAside {
    width: 100%;
  }
}
.l-archiveAside__heading {
  background: var(--main-dark);
  color: var(--white);
  padding: 1rem 2rem;
}
.l-archiveAside__cta {
  background: var(--main-dark-light);
  position: sticky;
  top: 6rem;
  padding: 2rem;
  height: 40rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.l-archiveAside__list {
  margin-top: 1rem;
}
.l-archiveAside__list li {
  border-bottom: 0.1rem solid var(--gray);
  padding: 1rem 0;
}
.l-archiveAside__list a {
  transition: all 0.7s;
}
.l-archiveAside__list a:hover {
  color: var(--main-dark);
}
.l-archiveAside__tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
  margin-top: 2rem;
}
.l-archiveAside__tagcloud li {
  display: flex;
}
.l-archiveAside__block + .l-archiveAside__block {
  margin-top: 6rem;
}
.l-archiveMain {
  width: calc(75% - 2rem);
}
@media screen and (max-width: 840px) {
  .l-archiveMain {
    width: 100%;
  }
}
.l-archiveList:first-child {
  border-top: 0.1rem solid var(--gray);
}
.l-archiveList {
  border-bottom: 0.1rem solid var(--gray);
  padding: 3.2rem 0;
}
.l-archiveList__meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 1.6rem;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 840px) {
  .l-archiveList__taxonomy {
    width: 100%;
  }
}
.l-archiveList__taxonomy a {
  color: var(--main-dark);
  font-weight: 600;
  margin-right: 1em;
  transition: all 0.5s;
}
.l-archiveList__taxonomy a:hover {
  text-decoration: underline;
}
.l-archiveList__taxonomy i {
  margin-right: 0.5em;
}
.l-archiveList__date {
  font-size: 1.1rem;
  color: var(--gray-dark);
}
@media screen and (max-width: 840px) {
  .l-archiveList__date {
    width: 100%;
  }
}
.l-archiveList__date i {
  margin-right: 0.5em;
}
.l-archiveList__thumb01 {
  display: flex;
}
.l-archiveList__thumb01 li {
  width: 100%;
}
.l-archiveList__thumb01 img {
  width: 100%;
  height: 24rem;
  object-fit: cover;
}
@media screen and (max-width: 840px) {
  .l-archiveList__thumb01 img {
    height: 16rem;
  }
}
.l-archiveList__thumb02 {
  display: flex;
}
.l-archiveList__thumb02 li {
  width: 50%;
}
.l-archiveList__thumb02 img {
  width: 100%;
  height: 20rem;
  object-fit: cover;
}
@media screen and (max-width: 840px) {
  .l-archiveList__thumb02 img {
    height: 14rem;
  }
}
.l-archiveList__head {
  font-size: 2rem;
  font-weight: 600;
  margin: 2.4rem 0 1.6rem 0;
  color: var(--black);
}
.l-archiveList__body {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.l-archiveList__bodyLeft {
  width: calc(100% - 23rem);
}
@media screen and (max-width: 840px) {
  .l-archiveList__bodyLeft {
    width: 100%;
  }
}
.l-archiveList__bodyRight {
  width: 18rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2.4rem 0;
}
@media screen and (max-width: 840px) {
  .l-archiveList__bodyRight {
    width: 100%;
    margin-top: 2.4rem;
  }
}
.l-archiveList__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0.1rem solid var(--main-dark);
  border-radius: 0.7rem;
  color: var(--main-dark);
  text-align: center;
  height: 4.7rem;
  transition: all 0.5s;
}
.l-archiveList__btn a:hover {
  background: var(--main-dark);
  color: var(--white);
}
.l-archiveList__dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.3rem;
}
.l-archiveList__dl dt {
  width: 5rem;
}
.l-archiveList__dl dd {
  width: calc(100% - 6rem);
}
.l-archiveList__dl.wide dt {
  width: 100%;
}
.l-archiveList__dl.wide dd {
  width: 100%;
}
.l-archiveList__dl + .l-archiveList__dl {
  margin-top: 1.6rem;
}

.l-caseSin__intro {
  margin: 0 0 6rem 0;
}
.l-caseSin__full {
  margin: 4rem 0 6rem 0;
}
.l-caseSin__grid {
  display: grid;
  grid-template-columns: 33.3333333333% 33.3333333333% 33.3333333333%;
  grid-template-rows: auto auto auto;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas: "grid01 grid02 grid03" "grid04 grid05 grid06" "grid07 grid08 grid09";
  margin: 4rem 0 6rem 0;
}
.l-caseSin__grid .grid01 {
  grid-area: grid01;
}
.l-caseSin__grid .grid02 {
  grid-area: grid02;
}
.l-caseSin__grid .grid03 {
  grid-area: grid03;
}
.l-caseSin__grid .grid04 {
  grid-area: grid04;
}
.l-caseSin__grid .grid05 {
  grid-area: grid05;
}
.l-caseSin__grid .grid06 {
  grid-area: grid06;
}
.l-caseSin__grid .grid07 {
  grid-area: grid07;
}
.l-caseSin__grid .grid08 {
  grid-area: grid08;
}
.l-caseSin__grid .grid09 {
  grid-area: grid09;
}
.l-caseSin__grid img {
  width: 100%;
  height: auto;
}
.l-caseSin__table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-top: 0.1rem solid var(--gray);
  border-left: 0.1rem solid var(--gray);
  margin-top: 6rem;
}
.l-caseSin__table th {
  border-bottom: 0.1rem solid var(--gray);
  border-right: 0.1rem solid var(--gray);
  width: 30%;
  padding: 1rem 2rem;
  background: var(--main-light);
}
@media screen and (max-width: 840px) {
  .l-caseSin__table th {
    width: 100%;
    display: block;
    border-bottom: none;
  }
}
.l-caseSin__table td {
  border-bottom: 0.1rem solid var(--gray);
  border-right: 0.1rem solid var(--gray);
  width: 70%;
  padding: 1rem 2rem;
}
@media screen and (max-width: 840px) {
  .l-caseSin__table td {
    width: 100%;
    display: block;
  }
}
.l-caseSin__none {
  text-align: center;
}

/* ----- c-pho-list01 ----- */
.c-pho-list01 {
  display: flex;
}
.c-pho-list01 li {
  width: 20%;
}
.c-pho-list01 img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 840px) {
  .c-pho-list01 img {
    object-fit: cover;
    object-position: top center;
    aspect-ratio: 1/1;
  }
}

/* ----- c-pho-list02 ----- */
.c-pho-list02 {
  display: flex;
}
.c-pho-list02 li {
  width: 20%;
}
.c-pho-list02 img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 840px) {
  .c-pho-list02 img {
    object-fit: cover;
    object-position: top center;
    aspect-ratio: 1/1;
  }
}

.c-calendar {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.c-calendar th {
  text-align: center;
  vertical-align: middle;
  width: 10%;
  padding: 0.7rem;
  background: var(--main);
  font-weight: 600;
}
@media screen and (max-width: 840px) {
  .c-calendar th {
    font-size: 1.3rem;
  }
}
.c-calendar th.head {
  width: 30%;
}
.c-calendar td {
  text-align: center;
  vertical-align: middle;
  width: 10%;
  padding: 0.7rem;
  background: var(--white);
  border-bottom: 0.1rem solid var(--main-dark);
  font-weight: 700;
  color: var(--main-dark);
}
@media screen and (max-width: 840px) {
  .c-calendar td {
    font-size: 1.4rem;
  }
}
.c-calendar td span {
  color: var(--base-color);
}
.c-calendar td.head {
  width: 30%;
  font-weight: 400;
  color: var(--base-color);
}
@media screen and (max-width: 840px) {
  .c-calendar td.head {
    font-size: 1.3rem;
    font-weight: 600;
    padding: 0.7rem 0;
  }
}

.c-card {
  background: var(--white);
}
@media screen and (max-width: 840px) {
  .c-card {
    box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
  }
}
.c-card__link {
  position: relative;
  display: block;
}
.c-card__label {
  position: absolute;
  top: 0;
  left: 0;
  background: #749CC9;
  color: var(--white);
  font-size: 1.1rem;
  padding: 0.2rem 1rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.c-card__thumb01 {
  display: flex;
  height: 15rem;
  align-items: center;
  overflow: hidden;
}
@media screen and (max-width: 840px) {
  .c-card__thumb01 {
    height: 13rem;
  }
}
.c-card__thumb01 img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.c-card__thumb02 {
  display: flex;
}
.c-card__thumb02 img {
  width: 100%;
  height: 15rem;
  object-fit: cover;
}
.c-card__thumb02 img.large {
  width: 100%;
  height: 24rem;
  object-fit: cover;
}
.c-card__body {
  padding: 1.6rem;
}
.c-card__title {
  font-weight: 600;
  margin-bottom: 1.6rem;
  color: var(--black);
}
.c-card__dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.1rem;
}
.c-card__dl dt {
  width: 30%;
}
.c-card__dl dd {
  width: 70%;
}
.c-card__info {
  border-top: 0.1rem solid var(--gray-light);
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  font-size: 1.1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 0.8rem;
  color: var(--gray-dark);
}

.c-case__link {
  position: relative;
  display: block;
}
.c-case__label {
  position: absolute;
  top: 0;
  left: 0;
  background: var(--main);
  color: var(--white);
  font-size: 1.1rem;
  padding: 0.2rem 1rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.c-case__thumb01 {
  display: flex;
  height: 15rem;
  align-items: center;
  overflow: hidden;
}
@media screen and (max-width: 840px) {
  .c-case__thumb01 {
    height: 13rem;
  }
}
.c-case__thumb01 img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.c-case__thumb02 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 840px) {
  .c-case__thumb02 {
    flex-wrap: wrap;
    gap: 1.6rem 0;
  }
}
.c-case__thumb02 img {
  width: 100%;
  height: 20rem;
  object-fit: cover;
  object-position: top center;
}
.c-case__thumb02 li {
  width: calc((100% - 1rem) / 2);
}
.c-case__thumb02 li:first-child {
  position: relative;
}
.c-case__thumb02 li:first-child::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "Before";
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  background: var(--base-color);
  padding: 0.5rem 1.5rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .c-case__thumb02 li:first-child::before {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
  }
}
.c-case__thumb02 li:last-child {
  position: relative;
}
.c-case__thumb02 li:last-child::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "After";
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  background: var(--main-dark);
  padding: 0.5rem 1.5rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .c-case__thumb02 li:last-child::before {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
  }
}
@media screen and (max-width: 840px) {
  .c-case__thumb02 li {
    width: 100%;
  }
}
.c-case__body {
  padding: 1.6rem 0;
}
.c-case__title {
  font-weight: 600;
  margin-bottom: 1.6rem;
  color: var(--black);
}
.c-case__dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.4rem;
}
.c-case__dl dt {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.66;
}
@media screen and (max-width: 840px) {
  .c-case__dl dt {
    width: 36%;
  }
}
@media screen and (max-width: 840px) {
  .c-case__dl dd {
    width: 64%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.c-case__dl dd + dt {
  margin-left: 2em;
}
@media screen and (max-width: 840px) {
  .c-case__dl dd + dt {
    margin-left: 0;
  }
}
.c-case__info {
  border-top: 0.1rem solid var(--gray-light);
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  font-size: 1.1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 0.8rem;
  color: var(--gray-dark);
}

.c-heading01 {
  text-align: center;
  background: url(../img/c-heading01.svg) no-repeat center top/5rem 6.2rem;
  padding-top: 8.2rem;
}
@media screen and (max-width: 840px) {
  .c-heading01 {
    background: url(../img/c-heading01.svg) no-repeat center top/auto 5rem;
    padding-top: 7rem;
  }
}
.c-heading01 .ja {
  font-family: var(--sub-font);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .c-heading01 .ja {
    font-size: 2.4rem;
  }
}
.c-heading01 .ja span {
  font-size: 5.2rem;
}
@media screen and (max-width: 840px) {
  .c-heading01 .ja span {
    font-size: 4rem;
  }
}

.c-btn01 a {
  color: var(--main-dark);
  border-radius: 10rem;
  border: 0.1rem solid var(--main-dark);
  background: var(--white) url(../img/c-btn01.svg) no-repeat center right 4.5rem/2rem auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 9.5rem 0 4.5rem;
  height: 5.4rem;
}
.c-btn01 a:hover {
  color: var(--white);
  background: var(--main-dark) url(../img/c-btn01-hover.svg) no-repeat center right 4.5rem/2rem auto;
}

@media screen and (max-width: 840px) {
    .c-btn01 a{
        padding: 0 7rem 0 3.5rem!important;
    }
}
.c-btn02 a {
  color: var(--sub);
  border-radius: 10rem;
  border: 0.1rem solid var(--sub);
  background: var(--white) url(../img/c-btn02.svg) no-repeat center right 4.5rem/2rem auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 9.5rem 0 4.5rem;
  height: 5.4rem;
}
.c-btn02 a:hover {
  color: var(--white);
  background: var(--sub) url(../img/c-btn02-hover.svg) no-repeat center right 4.5rem/2rem auto;
}

.c-catlist {
  border-top: 0.1rem solid var(--gray);
}
.c-catlist__item {
  border-bottom: 0.1rem solid var(--gray);
}
.c-catlist__link {
  display: flex;
  gap: 0 2rem;
  padding: 2rem 0;
  transition: 0.7s;
}
@media screen and (max-width: 840px) {
  .c-catlist__link {
    flex-wrap: wrap;
    gap: 1rem 2rem;
  }
}
.c-catlist__link:hover {
  opacity: 0.5;
}
@media screen and (max-width: 840px) {
  .c-catlist__date {
    display: block;
  }
}
.c-catlist__tax {
  background: var(--main);
  color: var(--white);
  text-align: center;
  width: 10rem;
  display: inline-block;
}
@media screen and (max-width: 840px) {
  .c-catlist__title {
    display: block;
    width: 100%;
  }
}

.c-pagenavi {
  text-align: center;
  margin-top: 10rem;
}
@media screen and (max-width: 840px) {
  .c-pagenavi {
    margin-top: 5rem;
  }
}
.c-pagenavi .nav-links a {
  border: 0.1rem solid var(--gray);
  color: var(--main-dark);
  display: inline-block;
  padding: 0 0.6rem;
  transition: all 0.5s;
}
.c-pagenavi .nav-links a:hover {
  border: 0.1rem solid var(--main-dark);
  background: var(--main-dark);
  color: var(--white);
}
.c-pagenavi .nav-links span {
  border: 0.1rem solid var(--main-dark-light);
  display: inline-block;
  padding: 0 0.6rem;
  background: var(--main-dark-light);
}

.wp-pagenavi {
  font-size: 1.6rem !important;
  font-weight: 500 !important;
}
.wp-pagenavi .pages {
  border: 0.1rem solid var(--gray) !important;
  background: var(--white) !important;
  color: var(--main-dark) !important;
  padding: 0 1rem !important;
  line-height: 4rem !important;
  margin: 0 0.5rem !important;
  display: inline-block;
}
.wp-pagenavi a {
  border: 0.1rem solid var(--gray) !important;
  line-height: 4rem !important;
  padding: 0 1rem !important;
  display: inline-block !important;
  color: var(--main-dark) !important;
  background: var(--white) !important;
  text-decoration: none !important;
  position: relative !important;
  margin: 0 0.5rem !important;
  transition: 0.3s !important;
  min-width: 4rem !important;
}
.wp-pagenavi a:hover {
  border: 0.1rem solid var(--main-dark) !important;
  text-decoration: none !important;
  position: relative !important;
  background: var(--main-dark) !important;
  color: var(--white) !important;
}
.wp-pagenavi a.nextpostslink {
  border: 0.1rem solid var(--gray) !important;
  line-height: 4rem !important;
  padding: 0 1rem !important;
  display: inline-block !important;
  color: var(--main-dark) !important;
  text-decoration: none !important;
  position: relative !important;
  margin: 0 0.5rem !important;
  transition: 0.3s !important;
}
.wp-pagenavi a.nextpostslink:hover {
  background: var(--main-dark) !important;
  color: var(--white) !important;
}
.wp-pagenavi a.previouspostslink {
  border: 0.1rem solid var(--gray) !important;
  line-height: 4rem !important;
  padding: 0 1rem !important;
  display: inline-block !important;
  color: var(--main-dark) !important;
  text-decoration: none !important;
  position: relative !important;
  margin: 0 0.5rem !important;
  transition: 0.3s !important;
  background: var(--white);
}
.wp-pagenavi a.previouspostslink:hover {
  background: var(--main-dark) !important;
  color: var(--white) !important;
}
.wp-pagenavi .current {
  border: 0.1rem solid var(--main-dark) !important;
  line-height: 4rem !important;
  padding: 0 1rem !important;
  display: inline-block !important;
  color: var(--white) !important;
  text-decoration: none !important;
  position: relative !important;
  margin: 0 0.5rem !important;
  background: var(--main-dark) !important;
  min-width: 4rem !important;
}

@media screen and (max-width: 840px) {
  .c-pagenavi {
    text-align: center;
  }
  .c-pagenavi__inner {
    display: block;
    padding: 1rem 0.5rem;
  }
  .c-pagenavi__scroll {
    overflow-x: auto;
    white-space: nowrap;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
  }
}
.c-tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.4rem;
}
.c-tagcloud a {
  border: 0.1rem solid var(--gray);
  border-radius: 0.8rem;
  display: inline-block;
  padding: 0 1rem;
  font-size: 1.3rem;
  transition: all 0.5s;
}
.c-tagcloud a:hover {
  background: var(--gray);
}

.c-recommend {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 4.8rem;
}
@media screen and (max-width: 840px) {
  .c-recommend {
    gap: 1.6rem 0;
  }
}
.c-recommend li {
  width: calc((100% - 9.6rem) / 3);
}
@media screen and (max-width: 840px) {
  .c-recommend li {
    width: 100%;
  }
}
.c-recommend a {
  border: 0.1rem solid var(--gray);
  border-radius: 0.6rem;
  padding: 0.8rem;
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.9rem;
  font-size: 1.3rem;
  transition: all 0.5s;
}
.c-recommend a:hover {
  border: 0.1rem solid var(--black);
}

.c-badge01 a {
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: var(--sub);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  position: relative;
  transition: all 0.5s;
}
.c-badge01 a:hover {
  background: var(--main);
}
.c-badge01__img {
  position: absolute;
  top: 2rem;
  right: -3rem;
}
.c-badge01__img img {
  width: 9.2rem !important;
  height: 14.3rem !important;
}
.c-badge01__p {
  text-align: center;
  font-size: 1.7rem;
  line-height: 1.3;
}
.c-badge01__title {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  border-top: 0.1rem solid var(--white);
  border-bottom: 0.1rem solid var(--white);
  padding: 0.6rem 0;
  margin: 0.6rem auto;
  width: 15rem;
}

.c-badge02 a {
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: var(--main);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  position: relative;
  transition: all 0.5s;
}
.c-badge02 a:hover {
  background: var(--sub);
}
.c-badge02__p {
  text-align: center;
  font-size: 1.7rem;
  line-height: 1.3;
}
.c-badge02__title {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  border-top: 0.1rem solid var(--white);
  border-bottom: 0.1rem solid var(--white);
  padding: 0.6rem 0;
  margin: 0.6rem auto;
  width: 15rem;
}

.p-cardL {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5rem;
}
@media screen and (max-width: 840px) {
  .p-cardL {
    gap: 4rem;
  }
}
.p-cardL__item {
  width: calc((100% - 5rem) / 2);
  overflow: hidden;
  border-radius: 1rem;
  background: var(--main-light);
}
@media screen and (max-width: 840px) {
  .p-cardL__item {
    width: 100%;
  }
}
.p-cardL__imgbox {
  width: 100%;
}
.p-cardL__imgbox img {
  width: 100%;
  height: 20rem;
  object-fit: cover;
  object-position: top center;
}
.p-cardL__txtbox {
  padding: 4rem;
}
@media screen and (max-width: 840px) {
  .p-cardL__txtbox {
    padding: 3rem 1.6rem;
  }
}
.p-cardL__subtitle {
  margin-bottom: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .p-cardL__subtitle {
    margin-bottom: 1rem;
  }
}
.p-cardL__subtitle h3 {
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .p-cardL__subtitle h3 {
    font-size: 3rem;
  }
}
.p-cardL__subtitle h3 span {
  display: block;
  margin-bottom: 0.8rem;
  color: var(--base-color);
  font-family: var(--base-font);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.87;
}
@media screen and (max-width: 840px) {
  .p-cardL__subtitle h3 span {
    margin-bottom: 0.6rem;
  }
}
.p-cardL__more {
  margin-top: 1.6rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 840px) {
  .p-cardL__more {
    margin-top: 1rem;
  }
}
.p-cardL__more a {
  background: url(../img/icon-more01.svg) no-repeat center right/2.4rem auto;
  display: inline-block;
  padding: 0 4rem 0 0;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2.4rem;
}
@media screen and (max-width: 840px) {
  .p-cardL__more a {
    background: url(../img/icon-more01.svg) no-repeat center right/2rem auto;
    padding: 0 3rem 0 0;
    font-size: 1.1rem;
    line-height: 2rem;
  }
}
.p-cardL__more a:hover {
  opacity: 0.7;
}

.p-cardS {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 5rem;
  margin-top: 5rem;
}
@media screen and (max-width: 840px) {
  .p-cardS {
    gap: 1.6rem;
    margin-top: 4rem;
  }
}
.p-cardS__item {
  width: calc((100% - 5rem) / 2);
  border-radius: 1rem;
  overflow: hidden;
  background: var(--main-light);
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
@media screen and (max-width: 840px) {
  .p-cardS__item {
    width: 100%;
  }
}
.p-cardS__imgbox {
  width: 15rem;
}
@media screen and (max-width: 840px) {
  .p-cardS__imgbox {
    width: 10rem;
  }
}
.p-cardS__imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.p-cardS__txtbox {
  width: calc(100% - 15rem);
  padding: 3rem 2rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 840px) {
  .p-cardS__txtbox {
    width: calc(100% - 10rem);
    padding: 2rem 1.6rem;
  }
}
.p-cardS__subtitle {
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
@media screen and (max-width: 840px) {
  .p-cardS__subtitle {
    font-size: 2rem;
    white-space: nowrap;
    letter-spacing: 0.04em;
  }
}
.p-cardS__p {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 840px) {
  .p-cardS__p {
    white-space: normal;
  }
}
.p-cardS__more {
  margin-top: 1.6rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 840px) {
  .p-cardS__more {
    margin-top: 1rem;
  }
}
.p-cardS__more a {
  background: url(../img/icon-more01.svg) no-repeat center right/2.4rem auto;
  display: inline-block;
  padding: 0 4rem 0 0;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2.4rem;
}
@media screen and (max-width: 840px) {
  .p-cardS__more a {
    background: url(../img/icon-more01.svg) no-repeat center right/2rem auto;
    padding: 0 3rem 0 0;
    font-size: 1.1rem;
    line-height: 2rem;
  }
}
.p-cardS__more a:hover {
  opacity: 0.7;
}

.p-bread {
  font-size: 1.4rem;
  font-weight: 500;
}
.p-bread ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.p-bread ul li::after {
  content: ">";
  display: inline-block;
  width: 3rem;
  text-align: center;
}
.p-bread ul li:last-child::after {
  content: none;
}
.p-bread ul a {
  color: var(--main-dark);
}
.p-bread ul a:hover {
  opacity: 0.7;
}

.p-blogSin {
  padding-bottom: 4rem;
}
.p-blogSin__meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.p-blogSin__metaLeft {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 0.8rem;
}
@media screen and (max-width: 840px) {
  .p-blogSin__metaLeft {
    width: 100%;
  }
}
@media screen and (max-width: 840px) {
  .p-blogSin__metaRight {
    width: 100%;
    margin-top: 0.8rem;
  }
}
.p-blogSin__date {
  font-size: 1.3rem;
  color: var(--gray-dark);
}
.p-blogSin__date i {
  margin-right: 0.5em;
}
.p-blogSin__tax {
  border-right: 0.1rem solid var(--gray);
  padding-right: 1.6rem;
  margin-right: 0.8rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 840px) {
  .p-blogSin__tax {
    border-right: none;
    padding-right: 0;
    margin-right: 0;
  }
}
.p-blogSin__tax a {
  color: var(--main-dark);
  font-weight: 600;
  margin-right: 1em;
  transition: all 0.5s;
}
.p-blogSin__tax a:hover {
  text-decoration: underline;
}
.p-blogSin__tax i {
  margin-right: 0.5em;
}

.p-media {
  margin: 7rem 0;
}
@media screen and (max-width: 840px) {
  .p-media {
    margin: 5rem 0;
  }
}
.p-media a:hover {
  opacity: 0.7;
}
.p-mediaGrid {
  display: grid;
  grid-template-columns: 120px 300px 34px 508px 38px;
  grid-template-rows: 45px 150px 50px;
  gap: 0px 0px;
  grid-auto-flow: row;
}
@media screen and (max-width: 840px) {
  .p-mediaGrid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    background: var(--main-light);
    width: 100%;
  }
}
.p-mediaGrid__bgbox01 {
  grid-area: 2/1/3/6;
  background: var(--main-light);
}
@media screen and (max-width: 840px) {
  .p-mediaGrid__bgbox01 {
    display: none;
  }
}
.p-mediaGrid__bgbox02 {
  grid-area: 3/1/4/6;
  background: var(--main);
}
@media screen and (max-width: 840px) {
  .p-mediaGrid__bgbox02 {
    display: none;
  }
}
.p-mediaGrid__txtbox01 {
  grid-area: 2/2/3/3;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  gap: 1.2rem 0;
}
@media screen and (max-width: 840px) {
  .p-mediaGrid__txtbox01 {
    order: 1;
    padding: 4rem 1.6rem 1.6rem 1.6rem;
  }
}
.p-mediaGrid__txtbox01 h3 {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 0 1.2rem;
}
.p-mediaGrid__txtbox02 {
  grid-area: 3/2/4/3;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .p-mediaGrid__txtbox02 {
    order: 3;
    background: var(--main);
    padding: 1.3rem;
  }
}
.p-mediaGrid__txtbox02 p {
  color: var(--white);
  text-align: center;
  font-family: var(--sub-font);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.56;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 2.4rem;
}
@media screen and (max-width: 840px) {
  .p-mediaGrid__txtbox02 p {
    font-size: 1.5rem;
  }
}
.p-mediaGrid__imgbox {
  grid-area: 1/4/4/5;
}
@media screen and (max-width: 840px) {
  .p-mediaGrid__imgbox {
    order: 2;
  }
}
.p-mediaGrid__imgbox img {
  width: 100%;
  height: auto;
}

.p-pay {
  margin-top: 6rem;
  border-radius: 2.4rem;
  background: var(--white);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
  padding: 8rem 10rem;
}
@media screen and (max-width: 840px) {
  .p-pay {
    margin-top: 5rem;
    padding: 5rem 2.5rem;
  }
}
.p-pay__title {
  text-align: center;
  font-family: var(--sub-font);
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  padding-bottom: 2rem;
  margin-bottom: 3rem;
  border-bottom: 0.1rem solid var(--base-color);
}
@media screen and (max-width: 840px) {
  .p-pay__title {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.05em;
  }
}
.p-pay__subtitle {
  font-weight: 700;
  margin-bottom: 1rem;
}
@media screen and (max-width: 840px) {
  .p-pay__subtitle {
    font-size: 1.6rem;
    line-height: 1.25;
    letter-spacing: 0.06em;
  }
}
.p-pay__subtitle::before {
  content: "●";
  color: #7F4F21;
  margin-right: 0.25em;
}
.p-pay__boxes {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 2.4rem;
}
@media screen and (max-width: 840px) {
  .p-pay__boxes {
    gap: 3rem 0;
  }
}
.p-pay__box01 {
  width: 100%;
}
.p-pay__box02 {
  width: 50.6rem;
}
@media screen and (max-width: 840px) {
  .p-pay__box02 {
    width: 100%;
  }
}
.p-pay__box03 {
  width: 27rem;
}
@media screen and (max-width: 840px) {
  .p-pay__box03 {
    width: 100%;
  }
}
.p-pay__cards {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem 2rem;
  padding: 3.2rem;
  background: var(--white);
  width: 100%;
  border-radius: 0.8rem;
  border: 0.2rem solid var(--gray);
}
@media screen and (max-width: 840px) {
  .p-pay__cards {
    gap: 2rem 1rem;
    padding: 3.2rem 1.2rem;
  }
  .p-pay__cards.narrow {
    padding: 3.2rem 3.2rem;
  }
  .p-pay__cards img {
    width: 7rem;
    height: auto;
  }
}
@media screen and (max-width: 840px) {
  .p-pay__p {
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
  }
}

.p-facility__center-txt {
  margin-bottom: 4.3rem;
  text-align: center;
  line-height: 2.2;
  font-size: 1.5rem;
  letter-spacing: 0.09rem;
}
.p-facility__list {
  min-height: 55.8rem;
  position: relative;
}
.p-facility__list-item {
  width: 58rem;
  margin: 0 8.8rem;
}
.p-facility__list-inner {
  transform: translateY(0);
  transition: all 0.5s;
}
.swiper-slide-active .p-facility__list-inner, .swiper-slide-duplicate-active .p-facility__list-inner {
  transform: translateY(0);
}
.p-facility__list__next {
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: 19rem;
  right: calc(50% - 38.7rem);
  border-radius: 50%;
  font-size: 0;
  transform: translateY(-50%);
  background: url(../img/icon_arrow04.svg) no-repeat center center/100% 100%;
  cursor: pointer;
  transition: 0.3s;
}
.p-facility__list__next::before, .p-facility__list__next::after {
  display: none;
}
.p-facility__list__next:hover {
  opacity: 0.7;
}
.p-facility__list__prev {
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: 19rem;
  left: calc(50% - 40rem);
  border-radius: 50%;
  font-size: 0;
  transform: translateY(-50%) rotate(180deg);
  background: url(../img/icon_arrow04.svg) no-repeat center center/100% 100%;
  cursor: pointer;
  transition: 0.3s;
}
.p-facility__list__prev::before, .p-facility__list__prev::after {
  display: none;
}
.p-facility__list__prev:hover {
  opacity: 0.7;
}
@media screen and (max-width: 840px) {
  .p-facility__photo {
    margin: 0 3.6rem;
  }
}
.p-facility__photo-img {
  width: 100%;
  height: 33.5rem;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 580/334;
}
@media screen and (max-width: 840px) {
  .p-facility__photo-img {
    height: 20rem;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 300/200;
  }
}
.p-facility__textbox {
  padding: 4.2rem 0 0 0;
  transition: 0.3s;
}
@media screen and (max-width: 840px) {
  .p-facility__textbox {
    padding: 3rem 2rem;
  }
}
.p-facility__ttl {
  color: var(--main-dark);
  text-align: center;
  font-family: var(--sub-font);
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 840px) {
  .p-facility__ttl {
    font-size: 2rem;
  }
}
.p-facility__text {
  text-align: justify;
}
.p-facility__inner {
  display: none;
  padding: 0.4rem 0 1.5rem;
}
.p-facility__sub {
  margin: 11rem auto 0;
  padding: 6rem 10rem 7rem;
  background: var(--gray-light);
  width: 100rem;
  box-sizing: border-box;
}
.p-facility__sub__ttl {
  margin-bottom: 3rem;
  text-align: center;
  font-size: 2.6rem;
  overflow: hidden;
}
.p-facility__sub__ttl span {
  padding: 0 2.5rem;
  display: inline-block;
  position: relative;
}
.p-facility__sub__ttl span::before, .p-facility__sub__ttl span::after {
  content: "";
  margin-top: 0.1rem;
  position: absolute;
  top: 50%;
  width: 99.9rem;
  height: 0.1rem;
  background: var(--base-color);
}
.p-facility__sub__ttl span::before {
  left: 100%;
}
.p-facility__sub__ttl span::after {
  right: 100%;
}
.p-facility__sub__txt {
  margin-bottom: 4.7rem;
  font-size: 1.5rem;
  line-height: 2;
}
.p-facility__sub__link a {
  display: block;
}
@media screen and (min-width: 840px) {
  .p-facility__sub__link a:hover {
    opacity: 0.7;
  }
}
.p-facility__link-image {
  width: 100%;
}
@media screen and (max-width: 840px) {
  .p-facility__center-txt {
    margin: 0 4rem 2.3rem;
    line-height: 2.2;
  }
  .p-facility__list {
    min-height: inherit;
  }
  .p-facility__list-item {
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .p-facility__list-inner {
    transform: scale(1);
  }
  .swiper-slide-active .p-facility__list-inner, .swiper-slide-duplicate-active .p-facility__list-inner {
    transform: scale(1);
  }
  .p-facility__list__next {
    width: 2.4rem;
    height: 2.4rem;
    top: 11rem;
    right: 0.6rem;
    transform: none;
  }
  .p-facility__list__prev {
    width: 2.4rem;
    height: 2.4rem;
    top: 11rem;
    left: 0.6rem;
    transform: rotate(180deg);
  }
  .p-facility__inner {
    padding: 0;
    display: block;
  }
  .p-facility__sub {
    margin-top: 7.4rem;
    padding: 4.2rem 2rem 3.9rem;
    width: auto;
  }
  .p-facility__sub__ttl {
    margin-bottom: 2rem;
    font-size: 2.2rem;
    letter-spacing: 0.11rem;
    line-height: 1.66;
  }
  .p-facility__sub__ttl span {
    padding: 0 1.5rem;
  }
  .p-facility__sub__txt {
    margin-bottom: 2.1rem;
    text-align: justify;
  }
}

.p-heroSwiper {
  position: relative;
}
@media screen and (max-width: 840px) {
  .p-heroSwiper {
    z-index: 3;
  }
}
.p-heroSwiper img {
  width: 100%;
  height: calc(100vh - 13rem);
  object-fit: cover;
  object-position: top center;
  border-radius: 5rem 0 0 5rem;
}
@media screen and (max-width: 840px) {
  .p-heroSwiper img {
    height: calc((100dvh - 15.8rem) / 2);
    border-radius: 0;
  }
}
@media screen and (min-width: 840px) and ( max-width:1560px){
    .p-heroSwiper img{
      height: calc(100vh - 30rem);
    }
}

.p-information {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}
.p-informationBlock01 {
  width: 100%;
}
.p-informationBlock02 {
  width: 45rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2.4rem 0;
}
.p-informationBlock02 > * {
  width: 100%;
}
@media screen and (max-width: 840px) {
  .p-informationBlock02 {
    width: 100%;
  }
}
.p-informationBlock03 {
  width: 45rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2.4rem 0;
}
.p-informationBlock03 > * {
  width: 100%;
}
@media screen and (max-width: 840px) {
  .p-informationBlock03 {
    width: 100%;
    margin-top: 4rem;
  }
}
.p-information__subtitle {
  color: var(--main-dark);
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 840px) {
  .p-information__subtitle {
    font-size: 2.2rem;
    line-height: 1.36;
  }
}
.p-information__intro {
  margin: 2.4rem 0 7rem 0;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .p-information__intro {
    margin: 2.4rem 0 4rem 0;
    text-align: left;
  }
}
.p-information__logo {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 9rem;
}
@media screen and (max-width: 840px) {
  .p-information__logo {
    margin-bottom: 6rem;
  }
  .p-information__logo img {
    width: 16rem;
    height: auto;
  }
}
.p-information__logo a:hover {
  opacity: 0.7;
}
.p-information__calendar {
  margin-top: -1.4rem;
}
.p-information__calendar dl {
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 840px) {
  .p-information__calendar dl {
    font-size: 1.5rem;
  }
}
.p-information__calendar dl dt {
  width: 8rem;
  font-weight: 600;
}
.p-information__calendar dl dd {
  width: calc(100% - 8rem);
}
.p-information__cta {
  border-radius: 1rem;
  background: var(--white);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
  padding: 3.6rem 2.8rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .p-information__cta {
    padding: 3.6rem 2rem;
    gap: 2rem;
  }
}
.p-information__cta h3 {
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .p-information__cta h3 {
    font-size: 2.2rem;
    line-height: 1.36;
    white-space: nowrap;
  }
}
.p-information__phone a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  font-family: var(--sub-font);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
  .p-information__phone a {
    gap: 1.2rem;
  }
  .p-information__phone a img {
    width: 4rem;
    height: auto;
  }
}
.p-information__phone a:hover {
  opacity: 0.7;
}
.p-information__reserve {
  width: 100%;
}
.p-information__reserve a {
  border-radius: 10rem;
  background: var(--main-dark);
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
  color: var(--white);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  width: 100%;
  height: 6.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
}
.p-information__reserve a:hover {
  opacity: 0.7;
}
.p-information__bnrs {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 840px) {
  .p-information__bnrs {
    margin-top: 1.6rem;
  }
  .p-information__bnrs img {
    width: 100%;
    height: auto;
  }
}
.p-information__map {
  width: 100%;
  margin-top: -1.4rem;
}
.p-information__map iframe {
  width: 100%;
  height: 40rem;
}
@media screen and (max-width: 840px) {
  .p-information__map iframe {
    height: 26rem;
    border-radius: 1rem;
  }
}
@media screen and (max-width: 840px) {
  .p-information__meta {
    font-size: 1.5rem;
    line-height: 1.73;
    letter-spacing: 0.06em;
  }
}
.p-information__meta a:hover {
  opacity: 0.7;
}
.p-information__access {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.4rem 0;
  margin-top: -0.8rem;
}
.p-information__access dl {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-information__access dl dt {
  width: 3.4rem;
}
.p-information__access dl dd {
  width: calc(100% - 4.4rem);
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-information__btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.8rem;
}
@media screen and (max-width: 840px) {
  .p-information__btns {
    flex-direction: column;
    justify-content: center;
  }
}
.p-information__accessBtn a {
  color: var(--main-dark);
  border-radius: 10rem;
  border: 0.1rem solid var(--main-dark);
  background: var(--white) url(../img/c-btn01.svg) no-repeat center right 2.4rem/2rem auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 7.4rem 0 2.4rem;
  height: 5.4rem;
}
.p-information__accessBtn a:hover {
  color: var(--white);
  background: var(--main-dark) url(../img/c-btn01-hover.svg) no-repeat center right 2.4rem/2rem auto;
}
.p-information__gmapBtn a {
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  background: url(../img/p-information-gmapBtn.svg) no-repeat center right/2.4rem auto;
  padding-right: 2.8rem;
  display: block;
}
@media screen and (max-width: 840px) {
  .p-information__gmapBtn a {
    font-size: 1.3rem;
  }
}
.p-information__gmapBtn a:hover {
  background: url(../img/p-information-gmapBtn-hover.svg) no-repeat center right/2.4rem auto;
}

.p-greeting__photo-box__img {
  margin-bottom: 2.4rem;
  border-radius: 3rem 0 0 3rem;
  overflow: hidden;
}
@media screen and (max-width: 840px) {
  .p-greeting__photo-box__img {
    margin-bottom: 3rem;
    border-radius: 2rem 0 0 2rem;
  }
}

/* ----- サムネイル ----- */
.p-greeting__photo-box__list {
  display: flex;
  gap: 0 3rem;
}
@media screen and (max-width: 840px) {
  .p-greeting__photo-box__list {
    justify-content: center;
    gap: 0 1rem;
    padding-right: 2rem;
  }
}

.p-greeting__photo-box__list__item {
  width: 15rem;
  height: 15rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.5s;
}
@media screen and (max-width: 840px) {
  .p-greeting__photo-box__list__item {
    width: calc((100% - 2rem) / 3);
    height: auto;
  }
}
.p-greeting__photo-box__list__item:hover {
  opacity: 0.7;
}

.p-greeting__photo-box__list__item.active {
  border: 0.5em solid #4EB6FF;
  transition: all 0.3s;
}
@media screen and (max-width: 840px) {
  .p-greeting__photo-box__list__item.active {
    border: 0.3em solid #4EB6FF;
  }
}

.p-greeting__photo-box img {
  width: 100%;
  height: auto;
}

.u-center {
  text-align: center;
}

.u-pb80 {
  padding-bottom: 8rem;
}

@media screen and (min-width: 840px) {
  .u-mt0 {
    margin-top: 0 !important;
  }
  .u-mt10 {
    margin-top: 1rem !important;
  }
  .u-mt20 {
    margin-top: 2rem !important;
  }
  .u-mt30 {
    margin-top: 3rem !important;
  }
  .u-mt40 {
    margin-top: 4rem !important;
  }
  .u-mt50 {
    margin-top: 5rem !important;
  }
  .u-mt60 {
    margin-top: 6rem !important;
  }
  .u-mt70 {
    margin-top: 7rem !important;
  }
  .u-mt80 {
    margin-top: 8rem !important;
  }
  .u-mt90 {
    margin-top: 9rem !important;
  }
  .u-mt100 {
    margin-top: 10rem !important;
  }
  .u-mr0 {
    margin-right: 0 !important;
  }
  .u-mr10 {
    margin-right: 1rem !important;
  }
  .u-mr20 {
    margin-right: 2rem !important;
  }
  .u-mr30 {
    margin-right: 3rem !important;
  }
  .u-mr40 {
    margin-right: 4rem !important;
  }
  .u-mr50 {
    margin-right: 5rem !important;
  }
  .u-mr60 {
    margin-right: 6rem !important;
  }
  .u-mr70 {
    margin-right: 7rem !important;
  }
  .u-mr80 {
    margin-right: 8rem !important;
  }
  .u-mr90 {
    margin-right: 9rem !important;
  }
  .u-mr100 {
    margin-right: 10rem !important;
  }
  .u-mb0 {
    margin-bottom: 0 !important;
  }
  .u-mb10 {
    margin-bottom: 1rem !important;
  }
  .u-mb20 {
    margin-bottom: 2rem !important;
  }
  .u-mb30 {
    margin-bottom: 3rem !important;
  }
  .u-mb40 {
    margin-bottom: 4rem !important;
  }
  .u-mb50 {
    margin-bottom: 5rem !important;
  }
  .u-mb60 {
    margin-bottom: 6rem !important;
  }
  .u-mb70 {
    margin-bottom: 7rem !important;
  }
  .u-mb80 {
    margin-bottom: 8rem !important;
  }
  .u-mb90 {
    margin-bottom: 9rem !important;
  }
  .u-mb100 {
    margin-bottom: 10rem !important;
  }
  .u-ml0 {
    margin-left: 0 !important;
  }
  .u-ml10 {
    margin-left: 1rem !important;
  }
  .u-ml20 {
    margin-left: 2rem !important;
  }
  .u-ml30 {
    margin-left: 3rem !important;
  }
  .u-ml40 {
    margin-left: 4rem !important;
  }
  .u-ml50 {
    margin-left: 5rem !important;
  }
  .u-ml60 {
    margin-left: 6rem !important;
  }
  .u-ml70 {
    margin-left: 7rem !important;
  }
  .u-ml80 {
    margin-left: 8rem !important;
  }
  .u-ml90 {
    margin-left: 9rem !important;
  }
  .u-ml100 {
    margin-left: 10rem !important;
  }
}
@media screen and (max-width: 840px) {
  .u-mt0--sp {
    margin-top: 0 !important;
  }
  .u-mt10--sp {
    margin-top: 1rem !important;
  }
  .u-mt20--sp {
    margin-top: 2rem !important;
  }
  .u-mt30--sp {
    margin-top: 3rem !important;
  }
  .u-mt40--sp {
    margin-top: 4rem !important;
  }
  .u-mt50--sp {
    margin-top: 5rem !important;
  }
  .u-mt60--sp {
    margin-top: 6rem !important;
  }
  .u-mt70--sp {
    margin-top: 7rem !important;
  }
  .u-mt80--sp {
    margin-top: 8rem !important;
  }
  .u-mt90--sp {
    margin-top: 9rem !important;
  }
  .u-mt100--sp {
    margin-top: 10rem !important;
  }
  .u-mr0--sp {
    margin-right: 0 !important;
  }
  .u-mr10--sp {
    margin-right: 1rem !important;
  }
  .u-mr20--sp {
    margin-right: 2rem !important;
  }
  .u-mr30--sp {
    margin-right: 3rem !important;
  }
  .u-mr40--sp {
    margin-right: 4rem !important;
  }
  .u-mr50--sp {
    margin-right: 5rem !important;
  }
  .u-mr60--sp {
    margin-right: 6rem !important;
  }
  .u-mr70--sp {
    margin-right: 7rem !important;
  }
  .u-mr80--sp {
    margin-right: 8rem !important;
  }
  .u-mr90--sp {
    margin-right: 9rem !important;
  }
  .u-mr100--sp {
    margin-right: 10rem !important;
  }
  .u-mb0--sp {
    margin-bottom: 0 !important;
  }
  .u-mb10--sp {
    margin-bottom: 1rem !important;
  }
  .u-mb20--sp {
    margin-bottom: 2rem !important;
  }
  .u-mb30--sp {
    margin-bottom: 3rem !important;
  }
  .u-mb40--sp {
    margin-bottom: 4rem !important;
  }
  .u-mb50--sp {
    margin-bottom: 5rem !important;
  }
  .u-mb60--sp {
    margin-bottom: 6rem !important;
  }
  .u-mb70--sp {
    margin-bottom: 7rem !important;
  }
  .u-mb80--sp {
    margin-bottom: 8rem !important;
  }
  .u-mb90--sp {
    margin-bottom: 9rem !important;
  }
  .u-mb100--sp {
    margin-bottom: 10rem !important;
  }
  .u-ml0--sp {
    margin-left: 0 !important;
  }
  .u-ml10--sp {
    margin-left: 1rem !important;
  }
  .u-ml20--sp {
    margin-left: 2rem !important;
  }
  .u-ml30--sp {
    margin-left: 3rem !important;
  }
  .u-ml40--sp {
    margin-left: 4rem !important;
  }
  .u-ml50--sp {
    margin-left: 5rem !important;
  }
  .u-ml60--sp {
    margin-left: 6rem !important;
  }
  .u-ml70--sp {
    margin-left: 7rem !important;
  }
  .u-ml80--sp {
    margin-left: 8rem !important;
  }
  .u-ml90--sp {
    margin-left: 9rem !important;
  }
  .u-ml100--sp {
    margin-left: 10rem !important;
  }
}

td.mp01 {
	vertical-align: middle;
	text-align: center;
}

@media screen and (max-width: 840px) {
	td.mp01 {
		/*writing-mode: vertical-rl;
		text-orientation: upright;
		-webkit-writing-mode: vertical-rl;
    	-webkit-text-orientation: upright;
		transform: rotate(0deg);*/
		width: 29%;
	}
}
/*# sourceMappingURL=style.css.map */

.toc_title{
    font-size: 1.8rem!important;
    color: var(--main-dark);
    font-weight: 600;
}
.toc_list {
    column-count: 2;
}
.toc_list li ::before{
    display: none;
}
div#toc_container{
    width: 100%!important;
    padding: 3rem;
}
span.toc_number.toc_depth_1{
    font-size: 1.8rem!important;
    color: var(--main-dark);
    font-weight: 800!important;
}
span.toc_number.toc_depth_1::after{
    display: inline-block!important;
    content: "."
}

span.toc_number.toc_depth_2{
    display: none!important;
    font-size: 1.5rem!important;
    color: var(--main-dark);
    font-weight: 800!important;
}

.toc_list li ul li{
    font-size: 1.1rem!important;
    padding-left: 1.5rem!important;
}

.toc_list li ul li::before{
    content: '';
    background: var(--main-dark);
    display: inline-block!important;
    height: 1rem!important;
    width: 1rem!important;
    top: 0.8rem!important;
    left: 0;
    border-radius: 1.5rem;
}


@media screen and (max-width: 840px) {
.toc_list {
    column-count: 1;
}
    
div#toc_container ul.toc_list li ul li{
    font-size: 1.2rem!important;
}
    
div#toc_container ul.toc_list li ul li::before{
    top: 0.7rem!important;
}

    div#toc_container {
        padding: 2rem;
    }
    div#toc_container ul li{
        font-size: 1.4rem!important;
    }
	
  div#toc_container {
    height: 220px;
    display: block;
    overflow: auto;
  }
  div#toc_container.contracted {
    height: 40px !important;
  }
}

/*合わせて読みたいCSS*/

.fas.fa-link {
  color: #fff;
}

.icon-img{
	width: 15px;
    margin-top: -0.5rem;
}

@media (max-width: 840px) {
.icon-img{
	width: 10px;
    margin-top: -0.5rem;
}
}

.link-card-headline-box {
  position: absolute;
  border-radius: 2px;
  background: var(--main-dark);
}

@media (min-width: 840px) {
  .link-card-headline-box {
    font-size: 12px;
    font-weight: 500;
    padding: 5px 10px;
    top: -14px;
    left: 20px;
    width: 130px;
  }
}

@media (max-width: 840px) {
  .link-card-headline-box {
    font-weight: bold;
    font-size: 11px;
    padding: 4px 8px;
    top: -12px;
    left: 12px;
    width: 120px;
  }
}

.link-card {
  display: block;
  position: relative;
  border: 1px solid var(--main-dark);
  border-radius: 4px;
  margin-top: 40px !important;
  margin-bottom: 30px !important;
  background: #fff;
  word-wrap: break-word;
  box-sizing: border-box;
  text-decoration: none !important;
  transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease, opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease, box-shadow 0.4s ease;
}


@media (max-width: 840px) {
  .link-card {
    width: 100%;
    padding: 12px;
    margin: 10px 0px;
    padding-top: 22px !important;
  }
}

@media (min-width: 840px) {
  .link-card {
    width: 90%;
    margin: 10px auto;
    padding: 20px;
    padding-top: 30px !important;
  }
}

.link-card .link-card-headline {
  position: relative;
  color: #fff;
  letter-spacing: 0;
  line-height: 0;
  margin-left: .25rem;
}

.link-card .link-card-headline:after {
  position: absolute;
  content: "あわせて読みたい";
  color: #fff;
  width: 100px;
  top: 7px;
  left: 1px;
  letter-spacing: 0;
}

@media (max-width: 840px) {
	.link-card .link-card-headline:after {
		left: 3px;
		top: 7px;
	}
}

.link-card:hover {
  opacity: 0.8 !important;
}

.link-card:hover .link-card-thumbnail img {
  transform: scale(1.1);
}

.link-card-box {
  display: flex;
}

.link-card-content {
  flex: 2.5;
  max-width: calc(100% - 182px);
}

@media (max-width: 840px) {
  .link-card-content {
    max-width: calc(100% - 120px);
  }
}

.link-card-thumbnail {
  display: block;
  overflow: hidden;
}

@media (max-width: 840px) {
  .link-card-thumbnail {
    margin-right: 10px;
    flex: 1.82;
  }
}

@media (min-width: 840px) {
  .link-card-thumbnail {
    margin-right: 20px;
    flex: 1;
  }
}

.link-card-thumbnail img {
  filter: opacity(1);
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: baseline;
  width: 100%;
  height: auto;
  background: #fff;
  transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease, opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease, box-shadow 0.4s ease;
}

.link-card-title {
  display: block;
  letter-spacing: 1px;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
}

@media (max-width: 840px) {
  .link-card-title {
    color: var(--main-dark);
    font-size: 1.6rem;
    line-height: 2rem;
    font-weight: 700;
    border-bottom: 0.1rem solid var(--main-dark);
  padding-bottom: .5rem;
      letter-spacing: 0.01em;
  }
}

@media (min-width: 840px) {
  .link-card-title {
    color: var(--main-dark);
    font-size: 1.6rem;
    font-weight: 600;
    border-bottom: 0.1rem solid var(--main-dark);
    line-height: 1.6;
    padding: 0 0 1rem 0;
  }
}

.link-card-excerpt {
  display: none;
}

@media (min-width: 840px) {
  .link-card-excerpt {
    margin-top: 15px;
    font-size: 1.1rem;
    display: block;
  }
}

.list-link-more {
  font-size: 1.1rem;
}

@media screen and (max-width: 840px) {
  .list-link-more {
    font-size: 1.2rem;
  }
}

.list-link-more__txt {
	padding: 0.3rem 3.7rem 0.3rem 0;
	color: var(--main-dark);
	display: table;
	padding-right: 2rem;
	position: relative;
	letter-spacing: 0.06em;
	transition: 0.3s;
	margin: 0 0 0 auto;
   font-size: 1.4rem;
}
.list-link-more__txt:after {
    content: '';
    width: 1.3rem;
    height: 1.3rem;
    border-bottom: solid 1px;
    border-right: solid 1px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(-45deg);
}

@media screen and (max-width: 840px) {
.list-link-more__txt {
           font-size: 1.2rem;
        line-height: 1.5;
    margin: 0;
    margin-top: 1rem;
    }
	
	
}

@media screen and (min-width: 840px) {
    
  .list-link:hover .list-link-more__txt {
    background-image: url("../img/icon02_on.svg");
  }
 
}

figure + h3{
    margin-top: 2rem;
}

@media screen and (min-width: 840px) {
.page .l-header__logo p,.archive .l-header__logo p{
    color: #fff;
}
.page .open .l-header__logo p,.archive .open .l-header__logo p{
    color: #000;
}

}

.single-blog .l-page img{
    aspect-ratio:auto!important;
}

.editor-styles-wrapper img, .l-gutenberg.round img {
    border-radius: 1.2rem;
	}
	
/* ------------------------------
p-blogcard
------------------------------ */

.p-blogcard {
	width: 100rem;
	margin: 0 auto;
}

@media screen and (max-width: 840px) {
	.p-blogcard {
		width: 100%;
		padding: 0 2rem;
	}
}

.p-blogcard__list {
	border-top: 1px solid var(--gray);
}

.p-blogcard__item {
	border-bottom: 1px solid var(--gray);
}

.p-blogcard__link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 2.4rem;
	padding: 2.4rem;
}

@media screen and (max-width: 840px) {
	.p-blogcard__link {
		gap: 1.2rem 0;
		padding: 1.2rem;
	}
}

.p-blogcard__link:hover {
	opacity: .7;
}

.p-blogcard__imgbox {
	width: 30%;
}

@media screen and (max-width: 840px) {
	.p-blogcard__imgbox {
		width: 100%;
	}
}

.p-blogcard__imgbox img {
	width: 100%;
	height: 20rem;
	object-fit: cover;
	object-position: center center;
}

@media screen and (max-width: 840px) {
	.p-blogcard__imgbox img {
		height: 16rem;
	}
}

.p-blogcard__txtbox {
	width: calc(70% - 2.4rem);
}

@media screen and (max-width: 840px) {
	.p-blogcard__txtbox {
		width: 100%;
	}
	 img.masato_top_sp_01.sp,
	 img.masato_top_sp_02.sp{
    border-radius: 3rem;
}
	
}

.p-blogcard__info {
	font-weight: 600;
	margin-bottom: 1.2rem;
}

.p-blogcard__title {
	font-weight: 600;
	margin-bottom: 1.2rem;
	color: var(--main-dark);
}

/*20250519*/
.l-blog h3.sub{
color:var(--sub);
}
.l-blog h3{
font-family: var(--sub-front);
font-size: 2.8rem;
font-weight: 700;
line-height:1.28;
letter-spacing:0.05em;
margin-bottom: 4rem;
}

.p-information__insta img {
    width: 100%;
    height: auto;
}