@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");

@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");

@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;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;

}



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;

}



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: "Zen Kaku Gothic New", sans-serif;

  --sub-font: "Noto Serif JP", serif;

  --en-font: "Roboto", sans-serif;

  --base-color: #222;

  --main: #0096b1;

  --main-light: #EDF0F5;

  --main-dark: #363862;

  --sub: #98ECC9;

  --sub-light: #F3FFF6;

  --sub-dark: #61BEAD;

  --gray: #D7D7D7;

  --gray-light: #F8F7F6;

  --gray-dark: #717171;

  --gray-black: #262626;

  --white: #FFFFFF;

  --black: #000000;

  --link: #2DABF1;

  --error: #F25F5F;

  --variation1: #EF8BB6;

  --variation2: #F1CB91;

  --variation3: #D6F19B;

}



html {

  font-size: 62.5%;

  scroll-behavior: smooth;

}

@media screen and (max-width: 768px) {

  html {

    font-size: 2.66vw;

  }

}



body {

  font-family: var(--base-font);

  font-feature-settings: "palt";

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  color: var(--base-color);

  font-size: 1.5rem;

  font-style: normal;

  font-weight: 400;

  line-height: 1.8;

  letter-spacing: 0.1em;

}

@media screen and (max-width: 768px) {

  body {

    font-size: 1.4rem;

    -webkit-text-size-adjust: 100%;

  }

}



.pc {

  display: block;

}

@media screen and (max-width: 768px) {

  .pc {

    display: none;

  }

}



.sp {

  display: none;

}

@media screen and (max-width: 768px) {

  .sp {

    display: block;

  }

}



.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;

}



.l-pre h1,

.l-pre h2,

.l-pre h3,

.l-pre h4,

.l-pre h5,

.l-pre h6 {

  font-family: var(--sub-font);

  font-weight: 500;

  color: #00205b;

}

.l-pre a {

  transition: 0.5s;

}

.l-pre a:hover {

  opacity: 0.5;

}

.l-pre br {

  line-height: inherit;

}

.l-pre p {

  line-height: 2;

}

.l-pre span,

.l-pre a,

.l-pre strong,

.l-pre small {

  color: inherit;

  font-size: inherit;

  font-family: inherit;

  font-weight: inherit;

  letter-spacing: inherit;

}

.l-pre .wrap {

  width: 800px;

  margin: 0 auto;

  position: relative;

}

.l-pre .wrap.midium {

  width: 900px;

}

.l-pre .row {

  display: flex;

  justify-content: space-between;

}

.l-pre .body-wrap {

  overflow: hidden;

  position: relative;

}

@media (min-width: 769px) {

  .l-pre .sp {

    display: none !important;

  }

}

.l-pre header {

  position: absolute;

  top: 2rem;

  left: 8rem;

}

  .l-pre header img {
	  width: 500px;
  }

.l-pre .mv {

  display: block;

  width: 100%;

  height: 70rem;

  object-fit: cover;

  object-position: center;

}

.l-pre main {

  display: block;

}

.l-pre main section {

  width: 80rem;

  margin: 0 auto;

  position: relative;

}

.l-pre h2.general {

  font-size: 3.8rem;

  text-align: center;

  line-height: 1.6;

  margin-bottom: 3.6rem;

}

.l-pre h2.general:after {

  content: attr(data-en);

  font-size: 1.5rem;

  display: flex;

  justify-content: center;

  align-items: center;

  width: 23.4rem;

  height: 3rem;

  border-radius: 1.5rem;

  margin: 0 auto;

  background: #00205b;

  color: #fff;

}

.l-pre .sec-ttl {

  margin-bottom: 10rem;

}

.l-pre .sec-ttl h1 {

  position: relative;

  z-index: 0;

  text-align: center;

  font-size: 3.8rem;

  line-height: 1.6;

  margin-top: -2.5rem;

  margin-bottom: 1.8rem;

  

}

.l-pre .sec-ttl h1:before {

  content: "";

  width: 50rem;

  height: 10rem;

  border-radius: 5rem;

  background: #fff;

  position: absolute;

  top: -2.5rem;

  left: 50%;

  transform: translateX(-50%);

  z-index: -1;

}

.l-pre .sec-ttl h1 > span {

  display: block;

  text-align: center;

  color: #00205b;

}

.l-pre .sec-ttl h1 > span strong {

  font-size: 3.8rem;

  line-height: 1;

}

.l-pre .sec-ttl h1 > span strong small {

  font-size: 2rem;

}

.l-pre .sec-ttl h1 > span > span {

  font-size: 2rem;

  background: #00205b;

  color: #fff;

  display: inline-block;

  padding: 0.1em 1em;

  border-radius: 2em;

  vertical-align: text-bottom;

  margin-left: 0.4rem;

}

.l-pre .sec-ttl h2 {

  font-size: 2rem;

  font-family: var(--base-font);

  color: #fff;

  text-align: center;

  position: relative;

  z-index: 0;

  padding: 0.4em 0;

}

.l-pre .sec-ttl h2:before {

  content: "";

  width: 100vw;

  height: 100%;

  background: #00205b;

  position: absolute;

  top: 0;

  left: 50%;

  transform: translateX(-50%);

  z-index: -1;

}

.l-pre .sec-info {

  margin-bottom: 9rem;

}

.l-pre .sec-info .news-list li {

  display: flex;

  justify-content: space-between;

  align-items: center;

}

.l-pre .sec-info .news-list li + li {

  margin-top: 0.5em;

}

.l-pre .sec-info .news-list li .cat {

  width: 8rem;

  height: 3.6rem;

  border-radius: 1.8rem;

  background: var(--main);

  color: #fff;

  display: flex;

  justify-content: center;

  align-items: center;

}

.l-pre .sec-info .news-list li > .text {

  display: block;

  width: calc(100% - 9rem);

  border-bottom: solid 1px var(--main);

  cursor: pointer;

}

