@charset "UTF-8";
:root {
  --base-width: 1180px;
  --base-font-size: 16px;
  --base-color: #00b2b1;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  src: local("Roboto Light"), local("Roboto-Light"), url("./fonts/Roboto-Light.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: local("Roboto Regular"), local("Roboto-Regular"), url("./fonts/Roboto-Regular.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: local("Roboto Bold"), local("Roboto-Bold"), url("./fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 900;
  src: local("Roboto Black"), local("Roboto-Black"), url("./fonts/Roboto-Black.ttf") format("truetype");
  font-display: swap;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

ul,
ol {
  padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

ul[class],
ol[class] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img {
  vertical-align: top;
}

input,
button,
textarea,
select {
  font: inherit;
}

button:focus {
  outline: 0;
}

input[type=text],
input[type=password],
textarea,
select {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
ul:not([class]) {
  margin-bottom: 20px;
}
ul:not([class]) li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
}

ol:not([class]) {
  margin-bottom: 20px;
}
ol:not([class]) li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
}

.fSSS {
  font-size: 9px !important;
  font-size: 0.9rem !important;
}

.fSS {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.fS {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

.fL {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

.fLL {
  font-size: 20px !important;
  font-size: 2rem !important;
}

.fLLL {
  font-size: 22px !important;
  font-size: 2.2rem !important;
}

.mt0 {
  margin-top: 0rem !important;
}

.mr0 {
  margin-right: 0rem !important;
}

.mb0 {
  margin-bottom: 0rem !important;
}

.ml0 {
  margin-left: 0rem !important;
}

.mt5 {
  margin-top: 0.5rem !important;
}

.mr5 {
  margin-right: 0.5rem !important;
}

.mb5 {
  margin-bottom: 0.5rem !important;
}

.ml5 {
  margin-left: 0.5rem !important;
}

.mt10 {
  margin-top: 1rem !important;
}

.mr10 {
  margin-right: 1rem !important;
}

.mb10 {
  margin-bottom: 1rem !important;
}

.ml10 {
  margin-left: 1rem !important;
}

.mt15 {
  margin-top: 1.5rem !important;
}

.mr15 {
  margin-right: 1.5rem !important;
}

.mb15 {
  margin-bottom: 1.5rem !important;
}

.ml15 {
  margin-left: 1.5rem !important;
}

.mt20 {
  margin-top: 2rem !important;
}

.mr20 {
  margin-right: 2rem !important;
}

.mb20 {
  margin-bottom: 2rem !important;
}

.ml20 {
  margin-left: 2rem !important;
}

.mt25 {
  margin-top: 2.5rem !important;
}

.mr25 {
  margin-right: 2.5rem !important;
}

.mb25 {
  margin-bottom: 2.5rem !important;
}

.ml25 {
  margin-left: 2.5rem !important;
}

.mt30 {
  margin-top: 3rem !important;
}

.mr30 {
  margin-right: 3rem !important;
}

.mb30 {
  margin-bottom: 3rem !important;
}

.ml30 {
  margin-left: 3rem !important;
}

.mt35 {
  margin-top: 3.5rem !important;
}

.mr35 {
  margin-right: 3.5rem !important;
}

.mb35 {
  margin-bottom: 3.5rem !important;
}

.ml35 {
  margin-left: 3.5rem !important;
}

.mt40 {
  margin-top: 4rem !important;
}

.mr40 {
  margin-right: 4rem !important;
}

.mb40 {
  margin-bottom: 4rem !important;
}

.ml40 {
  margin-left: 4rem !important;
}

.mt45 {
  margin-top: 4.5rem !important;
}

.mr45 {
  margin-right: 4.5rem !important;
}

.mb45 {
  margin-bottom: 4.5rem !important;
}

.ml45 {
  margin-left: 4.5rem !important;
}

.mt50 {
  margin-top: 5rem !important;
}

.mr50 {
  margin-right: 5rem !important;
}

.mb50 {
  margin-bottom: 5rem !important;
}

.ml50 {
  margin-left: 5rem !important;
}

.mt55 {
  margin-top: 5.5rem !important;
}

.mr55 {
  margin-right: 5.5rem !important;
}

.mb55 {
  margin-bottom: 5.5rem !important;
}

.ml55 {
  margin-left: 5.5rem !important;
}

.mt60 {
  margin-top: 6rem !important;
}

.mr60 {
  margin-right: 6rem !important;
}

.mb60 {
  margin-bottom: 6rem !important;
}

.ml60 {
  margin-left: 6rem !important;
}

.mt65 {
  margin-top: 6.5rem !important;
}

.mr65 {
  margin-right: 6.5rem !important;
}

.mb65 {
  margin-bottom: 6.5rem !important;
}

.ml65 {
  margin-left: 6.5rem !important;
}

.mt70 {
  margin-top: 7rem !important;
}

.mr70 {
  margin-right: 7rem !important;
}

.mb70 {
  margin-bottom: 7rem !important;
}

.ml70 {
  margin-left: 7rem !important;
}

.mt75 {
  margin-top: 7.5rem !important;
}

.mr75 {
  margin-right: 7.5rem !important;
}

.mb75 {
  margin-bottom: 7.5rem !important;
}

.ml75 {
  margin-left: 7.5rem !important;
}

.mt80 {
  margin-top: 8rem !important;
}

.mr80 {
  margin-right: 8rem !important;
}

.mb80 {
  margin-bottom: 8rem !important;
}

.ml80 {
  margin-left: 8rem !important;
}

.mt85 {
  margin-top: 8.5rem !important;
}

.mr85 {
  margin-right: 8.5rem !important;
}

.mb85 {
  margin-bottom: 8.5rem !important;
}

.ml85 {
  margin-left: 8.5rem !important;
}

.mt90 {
  margin-top: 9rem !important;
}

.mr90 {
  margin-right: 9rem !important;
}

.mb90 {
  margin-bottom: 9rem !important;
}

.ml90 {
  margin-left: 9rem !important;
}

.mt95 {
  margin-top: 9.5rem !important;
}

.mr95 {
  margin-right: 9.5rem !important;
}

.mb95 {
  margin-bottom: 9.5rem !important;
}

.ml95 {
  margin-left: 9.5rem !important;
}

.mt100 {
  margin-top: 10rem !important;
}

.mr100 {
  margin-right: 10rem !important;
}

.mb100 {
  margin-bottom: 10rem !important;
}

.ml100 {
  margin-left: 10rem !important;
}

.pt0 {
  padding-top: 0rem !important;
}

.pr0 {
  padding-right: 0rem !important;
}

.pb0 {
  padding-bottom: 0rem !important;
}

.pl0 {
  padding-left: 0rem !important;
}

.pt5 {
  padding-top: 0.5rem !important;
}

.pr5 {
  padding-right: 0.5rem !important;
}

.pb5 {
  padding-bottom: 0.5rem !important;
}

.pl5 {
  padding-left: 0.5rem !important;
}

.pt10 {
  padding-top: 1rem !important;
}

.pr10 {
  padding-right: 1rem !important;
}

.pb10 {
  padding-bottom: 1rem !important;
}

.pl10 {
  padding-left: 1rem !important;
}

.pt15 {
  padding-top: 1.5rem !important;
}

.pr15 {
  padding-right: 1.5rem !important;
}

.pb15 {
  padding-bottom: 1.5rem !important;
}

.pl15 {
  padding-left: 1.5rem !important;
}

.pt20 {
  padding-top: 2rem !important;
}

.pr20 {
  padding-right: 2rem !important;
}

.pb20 {
  padding-bottom: 2rem !important;
}

.pl20 {
  padding-left: 2rem !important;
}

.pt25 {
  padding-top: 2.5rem !important;
}

.pr25 {
  padding-right: 2.5rem !important;
}

.pb25 {
  padding-bottom: 2.5rem !important;
}

.pl25 {
  padding-left: 2.5rem !important;
}

.pt30 {
  padding-top: 3rem !important;
}

.pr30 {
  padding-right: 3rem !important;
}

.pb30 {
  padding-bottom: 3rem !important;
}

.pl30 {
  padding-left: 3rem !important;
}

.pt35 {
  padding-top: 3.5rem !important;
}

.pr35 {
  padding-right: 3.5rem !important;
}

.pb35 {
  padding-bottom: 3.5rem !important;
}

.pl35 {
  padding-left: 3.5rem !important;
}

.pt40 {
  padding-top: 4rem !important;
}

.pr40 {
  padding-right: 4rem !important;
}

.pb40 {
  padding-bottom: 4rem !important;
}

.pl40 {
  padding-left: 4rem !important;
}

.pt45 {
  padding-top: 4.5rem !important;
}

.pr45 {
  padding-right: 4.5rem !important;
}

.pb45 {
  padding-bottom: 4.5rem !important;
}

.pl45 {
  padding-left: 4.5rem !important;
}

.pt50 {
  padding-top: 5rem !important;
}

.pr50 {
  padding-right: 5rem !important;
}

.pb50 {
  padding-bottom: 5rem !important;
}

.pl50 {
  padding-left: 5rem !important;
}

.pt55 {
  padding-top: 5.5rem !important;
}

.pr55 {
  padding-right: 5.5rem !important;
}

.pb55 {
  padding-bottom: 5.5rem !important;
}

.pl55 {
  padding-left: 5.5rem !important;
}

.pt60 {
  padding-top: 6rem !important;
}

.pr60 {
  padding-right: 6rem !important;
}

.pb60 {
  padding-bottom: 6rem !important;
}

.pl60 {
  padding-left: 6rem !important;
}

.pt65 {
  padding-top: 6.5rem !important;
}

.pr65 {
  padding-right: 6.5rem !important;
}

.pb65 {
  padding-bottom: 6.5rem !important;
}

.pl65 {
  padding-left: 6.5rem !important;
}

.pt70 {
  padding-top: 7rem !important;
}

.pr70 {
  padding-right: 7rem !important;
}

.pb70 {
  padding-bottom: 7rem !important;
}

.pl70 {
  padding-left: 7rem !important;
}

.pt75 {
  padding-top: 7.5rem !important;
}

.pr75 {
  padding-right: 7.5rem !important;
}

.pb75 {
  padding-bottom: 7.5rem !important;
}

.pl75 {
  padding-left: 7.5rem !important;
}

.pt80 {
  padding-top: 8rem !important;
}

.pr80 {
  padding-right: 8rem !important;
}

.pb80 {
  padding-bottom: 8rem !important;
}

.pl80 {
  padding-left: 8rem !important;
}

.pt85 {
  padding-top: 8.5rem !important;
}

.pr85 {
  padding-right: 8.5rem !important;
}

.pb85 {
  padding-bottom: 8.5rem !important;
}

.pl85 {
  padding-left: 8.5rem !important;
}

.pt90 {
  padding-top: 9rem !important;
}

.pr90 {
  padding-right: 9rem !important;
}

.pb90 {
  padding-bottom: 9rem !important;
}

.pl90 {
  padding-left: 9rem !important;
}

.pt95 {
  padding-top: 9.5rem !important;
}

.pr95 {
  padding-right: 9.5rem !important;
}

.pb95 {
  padding-bottom: 9.5rem !important;
}

.pl95 {
  padding-left: 9.5rem !important;
}

.pt100 {
  padding-top: 10rem !important;
}

.pr100 {
  padding-right: 10rem !important;
}

.pb100 {
  padding-bottom: 10rem !important;
}

.pl100 {
  padding-left: 10rem !important;
}

.w5 {
  width: 5% !important;
}

.w10 {
  width: 10% !important;
}

.w15 {
  width: 15% !important;
}

.w20 {
  width: 20% !important;
}

.w25 {
  width: 25% !important;
}

.w30 {
  width: 30% !important;
}

.w35 {
  width: 35% !important;
}

.w40 {
  width: 40% !important;
}

.w45 {
  width: 45% !important;
}

.w50 {
  width: 50% !important;
}

.w55 {
  width: 55% !important;
}

.w60 {
  width: 60% !important;
}

.w65 {
  width: 65% !important;
}

.w70 {
  width: 70% !important;
}

.w75 {
  width: 75% !important;
}

.w80 {
  width: 80% !important;
}

.w85 {
  width: 85% !important;
}

.w90 {
  width: 90% !important;
}

.w95 {
  width: 95% !important;
}

.w100 {
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  .md-mt0 {
    margin-top: 0px !important;
  }
}
@media screen and (max-width: 480px) {
  .sp-mt0 {
    margin-top: 0px !important;
  }
  .sp-mt20 {
    margin-top: 20px !important;
  }
  .sp-mt50 {
    margin-top: 50px !important;
  }
  .sp-clear {
    clear: both;
  }
  .sp-pl0 {
    padding-left: 0 !important;
  }
  .sp-pt0 {
    padding-top: 0 !important;
  }
  .sp-mr0 {
    margin-right: 0 !important;
  }
  .sp-mb0 {
    margin-bottom: 0 !important;
  }
  .sp-pb35 {
    padding-bottom: 35px;
  }
  .sp-pb40 {
    padding-bottom: 40px;
  }
}
.ffs-palt {
  font-feature-settings: "palt" 1;
}

.text-s {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
}

.text-sm {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
}

.text {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
}

.text-m {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
}

.text-b {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.4;
}

.text-l {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.4;
}

.text-xl {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.4;
}

.text-shadow {
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.9), 0 0 4px rgba(0, 0, 0, 0.5);
}

.text-center {
  text-align: center !important;
}

.text-justify {
  text-align: justify;
}

.text-right {
  text-align: right !important;
}

.text-left {
  text-align: left !important;
}

@media screen and (max-width: 480px) {
  .sp-text-center {
    text-align: center !important;
  }
  .sp-text-right {
    text-align: right !important;
  }
  .sp-text-left {
    text-align: left !important;
  }
}
.underline {
  text-decoration: underline;
}

.no-underline {
  text-decoration: none;
}

.normal {
  font-weight: normal !important;
}

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

.italic {
  font-style: italic;
}

.indent {
  text-indent: 1em;
}

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

.ls {
  letter-spacing: 0.1em !important;
}

.ls2 {
  letter-spacing: 0.2em !important;
}

.lh12 {
  line-height: 1.2;
}

.lh14 {
  line-height: 1.4;
}

.lh16 {
  line-height: 1.6;
}

.nowrap {
  white-space: nowrap;
}

.text-crop::before {
  content: "";
  display: block;
  height: 0;
  width: 0;
  margin-top: calc((1 - 1.2) * 0.5em);
}

.hidetxt {
  -moz-user-select: none;
  -ms-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.overhidden {
  overflow: hidden;
}

.inline-block {
  display: inline-block;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.hidden {
  display: none !important;
}

.hidden-pc {
  display: none !important;
}
@media screen and (max-width: 480px) {
  .hidden-pc {
    display: block !important;
  }
}

.hidden-pc--flex {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .hidden-pc--flex {
    display: flex !important;
  }
}

@media screen and (max-width: 480px) {
  .block-sp {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .hidden-tablet {
    display: none !important;
  }
}

@media screen and (max-width: 480px) {
  .hidden-sp {
    display: none !important;
  }
}

.static {
  position: static;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.floL {
  float: left;
}

.floR {
  float: right;
}

.imgL {
  float: left;
  margin-right: 50px;
  margin-bottom: 35px;
  width: fit-content;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .imgL {
    float: none;
    margin: 0 auto 20px auto;
  }
}

.imgR {
  float: right;
  margin-left: 50px;
  margin-bottom: 35px;
  width: fit-content;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .imgR {
    float: none;
    margin: 0 auto 20px auto;
  }
}

.clear {
  clear: both;
}

.clear-left {
  clear: left;
}

.clear-right {
  clear: right;
}

.clearfix:after {
  content: "";
  clear: both;
  display: table;
}

.v-top {
  vertical-align: top;
}

.v-middle {
  vertical-align: middle;
}

.v-bottom {
  vertical-align: bottom;
}

.margin-auto {
  margin: auto;
}

.mt-auto {
  margin-top: auto;
}

.mr-auto {
  margin-right: auto;
}

.ml-auto {
  margin-left: auto;
}

.mb-auto {
  margin-bottom: auto;
}

figure {
  display: block;
}

.figcaption {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-top: 5px;
  max-width: fit-content;
}

.caption {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
  margin-top: 15px;
}

.fit-caption {
  width: fit-content;
}
.fit-caption img {
  width: 100%;
}

hr {
  margin: 50px 0;
  padding: 0;
  border: none;
}

hr.border {
  border-top: 1px solid var(--base_color);
}

.no-bg {
  background: none !important;
}

.radius {
  border-radius: 100%;
}

.border-radius-s {
  border-radius: 4px;
}

.border-radius-m {
  border-radius: 8px;
}

.border-radius-l {
  border-radius: 12px;
}

.object-cover {
  width: inherit;
  object-fit: cover !important;
  width: 100%;
  height: 100%;
}

.object-cover-child > * {
  width: inherit;
  object-fit: cover !important;
  width: 100%;
  height: 100%;
}

.object-contain {
  width: inherit;
  object-fit: contain !important;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 480px) {
  .sp-img-full {
    width: 100%;
    height: auto;
  }
}
.content-visibility {
  content-visibility: auto;
  contain-intrinsic-size: 1000px;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 10px;
  margin: 0;
  color: #000;
  font-family: sans-serif;
}
@media screen and (max-width: 480px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}
body.is-sp-menu-open {
  overflow: hidden;
}

a {
  text-decoration: none;
  color: #231815;
}
a:hover {
  color: #fc596a;
}
a.link {
  color: #ff596a !important;
}
a.link:hover {
  color: #00b2b1 !important;
}

p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.7;
}

.page-block {
  overflow: hidden;
  padding-top: var(--headerheight);
}
.page-block[aria-disabled=true] {
  pointer-events: none;
  position: relative;
}
.page-block[aria-disabled=true]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 768px) {
  .page-block {
    padding-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .page-block.top-margin {
    margin-top: 110px;
  }
  .page-block.top-margin .bread-crumb {
    background-color: #fff;
  }
}

.contents-block {
  padding: 0 1.34vw;
  background-color: #f2fbfb;
}
@media screen and (max-width: 768px) {
  .contents-block {
    padding-right: 5vw;
    padding-left: 5vw;
  }
}
.contents-block p {
  text-align: justify;
}

.container {
  max-width: var(--base-width);
  margin: 0 auto;
}
@media screen and (max-width: 480px) {
  .container {
    padding: 0;
  }
}

.container__inner {
  padding-left: 1.34vw;
  padding-right: 1.34vw;
  padding-left: clamp(40px, 5vw, 80px);
  padding-right: clamp(40px, 5vw, 80px);
}
@media screen and (max-width: 768px) {
  .container__inner {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

@media screen and (max-width: 480px) {
  .sp-container {
    margin-left: 5vw;
    margin-right: 5vw;
  }
}
.unit {
  padding: 35px 40px;
}
@media screen and (max-width: 480px) {
  .unit {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.header {
  position: relative;
}
.header::before {
  content: "";
  display: block;
  background-color: #fff;
  width: 100%;
  height: 70px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 91;
}
@media screen and (max-width: 768px) {
  .header::before {
    height: 0px;
    height: clamp(70px, 70px + 1vw, 96px);
  }
}
@media screen and (max-width: 480px) {
  .header::before {
    height: 0px;
  }
}

.scroll-point {
  position: absolute;
  left: 0;
  top: 0;
}

.both-ends {
  margin-left: -1.34vw;
  margin-right: -1.34vw;
}

.container-pagetop {
  position: fixed;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  z-index: 1;
  bottom: 65px;
  right: 1.34vw;
}

.btn-pagetop button {
  opacity: 0;
  outline: none;
  padding: 0;
  appearance: none;
  border: none;
  cursor: pointer;
  position: absolute;
  background: transparent;
  right: 25px;
  width: 55px;
  height: 55px;
  transition: all 300ms ease-in;
}
@media screen and (max-width: 480px) {
  .btn-pagetop button {
    right: 5px;
  }
}
.btn-pagetop button.active {
  opacity: 1;
}

.pagetop-btn {
  display: inline-block;
  width: 62px;
  height: 62px;
  background-color: #00b2b1;
  border-radius: 100%;
  position: relative;
  opacity: 0;
  transition: opacity 300ms ease-in, background-color 200ms ease-out;
}
.pagetop-btn::after {
  position: absolute;
  top: 55%;
  left: 50%;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 480px) {
  .pagetop-btn {
    width: 30px;
    height: 30px;
  }
  .pagetop-btn::after {
    width: 9px;
    height: 9px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
}
.pagetop-btn:hover {
  background-color: #fc596a;
}

.btn-pagetop-scroll.is-active .pagetop-btn {
  opacity: 1;
}

.footer {
  position: relative;
  padding-top: 50px;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .footer {
    display: flex;
    flex-direction: column-reverse;
    padding-bottom: 70px;
  }
}

.footer-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .footer-content {
    flex-direction: column;
    margin-top: 60px;
  }
}

.address {
  font-size: 16px;
  font-size: 1.6rem;
  margin-top: 35px;
  margin-bottom: 20px;
}

.contact-tel {
  font-family: Roboto;
  font-weight: 500;
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.contact-tel a {
  color: #00b2b1;
}

.sns-link {
  display: flex;
  justify-content: center;
  margin-left: -15px;
  margin-right: -15px;
}
@media screen and (max-width: 768px) {
  .sns-link {
    position: static;
  }
}
.sns-link > li {
  margin-left: 15px;
  margin-right: 15px;
}

.footer-item .sns-link {
  position: absolute;
  top: 50px;
  right: 1.34vw;
}
@media screen and (max-width: 768px) {
  .footer-item .sns-link {
    position: static;
  }
}

.copyright {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 5px;
}

.other-link {
  position: absolute;
  bottom: 0;
  right: 1.34vw;
}
@media screen and (max-width: 480px) {
  .other-link {
    position: static;
    margin-top: 24px;
    margin-right: 5vw;
    display: flex;
    justify-content: flex-end;
  }
}

.fixed {
  position: fixed;
  transform: translateY(0);
  top: 0;
}

.container-header {
  pointer-events: none;
  display: flex;
  top: 0;
  position: fixed;
  z-index: 110;
  width: 100%;
  height: auto;
  transition: height 200ms ease-in-out;
}
@media screen and (min-width: 1180px) {
  .container-header {
    height: 70px;
  }
}
@media screen and (max-width: 768px) {
  .container-header {
    height: 0px;
    height: clamp(0px, 70px + 1vw, 70px);
  }
}
@media screen and (max-width: 480px) {
  .container-header {
    height: 90px;
  }
}
.sp-scroll-container {
  width: inherit;
}
@media screen and (min-width: 1180px) {
  .sp-scroll-container {
    width: calc(100% - 200px);
  }
}
.is-sp-menu-open .sp-scroll-container {
  height: 100vh;
}

.container-nav {
  pointer-events: visible;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  height: auto;
  flex-direction: row-reverse;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 1180px) {
  .container-nav {
    height: 100%;
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .container-nav {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background-color: #e5f7f7;
    position: fixed;
    top: 0;
    right: 0;
    opacity: 1;
    display: block;
    height: 100%;
    width: calc(100% - 200px);
    transition: transform 700ms ease-out;
    transform: translateX(100%);
  }
  .container-nav > nav {
    height: auto;
  }
  .is-sp-menu-open .container-nav {
    transform: translateX(0);
  }
}
@media screen and (max-width: 480px) {
  .container-nav {
    width: calc(100% - 90px);
  }
}

.gnav a[href="/"] {
  display: none;
}
@media screen and (max-width: 768px) {
  .gnav a[href="/"] {
    display: inline-flex;
  }
}

.contact-nav {
  order: 1;
  display: flex;
  flex-grow: 0;
  flex-shrink: 1;
  height: 46px;
  margin-left: auto;
  padding-left: 15px;
  padding-left: clamp(5px, 0.7vw, 15px);
}
@media screen and (min-width: 1180px) {
  .contact-nav {
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .contact-nav {
    flex-direction: column;
    height: auto;
    padding: 50px 5vw;
  }
}
.contact-nav .tel {
  display: inline-flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  flex-grow: 1;
  flex-shrink: 1;
  max-width: inherit;
  padding-right: 15px;
  padding-right: clamp(5px, 0.7vw, 15px);
  white-space: normal;
}
@media screen and (min-width: 1180px) {
  .contact-nav .tel {
    max-width: 220px;
    padding-right: 0;
    white-space: nowrap;
  }
}
.contact-nav .tel a {
  display: inline-flex;
  align-items: center;
  font-size: 27px;
  font-size: 2.7rem;
  font-size: clamp(2rem, 3.4vw, 2.7rem);
  line-height: 1;
  font-family: Roboto;
  font-weight: 500;
  color: #00b2b1;
  letter-spacing: 1.1px;
  height: 25px;
}
.contact-nav .tel .text-s {
  display: block;
  margin-top: 4px;
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .contact-nav .tel {
    display: block;
    max-width: inherit;
    width: 100%;
    text-align: center;
  }
  .contact-nav .tel a {
    font-size: 36px;
    font-size: 3.6rem;
    font-size: clamp(2.7rem, 5vw, 3.6rem);
    white-space: nowrap;
  }
}

.header-contact-btn {
  display: inline-flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
  line-height: 1.2;
  color: #fff;
  width: 125px;
  min-width: inherit;
  height: 100%;
  font-size: 12px;
  font-size: 1.2rem;
  background-color: #00b2b1;
  transition: background-color 200ms ease-out;
}
.header-contact-btn:hover {
  color: #fff;
  background-color: #fc596a;
}
.header-contact-btn .mail-pict {
  margin-right: 8px;
}
@media screen and (min-width: 1180px) {
  .header-contact-btn {
    flex-direction: column;
    text-align: center;
    width: 100px;
    min-width: 100px;
  }
  .header-contact-btn .mail-pict {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .header-contact-btn {
    display: flex;
    width: 100%;
    margin-top: 20px;
    padding: 1em 0;
    font-size: 25px;
    font-size: 2.5rem;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
  }
  .header-contact-btn br {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .header-contact-btn {
    font-size: 20px;
    font-size: 2rem;
    font-size: clamp(1.6rem, 3vw, 2rem);
  }
}

.logo {
  pointer-events: visible;
  flex: 0 0 auto;
  width: 200px;
  height: 200px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .logo {
    width: 90px;
    height: 90px;
    max-height: 90px;
  }
}
.logo a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: auto;
  height: 100%;
}

.logo-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .logo-top,
  .logo-bottom {
    display: none;
  }
  .logo-sp {
    display: block;
  }
}
.gnav {
  order: 2;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .gnav {
    padding-top: 64px;
    padding-left: 5vw;
    padding-right: 5vw;
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-flow: column nowrap;
    flex: 0 0 auto;
  }
}

.gnav__item {
  display: inline-flex;
  position: relative;
  padding-left: 10px;
  padding-right: 10px;
}
.gnav__item > span > a {
  font-family: "じゅん 201";
  flex: 1 1 auto;
  position: relative;
  font-feature-settings: "palt";
  font-size: 14px;
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 1.3vw, 1.6rem);
  color: #231815;
  display: inline-flex;
  align-items: center;
  height: 44px;
  letter-spacing: 0.02em;
  transition: all 200ms ease-in-out;
  border-bottom: 4px solid transparent;
}
.gnav__item > span > a:hover {
  color: #2ea5d1;
  border-bottom: 4px solid #fc596a;
}
@media screen and (max-width: 768px) {
  .gnav__item {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
  }
  .gnav__item > span {
    display: flex;
    align-items: center;
  }
  .gnav__item > span > a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    width: 100%;
    height: 60px;
    border: none;
  }
  .gnav__item > span > a:hover {
    color: #00b2b1;
    border: none;
  }
}

.nav-name {
  white-space: wrap;
}
@media screen and (min-width: 1180px) {
  .nav-name {
    white-space: nowrap;
  }
}

.nav-sub {
  position: absolute;
  display: inline-flex;
  top: 44px;
  left: 0.4em;
  transition: all 400ms ease-in-out;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .nav-sub {
    display: block;
    position: static;
    padding-top: 0;
    box-shadow: none;
    overflow: hidden;
  }
}

.nav-sub__inner a {
  font-family: "じゅん 201";
  display: flex;
  justify-content: space-between;
  width: max-content;
  min-width: 340px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 1em 1em 1em 2em;
  color: #000;
  background-color: #fff;
  transition: all 200ms ease-in;
  position: relative;
}
.nav-sub__inner a::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 11px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA3IDEwLjM4NDIiIHZpZXdCb3g9IjAgMCA3IDEwLjM4NDIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTEuODA3OSAxMC4zODQyIDMuMzg0Mi0zLjM4NDIgMS44MDc5LTEuODA3OS0xLjgwNzktMS44MDc5LTMuMzg0Mi0zLjM4NDItMS44MDc5IDEuODA3OSAzLjM4NDIgMy4zODQyLTMuMzg0MiAzLjM4NDJ6IiBmaWxsPSIjZmY0NjY1Ii8+PC9zdmc+);
  background-size: 7px 11px;
  position: relative;
  transform: translateX(0);
  transition: transform 200ms ease-in;
}
.nav-sub__inner a:hover {
  background-color: #e5f7f7;
}
.nav-sub__inner a:hover::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 11px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA3IDEwLjM4NDIiIHZpZXdCb3g9IjAgMCA3IDEwLjM4NDIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTEuODA3OSAxMC4zODQyIDMuMzg0Mi0zLjM4NDIgMS44MDc5LTEuODA3OS0xLjgwNzktMS44MDc5LTMuMzg0Mi0zLjM4NDItMS44MDc5IDEuODA3OSAzLjM4NDIgMy4zODQyLTMuMzg0MiAzLjM4NDJ6IiBmaWxsPSIjMDBiMmIxIi8+PC9zdmc+);
  background-size: 7px 11px;
  transform: translateX(4px);
}
@media screen and (max-width: 768px) {
  .nav-sub__inner a {
    display: flex;
    min-width: inherit;
    width: 100%;
    padding: 10px 1em;
    line-height: 1.4;
  }
  .nav-sub__inner a::after {
    position: absolute;
    top: 50%;
    right: 11px;
    transform: translate(0, -50%);
    transition: all 200ms ease-in;
  }
  .nav-sub__inner a:hover::after {
    top: 50%;
    right: 6px;
    transform: translate(0, -50%);
  }
}

.nav-sub[aria-hidden=true] {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .nav-sub[aria-hidden=true] {
    opacity: 1;
    max-height: 0 !important;
    transition: max-height 0.6s ease;
  }
}

.nav-sub[aria-hidden=false] {
  pointer-events: auto;
  opacity: 1;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .nav-sub[aria-hidden=false] {
    height: 100%;
    transition: max-height 0.6s ease;
  }
}

/*
.nav-bottom-border {
  pointer-events: none;

  display: inline-block;
  width: auto;
  height: 4px;
  background-color: g.$base_color2;
  position: absolute;
  bottom: 14px;

  left: 0; //マウスオーバー前の位置
  transition: all 400ms g.$ease-out-quart;

  will-change: left;
  @include g.mq(md) {
    display: none;
  }
}
.nav-bottom-border {
  &[aria-hidden="true"] {
    opacity: 0;
  }
  &[aria-hidden="false"] {
    opacity: 1;
  }
}
*/
/*
.search-block{
	margin: 15px 13px 0 13px;
	.ajaxSearch_form{
		text-decoration: none;
		position: relative;
    font-size: 10px;
    margin: 0 1.8em;
		&:before {
			// content:"";
			// cursor: default;
			// display: inline-block;
			// position: absolute;
			// top: 50%;
			// left: 1.8em;
			// transform: translate(-50%, -50%);

			// width: 1.8em;
			// height: 1.8em;
			// background: url($img_path+"/images/common/search.svg") no-repeat left center;
			// background-size: contain;
		}
	}
	.search-input{
		font-size: 1.4rem;
		font-size: 14px;
		padding: 0.5em 0.5em 0.5em 2.2em;

		border: none;
		border-radius: 0.6em;
		outline: none;
		background: #fff;

		// width: fill;
		// width: -moz-available;
		// width: -webkit-fill-available;
		width: 168px;
	}
	.search-input-btn{
		appearance: none;
		outline: 0;
		border: none;
		cursor: pointer;

		display: inline-block;
		position: absolute;
		top: 50%;
		left: 1.8em;
		transform: translate(-50%, -50%);

		width: 1.8em;
		height: 1.8em;
		// background: url($img_path+"/images/common/search.svg") no-repeat left center;
		// background-size: contain;
		// &:hover{
		// 	background-image: url($img_path+"/images/common/search_r.svg") 
		//}
	}
	fieldset{
		appearance: none;
		outline: 0;
		margin: 0;
		padding:0;
		border:none;
	}
}
*/
.link-nav {
  position: absolute;
  z-index: 110;
  right: 20px;
  right: clamp(10px, 2vw, 20px);
  top: 14px;
  display: flex;
  flex-flow: row nowrap;
}
.link-nav li {
  margin-top: 0 !important;
  margin-left: 30px;
}
@media screen and (max-width: 480px) {
  .link-nav {
    display: none;
  }
}

.sp-menu-block {
  display: none;
}

.sp-menu-btn,
.sp-menu-block,
.sp-menu__label {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-menu-block {
    pointer-events: visible;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 64px;
    height: 64px;
    background-color: #00b2b1;
  }
  .sp-menu-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 33px;
    height: 24px;
    will-change: transition, position;
  }
  .sp-menu-btn span {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0px;
    width: 34px;
    height: 2px;
    background-color: #fff;
    transition: all 200ms ease-in;
  }
  .sp-menu-btn span + span {
    top: 11px;
  }
  .sp-menu-btn span + span + span {
    top: 22px;
  }
  .sp-menu-btn[aria-expanded=true] span {
    top: 11px;
    left: 3px;
    width: 30px;
    transform: rotate(45deg);
    background-color: #fff;
  }
  .sp-menu-btn[aria-expanded=true] span + span {
    opacity: 0;
    left: -10px;
    transform: rotate(0);
  }
  .sp-menu-btn[aria-expanded=true] span + span + span {
    top: 11px;
    left: 3px;
    opacity: 1;
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 768px) {
  .nav-toggle {
    display: inline-block;
    width: 50px;
    height: 44px;
    position: relative;
    cursor: pointer;
  }
  .nav-toggle:before, .nav-toggle:after {
    display: inline-block;
    height: 1px;
    width: 16px;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #fc596a;
    transform: translate(-50%, -50%);
    transition: all 150ms ease-in;
  }
  .nav-toggle:after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .nav-toggle[aria-expanded=true]::after {
    transform: translate(-50%, -50%) rotate(0deg);
  }
}
.sp-target-nav {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp-target-nav {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 10;
  }
  .sp-target-nav ul {
    display: flex;
    gap: 0 7px;
    margin-bottom: 0;
    list-style: none;
  }
  .sp-target-nav .target-nav__item {
    width: 50%;
  }
  .sp-target-nav .target-nav__item a {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    font-size: 12px;
    font-size: 1.2rem;
    border-radius: 4px 4px 0 0;
  }
  .sp-target-nav .target-contact {
    flex-direction: column;
    color: #fff;
    background: #00b2b1;
  }
  .sp-target-nav .target-plan-contact {
    color: #fc596a;
    font-weight: bold;
    background: #fff000;
    position: relative;
    text-align: center;
    padding-right: 57px;
    white-space: nowrap;
    padding-top: 2px;
  }
  .sp-target-nav .target-plan-contact .text-s span {
    font-size: 10px;
    font-size: 1rem;
  }
  .sp-target-nav .target-nav-mascot {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .sp-target-nav .target-nav-mascot img {
    width: 57px;
    height: 78px;
  }
}

.pagination {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
.pagination__pages {
  display: flex;
}
.pagination li > a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #00b2b1;
  width: 32px;
  height: 32px;
  margin-left: 5px;
  margin-right: 5px;
  border: 1px solid currentColor;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  transition: all 0.1s ease-in;
}
.pagination li > a:hover {
  color: #fff;
  background-color: #00b2b1;
  border-color: #00b2b1;
}
.pagination li.current a {
  color: #fff;
  background-color: #00b2b1;
  border-color: #00b2b1;
}
.pagination li.current a:hover {
  color: #00b2b1;
  background-color: #bfeceb;
}

.pagination__prev,
.pagination__next {
  width: 32px;
  height: 32px;
  margin-left: 5px;
  margin-right: 5px;
}
@media screen and (max-width: 480px) {
  .pagination__prev,
  .pagination__next {
    width: auto;
  }
}

.pagination .arrow {
  position: relative;
  display: inline-flex;
  width: 32px;
  height: 32px;
  background-color: #fff;
  border: 1px solid #00b2b1;
  transition: transform 150ms ease-in, background-color 150ms ease-in;
}
.pagination .arrow::before {
  position: absolute;
  left: calc(50% - 2px);
  top: 50%;
  content: "";
  color: inherit;
  display: inline-block;
  height: 9px;
  width: 9px;
  border-right: 2px solid #00b2b1;
  border-top: 2px solid #00b2b1;
  transform: translate(-10px, -1px) rotate(45deg) skew(-5deg, -5deg);
  transform: translate(-50%, -50%) rotate(45deg) skew(-5deg, -5deg);
  transition: transform 150ms ease-in;
}
.pagination .arrow:hover {
  background-color: #00b2b1;
}
.pagination .arrow:hover::before {
  border-color: #fff;
}
.pagination .arrow--rev {
  transform: scale(-1, 1);
}
.pagination .prev,
.pagination .next {
  display: inline-flex;
  align-items: center;
  height: inherit;
}

.page-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px auto;
}
.page-nav a {
  position: relative;
  color: #00b2b1;
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  transition: all 300ms ease-in-out;
}
.page-nav__back {
  justify-content: center;
  padding: 0.5em 2em;
  border: 1px solid currentColor;
  border-radius: 2em;
}
.page-nav__back:hover {
  color: #fff !important;
  background-color: #00b2b1;
}
.page-nav .prev {
  margin-right: 28px;
}
.page-nav .prev:before {
  position: relative;
  left: 0;
  color: inherit;
  content: "";
  display: inline-block;
  height: 10px;
  width: 10px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg) skew(-3deg, -3deg) scale(-1, -1);
  margin-right: 2px;
  transition: all 300ms ease-in-out;
}
.page-nav .next {
  margin-left: 28px;
}
.page-nav .next:after {
  position: relative;
  right: 0;
  color: inherit;
  content: "";
  display: inline-block;
  height: 10px;
  width: 10px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg) skew(-3deg, -3deg);
  margin-left: 2px;
  transition: all 300ms ease-in-out;
}
.page-nav .prev:hover:before {
  left: -5px;
}
.page-nav .next:hover:after {
  right: -5px;
}
.page-nav__empty {
  width: 61px;
  height: 13px;
}
@media screen and (max-width: 480px) {
  .page-nav {
    width: auto;
  }
  .page-nav a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
  }
}

.back-list-btn {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  width: 200px;
  height: 65px;
  color: #fff;
  padding-right: 2.2em;
  border: 1px solid var(--base-color);
  margin-left: 4vw;
  margin-right: 4vw;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  background-color: var(--base-color);
  background-image: url("/assets/templates/clasina/images/common/icon-list.svg");
  background-repeat: no-repeat;
  background-size: 32px 22px;
  background-position: 20px center;
  transition: all ease-in-out 200ms;
}
.back-list-btn:hover {
  color: var(--base-color);
  background-color: #fff;
  background-image: url("/assets/templates/clasina/images/common/icon-list.svg");
}

.bread-crumb {
  margin-left: 200px;
  background-color: #fffded;
}
.bread-crumb ul {
  display: flex;
  flex-flow: row wrap;
  margin: 0 1.34vw;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .bread-crumb ul {
    margin: 0 5vw;
  }
}
.bread-crumb a,
.bread-crumb span {
  color: #000;
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-size: 1.3rem;
  padding-right: 10px;
}
.bread-crumb a:after,
.bread-crumb span:after {
  content: "";
  color: inherit;
  display: inline-block;
  height: 9px;
  width: 9px;
  border-right: 2px solid #00b2b1;
  border-top: 2px solid #00b2b1;
  transform: translate(-10px, -1px) rotate(45deg) skew(-5deg, -5deg);
  height: 8px;
  width: 8px;
  margin-right: 8px;
  margin-left: 10px;
  transform: rotate(45deg) skew(-10deg, -10deg);
}
.bread-crumb a,
.bread-crumb a:hover {
  color: #000;
}
.bread-crumb li:last-child span:after {
  display: none;
}
@media screen and (max-width: 768px) {
  .bread-crumb {
    margin: 0;
  }
  .bread-crumb a,
  .bread-crumb span,
  .bread-crumb a:after,
  .bread-crumb span:after {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
  }
}

@media screen and (max-width: 768px) {
  .bread-crumb--sub {
    background-color: #00b2b1;
  }
  .bread-crumb--sub a:after,
  .bread-crumb--sub span:after {
    border-color: #fff;
  }
}

.important {
  color: #c30d23;
}

.require {
  color: var(--base-color);
}

.c-black {
  color: #000 !important;
}

.c-white {
  color: #fff !important;
}

.c-base {
  color: var(--base-color);
}

.c-hover {
  color: #e5f7f7;
}

.c-pink {
  color: #ff596a;
}

.bg-current {
  background-color: currentColor;
}

.bg-base {
  background-color: var(--base-color);
}

.bg-beige-light {
  background-color: #fffded;
}

.c-red {
  color: #e60012;
}

.bg-w {
  background-color: #fff;
}

.bg-red {
  background-color: #e60012;
}

.bg-gray {
  background-color: #efefef;
}

.c-line {
  color: #3aae36;
}

.bg-beige {
  background-color: #fffbdd;
}

.fade-in {
  animation: fadeIn 150ms ease-in-out 1 forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fade-out {
  animation: fadeOut 400ms ease-in-out 1 forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.clip-to-right {
  clip-path: inset(0 100% 0 0);
  transition: 0.8s ease-in;
  transition: clip-path 800ms ease-in-out;
}
.clip-to-right.is-visible {
  clip-path: inset(0);
}

.clip-to-left {
  clip-path: inset(0 0 0 100%);
  transition: 0.8s ease-in;
  transition: clip-path 800ms ease-in-out;
}
.clip-to-left.is-visible {
  clip-path: inset(0);
}

.btn {
  display: inline-flex;
  align-items: center;
  transition: all 200ms ease-in-out;
  padding: 0.6em 1em 0.5em 1em;
  line-height: 1;
}

input.btn {
  cursor: pointer;
  user-select: none;
}

.click-expand::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 150ms ease-in;
}

.btn-more {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  font-style: normal;
  color: #fff;
  background-color: #fc596a;
  padding: 0.7em 1.4em;
  border-radius: 100px;
  transition: background-color 300ms ease-in-out;
}
.btn-more:hover {
  color: #fff;
  background-color: #00b2b1;
}

.after-arrow-circle {
  width: 25px;
  height: 25px;
  border-radius: 100%;
  background-color: #fff;
  position: relative;
  right: -14px;
  flex-grow: 1;
  flex-shrink: 0;
}
.after-arrow-circle::after {
  position: absolute;
  top: 50%;
  left: 45%;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 3px solid #00b2b1;
  border-right: 3px solid #00b2b1;
  transform: translate(-50%, -50%) rotate(45deg);
}
*:hover > .after-arrow-circle::after {
  border-top: 3px solid #fc596a;
  border-right: 3px solid #fc596a;
}

.after-arrow-circle-green {
  display: inline-flex;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  position: relative;
  background-color: #00b2b1;
}
.after-arrow-circle-green::after {
  position: absolute;
  top: 50%;
  left: 45%;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

.btn-text {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
}
.btn-text span:first-child {
  margin-right: 5px;
}
.btn-text span:last-child {
  transform: translateX(0);
  transition: all 200ms ease-out;
}
.btn-text:hover span:last-child {
  transform: translateX(5px);
}

.btn-after-arrow {
  display: inline-flex;
  align-items: center;
}
.btn-after-arrow:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 10px;
  border-color: transparent transparent transparent #00b2b1;
  margin-left: 10px;
  transition: all 150ms ease-in-out;
}
.btn-after-arrow:hover:after {
  transform: translateX(3px);
  border-color: transparent transparent transparent #fc596a;
}

.btn-border {
  display: inline-block;
  font-size: 18px;
  font-size: 1.8rem;
  font-size: clamp(12px, 5vw, 18px);
  font-weight: bold;
  padding-top: 1.2rem;
  padding-bottom: 1.1rem;
  padding-right: 3rem;
  padding-left: 3rem;
  min-width: 380px;
  color: #231815;
  border: 3px solid #00b2b1;
  border-radius: 30px;
  text-align: center;
  letter-spacing: 0.15em;
  transition: all 200ms ease-in-out;
  position: relative;
}
.btn-border:hover {
  background-color: #00b2b1;
  color: #fff;
}
.btn-border .after-arrow-circle {
  display: inline-block;
  width: 25px;
  height: 25px;
  background-color: #00b2b1;
  position: absolute;
  right: 14px;
}
.btn-border .after-arrow-circle::after {
  border-color: #fff;
}
@media screen and (max-width: 480px) {
  .btn-border {
    max-width: 340px;
    min-width: inherit;
    width: 70vw;
    margin-left: 5vw;
    margin-right: 5vw;
  }
}

.is-primary {
  color: #fff;
  background-color: #00b2b1;
}
.is-link {
  color: #fff;
  background-color: #e5f7f7;
}
.is-link:hover {
  color: white;
}

ol {
  list-style-position: outside;
  list-style-type: decimal;
  margin-left: 2em;
}

.no-objectfit .dl-list {
  overflow: hidden;
}
.no-objectfit .dl-list dt {
  float: left;
  clear: left;
}
.no-objectfit .dl-list dd {
  overflow: hidden;
}

.objectfit .dl-list {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-column-gap: 15px;
  column-gap: 1.5em;
  grid-row-gap: 0.3em;
  row-gap: 0.3em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.objectfit .dl-list dd {
  justify-self: start;
}

.link-list {
  margin-left: 7px;
}
.link-list > li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.link-list > li a {
  transition: color 150ms ease-in;
}
.link-list > li:not(:first-child) {
  margin-top: 5px;
}
.link-list > li::before {
  transition: transform 150ms ease-in;
}
.link-list > li:hover::before {
  transform: translate(-7px, -1px) rotate(45deg) skew(-5deg, -5deg);
}

.column-list {
  column-count: 2;
  column-gap: 16px;
}
.column-list > li {
  break-inside: avoid;
  margin-bottom: 8px;
  padding: 8px;
}

.dot-list {
  list-style-type: none;
}
.dot-list > li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1em;
}
.dot-list > li:not(:first-child) {
  margin-top: 5px;
}
.dot-list > li:before {
  content: "・";
}

.flex {
  display: flex;
}

@media screen and (max-width: 480px) {
  .sp-flex {
    display: flex;
  }
}
.inline-flex {
  display: inline-flex;
}

@media screen and (max-width: 480px) {
  .sp-inline-flex {
    display: inline-flex;
  }
}
.flex-row-wrap {
  flex-flow: row wrap;
}

.flex-row-nowrap {
  flex-flow: row nowrap;
}

.flex-column-wrap {
  flex-flow: column wrap;
}

.flex-column-nowrap {
  flex-flow: column nowrap;
}

@media screen and (max-width: 768px) {
  .md-flex-row-wrap {
    flex-flow: row wrap;
  }
}

@media screen and (max-width: 480px) {
  .sp-flex-row-wrap {
    flex-flow: row wrap;
  }
}

@media screen and (max-width: 768px) {
  .md-flex-column-nowrap {
    flex-flow: column nowrap;
  }
}

@media screen and (max-width: 480px) {
  .sp-flex-column-nowrap {
    flex-flow: column nowrap;
  }
}

.direction-row {
  flex-direction: row;
}

@media screen and (max-width: 480px) {
  .sp-direction-row {
    flex-direction: row;
  }
}

.direction-column {
  flex-direction: column;
}

@media screen and (max-width: 480px) {
  .sp-direction-column {
    flex-direction: column;
  }
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

@media screen and (max-width: 768px) {
  .md-flex-wrap {
    flex-wrap: wrap !important;
  }
}

@media screen and (max-width: 480px) {
  .sp-flex-wrap {
    flex-wrap: wrap !important;
  }
}

.row-reverse {
  flex-direction: row-reverse;
}

.justify-spacebetween {
  justify-content: space-between !important;
}

@media screen and (max-width: 480px) {
  .sp-justify-spacebetween {
    justify-content: space-between !important;
  }
}

.justify-center {
  justify-content: center !important;
}

@media screen and (max-width: 480px) {
  .sp-justify-center {
    justify-content: center !important;
  }
}

.justify-spacearound {
  justify-content: space-around !important;
}

@media screen and (max-width: 480px) {
  .sp-justify-spacearound {
    justify-content: space-around !important;
  }
}

.justify-flexstart {
  justify-content: flex-start !important;
}

@media screen and (max-width: 480px) {
  .sp-justify-flexstart {
    justify-content: flex-start !important;
  }
}

.justify-flexend {
  justify-content: flex-end !important;
}

@media screen and (max-width: 480px) {
  .sp-justify-flexend {
    justify-content: flex-end !important;
  }
}

.align-content-spacebetween {
  align-content: space-between;
}

.align-content-strech {
  align-content: strech;
}

.flex-grow {
  flex-grow: 1 !important;
}

.flex-grow-off {
  flex-grow: 0 !important;
}

.flex-shrink {
  flex-shrink: 1 !important;
}

.flex-shrink-off {
  flex-shrink: 0 !important;
}

.align-items-start {
  align-items: flex-start;
}

.align-items-end {
  align-items: flex-end;
}

.align-items-strech {
  align-items: strech;
}

.align-items-center {
  align-items: center;
}

@media screen and (max-width: 480px) {
  .sp-align-item-center {
    align-items: center;
  }
}
.align-self-center {
  align-self: center;
}

.align-self-start {
  align-self: flex-start;
}

.align-self-emd {
  align-self: flex-end;
}

.flex-content {
  display: flex;
  margin-left: -3%;
  margin-right: -3%;
  flex-wrap: wrap;
}
.flex-content > * {
  flex-grow: 1;
  flex-shrink: 1;
  padding-right: 3%;
  padding-left: 3%;
}

.flex-content--2 > * {
  max-width: 50%;
}

.flex-content--3 > * {
  max-width: 33.3%;
}

.flex-content--4 > * {
  max-width: 25%;
}

.order1 {
  order: 1;
}

.order2 {
  order: 2;
}

.order3 {
  order: 3;
}

.order4 {
  order: 4;
}

.order5 {
  order: 6;
}

.order6 {
  order: 6;
}

@media screen and (max-width: 480px) {
  .sp-order1 {
    order: 1 !important;
  }
  .sp-order2 {
    order: 2 !important;
  }
  .sp-order3 {
    order: 3 !important;
  }
  .sp-order4 {
    order: 4 !important;
  }
  .sp-order5 {
    order: 5 !important;
  }
  .sp-order6 {
    order: 6 !important;
  }
}
.grid {
  display: grid;
}

@media screen and (max-width: 480px) {
  .sp-grid {
    display: grid !important;
  }
}

.grid-gap {
  grid-gap: 1%;
}

.grid-columns2 {
  grid-template-columns: 1fr 1fr;
}

.grid-columns3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.grid-columns4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 480px) {
  .grid-columns4 {
    grid-template-columns: 1fr 1fr;
  }
}

.grid-rows3 {
  grid-template-rows: 1fr 1fr 1fr;
}

.grid-auto-rows {
  grid-auto-rows: minmax(100px, auto);
}

.grid-auto-fill {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.grid-auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.grid-dir-column {
  min-height: 613px;
  grid-auto-flow: column;
  grid-template-rows: repeat(auto-fit, minmax(200px, 1fr));
  grid-template-columns: repeat(auto-fit, minmax(49%, 1fr));
}
.grid-dir-column > .item {
  border-radius: 10px;
  background: #edf;
  padding: 15px;
  text-align: center;
}

.table-fixed {
  table-layout: fixed;
}

table {
  margin: 0 0 15px 0;
  border-collapse: collapse;
}
table caption {
  text-align: left;
  margin-bottom: 5px;
}
table th,
table td {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.2;
  padding: 0.7em 0.5em;
  text-align: center;
}

.table-border {
  background-color: #fff;
  border: 2px solid var(--base-color);
}
.table-border th, .table-border td {
  border: 1px solid var(--base-color);
}
.table-border th {
  padding: 0.6em 2em;
}
@media screen and (max-width: 768px) {
  .table-border th {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0.35em;
  }
}
.table-border td {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 1.6em 1.5em;
}
@media screen and (max-width: 768px) {
  .table-border td {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0.4em;
  }
}

.table-top-bottom-border th, .table-top-bottom-border td {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: left;
  font-weight: normal;
  vertical-align: top;
  border-top: 1px solid #00b2b1;
  border-bottom: 1px solid #00b2b1;
}
.table-top-bottom-border th {
  color: #00b2b1;
  padding-left: 3.5vw;
  padding-right: 3.5vw;
  width: 160px;
}
@media screen and (max-width: 480px) {
  .table-top-bottom-border th {
    width: auto;
  }
}
.stripe th {
  color: #fff;
  background-color: #00b2b1;
}
.stripe tr:nth-child(2n+1) td {
  background-color: #e5f7f7;
}
.table-common th,
.table-common td {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  border: 1px solid var(--base-color);
}
@media screen and (max-width: 480px) {
  .table-common th,
  .table-common td {
    padding: 0.6em 0.2em;
  }
}
.table-common th {
  color: #fff;
  background-color: var(--base-color);
  font-weight: normal;
  vertical-align: middle;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}
.tag-list .tag {
  margin-top: 10px;
  margin-left: 5px;
  margin-right: 5px;
}

.tag {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  padding: 2px 8px 2px 8px;
  border: 1px solid currentColor;
  transition: all 200ms ease-in-out;
}

.tag--c-base {
  color: var(--base-color);
}
.tag--c-base:link, .tag--c-base:visited {
  color: var(--base-color);
}
input,
select,
textarea {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 480px) {
  input,
  select,
  textarea {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.label {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 480px) {
  .label {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

input,
textarea {
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px white inset;
}

input {
  line-height: 1.6;
  appearance: none;
  outline: 0;
  border-radius: 4px;
  border: 1px solid #aaa;
}

input[type=checkbox],
input[type=radio] {
  width: 20px;
  height: 20px;
  outline: none;
  display: inline-block;
  vertical-align: top;
  position: relative;
  margin: 0;
  cursor: pointer;
  border: 1px solid var(--base-color);
  transition: background 0.3s, border-color 0.3s;
}
input[type=checkbox]:after,
input[type=radio]:after {
  content: "";
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  width: 20px;
  height: 20px;
}
input[type=checkbox]:checked,
input[type=radio]:checked {
  position: relative;
  z-index: 0;
}

input[type=radio] {
  border-radius: 100%;
}
input[type=radio]:after {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  opacity: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
input[type=radio]:focus, input[type=radio]:checked {
  background-color: var(--base-color);
}
input[type=radio]:focus:after, input[type=radio]:checked:after {
  opacity: 1;
}

input[type=checkbox]:checked {
  background-color: var(--base-color);
  background-image: url("data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMSAyMSIgdmlld0JveD0iMCAwIDIxIDIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im00IDEyIDUgNCA3LTEwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

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

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  background: none transparent;
  vertical-align: middle;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

textarea:not([rows]) {
  height: 10em;
  min-height: 8em;
  max-height: 24em;
}

textarea::placeholder,
input::placeholder {
  color: #b5b5b6;
}

.label-require {
  background-color: #b9303e;
  min-width: auto;
  margin-left: 5px;
}

.form {
  max-width: 660px;
  margin: 0 auto;
  margin-top: 20px;
}

.input {
  width: 100%;
  align-items: center;
  border: 1px solid #dbdbdb;
  border-radius: 4px;
  box-shadow: none;
  display: inline-flex;
  justify-content: flex-start;
  padding-bottom: calc(0.5em - 1px);
  padding-left: calc(0.75em - 1px);
  padding-right: calc(0.75em - 1px);
  padding-top: calc(0.5em - 1px);
  position: relative;
  vertical-align: top;
}
.input:focus {
  border: 1px solid var(--base-color);
}

.input[name=zip] {
  width: 50%;
  min-width: 9em;
}

.select-input {
  position: relative;
  width: fit-content;
}
.select-input select {
  width: 100%;
  padding-bottom: calc(0.5em - 1px);
  padding-left: calc(0.75em - 1px);
  padding-right: calc(0.75em - 1px);
  padding-top: calc(0.5em - 1px);
  border: 1px solid #dbdbdb;
  border-radius: 4px;
  position: relative;
  padding-right: 2em;
}
.select-input select:focus {
  border: 1px solid var(--base-color);
}
.select-input::after {
  content: "";
  display: block;
  width: 0.9em;
  height: 0.9em;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg) translateY(-50%);
  transform-origin: center;
  border: 3px solid var(--base-color);
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  right: 1.125em;
  z-index: 1;
  pointer-events: none;
}

.form-title {
  font-size: 16px;
  font-size: 1.6rem;
  padding-bottom: 0.5em;
}
.form-title:not(:first-child) {
  margin-top: 3em;
}
@media screen and (max-width: 480px) {
  .form-title:not(:first-child) {
    margin-top: 1.5em;
  }
}

.form-item {
  margin-bottom: 1em;
}

.form-item-child {
  display: flex;
  align-items: center;
}
.form-item-child :not(:first-child) {
  margin-left: 0.5em;
}

.form-item-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  padding-right: -10px;
}
.form-item-list > * {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  margin-right: 10px;
}
.form-item-list .label {
  margin-left: 5px;
  cursor: pointer;
}

.zip-text {
  font-size: 16px;
  font-size: 1.6rem;
}

.required::after {
  content: "";
  display: inline-block;
  padding: 3px 4px 3px 4px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  background-color: #333;
  border-radius: 2px;
  transform: translateY(-1px);
  margin-left: 5px;
}

.required::after {
  content: "必須";
  background-color: #c30d23;
}

.form .btn-more {
  border: none;
}

/* Error Placeholder */
input.error,
select.error,
textarea.error {
  border-color: rgba(255, 17, 68, 0.4);
}

.form-confirm .form-item {
  font-size: 20px;
  font-size: 2rem;
  background-color: #f6f6f6;
  padding: 0.5em 1em;
}

.ct-label {
  fill: rgba(0, 0, 0, 0.4);
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.75rem;
  line-height: 1;
}

.ct-chart-line .ct-label,
.ct-chart-bar .ct-label {
  display: block;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.ct-chart-pie .ct-label,
.ct-chart-donut .ct-label {
  dominant-baseline: central;
}

.ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-label.ct-vertical.ct-start {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}

.ct-label.ct-vertical.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}

.ct-grid {
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}

.ct-grid-background {
  fill: none;
}

.ct-point {
  stroke-width: 10px;
  stroke-linecap: round;
}

.ct-line {
  fill: none;
  stroke-width: 4px;
}

.ct-area {
  stroke: none;
  fill-opacity: 0.1;
}

.ct-bar {
  fill: none;
  stroke-width: 10px;
}

.ct-slice-donut {
  fill: none;
  stroke-width: 60px;
}

.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
  stroke: #d70206;
}
.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area {
  fill: #d70206;
}

.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area {
  fill: #f05b4f;
}

.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
  stroke: #f4c63d;
}
.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area {
  fill: #f4c63d;
}

.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
  stroke: #d17905;
}
.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area {
  fill: #d17905;
}

.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
  stroke: #453d3f;
}
.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area {
  fill: #453d3f;
}

.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
  stroke: #59922b;
}
.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area {
  fill: #59922b;
}

.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {
  stroke: #0544d3;
}
.ct-series-g .ct-slice-pie, .ct-series-g .ct-slice-donut-solid, .ct-series-g .ct-area {
  fill: #0544d3;
}

.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {
  stroke: #6b0392;
}
.ct-series-h .ct-slice-pie, .ct-series-h .ct-slice-donut-solid, .ct-series-h .ct-area {
  fill: #6b0392;
}

.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-i .ct-slice-pie, .ct-series-i .ct-slice-donut-solid, .ct-series-i .ct-area {
  fill: #f05b4f;
}

.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {
  stroke: #dda458;
}
.ct-series-j .ct-slice-pie, .ct-series-j .ct-slice-donut-solid, .ct-series-j .ct-area {
  fill: #dda458;
}

.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {
  stroke: #eacf7d;
}
.ct-series-k .ct-slice-pie, .ct-series-k .ct-slice-donut-solid, .ct-series-k .ct-area {
  fill: #eacf7d;
}

.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {
  stroke: #86797d;
}
.ct-series-l .ct-slice-pie, .ct-series-l .ct-slice-donut-solid, .ct-series-l .ct-area {
  fill: #86797d;
}

.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {
  stroke: #b2c326;
}
.ct-series-m .ct-slice-pie, .ct-series-m .ct-slice-donut-solid, .ct-series-m .ct-area {
  fill: #b2c326;
}

.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {
  stroke: #6188e2;
}
.ct-series-n .ct-slice-pie, .ct-series-n .ct-slice-donut-solid, .ct-series-n .ct-area {
  fill: #6188e2;
}

.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {
  stroke: #a748ca;
}
.ct-series-o .ct-slice-pie, .ct-series-o .ct-slice-donut-solid, .ct-series-o .ct-area {
  fill: #a748ca;
}

.ct-square {
  display: block;
  position: relative;
  width: 100%;
}
.ct-square:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 100%;
}
.ct-square:after {
  content: "";
  display: table;
  clear: both;
}
.ct-square > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 93.75%;
}
.ct-minor-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 88.8888888889%;
}
.ct-major-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 83.3333333333%;
}
.ct-minor-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 80%;
}
.ct-major-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fourth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 75%;
}
.ct-perfect-fourth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fourth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fifth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 66.6666666667%;
}
.ct-perfect-fifth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fifth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 62.5%;
}
.ct-minor-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-golden-section {
  display: block;
  position: relative;
  width: 100%;
}
.ct-golden-section:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 61.804697157%;
}
.ct-golden-section:after {
  content: "";
  display: table;
  clear: both;
}
.ct-golden-section > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 60%;
}
.ct-major-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}
.ct-minor-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 53.3333333333%;
}
.ct-major-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 50%;
}
.ct-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-tenth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 40%;
}
.ct-major-tenth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-tenth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-eleventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 37.5%;
}
.ct-major-eleventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-eleventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-twelfth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 33.3333333333%;
}
.ct-major-twelfth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-twelfth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-double-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-double-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 25%;
}
.ct-double-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-double-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-chart {
  max-width: 360px;
  max-height: 360px;
}

