@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&family=Zen+Kaku+Gothic+New:wght@700&display=swap");
@import "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css";
.about-zerotrust .triangle {
  background-color: #088395;
  width: 2em;
  height: 4em;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media (max-width: 991.98px) {
  .about-zerotrust .col-lg-auto .triangle {
    width: 4em;
    height: 2em;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin: 2.5em auto 2.25em;
  }
}
@media (max-width: 767.98px) {
  .about-zerotrust .col-md-auto .triangle {
    width: 4em;
    height: 2em;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin: 2.5em auto 2.25em;
  }
}
.about-zerotrust .bg-color-box {
  background-color: #088395;
  color: white;
  font-weight: 500;
  text-align: center;
  padding: 0.5em;
}

.about-zerotrust02 .bg-color-box {
  display: flex;
  flex-direction: column;
  background-color: #088395;
  font-weight: 500;
  width: 100%;
  padding: 1em;
  border-radius: 0.5em;
}
.about-zerotrust02 ol li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: white;
  line-height: 1.625;
  padding: 0.5em;
  border-radius: 0.5em;
}
@media (max-width: 767.98px) {
  .about-zerotrust02 ol li {
    min-height: 4.25em;
  }
}
@media (min-width: 768px) {
  .about-zerotrust02 ol li {
    min-height: 7.5em;
  }
}
@media (min-width: 992px) {
  .about-zerotrust02 ol li {
    min-height: 5.875em;
  }
}
@media (min-width: 1400px) {
  .about-zerotrust02 ol li {
    min-height: 4.25em;
  }
}
.about-zerotrust02 ol li::before {
  content: none;
}
.about-zerotrust02 ol li p {
  padding-left: 2em;
  margin-bottom: 0;
  position: relative;
}
.about-zerotrust02 ol li p::before {
  counter-increment: number;
  content: counter(number);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 72%;
  width: 2em;
  height: 2em;
  border: 1px solid #000;
  border-radius: 50%;
  position: absolute;
  top: 0.1em;
  left: 0;
}
.about-zerotrust02 ol li p span {
  display: inline-block;
}
.about-zerotrust02 ol.circle-bg-gray li p::before {
  background-color: gray;
  color: white;
  border: none;
}
.about-zerotrust02 ol.circle-bg-theme-color li p::before {
  background-color: #088395;
  color: white;
  border: none;
}

.box-with-header {
  border-style: solid;
  border-width: 1px;
  border-color: #088395;
}
.box-with-header .box-header {
  background-color: #088395;
  color: white;
  text-align: center;
  padding: 0.25em 0.5em;
  margin-bottom: 0;
}
.box-with-header .inner {
  padding: 1em;
}

dl.title-on-border {
  font-size: 1.6rem;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.5em;
  text-align: center;
  position: relative;
  top: 0.5em;
  padding: 0 1em 0.5em;
}
dl.title-on-border dt {
  font-weight: 500;
  line-height: 1;
  margin-top: -0.5em;
  margin-bottom: 0.5em;
}
dl.title-on-border dt span {
  display: inline-block;
  background-color: white;
  padding: 0 1em;
}
dl.title-on-border dd {
  margin-bottom: 0.5em;
}
dl.title-on-border.key {
  border-color: #cd0033;
}
dl.title-on-border.key dt {
  color: #cd0033;
}
dl.title-on-border.theme {
  border-color: #088395;
}
dl.title-on-border.theme dt {
  color: #088395;
}

.triangle-down {
  background-color: #088395;
  width: 2em;
  height: 1em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: 0 auto;
}

.responsive-table {
  width: 100%;
  border-spacing: 0;
  margin: 0 auto;
}
.responsive-table thead th, .responsive-table thead td {
  border-top: 1px solid #4f4d47;
}
.responsive-table thead .blank {
  background: transparent;
  border-top: none !important;
  border-left: none !important;
}
.responsive-table th, .responsive-table td {
  border-right: 1px solid #4f4d47;
  border-bottom: 1px solid #4f4d47;
  text-align: center;
  padding: 0.75em;
}
.responsive-table th:first-child, .responsive-table td:first-child {
  border-left: 1px solid #4f4d47;
}
.responsive-table th {
  background-color: #088395;
  color: #fff;
}
.responsive-table td {
  background-color: white;
}
.responsive-table .price span {
  font-size: 129%;
}
@media (max-width: 575.98px) {
  .responsive-table {
    width: 100%;
    border: none;
  }
  .responsive-table thead {
    display: none;
  }
  .responsive-table tr {
    display: block;
  }
  .responsive-table tr + tr th {
    margin-top: 1em;
  }
  .responsive-table th {
    display: block;
    width: 100%;
    padding: 0.5em;
    border-style: solid;
    border-color: #4f4d47;
    border-width: 1px;
  }
  .responsive-table th + td {
    padding-top: 0.5em;
  }
  .responsive-table td {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    width: 100%;
    padding: 0.25em 1em;
    border-style: solid;
    border-color: #4f4d47;
    border-width: 0 1px 0 1px;
  }
  .responsive-table td::before {
    content: attr(data-label);
    color: #088395;
    font-size: 86%;
    font-weight: 600;
    margin-right: 1em;
    white-space: nowrap;
  }
  .responsive-table td span {
    text-align: right;
    margin-left: auto;
  }
  .responsive-table td span span {
    display: inline-block;
  }
  .responsive-table td:first-child {
    padding-top: 0.5em;
  }
  .responsive-table td:last-child {
    border-bottom: 1px solid #4f4d47;
    padding-bottom: 0.5em;
  }
}

.zerotrust .glossary-list .block + .block {
  margin-top: 4em;
}
.zerotrust .glossary-cat-list article .entry-title {
  margin-bottom: 1em;
}
.zerotrust .glossary-cat-list article + article {
  margin-top: 3em;
}
.zerotrust ul.tags li a {
  border: 1px solid #088395;
  color: #088395;
}
.zerotrust ul.tags li a:hover {
  background-color: #088395;
}
.zerotrust ul.categories {
  padding-left: 0;
  vertical-align: top;
  line-height: 1;
  margin: 0 -0.5em -1em;
}
.zerotrust ul.categories li {
  display: flex;
  padding: 0 0.5em;
  margin: 0 0 1em 0;
}
.zerotrust ul.categories li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #088395;
  background-color: white;
  color: #088395;
  width: 100%;
  min-height: 4em;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  padding: 0.5em 1em;
  border-radius: 2px;
}
.zerotrust ul.categories li a:hover {
  background-color: #088395;
  color: white;
}
.zerotrust .entry-title + ul.tags {
  margin-top: -1em;
}
.zerotrust .glossary-list h2 a {
  color: #088395;
}
.zerotrust .glossary-list ul li a {
  color: #161c2e;
}
.zerotrust .glossary-list ul li + li {
  margin-top: 0.5em;
}
.zerotrust .circle-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 10em;
  background-color: white;
  color: #088395;
  border: 2px solid #088395;
  border-radius: 50%;
  font-weight: 600;
  margin: 0 auto;
}
.zerotrust .circle-heading::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.zerotrust .circle-heading [data-aos=underline] {
  background: linear-gradient(to right, yellow 50%, transparent 50%) 100% bottom/200% 25% no-repeat;
}
.zerotrust .circle-heading [data-aos=underline].aos-animate {
  background-position: 0% bottom;
}
@media (max-width: 575.98px) {
  .zerotrust .circle-heading {
    font-size: 5vw;
  }
}
@media (min-width: 576px) {
  .zerotrust .circle-heading {
    font-size: 200%;
  }
}
@media (min-width: 768px) {
  .zerotrust .circle-heading {
    font-size: 146%;
  }
}
@media (min-width: 992px) {
  .zerotrust .circle-heading {
    font-size: 193%;
  }
}
@media (min-width: 1200px) {
  .zerotrust .circle-heading {
    font-size: 200%;
  }
}

:root {
  --primary-color:#4ccbc5;
  --light-teal:#e6f4f3;
  --dark-text:#333333;
}

@media screen and (max-width: 782px) {
  html #wpadminbar {
    position: absolute !important;
  }
}
/*.nttcom #include-header {
  @media screen and (max-width: 960px) { height: 68px; }
  @media screen and (min-width: 961px) { height: 88px; }

  &::after {
    content: "";
    display: block;
    background-color: white;
    width: 100%;
    height: inherit;
    position: fixed;
    top: 0;
    z-index: 99;
  }
}*/
.breadcum {
  position: relative;
  z-index: 1;
}