.l-pre .sec-info .news-list li > .text span {

  position: relative;

  padding-right: 1.5em;

  display: block;

}

.l-pre .sec-info .news-list li > .text span:after {

  content: "";

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 0.4rem 0 0.4rem 0.8rem;

  border-color: transparent transparent transparent var(--main);

  position: absolute;

  top: 50%;

  right: 0;

  transform: translateY(-50%);

}

.l-pre .sec-info .news-list li .pop {

  position: fixed;

  visibility: hidden;

  opacity: 0;

}

.l-pre .sec-info > * + .flyer-row {

  margin-top: 5rem;

}

.l-pre .sec-info .flyer-row {

  width: 100%;

  background: var(--main);

  padding: 5rem;

  border-radius: 0.8rem;

  align-items: flex-start;

}

.l-pre .sec-info .flyer-row img {

  width: 34rem;

  cursor: pointer;

}

.l-pre .sec-info .flyer-row img.wide {

  width: 100%;

}

.l-pre .sec-info > * + .info-row {

  margin-top: 5rem;

}

.l-pre .sec-info .info-row .left {

  width: 38rem;

}

.l-pre .sec-info .info-row .left h2 {

  font-size: 16px;

  color: #00205b;

  line-height: 1.5;

  text-align: center;

  margin-bottom: 1.4rem;

}

.l-pre .sec-info .info-row .left .hour-table {

  width: 100%;

  table-layout: fixed;

  letter-spacing: 0.06em;

}

.l-pre .sec-info .info-row .left .hour-table thead {

  background: var(--gray-light);

}

.l-pre .sec-info .info-row .left .hour-table tr {

  border-bottom: solid 1px var(--gray-light);

}

.l-pre .sec-info .info-row .left .hour-table th {

  width: 12.8rem;

  font-weight: 400;

  text-align: center;

  vertical-align: middle;

  height: 5rem;

}

.l-pre .sec-info .info-row .left .hour-table td {

  text-align: center;

  vertical-align: middle;

  line-height: 1;

  letter-spacing: 0;

}

.l-pre .sec-info .info-row .left .hour-table td.txt {

  font-size: 1rem;

}

.l-pre .sec-info .info-row .left .hour-table + p {

  line-height: 1.6;

  margin-top: 1rem;

}

.l-pre .sec-info .info-row .right {

  width: 38rem;

  background: #f5f5f5;

  padding: 3.5rem 3rem;

  border-radius: 0.5rem;

}

.l-pre .sec-info .info-row .right .addres-list li {

  line-height: 1.6;

  padding-left: 8rem;

  width: 100%;

  min-height: 7rem;

  display: flex;

  align-items: center;

  position: relative;

}

.l-pre .sec-info .info-row .right .addres-list li + li {

  margin-top: 0.8rem;

}

.l-pre .sec-info .info-row .right .addres-list li:before {

  content: "";

  width: 7rem;

  height: 7rem;

  background: no-repeat center/contain;

  position: absolute;

  top: 50%;

  left: 0;

  transform: translateY(-50%);

}

.l-pre .sec-info .info-row .right .addres-list li.address:before {

  background-image: url(../img/address-icon01.png);

}

.l-pre .sec-info .info-row .right .addres-list li.station:before {

  background-image: url(../img/address-icon02.png);

}

.l-pre .sec-info .info-row .right .addres-list li.other:before {

  background-image: url(../img/address-icon03.png);

}

.l-pre .sec-dr {

  margin-bottom: 8rem;

}

.l-pre .sec-dr .dr-row {

  align-items: flex-start;

}

.l-pre .sec-dr .dr-row .txt {

  width: 48rem;

}

.l-pre .sec-dr .dr-row > img {

  width: 28rem;

}

.l-pre .sec-dr h3 {

  font-size: 3.8rem;

  color: var(--sub-color02);

  position: relative;

  z-index: 0;

  line-height: 1.6;

  margin-bottom: 1.8rem;

}

.l-pre .sec-dr h3 span {

  background: #fff;

  position: relative;

  padding-right: 0.5em;

}

.l-pre .sec-dr h3:after {

  content: "";

  width: 100%;

  height: 1px;

  box-sizing: border-box;

  border-bottom: dotted 0.2rem var(--main);

  position: absolute;

  top: 50%;

  left: 0;

  z-index: -1;

}

.l-pre .sec-dr h3 ~ p + p {

  margin-top: 2rem;

}

.l-pre .sec-dr .history-wrap {

  flex-wrap: wrap;

  margin-top: 3rem;

}

.l-pre .sec-dr .history-wrap .inner {

  width: 38rem;

}

.l-pre .sec-dr .history-wrap .inner:last-of-type:not(:nth-of-type(even)) {

  width: 100%;

}

.l-pre .sec-dr .history-wrap .inner:nth-of-type(n+3) {

  margin-top: 3rem;

}

.l-pre .sec-dr .history-wrap .inner h4 {

  font-size: 2rem;

  color: var(--main);

  background: var(--gray-light);

  text-align: center;

  border-radius: 0.5rem;

  padding: 0.1em 0;

  margin-bottom: 1rem;

}

.l-pre .sec-dr .history-wrap .inner table {

  line-height: 2;

}

.l-pre .sec-dr .history-wrap .inner table th {

  font-weight: 400;

  white-space: nowrap;

  width: 1px;

  padding-right: 1.5em;

}

.l-pre .sec-dr .history-wrap .inner ul {

  line-height: 2;

}

.l-pre .sec-dr .history-wrap .inner ul li {

  position: relative;

  padding-left: 1em;

}

.l-pre .sec-dr .history-wrap .inner ul li:before {

  content: "・";

  position: absolute;

  left: 0;

}

.l-pre .sec-philosophy {

  margin-bottom: 8rem;

}