.ct-series .ct-slice-donut-solid {
  fill: #00b2b1;
  stroke-width: 3px;
}

.ct-chart-donut .ct-label {
  font-size: 14px;
  color: #000;
  fill: #000;
}
.ct-chart-donut .ct-label > p {
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
  font-feature-settings: "palt";
}

@media screen and (max-width: 480px) {
  .ct-chart-donut .ct-label {
    font-size: 9px;
  }
  .ct-chart-donut .ct-label > p {
    font-size: 9px;
    letter-spacing: -0.3px;
  }
}
[class*=-pict] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
}

.pict-round {
  background-color: #00b2b1;
  border-radius: 100%;
}

.no-pict {
  display: inline-flex;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  font-size: 35px;
  font-size: 3.5rem;
  padding: 18px 0 17px 0;
  line-height: 1;
  color: #fff;
  background-color: #00b2b1;
  font-family: Roboto;
  font-weight: 500;
}

.arrow-bottom-pict {
  display: inline-block;
  width: 55px;
  height: 46px;
  background-image: url(/content/images/flow/arrow-bottom.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.first-view-area {
  position: relative;
}

.badge {
  position: fixed;
  right: 1.34vw;
  bottom: 1.34vw;
  z-index: 10;
}
@media screen and (max-width: 480px) {
  .badge {
    display: none;
    bottom: auto;
    top: 20%;
  }
}

.badge-box {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  background-color: #fff000;
  border: 5px solid #00a29f;
  width: 183px;
  height: 183px;
  border-radius: 100%;
  padding-bottom: 10px;
}
*:hover > .badge-box {
  background-color: #fff88a;
}
@media screen and (max-width: 480px) {
  .badge-box {
    width: 116px;
    height: 116px;
  }
}

.badge-text {
  flex: 0 0 auto;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 1.2;
  font-weight: bold;
  color: #fc596a;
  text-align: center;
  padding-bottom: 10px;
  font-feature-settings: "palt";
}
.badge-text span {
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 480px) {
  .badge-text {
    font-size: 12px;
    font-size: 1.2rem;
    padding-bottom: 4px;
  }
  .badge-text span {
    font-size: 10px;
    font-size: 1rem;
  }
}

.badge-arrow {
  flex: 0 0 auto;
  display: inline-block;
  width: 25px;
  height: 25px;
  border: 2px solid #00b2b1;
  background-color: #fff;
  border-radius: 100%;
  position: relative;
}
.badge-arrow::after {
  position: absolute;
  top: 50%;
  left: 45%;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 3px solid #00b2b1;
  border-right: 3px solid #00b2b1;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width: 480px) {
  .badge-arrow {
    width: 18px;
    height: 18px;
  }
  .badge-arrow::after {
    width: 5px;
    height: 5px;
    border-top: 2px solid #00b2b1;
    border-right: 2px solid #00b2b1;
  }
}

.step-anime {
  position: absolute;
  bottom: 108px;
  left: 29px;
  width: 143px;
  height: 105px;
  animation: stepanime 2s steps(2) infinite;
  background-image: url(/content/images/common/sprite.png);
  background-repeat: no-repeat;
  background-size: 286px 105px;
  background-position: -286px 0;
}
@media screen and (max-width: 480px) {
  .step-anime {
    transform: scale(0.7);
    left: -11px;
    bottom: 53px;
  }
}

@keyframes stepanime {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -286px 0​;
  }
}
.catch-copy {
  font-size: 44px;
  font-size: 4.4rem;
  color: #fff;
  letter-spacing: 0.2em;
  font-family: "じゅん 201";
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 480px) {
  .catch-copy {
    font-size: 21px;
    font-size: 2.1rem;
    font-size: clamp(2.1rem, 2.5vw, 2.4rem);
    letter-spacing: 0.1em;
  }
}

.lead {
  color: #00b2b1;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.3;
  font-family: "じゅん 201";
}
@media screen and (max-width: 480px) {
  .lead {
    font-size: 21px;
    font-size: 2.1rem;
    font-size: clamp(2.1rem, 2.3vw, 2.4rem);
  }
}

.lead-s {
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .lead-s {
    font-size: 21px;
    font-size: 2.1rem;
    font-size: clamp(2.1rem, 2.3vw, 2.4rem);
  }
  .lead-s br {
    display: none;
  }
}

.tile-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .tile-list {
    margin-right: -1vw;
    margin-left: -1vw;
  }
}
@media screen and (max-width: 480px) {
  .tile-list {
    flex-direction: column;
    margin-left: 0;
    margin-right: 0;
  }
}