.zerotrust section, .zerotrust02 section {
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
.zerotrust .page-header, .zerotrust02 .page-header {
  background: none !important;
  position: relative;
}
@media (max-width: 575.98px) {
  .zerotrust .page-header .content-block-half:not(.pT0), .zerotrust02 .page-header .content-block-half:not(.pT0) {
    padding-top: 4rem;
  }
  .zerotrust .page-header .content-block-half:not(.pB0), .zerotrust02 .page-header .content-block-half:not(.pB0) {
    padding-bottom: 2rem;
  }
}
.zerotrust .page-header .page-title, .zerotrust02 .page-header .page-title {
  display: block;
  min-height: auto;
  padding: 0 0 0 1em;
  text-shadow: none;
  position: relative;
}
.zerotrust .page-header .page-title p.en, .zerotrust02 .page-header .page-title p.en {
  font-size: 3.75em;
  font-weight: 700;
  line-height: 1;
  margin: 0;
  position: relative;
}
.zerotrust .page-header .page-title p.en span, .zerotrust02 .page-header .page-title p.en span {
  display: inline-block;
  position: relative;
}
.zerotrust .page-header .page-title p.en span::before, .zerotrust02 .page-header .page-title p.en span::before {
  content: "";
  width: 1.5em;
  aspect-ratio: 1;
  margin: 0 auto;
  border-radius: 61% 39% 16% 84%/57% 72% 28% 43%;
  animation: fluid-anim 20s infinite;
  background-color: rgba(153, 204, 206, 0.3);
  position: absolute;
  top: -0.4em;
  left: -0.6em;
  z-index: -1;
}
.zerotrust .page-header .page-title h1, .zerotrust02 .page-header .page-title h1 {
  font-size: 1.25em;
  font-weight: normal;
  margin-top: 0.5em;
  line-height: 1.5;
  position: relative;
}
.zerotrust .page-header .anchor-nav ul, .zerotrust02 .page-header .anchor-nav ul {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.25em;
  margin-left: -0.25em;
  margin-bottom: -0.5em;
}
@media (max-width: 575.98px) {
  .zerotrust .page-header .anchor-nav ul, .zerotrust02 .page-header .anchor-nav ul {
    font-size: 3vw;
  }
}
.zerotrust .page-header .anchor-nav ul li, .zerotrust02 .page-header .anchor-nav ul li {
  padding-right: 0.25em;
  padding-left: 0.25em;
  margin-bottom: 0.5em;
}
@media (max-width: 767.98px) {
  .zerotrust .page-header .anchor-nav ul li, .zerotrust02 .page-header .anchor-nav ul li {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 768px) {
  .zerotrust .page-header .anchor-nav ul li, .zerotrust02 .page-header .anchor-nav ul li {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
}
@media (min-width: 1200px) {
  .zerotrust .page-header .anchor-nav ul li, .zerotrust02 .page-header .anchor-nav ul li {
    flex-basis: 0;
    flex-grow: 1;
  }
}
.zerotrust .page-header .anchor-nav ul li a, .zerotrust02 .page-header .anchor-nav ul li a {
  display: flex;
  align-items: center;
  color: #333333;
  font-size: 93%;
  height: 100%;
  min-height: 4.1em;
  line-height: 1.5;
  padding: 0.5em 1em;
  border: 1px solid #333333;
  border-radius: 0.25em;
}
.zerotrust .page-header .anchor-nav ul li a::before, .zerotrust02 .page-header .anchor-nav ul li a::before {
  content: "";
  flex: 0 0 1em;
  display: block;
  background-color: #99CCCE;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.38%207.68%22%3E%3Cpath%20d%3D%22M6.19%207.68c-.62%200-1.22-.3-1.64-.83L0%201.1%201.4%200l4.55%205.75c.16.2.34.2.5%200L10.99%200l1.39%201.1-4.55%205.75c-.42.53-1.02.83-1.64.83Z%22%20style%3D%22fill%3A%238acecf%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.38%207.68%22%3E%3Cpath%20d%3D%22M6.19%207.68c-.62%200-1.22-.3-1.64-.83L0%201.1%201.4%200l4.55%205.75c.16.2.34.2.5%200L10.99%200l1.39%201.1-4.55%205.75c-.42.53-1.02.83-1.64.83Z%22%20style%3D%22fill%3A%238acecf%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 1em;
  height: 1em;
  margin-right: 0.75em;
  transition: 0.3s;
}
.zerotrust .page-header .anchor-nav ul li a span, .zerotrust02 .page-header .anchor-nav ul li a span {
  display: inline-block;
}
.zerotrust .page-header .anchor-nav ul li a:hover, .zerotrust02 .page-header .anchor-nav ul li a:hover {
  background-color: #99CCCE;
  color: white;
}
.zerotrust .page-header .anchor-nav ul li a:hover::before, .zerotrust02 .page-header .anchor-nav ul li a:hover::before {
  background-color: white;
}
@media (max-width: 575.98px) {
  .zerotrust .page-header .page-title + .anchor-nav, .zerotrust02 .page-header .page-title + .anchor-nav {
    margin-top: 3rem;
  }
}
@media (min-width: 576px) {
  .zerotrust .page-header .page-title + .anchor-nav, .zerotrust02 .page-header .page-title + .anchor-nav {
    margin-top: 3em;
  }
}
@media (max-width: 767.98px) {
  .zerotrust .container, .zerotrust02 .container {
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media (min-width: 1400px) {
  .zerotrust .container, .zerotrust02 .container {
    max-width: 1140px !important;
  }
}

.nttcom {
  z-index: 100;
}

@media (max-width: 575.98px) {
  p {
    font-size: 100%;
  }
}

img {
  pointer-events: none;
}

.page-template-empty section + section {
  border-top: none;
}

.button {
  background-color: #8acecf;
  border-color: #8acecf;
}
.button small {
  color: #8acecf;
}
.button::after {
  color: #8acecf;
}
.button:hover {
  color: #8acecf;
}
.button:hover::after {
  color: #8acecf;
}

@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fluid-anim {
  0% {
    border-radius: 65% 35% 55% 45%/55% 50% 55% 45%;
  }
  12.5% {
    border-radius: 60% 75% 40% 80%/70% 70% 60% 65%;
  }
  25% {
    border-radius: 55% 95% 65% 90%/75% 65% 85% 70%;
  }
  37.5% {
    border-radius: 60% 40% 50% 45%/60% 40% 60% 40%;
  }
  50% {
    border-radius: 55% 95% 65% 90%/75% 65% 85% 70%;
  }
  62.5% {
    border-radius: 60% 40% 50% 45%/60% 40% 60% 40%;
  }
  75% {
    border-radius: 60% 75% 40% 80%/70% 70% 60% 65%;
  }
  87.5% {
    border-radius: 40% 60% 55% 45%/50% 60% 40% 50%;
  }
  100% {
    border-radius: 65% 35% 55% 45%/55% 50% 55% 45%;
  }
}
section.hero {
  /*  background-position: top center;  background-size: cover;*/
  position: relative;
  overflow: hidden;
  visibility: hidden;
}
section.hero::before {
  content: "";
  display: block;
  width: 100%;
  box-sizing: content-box;
  opacity: 0;
}
@media (max-width: 767.98px) {
  section.hero::before {
    aspect-ratio: 1;
  }
}
@media (min-width: 768px) {
  section.hero::before {
    aspect-ratio: 1440/640;
  }
}
@media (min-width: 1440px) {
  section.hero::before {
    max-height: 640px;
  }
}
section.hero .firstview {
  opacity: 0;
}
@media (min-width: 768px) {
  section.hero .firstview {
    width: 100%;
    max-width: 1440px;
    aspect-ratio: 1440/640;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
section.hero .firstview::before {
  content: "";
  display: block;
  border-radius: 50%;
  background: radial-gradient(77.95% 77.95% at 74.66% 58.07%, rgba(255, 254, 220, 0.8) 0%, rgba(255, 255, 255, 0.152) 62.28%, rgba(255, 255, 255, 0) 100%), radial-gradient(89.67% 70.39% at 93.75% 92.16%, #699E9E 0%, rgba(105, 158, 158, 0.49) 52.46%, rgba(255, 156, 156, 0) 100%), radial-gradient(68.86% 68.86% at 94.55% 1.7%, #EDCB6B 0%, rgba(237, 203, 107, 0) 100%), linear-gradient(130.87deg, rgba(138, 206, 207, 0.78) 3.47%, rgba(138, 206, 207, 0) 77.25%);
  background-blend-mode: overlay, normal, normal, normal, normal, normal;
  filter: blur(2vw);
  position: absolute;
}
@media (max-width: 767.98px) {
  section.hero .firstview::before {
    width: 65%;
    padding-top: 65%;
    top: 6%;
    left: -5%;
  }
}
@media (min-width: 768px) {
  section.hero .firstview::before {
    width: 55%;
    padding-top: 55%;
    top: -12%;
    left: 0;
  }
}
@media (min-width: 1440px) {
  section.hero .firstview::before {
    filter: blur(28.8px);
  }
}
section.hero .firstview .headline {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.89vw;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3667;
  letter-spacing: 0;
  position: absolute;
  top: 21%;
  left: 15%;
  transition: opacity 0.3s ease-in-out;
}
@media (max-width: 767.98px) {
  section.hero .firstview .headline {
    font-size: 5.89vw;
    top: 15%;
    left: 6.5%;
  }
}
@media (min-width: 1440px) {
  section.hero .firstview .headline {
    font-size: 56.016px;
  }
}
section.hero .firstview .headline .line {
  display: block;
  white-space: nowrap;
  opacity: 0;
}
section.hero .firstview .headline .line.visible {
  opacity: 1;
}
section.hero .firstview .headline .letter {
  animation-name: show;
  animation-duration: 0.5s;
  animation-fill-mode: backwards;
}
section.hero .firstview .fluid {
  aspect-ratio: 1;
  margin: 0 auto;
  border-radius: 61% 39% 16% 84%/57% 72% 28% 43%;
  animation: fluid-anim 20s infinite;
  background-color: rgba(153, 204, 206, 0.5);
  position: absolute;
}
@media (max-width: 767.98px) {
  section.hero .firstview .fluid {
    width: 16%;
    top: 14%;
    right: 27.5%;
  }
}
@media (min-width: 768px) {
  section.hero .firstview .fluid {
    width: 7%;
    top: calc(20% + 20px);
    right: 30.5%;
  }
}
section.hero .firstview .image {
  position: absolute;
}
@media (max-width: 767.98px) {
  section.hero .firstview .image {
    width: 36%;
    top: 6%;
    right: 5%;
  }
}
@media (min-width: 768px) {
  section.hero .firstview .image {
    width: 17%;
    top: 48px;
    right: 20%;
  }
}
section.hero .wave-container {
  width: 100%;
  position: absolute;
  z-index: 2;
  overflow: hidden;
  transform: rotate(-3deg);
  opacity: 0;
}
@media (max-width: 767.98px) {
  section.hero .wave-container {
    top: 78vw;
  }
}
@media (min-width: 768px) {
  section.hero .wave-container {
    top: 28vw;
  }
}
@media (min-width: 1440px) {
  section.hero .wave-container {
    top: 403.2px;
  }
}
section.hero .wave-container::before {
  content: "";
  display: block;
  padding-top: 15%;
}
section.hero .wave-container canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
section.hero .buttons-wrap {
  text-align: center;
  position: fixed;
  top: calc(21% + 21.265852vw + 2em + 100px);
  left: 15%;
  z-index: 2;
  opacity: 0;
}
@media (max-width: 767.98px) {
  section.hero .buttons-wrap {
    font-size: 0.85em;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  section.hero .buttons-wrap {
    font-size: 1em;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  section.hero .buttons-wrap {
    font-size: 0.85em;
  }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  section.hero .buttons-wrap {
    font-size: 0.9em;
  }
}
@media (min-width: 1400px) {
  section.hero .buttons-wrap {
    font-size: 1em;
  }
}
section.hero .buttons {
  display: flex;
  margin: 0 -0.5em;
}
section.hero .buttons li {
  flex-basis: min-content;
  padding: 0 0.5em;
}
section.hero .buttons li a {
  display: inline-block;
  color: white;
  min-width: 12em;
  font-weight: 500;
  border-radius: 3em;
  vertical-align: top;
  white-space: nowrap;
  padding: 0.95em 2em 1.05em;
  position: relative;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.545, 0.08, 0.52, 0.975);
  z-index: 1;
  overflow: hidden;
}
section.hero .buttons li a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background-color: white;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  transition: 0.3s cubic-bezier(0.36, 0.1, 0.16, 1);
  transform: translateX(-110%);
  z-index: -1;
}
section.hero .buttons li a:hover {
  text-decoration: none;
  opacity: 0.8;
}
section.hero .buttons li a:hover::before {
  opacity: 1;
  transform: scale(1.02);
  transform: translateX(0%) scale(1.02);
}
section.hero .buttons li.request a {
  background-color: #1460ba;
  border: 1px solid #1460ba;
}
section.hero .buttons li.request a:hover {
  color: #1460ba;
}
section.hero .about {
  background-color: rgba(255, 255, 255, 0.9);
  margin-left: auto;
  border-radius: 10vw 0 0 0;
  position: relative;
  z-index: 1;
  opacity: 0;
}
section.hero .about p {
  font-size: inherit;
  font-weight: 700;
  line-height: 2.4;
  margin-bottom: 0;
  position: relative;
  z-index: 3;
}
section.hero .about p + p {
  margin-top: 2.4em;
}
@media (max-width: 767.98px) {
  section.hero .about {
    font-size: 3.6vw;
    padding: 2em 5vw 3em;
  }
}
@media (min-width: 768px) {
  section.hero .about {
    font-size: 1.5vw;
    width: 50vw;
    padding: 5em 8vw;
  }
}
@media (min-width: 1400px) {
  section.hero .about {
    font-size: 150%;
  }
}
section.hero::after {
  content: "";
  display: block;
  width: 50vw;
  height: 16vw;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 80%);
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
}
section.hero.visible::before, section.hero.visible .firstview, section.hero.visible .wave-container, section.hero.visible .buttons-wrap, section.hero.visible .about, section.hero.visible::after {
  opacity: 1;
}
@media (min-width: 768px) {
  section.hero.fixed .firstview {
    position: fixed;
    top: 115px;
  }
  section.hero.nofixed.fixed .firstview {
    position: absolute;
    top: 0;
  }
  section.hero.nofixed.fixed .wave-container {
    position: absolute;
    top: 28vw;
  }
}
@media (min-width: 768px) and (min-width: 1440px) {
  section.hero.nofixed.fixed .wave-container {
    top: 403.2px;
  }
}
@media (min-width: 768px) {
  section.hero.nofixed::after {
    display: none;
  }
}
section.hero .about {
  z-index: 5;
}
section.hero .hero-contact {
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
@media (max-width: 767.98px) {
  section.hero .hero-contact {
    display: none;
  }
}
@media (min-width: 768px) {
  section.hero .hero-contact {
    font-size: min(1em, 1.3vw);
    position: absolute;
    z-index: 4;
    bottom: -20px;
    left: 0;
    right: 0;
  }
}
section.hero.visible .hero-contact {
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 768px) {
  section.hero .hero-contact__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1110px, 90%);
    margin: 0 auto;
    background-color: rgba(138, 206, 207, 0.95);
    border-radius: 1.25em;
    padding: 1.25em 7.5%;
    gap: 2em;
  }
}
section.hero .hero-contact__text {
  color: white;
}
section.hero .hero-contact__text .hero-contact__title {
  font-size: 225%;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.1em;
}
section.hero .hero-contact__text .hero-contact__desc {
  font-size: 93%;
  font-weight: 500;
  margin-bottom: 0;
}
section.hero .hero-contact__buttons {
  display: flex;
  gap: 1em;
  flex-shrink: 0;
}
section.hero .hero-contact__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  width: 13em;
  text-align: center;
  font-size: 1.2em;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.75em 1.5em;
  border-radius: 3em;
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}
section.hero .hero-contact__btn::after {
  display: none !important;
}
section.hero .hero-contact__btn::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 1.1em;
  height: 1.1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}
section.hero .hero-contact__btn--request {
  background-color: #699E9E;
  color: white;
}
section.hero .hero-contact__btn--request::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M11 2v60h42V18L37 2H11z%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M37 2v16h16%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linecap%3D%22round%22 d%3D%22M21 30h22M21 42h22%22%2F%3E%3C%2Fsvg%3E");
}
section.hero .hero-contact__btn--request:link, section.hero .hero-contact__btn--request:visited, section.hero .hero-contact__btn--request:active {
  color: white;
}
section.hero .hero-contact__btn--request:hover {
  background-color: white;
  color: #699E9E;
  text-decoration: none;
}
section.hero .hero-contact__btn--request:hover::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M11 2v60h42V18L37 2H11z%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M37 2v16h16%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linecap%3D%22round%22 d%3D%22M21 30h22M21 42h22%22%2F%3E%3C%2Fsvg%3E");
}
section.hero .hero-contact__btn--request:hover:link, section.hero .hero-contact__btn--request:hover:visited {
  color: #699E9E;
}
section.hero .hero-contact__btn--contact {
  background-color: white;
  color: #699E9E;
}
section.hero .hero-contact__btn--contact::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12l30 29 30-29M42 31.6L62 52M2 52l20-20.4%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12h60v40H2z%22%2F%3E%3C%2Fsvg%3E");
}
section.hero .hero-contact__btn--contact:link, section.hero .hero-contact__btn--contact:visited, section.hero .hero-contact__btn--contact:active {
  color: #699E9E;
}
section.hero .hero-contact__btn--contact:hover {
  background-color: #699E9E;
  color: white;
  text-decoration: none;
}
section.hero .hero-contact__btn--contact:hover::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12l30 29 30-29M42 31.6L62 52M2 52l20-20.4%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12h60v40H2z%22%2F%3E%3C%2Fsvg%3E");
}
section.hero .hero-contact__btn--contact:hover:link, section.hero .hero-contact__btn--contact:hover:visited {
  color: white;
}