.l-pre .sec-philosophy h2 + h3 {

  text-align: center;

  font-size: 3rem;

  color: var(--sub-color02);

  line-height: 1.7;

  margin-bottom: 2.8rem;

}

.l-pre .sec-philosophy h2 + h3 span {

  border-bottom: dotted 0.2rem #00205b;

  padding-bottom: 0.25em;

}

.l-pre .sec-feature {

  margin-bottom: 8rem;

}

.l-pre .sec-feature .feature-list li {

  display: flex;

  justify-content: space-between;

  align-items: flex-start;

}

.l-pre .sec-feature .feature-list li + li {

  margin-top: 4rem;

}

.l-pre .sec-feature .feature-list li > img {

  width: 38rem;

  display: block;

}

.l-pre .sec-feature .feature-list li > .txt {

  width: 100%;

}

.l-pre .sec-feature .feature-list li > img + .txt {

  width: 38rem;

}

.l-pre .sec-feature .feature-list li > .txt h3 {

  background: var(--gray-light);

  color: var(--main);

  text-align: center;

  border-radius: 0.5rem;

  line-height: 1.5;

  padding: 0.4em 1em;

  margin-bottom: 1rem;

  font-size: 2rem;

}

.l-pre .sec-facility {

  margin-bottom: 8rem;

}

.l-pre .facility-list {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

}

.l-pre .facility-list li {

  width: 38rem;

}

.l-pre .facility-list li:nth-of-type(n+3) {

  margin-top: 3rem;

}

.l-pre .facility-list li img {

  width: 100%;

}

.l-pre .facility-list__h3 {

  font-size: 1.17em;

}

.l-pre .sec-flow {

  margin-bottom: 8rem;

}

.l-pre .sec-flow .flow-list {

  counter-reset: flow;

}

.l-pre .sec-flow .flow-list li {

  padding-left: 7rem;

  position: relative;

  min-height: 5rem;

  width: 100%;

}

.l-pre .sec-flow .flow-list li:before {

  counter-increment: flow;

  content: counter(flow);

  width: 5rem;

  height: 5rem;

  background: var(--gray-light);

  color: var(--main);

  font-family: var(--sub-font);

  font-size: 3rem;

  display: flex;

  justify-content: center;

  align-items: center;

  position: absolute;

  left: 0;

  top: 0;

}

.l-pre .sec-flow .flow-list li + li {

  margin-top: 3.3rem;

}

.l-pre .sec-flow .flow-list li h3 {

  font-size: 2rem;

  line-height: 1.6;

  margin-bottom: 0.5rem;

}

.l-pre .sec-treatment {

  margin-bottom: 8.5rem;

}

.l-pre .sec-treatment .treat-list {

  display: flex;

  flex-wrap: wrap;

}

.l-pre .sec-treatment .treat-list li {

  width: 18rem;

  margin-right: calc((100% - 72rem) / 3);

  border-bottom: dotted 0.2rem var(--main);

  font-weight: 700;

  padding: 1rem 0 1rem 3rem;

  background: url(../img/icon-check01.png) no-repeat left center/2.2rem;

}

.l-pre .sec-treatment .treat-list li:nth-of-type(4n) {

  margin-right: 0;

}

.l-pre .sec-treatment .treat-list li:nth-of-type(n+5) {

  margin-top: 2rem;

}

.l-pre .sec-sns {

  margin-bottom: 10rem;

}

.l-pre .sec-sns .sns-list {

  width: 50rem;

  margin: 0 auto;

}

.l-pre .sec-sns .sns-list li {

  font-size: 2rem;

}

.l-pre .sec-sns .sns-list li + li {

  margin-top: 1rem;

}

.l-pre .sec-sns .sns-list li a {

  width: 100%;

  height: 8rem;

  display: flex;

  align-items: center;

  padding-left: 9rem;

  position: relative;

  background: #f5f5f5 no-repeat left 3rem center/4rem;

  border-radius: 0.5rem;

}

.l-pre .sec-sns .sns-list li.line a {

  background-image: url(../img/icon-sns01.png);

}

.l-pre .sec-sns .sns-list li.fb a {

  background-image: url(../img/icon-sns02.png);

}

.l-pre .sec-sns .sns-list li.insta a {

  background-image: url(../img/icon-sns03.png);

}

.l-pre .sec-sns .sns-list li.twitter a {

  background-image: url(../img/icon-sns04.png);

}

.l-pre .sec-sns .sns-list li.tiktok a {

  background-image: url(../img/icon-sns05.png);

}

.l-pre .sec-sns .sns-list li.youtube a {

  background-image: url(../img/icon-sns06.png);

}

.l-pre .sec-sns .sns-list li a:after {

  content: "";

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 0.4rem 0 0.4rem 0.8rem;

  border-color: transparent transparent transparent var(--main);

  position: absolute;

  top: 50%;

  right: 3rem;

  transform: translateY(-50%);

}

.l-pre .sec-recruit {

  width: 100%;

  display: flex;

  background: var(--gray-light);

  align-items: center;

}

.l-pre .sec-recruit > img.bg {

  display: block;

  width: 50%;

  object-fit: cover;

  object-position: center;

}

.l-pre .sec-recruit .inner {

  width: 60rem;

  padding: 8rem 5rem 10rem;

  text-align: center;

}

.l-pre .sec-recruit .inner h2 {

  margin-bottom: 1.4rem;

}

.l-pre .sec-recruit .inner .btn {

  width: 25rem;

  height: 6rem;

  display: flex;

  justify-content: center;

  align-items: center;

  background: #fff;

  font-weight: 700;

  color: var(--main);

  border-radius: 0.5rem;

  margin: 1.3rem auto 0;

}

.l-pre .sec-recruit .inner .btn span {

  padding-right: 1.5rem;

  position: relative;

}

.l-pre .sec-recruit .inner .btn span:after {

  content: "";

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 0.4rem 0 0.4rem 0.8rem;

  border-color: transparent transparent transparent var(--main);

  position: absolute;

  top: 50%;

  right: 0;

  transform: translateY(-50%);

}