.tile {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: calc((100% - 90px) / 3);
  margin-right: 15px;
  margin-left: 15px;
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .tile {
    width: calc((100% - 6vw) / 3);
    margin-right: 1vw;
    margin-left: 1vw;
    flex-grow: 1;
    min-width: 300px;
    margin-bottom: 1vw;
  }
}
@media screen and (max-width: 480px) {
  .tile {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 5vw;
  }
}
.tile .bottom-border {
  margin-top: 23px;
  padding-left: 1em;
  padding-right: 1em;
  text-align: center;
}
.tile .btn {
  margin-bottom: 23px;
  margin-top: auto;
}
.tile .text-center {
  padding-left: 1em;
  padding-right: 1em;
  margin-bottom: 18px;
}
@media screen and (max-width: 768px) {
  .tile .text-m {
    display: block;
    margin: auto;
  }
}

.tile-img {
  width: 100%;
  height: 230px;
  overflow: hidden;
}
.tile-img img {
  width: 100%;
  height: inherit;
  object-fit: cover;
  transition: transform 400ms ease-out;
}
*:hover > .tile-img img {
  transform: scale(1.04);
}

.box-shadow {
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15), 0px 0px 25px -15px rgba(0, 0, 0, 0.15);
}

.box-shadow-light {
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05), 0px 0px 15px -10px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 480px) {
  .box-shadow-light .marker-title {
    margin-left: 5vw;
  }
}

