@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.cdnfonts.com/css/oceanwide");
*,
*::before,
*::after {
  box-sizing: border-box;
}

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

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

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

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

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

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
:root {
  --inner-padding-inline: 1.5rem;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
@media screen and (max-width: 1200px) {
  html {
    font-size: clamp(56.2%, 9px + (100vw - 768px) / 432, 62.5%);
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: clamp(56.25%, 1.3020833333vw, 62.5%);
  }
}

body {
  position: relative;
  color: #404040;
  font-size: 1.6rem;
  font-weight: normal;
  font-family: "Noto Sans JP", "YuGothic", "Yu Gothic", "游ゴシック", "Hiragino Sans", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 0.048rem;
  line-height: 1.8;
  background-color: #FAFAFA;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden;
}

a {
  color: #404040;
  text-decoration: none;
  display: inline-block;
}

em {
  color: #002659;
  font-weight: bold;
  font-style: normal;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

picture {
  display: block;
}

button {
  cursor: pointer;
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

table {
  border-collapse: collapse;
}

.pc-view {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-view {
    display: none;
  }
}

.sp-view {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-view {
    display: block;
  }
}

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

.text-font-en {
  font-family: "Oceanwide", sans-serif;
}

.js-scroll-text-char {
  display: inline-block;
}

.is-scroll-anim .js-scroll-text-chars,
.is-scroll-anim .js-scroll-fade-up-target {
  opacity: 0;
}

.l-header {
  background-color: #FAFAFA;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
.l-header__inner {
  flex-direction: column;
  width: 100%;
}
.l-header__inner.pc-view {
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-header__inner.pc-view {
    display: none;
  }
}
.l-header__inner.sp-view {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header__inner.sp-view {
    display: flex;
    min-width: 0;
    max-width: 100%;
  }
}
.l-header__top-parts {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 6.8rem;
  padding: 0 var(--inner-padding-inline);
  border-bottom: 1px solid #002659;
  position: relative;
}
.l-header__top-parts .logo {
  position: relative;
  z-index: 120;
}
.l-header__top-parts .logo__link {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.l-header__top-parts .logo__link .icon {
  flex-shrink: 0;
  transition-property: filter;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .logo__link .icon.is-white {
  filter: brightness(0) invert(1);
}
.l-header__top-parts .logo__link .icon path {
  transition-property: fill;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
.l-header__top-parts .links__support {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.l-header__top-parts .links__support .support-link {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
.l-header__top-parts .links__support .support-link__item a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.l-header__top-parts .links__support .support-link__item a .icon {
  flex-shrink: 0;
  color: #002659;
  fill: currentColor;
}
.l-header__top-parts .links__support .support-link__item a .icon path {
  transition-property: fill;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__support .support-link__item a .icon {
  transition-property: color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__support .support-link__item a .text {
  color: #404040;
  line-height: 1;
  padding-right: 3.2rem;
  border-right: 1px solid #002659;
  transition-property: color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__support .support-link__item a .text--noborder {
  padding-right: 0;
  border-right: none;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__top-parts .links__support .support-link__item a:hover .icon,
  .l-header__top-parts .links__support .support-link__item a:hover .text {
    color: #E1801E;
  }
}
.l-header__top-parts .links__contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16rem;
  height: 4rem;
  gap: 0.8rem;
  border-radius: 2rem;
  color: #FAFAFA;
  background-color: #E1801E;
  transition-property: color, background-color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__top-parts .links__contact a:hover {
    background-color: #002659;
  }
}
.l-header__top-parts .links__contact a .icon {
  flex-shrink: 0;
  fill: #FAFAFA;
}
.l-header__top-parts .links__humberger {
  position: relative;
  flex-shrink: 0;
  width: 5.2rem;
  height: 4rem;
}
.l-header__top-parts .links__humberger .l-menu-toggle {
  position: relative;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 0.4rem;
  background-color: #002659;
  border: 1px solid transparent;
  flex-direction: column;
  gap: 0.6rem;
  cursor: pointer;
  padding: 0;
  transition-property: background-color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__top-parts .links__humberger .l-menu-toggle:hover {
    background-color: #E1801E;
  }
}
.l-header__top-parts .links__humberger .l-menu-toggle.is-active {
  background-color: #FAFAFA;
}
.l-header__top-parts .links__humberger .l-menu-toggle.is-active .l-menu-toggle__line {
  background-color: #002659;
}
.l-header__top-parts .links__humberger .l-menu-toggle.is-active .l-menu-toggle__line:nth-child(1) {
  transform: translateY(calc(0.3rem + 1px)) rotate(45deg);
}
.l-header__top-parts .links__humberger .l-menu-toggle.is-active .l-menu-toggle__line:nth-child(2) {
  transform: translateY(calc(-0.3rem - 1px)) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .l-header__top-parts .links__humberger .l-menu-toggle.is-active:hover {
    background-color: #E1801E;
  }
  .l-header__top-parts .links__humberger .l-menu-toggle.is-active:hover .l-menu-toggle__line {
    background-color: #FAFAFA;
  }
}
.l-header__top-parts .links__humberger .l-menu-toggle__line {
  display: block;
  width: 2rem;
  height: 2px;
  background-color: #FAFAFA;
  border-radius: 0.1rem;
  transform-origin: center;
  transition-property: transform, background-color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__humberger .l-nav {
  position: fixed;
  inset: 0;
  z-index: 110;
  background-color: #002659;
  clip-path: circle(0 at var(--menu-origin-x, calc(100vw - var(--inner-padding-inline) - 2.6rem)) var(--menu-origin-y, 3.4rem));
  visibility: hidden;
  pointer-events: none;
  transition: clip-path 0.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s ease-in-out 0.5s;
}
.l-header__top-parts .links__humberger .l-nav__inner {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  padding: 12rem 0 0;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
@media screen and (max-width: 768px) {
  .l-header__top-parts .links__humberger .l-nav__inner {
    padding-top: 9.7rem;
  }
}
.l-header__top-parts .links__humberger .l-nav__main {
  display: flex;
  justify-content: center;
  gap: 4.8rem;
}
.l-header__top-parts .links__humberger .l-nav__main .list {
  width: 32rem;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .thumb img {
  width: 32rem;
  height: 11rem;
  object-fit: cover;
  object-position: center;
  border-radius: 2.8rem 0.4rem 2.8rem 0.4rem;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #FAFAFA;
  padding-bottom: 1.6rem;
  border-bottom: 1px dashed #FAFAFA;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list .link a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.6rem;
  color: #FAFAFA;
  padding: 1.6rem 0;
  border-bottom: 1px solid #2D5182;
  transition-property: color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list .link a .icon {
  flex-shrink: 0;
  color: #FAFAFA;
  stroke: currentColor;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list .link a .icon path {
  transition-property: stroke;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list .link a .icon {
  transition-property: color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list .link a:hover {
    color: #E1801E;
  }
  .l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list .link a:hover .icon {
    color: #E1801E;
  }
}
.l-header__top-parts .links__humberger .l-nav__main .list__lists .menu__list .link:last-child a {
  border-bottom: none;
}
.l-header__top-parts .links__humberger .l-nav__sub {
  display: flex;
  justify-content: center;
  gap: 4.8rem;
  background-color: #001C40;
  padding: 2.4rem 0;
}
.l-header__top-parts .links__humberger .l-nav__sub .list {
  width: 32rem;
}
.l-header__top-parts .links__humberger .l-nav__sub .list .menu__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.l-header__top-parts .links__humberger .l-nav__sub .list .menu__list .link a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.4rem;
  color: #FAFAFA;
  height: 10rem;
  border-bottom: 1px solid #2D5182;
  transition-property: color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__humberger .l-nav__sub .list .menu__list .link a .icon {
  flex-shrink: 0;
  color: #FAFAFA;
  stroke: currentColor;
}
.l-header__top-parts .links__humberger .l-nav__sub .list .menu__list .link a .icon path {
  transition-property: stroke;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.l-header__top-parts .links__humberger .l-nav__sub .list .menu__list .link a .icon {
  transition-property: color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__top-parts .links__humberger .l-nav__sub .list .menu__list .link a:hover {
    color: #E1801E;
  }
  .l-header__top-parts .links__humberger .l-nav__sub .list .menu__list .link a:hover .icon {
    color: #E1801E;
  }
}
.l-header__top-parts .links__humberger .l-nav__sub .list .menu__list .link:last-child a {
  border-bottom: none;
}
.l-header__top-parts .links__humberger .l-nav.is-open {
  visibility: visible;
  pointer-events: auto;
  clip-path: circle(150vmax at var(--menu-origin-x, calc(100vw - var(--inner-padding-inline) - 2.6rem)) var(--menu-origin-y, 3.4rem));
  transition: clip-path 0.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s;
}
.l-header__top-parts .links__humberger .l-nav.is-open .l-nav__inner {
  opacity: 1;
  transition-delay: 0.2s;
}
@media screen and (max-width: 768px) {
  .l-header__top-parts .links__humberger .l-nav {
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    width: 100%;
    height: 100%;
    max-height: 100dvh;
    overflow: hidden;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__inner {
    max-height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    gap: 2.4rem;
    padding: 9.7rem 0 0;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__sub {
    padding: 0 var(--inner-padding-inline);
    gap: 1.6rem;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__main {
    flex-direction: column;
    gap: 2.4rem;
    padding: 0 var(--inner-padding-inline) 0 0;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__main .list {
    width: 100%;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__main .list__lists {
    flex-direction: row;
    gap: 1.6rem;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__main .list__lists .thumb {
    width: var(--inner-padding-inline);
    object-fit: cover;
    object-position: center;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__main .list__lists .thumb img {
    height: stretch;
    border-radius: 0 0.8rem 0.8rem 0;
  }
  .l-header__top-parts .links__humberger .l-nav .l-nav__main .list__lists .menu {
    flex: 1;
  }
}
.l-header__bottom-parts {
  display: flex;
  justify-content: start;
  align-items: center;
  height: 4.8rem;
  padding: 0 var(--inner-padding-inline);
  border-bottom: 1px solid #002659;
  gap: 2.8rem;
}
@media screen and (max-width: 768px) {
  .l-header__bottom-parts {
    width: 100%;
    min-width: 0;
    padding: 0;
    overflow-x: auto;
  }
}
.l-header__bottom-parts .service-logo {
  display: flex;
  align-items: center;
}
.l-header__bottom-parts .service-logo img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .l-header__bottom-parts .service-logo {
    display: none;
  }
}
.l-header__bottom-parts .service-menu {
  display: flex;
  align-items: center;
  gap: 0;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .l-header__bottom-parts .service-menu {
    width: max-content;
    min-width: 100%;
  }
}
.l-header__bottom-parts .service-menu__item {
  height: 100%;
}
@media screen and (max-width: 768px) {
  .l-header__bottom-parts .service-menu__item {
    flex-shrink: 0;
  }
}
.l-header__bottom-parts .service-menu__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 2.8rem;
  border-left: 1px solid #002659;
  color: #404040;
  transition-property: color;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__bottom-parts .service-menu__item a:hover {
    color: #E1801E;
  }
}
@media screen and (max-width: 768px) {
  .l-header__bottom-parts .service-menu__item a {
    padding: 0 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .l-header__bottom-parts .service-menu__item:first-child a {
    border-left: none;
  }
}
.l-header__bottom-parts .service-menu__item:last-child a {
  border-right: 1px solid #002659;
}
@media screen and (max-width: 768px) {
  .l-header__bottom-parts .service-menu__item:last-child a {
    border-right: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .links__humberger .l-nav {
    transition: none;
  }
  .links__humberger .l-nav .l-nav__inner {
    transition: none;
  }
  .links__humberger .l-nav.is-open .l-nav__inner {
    transition-delay: 0s;
  }
}
body.is-menu-open {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  body.is-menu-open .l-header__inner.sp-view .l-header__top-parts::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 6.8rem;
    background-color: #002659;
    z-index: 115;
    pointer-events: none;
  }
}

.l-footer {
  background-color: #002659;
  padding: 8rem 0;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 5.4rem 0;
  }
}
.l-footer .common-wrap .l-footer__content {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
.l-footer .common-wrap .l-footer__content .left-item {
  display: flex;
  flex-direction: column;
  align-self: stretch;
}
.l-footer .common-wrap .l-footer__content .left-item__logo {
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .l-footer .common-wrap .l-footer__content .left-item__logo {
    margin-bottom: 4rem;
  }
}
.l-footer .common-wrap .l-footer__content .left-item__logo .logo-link .icon {
  filter: brightness(0) invert(1);
}
.l-footer .common-wrap .l-footer__content .left-item__other-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .l-footer .common-wrap .l-footer__content .left-item__other-menu {
    margin-bottom: 4rem;
  }
}
.l-footer .common-wrap .l-footer__content .left-item__other-menu .item__link {
  font-size: 1.4rem;
  font-weight: 400;
  color: #FAFAFA;
  text-decoration: none;
  transition: color 0.3s ease;
}
.l-footer .common-wrap .l-footer__content .left-item__other-menu .item__link:hover {
  color: #E1801E;
}
.l-footer .common-wrap .l-footer__content .left-item__copyright {
  margin-top: auto;
  color: #FAFAFA;
  font-size: 1.2rem;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .l-footer .common-wrap .l-footer__content .right-item {
    width: 100%;
  }
  .l-footer .common-wrap .l-footer__content .right-item__menu {
    width: 100%;
  }
}
.l-footer .common-wrap .l-footer__content .right-item__menu {
  display: inline-grid;
  gap: 3.6rem;
  flex: 1 0 0;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  grid-template-columns: repeat(2, 33.3rem);
  grid-auto-flow: row;
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  align-self: stretch;
  grid-row: span 1;
  grid-column: span 1;
  justify-self: stretch;
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item__title {
  font-size: 1.8rem;
  color: #FAFAFA;
  text-decoration: none;
  transition: color 0.3s ease;
  padding-bottom: 1.2rem;
  border-bottom: 1px dashed #FAFAFA;
}
@media screen and (max-width: 768px) {
  .l-footer .common-wrap .l-footer__content .right-item__menu .item__title {
    width: 100%;
  }
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-footer .common-wrap .l-footer__content .right-item__menu .item__list {
    gap: 0.8rem;
  }
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item__list .list-item {
  width: 100%;
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item__list .list-item__link {
  font-size: 1.6rem;
  color: #FAFAFA;
  text-decoration: none;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item__list .list-item__link:hover {
  color: #E1801E;
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item__list .list-item__link .icon {
  width: 1.2rem;
  height: 1rem;
  fill: #FAFAFA;
  transition: fill 0.3s ease;
}
.l-footer .common-wrap .l-footer__content .right-item__menu .item__list .list-item__link .icon:hover {
  fill: #E1801E;
}
@media screen and (max-width: 768px) {
  .l-footer .common-wrap .l-footer__content .right-item__menu {
    grid-template-rows: repeat(4, auto);
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .l-footer .common-wrap .l-footer__content {
    flex-direction: column-reverse;
    align-items: center;
    gap: 6rem;
  }
}

body .wrap {
  width: 100%;
  max-width: calc(106.2rem + var(--inner-padding-inline) * 2);
  padding: 0 var(--inner-padding-inline);
  margin: 0 auto;
}
body .main {
  padding: 11.6rem 0 0;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  body .main {
    padding: 11.5rem 0 0;
  }
}
body .main section {
  padding: 6.4rem 0;
  scroll-margin-top: 11.6rem;
}
@media screen and (max-width: 768px) {
  body .main section {
    scroll-margin-top: 11.6rem;
  }
}
body .main .hero {
  position: relative;
  background-color: hsl(35, 100%, 97%);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1361 1361' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"), radial-gradient(circle at 40% 20%, hsl(63, 61%, 94%) 0%, transparent 50%), radial-gradient(circle at 80% 0%, hsl(224, 100%, 94%) 0%, transparent 50%), radial-gradient(circle at 0% 50%, hsl(30, 0%, 100%) 0%, transparent 50%), radial-gradient(circle at 80% 50%, hsl(15, 100%, 96%) 0%, transparent 50%), radial-gradient(circle at 0% 100%, hsl(56, 66%, 95%) 0%, transparent 50%), radial-gradient(circle at 80% 100%, hsl(276, 81%, 96%) 0%, transparent 50%), radial-gradient(circle at 0% 0%, hsl(18, 88%, 94%) 0%, transparent 50%);
  background-blend-mode: overlay, normal, normal, normal, normal, normal, normal, normal;
  padding: 0;
}
body .main .hero__content {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: 6rem 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  body .main .hero__content {
    flex-direction: column;
    align-items: stretch;
    gap: 4rem;
  }
}
body .main .hero__content .left-item {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
body .main .hero__content .left-item__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: #002659;
  line-height: 2.2;
}
body .main .hero__content .left-item__title .color-text {
  color: #E1801E;
}
body .main .hero__content .left-item__title .number {
  font-family: "Oceanwide", sans-serif;
  font-size: 5.6rem;
  line-height: 1;
  display: inline-block;
}
body .main .hero__content .left-item__title .small {
  font-size: 2rem;
  font-weight: 400;
  display: inline-block;
}
body .main .hero__content .left-item__title .strong {
  font-size: 3.6rem;
  line-height: 1;
  display: inline-block;
  transform: translateY(-0.4rem);
}
@media screen and (max-width: 768px) {
  body .main .hero__content .left-item__title .strong {
    line-height: 1.6;
  }
}
body .main .hero__content .left-item__text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #002659;
}
body .main .hero__content .left-item__button {
  display: flex;
  gap: 1.6rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 768px) {
  body .main .hero__content .left-item__button .button {
    width: 100%;
  }
}
body .main .hero__content .left-item__button .button a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  padding: 1.6rem 1.2rem 1.6rem 3.1rem;
  border-radius: 0.8rem;
  box-shadow: 0 0 0 transparent;
  transition-property: background-color, transform, box-shadow;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
@media screen and (max-width: 768px) {
  body .main .hero__content .left-item__button .button a {
    height: 100%;
  }
}
body .main .hero__content .left-item__button .button a .icon {
  flex-shrink: 0;
  color: currentColor;
  fill: none;
  stroke: currentColor;
  transition-property: transform;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
body .main .hero__content .left-item__button .button a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(250, 250, 250, 0.28) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform 0.55s ease;
  pointer-events: none;
}
body .main .hero__content .left-item__button .button a.button__contact-button {
  background-color: #002659;
  color: #FAFAFA;
}
body .main .hero__content .left-item__button .button a.button__price-button {
  background-color: #FAFAFA;
  border: 1px solid #002659;
  color: #002659;
}
@media (hover: hover) and (pointer: fine) {
  body .main .hero__content .left-item__button .button a:hover {
    background-color: #E1801E;
    transform: translateY(-0.2rem);
    box-shadow: 0 0.6rem 2rem rgba(0, 38, 89, 0.28);
  }
  body .main .hero__content .left-item__button .button a:hover .icon {
    transform: translateX(0.5rem);
  }
  body .main .hero__content .left-item__button .button a:hover::after {
    transform: translateX(120%);
  }
}
@media (prefers-reduced-motion: reduce) {
  body .main .hero__content .left-item__button .button a::after {
    display: none;
  }
}
body .main .hero .waves {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 16rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  body .main .hero .waves {
    width: 220vw;
  }
}
body .main .hero .waves__svg {
  width: 100%;
  height: 16rem;
}
body .main .hero .waves__svg .parallax > use {
  animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
body .main .hero .waves__svg .parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
body .main .hero .waves__svg .parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
body .main .hero .waves__svg .parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
body .main .hero .waves__svg .parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}
body .main .service-feature {
  padding: 4rem 0;
  background-color: #002659;
}
body .main .service-feature__content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.2rem;
}
@media screen and (max-width: 768px) {
  body .main .service-feature__content {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
  }
}
body .main .service-feature__content .item {
  display: flex;
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  body .main .service-feature__content .item {
    flex-direction: column;
    align-items: center;
  }
}
body .main .service-feature__content .item__icon {
  width: 8rem;
  height: 8rem;
}
body .main .service-feature__content .item__text-content {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media screen and (max-width: 768px) {
  body .main .service-feature__content .item__text-content {
    align-items: center;
  }
}
body .main .service-feature__content .item__title {
  font-size: 2rem;
  font-weight: 700;
  color: #FFD503;
}
body .main .service-feature__content .item__text {
  font-size: 1.6rem;
  font-weight: 400;
  color: #FAFAFA;
}
@media screen and (max-width: 768px) {
  body .main .service-feature__content .item__text {
    text-align: center;
  }
}
body .main .sale-point {
  background-color: #F4F6F8;
}
body .main .sale-point__content {
  display: flex;
  gap: 4rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  body .main .sale-point__content {
    flex-direction: column;
    gap: 4rem;
  }
}
body .main .sale-point__content .text-content {
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
  flex: 1;
}
body .main .sale-point__content .text-content__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
body .main .sale-point__content .text-content__list .item {
  font-size: 1.4rem;
  font-weight: 400;
  color: #002659;
  border-left: 4px solid #002659;
  padding: 0.4rem 1.2rem;
  background-color: #FAFAFA;
  box-shadow: 0 0 1rem rgba(0, 38, 89, 0.1);
}
body .main .sale-point__content .image {
  width: 58.9rem;
}
@media screen and (max-width: 768px) {
  body .main .sale-point__content .image {
    width: 100%;
  }
}
body .main .features {
  background-color: #FEF098;
}
body .main .features__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
body .main .features__iconbg {
  position: absolute;
  top: -2rem;
  right: 0;
  width: 30rem;
  height: 30.2rem;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  body .main .features__iconbg {
    width: 20rem;
    height: 20rem;
  }
}
body .main .features .common-section-heading {
  position: relative;
}
body .main .features .common-section-heading > *:not(.features__iconbg) {
  position: relative;
  z-index: 1;
}
body .main .features__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.4rem;
  row-gap: 2rem;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  body .main .features__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
body .main .features__content .item {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
body .main .features__content .item__label {
  font-family: "Oceanwide", sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  color: #FAFAFA;
  background-color: #002659;
  padding: 0.8rem 1.2rem 0.6rem;
  border-radius: 0.8rem 0.8rem 0 0;
  width: fit-content;
  min-width: 15rem;
  letter-spacing: 0.2rem;
  text-align: center;
}
body .main .features__content .item__card {
  flex: 1;
  display: grid;
  grid-template-columns: 6.4rem 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "icon title" "text text";
  background-color: #FAFAFA;
  border-radius: 0 0.8rem 0.8rem 0.8rem;
  box-shadow: 0 4px 6.4px 0 #E4D36D;
  padding: 2rem;
  row-gap: 0.8rem;
  column-gap: 1.6rem;
  align-items: start;
  align-content: start;
}
@media screen and (max-width: 768px) {
  body .main .features__content .item__card {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "icon" "title" "text";
  }
}
body .main .features__content .item__icon {
  grid-area: icon;
  align-self: center;
}
body .main .features__content .item__title {
  grid-area: title;
  align-self: center;
  color: #E1801E;
  font-weight: 700;
  line-height: 1.6;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  body .main .features__content .item__title {
    font-size: 1.6rem;
  }
}
body .main .features__content .item__text {
  grid-area: text;
  color: #404040;
  font-size: 1.4rem;
}
body .main .price {
  background-color: #F4F6F8;
}
body .main .price__content {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  body .main .price__content {
    flex-direction: column;
    gap: 3.6rem;
  }
}
body .main .price__content .text-content {
  flex: 1;
}
body .main .price__content .plan-basic {
  width: 56rem;
  box-shadow: 0.2rem 0.2rem 0.8rem 0 rgba(200, 205, 232, 0.3);
}
@media screen and (max-width: 768px) {
  body .main .price__content .plan-basic {
    width: 100%;
  }
}
body .main .price__content .plan-basic__label {
  font-size: 1.6rem;
  font-weight: 700;
  color: #FAFAFA;
  background-color: #002659;
  padding: 0.8rem 2rem;
  border-radius: 0.8rem 0.8rem 0 0;
  text-align: center;
}
body .main .price__content .plan-basic__price-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.8rem;
  padding: 4.2rem 2rem 2rem;
  background-color: #FAFAFA;
  border-radius: 0 0 0.8rem 0.8rem;
}
@media screen and (max-width: 768px) {
  body .main .price__content .plan-basic__price-content {
    gap: 2rem;
  }
}
body .main .price__content .plan-basic__price {
  color: #E1801E;
  display: flex;
  justify-content: center;
  gap: 1rem;
  align-items: center;
  font-weight: 700;
}
body .main .price__content .plan-basic__price .tukigaku {
  font-size: 2.4rem;
  display: inline-block;
  background-color: #E1801E;
  line-height: 1;
  padding: 0.6rem 1.4rem;
  border-radius: 0.4rem;
  color: #FAFAFA;
}
@media screen and (max-width: 768px) {
  body .main .price__content .plan-basic__price .tukigaku {
    font-size: 2rem;
  }
}
body .main .price__content .plan-basic__price .value {
  font-size: 5.6rem;
  font-family: "Oceanwide", sans-serif;
  line-height: 1;
  display: inline-block;
  color: #E1801E;
}
@media screen and (max-width: 768px) {
  body .main .price__content .plan-basic__price .value {
    font-size: 5rem;
  }
}
body .main .price__content .plan-basic__price .yen {
  font-size: 2.8rem;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  body .main .price__content .plan-basic__price .yen {
    font-size: 2.4rem;
  }
}
body .main .price__content .plan-basic__price .tax {
  font-size: 2.4rem;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  body .main .price__content .plan-basic__price .tax {
    font-size: 2rem;
  }
}
body .main .price__content .plan-basic__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
}
body .main .price__content .plan-basic__list .item {
  display: flex;
  padding: 1.6rem;
  align-items: center;
  gap: 0.4rem;
  background-color: #e8edf1;
  border-radius: 0.4rem;
  font-size: 1.4rem;
  line-height: 1;
  color: #002659;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  body .main .price__content .plan-basic__list .item {
    padding: 1.6rem;
  }
}
body .main .price__content .plan-basic__list .item img {
  width: 1.8rem;
  height: 1.8rem;
  object-fit: contain;
}
body .main .price__spec {
  display: flex;
  gap: 1.6rem;
  flex-direction: column;
}
body .main .price__spec .spec-list {
  display: flex;
  align-items: stretch;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  body .main .price__spec .spec-list {
    flex-direction: column;
    gap: 0;
  }
}
body .main .price__spec .spec-list .spec-item {
  flex: 1;
  display: flex;
  flex-direction: column;
}
body .main .price__spec .spec-list .spec-item__table {
  flex: 1;
  width: 100%;
  height: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid #e8edf1;
  border-radius: 0.8rem;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0.2rem 0.2rem 0.8rem 0 rgba(200, 205, 232, 0.3);
}
body .main .price__spec .spec-list .spec-item__table tbody {
  height: 100%;
}
body .main .price__spec .spec-list .spec-item__table tr {
  height: 20%;
}
body .main .price__spec .spec-list .spec-item__table tr:last-child th,
body .main .price__spec .spec-list .spec-item__table tr:last-child td {
  border-bottom: none;
}
body .main .price__spec .spec-list .spec-item__table th,
body .main .price__spec .spec-list .spec-item__table td {
  padding: 1.6rem;
  color: #002659;
  font-weight: 400;
  text-align: left;
  font-size: 1.4rem;
  vertical-align: middle;
}
body .main .price__spec .spec-list .spec-item__table th {
  background-color: #E3ECF7;
  width: 22rem;
  padding: 1.6rem;
  border-bottom: 1px solid #d7e0e7;
}
@media screen and (max-width: 768px) {
  body .main .price__spec .spec-list .spec-item__table th {
    width: 30%;
  }
}
body .main .price__spec .spec-list .spec-item__table td {
  background-color: #FAFAFA;
  line-height: 1.6;
  border-bottom: 1px solid #dfe7ec;
}
@media screen and (max-width: 768px) {
  body .main .price__spec .spec-list .spec-item:first-child {
    border-radius: 0.8rem 0.8rem 0 0;
  }
  body .main .price__spec .spec-list .spec-item:last-child {
    border-radius: 0 0 0.8rem 0.8rem;
  }
}
body .main .price__example {
  display: flex;
  gap: 1.6rem;
  flex-direction: column;
}
body .main .price__example .example-list {
  display: flex;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  body .main .price__example .example-list {
    flex-wrap: wrap;
  }
}
body .main .price__example .example-list .item {
  display: flex;
  flex-direction: column;
  flex: 1;
}
body .main .price__example .example-list .item__label {
  font-family: "Oceanwide", sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  color: #FAFAFA;
  background-color: #002659;
  padding: 0.8rem 1.2rem 0.6rem;
  border-radius: 0.8rem 0.8rem 0 0;
  width: fit-content;
  min-width: 15rem;
  letter-spacing: 0.2rem;
  text-align: center;
}
body .main .price__example .example-list .item__card {
  flex: 1;
  display: grid;
  grid-template-columns: 6.2rem 1fr;
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-areas: "icon value" "detail detail";
  background-color: #FAFAFA;
  border-radius: 0 0.8rem 0.8rem 0.8rem;
  box-shadow: 0.2rem 0.2rem 0.8rem 0 rgba(200, 205, 232, 0.3);
  padding: 2rem;
  row-gap: 0.8rem;
  column-gap: 1.2rem;
  align-items: start;
}
body .main .price__example .example-list .item__card .icon {
  grid-area: icon;
  align-self: center;
}
body .main .price__example .example-list .item__card .value {
  grid-area: value;
  align-self: center;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 700;
  color: #E1801E;
}
body .main .price__example .example-list .item__card .value__label {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 400;
  color: #FAFAFA;
  padding: 0.2rem 0.8rem;
  background-color: #E1801E;
  border-radius: 0.2rem;
  margin-bottom: 1rem;
  width: fit-content;
}
body .main .price__example .example-list .item__card .value__value {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  color: #E1801E;
}
body .main .price__example .example-list .item__card .value__value .value {
  font-size: 2.8rem;
  font-family: "Oceanwide", sans-serif;
  line-height: 1;
  font-weight: 700;
  color: #E1801E;
}
body .main .price__example .example-list .item__card .value__value .yen {
  font-size: 1.4rem;
  font-weight: 700;
}
body .main .price__example .example-list .item__card .value__value .tax {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 400;
}
body .main .price__example .example-list .item__card .detail {
  grid-area: detail;
  align-self: center;
}
body .main .price__example .example-list .item__card .detail__item {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #002659;
  display: flex;
  padding: 0.4rem 0;
  gap: 0.8rem;
  align-items: center;
  border-top: 1px dashed #002659;
}
body .main .price__example .example-list .item__card .detail__item:last-child {
  border-bottom: 1px dashed #002659;
}
body .main .price__example .example-list .item__card .detail__item img {
  width: 1.2rem;
  height: 1.2rem;
  object-fit: contain;
}
body .main .price__example .example-list-caption {
  display: flex;
  flex-direction: column;
}
body .main .price__example .example-list-caption .item {
  font-size: 1.2rem;
  position: relative;
  padding-left: 1.2rem;
  color: #002659;
}
body .main .price__example .example-list-caption .item::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
body .main .mail-spec__specs {
  display: flex;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  body .main .mail-spec__specs {
    flex-direction: column;
  }
}
body .main .mail-spec__specs .left-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
body .main .mail-spec__specs .right-item {
  flex: 1;
}
body .main .mail-spec__specs .spec-item {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
body .main .mail-spec__specs .spec-item__table {
  flex: 1;
  width: 100%;
  height: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid #e8edf1;
  border-radius: 0.8rem;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0.2rem 0.2rem 0.8rem 0 rgba(200, 205, 232, 0.3);
}
body .main .mail-spec__specs .spec-item__table tbody {
  height: 100%;
}
body .main .mail-spec__specs .spec-item__table tr {
  height: 20%;
}
body .main .mail-spec__specs .spec-item__table tr:last-child th,
body .main .mail-spec__specs .spec-item__table tr:last-child td {
  border-bottom: none;
}
body .main .mail-spec__specs .spec-item__table th,
body .main .mail-spec__specs .spec-item__table td {
  padding: 1.6rem;
  color: #002659;
  font-weight: 400;
  text-align: left;
  font-size: 1.4rem;
  vertical-align: middle;
}
body .main .mail-spec__specs .spec-item__table th {
  background-color: #E3ECF7;
  width: 22rem;
  padding: 1.6rem;
  border-bottom: 1px solid #d7e0e7;
}
@media screen and (max-width: 768px) {
  body .main .mail-spec__specs .spec-item__table th {
    width: 30%;
  }
}
body .main .mail-spec__specs .spec-item__table td {
  background-color: #FAFAFA;
  line-height: 1.6;
  border-bottom: 1px solid #dfe7ec;
}
body .main .mail-spec__specs .spec-item__caption {
  display: flex;
  flex-direction: column;
}
body .main .mail-spec__specs .spec-item__caption .item {
  font-size: 1.2rem;
  position: relative;
  padding-left: 1.2rem;
  color: #002659;
}
body .main .mail-spec__specs .spec-item__caption .item::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
body .main .steps {
  background-color: #113D78;
  color: #FAFAFA;
}
body .main .steps .common-section-heading__h2-title {
  color: #FAFAFA;
}
body .main .steps .common-section-heading__text {
  color: #FAFAFA;
}
body .main .steps__list {
  display: flex;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  body .main .steps__list {
    overflow-x: auto;
  }
}
body .main .steps__list .step {
  flex: 1;
  position: relative;
}
@media screen and (max-width: 768px) {
  body .main .steps__list .step {
    flex: 0 0 26rem;
  }
}
body .main .steps__list .step__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
}
body .main .steps__list .step:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 10.4rem;
  left: 50%;
  width: calc(100% + 2.4rem);
  height: 2px;
  background-color: #E1801E;
  transform: translateY(-50%);
  pointer-events: none;
}
body .main .steps__list .step__number {
  font-size: 1.8rem;
  font-weight: 700;
  color: #E1801E;
  letter-spacing: 0.4rem;
  line-height: 1;
  display: flex;
  gap: 1rem;
  align-items: center;
}
body .main .steps__list .step__number .number {
  font-size: 3.2rem;
  line-height: 1;
  color: #E1801E;
}
body .main .steps__list .step__icon img {
  width: 12rem;
  height: 12rem;
  object-fit: contain;
}
body .main .steps__list .step__title {
  font-size: 1.8rem;
  width: 100%;
  color: #FAFAFA;
  text-align: center;
  border-bottom: 1px solid #FAFAFA;
  padding-bottom: 1.2rem;
}
body .main .steps__list .step__description {
  font-size: 1.4rem;
  color: #FAFAFA;
}
body .main .support {
  background-color: #F4F6F8;
}
body .main .support__content {
  display: flex;
  gap: 8.4rem;
}
@media screen and (max-width: 768px) {
  body .main .support__content {
    flex-direction: column;
    gap: 4.8rem;
  }
}
body .main .support__content .text-content {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  flex: 1;
}
body .main .support__content .text-content .button a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  padding: 1.6rem 1.2rem 1.6rem 3.1rem;
  border-radius: 0.8rem;
  box-shadow: 0 0 0 transparent;
  transition-property: background-color, transform, box-shadow;
  transition-duration: 0.25s;
  transition-timing-function: ease;
  width: fit-content;
}
body .main .support__content .text-content .button a .icon {
  flex-shrink: 0;
  color: currentColor;
  fill: none;
  stroke: currentColor;
  transition-property: transform;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
body .main .support__content .text-content .button a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(250, 250, 250, 0.28) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform 0.55s ease;
  pointer-events: none;
}
body .main .support__content .text-content .button a.button__contact-button {
  background-color: #002659;
  color: #FAFAFA;
}
body .main .support__content .text-content .button a.button__price-button {
  background-color: #FAFAFA;
  border: 1px solid #002659;
  color: #002659;
}
@media (hover: hover) and (pointer: fine) {
  body .main .support__content .text-content .button a:hover {
    background-color: #E1801E;
    transform: translateY(-0.2rem);
    box-shadow: 0 0.6rem 2rem rgba(0, 38, 89, 0.28);
  }
  body .main .support__content .text-content .button a:hover .icon {
    transform: translateX(0.5rem);
  }
  body .main .support__content .text-content .button a:hover::after {
    transform: translateX(120%);
  }
}
@media (prefers-reduced-motion: reduce) {
  body .main .support__content .text-content .button a::after {
    display: none;
  }
}
body .main .support__content .support-list {
  width: 56rem;
}
@media screen and (max-width: 768px) {
  body .main .support__content .support-list {
    width: 100%;
  }
}
body .main .support__content .support-list__label {
  font-size: 2rem;
  color: #FAFAFA;
  background-color: #002659;
  padding: 0.8rem 2.4rem;
  border-radius: 0.8rem 0.8rem 0 0;
}
body .main .support__content .support-list__list {
  display: flex;
  flex-direction: column;
  padding: 2.8rem 2.4rem;
  border-radius: 0 0 0.8rem 0.8rem;
  background-color: #FAFAFA;
  box-shadow: rgba(200, 205, 232, 0.3) 0.2rem 0.2rem 0.8rem 0px;
}
@media screen and (max-width: 768px) {
  body .main .support__content .support-list__list {
    padding: 2.4rem 2rem 2rem;
  }
}
body .main .support__content .support-list__list .item {
  font-size: 1.6rem;
  font-weight: 400;
  color: #002659;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 1.6rem;
  border-bottom: 1px solid #C6D3E4;
}
body .main .support__content .support-list__list .item:last-child {
  border-bottom: none;
}
body .main .support__content .support-list__list .item img {
  width: 1.8rem;
  height: 1.8rem;
  object-fit: contain;
}
body .main .support__content .support-list__caption {
  font-size: 1.2rem;
  padding-left: 1.6rem;
  position: relative;
  margin-top: 1rem;
}
body .main .support__content .support-list__caption::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
body .main .faq {
  background-image: url("/cloudmailbiz/assets/images/bg-dot-pattern-tile-25.webp");
  background-repeat: repeat;
}
body .main .faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
body .main .faq__list .item.is-open .item__question-item .question {
  border-radius: 0.8rem 0 0 0;
}
body .main .faq__list .item.is-open .item__question-item .plus-minus-icon {
  border-radius: 0 0.8rem 0 0;
}
body .main .faq__list .item.is-open .item__question-item .plus-minus-icon span:first-child {
  transform: translate(-50%, -50%) rotate(0deg);
}
body .main .faq__list .item.is-open .item__answer-item {
  max-height: 40rem;
  opacity: 1;
}
body .main .faq__list .item__question-item {
  display: flex;
  align-items: center;
  gap: 0;
  height: 6.4rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  body .main .faq__list .item__question-item {
    height: 8rem;
  }
}
body .main .faq__list .item__question-item .question {
  font-size: 2.4rem;
  font-family: "Oceanwide", sans-serif;
  line-height: 1;
  font-weight: 700;
  color: #FAFAFA;
  width: 8.8rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #002659;
  padding: 1.3rem 0.8rem 0.8rem 0.8rem;
  border-radius: 0.8rem 0 0 0.8rem;
}
@media screen and (max-width: 768px) {
  body .main .faq__list .item__question-item .question {
    width: 4.4rem;
    padding: 1.3rem 1.3rem 0.8rem;
  }
}
body .main .faq__list .item__question-item .question-text {
  flex: 1;
  font-size: 1.8rem;
  font-weight: 400;
  height: 100%;
  color: #002659;
  background-color: #F4F6F8;
  padding: 0 3.2rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  body .main .faq__list .item__question-item .question-text {
    padding: 1.6rem;
  }
}
body .main .faq__list .item__question-item .plus-minus-icon {
  position: relative;
  flex-shrink: 0;
  width: 6.4rem;
  height: 100%;
  background-color: #F4F6F8;
  border-radius: 0 0.8rem 0.8rem 0;
  list-style: none;
}
body .main .faq__list .item__question-item .plus-minus-icon span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.2rem;
  height: 0.2rem;
  background-color: #002659;
  border-radius: 0.1rem;
  transform: translate(-50%, -50%);
  transform-origin: center;
  transition-property: transform;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
body .main .faq__list .item__question-item .plus-minus-icon span:first-child {
  transform: translate(-50%, -50%) rotate(90deg);
}
body .main .faq__list .item__question-item .plus-minus-icon span:last-child {
  transform: translate(-50%, -50%) rotate(0deg);
}
body .main .faq__list .item__answer-item {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.45s ease, opacity 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  body .main .faq__list .item__answer-item {
    transition: none;
  }
}
body .main .faq__list .item__answer-item .answer {
  font-size: 2.4rem;
  font-family: "Oceanwide", sans-serif;
  line-height: 1;
  font-weight: 700;
  color: #FAFAFA;
  width: 8.8rem;
  min-height: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #E1801E;
  padding: 1.3rem 0.8rem 0.8rem 0.8rem;
  border-radius: 0 0 0 0.8rem;
}
@media screen and (max-width: 768px) {
  body .main .faq__list .item__answer-item .answer {
    width: 4.4rem;
    padding: 1.3rem 1.3rem 0.8rem;
  }
}
body .main .faq__list .item__answer-item .answer-text {
  flex: 1;
  font-size: 1.8rem;
  font-weight: 400;
  min-height: 6.4rem;
  color: #E1801E;
  background-color: #F9F1E9;
  padding: 0 3.2rem;
  display: flex;
  align-items: center;
  border-radius: 0 0 0.8rem 0;
}
@media screen and (max-width: 768px) {
  body .main .faq__list .item__answer-item .answer-text {
    padding: 1.6rem;
  }
}
body .main .contact {
  background-color: #113D78;
}
body .main .contact .common-section-heading__h2-title {
  color: #FAFAFA;
}
body .main .contact .common-section-heading__text {
  color: #FAFAFA;
}
body .main .contact__content {
  background-color: #002659;
  padding: 4.4rem 3.2rem;
  border-radius: 0.8rem;
}
body .main .contact__content .mktoForm {
  margin: 0 auto;
  width: 70rem !important;
}
body .main .contact__content .mktoForm .mktoFormCol {
  margin-bottom: 1.6rem !important;
  float: none !important;
}
body .main .contact__content .mktoForm .mktoFormCol .mktoTextField,
body .main .contact__content .mktoForm .mktoFormCol .mktoEmailField,
body .main .contact__content .mktoForm .mktoFormCol .mktoTelField {
  height: 4rem;
  width: 52rem !important;
  background: #F4F6F8;
  border: none;
  border-radius: 0.4rem;
}
body .main .contact__content .mktoForm .mktoFormCol textarea {
  width: 52rem !important;
  background: #F4F6F8;
  border: none;
  border-radius: 0.4rem;
}
body .main .contact__content .mktoForm .mktoLabel {
  font-size: 1.6rem;
}
body .main .contact__content .mktoForm .mktoHtmlText.mktoHasWidth {
  width: 100% !important;
  display: flex;
  justify-content: center;
}
body .main .contact__content .mktoForm .mktoHtmlText.mktoHasWidth div > span > span {
  color: #FAFAFA;
}
body .main .contact__content .mktoForm .mktoFieldWrap {
  float: none !important;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  body .main .contact__content .mktoForm .mktoFieldWrap {
    flex-direction: column;
    gap: 0.8rem;
  }
}
body .main .contact__content .mktoForm .mktoFieldWrap label {
  color: #FAFAFA;
  font-weight: 500;
}
body .main .contact__content .mktoForm .mktoButtonRow {
  display: block;
  text-align: center;
}
body .main .contact__content .mktoForm .mktoButtonRow .mktoNative {
  display: inline-block;
  margin-left: 0 !important;
}
body .main .contact__content .mktoForm .mktoButtonRow .mktoNative button.mktoButton {
  padding: 2rem 0;
  width: 30rem;
  border-radius: 5.4rem;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 0.8rem;
  box-shadow: 0 0 0 transparent;
  background-color: #FAFAFA;
  border: 1px solid #002659;
  color: #002659;
  transition-property: background-color, transform, box-shadow;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
body .main .contact__content .mktoForm .mktoButtonRow .mktoNative button.mktoButton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(250, 250, 250, 0.28) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform 0.55s ease;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  body .main .contact__content .mktoForm .mktoButtonRow .mktoNative button.mktoButton:hover {
    background-color: #E1801E;
    transform: translateY(-0.2rem);
    box-shadow: 0 0.6rem 2rem rgba(0, 38, 89, 0.28);
  }
  body .main .contact__content .mktoForm .mktoButtonRow .mktoNative button.mktoButton:hover::after {
    transform: translateX(120%);
  }
}
body .main .contact__content .mktoForm .mktoFormRow .mktoFieldDescriptor #Lblinside {
  width: fit-content !important;
  padding-top: 0 !important;
}
body .main .contact__content .mktoForm .mktoFormRow .mktoFieldDescriptor .mktoLogicalField.mktoCheckboxList.mktoHasWidth.mktoRequired {
  width: fit-content !important;
  padding: 0 !important;
}
body .main .contact__content .mktoForm .mktoFormRow:nth-of-type(10) .mktoFieldWrap.mktoRequiredField {
  flex-direction: row;
}
@media screen and (max-width: 768px) {
  body .main .contact__content {
    padding: 3rem 5%;
  }
  body .main .contact__content .mktoForm {
    width: 100% !important;
  }
  body .main .contact__content .mktoForm .mktoFormCol {
    margin-bottom: 1.6rem !important;
  }
  body .main .contact__content .mktoForm .mktoFormCol .mktoTextField,
  body .main .contact__content .mktoForm .mktoFormCol .mktoEmailField,
  body .main .contact__content .mktoForm .mktoFormCol .mktoTelField {
    width: 100% !important;
    height: auto;
  }
  body .main .contact__content .mktoForm .mktoFormCol textarea {
    width: 100% !important;
    height: auto;
  }
  body .main .contact__content .mktoForm .mktoLabel {
    margin-bottom: 0.4rem;
  }
  body .main .contact__content .mktoForm .mktoHtmlText.mktoHasWidth {
    width: 100%;
  }
  body .main .contact__content .mktoForm .mktoButtonRow {
    display: block;
    text-align: center;
  }
  body .main .contact__content .mktoForm .mktoButtonRow .mktoNative {
    display: inline-block;
    margin-left: 0 !important;
  }
  body .main .contact__content .mktoForm .mktoButtonRow .mktoNative button.mktoButton {
    padding: 2rem 0;
    width: 30rem;
  }
}

.common-wrap {
  width: 100%;
  max-width: calc(108rem + var(--inner-padding-inline) * 2);
  padding: 0 var(--inner-padding-inline);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
}

.common-section {
  padding: 6.4rem 0;
}
@media screen and (max-width: 768px) {
  .common-section {
    padding: 5.4rem 0 0;
  }
}
.common-section .wrap {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 768px) {
  .common-section .wrap {
    gap: 2.2rem;
  }
}

.common-section-heading {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.common-section-heading__label {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .common-section-heading__label {
    font-size: 1.6rem;
  }
}
.common-section-heading__label-text {
  font-family: "Oceanwide", sans-serif;
  font-weight: 500;
  letter-spacing: 0.4rem;
  color: #E1801E;
  transform: translateY(0.25rem);
}
.common-section-heading__h2-title {
  font-size: 3rem;
  font-weight: 700;
  color: #002659;
}
@media screen and (max-width: 768px) {
  .common-section-heading__h2-title {
    font-size: 2.8rem;
  }
}
.common-section-heading__text {
  font-size: 1.6rem;
}
.common-section-heading__h3-title {
  font-size: 2rem;
  font-weight: 700;
  color: #002659;
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.common-section-heading__h3-title .square {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-color: #E1801E;
  border-radius: 0.2rem;
}

.l-svg-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}
/*# sourceMappingURL=cloudmailbiz.css.map */