.l-pre main + iframe {

  display: block;

  width: 100%;

  height: 40rem;

}

.l-pre footer {

  background: #00205b;

  color: #fff;

  padding: 1.6rem 0;

}

.l-pre footer .copy {

  display: block;

  text-align: center;

  font-size: 1.2rem;

}

.l-pre .float-btn {

  position: fixed;

  top: 2rem;

  right: 2rem;

  z-index: 9980;

  display: flex;

}

.l-pre .float-btn li + li {

  margin-left: 1rem;

}

.l-pre .float-btn li a { font-size: 25px;

  width: 25rem;

  height: 6rem;

  border-radius: 0.5rem;

  background: var(--main);

  color: #fff;

  font-weight: 700;

  display: flex;

  justify-content: center;

  align-items: center;

}

.l-pre .float-btn li a span {

  position: relative;

  padding-right: 1.5rem;

}

.l-pre .float-btn li a span:after {

  content: "";

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 0.4rem 0 0.4rem 0.8rem;

  border-color: transparent transparent transparent #fff;

  position: absolute;

  top: 57%;

  right: -3px;

  transform: translateY(-50%);

}

.l-pre .float-btn li.web-resv a span {

  padding-left: 3.3rem;

}

.l-pre .float-btn li.web-resv a span:before {

  content: "";

  width: 2.5rem;

  height: 2.5rem;

  background: url(../img/icon-resv01.png) no-repeat center/contain;

  position: absolute;

  left: 0;

  top: 50%;

  transform: translateY(-57%);

}

.l-pre .float-btn li.tel a span {

  padding-left: 2rem; 

}

.l-pre .float-btn li.tel a span:before {

  content: "";

  width: 2rem;

  height: 2.5rem;

  background: url(../img/icon-tel01.png) no-repeat center/contain;

  position: absolute;

  left: -5px;

  top: 55%;

  transform: translateY(-50%);

}

.l-pre .overlay {

  width: 100%;

  height: 100%;

  background: rgba(0, 0, 0, 0.7);

  position: fixed;

  top: 0;

  left: 0;

  z-index: 9990;

  opacity: 0;

  visibility: hidden;

  transition: 0.5s;

  cursor: pointer;

}

.l-pre .overlay.active {

  opacity: 1;

  visibility: visible;

}

.l-pre .modal {

  width: 800px;

  max-height: calc(100% - 10rem);

  overflow: scroll;

  padding: 10rem;

  background: #fff;

  position: fixed;

  top: 10rem;

  left: 50%;

  transform: translateX(-50%);

  z-index: 9991;

  opacity: 0;

  visibility: hidden;

  transition: 0.5s;

}

.l-pre .modal.active {

  opacity: 1;

  visibility: visible;

}

.l-pre .modal .content .time {

  display: block;

  font-size: 1.2rem;

}

.l-pre .modal .content h2 {

  font-size: 2.4rem;

  margin-bottom: 1rem;

}

.l-pre .modal .content p + p {

  margin-top: 1.5em;

}

.l-pre .modal .close {

  width: 4rem;

  height: 4rem;

  display: block;

  position: absolute;

  top: 2rem;

  right: 2rem;

  cursor: pointer;

}

.l-pre .modal .close:before {

  content: "";

  width: 100%;

  height: 1px;

  background: var(--main);

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%) rotate(45deg);

}

.l-pre .modal .close:after {

  content: "";

  width: 100%;

  height: 1px;

  background: var(--main);

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%) rotate(-45deg);

}

.l-pre .sitemap ul {

  display: flex;

  flex-wrap: wrap;

  width: 100%;

  max-width: 84rem;

  padding: 0 2rem;

  margin: 0 auto 1.6rem auto;

}