.stack {
  display: flex;
  align-items: flex-end;
  position: relative;
  z-index: 0;
  margin-bottom: 100px;
}
.stack::after {
  content: "";
  position: absolute;
  z-index: -2;
  display: block;
  width: 15vw;
  height: 100%;
  background-color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 480px) {
  .stack::after {
    content: "";
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .stack {
    overflow: hidden;
    margin-right: -5vw;
    margin-left: -5vw;
  }
}
@media screen and (max-width: 480px) {
  .stack {
    flex-direction: column-reverse;
    margin-bottom: 55px;
  }
}

.stack.first {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .stack.first {
    margin-top: 40px;
  }
}

.stack-text {
  display: flex;
  flex-direction: column;
  width: 45.2%;
  background-color: #fff;
  padding-left: 65px;
  padding-right: 65px;
  padding-left: clamp(20px, 5vw, 65px);
  padding-right: clamp(20px, 5vw, 65px);
  padding-top: 65px;
  padding-bottom: 47px;
  margin-left: -1.34vw;
}
@media screen and (max-width: 768px) {
  .stack-text {
    max-width: 50%;
    padding-right: 5vw;
    padding-left: 5vw;
    flex-grow: 1;
    min-width: 260px;
  }
}
@media screen and (max-width: 480px) {
  .stack-text {
    max-width: inherit;
    min-width: auto;
    width: auto;
    padding-top: 120px;
    margin-top: -120px;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .stack-text .bottom-left-border {
    margin-top: 35px;
  }
}
.stack-text .stack-lead {
  position: relative;
  z-index: 2;
  margin-top: 45px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .stack-text .stack-lead {
    margin-top: 40px;
  }
}
@media screen and (max-width: 480px) {
  .stack-text .stack-lead {
    width: auto;
  }
}
.stack-text p {
  line-height: 1.8;
  padding-top: 35px;
  margin-bottom: 40px;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .stack-text p {
    padding-top: 35px;
  }
}
.stack-text .btn-more {
  position: relative;
  width: 100%;
  justify-content: center;
  margin-bottom: auto;
  padding-top: 1.2em;
  padding-bottom: 1.2em;
  border-radius: 40px;
}
.stack-text .after-arrow-circle {
  position: absolute;
  right: 10px;
}

.stack-lead {
  font-family: "じゅん 201";
  font-size: 26px;
  font-size: 2.6rem;
  letter-spacing: 1px;
}
@media screen and (max-width: 480px) {
  .stack-lead {
    font-size: 21px;
    font-size: 2.1rem;
    white-space: normal;
  }
}

.stack-img {
  width: 54.8%;
  flex: 1 0 auto;
}
.stack-img img {
  width: 100%;
  max-height: 435px;
  object-fit: cover;
}
@media screen and (max-width: 480px) {
  .stack-img {
    width: auto;
  }
  .stack-img img {
    max-height: 245px;
  }
  .stack .stack-img {
    margin-left: 5vw;
  }
  .stack.stack--rev .stack-img {
    margin-left: 0;
    margin-right: 5vw;
  }
}

.stack.stack--rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 480px) {
  .stack.stack--rev {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 480px) {
  .stack.stack--rev .stack-lead {
    left: 0;
  }
}

.news-box {
  padding-top: 40px;
  background-color: #fff;
}
@media screen and (max-width: 480px) {
  .news-box {
    padding-top: 40px;
  }
  .news-box .news-list {
    width: auto;
  }
  .news-box .btn-text {
    margin-right: 5vw;
  }
}
.news-box .page-title {
  margin-bottom: 65px;
}

.pr-block {
  display: flex;
}
@media screen and (max-width: 768px) {
  .pr-block {
    display: block;
  }
}

.pr-block--frist,
.pr-block--second {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .pr-block--frist,
  .pr-block--second {
    width: auto;
  }
}

.pr-block--frist .hidden-pc {
  text-align: center;
}

.line-pr-item {
  display: grid;
  grid-template-columns: minmax(60px, 115px) 1fr minmax(80px, 142px);
  grid-template-rows: 50px 1fr 100px;
}
@media screen and (max-width: 980px) {
  .line-pr-item {
    grid-template-columns: unset;
    grid-template-rows: unset;
    padding-bottom: 20px;
  }
}
.line-pr-item--1 {
  grid-column: 1/4;
  text-align: center;
  padding-left: 1em;
  padding-bottom: 0;
}
@media screen and (max-width: 980px) {
  .line-pr-item--1 {
    order: 2;
    grid-column: 2/3;
    text-align: left;
    align-self: center;
  }
}
@media screen and (max-width: 768px) {
  .line-pr-item--1 {
    padding-left: 0;
  }
}
.line-pr-item--2 {
  align-self: center;
  width: 100%;
  height: auto;
  object-fit: cover;
  justify-self: center;
}
@media screen and (max-width: 980px) {
  .line-pr-item--2 {
    order: 1;
    grid-column: 1/2;
    max-width: 115px;
  }
}
@media screen and (max-width: 980px) {
  .line-pr-item--3 {
    order: 3;
    grid-column: 1/3;
  }
}
.line-pr-item--4 {
  position: relative;
  left: -10px;
  width: 104px;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 980px) {
  .line-pr-item--4 {
    left: 0;
  }
}
.line-pr-item--5 {
  grid-column: 1/4;
  padding-top: 20px;
}
.line-pr-item-dummy {
  display: contents;
}
@media screen and (max-width: 980px) {
  .line-pr-item-dummy {
    order: 4;
    display: flex;
    flex-direction: row-reverse;
    grid-column: 1/3;
  }
}

.plan {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 18px;
}
@media screen and (max-width: 980px) {
  .plan {
    margin-left: 0;
    padding-top: 30px;
  }
}

.plan-name-text {
  font-size: 40px;
  font-size: 4rem;
  font-size: clamp(20px, 3vw, 40px);
  font-weight: bold;
  white-space: nowrap;
}

.price {
  display: inline-flex;
  align-items: center;
  font-size: 20px;
  font-size: 2rem;
  white-space: nowrap;
}
.price span {
  display: inline-block;
  padding-left: 7px;
  font-size: 40px;
  font-size: 4rem;
  color: #fc596a;
}

.infection-control {
  display: flex;
  flex-wrap: wrap;
}
.infection-control--1 {
  order: 2;
  flex: 1 1 auto;
  max-width: 50%;
}
.infection-control--1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 980px) {
  .infection-control--1 {
    order: 1;
    width: 100%;
    max-width: inherit;
  }
}
.infection-control--2 {
  order: 1;
  margin-bottom: 50px;
}
@media screen and (max-width: 980px) {
  .infection-control--2 {
    order: 2;
    margin-top: 10px;
    margin-bottom: 15px;
  }
}
.infection-control--3 {
  order: 3;
  flex: 1 1 auto;
}
.infection-control-list {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  max-width: 315px;
  padding-left: 15px;
}
.infection-control-list > img {
  vertical-align: top;
  max-width: 150px;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 980px) {
  .infection-control-list {
    padding-left: 0;
    margin: 20px auto 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .infection-control-list {
    max-width: inherit;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
  }
}

.top-content {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .top-content {
    flex-direction: column;
  }
}
.top-content .bread-crumb {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .top-content .bread-crumb {
    order: 2;
  }
}
.top-content .top-content__child {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 50%;
  max-width: 800px;
  min-height: 480px;
  padding-left: 6vw;
  padding-right: 6vw;
  padding-bottom: 40px;
}
.top-content .top-content__child .lead {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.6;
  margin-bottom: 35px;
}
@media screen and (max-width: 980px) {
  .top-content .top-content__child .lead br {
    display: none;
  }
}
.top-content .top-content__child p {
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .top-content .top-content__child {
    width: 100%;
    order: 3;
    padding-top: 40px;
    min-height: auto;
  }
}
.top-content .top-content__img {
  width: 50%;
  max-width: 800px;
  height: inherit;
}
.top-content .top-content__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .top-content .top-content__img {
    width: 100%;
    height: 410px;
    order: 1;
  }
  .top-content .top-content__img.about {
    height: auto;
  }
}

@media screen and (max-width: 768px) {
  .top-content.column-rev {
    flex-direction: column-reverse;
  }
  .top-content.column-rev .top-content__child {
    padding-top: 100px;
  }
}
.top-content.column-rev .bread-crumb {
  display: none;
}

.row-content {
  display: flex;
  margin: 0 auto;
  align-items: center;
  max-width: 1600px;
}
@media screen and (max-width: 768px) {
  .row-content {
    display: block;
  }
}
.row-content-title {
  font-size: 18px;
  font-size: 1.8rem;
  max-width: 210px;
  margin-right: 2.3vw;
  flex-shrink: 0;
  padding-bottom: 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .row-content-title {
    max-width: inherit;
    text-align: center;
    padding: 0 0 35px 0;
    margin: 0 auto 35px 0;
    position: relative;
  }
  .row-content-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    width: 86px;
    height: 1px;
    background-color: #00b2b1;
  }
}
.row-content-text {
  padding-left: 2.3vw;
  padding-right: 6vw;
  padding-top: 10px;
  padding-bottom: 10px;
  border-left: 1px solid #00b2b1;
}
@media screen and (max-width: 768px) {
  .row-content-text {
    border-left: none;
    padding: 0;
  }
}