.floating-btn {
  position: fixed;
  z-index: 10;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.floating-btn a {
  display: block;
  background-color: #3792E8;
  color: white;
  text-decoration: none;
  text-align: center;
  padding: 0.5em 2.5em;
  border: 0.2em solid #3792E8;
  border-radius: 0.5em;
  position: relative;
  z-index: 1;
  transition: 0.3s cubic-bezier(0.545, 0.08, 0.52, 0.975);
  box-shadow: 0.15em 0.15em 0.5em 0 rgba(22, 28, 46, 0.1);
}
.floating-btn a:link, .floating-btn a:visited, .floating-btn a:active {
  color: white;
}
.floating-btn a:hover {
  background-color: white;
  color: #3792E8;
}
@media (min-width: 768px) {
  .floating-btn {
    top: calc(1em + 149px);
    right: 1em;
  }
}
@media (max-width: 767.98px) {
  .floating-btn {
    display: none;
    /*bottom: 15px;
    right: 74px;
    left: 74px;*/
  }
}

.content {
  background-color: white;
  position: relative;
  z-index: 4;
}

@media (min-width: 768px) {
  .break {
    padding-left: 0;
  }
  .break img {
    width: 50vw;
    max-width: 560px;
  }
}

.section-title {
  font-weight: 700;
  margin-bottom: 2.5rem;
  position: relative;
}

.section-title-en {
  font-size: 450%;
  font-weight: 700;
  line-height: 1;
  margin-left: -0.15em;
  margin-bottom: 0;
}
@media (max-width: 575.98px) {
  .section-title-en {
    font-size: 12vw;
  }
}

.section-title-ja {
  display: block;
  font-size: 150%;
  font-weight: 500;
  margin-top: 0.25em;
  margin-bottom: 1.5em;
}
@media (max-width: 575.98px) {
  .section-title-ja {
    font-size: 129%;
  }
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}
section.service .image {
  max-width: 450px;
  margin: 0 auto;
}
section.service .image .top {
  display: flex;
  flex-wrap: nowrap;
}
section.service .image .image01 {
  flex: 0 0 54.45%;
  margin-top: 4%;
  position: relative;
}
section.service .image .image01 .bg {
  display: inline-block;
  transition: 1.5s ease-in-out;
  animation: fuwafuwa 3s ease-in-out infinite alternate;
}
section.service .image .image01 .front {
  width: 55.51%;
  position: absolute;
  top: 30%;
  left: 20%;
}
section.service .image .image01 .front img {
  width: 100%;
}
section.service .image .image02 {
  flex: 0 0 56.25%;
  margin-left: -10.7%;
  position: relative;
}
section.service .image .image02 .bg {
  display: inline-block;
  transition: 1.5s ease-in-out;
  animation: fuwafuwa 3s ease-in-out 1s infinite alternate;
}
section.service .image .image02 .front {
  width: 52.96%;
  position: absolute;
  top: 29%;
  left: 22%;
}
section.service .image .image02 .front img {
  width: 100%;
}
section.service .image .image03 {
  margin-top: 1em;
}
section.service .image .image03 img {
  width: 100%;
}

section.for-you .inner-block {
  max-width: 960px;
  margin: 0 auto;
}
section.for-you .box {
  max-width: 450px;
  margin: 0 auto;
}
section.for-you .box figure {
  max-width: 280px;
  text-align: center;
  margin: 0 auto 1.5em;
  position: relative;
}
section.for-you .box figure::before {
  content: "";
  display: block;
  background-color: #eff6f6;
  width: 100%;
  aspect-ratio: 1;
  position: absolute;
  top: -5%;
  left: 0;
  z-index: -1;
}
section.for-you .box figure img {
  max-width: 75%;
}
section.for-you .box h3 {
  font-size: 1.5em;
}
@media (max-width: 575.98px) {
  section.for-you .box h3 {
    font-size: 129%;
  }
}
section.for-you .box01 figure::before {
  border-radius: 42% 58% 50% 50%/42% 36% 64% 58%;
}
section.for-you .box02 figure::before {
  border-radius: 50% 50% 49% 51%/55% 41% 59% 45%;
}
section.for-you .box03 figure::before {
  border-radius: 44% 56% 49% 51%/42% 51% 49% 58%;
}

section.lineup {
  color: white;
  overflow: hidden;
}
section.lineup::before {
  content: "";
  display: block;
  background-color: whitesmoke;
  width: 100vw;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
}
section.lineup .container {
  position: relative;
}
section.lineup .container::before {
  content: "";
  display: block;
  background-color: #99CCCE;
  width: calc(100vw + 6em);
  height: 100%;
  border-radius: 10vw 0 0 0;
  position: absolute;
  top: 0;
  left: -6em;
}
section.lineup .button {
  background-color: white;
  color: #699E9E;
  border-color: white;
}
section.lineup .button::before {
  background-color: #699E9E;
}
section.lineup .button::after {
  background-color: #699E9E;
  color: white;
}
section.lineup .button:hover {
  color: white;
}
section.lineup .button:hover::after {
  background-color: white;
  color: #699E9E;
}
section.lineup .swiper {
  color: #333333;
  font-size: 1.4rem;
}
@media (min-width: 576px) {
  section.lineup .swiper {
    margin: 0 8%;
  }
}
section.lineup .swiper .swiper-slide {
  height: auto;
  overflow: visible;
}
section.lineup .swiper .swiper-slide .inner {
  display: flex;
  flex-direction: column;
  background-color: white;
  color: inherit;
  height: 100%;
  text-decoration: none;
  box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.1);
  border-radius: 2.5em;
  padding: 2em 10% 0;
  transition: all 0.3s cubic-bezier(0.545, 0.08, 0.52, 0.975);
  position: relative;
  overflow: hidden;
}
section.lineup .swiper .swiper-slide .category {
  font-size: 1em;
  margin-bottom: 0.5em;
}
section.lineup .swiper .swiper-slide .category span {
  display: inline-block;
}
section.lineup .swiper .swiper-slide .category span::before {
  content: "●";
  margin-right: 0.5em;
  color: #799ACC;
}
section.lineup .swiper .swiper-slide .category.option span::before {
  color: #EDCB6B;
}
section.lineup .swiper .swiper-slide .category {
  /*span {
    line-height: 1.85714286;
    position: relative;
    display: inline-block;
    height: 1.85714286em;
    padding: 0 1.25em 0 1.875em;
    color: white;
    border-radius: 0.25em 0 0 0.25em;
    background: $theme-color;

    &::before {
      background: white;
      position: absolute;
      top: 0.71428571em;
      left: 0.71428571em;
      width: 0.42857143em;
      height: 0.42857143em;
      content: '';
      border-radius: 0.71428571em;
    }

    &::after {
      position: absolute;
      top: 0;
      left: -0.42857143em;
      width: 0;
      height: 0;
      content: '';
      border-width: 0.9375em 0.57142857em 0.9375em 0;
      border-style: solid;
      border-color: transparent $theme-color transparent transparent;
      border-radius: 0.28571429em;
    }
  }*/
  /*&.category01 span {
    display: inline-block;
    border: 1px solid $theme-color;
    padding: .6em 1em;
    line-height: 1;
    text-decoration: none;
    border-radius: 0.5em;

    &::before {
      content: '●';
      color: $theme-color;
      margin-right: .5em;
    }
  }

  &.category02 span {
    display: inline-block;
    background-color: $theme-color;
    color: #fff;
    padding: .6em 1em;
    line-height: 1;
    text-decoration: none;
    border-radius: 0.5em;

    &::before {
      content: '●';
      margin-right: .5em;
      color: #fff;
    }
  }

  &.category03 span {
    display: inline-block;
    padding: .6em 1em;
    line-height: 1;
    text-decoration: none;
    border-radius: 0.5em;

    &::before {
      content: '●';
      margin-right: .5em;
      color: $blue;
    }
  }

  &.category04 span {
    line-height: 26px;
    position: relative;
    display: inline-block;
    height: 26px;
    padding: 0 20px 0 30px;
    -webkit-transition: color 0.2s;
            transition: color 0.2s;
    text-decoration: none;
    color: white;
    border-radius: 3px 0 0 3px;
    background: $yellow;

    &::before {
      background: white;
      position: absolute;
      top: 10px;
      left: 10px;
      width: 6px;
      height: 6px;
      content: '';
      border-radius: 10px;
    }

    &::after {
      position: absolute;
      top: -2px;
      left: -6px;
      width: 0;
      height: 0;
      content: '';
      border-width: 15px 8px 15px 0;
      border-style: solid;
      border-color: transparent $yellow transparent transparent;
      border-radius: 4px;
    }
  }

  &.category05 span {
    display: inline-block;
    padding: .6em 1em;
    line-height: 1;
    text-decoration: none;
    color: $theme-color;
    background-color: #fff;
    border: 1px solid $theme-color;
    border-left: 5px solid $theme-color;
  }*/
}
section.lineup .swiper .swiper-slide .row {
  justify-content: center;
  align-items: center;
}
section.lineup .swiper .swiper-slide .title {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 6.25em;
  margin-bottom: 0.5em;
}
section.lineup .swiper .swiper-slide .title .number {
  background-color: #99CCCE;
  color: white;
  font-size: 1.6em;
  font-weight: 600;
  width: 2.2em;
  height: 2.2em;
  line-height: 2.2em;
  text-align: center;
  border-radius: 41% 59% 48% 52%/52% 50% 50% 48%;
  margin-right: 1em;
  margin-bottom: 0;
}
section.lineup .swiper .swiper-slide .title h3 {
  font-size: 2.5em;
  line-height: 1.25;
  margin-bottom: 0;
}
@media (max-width: 575.98px) {
  section.lineup .swiper .swiper-slide .title {
    font-size: 1.8vw;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  section.lineup .swiper .swiper-slide .title {
    font-size: 1.1rem;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  section.lineup .swiper .swiper-slide .title {
    font-size: 1.1rem;
  }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  section.lineup .swiper .swiper-slide .title {
    font-size: 1.3rem;
  }
}
section.lineup .swiper .swiper-slide figure {
  text-align: center;
  margin-bottom: 1.5em;
}
section.lineup .swiper .swiper-slide figure img {
  width: 80%;
}
section.lineup .swiper .swiper-slide figure figcaption {
  color: #99CCCE;
  font-size: 1.15em;
  font-weight: 600;
  margin-top: 0.5em;
}
section.lineup .swiper .swiper-slide .desc {
  font-size: 1em;
  margin-bottom: 1.5em;
}
section.lineup .swiper .swiper-slide .more {
  display: block;
  width: 100%;
  color: white;
  padding: 1.5em 0 2.5em;
  margin: auto 0 0;
  text-align: center;
  position: relative;
}
section.lineup .swiper .swiper-slide .more span {
  position: relative;
}
section.lineup .swiper .swiper-slide .more::before {
  content: "";
  display: block;
  background-color: #699E9E;
  width: 200%;
  height: 200%;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s cubic-bezier(0.545, 0.08, 0.52, 0.975);
}
section.lineup .swiper .swiper-slide {
  /*.more {
    display: block;
    margin: auto 0 3em auto;

    //1
    background-color: $theme-color;
    color: white;
    width: 100%;
    max-width: 12em;
    font-weight: 600;
    text-align: center;
    padding: 0.5em 0.5em 0.5em 1em;
    border-radius: 2em;

    span {
      &::after {
        font-family: swiper-icons;
        text-            letter-spacing: 0;
        font-variant: initial;
        line-height: 1;
        content: 'next';
        margin-left: 1em;
      }
    }*/
  /*color: $theme-color;
    font-weight: 600;
    text-align: right;

    span {
      display: inline-flex;
      align-items: center;

      &::after {
        content: "";
        display: inline-block;
        background-color: $theme-color;
        mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20aria-describedby%3D%22desc%22%20aria-labelledby%3D%22title%22%20viewBox%3D%220%200%2064%2064%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%2230%22%20fill%3D%22none%22%20stroke%3D%22%23202020%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%224%22%20data-name%3D%22layer2%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23202020%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%224%22%20d%3D%22M14.002%2032.002h35M36%2021l13%2011-13%2011%22%20data-name%3D%22layer1%22%2F%3E%3C%2Fsvg%3E');
        mask-position: center center;
        mask-repeat: no-repeat;
        mask-size: contain;
        width: 1.8em;
        height: 1.8em;
        margin-left: 1em;
        position: relative;
        top: -0.1em;
      }
    }

    //3 {
    color: $theme-color;
    font-weight: 600;

    span {
      padding: 0 4em 0.5em 0.5em;
      border-bottom: 2px solid;
      position: relative;

      &::after {
        content: "";
        width: 1em;
        height: 1em;
        border-right: 2px solid;
        position: absolute;
        right: 0;
        bottom: 0;
        transform: rotate(-45deg);
        transform-origin: right bottom;
      }
    }
  }*/
}
section.lineup .swiper .swiper-slide .inner:hover img {
  opacity: 1;
}
section.lineup .swiper .swiper-slide .inner:hover .more::before {
  top: 0;
}
@media (max-width: 1199.98px) {
  section.lineup .swiper .swiper-slide .more::before {
    top: 0;
  }
}
section.lineup .swiper {
  /*.slide01 .inner {
    position: relative;
    overflow: hidden;

    .more {
      display: none;
    }

    .go-corner {
      position: absolute;
      width: 12em;
      height: 12em;
      overflow: hidden;
      bottom: 0;
      right: 0;
      //background-color: #00838d;
      background-color: #649698;
      border-radius: 50%;
      transform: translate(50%, 50%);
      transition: all 0.3s $hover-transition;
    }

    .go-arrow {
      font-size: 1.5em;
      color: white;
      font-family: courier, sans;
      position: absolute;
      bottom: calc(50% + 1em);
      right: calc(50% + 1em);
      transition: all 0.3s $hover-transition;
    }

    &:hover {
      .go-corner {
        transform: translate(50%, 50%) scale(1.2);
        .go-arrow { transform: scale(0.8333); }
      }
    }
  }*/
  /*.slide02 .inner {
    border: 0.3em solid white;
    position: relative;
    top: 0;

    &:hover {
      box-shadow: 0px 1em 8px rgba(38, 38, 38, 0.2);
      border-color: #649698;
      top: -1em;
    }
  }*/
  /*.slide03 .inner {
    position: relative;
    overflow: hidden;

    .more {
      display: block;
      width: 100%;
      color: white;
      padding-top: 1.5em;
      position: absolute;
      text-align: center;
      top: 82%;
      left: 0;
    }

    &::before {
      content: "";
      display: block;
      background-color: #649698;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 82%;
      left: 0;
      transform: translateY(20%);
      transition: all 0.3s $hover-transition;
    }

    &:hover {
      &::before {
        transform: translateY(0);
      }
    }
  }*/
  /*.slide04 .inner {

    &:hover {
      background-color: #E6F4F1;
    }
  }*/
  /*.slide05 .inner {

    &:hover {
      background-color: #649698;
      color: white;

      .number {
        background-color: white;
        color: #649698;
      }
      .more {
        color: inherit;
      }
    }
  }*/
}
section.lineup .swiper .swiper-button-next, section.lineup .swiper .swiper-button-prev {
  width: 3em;
  height: 3em;
}
section.lineup .swiper .swiper-button-next::after, section.lineup .swiper .swiper-button-prev::after {
  font-size: 1.2em;
  color: rgba(0, 0, 0, 0.2);
  transition: 0.3s cubic-bezier(0.545, 0.08, 0.52, 0.975);
}
section.lineup .swiper .swiper-button-next:hover::after, section.lineup .swiper .swiper-button-prev:hover::after {
  color: #8acecf;
}
section.lineup .swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #8acecf;
}

section.flow {
  background-color: whitesmoke;
}
section.flow picture {
  display: block;
  text-align: center;
}

section.price {
  color: white;
  overflow: hidden;
}
section.price::before {
  content: "";
  display: block;
  background-color: whitesmoke;
  width: 100vw;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
section.price .container {
  position: relative;
}
section.price .container::before {
  content: "";
  display: block;
  background-color: #8acecf;
  height: 100%;
  border-radius: 5vw;
  position: absolute;
  top: 0;
  right: -6em;
  left: -6em;
}
section.price .container > .inner {
  max-width: 960px;
  margin: 0 auto;
}
section.price .price-box {
  white-space: nowrap;
  border: 0.25em solid white;
  border-radius: 1.25em;
  overflow: hidden;
}
section.price .price-box .initial, section.price .price-box .running {
  text-align: center;
  padding: 1.5em 1em;
}
section.price .price-box .initial > .inner, section.price .price-box .running > .inner {
  display: inline-flex;
  align-items: center;
}
section.price .price-box .initial h3, section.price .price-box .running h3 {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: 0.1em;
  padding: 0.75em 0.75em 0.65em 0.85em;
  border-radius: 0.5em;
  margin-right: 0.75em;
  margin-bottom: 0;
}
section.price .price-box .initial .value, section.price .price-box .running .value {
  display: inline-block;
  text-align: right;
}
section.price .price-box .initial .value p, section.price .price-box .running .value p {
  font-size: 2.7em;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 0;
}
section.price .price-box .initial .value p small, section.price .price-box .running .value p small {
  font-size: 70%;
  font-weight: 700;
}
section.price .price-box .initial .notes, section.price .price-box .running .notes {
  font-size: 87.5%;
  font-weight: 400;
  margin-top: 0.25em;
}
section.price .price-box .initial h3 {
  background-color: white;
  color: #99CCCE;
}
section.price .price-box .running {
  background-color: white;
  color: #99CCCE;
}
section.price .price-box .running h3 {
  background-color: #99CCCE;
  color: white;
}
@media (max-width: 575.98px) {
  section.price .price-box {
    font-size: 3.3vw;
  }
}
@media (max-width: 767.98px) {
  section.price .price-box .initial .inner, section.price .price-box .running .inner {
    width: 19.45em;
  }
}
@media (min-width: 768px) {
  section.price .price-box {
    display: flex;
    align-items: center;
  }
  section.price .price-box .initial, section.price .price-box .running {
    flex-basis: 0;
    flex-grow: 1;
  }
}
section.price .notes {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-top: 1.5em;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  section.price .notes {
    text-align: left;
  }
}
@media (min-width: 768px) {
  section.price .notes {
    text-align: right;
  }
  section.price .notes span {
    display: inline-block;
  }
}

section.price-contact {
  color: white;
  text-align: center;
  overflow: hidden;
}
section.price-contact::before {
  content: "";
  display: block;
  background-color: whitesmoke;
  width: 100vw;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
section.price-contact .container {
  position: relative;
}
section.price-contact .container::before {
  content: "";
  display: block;
  background-color: #8acecf;
  height: 100%;
  border-radius: 5vw;
  position: absolute;
  top: 0;
  right: -6em;
  left: -6em;
}
section.price-contact .container > .inner {
  max-width: 960px;
  margin: 0 auto;
}
section.price-contact .section-title-en {
  font-size: 500%;
  margin-left: 0;
}
@media (max-width: 575.98px) {
  section.price-contact .section-title-en {
    font-size: 13.5vw;
  }
}
section.price-contact .section-title-ja {
  margin-top: 0.25em;
  margin-bottom: 0;
}
section.price-contact .contact-btn {
  display: inline-block;
  background-color: white;
  color: #699E9E;
  font-size: 1.8rem;
  font-weight: 700;
  text-decoration: none;
  padding: 0.75em 4em;
  border-radius: 3em;
}
@media (max-width: 575.98px) {
  section.price-contact .contact-btn {
    font-size: 2.52vw;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  section.price-contact .contact-btn {
    font-size: 1.44rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  section.price-contact .contact-btn {
    font-size: 1.62rem;
  }
}
section.price-contact .contact-btn:hover {
  background-color: #699E9E;
  color: white;
}
section.price-contact .button {
  background-color: white;
  color: #699E9E;
  border-color: white;
  font-size: 2.4rem;
}
@media (max-width: 575.98px) {
  section.price-contact .button {
    font-size: 3.8vw;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  section.price-contact .button {
    font-size: 1.8rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  section.price-contact .button {
    font-size: 2.1rem;
  }
}
section.price-contact .button::before {
  background-color: #699E9E;
}
section.price-contact .button::after {
  background-color: #699E9E;
  color: white;
}
section.price-contact .button:hover {
  color: white;
}
section.price-contact .button:hover::after {
  background-color: white;
  color: #699E9E;
}

section.faq .faq-list {
  max-width: 960px;
  margin: 0 auto;
  border-top: none;
  border-bottom: none;
}
section.faq .faq-list dl {
  box-shadow: 0 0 1.5em 0 rgba(51, 51, 51, 0.1);
  border-radius: 1.5em;
}
section.faq .faq-list dl dt::before, section.faq .faq-list dl dd::before {
  font-family: inherit;
  margin-top: 0;
}
section.faq .faq-list dl dt {
  font-weight: 600;
  padding: 2em;
  cursor: pointer;
}
section.faq .faq-list dl dt::before {
  color: #99CCCE;
}
section.faq .faq-list dl dt i {
  align-self: center;
  background-color: #808080;
  flex: 0 0 2em;
  max-width: 2em;
  width: 2em;
  height: 2em;
  border-radius: 50%;
}
section.faq .faq-list dl dt i::before, section.faq .faq-list dl dt i::after {
  background-color: white;
  transform: translate(-50%, -50%);
}
section.faq .faq-list dl dt i::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
section.faq .faq-list dl dt.open i::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
section.faq .faq-list dl dd {
  background-color: inherit;
  padding: 0 2em 2em;
}
section.faq .faq-list dl dd::before {
  color: #C7E3E4;
}
section.faq .faq-list dl + dl {
  border-top: none;
  margin-top: 2em;
}
@media (max-width: 575.98px) {
  section.faq .faq-list dl dt::before, section.faq .faq-list dl dd::before {
    margin-left: 0;
    margin-right: 0.5em;
  }
  section.faq .faq-list dl dt {
    padding: 1.5em 1em;
  }
  section.faq .faq-list dl dt i {
    margin-left: 0.75em;
  }
  section.faq .faq-list dl dd {
    padding: 0 1em 1.5em;
  }
}

section.column {
  overflow: hidden;
}
section.column::before {
  content: "";
  display: block;
  background-color: whitesmoke;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 5vw;
}
section.column .container {
  position: relative;
}
section.column .blog_list .blog_block a .column-image {
  border-radius: 0.5em;
}
section.column .blog_list .blog_block a .title {
  font-size: 100%;
}
section.column .blog_list .blog_block .tags li a {
  border-color: #699E9E;
  color: #699E9E;
}
section.column .blog_list .blog_block .tags li a:hover {
  background-color: #699E9E;
  color: white;
}

section.news ul.news-list {
  border-top: none;
  background-color: whitesmoke;
  padding: 3em 2em;
  border-radius: 1em;
}
section.news ul.news-list li {
  border-bottom: none;
}
section.news ul.news-list li .item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}
section.news ul.news-list li .item .info {
  display: flex;
  align-items: center;
  white-space: nowrap;
  margin-right: 2em;
}
section.news ul.news-list li .item .date {
  font-size: 100%;
  flex: 0 0 7em;
  width: 7em;
  text-align: left;
  margin-bottom: 0;
}
section.news ul.news-list li .item .category {
  background-color: #99CCCE;
  color: white;
  font-size: 86%;
  font-weight: 600;
  line-height: 1.5;
  flex: 0 0 12em;
  width: 12em;
  text-align: center;
  padding: 0.25em;
  margin-bottom: 0;
  border-radius: 0.5em;
}
section.news ul.news-list li .item .category.topics {
  background-color: #99CCCE;
}
section.news ul.news-list li .item .category.event {
  background-color: #EDCB6B;
}
section.news ul.news-list li .item .category.newsrelease {
  background-color: #799ACC;
}
section.news ul.news-list li .item .title {
  font-size: 100%;
  margin-bottom: 0;
}
section.news ul.news-list li .item a {
  text-decoration: underline;
  padding: 0;
}
section.news ul.news-list li .item a:hover {
  color: #cd0033;
}
@media (max-width: 480px) {
  section.news ul.news-list li .item {
    font-size: 3vw;
  }
}
@media (max-width: 767.98px) {
  section.news ul.news-list li .item .info {
    flex: 0 0 100%;
    width: 100%;
    margin-bottom: 1em;
  }
}
section.news ul.news-list li div.item .icon {
  display: none;
}
@media (max-width: 767.98px) {
  section.news ul.news-list li div.item .title {
    flex: 0 0 100%;
    width: 100%;
  }
}
section.news ul.news-list li a.item .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #cdcccc;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  margin-left: 1em;
  transition: 0.3s cubic-bezier(0.545, 0.08, 0.52, 0.975);
}
section.news ul.news-list li a.item .icon::before {
  content: "";
  display: block;
  background-color: white;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20viewBox%3D%220%200%2017.24%209.27%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A1.32px%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22m12.61.66%203.97%203.97-3.97%203.97M.66%204.63h15.92%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20viewBox%3D%220%200%2017.24%209.27%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A1.32px%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22m12.61.66%203.97%203.97-3.97%203.97M.66%204.63h15.92%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 1em;
  height: 1em;
}
section.news ul.news-list li a.item:hover .icon {
  background-color: #99CCCE;
  transform: scale(1.1);
}
@media (max-width: 767.98px) {
  section.news ul.news-list li a.item .title {
    flex: 0 0 calc(100% - 4em);
    width: calc(100% - 4em);
  }
  section.news ul.news-list li a.item .icon {
    position: absolute;
    top: 50%;
    right: 2em;
    margin-top: -1.5em;
  }
}
section.news ul.news-list li + li {
  margin-top: 2em;
}

section.contact {
  color: white;
  text-align: center;
  overflow: hidden;
}
section.contact::before {
  content: "";
  display: block;
  background: #99CCCE url("./../../../../uploads/sites/10/contact-bg.png") no-repeat 50% 20%/cover;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 5vw 5vw 0 0;
}
section.contact .container {
  position: relative;
}
section.contact .section-title-en {
  font-size: 500%;
  margin-left: 0;
}
@media (max-width: 575.98px) {
  section.contact .section-title-en {
    font-size: 13.5vw;
  }
}
section.contact .contact-btn {
  display: inline-block;
  background-color: white;
  color: #699E9E;
  font-size: 3rem;
  font-weight: 700;
  text-decoration: none;
  padding: 0.75em 4em;
  border-radius: 3em;
}
@media (max-width: 575.98px) {
  section.contact .contact-btn {
    font-size: 4.2vw;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  section.contact .contact-btn {
    font-size: 2.4rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  section.contact .contact-btn {
    font-size: 2.7rem;
  }
}
section.contact .contact-btn:hover {
  background-color: #699E9E;
  color: white;
}
section.contact .button {
  background-color: white;
  color: #699E9E;
  border-color: white;
  font-size: 2.4rem;
}
@media (max-width: 575.98px) {
  section.contact .button {
    font-size: 3.8vw;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  section.contact .button {
    font-size: 1.8rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  section.contact .button {
    font-size: 2.1rem;
  }
}
section.contact .button::before {
  background-color: #699E9E;
}
section.contact .button::after {
  background-color: #699E9E;
  color: white;
}
section.contact .button:hover {
  color: white;
}
section.contact .button:hover::after {
  background-color: white;
  color: #699E9E;
}

section.lineup-detail {
  overflow: hidden;
}
section.lineup-detail:focus, section.lineup-detail:target {
  outline: none;
  border: none;
}
section.lineup-detail .bg-icon {
  background-position: center;
  width: 55vw;
  height: 40vw;
  position: absolute;
  top: -5vw;
  left: -5vw;
  transition-delay: 300ms;
}
section.lineup-detail .bg-icon.aos-animate {
  opacity: 0.1;
}
section.lineup-detail .category {
  margin-bottom: 0.5em;
}
section.lineup-detail .category::before {
  content: "●";
  margin-right: 0.5em;
  color: #799ACC;
}
section.lineup-detail .category.option::before {
  color: #EDCB6B;
}
section.lineup-detail .section-title {
  font-size: 3em;
  font-weight: 900;
  line-height: 1.25;
  text-align: left;
  margin-bottom: 0;
}
@media (max-width: 575.98px) {
  section.lineup-detail .section-title {
    font-size: 7.2vw;
  }
}
section.lineup-detail .section-sub-title {
  font-size: 150%;
  margin-top: 0.5em;
}
@media (max-width: 575.98px) {
  section.lineup-detail .section-sub-title {
    font-size: 129%;
  }
}
section.lineup-detail .youtube-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
section.lineup-detail .youtube-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
section.lineup-detail picture {
  display: block;
  text-align: center;
  position: relative;
}
section.lineup-detail picture img {
  width: 100%;
  max-width: 960px;
}
section.lineup-detail dl {
  position: relative;
  margin-bottom: 0;
}
section.lineup-detail dl dt {
  color: #699E9E;
  font-size: 129%;
  line-height: 1.4;
}
@media (max-width: 575.98px) {
  section.lineup-detail dl dt {
    font-size: 115%;
  }
}
section.lineup-detail dl dd {
  line-height: 1.8;
  position: relative;
  overflow: hidden;
  transition: height 0.3s ease-in-out;
}
@media (min-width: 768px) {
  section.lineup-detail dl .icon {
    display: block;
    width: 3em;
    height: 1.5em;
    cursor: pointer;
    text-align: center;
    margin: 0 auto 0;
    position: relative;
  }
  section.lineup-detail dl .icon::before {
    content: "";
    display: inline-block;
    background-color: #99CCCE;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.38%207.68%22%3E%3Cpath%20d%3D%22M6.19%207.68c-.62%200-1.22-.3-1.64-.83L0%201.1%201.4%200l4.55%205.75c.16.2.34.2.5%200L10.99%200l1.39%201.1-4.55%205.75c-.42.53-1.02.83-1.64.83Z%22%20style%3D%22fill%3A%238acecf%22%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.38%207.68%22%3E%3Cpath%20d%3D%22M6.19%207.68c-.62%200-1.22-.3-1.64-.83L0%201.1%201.4%200l4.55%205.75c.16.2.34.2.5%200L10.99%200l1.39%201.1-4.55%205.75c-.42.53-1.02.83-1.64.83Z%22%20style%3D%22fill%3A%238acecf%22%2F%3E%3C%2Fsvg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    width: 1em;
    height: 1em;
    transition: 0.3s;
  }
  section.lineup-detail dl .dd-content {
    max-height: 3.6em;
    overflow: hidden;
    transition: max-height 0.5s ease;
    position: relative;
  }
  section.lineup-detail dl .dd-content::after {
    content: "";
    display: block;
    background: linear-gradient(to top, white 0%, transparent);
    width: 100%;
    height: 1.8em;
    position: absolute;
    bottom: 0;
  }
  section.lineup-detail dl .dd-content.collapsed {
    cursor: pointer;
  }
  section.lineup-detail dl .dd-content.expanded {
    max-height: 500px;
  }
  section.lineup-detail dl .dd-content.expanded::after {
    height: 0;
  }
  section.lineup-detail dl .dd-content.expanded + .icon {
    margin-top: 0.5em;
  }
  section.lineup-detail dl .dd-content.expanded + .icon::before {
    transform: rotate(180deg);
  }
}
section.lineup-detail dl dd + dt {
  border-top-width: 1px;
  border-top-style: solid;
  margin-top: 1em;
  padding-top: 1em;
}
section.lineup-detail dl + dl {
  margin-top: 1.5em;
}
section.lineup-detail dl.function dt, section.lineup-detail dl.support dt {
  padding-left: 1.5em;
}
section.lineup-detail dl.function dt::before, section.lineup-detail dl.support dt::before {
  content: "";
  display: inline-block;
  background-position: center;
  vertical-align: middle;
  margin-left: -1.5em;
  position: relative;
}
section.lineup-detail dl.function dt::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22check%22%20viewBox%3D%220%200%2022.84%2021.29%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2357a09f%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M10.64%2021.29C4.77%2021.29%200%2016.51%200%2010.64S4.77%200%2010.64%200s10.64%204.77%2010.64%2010.64-4.77%2010.64-10.64%2010.64Zm0-19.99c-5.15%200-9.34%204.19-9.34%209.34s4.19%209.34%209.34%209.34%209.34-4.19%209.34-9.34S15.8%201.3%2010.64%201.3Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20d%3D%22M9.32%2015.19c-.17%200-.33-.06-.46-.19l-3.07-3.07c-.25-.25-.25-.67%200-.92s.67-.25.92%200l2.61%202.61L21.73%201.21c.25-.25.67-.25.92%200s.25.67%200%20.92L9.78%2015c-.13.13-.29.19-.46.19Z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E");
  width: 1.15em;
  height: 1.05em;
  margin-right: 0.35em;
  top: -0.1em;
}
section.lineup-detail dl.function dd + dt {
  border-color: rgba(0, 0, 0, 0.1);
}
section.lineup-detail dl.support {
  padding: 1.5em 0;
}
section.lineup-detail dl.support::before {
  content: "";
  display: block;
  background-color: #ebf3f3;
  position: absolute;
  top: 0;
  right: -2em;
  bottom: 0;
  left: -2em;
  border-radius: 1em;
}
section.lineup-detail dl.support dt {
  position: relative;
}
section.lineup-detail dl.support dt::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2026.07%2033.88%22%3E%3Cpath%20d%3D%22M7%206.05c.14.21.42.27.63.13.21-.14.27-.42.13-.64L6.43%203.42a.46.46%200%200%200-.39-.21c-.08%200-.17.03-.24.08-.21.14-.27.42-.13.64L7%206.05ZM12.37%204.71c.07.05.15.07.24.07.25%200%20.46-.2.46-.45L13.1.47c0-.25-.2-.46-.45-.46s-.46.2-.46.45l-.03%203.86c0%20.16.08.31.21.39ZM17.67%206.57a.451.451%200%200%200%20.63-.15l1.28-2.13c.13-.22.06-.5-.15-.63a.464.464%200%200%200-.63.15l-1.28%202.13c-.13.22-.06.5.15.63ZM22.13%209.76c.14.05.31.03.44-.07l3.33-2.6c.2-.15.24-.44.08-.64a.45.45%200%200%200-.64-.08l-3.33%202.6a.45.45%200%200%200-.08.64c.06.07.13.12.21.15ZM.18%207.09l2.98%202.34c.2.15.49.12.64-.08.15-.2.12-.49-.08-.64L.74%206.36a.466.466%200%200%200-.65.08c-.15.2-.12.49.08.64ZM7.35%2023.61c.11.13.22.25.33.38.43.48.83.93%201.15%201.46.39.64.67%201.35.83%202.12.05.22.25.38.48.38.03%200%20.07%200%20.1-.01.13-.03.24-.1.31-.21.07-.11.09-.24.07-.37-.19-.88-.51-1.69-.95-2.42-.36-.6-.81-1.11-1.25-1.6-.11-.12-.21-.24-.32-.36-1.32-1.52-2.08-2.88-2.38-4.26-.32-1.45-.14-3.03.52-4.58.51-1.18%201.27-2.19%202.22-2.92%201.16-.9%202.57-1.44%203.95-1.52.13%200%20.26-.01.39-.01%201.34%200%202.72.42%203.89%201.19%201.03.69%201.89%201.64%202.48%202.77.6%201.16.91%202.47.9%203.79-.02%201.47-.59%203.01-1.65%204.47-.38.51-.79.98-1.24%201.47h-.01c-.12.15-.24.28-.36.42-.65.73-1.12%201.49-1.44%202.32-.15.39-.27.8-.36%201.23a.487.487%200%200%200%20.38.58c.03%200%20.07.01.1.01.23%200%20.43-.16.48-.39.08-.38.19-.75.32-1.09a6.6%206.6%200%200%201%201.26-2.02c.12-.13.24-.27.36-.4h.01c.44-.5.89-1.01%201.3-1.56%201.18-1.62%201.82-3.36%201.84-5.03.02-1.49-.33-2.96-1-4.26a8.315%208.315%200%200%200-2.81-3.13c-1.32-.87-2.89-1.36-4.42-1.36-.15%200-.31%200-.46.01-1.58.1-3.17.71-4.49%201.72-1.08.83-1.95%201.98-2.52%203.31-.74%201.73-.94%203.52-.58%205.17.34%201.55%201.17%203.04%202.6%204.69ZM9.73%2030.7h.03s.06.01.08.02c.05%200%20.1.02.15.02%201.88%200%203.77%200%205.65-.01.17%200%20.28%200%20.34-.07.06-.06.06-.17.06-.33%200-.26-.07-.32-.34-.32-1.83%200-3.67%200-5.51.01-.11%200-.22%200-.33.02-.15.02-.23.11-.21.25v.26c0%20.04.03.08.04.11%200%20.01.01.02.02.04v.02ZM15.9%2028.65c-.07-.01-.13-.02-.2-.02H9.96c-.07%200-.25.07-.26.16%200%20.03%200%20.06-.01.09-.02.13-.04.27.06.4.01.01.02.02.04.03%200%200%20.02%200%20.03.02h.02s.04.01.06.01c.05%200%20.11.01.17.01h5.67c.14%200%20.21-.02.26-.07.05-.05.07-.12.07-.25v-.15c.01-.12-.05-.2-.17-.23ZM12.83%2033.88h.02c1.4%200%202.6-.72%203.14-1.85.07-.16.06-.33-.03-.48a.487.487%200%200%200-.41-.23h-5.39c-.17.01-.32.1-.41.25-.09.15-.1.33-.02.48.56%201.11%201.77%201.83%203.1%201.83Zm2.42-1.89c-.48.75-1.37%201.21-2.4%201.22-.97%200-1.87-.46-2.37-1.2h4.76Z%22%20style%3D%22fill%3A%2357a09f%22%2F%3E%3Cpath%20d%3D%22M16.87%2013.95a.389.389%200%200%200%20.52.17c.19-.1.26-.33.16-.52-.58-1.1-1.6-1.88-2.8-2.15a.38.38%200%200%200-.46.29c-.05.21.08.41.29.46.98.22%201.82.86%202.29%201.76Z%22%20style%3D%22fill%3A%2357a09f%22%2F%3E%3C%2Fsvg%3E");
  width: 1.3em;
  height: 1.7em;
  margin-right: 0.2em;
  top: -0.3em;
}
section.lineup-detail dl.support dd {
  position: relative;
}
section.lineup-detail dl.support .dd-content::after {
  background: linear-gradient(to top, #ebf3f3 0%, transparent);
}
section.lineup-detail dl.support dd + dt {
  border-color: #99CCCE;
}
section.lineup-detail#detail02 {
  background-color: #fafafa;
}
section.lineup-detail#detail02 dl.function .dd-content::after {
  background: linear-gradient(to top, #fafafa 0%, transparent);
}
section.lineup-detail#detail04 {
  background-color: #fafafa;
}
section.lineup-detail#detail04 dl.function .dd-content::after {
  background: linear-gradient(to top, #fafafa 0%, transparent);
}
section.lineup-detail#detail05 .box {
  padding: 2em 0;
  position: relative;
}
section.lineup-detail#detail05 .box::before {
  content: "";
  display: block;
  background-color: #ebf3f3;
  position: absolute;
  top: 0;
  right: -2em;
  bottom: 0;
  left: -2em;
  border-radius: 1em;
}
section.lineup-detail#detail05 .box + .box {
  margin-top: 1.5em;
}
section.lineup-detail#detail05 h3 {
  color: #699E9E;
  font-size: 1.5em;
  padding-left: 1.5em;
  margin-bottom: 0;
  position: relative;
}
section.lineup-detail#detail05 h3::before {
  content: "";
  display: inline-block;
  background-position: center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2026.07%2033.88%22%3E%3Cpath%20d%3D%22M7%206.05c.14.21.42.27.63.13.21-.14.27-.42.13-.64L6.43%203.42a.46.46%200%200%200-.39-.21c-.08%200-.17.03-.24.08-.21.14-.27.42-.13.64L7%206.05ZM12.37%204.71c.07.05.15.07.24.07.25%200%20.46-.2.46-.45L13.1.47c0-.25-.2-.46-.45-.46s-.46.2-.46.45l-.03%203.86c0%20.16.08.31.21.39ZM17.67%206.57a.451.451%200%200%200%20.63-.15l1.28-2.13c.13-.22.06-.5-.15-.63a.464.464%200%200%200-.63.15l-1.28%202.13c-.13.22-.06.5.15.63ZM22.13%209.76c.14.05.31.03.44-.07l3.33-2.6c.2-.15.24-.44.08-.64a.45.45%200%200%200-.64-.08l-3.33%202.6a.45.45%200%200%200-.08.64c.06.07.13.12.21.15ZM.18%207.09l2.98%202.34c.2.15.49.12.64-.08.15-.2.12-.49-.08-.64L.74%206.36a.466.466%200%200%200-.65.08c-.15.2-.12.49.08.64ZM7.35%2023.61c.11.13.22.25.33.38.43.48.83.93%201.15%201.46.39.64.67%201.35.83%202.12.05.22.25.38.48.38.03%200%20.07%200%20.1-.01.13-.03.24-.1.31-.21.07-.11.09-.24.07-.37-.19-.88-.51-1.69-.95-2.42-.36-.6-.81-1.11-1.25-1.6-.11-.12-.21-.24-.32-.36-1.32-1.52-2.08-2.88-2.38-4.26-.32-1.45-.14-3.03.52-4.58.51-1.18%201.27-2.19%202.22-2.92%201.16-.9%202.57-1.44%203.95-1.52.13%200%20.26-.01.39-.01%201.34%200%202.72.42%203.89%201.19%201.03.69%201.89%201.64%202.48%202.77.6%201.16.91%202.47.9%203.79-.02%201.47-.59%203.01-1.65%204.47-.38.51-.79.98-1.24%201.47h-.01c-.12.15-.24.28-.36.42-.65.73-1.12%201.49-1.44%202.32-.15.39-.27.8-.36%201.23a.487.487%200%200%200%20.38.58c.03%200%20.07.01.1.01.23%200%20.43-.16.48-.39.08-.38.19-.75.32-1.09a6.6%206.6%200%200%201%201.26-2.02c.12-.13.24-.27.36-.4h.01c.44-.5.89-1.01%201.3-1.56%201.18-1.62%201.82-3.36%201.84-5.03.02-1.49-.33-2.96-1-4.26a8.315%208.315%200%200%200-2.81-3.13c-1.32-.87-2.89-1.36-4.42-1.36-.15%200-.31%200-.46.01-1.58.1-3.17.71-4.49%201.72-1.08.83-1.95%201.98-2.52%203.31-.74%201.73-.94%203.52-.58%205.17.34%201.55%201.17%203.04%202.6%204.69ZM9.73%2030.7h.03s.06.01.08.02c.05%200%20.1.02.15.02%201.88%200%203.77%200%205.65-.01.17%200%20.28%200%20.34-.07.06-.06.06-.17.06-.33%200-.26-.07-.32-.34-.32-1.83%200-3.67%200-5.51.01-.11%200-.22%200-.33.02-.15.02-.23.11-.21.25v.26c0%20.04.03.08.04.11%200%20.01.01.02.02.04v.02ZM15.9%2028.65c-.07-.01-.13-.02-.2-.02H9.96c-.07%200-.25.07-.26.16%200%20.03%200%20.06-.01.09-.02.13-.04.27.06.4.01.01.02.02.04.03%200%200%20.02%200%20.03.02h.02s.04.01.06.01c.05%200%20.11.01.17.01h5.67c.14%200%20.21-.02.26-.07.05-.05.07-.12.07-.25v-.15c.01-.12-.05-.2-.17-.23ZM12.83%2033.88h.02c1.4%200%202.6-.72%203.14-1.85.07-.16.06-.33-.03-.48a.487.487%200%200%200-.41-.23h-5.39c-.17.01-.32.1-.41.25-.09.15-.1.33-.02.48.56%201.11%201.77%201.83%203.1%201.83Zm2.42-1.89c-.48.75-1.37%201.21-2.4%201.22-.97%200-1.87-.46-2.37-1.2h4.76Z%22%20style%3D%22fill%3A%2357a09f%22%2F%3E%3Cpath%20d%3D%22M16.87%2013.95a.389.389%200%200%200%20.52.17c.19-.1.26-.33.16-.52-.58-1.1-1.6-1.88-2.8-2.15a.38.38%200%200%200-.46.29c-.05.21.08.41.29.46.98.22%201.82.86%202.29%201.76Z%22%20style%3D%22fill%3A%2357a09f%22%2F%3E%3C%2Fsvg%3E");
  vertical-align: middle;
  margin-left: -1.5em;
  position: relative;
  width: 1.3em;
  height: 1.7em;
  margin-right: 0.2em;
  top: -0.3em;
}
section.lineup-detail#detail05 h3 + dl {
  margin-top: 1.71em;
}
@media (max-width: 575.98px) {
  section.lineup-detail#detail05 h3 {
    font-size: 172%;
  }
  section.lineup-detail#detail05 h3 + dl {
    margin-top: 1.29em;
  }
}
section.lineup-detail#detail05 dl {
  position: relative;
}
section.lineup-detail#detail05 dl dt {
  color: #699E9E;
}
section.lineup-detail#detail05 dl .dd-content::after {
  background: linear-gradient(to top, #ebf3f3 0%, transparent);
}
section.lineup-detail#detail05 dl dd + dt {
  border-color: rgba(0, 0, 0, 0.1);
}