.l-pre .sitemap ul li {

  width: 25%;

}
.mv_wrap{ position: relative;}  
.l-pre p.catch_text { width: 710px; font-family: var(--sub-font); font-size: 40px; position: absolute; top: 54%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #0096b1; font-weight: 600; letter-spacing: .15rem; text-shadow: -2px -2px 4px rgba(255,255,255,0.8), 2px -2px 4px rgba(255,255,255,0.8), -2px  2px 4px rgba(255,255,255,0.8), 2px  2px 4px rgba(255,255,255,0.8);}
.l-pre p.catch_text span{font-size: 130%; letter-spacing: 0; font-weight: 500;}

@media screen and (max-width: 768px) {
    
    .l-pre p.catch_text{ width: 100%; font-size: 7.2vw; line-height: 1.3; top: 54%; }
    

  .l-pre html {

    font-size: 2.66vw;

  }

  .l-pre body {

    font-size: 1.3rem;

  }

  .l-pre p {

    line-height: 2;

    letter-spacing: 0.1em;

  }

  .l-pre .pc {

    display: none !important;

  }

  .l-pre .body-wrap {

    padding-top: 0;

  }

  .l-pre .wrap.midium {

    width: 100%;

  }

  .l-pre .row {

    flex-wrap: wrap;

  }

  .l-pre header {

    width: 100%;

    text-align: center;

    top: 2.5rem;

    left: 0;

  }

  .l-pre header img {

/*    width: 18rem;*/
	  width: 95%;
      margin: 0 auto;

  }

  .l-pre .mv {

    height: 33rem;

  }

  .l-pre main section {

    width: 100%;

    padding-left: 2.5rem;

    padding-right: 2.5rem;

  }

  .l-pre h2.general {

    font-size: 3rem;

    display: table;

    margin: 0 auto 2.5rem;

  }

  .l-pre h2.general:after {

    width: 100%;

    height: 2.5rem;

    font-size: 1.3rem;

  }

  .l-pre .sec-ttl {

    margin-bottom: 3rem;

  }

  .l-pre .sec-ttl h1 {

    font-size: 3rem;

    line-height: 1.4;

    margin-top: -6rem;

    padding-top: 1.8rem;

  }

  .l-pre .sec-ttl h1:before {

    width: 30rem;

    height: 12rem;

    border-radius: 6rem;

    top: 0;

  }

  .l-pre .sec-ttl h1 > span strong {

    font-size: 3rem;

  }

  .l-pre .sec-ttl h1 > span strong small {

    font-size: 1.8rem;

  }

  .l-pre .sec-ttl h1 > span > span {

    display: flex;

    width: 17.75rem;

    height: 2.9rem;

    border-radius: 2.9rem;

    font-size: 1.8rem;

    justify-content: center;

    align-items: center;

    margin: 0 auto 1.5rem;

  }

  .l-pre .sec-ttl h2 {

    font-size: 1.8rem;

  }

  .l-pre .sec-info {

    margin-bottom: 5.5rem;

  }

  .l-pre .sec-info .news-list li {

    flex-wrap: wrap;

  }

  .l-pre .sec-info .news-list li .cat {

    width: 6rem;

    height: 2.5rem;

    font-size: 1.3rem;

    letter-spacing: 0;

    margin-bottom: 1rem;

  }

  .l-pre .sec-info .news-list li > .text {

    width: 100%;

    padding-bottom: 0.4rem;

  }

  .l-pre .sec-info > * + .flyer-row {

    margin-top: 3rem;

  }

  .l-pre .sec-info .flyer-row {

    padding: 3rem 2.5rem;

  }

  .l-pre .sec-info .flyer-row img {

    width: 100%;

  }

  .l-pre .sec-info .flyer-row img + img {

    margin-top: 1rem;

  }

  .l-pre .sec-info > * + .info-row {

    margin-top: 2.75rem;

  }

  .l-pre .sec-info .info-row .left {

    width: 100%;

  }

  .l-pre .sec-info .info-row .left h2 {

    font-size: 16px;

    margin-bottom: 3rem;

  }

  .l-pre .sec-info .info-row .left .hour-table th {

    width: 11rem;

    height: 4rem;

  }

  .l-pre .sec-info .info-row .right {

    width: 100%;

    margin-top: 2.25rem;

    padding: 2.75rem 2.5rem 3rem;

  }

  .l-pre .sec-info .info-row .right .addres-list li {

    padding-left: 7rem;

    min-height: 6rem;

  }

  .l-pre .sec-info .info-row .right .addres-list li:before {

    width: 6rem;

    height: 6rem;

  }

  .l-pre .sec-info .info-row .right .addres-list li + li {

    margin-top: 1.5rem;

  }

  .l-pre .sec-dr {

    margin-bottom: 4.5rem;

  }

  .l-pre .sec-dr h3 {

    font-size: 3rem;

    margin-bottom: 1rem;

  }

  .l-pre .sec-dr .dr-row .txt {

    width: 48rem;

  }

  .l-pre .sec-dr h3 span {

    display: inline-block;

    line-height: 1;

    padding-right: 1rem;

  }

  .l-pre .sec-dr h3 + img {

    width: 100%;

    display: block;

    margin-bottom: 1.2rem;

  }

  .l-pre .sec-dr .history-wrap .inner {

    width: 100%;

  }

  .l-pre .sec-dr .history-wrap .inner:nth-of-type(n+2) {

    margin-top: 2.7rem;

  }

  .l-pre .sec-dr .history-wrap .inner h4 {

    font-size: 1.8rem;

  }

  .l-pre .sec-philosophy {

    margin-bottom: 4.5rem;

  }

  .l-pre .sec-philosophy h2 + h3 {

    font-size: 2.3rem;

    margin-bottom: 1.4rem;

  }

  .l-pre .sec-feature {

    margin-bottom: 4.5rem;

  }

  .l-pre .sec-feature .feature-list li {

    flex-wrap: wrap;

  }

  .l-pre .sec-feature .feature-list li + li {

    margin-top: 3rem;

  }

  .l-pre .sec-feature .feature-list li > img {

    width: 100%;

    margin-bottom: 1rem;

  }

  .l-pre .sec-feature .feature-list li > img + .txt {

    width: 100%;

  }

  .l-pre .sec-feature .feature-list li > .txt h3 {

    font-size: 1.8rem;

  }

  .l-pre .sec-flow {

    margin-bottom: 5rem;

  }

  .l-pre .facility-list li {

    width: 100%;

  }

  .l-pre .facility-list li:nth-of-type(n+2) {

    margin-top: 2.5rem;

  }

  .l-pre .sec-flow {

    margin-bottom: 4rem;

  }

  .l-pre .sec-flow .flow-list li {

    padding-left: 5.5rem;

  }

  .l-pre .sec-flow .flow-list li:before {

    width: 4rem;

    height: 4rem;

    font-size: 2.5rem;

  }

  .l-pre .sec-flow .flow-list li + li {

    margin-top: 3rem;

  }

  .l-pre .sec-flow .flow-list li h3 {

    font-size: 1.8rem;

    margin-bottom: 0.2rem;

  }

  .l-pre .sec-treatment {

    margin-bottom: 5rem;

  }

  .l-pre .sec-treatment .treat-list {

    justify-content: space-between;

  }

  .l-pre .sec-treatment .treat-list li {

    width: 15rem;

    margin-right: 0;

  }

  .l-pre .sec-treatment .treat-list li:nth-of-type(n+3) {

    margin-top: 1.5rem;

  }

  .l-pre .sec-sns {

    margin-bottom: 6rem;

  }

  .l-pre .sec-sns .sns-list {

    width: 100%;

  }

  .l-pre .sec-sns .sns-list li {

    font-size: 1.8rem;

  }

  .l-pre .sec-sns .sns-list li + li {

    margin-top: 0.5rem;

  }

  .l-pre .sec-sns .sns-list li a {

    height: 6rem;

    padding-left: 7rem;

    background-size: 3rem;

    background-position: left 2.5rem center;

  }

  .l-pre .sec-sns .sns-list li a:after {

    right: 2.5rem;

  }

  .l-pre .sec-recruit {

    flex-wrap: wrap;

  }

  .l-pre .sec-recruit > img.bg {

    width: 100vw;

    max-width: none;

    height: 20rem;

    margin: 0 -2.5rem;

  }

  .l-pre .sec-recruit .txt {

    width: 100%;

  }

  .l-pre .sec-recruit .inner {

    width: 100%;

    padding: 4.6rem 0 6rem;

  }

  .l-pre .sec-recruit .inner .btn {

    width: 100%;

    height: 5rem;

    font-size: 1.4rem;

  }

  .l-pre main + iframe {

    height: 30rem;

  }

  .l-pre footer {

    padding: 1rem 0;

    

  }

  .l-pre footer .copy {

    font-size: 1rem;

  }

  .l-pre .float-btn {

    width: 100%;

    height: 6rem;

    justify-content: space-between;

    top: auto;

    bottom: 0;

    right: 0;

    padding: 0.5rem 1rem;

  }

  .l-pre .float-btn li {

    width: 17.5rem;

    height: 100%;

  }

  .l-pre .float-btn li + li {

    margin-left: 0;

  }

  .l-pre .float-btn li a {

    width: 100%;

    height: 100%;

    font-size: 2.6rem;

    letter-spacing: 0.05em;

  }

  .l-pre .float-btn li.web-resv a span {

    padding-left: 2.1rem;

  }

  .l-pre .float-btn li.web-resv a span:before {

    width: 1.5rem;

    height: 1.5rem;

    transform: translateY(-55%);

  }

  .l-pre .float-btn li.tel a span {

    padding-left: 1.7rem;

  }

  .l-pre .float-btn li.tel a span:before {

    width: 2.5rem;

    height: 2.4rem; left: -10px; top:56%;

  }
    .l-pre .float-btn li a span:after{ top:56%;}

  .l-pre .modal {

    width: calc(100% - 5rem);

    top: 2.5rem;

    max-height: calc(100% - 2.5rem);

    padding: 8rem 2.5rem 5rem;

  }

  .l-pre .modal .content h2 {

    font-size: 1.8rem;

  }

  .l-pre .sitemap ul li {

    width: 50%;

  }

}

.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: 768px) {

  .l-pageheader img {

    height: 100%;

  }

}