.row-content-wrap {
  padding-top: 43px;
  padding-bottom: 43px;
}
.row-content-wrap .row-content {
  padding-left: 6vw;
  padding-right: 1.34vw;
}
@media screen and (max-width: 768px) {
  .row-content-wrap .row-content {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.row-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-left: -7px;
  margin-right: -7px;
  margin-bottom: -14px;
}
.row-list .row__item {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: calc(25% - 14px);
  min-width: 180px;
  min-height: 197px;
  padding: 20px;
  margin-left: 7px;
  margin-right: 7px;
  margin-bottom: 14px;
  border-radius: 6px;
  color: #fff;
  position: relative;
  text-align: center;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15), 0px 0px 25px -15px rgba(0, 0, 0, 0.15);
  transition: all 300ms ease-out;
}
@media screen and (max-width: 768px) {
  .row-list .row__item {
    width: calc(50% - 14px);
  }
}
@media screen and (max-width: 480px) {
  .row-list .row__item {
    width: 100%;
  }
}
.row-list .text-xl {
  padding-top: 5px;
  margin-bottom: 30px;
}

.arrow-pict {
  width: 25px;
  height: 25px;
  border-radius: 100%;
  background-color: #fff;
  position: relative;
  transition: transform 300ms ease-out;
}
.arrow-pict::after {
  position: absolute;
  top: 50%;
  left: 45%;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 3px solid #00b2b1;
  border-right: 3px solid #00b2b1;
  transform: translate(-50%, -50%) rotate(45deg);
}
*:hover > .arrow-pict {
  transform: translateX(5px);
}