.zt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  width: 13em;
  font-weight: 700;
  font-size: 2.4rem;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.75em 1.5em;
  border-radius: 3em;
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}
@media (max-width: 575.98px) {
  .zt-btn {
    font-size: 3.8vw;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .zt-btn {
    font-size: 1.8rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .zt-btn {
    font-size: 2.1rem;
  }
}
.zt-btn::after {
  display: none !important;
}
.zt-btn::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 1.1em;
  height: 1.1em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}
.zt-btn--request {
  background-color: #699E9E;
  color: white;
}
.zt-btn--request::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M11 2v60h42V18L37 2H11z%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M37 2v16h16%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linecap%3D%22round%22 d%3D%22M21 30h22M21 42h22%22%2F%3E%3C%2Fsvg%3E");
}
.zt-btn--request:link, .zt-btn--request:visited, .zt-btn--request:active {
  color: white;
}
.zt-btn--request:hover {
  background-color: white;
  color: #699E9E;
  text-decoration: none;
}
.zt-btn--request:hover::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M11 2v60h42V18L37 2H11z%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M37 2v16h16%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linecap%3D%22round%22 d%3D%22M21 30h22M21 42h22%22%2F%3E%3C%2Fsvg%3E");
}
.zt-btn--request:hover:link, .zt-btn--request:hover:visited {
  color: #699E9E;
}
.zt-btn--contact {
  background-color: white;
  color: #699E9E;
}
.zt-btn--contact::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12l30 29 30-29M42 31.6L62 52M2 52l20-20.4%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12h60v40H2z%22%2F%3E%3C%2Fsvg%3E");
}
.zt-btn--contact:link, .zt-btn--contact:visited, .zt-btn--contact:active {
  color: #699E9E;
}
.zt-btn--contact:hover {
  background-color: #699E9E;
  color: white;
  text-decoration: none;
}
.zt-btn--contact:hover::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12l30 29 30-29M42 31.6L62 52M2 52l20-20.4%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12h60v40H2z%22%2F%3E%3C%2Fsvg%3E");
}
.zt-btn--contact:hover:link, .zt-btn--contact:hover:visited {
  color: white;
}