.l-pagetitle {

  width: 100%;

  margin: 0 auto;

  padding: 8rem 2rem 0 2rem;

  text-align: center;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .l-pagetitle img {

    margin-top: 4rem;

  }

}



.l-pagetitle.default {

  background: var(--white);

  color: var(--main);

}



.l-pagetitle.gray-light {

  background: var(--gray-light);

  color: var(--main);

}



.l-pagetitle.main-light {

  background: var(--main-light);

  color: var(--main);

}



.l-pagetitle.main {

  background: var(--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: 768px) {

  .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: 768px) {

  .l-page .flex .col-1 > * + * {

    margin-top: 1.6rem;

  }

}

.l-page .flex .col-1 img {

  aspect-ratio: 2/1;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .l-page .flex .col-2 > * + * {

    margin-top: 1.6rem;

  }

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .l-page .flex .col-3 > * + * {

    margin-top: 1.6rem;

  }

}

@media screen and (max-width: 768px) {

  .l-page .flex .col-3 {

    width: 100%;

  }

}

.l-page .flex.rev {

  flex-direction: row-reverse;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .l-page section.default .inner {

    padding: 6rem 2rem;

  }

}

.l-page section.default h1 {

  color: var(--main);

  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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: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: 768px) {

  .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: 768px) {

  .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-collapse: collapse;

  border-spacing: 0;

  width: 100%;

  border-top: 0.1rem solid var(--gray);

}

.l-page section.default table th,

.l-page section.default table td {

  vertical-align: middle;

  border-bottom: 0.1rem solid var(--gray);

  padding: 2.4rem;

}

@media screen and (max-width: 768px) {

  .l-page section.default table th,

  .l-page section.default table td {

    padding: 2rem;

  }

}

.l-page section.default table th {

  text-align: left;

  color: var(--main-dark);

  font-weight: 600;

}

@media screen and (max-width: 768px) {

  .l-page section.default table th {

    width: 100% !important;

    display: block;

    border-bottom: 0.1rem dashed var(--gray);

  }

}

@media screen and (max-width: 768px) {

  .l-page section.default table td {

    width: 100% !important;

    display: block;

  }

}

.l-page section.default table th.w10,

.l-page section.default table td.w10 {

  width: 10%;

}

.l-page section.default table th.w20,

.l-page section.default table td.w20 {

  width: 20%;

}

.l-page section.default table th.w30,

.l-page section.default table td.w30 {

  width: 30%;

}

.l-page section.default table th.w40,

.l-page section.default table td.w40 {

  width: 40%;

}

.l-page section.default table th.w50,

.l-page section.default table td.w50 {

  width: 50%;

}

.l-page section.default table th.w60,

.l-page section.default table td.w60 {

  width: 60%;

}

.l-page section.default table th.w70,

.l-page section.default table td.w70 {

  width: 70%;

}

.l-page section.default table th.w80,

.l-page section.default table td.w80 {

  width: 80%;

}

.l-page section.default table th.w90,

.l-page section.default table td.w90 {

  width: 90%;

}

.l-page section.default table th.main,

.l-page section.default table td.main {

  background: var(--main);

  color: var(--white);

}

.l-page section.default table th.main-light,

.l-page section.default table td.main-light {

  background: var(--main-light);

}

.l-page section.default table th.gray-light,

.l-page section.default table 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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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);

}

@media screen and (max-width: 768px) {

  .l-page section.default table.scroll {

    min-width: 90rem;

  }

}