.plan-bg1 {
  background-color: #00a17f;
}
.plan-bg1:hover {
  background-color: #00b08b;
}

.plan-bg2 {
  background-color: #009694;
}
.plan-bg2:hover {
  background-color: #00a5a3;
}

.plan-bg3 {
  background-color: #009cb1;
}
.plan-bg3:hover {
  background-color: #00a9c0;
}

.plan-bg4 {
  background-color: #00829f;
}
.plan-bg4:hover {
  background-color: #008fae;
}

.top-content--sub .top-content__child {
  justify-content: center;
  background-color: #00b2b1;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .top-content--sub .top-content__child {
    padding-top: 50px;
  }
}
@media screen and (max-width: 480px) {
  .top-content--sub .top-content__child {
    padding-top: 20px;
    padding-bottom: 40px;
  }
}
.top-content--sub .top-content__child .page-title {
  padding-bottom: 0;
  margin-top: 20px;
  margin-bottom: 20px;
  color: #fff;
}
.top-content--sub .top-content__child .page-title::after {
  display: none;
}
.top-content--sub .top-content__child p {
  color: #fff;
}

.parent-title {
  display: inline-block;
  width: max-content;
  color: #00b2b1;
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1;
  padding: 8px 16px 6px 16px;
  background-color: #fff;
  border-radius: 20px;
}