section.price-contact .contact-buttons,
section.contact .contact-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
}

@media (min-width: 768px) {
  .floating-btn .floating-btn__request,
  .floating-btn .floating-btn__contact {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .floating-btn {
    display: block;
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .floating-btn > a {
    display: none;
  }
  .floating-btn .floating-btn__inner {
    display: flex;
    width: 90%;
    margin: 0 auto;
    background-color: #8acecf;
    border-radius: 1.25em;
    padding: 1em 5%;
    gap: 0.75em;
    justify-content: center;
  }
  .floating-btn .floating-btn__request,
  .floating-btn .floating-btn__contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
    flex: 1;
    font-weight: 700;
    font-size: min(1em, 3.8vw);
    text-decoration: none;
    white-space: nowrap;
    padding: 0.75em 1em;
    border-radius: 3em;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: background-color 0.3s ease, color 0.3s ease;
    cursor: pointer;
  }
  .floating-btn .floating-btn__request:hover,
  .floating-btn .floating-btn__contact:hover {
    text-decoration: none;
  }
  .floating-btn .floating-btn__request::before,
  .floating-btn .floating-btn__contact::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 1.1em;
    height: 1.1em;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    vertical-align: middle;
  }
  .floating-btn .floating-btn__request {
    background-color: #699E9E;
    color: white;
  }
  .floating-btn .floating-btn__request::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M11 2v60h42V18L37 2H11z%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M37 2v16h16%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linecap%3D%22round%22 d%3D%22M21 30h22M21 42h22%22%2F%3E%3C%2Fsvg%3E");
  }
  .floating-btn .floating-btn__request:link, .floating-btn .floating-btn__request:visited, .floating-btn .floating-btn__request:active {
    color: white;
  }
  .floating-btn .floating-btn__request:hover {
    background-color: white;
    color: #699E9E;
  }
  .floating-btn .floating-btn__request:hover::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M11 2v60h42V18L37 2H11z%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M37 2v16h16%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linecap%3D%22round%22 d%3D%22M21 30h22M21 42h22%22%2F%3E%3C%2Fsvg%3E");
  }
  .floating-btn .floating-btn__request:hover:link, .floating-btn .floating-btn__request:hover:visited {
    color: #699E9E;
  }
  .floating-btn .floating-btn__contact {
    background-color: white;
    color: #699E9E;
  }
  .floating-btn .floating-btn__contact::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12l30 29 30-29M42 31.6L62 52M2 52l20-20.4%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23699E9E%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12h60v40H2z%22%2F%3E%3C%2Fsvg%3E");
  }
  .floating-btn .floating-btn__contact:link, .floating-btn .floating-btn__contact:visited, .floating-btn .floating-btn__contact:active {
    color: #699E9E;
  }
  .floating-btn .floating-btn__contact:hover {
    background-color: #699E9E;
    color: white;
  }
  .floating-btn .floating-btn__contact:hover::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 64 64%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12l30 29 30-29M42 31.6L62 52M2 52l20-20.4%22%2F%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%224%22 stroke-linejoin%3D%22round%22 stroke-linecap%3D%22round%22 d%3D%22M2 12h60v40H2z%22%2F%3E%3C%2Fsvg%3E");
  }
  .floating-btn .floating-btn__contact:hover:link, .floating-btn .floating-btn__contact:hover:visited {
    color: white;
  }
}
/*# sourceMappingURL=zerotrust.css.map */