@media screen and (max-width: 768px) {

  .l-page section.default table.scroll th {

    width: auto !important;

    display: table-cell !important;

  }

}

@media screen and (max-width: 768px) {

  .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: var(--main-light);

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  flex-direction: column;

  padding: 3.2rem;

  line-height: 1.6;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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__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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: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: 768px) {

  .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: 768px) {

  .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-collapse: collapse;

  border-spacing: 0;

  width: 100%;

  border-top: 0.1rem solid var(--gray);

}

.l-page section.gray-light table th,

.l-page section.gray-light table td {

  vertical-align: middle;

  border-bottom: 0.1rem solid var(--gray);

  padding: 2.4rem;

}

@media screen and (max-width: 768px) {

  .l-page section.gray-light table th,

  .l-page section.gray-light table td {

    padding: 2rem;

  }

}

.l-page section.gray-light table th {

  text-align: left;

  color: var(--main-dark);

  font-weight: 600;

}

@media screen and (max-width: 768px) {

  .l-page section.gray-light table th {

    width: 100% !important;

    display: block;

    border-bottom: 0.1rem dashed var(--gray);

  }

}

@media screen and (max-width: 768px) {

  .l-page section.gray-light table td {

    width: 100% !important;

    display: block;

  }

}

.l-page section.gray-light table th.w10,

.l-page section.gray-light table td.w10 {

  width: 10%;

}

.l-page section.gray-light table th.w20,

.l-page section.gray-light table td.w20 {

  width: 20%;

}

.l-page section.gray-light table th.w30,

.l-page section.gray-light table td.w30 {

  width: 30%;

}

.l-page section.gray-light table th.w40,

.l-page section.gray-light table td.w40 {

  width: 40%;

}

.l-page section.gray-light table th.w50,

.l-page section.gray-light table td.w50 {

  width: 50%;

}

.l-page section.gray-light table th.w60,

.l-page section.gray-light table td.w60 {

  width: 60%;

}

.l-page section.gray-light table th.w70,

.l-page section.gray-light table td.w70 {

  width: 70%;

}

.l-page section.gray-light table th.w80,

.l-page section.gray-light table td.w80 {

  width: 80%;

}

.l-page section.gray-light table th.w90,

.l-page section.gray-light table td.w90 {

  width: 90%;

}

.l-page section.gray-light table th.main,

.l-page section.gray-light table td.main {

  background: var(--main);

  color: var(--white);

}

.l-page section.gray-light table th.main-light,

.l-page section.gray-light table td.main-light {

  background: var(--main-light);

}

.l-page section.gray-light table th.gray-light,

.l-page section.gray-light table 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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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);

}

@media screen and (max-width: 768px) {

  .l-page section.gray-light table.scroll {

    min-width: 90rem;

  }

}

@media screen and (max-width: 768px) {

  .l-page section.gray-light table.scroll th {

    width: auto !important;

    display: table-cell !important;

  }

}

@media screen and (max-width: 768px) {

  .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: var(--main-light);

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  flex-direction: column;

  padding: 3.2rem;

  line-height: 1.6;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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__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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: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: 768px) {

  .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: 768px) {

  .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-collapse: collapse;

  border-spacing: 0;

  width: 100%;

  border-top: 0.1rem solid var(--gray);

}

.l-page section.main-light table th,

.l-page section.main-light table td {

  vertical-align: middle;

  border-bottom: 0.1rem solid var(--gray);

  padding: 2.4rem;

}

@media screen and (max-width: 768px) {

  .l-page section.main-light table th,

  .l-page section.main-light table td {

    padding: 2rem;

  }

}

.l-page section.main-light table th {

  text-align: left;

  color: var(--main-dark);

  font-weight: 600;

}

@media screen and (max-width: 768px) {

  .l-page section.main-light table th {

    width: 100% !important;

    display: block;

    border-bottom: 0.1rem dashed var(--gray);

  }

}

@media screen and (max-width: 768px) {

  .l-page section.main-light table td {

    width: 100% !important;

    display: block;

  }

}

.l-page section.main-light table th.w10,

.l-page section.main-light table td.w10 {

  width: 10%;

}

.l-page section.main-light table th.w20,

.l-page section.main-light table td.w20 {

  width: 20%;

}

.l-page section.main-light table th.w30,

.l-page section.main-light table td.w30 {

  width: 30%;

}

.l-page section.main-light table th.w40,

.l-page section.main-light table td.w40 {

  width: 40%;

}

.l-page section.main-light table th.w50,

.l-page section.main-light table td.w50 {

  width: 50%;

}

.l-page section.main-light table th.w60,

.l-page section.main-light table td.w60 {

  width: 60%;

}

.l-page section.main-light table th.w70,

.l-page section.main-light table td.w70 {

  width: 70%;

}

.l-page section.main-light table th.w80,

.l-page section.main-light table td.w80 {

  width: 80%;

}

.l-page section.main-light table th.w90,

.l-page section.main-light table td.w90 {

  width: 90%;

}

.l-page section.main-light table th.main,

.l-page section.main-light table td.main {

  background: var(--main);

  color: var(--white);

}

.l-page section.main-light table th.main-light,

.l-page section.main-light table td.main-light {

  background: var(--main-light);

}

.l-page section.main-light table th.gray-light,

.l-page section.main-light table 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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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);

}

@media screen and (max-width: 768px) {

  .l-page section.main-light table.scroll {

    min-width: 90rem;

  }

}

@media screen and (max-width: 768px) {

  .l-page section.main-light table.scroll th {

    width: auto !important;

    display: table-cell !important;

  }

}

@media screen and (max-width: 768px) {

  .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: var(--white);

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  flex-direction: column;

  padding: 3.2rem;

  line-height: 1.6;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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__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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: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: 768px) {

  .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: 768px) {

  .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-collapse: collapse;

  border-spacing: 0;

  width: 100%;

  border-top: 0.1rem solid var(--white);

}