.name-border {
  width: 1px;
  height: inherit;
  border-right: 1px solid #000;
  margin-left: 10px;
  margin-right: 15px;
  align-self: stretch;
}

.inner-padding {
  padding: 50px 65px;
}
@media screen and (max-width: 768px) {
  .inner-padding {
    padding: 25px 5vw;
  }
}

.voice-border {
  margin-top: 80px;
  height: 1px;
  background-color: #00b2b1;
  margin-bottom: 80px;
}

.voice-block {
  display: flex;
}
@media screen and (max-width: 768px) {
  .voice-block {
    flex-direction: column;
  }
}
.voice-block .item {
  width: calc(100% - 360px);
}
@media screen and (max-width: 768px) {
  .voice-block .item {
    width: auto;
    margin-bottom: 40px;
  }
}
.voice-block .chart {
  flex: 0 1 auto;
}

.chart {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  width: 400px;
}
@media screen and (max-width: 768px) {
  .chart {
    width: 100%;
    justify-content: center;
  }
}

.chart-center-text {
  font-size: 17px;
  font-size: 1.7rem;
  color: #ff596a;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 480px) {
  .chart-center-text {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.chart-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 360px;
  height: 360px;
  background-image: url(/content/images/common/graph-wrap.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center -2px;
}
@media screen and (max-width: 768px) {
  .chart-wrap {
    width: 100%;
    height: 100%;
  }
}

.chart-wrap__first {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(calc(-50% + 38px), 3px);
  font-size: 16px;
  font-size: 1.6rem;
  color: var(--base-color);
}

.chart-wrap__second {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 3px);
  font-size: 16px;
  font-size: 1.6rem;
  color: var(--base-color);
}

.chart-wrap__last {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(calc(-50% - 36px), 3px);
  font-size: 16px;
  font-size: 1.6rem;
  color: var(--base-color);
}

[class*=ct-series-] .ct-slice-donut {
  stroke: #00ccd4;
}

@supports (display: grid) {
  .bnr-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 15px;
    gap: 15px;
  }
  @media screen and (max-width: 480px) {
    .bnr-list {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 1px;
      gap: 1px;
      background: #c9caca;
    }
    .bnr-list:after {
      content: "";
      display: block;
      background-color: #fff;
    }
  }
  .bnr-list__item {
    height: 100%;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(37, 92, 163, 0.2), 0 0 20px -10px rgba(37, 92, 163, 0.8);
  }
  @media screen and (max-width: 480px) {
    .bnr-list__item {
      box-shadow: none;
      max-height: 105px;
      height: 100%;
    }
    .bnr-list__item:nth-of-type(even):last-of-type {
      border-bottom: 1px solid #c9caca;
    }
  }
  .bnr-list__item > a {
    display: block;
    height: inherit;
    text-align: center;
    position: relative;
  }
  .bnr-list__item > a:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    transition: all 150ms ease-in;
    pointer-events: none;
  }
  .bnr-list__item > a:hover::before {
    background-color: rgba(25, 145, 209, 0.15);
  }
  .bnr-list__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .bnr-list-first {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 3;
  }
  @media screen and (max-width: 480px) {
    .bnr-list-first {
      max-height: 211px;
    }
  }
  .bnr-list-first img {
    max-width: 158px;
    object-fit: contain;
  }
  .bnr-center {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
}
.content {
  padding-left: 6vw;
  padding-right: 6vw;
}

.about-box {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .about-box {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: -6vw;
    margin-right: -6vw;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .about-box-order1 {
    order: 1;
    flex-grow: 1;
  }
  .about-box-order1 img {
    width: 100%;
    height: auto;
  }
}

.about-box-order2 {
  padding-right: 15px;
}
@media screen and (max-width: 768px) {
  .about-box-order2 {
    order: 2;
    width: 50%;
    padding-right: 0;
    padding-left: 15%;
    margin-top: 10px;
  }
}

.about-box-order3 {
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .about-box-order3 {
    order: 3;
    width: 50%;
    padding-left: 15%;
    margin-top: 10px;
  }
}

.qa-content {
  background-color: #fff;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15), 0px 0px 25px -15px rgba(0, 0, 0, 0.15);
  padding: 2px 15px 2px 15px;
  margin-bottom: 15px;
  border-radius: 2px;
  overflow: hidden;
  transition: background 300ms ease;
  position: relative;
}
.qa-content[aria-expanded=true] {
  background-color: #00b2b1;
  padding-bottom: 15px;
}
.qa-content .toggle-btn {
  flex-shrink: 0;
}

.q-pict {
  display: inline-block;
  width: 35px;
  height: 35px;
  color: #fff;
  font-size: 23px;
  font-size: 2.3rem;
  font-family: robot, sans-serif;
  font-weight: 700;
  background-color: #00b2b1;
  border-radius: 100%;
  text-align: center;
  padding: 1px 0 0 0;
  flex-shrink: 0;
}

.a-pict {
  display: inline-block;
  width: 35px;
  height: 35px;
  color: #ff596a;
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.6;
  font-family: robot, sans-serif;
  font-weight: 700;
  text-align: center;
  padding: 1px 0 0 0;
  transition: all 300ms ease;
  flex-shrink: 0;
}

.qa-title {
  display: flex;
  align-items: center;
  margin: 13px 0;
  position: relative;
  cursor: pointer;
}

.qa-title-text {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6;
  padding-left: 13px;
  padding-right: 13px;
  flex-grow: 1;
  transition: all 300ms ease;
}

.qa-answer {
  max-height: 0;
  transition: all 300ms ease-in-out;
  overflow: hidden;
}

.qa-answer__inner {
  display: flex;
  background-color: #fff;
  border-radius: 2px;
  padding-left: 53px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 230px;
}
@media screen and (max-width: 768px) {
  .qa-answer__inner {
    flex-wrap: wrap;
    padding-left: 13px;
    padding-right: 13px;
  }
}
.qa-answer__inner p {
  padding: 7px 0 0 20px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .qa-answer__inner p {
    width: calc(100% - 55px);
  }
}
.qa-answer__inner .chara {
  display: block;
  width: 130px;
  height: 157px;
  background-image: url(/content/images/qa/c.png);
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 15px;
  right: -120px;
  transition: right 300ms ease-in-out;
}
@media screen and (max-width: 768px) {
  .qa-answer__inner .chara {
    position: static;
    margin-left: auto;
    margin-top: 15px;
    margin-bottom: -20px;
    transition: none;
  }
}

.toggle-btn {
  display: inline-flex;
  width: 20px;
  height: 20px;
  cursor: pointer;
  position: relative;
}
.toggle-btn::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: #00b2b1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.toggle-btn::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: #00b2b1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 300ms ease;
}

.qa-content[aria-expanded=true] {
  transition: background 300ms ease;
}
.qa-content[aria-expanded=true] .q-pict {
  color: #00b2b1;
  background-color: #fffbdd;
}
.qa-content[aria-expanded=true] .qa-title-text {
  color: #fff;
}
.qa-content[aria-expanded=true] .toggle-btn::before, .qa-content[aria-expanded=true] .toggle-btn::after {
  background-color: #fff;
}
.qa-content[aria-expanded=true] .toggle-btn::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.qa-content[aria-expanded=true] .chara {
  right: 3vw;
  transition: right 900ms ease-in-out 200ms;
}

.date {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  font-family: Roboto;
  font-weight: 500;
  min-width: 96px;
}

h1 {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.4;
  margin: 0;
  margin-bottom: 20px;
}

h2 {
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.5;
  margin: 0;
  padding-bottom: 20px;
}

h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  margin: 0;
  padding-bottom: 20px;
}

h4 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  margin: 0;
  padding-bottom: 15px;
}

h5 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  margin: 0;
  padding-bottom: 15px;
}

.h1 {
  display: inline-flex;
  align-items: center;
  min-height: 85px;
  position: relative;
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.4;
  padding-left: 27px;
  padding-bottom: 0;
  margin: 15px 0;
}
@media screen and (max-width: 480px) {
  .h1 {
    padding: 5px 0 4px 27px;
  }
}
.h1:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #00b2b1;
  width: 12px;
  height: 100%;
  border-radius: 6px;
}

.no-objectfit .h1 {
  height: 65px;
}

.h2 {
  font-size: 29px;
  font-size: 2.9rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.h2 + .en-title {
  padding-top: 10px;
}

.h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: bold;
  position: relative;
  padding-left: 45px;
  padding-bottom: 15px;
}
.h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: var(--base-color);
}

.h4 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
  color: var(--base-color);
  position: relative;
}
.h4::before {
  content: "";
  position: absolute;
}

.h5 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  position: relative;
  padding-left: 18px;
}
.h5::before {
  position: absolute;
  content: "";
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: #00b2b1;
  border-radius: 100%;
}

.section-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding-top: 50px;
}
.section-title::before {
  content: "";
  display: inline-block;
  width: 60px;
  height: 36px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjAgMzUuNjc2NCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAgMzUuNjc2NDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMwMEI1QjI7fQoJLnN0MXtmaWxsOiMwMEE1QTA7fQo8L3N0eWxlPgo8cmVjdCB4PSIxMy44MjQ3IiB5PSItMy4zNzUzIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEgMC43MDcxIC0wLjcwNzEgMC43MDcxIDE3LjgzODIgLTcuMzg4OCkiIGNsYXNzPSJzdDAiIHdpZHRoPSI4LjAyNjkiIGhlaWdodD0iNDIuNDI3Ii8+CjxyZWN0IHg9IjM4LjE0ODQiIHk9Ii0zLjM3NTMiIHRyYW5zZm9ybT0ibWF0cml4KC0wLjcwNzEgMC43MDcxIC0wLjcwNzEgLTAuNzA3MSA4NC41ODgyIDAuNjM4OCkiIGNsYXNzPSJzdDEiIHdpZHRoPSI4LjAyNjkiIGhlaWdodD0iNDIuNDI3Ii8+Cjwvc3ZnPgo=);
  margin-bottom: 13px;
}
.section-title__child {
  font-size: 29px;
  font-size: 2.9rem;
  line-height: 1;
  letter-spacing: 0.2em;
  padding-top: 14px;
}

.en-title {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  color: #00b2b1;
  font-family: Roboto;
  font-weight: 500;
}

.page-title {
  font-size: 35px;
  font-size: 3.5rem;
  padding-bottom: 24px;
  margin-bottom: 34px;
  position: relative;
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .page-title {
    margin-top: 0;
  }
}
.page-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #00b2b1;
}

.title-border-box {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .title-border-box {
    display: block;
  }
}

.title-border {
  display: inline-flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  padding: 5px 30px 5px 0;
  border-right: 8px solid #00b2b1;
  margin-right: 30px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .title-border {
    border-right: none;
    position: relative;
    padding-bottom: 25px;
    margin-bottom: 35px;
  }
  .title-border::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 62px;
    height: 8px;
    background-color: #00b2b1;
  }
}
@media screen and (max-width: 480px) {
  .title-border {
    padding-right: 0;
    margin-right: 0;
  }
}
.title-border > * {
  padding: 0;
  margin: 0;
}

.flow-title {
  display: flex;
  align-items: center;
}
.flow-title .flow-title-text {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  margin-left: 14px;
}

.marker-title {
  width: max-content;
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1;
  letter-spacing: 0.3px;
  font-family: Roboto;
  font-weight: 500;
  position: relative;
  z-index: 0;
  padding-bottom: 35px;
}
.marker-title::after {
  content: "";
  display: inline-block;
  width: calc(100% + 1em);
  height: 15px;
  position: absolute;
  bottom: 34px;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  background-color: #ff596a;
}

.bottom-border {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.bottom-border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 2px;
  background-color: #00b2b1;
}

.bottom-left-border {
  position: relative;
  padding-bottom: 33px;
}
.bottom-left-border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #00b2b1;
}

.title-border-bottom {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.2;
  font-family: "じゅん 201";
  padding-top: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid currentColor;
}

.index-menu {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
.index-menu__item {
  position: relative;
  width: 33%;
  flex: 1 1 auto;
  background-color: #fff;
  box-shadow: 0 0 4px rgba(37, 92, 163, 0.2), 0 0 25px -15px rgba(37, 92, 163, 0.8);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding-top: 30px;
  padding-bottom: 30px;
  transition: all 150ms ease-in;
}
@media screen and (max-width: 480px) {
  .index-menu__item {
    box-shadow: none !important;
  }
}
.index-menu__item:not(:last-child) {
  margin-right: 15px;
}
.index-menu__item figure {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 112px;
}
@media screen and (max-width: 480px) {
  .index-menu__item figure {
    min-height: inherit;
  }
}
.index-menu__item:hover {
  background-color: #ddeff7;
  box-shadow: 0 0 4px rgba(37, 92, 163, 0.2), 0 0 30px -15px rgba(37, 92, 163, 0.9);
}
@media screen and (max-width: 480px) {
  .index-menu {
    flex-flow: column nowrap;
    margin-bottom: 0;
  }
  .index-menu__item {
    width: auto;
    padding: 35px 5vw 25px 5vw;
    margin: 0 !important;
    box-shadow: none;
    border-bottom: 1px solid #c9caca;
  }
  .index-menu__item .sp-flex-row__item:first-child {
    margin-right: 35px;
    margin-right: clamp(20px, 5vw, 35px);
  }
  .index-menu__item .sp-flex-row__item img {
    width: 100%;
    max-width: 110px;
  }
}

.index-menu__title {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.2;
  margin-top: 1em;
  text-align: center;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 480px) {
  .index-menu__title {
    margin-top: 0;
    text-align: left;
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 320px) {
  .index-menu__title {
    font-size: clamp(2.2rem, 2vw, 2.6rem);
    letter-spacing: 0.1em;
  }
}

.index-menu__item:nth-child(3) .index-menu__title {
  letter-spacing: 0.02em;
}

.eng {
  font-family: Roboto;
  font-weight: 500;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  color: #00b2b1;
  font-style: italic;
  letter-spacing: 0.4px;
  margin-top: 10px;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .eng {
    text-align: left;
  }
}

.index-menu__text {
  font-size: 16px;
  font-size: 1.6rem;
  font-size: clamp(1.2rem, 5vw, 1.6rem);
  line-height: 1.6;
  padding: 0 2em 30px 2em;
  padding: 0 clamp(1em, 3vw, 2em) 30px clamp(1em, 3vw, 2em);
  margin-top: 1.5em;
  margin-bottom: auto;
  letter-spacing: -0.1px;
  width: 100%;
}

.news-list {
  width: 100%;
  border-top: 1px solid #00b2b1;
  margin-top: 30px;
}
.news-list__item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #00b2b1;
  padding: 1em;
  min-height: 100px;
  position: relative;
  transition: all 200ms ease-out;
}
@media screen and (max-width: 480px) {
  .news-list__item {
    align-items: flex-start;
    flex-direction: column;
    padding-top: 30px;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 30px;
  }
}
.news-list__item > * {
  line-height: 1.6;
}
.news-list__item:hover {
  background-color: #e5f7f7;
}
.news-list .date {
  padding-left: 1em;
  padding-right: 3em;
}
@media screen and (max-width: 480px) {
  .news-list .date {
    padding: 0;
    margin-bottom: 15px;
  }
}

.news-pagetitle-top {
  border-top: 5px solid #dcdddd;
  padding-top: 24px;
}
.news-pagetitle-top .label {
  margin-left: 13px;
}

.news-pagetitle {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.4;
  padding-top: 22px;
  padding-bottom: 21px;
  border-bottom: 5px solid #dcdddd;
  margin-bottom: 50px;
  position: relative;
}
.news-pagetitle:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100px;
  height: 5px;
  background-color: #fc596a;
}

.edit-block {
  margin-top: 30px;
  margin-bottom: 100px;
}
@media screen and (max-width: 480px) {
  .edit-block {
    margin-bottom: 30px;
  }
}
.edit-block p + *:not(p) {
  margin-top: 1em;
}
.edit-block h1 {
  font-size: 29px;
  font-size: 2.9rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.edit-block h2 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: bold;
  position: relative;
  padding-left: 45px;
  padding-bottom: 15px;
}
.edit-block h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: var(--base-color);
}
.edit-block h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
  color: var(--base-color);
}
.edit-block h4 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  position: relative;
  padding-left: 18px;
}
.edit-block h4::before {
  position: absolute;
  content: "";
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: #00b2b1;
  border-radius: 100%;
}
.edit-block ul {
  list-style-type: none;
  margin-bottom: 20px;
}
.edit-block ul > li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1em;
}
.edit-block ul > li:not(:first-child) {
  margin-top: 5px;
}
.edit-block ul > li:before {
  content: "・";
}
.edit-block h2 + ul {
  margin-left: 2.8em;
}
.edit-block h2 + dl {
  margin-left: 28px;
  margin-bottom: 20px;
}
.no-objectfit .edit-block dl {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.no-objectfit .edit-block dl dt {
  min-width: 160px;
}
.no-objectfit .edit-block dl dt,
.no-objectfit .edit-block dl dd {
  margin-bottom: 4px;
}
.edit-block .link {
  margin-left: 7px;
  margin-bottom: 20px;
}
.edit-block .link > li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.edit-block .link > li a {
  transition: color 150ms ease-in;
}
.edit-block .link > li:not(:first-child) {
  margin-top: 5px;
}
.edit-block .link > li::before {
  transition: transform 150ms ease-in;
}
.edit-block .link > li:hover::before {
  transform: translate(-7px, -1px) rotate(45deg) skew(-5deg, -5deg);
}
.edit-block .box {
  background-color: #e5f7f7;
  padding: 1em 2em;
}
.edit-block .box > ul, .edit-block .box ol {
  margin-bottom: 0;
}
.edit-block table {
  margin-bottom: 20px;
}
.edit-block table th,
.edit-block table td {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  border: 1px solid var(--base-color);
}
@media screen and (max-width: 480px) {
  .edit-block table th,
  .edit-block table td {
    padding: 0.6em 0.2em;
  }
}
.edit-block table th {
  color: #fff;
  background-color: var(--base-color);
  font-weight: normal;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .edit-block .imgR,
  .edit-block .imgL {
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
.edit-block .imgR img,
.edit-block .imgL img {
  width: 100%;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-pointer-events {
  touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #000;
  opacity: 0.2;
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}
.swiper-container-vertical > .swiper-pagination-progressbar, .swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff;
}

.swiper-pagination-black {
  --swiper-pagination-color: #000000;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
  --swiper-navigation-color: #ffffff;
}

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
  --swiper-navigation-color: #000000;
}

.swiper-button-lock {
  display: none;
}

.first-view-area-other {
  content-visibility: auto;
  contain-intrinsic-size: 500px;
}

/*
.loading {
  .page-block {
    padding-top: 0;
  }

  .first-view-area {
    width: 100%;
    padding-top: g.$header_height;
    position: relative;
    max-height: 630px + g.$header_height;

    &::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      display: inline-block;
      width: 100%;
      height: 100%;

      background-repeat: no-repeat;
      background-position: right top;
      background-size: contain;
      z-index: 90;
      pointer-events: none; //マウスクリック無効化でheaderがクリックできるように
    }
    &::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      display: block;
      width: 100%;
      height: 100%;
      z-index: 101; //100;// .container-header　と同じ
      pointer-events: none; //マウスクリック無効化でheaderがクリックできるように
    }

    @include g.mq(md) {
      padding-top: g.$sp_header_height;
      padding-top: clamp(
        g.$sp_header_height,
        calc(70px + 1vw),
        g.$header_height
      );
      max-height: 720px;
      max-height: clamp(720px, calc(630px + 1vw), 750px);
    }

    @include g.mq(sm) {
      padding-top: g.$sp_header_height;
      max-height: 630px + g.$sp_header_height;
      &::before,
      &::after {
        z-index: 1;
      }
    }
  }
  @supports (object-fit: cover) {
    .first-view-area::before {
      background-image: url(/assets/templates/clasina/img/common/right-top-triangle.svg);
    }
    .first-view-area::after {
      background-image: url(/assets/templates/clasina/img/common/right-triangle.svg),
        url(/assets/templates/clasina/img/common/left-triangle.svg);
      background-repeat: no-repeat;
      background-position: right bottom, left bottom;
      background-size: contain, 147px 233px;
      @include g.mq(sm) {
        background-position: 400% bottom, -17% bottom;
      }
    }
  }


  .swiper-slide {
    img {
      width: 100%;
      height: 100%;

      //max-height: 490px;
      max-height: 630px;
      object-fit: cover;
      //min-height: 320px;
      min-height: 405px;
      //height: clamp(320px,5vw,490px);
    }
  }
  .swiper-pagination {
    display: none !important;
  }

  .slide-cnt-area {
    position: absolute;
    //top: calc(50% + 70px);
    top: calc(50% + 45px);
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 90;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    //padding-top:  $header_height;
    @include g.mq(md) {
      //top: calc(50% + 70px);
    }

    .lead {
      margin-top: 2.2rem;
      margin-bottom: 4rem;
      text-align: center;
      font-size: 20px;
      font-size: 2rem;
      @include g.mq(sm) {
        margin-top: 2rem;
        margin-bottom: 3rem;
        text-align: left;
        font-size: 18px;
        font-size: 1.8rem;
        font-size: clamp(1.8rem, 3.3vw, 2.2rem);

        width: 100%;
        white-space: normal;
        br {
          display: none;
        }
      }
    }
    .btn-border {
      @include g.mq(sm) {
        width: 60vw;
        min-width: 226px;
        padding: 0.8rem 0.7rem 0.8rem 0.7rem;
        font-size: 16px;
        font-size: 1.6rem;
        font-size: clamp(1.6rem, 3.5vw, 1.8rem);
      }
    }
    .btn--default {
      color: #fff;
    }
  }
}
*/
.first-view-area {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .first-view-area {
    margin-top: 0;
  }
}
.first-view-area .catch-copy {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .first-view-area .catch-copy {
    text-align: center;
    width: 90%;
    font-size: 28px;
    font-size: 2.8rem;
    font-size: clamp(2.1rem, 4vw, 2.8rem);
    white-space: normal;
  }
}

.home-slide {
  position: relative;
  width: 100%;
  height: calc(100vh - 70px);
}
@media screen and (max-width: 480px) {
  .home-slide {
    height: 375px;
  }
}

.slide-img {
  width: 100%;
  height: 100%;
}
.slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home .page-block {
  padding-top: 0;
}
.home .news-box {
  padding-top: 90px;
  padding-left: 1.34vw;
  padding-right: 1.34vw;
  margin-left: -1.34vw;
  margin-right: -1.34vw;
}
@media screen and (max-width: 768px) {
  .home .news-box {
    padding-left: 5vw;
    padding-right: 5vw;
    margin-left: -5vw;
    margin-right: -5vw;
  }
  .home .news-box .news-list {
    width: auto;
  }
}
.home .news-list__item {
  padding-left: 0;
  padding-right: 0;
}
.home .contents-block {
  padding-top: 20px;
}

.pickup-list__item {
  position: relative;
  z-index: 0;
  display: flex;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dotted currentColor;
}
@media screen and (max-width: 480px) {
  .pickup-list__item {
    flex-direction: column;
  }
}
.pickup-list__item:first-child {
  padding-top: 0;
}
.pickup-list__item:last-child {
  border: none;
  padding-bottom: 0;
}
.pickup-list__item:hover .pickup-photo img {
  transform: scale(1.05);
}
.pickup-list__item > * {
  line-height: 1.6;
}

.pickup-photo {
  max-width: 240px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .pickup-photo {
    max-width: 375px;
  }
}
.pickup-photo img {
  width: 100%;
  object-fit: cover;
  transition: all 300ms ease-in-out;
}

.no-objectfit .pickup-photo {
  width: 240px;
}

.pickup-cnt {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-left: 15px;
}
@media screen and (max-width: 480px) {
  .pickup-cnt {
    margin-left: 0;
    margin-top: 15px;
  }
}
.pickup-cnt > * {
  color: #fff;
}

.pickup-title {
  font-size: 18px;
  font-size: 1.8rem;
  font-size: clamp(1.4rem, 5vw, 1.8rem);
  font-weight: normal;
  margin-top: 6px;
}
@media screen and (max-width: 480px) {
  .pickup-title {
    margin-top: 10px;
    margin-bottom: 5px;
  }
}
.pickup-title a {
  color: #fff;
}
.pickup-title a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 150ms ease-in;
}

.no-objectfit .news-list + .mt-auto {
  margin-top: 30px;
}