.l-page section.main table th,

.l-page section.main table td {

  vertical-align: middle;

  border-bottom: 0.1rem solid var(--white);

  padding: 2.4rem;

}

@media screen and (max-width: 768px) {

  .l-page section.main table th,

  .l-page section.main table td {

    padding: 2rem;

  }

}

.l-page section.main table th {

  text-align: left;

  color: var(--white);

  font-weight: 600;

}

@media screen and (max-width: 768px) {

  .l-page section.main table th {

    width: 100% !important;

    display: block;

    border-bottom: 0.1rem dashed var(--white);

  }

}

@media screen and (max-width: 768px) {

  .l-page section.main table td {

    width: 100% !important;

    display: block;

  }

}

.l-page section.main table th.w10,

.l-page section.main table td.w10 {

  width: 10%;

}

.l-page section.main table th.w20,

.l-page section.main table td.w20 {

  width: 20%;

}

.l-page section.main table th.w30,

.l-page section.main table td.w30 {

  width: 30%;

}

.l-page section.main table th.w40,

.l-page section.main table td.w40 {

  width: 40%;

}

.l-page section.main table th.w50,

.l-page section.main table td.w50 {

  width: 50%;

}

.l-page section.main table th.w60,

.l-page section.main table td.w60 {

  width: 60%;

}

.l-page section.main table th.w70,

.l-page section.main table td.w70 {

  width: 70%;

}

.l-page section.main table th.w80,

.l-page section.main table td.w80 {

  width: 80%;

}

.l-page section.main table th.w90,

.l-page section.main table td.w90 {

  width: 90%;

}

.l-page section.main table th.main,

.l-page section.main table td.main {

  background: var(--main);

  color: var(--white);

}

.l-page section.main table th.main-light,

.l-page section.main table td.main-light {

  background: var(--main-light);

  color: var(--main-dark);

}

.l-page section.main table th.gray-light,

.l-page section.main table 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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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);

}

@media screen and (max-width: 768px) {

  .l-page section.main table.scroll {

    min-width: 90rem;

  }

}

@media screen and (max-width: 768px) {

  .l-page section.main table.scroll th {

    width: auto !important;

    display: table-cell !important;

  }

}

@media screen and (max-width: 768px) {

  .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: var(--main-light);

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  flex-direction: column;

  padding: 3.2rem;

  line-height: 1.6;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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: 768px) {

  .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__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: 768px) {

  .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: 768px) {

  .l-page.round .profile .profileImg img {

    border-radius: 1rem 1rem 0 0;

  }

}



.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;

}



.c-calendar {

  width: 100%;

  border-collapse: collapse;

  border-spacing: 0;

  font-weight: 600;

}

@media screen and (max-width: 768px) {

  .c-calendar {

    font-size: 1.2rem;

  }

}

.c-calendar th {

  background: var(--main-light);

  text-align: center;

  width: 9%;

  padding: 0.5rem;

  border-bottom: 0.1rem solid var(--main-light);

}

.c-calendar th.head {

  width: 36%;

  text-align: left;

  padding: 0.5rem 1rem;

}

.c-calendar td {

  border-bottom: 0.1rem solid var(--main-light);

  text-align: center;

  width: 9%;

  padding: 0.5rem;

}

.c-calendar td.head {

  width: 37%;

  text-align: left;

  padding: 0.5rem 1rem;

}



.c-btnM--primary {

  background: var(--main);

  color: #fff;

  text-decoration: none;

  text-align: center;

  padding: 0.8rem 1.4rem;

  border-radius: 0.9rem;

  transition: 0.5s;

  outline: 0.1rem solid #fff;

}

.c-btnM--primary:hover {

  opacity: 0.7;

}



.c-btnL--primary {

  background: var(--main);

  color: #fff;

  text-decoration: none;

  text-align: center;

  padding: 1.1rem 1.7rem;

  border-radius: 1.2rem;

  transition: 0.5s;

  outline: 0.1rem solid #fff;

}

.c-btnL--primary:hover {

  opacity: 0.7;

}



.c-btnM--secondary {

  background: var(--sub);

  color: #fff;

  text-decoration: none;

  text-align: center;

  padding: 0.8rem 1.4rem;

  border-radius: 0.9rem;

  transition: 0.5s;

}

.c-btnM--secondary:hover {

  opacity: 0.7;

}



.c-btnL--secondary {

  background: var(--sub);

  color: #fff;

  text-decoration: none;

  text-align: center;

  padding: 1.1rem 1.7rem;

  border-radius: 1.2rem;

  transition: 0.5s;

}

.c-btnL--secondary:hover {

  opacity: 0.7;

}



.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: 768px) {

  .c-catlist__link {

    flex-wrap: wrap;

    gap: 1rem 2rem;

  }

}

.c-catlist__link:hover {

  opacity: 0.5;

}

@media screen and (max-width: 768px) {

  .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: 768px) {

  .c-catlist__title {

    display: block;

    width: 100%;

  }

}



.c-pagenavi {

  text-align: center;

  margin-top: 10rem;

}

@media screen and (max-width: 768px) {

  .c-pagenavi {

    margin-top: 5rem;

  }

}



.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) !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) !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) !important;

  text-decoration: none !important;

  position: relative !important;

  background: var(--main) !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) !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) !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) !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) !important;

  color: var(--white) !important;

}

.wp-pagenavi .current {

  border: 0.1rem solid var(--main) !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) !important;

  min-width: 4rem !important;

}



@media screen and (max-width: 768px) {

  .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;

  }

}

.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;

}

/*# sourceMappingURL=style.css.map */

@media(max-width:768px){

.l-pre .sec-philosophy h2 + h3 span {

  border-bottom: dotted 0.2rem #00205b;

  padding-bottom: 0.25em;

  font-size:20px;

}

}