@charset "UTF-8";
/*
Theme Name: 
Theme URI: https://
Author: Qubic Inc
Author URI: https://qu-bic.jp
Description: 
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/*****************************

このファイルは直接変更しないでください。
CSSを変更・修正・追記したい場合は、cssファイルを作成し、そちらに記述お願いします。

こちらのファイルに記述した場合、変更が失われてしまったり、保守が困難になることもあります。
充分にお気をつけください。

*****************************/
/*****************************
フォント変数
*****************************/
/*****************************
ブレイクポイント
*****************************/
/*****************************
カラー変数
*****************************/
html {
  color: #000000;
  background: #ffffff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  line-height: 2;
  overflow-x: clip;
  font-size: min(3.846vw, 18px);
}

@media screen and (min-width: 768px) {
  html {
    font-size: min(13px + 3 * (100vw - 768px) / 672, 16px);
  }
}
body {
  -webkit-text-size-adjust: 100%;
}

#wrapper {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  height: 100%;
}

@media screen and (min-width: 768px) {
  #wrapper {
    height: auto;
  }
}
section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    display: block;
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
button {
  border: none;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  background: none;
}

@keyframes loop-slide {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

html,
*::before,
*::after {
  box-sizing: border-box;
}

main {
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
  display: block;
}

input,
input:focus,
textarea:focus {
  outline: 0;
  border-radius: 0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=submit],
input[type=button],
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-clear-button,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

select option {
  background-color: #fff;
  color: #333;
}

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

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

figure {
  margin: 0;
}

img,
picture {
  vertical-align: bottom;
  border: none;
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
  vertical-align: bottom;
}

li {
  list-style: none;
}

table {
  border-collapse: collapse;
}

.preload * {
  transition: none;
}

.l-breadcrumb {
  padding: 0.6666666667rem 0;
}

@media screen and (min-width: 768px) {
  .l-breadcrumb {
    padding: 1.25rem 0;
  }
}
.l-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6666666667rem 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.1666666667;
}

@media screen and (min-width: 768px) {
  .l-breadcrumb__item {
    font-size: 1rem;
    line-height: 1.1875;
  }
}
.l-breadcrumb__item:not(:last-child)::after {
  content: ">";
  color: #000000;
  font-weight: 400;
  margin: 0 0.2666666667rem;
}

.l-breadcrumb__item.is-current {
  color: #000000;
}

.l-breadcrumb__link {
  display: inline-block;
  padding-bottom: 0.1333333333rem;
  color: #163ea3;
  position: relative;
  transition: opacity 0.3s;
}

.l-breadcrumb__link::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #163ea3;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: width 0.3s;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .l-breadcrumb__link:hover {
    opacity: 0.7;
  }
  .l-breadcrumb__link:hover::after {
    width: 0;
  }
}
.l-breadcrumb__current {
  display: inline-block;
  padding-bottom: 0.1333333333rem;
  color: #000000;
}

.l-cta {
  position: relative;
  padding: 1.3333333333rem 0 2rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-cta {
    padding: 7.875rem 0;
  }
}
.l-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(./images/common/cta_bg_sp.webp) center/cover no-repeat;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .l-cta::before {
    background: url(./images/common/cta_bg.webp) center/cover no-repeat;
  }
}
.l-cta__inner {
  position: relative;
  z-index: 1;
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-cta__inner {
    width: min(90%, 1280px);
  }
}
.l-cta__title {
  position: relative;
  text-align: center;
}

.l-cta__en {
  font-family: "Jost", sans-serif;
  font-size: 3.3333333333rem;
  font-weight: 700;
  color: #B1D9FF;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .l-cta__en {
    font-size: 6.25rem;
    line-height: 1.2;
  }
}
.l-cta__ja {
  font-size: 1.2666666667rem;
  font-weight: 700;
  line-height: 1.4736842105;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (min-width: 768px) {
  .l-cta__ja {
    font-size: 2.25rem;
    width: fit-content;
  }
}
.l-cta__text {
  font-size: 0.9333333333rem;
  font-weight: 500;
  margin: 1.4666666667rem 0 0;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .l-cta__text {
    font-size: 1rem;
    line-height: 1.4375;
    margin-top: 2.375rem;
  }
}
.l-cta__btn {
  margin-top: 1.6rem;
}

.l-cta__note {
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0.8666666667rem;
}

@media screen and (min-width: 768px) {
  .l-cta__note {
    font-size: 1rem;
    line-height: 1.1875;
    margin-top: 1.5rem;
  }
}
.l-detail-pagination {
  margin: 2.6666666667rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .l-detail-pagination {
    margin-top: 2.625rem;
    gap: 2.625rem;
  }
}
.l-detail-pagination__side {
  display: inline-flex;
  align-items: center;
  gap: 0.6666666667rem;
  color: #333333;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.l-detail-pagination__side--prev::before {
  content: "";
  width: 0.4666666667rem;
  height: 0.8666666667rem;
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #333333;
  transform: scaleX(-1);
}

.l-detail-pagination__side--next::after {
  content: "";
  width: 0.4666666667rem;
  height: 0.8666666667rem;
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #333333;
}

.l-detail-pagination__side.is-disabled {
  pointer-events: none;
  color: #bfbfbf;
}

.l-detail-pagination__side.is-disabled::before, .l-detail-pagination__side.is-disabled::after {
  background: #bfbfbf;
}

.l-detail-pagination__all.c-btn {
  min-width: 16rem;
  padding-block: 0.8666666667rem;
}

.l-detail-pagination__all.c-btn span {
  font-size: 1.2rem;
}

.l-detail-pagination__all.c-btn span::after {
  width: 0.6rem;
  height: 0.9333333333rem;
}

@media screen and (min-width: 768px) {
  .l-footer {
    margin-top: 1.875rem;
  }
}
.l-footer__main {
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  padding: 1.2rem 0 1.8rem;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .l-footer__main {
    padding: 3.0625rem 0 2.4375rem;
  }
}
.l-footer__inner {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .l-footer__inner {
    display: grid;
    grid-template-areas: "logo logo" "info nav";
    grid-template-columns: 31.640625vw 1fr;
    grid-template-rows: auto 1fr;
    gap: 1.125rem;
    justify-content: space-between;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid #ffffff;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__inner {
    grid-template-columns: min(35.15625vw, 38.0625rem) 1fr;
  }
}
.l-footer__logo {
  width: 25.6rem;
  margin-left: -0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .l-footer__logo {
    grid-area: logo;
    width: 44.6875%;
    margin-left: -1rem;
  }
}
.l-footer__logo a {
  display: inline-block;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .l-footer__logo a:hover {
    opacity: 0.75;
  }
}
.l-footer__logo img {
  width: 100%;
  height: auto;
}

.l-footer__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3333333333rem 3.4666666667rem;
  margin: 0.4666666667rem 0 0;
  padding-bottom: 4rem;
  border-bottom: 1px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .l-footer__nav {
    grid-area: nav;
    display: flex;
    justify-content: space-between;
    gap: 0 0.6666666667rem;
    margin-top: -0.5625rem;
    padding-bottom: 0;
    border-bottom: none;
  }
}
.l-footer__nav-list li.l-footer__nav-nowrap {
  white-space: nowrap;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .l-footer__nav-list li.l-footer__nav-nowrap {
    white-space: normal;
  }
}
.l-footer__nav-list li a {
  display: inline-block;
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-height: 1.4;
  padding: 0.4rem 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-footer__nav-list li a {
    font-size: min(1.5625vw, 1.0625rem);
    padding: 0.5625rem 0;
  }
  .l-footer__nav-list li a::after {
    content: "";
    width: 0;
    height: 1px;
    background: #ffffff;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: width 0.3s;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__nav-list li a {
    font-size: 1.0625rem;
  }
}
@media (hover: hover) {
  .l-footer__nav-list li a:hover::after {
    width: 100%;
  }
}
.l-footer__info {
  margin: 0.8666666667rem 0 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .l-footer__info {
    grid-area: info;
    margin-top: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}
.l-footer__info-closed {
  font-size: 1.0666666667rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .l-footer__info-closed {
    font-size: min(1.4322916667vw, 1rem);
    line-height: 1.625;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__info-closed {
    font-size: 1rem;
  }
}
.l-footer__info-office {
  margin: 0.1333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .l-footer__info-office {
    margin-top: 0.3125rem;
  }
}
.l-footer__info-office + .l-footer__info-office {
  margin-top: 0.7333333333rem;
}

@media screen and (min-width: 768px) {
  .l-footer__info-office + .l-footer__info-office {
    margin-top: 0.5625rem;
  }
}
.l-footer__info-office dt {
  font-size: 1.0666666667rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.l-footer__info-office dt span {
  font-size: 0.7333333333rem;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .l-footer__info-office dt {
    font-size: min(1.4322916667vw, 1.125rem);
    line-height: 1.7777777778;
  }
  .l-footer__info-office dt span {
    font-size: min(1.0416666667vw, 0.8125rem);
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__info-office dt {
    font-size: 1.125rem;
  }
}
.l-footer__info-office dd {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5333333333;
  letter-spacing: 0.05em;
  margin: 0.2rem 0 0;
}

@media screen and (min-width: 768px) {
  .l-footer__info-office dd {
    font-size: min(1.4322916667vw, 1rem);
    line-height: 1.625;
    margin-top: 0.125rem;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__info-office dd {
    font-size: 1rem;
  }
}
.l-footer__cr {
  margin: 0.4666666667rem 0 0;
  display: flex;
  flex-direction: column-reverse;
  gap: 0.0666666667rem;
}

@media screen and (min-width: 768px) {
  .l-footer__cr {
    margin-top: 0.625rem;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.875rem;
  }
}
.l-footer__copy {
  font-size: 0.8666666667rem;
  line-height: 1.4615384615;
  letter-spacing: 0.06em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-footer__copy {
    font-size: 0.875rem;
    line-height: 1.2142857143;
    letter-spacing: 0;
    flex-shrink: 0;
  }
}
.l-footer__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .l-footer__wrap {
    width: 60.078125%;
  }
}
.l-footer__links {
  display: flex;
  align-items: center;
  gap: 1em;
}

@media screen and (min-width: 768px) {
  .l-footer__links {
    gap: 8.1924577373%;
    flex: 1;
  }
}
.l-footer__links li a {
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.1666666667;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-footer__links li a {
    font-size: min(1.5625vw, 1rem);
    line-height: 1.1875;
  }
  .l-footer__links li a::after {
    content: "";
    width: 0;
    height: 1px;
    background: #ffffff;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: width 0.3s;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__links li a {
    font-size: 1rem;
  }
}
@media (hover: hover) {
  .l-footer__links li a:hover::after {
    width: 100%;
  }
}
.l-footer__lang a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: #ffffff;
  color: #000000;
  font-family: "Jost", sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  transition: background-color 0.3s, color 0.3s;
}

@media screen and (min-width: 768px) {
  .l-footer__lang a {
    width: 3.125rem;
    height: 3.125rem;
    font-size: 0.9375rem;
  }
}
@media (hover: hover) {
  .l-footer__lang a:hover {
    background: #000000;
    color: #ffffff;
  }
}
.l-footer--en .l-footer__main {
  padding-bottom: 2.8rem;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__main {
    padding-bottom: 2.4375rem;
  }
}
@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__inner {
    max-width: 1490px;
    margin-inline: auto;
    grid-template-columns: minmax(13.75rem, 0.9fr) minmax(0, 1.4fr);
    column-gap: clamp(1.25rem, 3vw, 3rem);
  }
}
@media screen and (min-width: 1280px) {
  .l-footer--en .l-footer__inner {
    grid-template-columns: minmax(17.5rem, 26.25rem) minmax(0, 1fr);
  }
}
.l-footer--en .l-footer__nav {
  grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr);
  column-gap: 1.3333333333rem;
  row-gap: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__nav {
    display: grid;
    grid-template-columns: max-content minmax(0, 1.35fr) minmax(0, 1.25fr) max-content max-content;
    column-gap: clamp(0.875rem, 1.6vw, 2.25rem);
    justify-content: stretch;
    align-items: start;
    gap: 0 clamp(0.875rem, 1.6vw, 2.25rem);
  }
}
.l-footer--en .l-footer__nav-list {
  min-width: 0;
}

.l-footer--en .l-footer__nav-list--services a, .l-footer--en .l-footer__nav-list--company a {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

.l-footer--en .l-footer__nav-list.l-footer__nav-list--home, .l-footer--en .l-footer__nav-list.l-footer__nav-list--maker, .l-footer--en .l-footer__nav-list.l-footer__nav-list--recruit {
  flex-shrink: 0;
}

.l-footer--en .l-footer__nav-heading span {
  display: inline-block;
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-height: 1.4;
  padding: 0.4rem 0;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__nav-heading span {
    font-size: min(1.5625vw, 1.0625rem);
    padding: 0.5625rem 0;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer--en .l-footer__nav-heading span {
    font-size: 1.0625rem;
  }
}
.l-footer--en .l-footer__cr {
  position: relative;
  margin-top: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__cr {
    max-width: 1490px;
    margin-inline: auto;
  }
}
.l-footer--en .l-footer__wrap {
  display: contents;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__wrap {
    display: flex;
    gap: 3.6875rem;
  }
}
.l-footer--en .l-footer__nav-list li.l-footer__nav-nowrap {
  white-space: normal;
  position: static;
  max-width: 100%;
}

.l-footer--en .l-footer__lang {
  position: absolute;
  bottom: -2.2rem;
  right: 0;
}

.l-footer--en .l-footer__lang a {
  padding-left: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__lang {
    position: static;
  }
}
.l-footer--en .l-footer__copy {
  margin-top: 0.7333333333rem;
  font-size: 0.8rem;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__copy {
    font-size: 0.875rem;
    margin-top: 0;
  }
}
.l-footer--en .l-footer__links {
  gap: 1em;
}

.l-footer--en .l-footer__links li a {
  font-size: 0.8rem;
}

@media screen and (min-width: 768px) {
  .l-footer--en .l-footer__links {
    gap: 4.125rem;
    justify-content: flex-end;
  }
  .l-footer--en .l-footer__links li a {
    font-size: 1rem;
  }
}
.l-footer-sub {
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  padding: 1rem 0 1.2666666667rem;
  color: #ffffff;
  text-align: center;
}

.l-footer-sub__copy {
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1.4285714286;
}

@media screen and (min-width: 768px) {
  .l-footer-sub {
    padding: 3.125rem 0;
  }
  .l-footer-sub__copy {
    font-size: 1rem;
    line-height: 1.4375;
  }
}
.l-footer-sub--en .l-footer-sub__copy {
  font-size: 0.8666666667rem;
}

.l-header {
  background: #ffffff;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
  padding: 0.2rem 0;
  box-shadow: 0 0 24px 0 rgba(44, 44, 44, 0.1);
  overflow-x: clip;
}

@media screen and (min-width: 1024px) {
  .l-header {
    padding: 1.25rem 0;
    box-shadow: none;
    overflow: visible;
  }
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 1rem;
}

@media screen and (min-width: 1024px) {
  .l-header__inner {
    position: relative;
    padding-left: 0.9375vw;
    padding-right: 2.1875vw;
    max-width: 1920px;
    margin-inline: auto;
  }
}
.l-header__logo {
  width: 15.8rem;
}

@media screen and (min-width: 1024px) {
  .l-header__logo {
    width: clamp(200px, 15.46875vw, 18.5625rem);
  }
}
.l-header__logo a {
  width: 100%;
  height: inherit;
  display: flex;
  align-items: center;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .l-header__logo a:hover {
    opacity: 0.7;
  }
}
.l-header__logo a img {
  display: block;
  width: 100%;
  height: auto;
}

.l-header__menubtn {
  width: 4rem;
  height: 4rem;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .l-header__menubtn {
    display: none;
  }
}
.l-header__menubtn span {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #163EA3;
  width: 2.6666666667rem;
  height: 1.5px;
  transition: 0.3s;
}

.l-header__menubtn span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(4px);
}

.l-header__menubtn span:nth-of-type(2) {
  transform: translate(-50%, -50%) translateY(-4px);
}

.l-header__menubtn.active span {
  background: #ffffff;
}

.l-header__menubtn.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}

.l-header__menubtn.active span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.l-inner {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-inner {
    width: min(90%, 1280px);
  }
}
.l-inner__wide {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-inner__wide {
    width: min(95%, 1680px);
  }
}
.l-inner__md {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-inner__md {
    width: min(90%, 1080px);
  }
}
.l-inner__sm {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-inner__sm {
    width: min(90%, 960px);
  }
}
.l-lower-mv {
  position: relative;
  padding: 4rem 0 4.7333333333rem;
  height: min(61.5384615385vw, 288px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .l-lower-mv {
    padding: 3.75vw 0 4.6354166667vw;
    height: 100%;
    min-height: max(158px, 18.0208333333vw);
    justify-content: flex-start;
  }
}
.l-lower-mv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.l-lower-mv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 390/241;
}

@media screen and (min-width: 768px) {
  .l-lower-mv__bg img {
    aspect-ratio: 1920/346;
  }
}
.l-lower-mv__title {
  position: relative;
  z-index: 1;
  padding-bottom: 1.2rem;
}

@media screen and (min-width: 768px) {
  .l-lower-mv__title {
    padding-bottom: 2.0833333333vw;
  }
}
.l-lower-mv__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 9.6rem;
  height: 0.4666666667rem;
  background: #163ea3;
}

@media screen and (min-width: 768px) {
  .l-lower-mv__title::after {
    width: 12.5rem;
    height: clamp(5px, 0.5208333333vw, 10px);
  }
}
.l-lower-mv__en {
  font-family: "Jost", sans-serif;
  font-size: 2.4666666667rem;
  font-weight: 700;
  color: #163EA3;
  line-height: 0.7027027027;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .l-lower-mv__en {
    font-size: min(6.5104166667vw, 6.25rem);
    line-height: 0.7;
  }
}
.l-lower-mv__ja {
  margin: -1.0666666667rem 0 0;
  position: relative;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4444444444;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .l-lower-mv__ja {
    margin-top: -1.75rem;
    font-size: min(2.6041666667vw, 2.25rem);
  }
}
.l-lower-mv__lead {
  position: relative;
  margin: 0.7333333333rem 0 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4666666667;
  color: #ffffff;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .l-lower-mv__lead {
    font-size: min(2.0833333333vw, 1.5rem);
    margin-top: 1rem;
  }
}
.l-lower-mv--single {
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  padding: 2.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .l-lower-mv--single {
    padding: 3rem 0;
  }
}
.l-lower-mv--single .l-lower-mv__img {
  width: 75%;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .l-lower-mv--single .l-lower-mv__img {
    width: 25%;
    margin: 0;
  }
}
.l-lower-mv--single .l-lower-mv__img img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .l-lower-mv--single .l-lower-mv__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.l-lower-mv--thanks .l-lower-mv__bg img {
  object-position: center right;
}

.l-lower-mv--transaction {
  padding: 12.0512820513vw 0 13.3333333333vw;
}

@media screen and (min-width: 768px) {
  .l-lower-mv--transaction {
    padding: 3.75vw 0 4.6354166667vw;
  }
}
.l-lower-mv--transaction .l-lower-mv__en {
  line-height: 1.05;
}

@media screen and (min-width: 768px) {
  .l-lower-mv--transaction .l-lower-mv__en {
    font-size: 4.4791666667vw;
  }
}
@media screen and (min-width: 768px) {
  .l-lower-mv--transaction .l-lower-mv__ja {
    margin-top: max(-100px, -2.6041666667vw);
  }
}
.l-lower-mv02 {
  position: relative;
  padding: 1.3333333333rem 0 0;
  aspect-ratio: 390/219;
  /* 読み込み直後のコントロール表示を隠す（再生開始まで JS で外す） */
}

@media screen and (min-width: 768px) {
  .l-lower-mv02 {
    padding: 5vw 0 0;
    aspect-ratio: 1920/1080;
  }
}
.l-lower-mv02__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.l-lower-mv02__bg iframe,
.l-lower-mv02__bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 390/219;
}

@media screen and (min-width: 768px) {
  .l-lower-mv02__bg iframe,
  .l-lower-mv02__bg video {
    aspect-ratio: 1920/1080;
    height: auto;
  }
}
.l-lower-mv02__yt-cover {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(145deg, #0b2858 0%, #061c3d 45%, #041028 100%);
  opacity: 1;
  transition: opacity 0.45s ease;
  pointer-events: none;
}

.l-lower-mv02__yt-cover.is-hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s ease, visibility 0s linear 0.45s;
}

.l-lower-mv02__title {
  position: relative;
  z-index: 1;
  display: inline-flex;
  flex-direction: column;
  padding: 0.6666666667rem 1.7333333333rem 0.4666666667rem 1rem;
}

@media screen and (min-width: 768px) {
  .l-lower-mv02__title {
    padding: 2.1875rem 6rem 1.5rem 3.8125rem;
  }
}
.l-lower-mv02__title::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70vw;
  height: 100%;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  clip-path: polygon(0 0, 95% 0, 100% 100%, 0% 100%);
  z-index: -1;
}

.l-lower-mv02__en {
  font-family: "Jost", sans-serif;
  font-size: 1.6666666667rem;
  font-weight: 700;
  color: #163EA3;
  line-height: 0.6857142857;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .l-lower-mv02__en {
    font-size: min(7.8125vw, 6.25rem);
    line-height: 0.7;
  }
}
.l-lower-mv02__ja {
  margin: -0.5333333333rem 0 0;
  position: relative;
  font-size: 1.1333333333rem;
  font-weight: 700;
  line-height: 1.1764705882;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .l-lower-mv02__ja {
    margin-top: -1.75rem;
    font-size: min(3.125vw, 2.25rem);
  }
}
.l-lower-mv02--recruit .l-lower-mv02__ja {
  font-size: 0.6rem;
}

@media screen and (min-width: 768px) {
  .l-lower-mv02--recruit .l-lower-mv02__ja {
    font-size: 2.25rem;
  }
}
.l-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5333333333rem;
}

.l-pagination__nums {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}

.l-pagination a.l-pagination__page,
.l-pagination span.l-pagination__page {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1333333333rem;
  min-width: 2.1333333333rem;
  height: 2.1333333333rem;
  border: 1px solid #0082D6;
  color: #0082D6;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  padding: 0;
  vertical-align: middle;
}

.l-pagination a.l-pagination__page.current,
.l-pagination span.l-pagination__page.current {
  background: #0082D6;
  color: #ffffff;
  border-color: #0082D6;
}

.l-pagination__edge {
  display: inline-flex;
  align-items: center;
  gap: 0.6666666667rem;
  min-height: 2.1333333333rem;
  border: none;
  width: auto;
  height: auto;
  color: #333333;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-size: 1.0666666667rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
}

.l-pagination__edge.l-pagination__edge--first::before {
  content: "";
  flex-shrink: 0;
  width: 0.4666666667rem;
  height: 0.8666666667rem;
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #000000;
  margin-top: 0.1333333333rem;
  transform: scaleX(-1);
}

.l-pagination__edge.l-pagination__edge--last::after {
  content: "";
  flex-shrink: 0;
  width: 0.4666666667rem;
  height: 0.8666666667rem;
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #000000;
  margin-top: 0.1333333333rem;
}

.l-pagination__edge.is-disabled {
  cursor: default;
  pointer-events: none;
  color: #ccc;
}

.l-pagination__edge.is-disabled::before, .l-pagination__edge.is-disabled::after {
  background: #ccc;
}

.l-pagination__edge:not(.is-disabled):hover {
  color: #0082D6;
}

.l-pagination__edge:not(.is-disabled):hover::before, .l-pagination__edge:not(.is-disabled):hover::after {
  background: #0082D6;
}

@media screen and (min-width: 768px) {
  .l-pagination {
    gap: 0.8125rem;
  }
  .l-pagination .l-pagination__nums {
    gap: 0.75rem;
  }
  .l-pagination a.l-pagination__page,
  .l-pagination span.l-pagination__page {
    width: 2rem;
    min-width: 2rem;
    height: 2rem;
    font-size: 0.9375rem;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .l-pagination a.l-pagination__page:hover {
    background: #0082D6;
    color: #ffffff;
  }
}
@media screen and (min-width: 768px) {
  .l-pagination__edge {
    min-height: 2rem;
    padding: 0 0.625rem;
    font-size: 1rem;
    transition: color 0.3s;
  }
  .l-pagination__edge::before, .l-pagination__edge::after {
    width: 0.8125rem;
    height: 1.625rem;
    transition: background 0.3s;
  }
}
.c-ancher-nav {
  margin: 1.3333333333rem auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
}

@media screen and (min-width: 768px) {
  .c-ancher-nav {
    margin-top: 2.0625rem;
    flex-wrap: nowrap;
    gap: 1.5625rem;
  }
}
.c-ancher-nav a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2666666667rem 0 0.6rem;
  border-top: 1px solid #163EA3;
  border-bottom: 1px solid #163EA3;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.07em;
  text-align: center;
  color: #163EA3;
  transition: color 0.3s;
  width: 43.8888888889%;
}

@media screen and (min-width: 768px) {
  .c-ancher-nav a {
    padding: 0.75rem 0 1.0625rem;
    font-size: 1rem;
    gap: 0.375rem;
    width: 9.875rem;
  }
}
.c-ancher-nav a::after {
  content: "";
  flex-shrink: 0;
  width: 0.8666666667rem;
  height: 0.4666666667rem;
  background: url(./images/common/ico_arrow_anchor.svg) center/contain no-repeat;
  transition: transform 0.3s;
}

@media (hover: hover) {
  .c-ancher-nav a:hover {
    color: #000000;
  }
  .c-ancher-nav a:hover::after {
    transform: translateY(5px);
  }
}
.c-ancher-nav--wide a {
  width: 43.5897435897%;
  font-size: 0.9333333333rem;
}

@media screen and (min-width: 768px) {
  .c-ancher-nav--wide a {
    width: 12.625rem;
  }
}
@media screen and (min-width: 768px) {
  .c-ancher-nav--sm {
    gap: 0.6875rem;
  }
  .c-ancher-nav--sm a {
    width: 4.8666666667rem;
  }
}
.c-ancher-nav--en a.c-ancher-nav__link-wide {
  width: 47.2222222222%;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .c-ancher-nav--en a.c-ancher-nav__link-wide {
    width: 11.4375rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 768px) {
  .c-ancher-nav--en a {
    width: 11.4375rem;
  }
}
.c-btn {
  padding: 0.7333333333rem 2.1333333333rem 0.8rem;
  border-radius: 2.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  transition: border-color 0.3s;
}

.c-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: transform 0.3s;
}

.c-btn::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s;
}

.c-btn span {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.3125;
  letter-spacing: 0.07em;
  color: #ffffff;
  position: relative;
  z-index: 2;
  transition: color 0.3s;
}

@media screen and (min-width: 768px) {
  .c-btn {
    padding-inline: 1.25rem;
  }
  .c-btn span {
    font-size: min(1.5625vw, 1rem);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .c-btn:hover {
    border-color: #163EA3;
  }
  .c-btn:hover::before {
    transform: translateX(100%);
  }
  .c-btn:hover span {
    color: #163EA3;
  }
  .c-btn:hover span::after {
    background: #163EA3;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn {
    padding: 0.6875rem 2.5625rem 0.75rem;
  }
}
.c-btn--arrow {
  min-width: 18.5333333333rem;
  padding: 1.1333333333rem 1.0666666667rem;
}

.c-btn--arrow span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.3333333333rem;
  letter-spacing: 0.03em;
}

.c-btn--arrow span::after {
  content: "";
  width: 0.4rem;
  height: 0.5333333333rem;
  mask-image: url(./images/common/ico_btn_arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_btn_arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #ffffff;
  margin-top: 0.1333333333rem;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .c-btn--arrow span::after {
    width: 0.375rem;
    height: 0.5625rem;
  }
}
.c-btn--sm {
  padding: 0.4666666667rem 1.8666666667rem;
  min-width: auto;
}

.c-btn--sm span {
  font-size: 0.9333333333rem;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .c-btn--sm {
    padding: 0.4375rem 1.875rem 0.5rem;
  }
  .c-btn--sm span {
    font-size: 1rem;
  }
}
.c-btn--white {
  background: #ffffff;
  padding: 0.9333333333rem;
  border: none;
  transition: background 0.3s;
}

.c-btn--white::before {
  background: #ffffff;
}

.c-btn--white::after {
  background: #163EA3;
}

.c-btn--white span {
  color: #163EA3;
  font-size: 1rem;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .c-btn--white:hover span {
    color: #ffffff;
  }
}
.c-image-modal {
  position: fixed;
  inset: 0;
  z-index: 800;
  display: none;
}

.c-image-modal.is-open {
  display: block;
}

.c-image-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  cursor: pointer;
}

.c-image-modal__content {
  position: relative;
  z-index: 1;
  margin: 5.3333333333rem auto 0;
  width: min(100% - 2rem, 40.8rem);
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-image-modal__content {
    margin-top: 8rem;
  }
}
.c-image-modal__img-wrap {
  box-shadow: 0 0 9.656px 0 rgba(0, 0, 0, 0.25);
  max-width: 24rem;
  max-height: calc(100vh - 9.3333333333rem);
  overflow-y: auto;
  margin: 0 auto;
}

.c-image-modal__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media screen and (min-width: 768px) {
  .c-image-modal__img-wrap {
    max-width: 35.875rem;
  }
}
.c-image-modal__close {
  position: fixed;
  top: 1.8666666667rem;
  right: 1.8666666667rem;
  width: 2.6666666667rem;
  height: 2.6666666667rem;
  background: transparent;
  border: 0;
  cursor: pointer;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .c-image-modal__close {
    width: 3.4375rem;
    height: 3.4375rem;
    top: 4rem;
    right: calc(50% - 23.4375rem);
  }
}
.c-image-modal__close::before, .c-image-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 1px;
  background: #ffffff;
  transform-origin: center;
}

@media screen and (min-width: 768px) {
  .c-image-modal__close::before, .c-image-modal__close::after {
    width: 4.875rem;
  }
}
.c-image-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-image-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-image-modal--gallery .c-image-modal__content {
  width: 100%;
  max-width: none;
  margin-top: 4.2666666667rem;
  padding: 0;
  box-sizing: border-box;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .c-image-modal--gallery .c-image-modal__content {
    width: min(100% - 7.5rem, 62.5rem);
    max-width: 62.5rem;
    margin-top: 6rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.c-image-modal--gallery .c-image-modal__close {
  position: absolute;
  top: -2.6666666667rem;
  right: 0.5333333333rem;
  width: 2.6666666667rem;
  height: 2.6666666667rem;
  pointer-events: auto;
}

@media screen and (min-width: 768px) {
  .c-image-modal--gallery .c-image-modal__close {
    top: -3.5rem;
    right: 0;
    width: 3.4375rem;
    height: 3.4375rem;
  }
}
.c-image-modal--gallery .p-seastorm-model__gallery-frame,
.c-image-modal--gallery .p-whaly-options__gallery-frame,
.c-image-modal--gallery .swiper-button-prev,
.c-image-modal--gallery .swiper-button-next {
  pointer-events: auto;
}

body.is-modal-open {
  overflow: hidden;
}

.c-loop-slider {
  width: 100vw;
  overflow: hidden;
}

.c-loop-slider__track {
  display: flex;
  width: max-content;
  animation: loop-slide 39s linear infinite;
}

.c-loop-slider__list {
  display: flex;
}

.c-loop-slider__item {
  width: 23.1333333333rem;
  flex-shrink: 0;
  margin-right: 0.4666666667rem;
}

@media screen and (min-width: 768px) {
  .c-loop-slider__item {
    width: 21.6875rem;
  }
}
.c-loop-slider__item img {
  width: 100%;
  aspect-ratio: 347/344;
  object-fit: cover;
  display: block;
}

.c-mask {
  position: relative;
  overflow: hidden;
}

.c-mask::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  transform: translateX(0%);
  transition: all 0.3s ease-in-out 0.3s;
}

.c-mask img {
  vertical-align: middle;
  transform: translateX(0%);
}

.c-mask.js-on::after {
  transform: translateX(100%);
}

.c-news-cat {
  display: flex;
  flex-direction: column;
  gap: 1.5333333333rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-news-cat {
    gap: 1.25rem;
  }
}
.c-news-cat__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}

@media screen and (min-width: 768px) {
  .c-news-cat__row {
    flex-direction: row;
    align-items: baseline;
    gap: 0.6666666667rem 0.6666666667rem;
  }
}
.c-news-cat__label {
  flex-shrink: 0;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.5625;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .c-news-cat__label {
    font-size: 1rem;
  }
}
.c-news-cat__pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6666666667rem 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .c-news-cat__pills {
    gap: 0.625rem;
  }
}
.c-news-cat__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.1333333333rem 0.8rem 0.2666666667rem;
  border: 1px solid #0082D6;
  border-radius: 1.3333333333rem;
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 1.9230769231;
  letter-spacing: 0.07em;
  color: #0082D6;
  background-color: #ffffff;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}

@media screen and (min-width: 768px) {
  .c-news-cat__pill {
    font-size: 1rem;
    line-height: 1.5625;
    padding: 0.375rem 1.75rem 0.5rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .c-news-cat__pill:hover {
    color: #ffffff;
    background-color: #0082D6;
    border-color: #0082D6;
  }
}
.c-news-cat__pill.is-current {
  color: #ffffff;
  background-color: #0082D6;
  border-color: #0082D6;
  pointer-events: none;
}

.c-postarea {
  letter-spacing: 0.04em;
  color: #333333;
}

@media screen and (min-width: 768px) {
  .c-postarea {
    letter-spacing: 0.07em;
  }
}
.c-postarea p {
  font-size: 1.0666666667rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .c-postarea p {
    font-size: 1rem;
  }
}
.c-postarea h2 {
  margin: 3.3333333333rem 0 1.2rem;
  border-left: 2px solid #0082D6;
  border-bottom: 2px solid #0082D6;
  padding: 0 0 0.7333333333rem 0.9333333333rem;
  font-size: 1.4666666667rem;
  font-weight: 600;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .c-postarea h2 {
    margin-top: 2.3125rem;
    padding: 0 0 1.1875rem 1rem;
    font-size: 2rem;
  }
}
.c-postarea h3 {
  margin: 1.2rem 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  position: relative;
  padding-left: 1.8666666667rem;
}

.c-postarea h3::before {
  content: "■";
  color: #163EA3;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .c-postarea h3 {
    margin: 1.875rem 0;
    padding-left: 2.8125rem;
    font-size: 1.625rem;
  }
}
.c-postarea h4 {
  margin: 1.2rem 0;
  border-bottom: 1px solid #0a489d;
  padding-bottom: 0.4666666667rem;
  font-size: 1.0666666667rem;
  font-weight: 600;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .c-postarea h4 {
    margin: 1.875rem 0;
    font-size: 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #0a489d;
    position: relative;
  }
  .c-postarea h4::before {
    content: "";
    position: absolute;
    bottom: -0.125rem;
    left: 0;
    width: 3.25rem;
    height: 0.125rem;
    background: #0082D6;
  }
}
.c-postarea h5 {
  margin: 1.2rem 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #0082D6;
}

@media screen and (min-width: 768px) {
  .c-postarea h5 {
    margin: 1.875rem 0;
    font-size: 1.125rem;
  }
}
.c-postarea h6 {
  margin: 1.2rem 0;
  font-size: 0.9333333333rem;
  font-weight: 600;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .c-postarea h6 {
    margin: 1.875rem 0;
    font-size: 1rem;
  }
}
.c-postarea ul,
.c-postarea ol {
  margin: 1.1333333333rem 0 1.0666666667rem;
  display: grid;
  gap: 0.8rem;
}

@media screen and (min-width: 768px) {
  .c-postarea ul,
  .c-postarea ol {
    margin: 1.875rem 0;
    gap: 1rem;
  }
}
.c-postarea ul li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.9333333333rem;
  line-height: 1.5;
  letter-spacing: 0;
}

.c-postarea ul li::before {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 0.4666666667rem;
  height: 0.4666666667rem;
  border-radius: 50%;
  background: #0082D6;
}

@media screen and (min-width: 768px) {
  .c-postarea ul li {
    font-size: 1rem;
    padding-left: 1.125rem;
  }
  .c-postarea ul li::before {
    top: 0.4375rem;
    width: 0.8125rem;
    height: 0.8125rem;
  }
}
.c-postarea ol {
  counter-reset: news-ol;
}

.c-postarea ol li {
  counter-increment: news-ol;
  font-size: 0.9333333333rem;
  line-height: 1.5;
  letter-spacing: 0;
  position: relative;
  padding-left: 1rem;
}

.c-postarea ol li::before {
  content: counter(news-ol) ". ";
  color: #0082D6;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .c-postarea ol li {
    font-size: 1rem;
    padding-left: 1.125rem;
  }
}
.c-postarea blockquote {
  margin: 2.6666666667rem 0 2rem;
  background: #f5f5f6;
  padding: 1.6rem 1.3333333333rem;
  font-size: 0.9333333333rem;
  line-height: 2;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .c-postarea blockquote {
    margin: 2.9375rem 0 2.6875rem;
    padding: 2.0625rem 1.875rem;
    font-size: 1rem;
  }
}
.c-postarea table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .c-postarea table {
    font-size: 1rem;
    table-layout: auto;
    width: auto !important;
    min-width: 42.0625rem;
    margin-inline: auto;
    margin: 1.875rem auto;
  }
}
.c-postarea th,
.c-postarea td {
  border: 1px solid #333;
  padding: 0.4rem 0.6rem;
  font-size: 0.9333333333rem;
  letter-spacing: 0;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}

@media screen and (min-width: 768px) {
  .c-postarea th,
  .c-postarea td {
    padding: 0.375rem 0.625rem;
    font-size: 1rem;
    width: 23.4375%;
  }
}
.c-postarea a {
  display: inline-block;
  color: #163EA3;
  position: relative;
}

.c-postarea a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #163EA3;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .c-postarea a:hover::after {
    width: 0;
  }
}
.c-postarea figure,
.c-postarea .wp-block-image {
  margin: 1.6666666667rem 0;
}

@media screen and (min-width: 768px) {
  .c-postarea figure,
  .c-postarea .wp-block-image {
    margin: 1.875rem 0 2.5rem;
  }
}
.c-postarea figure img,
.c-postarea .wp-block-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.c-title {
  position: relative;
  text-align: center;
  width: 100%;
}

.c-title__en {
  font-family: "Jost", sans-serif;
  font-size: 3.3333333333rem;
  font-weight: 700;
  color: #DFF1FC;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .c-title__en {
    font-size: min(8.8541666667vw, 6.25rem);
    line-height: 1.2;
  }
}
.c-title__ja {
  font-size: 1.2666666667rem;
  font-weight: 700;
  line-height: 1.4736842105;
  color: #163EA3;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-title__ja {
    font-size: min(3.3854166667vw, 2.25rem);
  }
}
.c-title--deep-blue .c-title__en {
  color: #163EA3;
}

.c-title--deep-blue .c-title__ja {
  color: #ffffff;
}

.c-title--maker .c-title__en {
  color: #C0DEF1;
}

.c-title02 {
  margin: 0;
  padding: 0.2rem 1rem 0.3333333333rem;
  text-align: center;
  color: #ffffff;
  font-size: 1.0666666667rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
}

@media screen and (min-width: 768px) {
  .c-title02 {
    padding: 0.75rem 0.9375rem 0.8125rem;
    font-size: 1.125rem;
    letter-spacing: 0;
  }
}
.p-bcp-type {
  margin: 0.3333333333rem calc(50% - 50vw) 0;
}

@media screen and (min-width: 768px) {
  .p-bcp-type {
    margin: 0;
  }
}
.p-bcp-type__card {
  background: #DFF1FC;
  padding: 2rem 1rem 2.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__card {
    padding: 1.875rem 1.875rem 3.125rem;
  }
}
.p-bcp-type__card + .p-bcp-type__card {
  margin-top: 2.3333333333rem;
}

.p-bcp-type__title {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4444444444;
  text-align: center;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__title {
    font-size: 1.125rem;
  }
}
.p-bcp-type__wrap {
  margin: 1rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__wrap {
    max-width: 1175px;
    margin: 1.25rem auto 0;
    display: flex;
    flex-direction: row-reverse;
    gap: 2.9787234043%;
  }
}
@media screen and (min-width: 768px) {
  .p-bcp-type__img {
    width: 33.1063829787%;
  }
}
.p-bcp-type__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 360/227;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__img img {
    aspect-ratio: 389/247;
  }
}
.p-bcp-type__body {
  margin: 1.2666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__body {
    margin: 0;
    width: 63.914893617%;
    display: flex;
    flex-direction: column;
  }
}
.p-bcp-type__example {
  margin: 1rem 0 0;
  background: #ffffff;
  padding: 1.3333333333rem 1.2rem 1.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__example {
    margin-top: 1.0625rem;
    padding: 1.0625rem 0.9375rem 1.5625rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.p-bcp-type__example ul {
  margin: 0.4rem auto 0;
  color: #163EA3;
  font-weight: 500;
  line-height: 1.8;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__example ul {
    margin-top: 0.5rem;
  }
}
.p-bcp-type__example ul li {
  padding-left: 1.3em;
  position: relative;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__example ul li {
    line-height: 1.5;
  }
}
.p-bcp-type__example ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.1em;
}

.p-bcp-type__example-title {
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-bcp-type__example-title {
    font-size: 1rem;
  }
}
.p-bcp {
  padding: 1.2rem 0 3.3333333333rem;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-bcp {
    padding: 3.125rem 0 5.75rem;
  }
}
.p-bcp__block {
  display: grid;
  gap: 1rem;
}

@media screen and (min-width: 768px) {
  .p-bcp__block {
    gap: 1.625rem;
  }
}
.p-bcp__block + .p-bcp__block {
  margin-top: 2.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-bcp__block + .p-bcp__block {
    margin-top: 2.8125rem;
  }
}
.p-bcp__bar-title {
  color: #ffffff;
  text-align: center;
  background: linear-gradient(to right, #90c3ff 0%, #096ee6 80.43%);
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0.4rem 0;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-bcp__bar-title {
    font-size: 1.5rem;
    line-height: 1.2083333333;
    padding: 1rem;
  }
  .p-bcp__bar-title span {
    display: inline-block;
  }
}
.p-bcp__text p {
  text-align: justify;
}

.p-bcp__text p + p {
  margin-top: 1.5em;
}

.p-bcp__diagram {
  margin: 1.3333333333rem 0 0;
  display: grid;
  gap: 1.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-bcp__diagram {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.9574861368%;
    margin: 1.625rem auto 1.5625rem;
    max-width: 1082px;
  }
}
.p-bcp__diagram img {
  width: 100%;
  height: auto;
  display: block;
}

.p-bcp__wrap {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.p-bcp__wrap .p-bcp__text {
  order: 2;
}

@media screen and (min-width: 768px) {
  .p-bcp__wrap {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.625rem 3.59375%;
  }
  .p-bcp__wrap .p-bcp__text {
    order: 1;
  }
}
.p-bcp__img-wrap {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-bcp__img-wrap {
    display: grid;
    gap: 1.625rem;
    order: 2;
    width: 44.53125%;
  }
}
.p-bcp__solution-img {
  order: 1;
}

.p-bcp__solution-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 360/205;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-bcp__solution-img img {
    aspect-ratio: 570/314;
  }
}
.p-bcp__img-text {
  order: 4;
}

@media screen and (min-width: 768px) {
  .p-bcp__img-text {
    line-height: 1.5;
  }
}
.p-bcp__points {
  display: grid;
  gap: 1.5em;
  order: 3;
}

.p-bcp__points h3 {
  font-size: 1rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-bcp__points h3 {
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  .p-bcp__points p {
    line-height: 1.5;
  }
}
.p-bcp__points ul li {
  position: relative;
  padding-left: 1em;
}

@media screen and (min-width: 768px) {
  .p-bcp__points ul li {
    line-height: 1.5;
  }
}
.p-bcp__points ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .p-bcp__points {
    width: 51.875%;
  }
  .p-bcp__points h3 {
    font-size: 1rem;
  }
}
.p-case-study {
  padding: 3.5333333333rem 0 4rem;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-case-study {
    padding: 5.9375rem 0 6.5625rem;
  }
}
.p-case-study__inner {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-case-study__inner {
    display: block;
  }
}
.p-case-study__head-wrap {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-case-study__head-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(1.3020833333vw, 1.25rem);
  }
}
.p-case-study__head {
  order: 1;
}

@media screen and (min-width: 768px) {
  .p-case-study__head {
    text-align: left;
    white-space: nowrap;
  }
}
.p-case-study__terms {
  margin: 1.6rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0.8rem;
  order: 2;
}

@media screen and (min-width: 768px) {
  .p-case-study__terms {
    margin-top: 3.5625rem;
    gap: 0.9375rem 2.0625rem;
  }
}
.p-case-study__terms-item a {
  padding: 0.2rem 1rem;
  border: 1px solid #000000;
  border-radius: 1.3333333333rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9333333333rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.07em;
  transition: color 0.3s, border-color 0.3s, background-color 0.3s;
}

@media screen and (min-width: 768px) {
  .p-case-study__terms-item a {
    padding: 0.1875rem 0.9375rem;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-case-study__terms-item a:hover {
    color: #ffffff;
    border-color: #163EA3;
    background: #163EA3;
  }
}
.p-case-study__sub-title {
  margin: 1.5333333333rem 0 0;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  order: 2;
}

@media screen and (min-width: 768px) {
  .p-case-study__sub-title {
    margin-top: 1.5625rem;
    font-size: 1.25rem;
  }
}
.p-case-study__slider-wrap {
  margin: 1.9333333333rem calc(50% - 50vw) 0 0;
  order: 3;
}

@media screen and (min-width: 768px) {
  .p-case-study__slider-wrap {
    margin-top: 2.125rem;
  }
}
.p-case-study__slider-wrap.is-static {
  margin-right: 0;
}

.p-case-study__slider.is-static {
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding-right: 0;
}

.p-case-study__slider.is-static::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-case-study__slider.is-static .p-case-study__slider-inner {
    width: max-content;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.9375rem;
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-case-study__slider.is-static .p-case-study__slider-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-case-study__slider.is-static .p-case-study__slide {
  width: 100%;
}

.p-case-study__card {
  display: block;
  transition: color 0.3s;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-case-study__card:hover {
    color: #163EA3;
  }
  .p-case-study__card:hover .p-case-study__img img {
    transform: scale(1.1);
  }
}
.p-case-study__img {
  overflow: hidden;
}

.p-case-study__img img {
  width: 100%;
  aspect-ratio: 300/201;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
  .p-case-study__img img {
    aspect-ratio: 326/201;
  }
}
.p-case-study__meta {
  margin: 0.6666666667rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .p-case-study__meta {
    margin-top: 0.625rem;
  }
}
.p-case-study__date {
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-height: 2.3571428571;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-case-study__date {
    font-size: 0.875rem;
  }
}
.p-case-study__tag {
  padding: 0.2rem 1rem;
  border: 1px solid #000000;
  border-radius: 1.3333333333rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9333333333rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-case-study__tag {
    min-height: 1.6875rem;
    padding: 0.1875rem 0.9375rem;
    font-size: clamp(10px, 0.7291666667vw, 0.875rem);
  }
}
.p-case-study__title {
  margin: 0.6666666667rem 0 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.07em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-case-study__title {
    margin-top: 0.1875rem;
    font-size: 1.125rem;
    line-height: 1.8102029622;
  }
}
.p-case-study__btn {
  text-align: center;
  margin: 1.3333333333rem 0 0;
  order: 4;
}

@media screen and (min-width: 768px) {
  .p-case-study__btn {
    margin-top: 0;
    flex-shrink: 0;
  }
}
.p-case-study__empty {
  margin-top: 2rem;
  padding: 1.6rem 0;
  text-align: center;
  order: 3;
}

.p-company {
  margin: 0.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-company {
    margin-top: 2.1875rem;
  }
}
.p-company__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-company__table th,
.p-company__table td {
  font-weight: 400;
  vertical-align: top;
  text-align: left;
  line-height: 1.75;
}

.p-company__table th {
  padding: 1.3333333333rem 0 0;
  display: block;
  width: 100%;
  font-size: 1.0666666667rem;
}

.p-company__table td {
  display: block;
  width: 100%;
  padding: 0.5333333333rem 0 1.3333333333rem;
  border-bottom: 1px solid #000000;
}

.p-company__table a {
  display: inline-block;
  color: #163EA3;
  position: relative;
  padding-bottom: 0.2rem;
  font-size: 1.0666666667rem;
}

.p-company__table a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #163EA3;
  transition: width 0.3s;
}

@media screen and (min-width: 768px) {
  .p-company__table {
    margin: 2.8125rem 0 0;
  }
  .p-company__table tr {
    display: grid;
    grid-template-columns: 22.5rem 1fr;
    gap: 1.40625%;
  }
  .p-company__table th,
  .p-company__table td {
    font-size: 1rem;
  }
  .p-company__table th {
    border-bottom: 2px solid #163EA3;
    padding: 1.25rem 0 1.25rem 1.25rem;
  }
  .p-company__table td {
    padding: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-company__table a:hover::after {
    width: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-company--en .p-company__table tr {
    grid-template-columns: 16.75rem 1fr;
  }
}
.p-contact {
  margin: 1.3333333333rem 0 0;
  overflow: clip;
}

@media screen and (min-width: 768px) {
  .p-contact {
    margin-top: 2.9375rem;
  }
}
.p-contact__lead p {
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-contact__lead p {
    text-align: center;
  }
}
.p-contact__lead p + p {
  margin-top: 1.5em;
}

@media screen and (min-width: 768px) {
  .p-contact__lead p + p {
    margin-top: 2em;
  }
}
.p-contact__tel {
  margin: 2.8666666667rem 0 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-contact__tel {
    margin-top: 5rem;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem 3.125%;
  }
  .p-contact__tel li {
    width: 25rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-contact__tel {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .p-contact__tel li {
    width: 100%;
  }
}
.p-contact__tel-btn {
  display: inline-block;
  padding: 0.6rem 1.3333333333rem;
  color: #ffffff;
  background: linear-gradient(90deg, #91C4FF 0%, #4394F2 18.13%, #0563D2 65.92%);
  border-radius: 2.7333333333rem;
  text-align: center;
  width: min(100%, 24rem);
}

@media screen and (min-width: 768px) {
  .p-contact__tel-btn {
    padding: 1.5rem 0.3125rem;
    border-radius: 0;
    background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
    width: 100%;
    min-height: 12.125rem;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.p-contact__tel-heading {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.07em;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-contact__tel-heading {
    font-size: 1.1875rem;
    line-height: 1.4736842105;
    letter-spacing: 0;
    padding-bottom: 0.8125rem;
    position: relative;
  }
  .p-contact__tel-heading::after {
    content: "";
    display: block;
    width: 4.9333333333rem;
    border-bottom: 2px solid #ffffff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 1024px) {
  .p-contact__tel-heading {
    font-size: min(1.3671875vw, 1.1875rem);
  }
}
.p-contact__tel-num {
  font-size: 1.2666666667rem;
  font-weight: 700;
  line-height: 1.5;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-contact__tel-num {
    font-size: 1.1875rem;
    margin-top: 1.3125rem;
  }
}
.p-contact__tel-hours {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-contact__tel-hours {
    font-size: 1rem;
    line-height: 1.4375;
    margin-top: 0.3125rem;
    color: #ffffff;
  }
}
.p-contact__form {
  margin: 3.5333333333rem 0 0;
  padding: 3.8rem 0 5.0666666667rem;
  background: #DFF1FC;
}

@media screen and (min-width: 768px) {
  .p-contact__form {
    margin-top: 7.5rem;
    padding: 7.9375rem 0;
  }
}
.p-contact__form-box {
  padding: 3.3333333333rem 1.3333333333rem 5.0666666667rem;
  background: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-contact__form-box {
    padding: 3.125rem 12.5% 4.75rem;
  }
}
.p-contact__form-title {
  font-size: 1.6rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-contact__form-title {
    font-size: 1.5rem;
  }
}
.p-contact__form-sub {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-contact__form-sub {
    font-size: 1rem;
  }
}
.p-contact__form-note {
  margin: 1.6666666667rem -0.6666666667rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-contact__form-note {
    margin: 2.625rem 0;
    font-size: 1rem;
  }
}
.p-contact form .wpcf7 form .wpcf7-response-output {
  display: none;
}

.p-contact form + .wpcf7-response-output {
  border: none !important;
  text-align: center;
  white-space: nowrap;
  font-size: 0.8rem !important;
  color: #FF0000;
  font-weight: 500;
  margin: 0 !important;
  padding: 0.5333333333rem 0 0 !important;
  font-weight: bold;
  display: block !important;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .p-contact form + .wpcf7-response-output {
    font-size: 0.8125rem !important;
    display: block !important;
  }
}
.p-contact form .wpcf7-not-valid-tip {
  position: absolute;
  bottom: 3px;
  left: 0;
  width: 100%;
  display: block;
  white-space: nowrap;
  transform: translateY(100%);
  font-size: 0.8rem;
  color: #FF0000;
  font-weight: 500;
  margin: 0;
  padding: 0.2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-contact form .wpcf7-not-valid-tip {
    font-size: 0.8125rem;
    padding: 0.25rem 0 0;
  }
}
.p-contact form .wpcf7-not-valid {
  border: 1px solid #FF0000;
}

.p-contact form:has(.wpcf7-not-valid) .p-contact__btn {
  opacity: 0.8;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-contact form:not(:has(.wpcf7-not-valid)) .p-contact__btn:has(.wpcf7-submit:enabled):hover {
    border-color: #163EA3;
  }
  .p-contact form:not(:has(.wpcf7-not-valid)) .p-contact__btn:has(.wpcf7-submit:enabled):hover::before {
    transform: translateX(100%);
  }
  .p-contact form:not(:has(.wpcf7-not-valid)) .p-contact__btn:has(.wpcf7-submit:enabled):hover .wpcf7-submit,
  .p-contact form:not(:has(.wpcf7-not-valid)) .p-contact__btn:has(.wpcf7-submit:enabled):hover input[type=submit] {
    color: #163EA3;
  }
}
.p-contact__item:not(:first-of-type) {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .p-contact__item:not(:first-of-type) {
    margin-top: 2.625rem;
  }
}
.p-contact__label {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.8;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-contact__label {
    font-size: 1rem;
  }
}
.p-contact__input {
  position: relative;
  margin: 0.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-contact__input {
    margin: 1.375rem 0 0;
  }
}
.p-contact__input input {
  width: 100%;
  border: none;
  background: #ffffff;
  padding: 0.8rem 2rem;
  font-size: 16px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-weight: 400;
  line-height: 2;
  border-radius: 4px;
  border: 1px solid #888;
}

@media screen and (min-width: 768px) {
  .p-contact__input input {
    font-size: 1rem;
    padding: 0.75rem 1.875rem;
  }
}
.p-contact__input textarea {
  width: 100%;
  padding: 0.8rem 2rem;
  font-size: 16px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  height: 13.3333333333rem;
  background: #ffffff;
  display: block;
  border-radius: 4px;
  border: 1px solid #888;
}

.p-contact__input textarea.serial {
  height: 5.6rem;
}

@media screen and (min-width: 768px) {
  .p-contact__input textarea {
    height: 14rem;
    font-size: 1rem;
    padding: 0.75rem 1.875rem;
  }
  .p-contact__input textarea.serial {
    height: 3.625rem;
  }
}
.p-contact__input .wpcf7-form-control-wrap {
  display: block;
}

.p-contact__select {
  position: relative;
  margin: 0.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-contact__select {
    margin-top: 1.375rem;
  }
}
.p-contact__select::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  width: 1.0666666667rem;
  height: 0.6rem;
  background: url(./images/contact/select_arrow.svg) no-repeat center center/contain;
  pointer-events: none;
}

.p-contact__select .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.p-contact__select select {
  width: 100%;
  height: auto;
  background: #ffffff;
  border-radius: 4px;
  border: 1px solid #888;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  line-height: 2;
  padding: 0.7333333333rem 2rem;
  font-size: 16px;
}

@media screen and (min-width: 768px) {
  .p-contact__select select {
    font-size: 1rem;
    padding: 0.75rem 1.875rem;
  }
}
.p-contact ::placeholder {
  color: #888;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-contact ::placeholder {
    font-size: 1rem;
  }
}
.p-contact__privacypolicy {
  text-align: center;
  margin: 2rem 0 0;
}

.p-contact__privacypolicy label {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.p-contact__privacypolicy label input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.p-contact__privacypolicy label input:checked + span::after {
  opacity: 1;
}

.p-contact__privacypolicy label span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 1rem;
  line-height: 2;
  position: relative;
  cursor: pointer;
}

.p-contact__privacypolicy label span a {
  position: relative;
  color: #0082D6;
  transition: opacity 0.3s;
}

.p-contact__privacypolicy label span a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #0082D6;
  transition: width 0.3s;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-contact__privacypolicy label span a:hover {
    opacity: 0.7;
  }
  .p-contact__privacypolicy label span a:hover::after {
    width: 0;
  }
}
.p-contact__privacypolicy label span::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  border: 2px solid #000000;
  margin-right: 1.0666666667rem;
}

.p-contact__privacypolicy label span::after {
  display: block;
  position: absolute;
  z-index: 2;
  content: "";
  top: 0;
  left: 0.5333333333rem;
  width: 0.6666666667rem;
  height: 1.3333333333rem;
  border-bottom: 2px solid #163EA3;
  border-right: 2px solid #163EA3;
  transform: rotate(45deg);
  opacity: 0;
  transition: 0.3s;
}

.p-contact__privacypolicy .wpcf7-list-item {
  margin: 0;
}

.p-contact__privacypolicy .wpcf7-not-valid {
  border-color: transparent;
}

.p-contact__privacypolicy .wpcf7-not-valid-tip {
  padding-left: 2rem;
}

@media screen and (min-width: 768px) {
  .p-contact__privacypolicy {
    margin-top: 4.75rem;
  }
  .p-contact__privacypolicy label span {
    font-size: 1rem;
  }
}
.p-contact__btn {
  margin: 3rem auto 0;
  width: 11.1333333333rem;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 2.7333333333rem;
  position: relative;
  transition: border-color 0.3s, opacity 0.3s;
}

.p-contact__btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: transform 0.3s;
}

.p-contact__btn:has(.wpcf7-submit:disabled), .p-contact__btn:has(input[type=submit]:disabled) {
  opacity: 0.5;
}

.p-contact__btn .wpcf7-submit,
.p-contact__btn input[type=submit] {
  width: 100%;
  border: none;
  background: transparent;
  color: #ffffff;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  padding: 0.8rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s;
  position: relative;
  z-index: 2;
}

.p-contact__btn .wpcf7-spinner {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translate(-50%, -100%);
  margin: 0;
}

@media screen and (min-width: 768px) {
  .p-contact__btn {
    width: 10.4375rem;
    margin-top: 2.8125rem;
  }
  .p-contact__btn .wpcf7-submit,
  .p-contact__btn input[type=submit] {
    font-size: 1rem;
    font-weight: 700;
    padding: 0.75rem;
  }
}
.p-contact--confirm {
  margin: 0;
}

.p-contact--confirm .p-contact__back-fallback {
  margin: 0 0 1.3333333333rem;
  text-align: center;
}

.p-contact--confirm .p-contact__back-fallback-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12.7333333333rem;
  padding: 1rem 1.6rem;
  border-radius: 2.6rem;
  background: #DFF1FC;
  color: #0082D6;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-contact--confirm .p-contact__back-fallback-link:hover {
    background: #0082D6;
    color: #ffffff;
  }
}
.p-contact--confirm .p-contact__btns input[type=submit],
.p-contact--confirm .p-contact__btns input[type=button],
.p-contact--confirm .p-contact__btns button[type=submit],
.p-contact--confirm .p-contact__btns button[type=button] {
  z-index: 3;
  cursor: pointer;
}

.p-contact--confirm .p-contact__btns .wpcf7-previous {
  opacity: 0 !important;
  color: transparent;
  font-size: 0;
}

.p-contact--confirm .p-contact__back::before,
.p-contact--confirm .p-contact__back > span,
.p-contact--confirm .p-contact__back .p-contact__btn-text, .p-contact--confirm .p-contact__back::after,
.p-contact--confirm .p-contact__submit::before,
.p-contact--confirm .p-contact__submit > span,
.p-contact--confirm .p-contact__submit .p-contact__btn-text,
.p-contact--confirm .p-contact__submit::after {
  pointer-events: none;
}

.p-contact--confirm .p-contact__back input[type=submit],
.p-contact--confirm .p-contact__back input[type=button],
.p-contact--confirm .p-contact__back button[type=submit],
.p-contact--confirm .p-contact__back button[type=button],
.p-contact--confirm .p-contact__submit input[type=submit],
.p-contact--confirm .p-contact__submit input[type=button],
.p-contact--confirm .p-contact__submit button[type=submit],
.p-contact--confirm .p-contact__submit button[type=button] {
  z-index: 3;
  cursor: pointer;
}

.p-contact--confirm .p-contact__form {
  margin: 0;
  padding: 8rem 0 8.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-contact--confirm .p-contact__form {
    padding-bottom: 7.5rem;
  }
}
.p-contact--confirm .p-contact__form-title {
  margin-bottom: 1.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-contact--confirm .p-contact__form-title {
    margin-bottom: 2.625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-contact--confirm .p-contact__item {
    display: grid;
    grid-template-columns: 18.75rem 1fr;
    border-bottom: 1px solid #EBEBEB;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-contact--confirm .p-contact__label {
    font-size: 1rem;
    padding: 1.25rem 2.8125rem;
  }
}
.p-contact--confirm .p-contact__input {
  border-radius: 4px;
  border: 1px solid #888;
  padding: 0.8rem 2rem;
  font-size: 16px;
  min-height: 3.8666666667rem;
}

.p-contact--confirm .p-contact__input--textarea {
  min-height: 14.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-contact--confirm .p-contact__input {
    border-radius: 0;
    border: none;
    padding: 1.25rem 0;
    font-size: 1rem;
    min-height: auto;
    margin: 0;
  }
}
.p-contact__btns {
  margin: 2rem 0 0;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

.p-contact__btns input[type=submit],
.p-contact__btns input[type=button] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .p-contact__btns {
    margin-top: 4.1875rem;
    flex-direction: row;
    gap: 3.6875rem;
  }
}
.p-contact__back {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4666666667rem;
  width: 12.7333333333rem;
  height: 100%;
  background: #DFF1FC;
  border-radius: 2.6rem;
  padding: 1rem 0 1rem 1.0666666667rem;
  transition: background 0.3s;
  cursor: pointer;
  position: relative;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-contact__back:hover {
    background: #0082D6;
  }
  .p-contact__back:hover::after {
    background: #ffffff;
  }
  .p-contact__back:hover span {
    color: #ffffff;
  }
}
.p-contact__back span {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0082D6;
  transition: color 0.3s;
}

.p-contact__back::after {
  content: "";
  display: block;
  width: 0.4666666667rem;
  height: 0.8rem;
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background: #0082D6;
  transition: background 0.3s;
}

.p-contact__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4666666667rem;
  width: 12.7333333333rem;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 2.6rem;
  padding: 0.9333333333rem 0 0.9333333333rem 1.0666666667rem;
  position: relative;
  transition: border-color 0.3s, opacity 0.3s;
  cursor: pointer;
}

.p-contact__submit::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: transform 0.3s;
}

.p-contact__submit::after {
  content: "";
  display: block;
  width: 0.4666666667rem;
  height: 0.8rem;
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background: #ffffff;
  transition: background 0.3s;
  position: relative;
  z-index: 2;
}

.p-contact__submit .p-contact__btn-text {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  transition: color 0.3s;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-contact__submit:hover {
    border-color: #163EA3;
  }
  .p-contact__submit:hover::before {
    transform: translateX(100%);
  }
  .p-contact__submit:hover span {
    color: #163EA3;
  }
  .p-contact__submit:hover::after {
    background: #163EA3;
  }
}
.p-contact--en.p-contact--confirm .p-contact__btns input[type=submit],
.p-contact--en.p-contact--confirm .p-contact__btns input[type=button],
.p-contact--en.p-contact--confirm .p-contact__btns button[type=submit],
.p-contact--en.p-contact--confirm .p-contact__btns button[type=button] {
  z-index: 3;
  cursor: pointer;
}

.p-contact--en.p-contact--confirm .p-contact__back {
  cursor: pointer;
}

.p-contact--en.p-contact--confirm .p-contact__back > span {
  pointer-events: none;
  position: relative;
  z-index: 1;
}

.p-contact--en.p-contact--confirm .p-contact__back::after {
  pointer-events: none;
  position: relative;
  z-index: 1;
}

.p-contact--en.p-contact--confirm .p-contact__back input[type=button],
.p-contact--en.p-contact--confirm .p-contact__back button[type=button] {
  z-index: 3;
  cursor: pointer;
}

.p-contact--en.p-contact--confirm .p-contact__submit::before, .p-contact--en.p-contact--confirm .p-contact__submit::after,
.p-contact--en.p-contact--confirm .p-contact__submit .p-contact__btn-text {
  pointer-events: none;
}

.p-contact--en.p-contact--confirm .p-contact__submit input[type=submit],
.p-contact--en.p-contact--confirm .p-contact__submit button[type=submit] {
  z-index: 3;
  cursor: pointer;
}

.p-contact--en .p-contact__lead p {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-contact--en .p-contact__lead p {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-contact--en .p-contact__tel-btn {
    padding: 0.625rem 0.3125rem 1.0625rem;
    min-height: 12.6875rem;
  }
}
.p-contact--en .p-contact__tel-heading {
  letter-spacing: 0;
}

.p-contact--en .p-contact__btn {
  width: 19.8666666667rem;
}

.p-cta-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.1333333333rem 0 2.4666666667rem;
  gap: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-cta-box {
    padding: 2.5rem 0.9375rem 2.875rem;
  }
}
.p-cta-box__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.p-cta-box__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/341;
}

@media screen and (min-width: 768px) {
  .p-cta-box__picture img {
    aspect-ratio: 960/341;
  }
}
.p-cta-box__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.4rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-cta-box__inner {
    gap: 1.3125rem;
  }
}
.p-cta-box__heading {
  padding-bottom: 1.4666666667rem;
}

.p-cta-box__heading--single {
  padding-bottom: 0;
  margin-bottom: 0.6rem;
}

.p-cta-box__heading--brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-cta-box__heading--brand {
    gap: 0.625rem;
  }
}
.p-cta-box__heading--brand .c-title__en--brand {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  position: relative;
  z-index: 0;
}

.p-cta-box__heading--brand .c-title__en--brand img {
  display: block;
  width: auto;
  height: auto;
  max-width: 10.6666666667rem;
  max-height: 3.7333333333rem;
  margin: 0 auto;
  object-fit: contain;
}

@media screen and (min-width: 768px) {
  .p-cta-box__heading--brand .c-title__en--brand img {
    max-width: 12.5rem;
    max-height: 4.375rem;
  }
}
.p-cta-box__heading--brand .c-title__en--brand img[alt=SeaStorm] {
  max-width: 16rem;
  max-height: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-cta-box__heading--brand .c-title__en--brand img[alt=SeaStorm] {
    max-width: 21.25rem;
    max-height: 2rem;
  }
}
.p-cta-box__heading--brand .c-title__ja {
  position: static;
  transform: none;
  left: auto;
  bottom: auto;
  margin: 0;
}

@media screen and (min-width: 768px) {
  .p-cta-box__heading {
    padding-bottom: 0;
  }
  .p-cta-box__heading--single {
    margin-bottom: 0;
  }
  .p-cta-box__heading .c-title__ja {
    font-size: 1.5rem;
    bottom: 0.8666666667rem;
  }
}
.p-cta-box__text {
  font-weight: 500;
  line-height: 1.66;
  text-align: center;
  color: #ffffff;
}

.p-cta-box__text--wide {
  letter-spacing: -0.06em;
}

@media screen and (min-width: 768px) {
  .p-cta-box__text {
    margin-top: -0.9375rem;
  }
  .p-cta-box__text--wide {
    letter-spacing: 0;
  }
  .p-cta-box__text span {
    display: inline-block;
  }
}
.p-cta-box__action {
  display: flex;
  justify-content: center;
  width: 100%;
}

.p-cta-box__btn {
  width: min(100%, 21.3333333333rem);
}

.p-cta-box__btn--wide {
  width: min(100%, 22.4rem);
}

.p-cta-box__btn--wide span {
  letter-spacing: -0.03em;
}

@media screen and (min-width: 768px) {
  .p-cta-box__btn {
    width: min(100%, 20rem);
  }
  .p-cta-box__btn--wide {
    width: min(100%, 26.125rem);
  }
  .p-cta-box__btn--wide span {
    letter-spacing: 0.07em;
    font-size: 0.9375rem;
  }
}
.p-cta-box__note {
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.4375;
  text-align: center;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-cta-box__note {
    font-size: 1rem;
  }
}
.p-cta-box--en .p-cta-box__btn {
  min-width: 15.625rem;
  width: auto;
}

@media screen and (min-width: 768px) {
  .p-cta-box--en .p-cta-box__btn {
    padding-inline: 5rem;
  }
}
.p-cta-box--en .p-cta-box__btn span {
  font-family: "Jost", sans-serif;
  letter-spacing: 0;
}

.p-cta {
  padding: 2.3333333333rem 0 2.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-cta {
    padding: 5.1875rem 0 6.5625rem;
  }
}
.p-cta__rental {
  margin: 2.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-cta__rental {
    margin-top: 3.0625rem;
  }
  .p-cta__rental--en .p-cta__rental-lead {
    letter-spacing: 0.07em;
  }
  .p-cta__rental--en .p-cta__rental-link {
    justify-content: space-between;
  }
}
.p-cta__rental-link {
  display: block;
  padding: 1.4rem 0.6666666667rem 2.2666666667rem;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6666666667rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-cta__rental-link {
    background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.8125rem;
    text-align: left;
    padding: 1.8125rem min(5.4166666667vw, 6.5rem);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-cta__rental-link:hover .p-cta__rental-more::before {
    transform: translateY(-50%) scale(42);
  }
}
.p-cta__rental-lead {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8333333333;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-cta__rental-lead {
    font-size: 1.125rem;
    line-height: 1.79;
    letter-spacing: 0.08em;
  }
}
.p-cta__rental-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  color: #ffffff;
  font-family: "Jost", sans-serif;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  position: relative;
  padding-right: 3rem;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-cta__rental-more {
    font-size: 1rem;
    letter-spacing: 0;
    gap: 0.75rem;
    padding-right: 2.8125rem;
  }
}
.p-cta__rental-more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  background: rgba(34, 167, 255, 0.65);
  transform: translateY(-50%) scale(1);
  transform-origin: center;
  transition: transform 0.45s ease;
  z-index: 0;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-cta__rental-more::before {
    width: 3.9375rem;
    height: 3.9375rem;
  }
}
.p-cta__rental-more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6666666667rem;
  width: 0.6rem;
  height: 0.6rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: translateY(-50%) rotate(45deg);
  z-index: 2;
}

.p-cta__rental-more span {
  position: relative;
  z-index: 1;
}

.p-cta__wrap {
  display: grid;
  gap: 1.2rem;
}

.p-cta__wrap + .p-cta__wrap {
  margin-top: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-cta__wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.75%;
  }
  .p-cta__wrap + .p-cta__wrap {
    margin-top: 3rem;
  }
  .p-cta__wrap .c-title__en {
    font-size: min(8.4635416667vw, 6.25rem);
  }
}
@media screen and (min-width: 768px) {
  .p-cta--en .p-cta__wrap .p-cta-box--en .p-cta-box__btn {
    padding-inline: 1.875rem;
  }
  .p-cta--en .p-cta-box__heading .c-title__ja {
    font-size: clamp(14px, 1.25vw, 1.5rem);
  }
}
.p-dealer {
  padding: 4.1333333333rem 0 5.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-dealer {
    padding: 3.4375rem 0 8.125rem;
  }
}
.p-dealer__area {
  padding: 1rem 0 0;
}

.p-dealer__area:not(:first-child) {
  margin-top: 2.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-dealer__area:not(:first-child) {
    margin-top: 4.0625rem;
  }
}
.p-dealer__area-title {
  text-align: center;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-dealer__area-title {
    font-size: 1.25rem;
  }
}
.p-dealer__cards {
  display: grid;
  gap: 3.2666666667rem;
  margin: 1.0666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-dealer__cards {
    margin-top: 1.25rem;
    gap: 5rem;
  }
}
.p-dealer__shop {
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  padding-bottom: 0.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-dealer__shop {
    font-size: 1.5rem;
    line-height: 1.75;
  }
}
.p-dealer__body {
  margin: 0.9333333333rem 0 0;
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-dealer__body {
    margin-top: 1.5625rem;
    display: grid;
    grid-template-columns: 1fr 33.9583333333%;
    gap: 4.5833333333%;
    align-items: start;
    justify-content: space-between;
  }
}
.p-dealer__info {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-dealer__info {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }
}
.p-dealer__list {
  order: 1;
  margin: 1.3333333333rem 0 0;
  display: grid;
  gap: 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-dealer__list {
    margin: 0;
    gap: 0.9375rem;
  }
}
.p-dealer__list-item {
  display: flex;
  align-items: center;
}

.p-dealer__list-item:not(:has(.p-dealer__boats-items)) .p-dealer__term {
  white-space: nowrap;
}

.p-dealer__list-item:not(:has(.p-dealer__boats-items)) .p-dealer__term::after {
  content: "：";
}

@media screen and (min-width: 768px) {
  .p-dealer__list-item:not(:has(.p-dealer__boats-items)) .p-dealer__term::after {
    display: none;
  }
}
.p-dealer__term, .p-dealer__desc {
  font-size: 1.0666666667rem;
  line-height: 1.1875;
}

@media screen and (min-width: 768px) {
  .p-dealer__term, .p-dealer__desc {
    font-size: 1rem;
  }
}
.p-dealer__term {
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-dealer__term {
    width: 31.7032040472%;
  }
}
.p-dealer__boats-items {
  display: flex;
  gap: 1.0666666667rem;
  margin-left: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-dealer__boats-items {
    margin: 0;
    gap: 0.875rem;
  }
}
.p-dealer__boat-tag {
  background: #DFF1FC;
  padding: 0.4rem 0.6666666667rem;
  font-size: 1rem;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-dealer__boat-tag {
    font-size: 1rem;
    padding: 0.625rem;
  }
}
.p-dealer__map {
  order: 2;
  margin: 0.5333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-dealer__map {
    margin: 0;
    display: flex;
    flex-direction: column-reverse;
    gap: 1.25rem;
  }
}
.p-dealer__map-link {
  display: inline-block;
  color: #163EA3;
  font-size: 1.0666666667rem;
  line-height: 1.2;
  padding-bottom: 0.3333333333rem;
  position: relative;
}

.p-dealer__map-link::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #163EA3;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  transition: width 0.3s;
}

@media screen and (min-width: 768px) {
  .p-dealer__map-link {
    width: fit-content;
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-dealer__map-link:hover::after {
    width: 0;
  }
}
.p-dealer__map-image {
  width: 100%;
  margin: 1rem 0 0;
}

.p-dealer__map-image iframe {
  width: 100%;
  height: 12.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-dealer__map-image {
    margin: 0;
  }
  .p-dealer__map-image iframe {
    height: 10.625rem;
  }
}
.p-dealer__link {
  order: 3;
  margin: 1.3333333333rem 0 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-dealer__link {
    margin-top: 0.9375rem;
    text-align: left;
    margin-left: 31.7032040472%;
  }
}
.p-dealer__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.9333333333rem;
  border: 1px solid #163EA3;
  color: #163EA3;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.07em;
  padding: 0.8666666667rem 1.4666666667rem;
  text-align: center;
  width: min(100%, 24rem);
  transition: background 0.3s, color 0.3s;
}

.p-dealer__btn::after {
  content: "";
  width: 0.9333333333rem;
  height: 0.8666666667rem;
  mask-image: url(./images/common/ico_arrow_brank.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_arrow_brank.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #163EA3;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .p-dealer__btn {
    width: min(100%, 17.625rem);
    font-size: 1rem;
    gap: 1.8125rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-dealer__btn:hover {
    background: #163EA3;
    color: #ffffff;
  }
  .p-dealer__btn:hover::after {
    background: #ffffff;
  }
}
.p-engine-support {
  padding: 2.3333333333rem 0 2rem;
}

@media screen and (min-width: 768px) {
  .p-engine-support {
    padding: 5.375rem 0 0;
  }
}
.p-engine-support__list {
  display: grid;
  gap: 0.9333333333rem;
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-engine-support__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.8452380952%;
    margin-top: 2.875rem;
  }
}
.p-engine-support__card {
  display: flex;
  flex-direction: column;
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-engine-support__card {
    gap: 0.75rem;
  }
}
.p-engine-support__head {
  padding: 0 0.3333333333rem;
  background-color: #163ea3;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.8333333333;
  letter-spacing: 0.07em;
  text-align: center;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-engine-support__head {
    font-size: clamp(14px, 1.25vw, 1.5rem);
    line-height: 1.875;
  }
}
.p-engine-support__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/165;
}

@media screen and (min-width: 768px) {
  .p-engine-support__img img {
    aspect-ratio: 538/246;
  }
}
.p-engine-support__text {
  font-weight: 400;
}

.p-engine-support--en .p-engine-support__head {
  font-size: 1.1333333333rem;
  letter-spacing: 0;
  line-height: 1.5;
  padding: 0.3333333333rem 0 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-engine-support--en .p-engine-support__head {
    font-size: clamp(13px, 1.25vw, 1.5rem);
    line-height: 1.375;
    padding: min(1.0416666667vw, 1.25rem) 0.6666666667rem;
    min-height: 5.625rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 1024px) {
  .p-engine-support--en .p-engine-support__head {
    min-height: auto;
  }
}
.p-error {
  background: #F5F5F6;
  height: calc(100vh - 4.4rem);
  min-height: 630px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-error {
    min-height: 750px;
    margin-bottom: -1.875rem;
  }
}
.p-error__text {
  text-align: center;
}

.p-error__text h2 {
  display: inline-block;
  font-size: 2.2rem;
  font-family: "Jost", sans-serif;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (min-width: 768px) {
  .p-error__text h2 {
    font-size: 3.375rem;
  }
}
.p-error__text h2 span {
  font-size: 7.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-error__text h2 span {
    font-size: 10rem;
  }
}
.p-error__text p {
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 1.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-error__text p {
    margin-top: 2.375rem;
    font-size: 1.1875rem;
  }
}
.p-error__btn {
  margin: 2.6666666667rem 0 0;
  text-align: center;
}

.p-error__btn .c-btn {
  padding: 0 4rem;
}

.p-error__btn .c-btn span {
  font-size: 1.2rem;
  line-height: 2.3333333333;
}

.p-facility {
  margin: 2.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-facility {
    margin-top: 3.125rem;
  }
}
.p-facility__overview-title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-facility__overview-title {
    font-weight: 400;
    font-size: 1.25rem;
    letter-spacing: 0;
  }
}
.p-facility__drawing {
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-facility__drawing {
    margin: 2.3125rem auto 0;
    max-width: 67.5rem;
  }
}
.p-facility__drawing img {
  width: 100%;
}

.p-facility__list {
  margin: 4rem 0 0;
  display: grid;
  gap: 2.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-facility__list {
    margin-top: 8.125rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.6875rem 3.984375%;
  }
}
.p-facility__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media screen and (min-width: 768px) {
  .p-facility__item {
    gap: 0.9375rem;
  }
}
.p-facility__item-title {
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-facility__item-title {
    font-size: 1.125rem;
    line-height: 1.5;
    padding: 0.3125rem 0 0.5rem;
  }
}
.p-facility__item-img img {
  width: 100%;
  display: block;
  aspect-ratio: 360/206;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-facility__item-text {
    font-size: 0.9375rem;
  }
}
.p-facility--en .p-facility__overview-title {
  letter-spacing: 0;
  font-weight: 400;
}

.p-facility--en .p-facility__item-title {
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-facility--en .p-facility__item-title {
    font-size: min(1.4322916667vw, 1.125rem);
  }
}
.p-faq-list {
  margin: 1.6666666667rem 0 0;
  width: 100%;
  counter-reset: faq-idx;
}

@media screen and (min-width: 768px) {
  .p-faq-list {
    margin-top: 3.125rem;
  }
}
.p-faq-list__item {
  counter-increment: faq-idx;
  padding: 0 0 1.3333333333rem;
  border-bottom: 1px solid #000000;
}

.p-faq-list__item:not(:first-child) {
  margin: 0.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-faq-list__item {
    padding-bottom: 1.25rem;
  }
  .p-faq-list__item:not(:first-child) {
    margin-top: 1.875rem;
  }
}
.p-faq-list__q {
  display: flex;
  align-items: baseline;
  gap: 1.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-faq-list__q {
    gap: 1.625rem;
  }
}
.p-faq-list__a {
  display: flex;
  align-items: baseline;
  gap: 1.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-faq-list__a {
    gap: 1.625rem;
  }
}
.p-faq-list__num {
  flex-shrink: 0;
  font-weight: 400;
  line-height: normal;
}

.p-faq-list__num--q::before {
  content: "Q" counter(faq-idx);
}

.p-faq-list__num--a::before {
  content: "A" counter(faq-idx);
}

.p-faq-list__question {
  flex: 1;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-faq-list__question {
    line-height: 1.1875;
  }
}
.p-faq-list__answer {
  flex: 1;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-faq-list__answer {
    line-height: 1.8;
    margin-top: 0.8125rem;
  }
}
.p-faq {
  padding: 0.9333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-faq {
    padding: 2.5rem 0 0.625rem;
  }
}
.p-faq--single {
  padding: 4.2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-faq--single {
    padding: 6.875rem 0 1.25rem;
  }
}
.p-faq--en .p-faq__title {
  padding-bottom: 1.8rem;
}

@media screen and (min-width: 768px) {
  .p-faq--en .p-faq__title {
    padding-bottom: 0;
  }
}
.p-faq--lineup .p-faq__title .c-title__ja {
  width: calc(100% + 0.8rem);
}

@media screen and (min-width: 768px) {
  .p-faq--hdpeboat {
    padding-bottom: 7.1875rem;
  }
}
.p-flow-steps {
  margin: 1.6rem 0 0;
  counter-reset: flow-step;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.3333333333rem 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-flow-steps {
    margin-top: 3rem;
    gap: 1.9375rem 1.8452380952%;
  }
}
.p-flow-steps__item {
  counter-increment: flow-step;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.3333333333rem;
  min-width: 0;
  width: calc((100% - 1.0666666667rem) / 2);
}

@media screen and (min-width: 768px) {
  .p-flow-steps__item {
    width: 18.5238095238%;
  }
}
.p-flow-steps__media {
  position: relative;
  width: 100%;
}

.p-flow-steps__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 311/201;
}

.p-flow-steps__badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.7333333333rem;
  height: 1.6666666667rem;
  background: linear-gradient(90deg, #90c3ff 0%, #096ee6 80.43%);
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}

.p-flow-steps__badge::before {
  content: counter(flow-step);
}

@media screen and (min-width: 768px) {
  .p-flow-steps__badge {
    width: 2.125rem;
    height: 2.0625rem;
    font-size: 1.25rem;
  }
}
.p-flow-steps__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-flow-steps__title {
    font-size: clamp(12px, 0.9375vw, 1.125rem);
  }
  .p-flow-steps__title span {
    display: inline-block;
  }
}
.p-flow-steps__text {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-flow-steps__text {
    line-height: 2;
    letter-spacing: 0;
  }
}
.p-flow {
  padding: 2.3333333333rem 0 2.6666666667rem;
  background-color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-flow {
    padding: 5.375rem 0 3.125rem;
  }
}
.p-flow__group {
  margin: 1.6666666667rem 0 0;
}

.p-flow__group + .p-flow__group {
  margin-top: 2.3333333333rem;
}

.p-flow__group .p-flow-steps {
  margin-top: 0.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-flow__group {
    margin-top: 2.375rem;
  }
  .p-flow__group + .p-flow__group {
    margin-top: 2.6875rem;
  }
  .p-flow__group .p-flow-steps {
    margin-top: 1.5rem;
  }
}
.p-flow__group-title {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  color: #ffffff;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  padding-bottom: 0.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-flow__group-title {
    font-size: 1.125rem;
    line-height: 1.8333333333;
    width: 17.5625rem;
    margin-inline: auto;
  }
}
.p-flow__text {
  margin: 1.3333333333rem 0 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-flow__text {
    margin-top: 1.5625rem;
  }
}
.p-flow__text p {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

.p-flow--en .p-flow__title--double {
  padding-bottom: 1.8rem;
}

@media screen and (min-width: 768px) {
  .p-flow--en .p-flow__title--double {
    padding-bottom: 0;
  }
}
.p-flow--en .p-flow-steps__text {
  text-align: left;
  letter-spacing: 0;
}

.p-hdpe-choice {
  padding: 4rem 0 4.6rem;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice {
    padding: 6.125rem 0 9.5rem;
  }
}
.p-hdpe-choice__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__title {
    font-size: 1.5rem;
  }
}
.p-hdpe-choice__lead {
  margin-top: 0.6666666667rem;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__lead {
    margin-top: 1.9375rem;
    text-align: center;
  }
}
.p-hdpe-choice__cards {
  margin: 1.8rem calc(50% - 50vw) 0;
  display: grid;
  gap: 2rem;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__cards {
    margin: 1.9375rem 0 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.671875%;
  }
}
.p-hdpe-choice__card {
  background: #DFF1FC;
  padding: 1.3333333333rem 1rem 3.1333333333rem;
}

.p-hdpe-choice__card:nth-child(1) .p-hdpe-choice__name img {
  width: 10.4rem;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__card:nth-child(1) .p-hdpe-choice__name img {
    width: 9.75rem;
  }
}
.p-hdpe-choice__card:nth-child(2) .p-hdpe-choice__name img {
  width: 21.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__card:nth-child(2) .p-hdpe-choice__name img {
    width: 23.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-hdpe-choice__card {
    padding: 1.25rem 0.9375rem 2.875rem;
  }
}
.p-hdpe-choice__card-inner {
  max-width: 650px;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__card-inner {
    max-width: 31.6875rem;
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
    height: 100%;
  }
}
.p-hdpe-choice__name {
  height: 6.5333333333rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__name {
    height: 6.125rem;
  }
}
.p-hdpe-choice__movie {
  margin: 1rem 0 0;
}

.p-hdpe-choice__movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 360/205;
  border: 0;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__movie {
    margin-top: 0;
  }
  .p-hdpe-choice__movie iframe {
    aspect-ratio: 507/288;
  }
}
.p-hdpe-choice__catch {
  margin-top: 1.3333333333rem;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.1875;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__catch {
    margin-top: 0;
    font-size: 0.9375rem;
  }
}
.p-hdpe-choice__text {
  margin-top: 1rem;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__text {
    margin-top: 0;
    line-height: 2;
  }
}
.p-hdpe-choice__actions {
  margin-top: 1.4rem;
  text-align: center;
}

.p-hdpe-choice__actions .c-btn + .c-btn {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice__actions {
    margin-top: auto;
  }
  .p-hdpe-choice__actions .c-btn {
    width: min(100%, 380px);
  }
  .p-hdpe-choice__actions .c-btn + .c-btn {
    margin-top: 1.375rem;
  }
}
.p-hdpe-choice--en .p-hdpe-choice__lead {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-hdpe-choice--en .p-hdpe-choice__lead {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-hdpe-choice--en .p-hdpe-choice__text {
    font-size: 0.9375rem;
  }
}
.p-hdpe-choice--en .p-hdpe-choice__actions .c-btn span {
  letter-spacing: 0;
}

.p-history {
  margin: 5.6rem 0 0;
  overflow: clip;
}

@media screen and (min-width: 768px) {
  .p-history {
    margin: 11.6875rem 0 -1.875rem;
  }
}
.p-history__head {
  background: url(./images/company/history_head_sp.webp) center top/cover no-repeat;
  padding: 1.7948717949vw 0 0;
  aspect-ratio: 390/237;
}

@media screen and (min-width: 768px) {
  .p-history__head {
    background: url(./images/company/history_head.webp) center top/cover no-repeat;
    aspect-ratio: 1920/400;
    padding: 3.3854166667vw 0 0;
  }
}
.p-history__ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4722222222;
  display: inline-block;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  padding-bottom: 0.5333333333rem;
}

.p-history__ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
}

@media screen and (min-width: 768px) {
  .p-history__ttl {
    font-size: clamp(30px, 2.96875vw, 3.5625rem);
    padding-bottom: 0.8125rem;
  }
  .p-history__ttl::after {
    height: 0.625rem;
  }
}
.p-history__body {
  background: url(./images/company/history_bg_sp.webp) center top/cover no-repeat;
  padding: 3.8666666667rem 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-history__body {
    background: url(./images/company/history_bg.webp) center top/cover no-repeat;
    padding: min(6.71875vw, 8.0625rem) 0 min(1.5625vw, 1.875rem);
  }
}
.p-history__inner {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .p-history__inner {
    width: min(100%, 1920px);
    padding: 0 5% 0 9%;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__inner {
    padding: 0 min(11.0416666667vw, 13.25rem) 0 min(23.59375vw, 28.3125rem);
  }
}
.p-history__line {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-history__line {
    display: block;
    position: absolute;
    left: min(2.1875vw, 2.625rem);
    top: 65.4375rem;
    width: min(8.59375vw, 10.3125rem);
    z-index: 1;
  }
}
.p-history__list {
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-history__wrap {
    display: flex;
    align-items: flex-end;
    gap: 9.4023904382%;
    margin-left: 8.0478087649%;
  }
}
.p-history__wrap-img {
  width: 15.7333333333rem;
  border-radius: 1.3333333333rem;
  overflow: hidden;
}

.p-history__wrap-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 236/163;
}

@media screen and (min-width: 768px) {
  .p-history__wrap-img {
    width: 31.9521912351%;
  }
  .p-history__wrap-img img {
    aspect-ratio: 401/277;
  }
}
.p-history__item:is(.is-y1989, .is-y1991, .is-y1992, .is-y1993, .is-y1994, .is-y1995, .is-y1996, .is-y1997, .is-y1998) .p-history__year {
  font-size: 3.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-history__item:is(.is-y1989, .is-y1991, .is-y1992, .is-y1993, .is-y1994, .is-y1995, .is-y1996, .is-y1997, .is-y1998) .p-history__year {
    font-size: 3.4375rem;
  }
}
.p-history__item:is(.is-y2000, .is-y2001, .is-y2002, .is-y2003, .is-y2004, .is-y2005, .is-y2006, .is-y2007, .is-y2008, .is-y2009, .is-y2010, .is-y2011, .is-y2012, .is-y2013, .is-y2014, .is-y2015, .is-y2016, .is-y2017, .is-y2018, .is-y2019, .is-y2022, .is-y2023, .is-y2024) .p-history__year {
  font-size: 4.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-history__item:is(.is-y2000, .is-y2001, .is-y2002, .is-y2003, .is-y2004, .is-y2005, .is-y2006, .is-y2007, .is-y2008, .is-y2009, .is-y2010, .is-y2011, .is-y2012, .is-y2013, .is-y2014, .is-y2015, .is-y2016, .is-y2017, .is-y2018, .is-y2019, .is-y2022, .is-y2023, .is-y2024) .p-history__year {
    font-size: 4rem;
  }
}
.p-history__item {
  margin: 1.5333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-history__item {
    margin-top: 1.6875rem;
  }
}
.p-history__item.is-y1989 {
  width: 13.8666666667rem;
  margin: 2.6rem 0 0 auto;
  padding-right: 1rem;
}

.p-history__item.is-y1989 .p-history__txt {
  margin-left: 2.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1989 {
    width: fit-content;
    margin: 0;
    padding-right: 0;
  }
  .p-history__item.is-y1989 .p-history__txt {
    margin-left: 2.875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-history__item.is-y1991 {
    margin: min(4.3229166667vw, 5.1875rem) 0 0 4.0637450199%;
  }
  .p-history__item.is-y1991 .p-history__txt {
    margin-left: 2.6875rem;
  }
}
.p-history__item.is-y1992 {
  width: 21.2rem;
  margin: 3.4666666667rem 0 0 auto;
  padding-right: 0.3333333333rem;
  position: relative;
}

.p-history__item.is-y1992::after {
  content: "";
  position: absolute;
  top: -2.4666666667rem;
  right: -0.3333333333rem;
  width: 8rem;
  height: 5.6666666667rem;
  background: url(./images/company/history_img02.webp) center center/contain no-repeat;
  border-radius: 0.6666666667rem;
}

.p-history__item.is-y1992 .p-history__txt {
  margin-left: 4.8rem;
  width: 16.4rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1992 {
    width: auto;
    margin: min(6.7708333333vw, 8.125rem) 0 0 22%;
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
  }
  .p-history__item.is-y1992::after {
    width: min(12.3958333333vw, 14.875rem);
    height: min(8.8020833333vw, 10.5625rem);
    top: max(-4.375vw, -5.25rem);
    right: auto;
    left: -25vw;
  }
  .p-history__item.is-y1992 .p-history__txt {
    margin-left: 0;
    width: auto;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y1992 {
    margin-left: 27.96812749%;
  }
  .p-history__item.is-y1992::after {
    left: -31.5625vw;
  }
}
.p-history__item.is-y1993 {
  margin-top: 3.4rem;
  position: relative;
}

.p-history__item.is-y1993::after {
  content: "";
  position: absolute;
  top: -1.9333333333rem;
  right: 0;
  width: 10.2rem;
  height: 7.2666666667rem;
  background: url(./images/company/history_img03.webp) center center/contain no-repeat;
  border-radius: 1.0666666667rem;
}

.p-history__item.is-y1993 .p-history__year {
  margin-left: 0.6rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1993 {
    margin: min(2.8645833333vw, 3.4375rem) 0 0 7.7290836653%;
  }
  .p-history__item.is-y1993::after {
    width: min(26.09375vw, 31.3125rem);
    height: min(18.28125vw, 21.9375rem);
    top: -10.15625vw;
    right: -5%;
    background: url(./images/company/history_img10.webp) center center/contain no-repeat;
    border-radius: 1.25rem;
  }
  .p-history__item.is-y1993 .p-history__year {
    margin-left: 0;
  }
  .p-history__item.is-y1993 .p-history__txt {
    margin-left: 3.75rem;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y1993::after {
    right: auto;
    left: calc(50% + 13.8020833333vw);
  }
}
.p-history__item.is-y1994 {
  margin: 3.0666666667rem 0 0 auto;
  width: 23.4rem;
  position: relative;
}

.p-history__item.is-y1994::after {
  content: "";
  position: absolute;
  top: -2.3333333333rem;
  right: -1.4rem;
  width: 10.6666666667rem;
  height: 7.3333333333rem;
  background: url(./images/company/history_img04.webp) center center/contain no-repeat;
  border-radius: 0.6666666667rem;
}

.p-history__item.is-y1994 .p-history__txt {
  margin-left: 0.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1994 {
    margin: min(6.7708333333vw, 8.125rem) 0 0 14.7410358566%;
    width: auto;
  }
  .p-history__item.is-y1994::after {
    display: none;
  }
}
.p-history__item.is-y1995 {
  margin: 2.6rem 0 0 auto;
  width: 23.4rem;
}

.p-history__item.is-y1995 .p-history__txt {
  margin-left: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1995 {
    margin: min(3.125vw, 3.75rem) 0 0 1.6733067729%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y1995 .p-history__txt {
    margin-left: 0;
  }
}
.p-history__item.is-y1996 {
  margin-left: auto;
  width: 18.9333333333rem;
  padding-right: 1rem;
}

.p-history__item.is-y1996 .p-history__txt {
  margin-left: 0.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1996 {
    margin: min(1.40625vw, 1.6875rem) 0 0 1.6733067729%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y1996 .p-history__txt {
    margin-left: 0;
  }
}
.p-history__item.is-y1997 {
  margin-left: auto;
  width: 19.3333333333rem;
  padding-right: 4.7333333333rem;
}

.p-history__item.is-y1997 .p-history__txt {
  margin-left: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1997 {
    margin: min(1.40625vw, 1.6875rem) 0 0 1.6733067729%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y1997 .p-history__txt {
    margin-left: 0;
  }
}
.p-history__item.is-y1998 {
  margin-left: auto;
  width: 22.6rem;
  padding-right: 1.5333333333rem;
}

.p-history__item.is-y1998 .p-history__txt {
  margin-left: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y1998 {
    margin: min(1.40625vw, 1.6875rem) 0 0 1.6733067729%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y1998 .p-history__txt {
    margin-left: 0;
  }
}
.p-history__item.is-y2000 {
  margin: 2.1333333333rem 0 0 auto;
  width: 21.4rem;
}

.p-history__item.is-y2000 .p-history__txt {
  margin-left: 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2000 {
    margin: min(5.625vw, 6.75rem) 0 0 28%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2000 .p-history__txt {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2000 {
    margin-left: 33.625498008%;
  }
}
.p-history__item.is-y2001 {
  margin-left: auto;
  width: 19.4rem;
  padding-right: 2.2rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2001 {
    margin: min(1.25vw, 1.5rem) 0 0 28%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
    padding: 0;
  }
  .p-history__item.is-y2001 .p-history__txt {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2001 {
    margin-left: 33.625498008%;
  }
}
.p-history__item.is-y2002 {
  margin-left: auto;
}

.p-history__item.is-y2002 .p-history__year {
  margin-left: 0.6666666667rem;
}

.p-history__item.is-y2002 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2002 {
    margin: min(1.25vw, 1.5rem) 0 0 28%;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
    position: relative;
  }
  .p-history__item.is-y2002::before {
    content: "";
    width: max(111px, 10vw);
    height: max(80px, 7.1875vw);
    background: url(./images/company/history_img03.webp) center center/contain no-repeat;
    position: absolute;
    top: -3.3125rem;
    left: -20vw;
    border-radius: 1.25rem;
  }
  .p-history__item.is-y2002 .p-history__year {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2002 {
    margin-left: 33.625498008%;
  }
  .p-history__item.is-y2002::before {
    left: -26.9270833333vw;
  }
}
.p-history__item.is-y2003 {
  margin-left: auto;
  width: 19rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2003 {
    margin: min(5.4166666667vw, 6.5rem) 0 0 11.5537848606%;
    width: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-history__item.is-y2004 {
    margin: 5.75rem 0 0;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
}
.p-history__item.is-y2005 {
  position: relative;
  margin-top: 3rem;
}

.p-history__item.is-y2005::after {
  content: "";
  width: 9.8666666667rem;
  height: 6.7333333333rem;
  background: url(./images/company/history_img05.webp) center center/contain no-repeat;
  border-radius: 0.8666666667rem;
  position: absolute;
  top: -2.6666666667rem;
  right: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2005 {
    margin: 1.1875rem 0 0;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2005::after {
    background: url(./images/company/history_img04.webp) center center/contain no-repeat;
    width: min(17.0833333333vw, 20.5rem);
    height: min(11.71875vw, 14.0625rem);
    top: 3.5vw;
    right: -3.3333333333vw;
    border-radius: 1.25rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-history__item.is-y2005::after {
    right: auto;
    left: calc(50% + 22.6875rem);
  }
}
@media screen and (min-width: 1680px) {
  .p-history__item.is-y2005::after {
    top: -5.8854166667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-history__item.is-y2006, .p-history__item.is-y2007 {
    margin: 1.1875rem 0 0;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-history__item.is-y2008 {
    margin: min(5.4166666667vw, 6.5rem) 0 0 19.6812749004%;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
    position: relative;
  }
  .p-history__item.is-y2008::before {
    content: "";
    width: min(19.7395833333vw, 23.6875rem);
    height: min(13.4895833333vw, 16.1875rem);
    background: url(./images/company/history_img06.webp) center center/contain no-repeat;
    position: absolute;
    top: 0.625rem;
    left: -23vw;
    border-radius: 1.25rem;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2008::before {
    left: -33.59375vw;
  }
}
.p-history__item.is-y2009 {
  width: 19.8rem;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2009 {
    margin: min(5.4166666667vw, 6.5rem) 0 0 7.4900398406%;
    width: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
    position: relative;
  }
  .p-history__item.is-y2009::after {
    content: "";
    width: min(11.6666666667vw, 14rem);
    height: min(7.96875vw, 9.5625rem);
    background: url(./images/company/history_img05.webp) center center/contain no-repeat;
    position: absolute;
    top: -8.75rem;
    right: -3vw;
    border-radius: 1.25rem;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2009::after {
    right: -9.53125vw;
  }
}
.p-history__item.is-y2010 {
  width: 14rem;
  margin-left: auto;
  position: relative;
}

.p-history__item.is-y2010::after {
  content: "";
  width: 10.6rem;
  height: 7.2666666667rem;
  background: url(./images/company/history_img06.webp) center center/contain no-repeat;
  border-radius: 0.5333333333rem;
  position: absolute;
  top: 2rem;
  right: calc(100% + 1.5333333333rem);
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2010 {
    margin: 1.375rem 0 0 7.4900398406%;
    width: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
    position: relative;
  }
  .p-history__item.is-y2010::after {
    content: "";
    width: min(15.9895833333vw, 19.1875rem);
    height: min(10.9895833333vw, 13.1875rem);
    background: url(./images/company/history_img11.webp) center center/contain no-repeat;
    position: absolute;
    top: -0.75rem;
    right: -0.8333333333vw;
    border-radius: 1.25rem;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2010::after {
    right: auto;
    left: calc(50% + 21rem);
  }
}
.p-history__item.is-y2011 {
  width: 19.6rem;
  margin-left: auto;
}

.p-history__item.is-y2011 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2011 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2011 {
    margin: 1.375rem 0 0 7.4900398406%;
    width: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2011 .p-history__year {
    margin-left: 0;
  }
}
.p-history__item.is-y2012 {
  width: 17.4rem;
  margin-left: auto;
}

.p-history__item.is-y2012 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2012 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2012 {
    margin: min(7.2916666667vw, 8.75rem) 0 0 15.219123506%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2012 .p-history__year {
    margin-left: 0;
  }
}
.p-history__item.is-y2013 {
  width: 20.6rem;
  margin-left: auto;
  padding-right: 2rem;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2013 {
    margin: min(1.7708333333vw, 2.125rem) 0 0 9.9601593625%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
    padding: 0;
  }
}
.p-history__item.is-y2014 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2014 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2014 {
    margin: min(7.2916666667vw, 8.75rem) 0 0 32%;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2014 .p-history__year {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2014 {
    margin-left: 42.3107569721%;
  }
}
.p-history__item.is-y2015 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2015 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2015 {
    margin: 1.375rem 0 0 32%;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2015 .p-history__year {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2015 {
    margin-left: 42.3107569721%;
  }
}
.p-history__item.is-y2016 {
  position: relative;
}

.p-history__item.is-y2016::after {
  content: "";
  width: 10.6666666667rem;
  height: 7.3333333333rem;
  background: url(./images/company/history_img07.webp) center center/contain no-repeat;
  position: absolute;
  top: -1.2666666667rem;
  right: -1.0666666667rem;
}

.p-history__item.is-y2016 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2016 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2016 {
    margin: 1.375rem 0 0 32%;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2016::after {
    width: min(26.5625vw, 31.875rem);
    height: min(18.3333333333vw, 22rem);
    top: -15.625rem;
    right: auto;
    left: -32vw;
  }
  .p-history__item.is-y2016 .p-history__year {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history__item.is-y2016 {
    margin-left: 42.3107569721%;
  }
  .p-history__item.is-y2016::after {
    left: max(-36.4583333333vw, -43.75rem);
  }
}
.p-history__item.is-y2017 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2017 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2017 {
    margin: min(5.4166666667vw, 6.5rem) 0 0 11.8725099602%;
    width: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2017 .p-history__year {
    margin-left: 0;
  }
}
.p-history__item.is-y2018 {
  width: 20.6rem;
  margin-left: auto;
  position: relative;
}

.p-history__item.is-y2018::after {
  content: "";
  width: 10.2666666667rem;
  height: 7rem;
  background: url(./images/company/history_img08.webp) center center/contain no-repeat;
  border-radius: 0.6666666667rem;
  position: absolute;
  top: 0.4666666667rem;
  right: -2.6rem;
}

.p-history__item.is-y2018 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2018 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2018 {
    margin: min(3.0729166667vw, 3.6875rem) 0 0 21.2749003984%;
    width: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2018::after {
    width: min(18.8541666667vw, 22.625rem);
    height: min(13.8541666667vw, 16.625rem);
    top: -2.125rem;
    right: -4.0625vw;
    background: url(./images/company/history_img12.webp) center center/contain no-repeat;
  }
  .p-history__item.is-y2018 .p-history__year {
    margin-left: 0;
  }
}
@media screen and (min-width: 1680px) {
  .p-history__item.is-y2018::after {
    right: auto;
    left: calc(50% + 11.875rem);
  }
}
.p-history__item.is-y2019 {
  width: 20.6rem;
  margin-left: auto;
}

.p-history__item.is-y2019 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2019 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2019 {
    margin: min(3.0729166667vw, 3.6875rem) 0 0 32.2709163347%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2019 .p-history__year {
    margin-left: 0;
  }
}
.p-history__item.is-y2022 {
  width: 21.8666666667rem;
  margin-left: auto;
}

.p-history__item.is-y2022 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2022 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2022 {
    margin: min(6.1458333333vw, 7.375rem) 0 0 43.2669322709%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
    position: relative;
  }
  .p-history__item.is-y2022::before {
    content: "";
    width: min(15.9895833333vw, 19.1875rem);
    height: min(10.8854166667vw, 13.0625rem);
    background: url(./images/company/history_img08.webp) center center/contain no-repeat;
    position: absolute;
    top: -4.4375rem;
    left: max(-39.8958333333vw, -47.875rem);
    border-radius: 1.25rem;
  }
  .p-history__item.is-y2022 .p-history__year {
    margin-left: 0;
  }
}
.p-history__item.is-y2023 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2023 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2023 {
    margin: min(3.4895833333vw, 4.1875rem) 0 0 37.9282868526%;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2023 .p-history__year {
    margin-left: 0;
  }
}
.p-history__item.is-y2024 {
  width: 20.1333333333rem;
  margin-left: auto;
}

.p-history__item.is-y2024 .p-history__year {
  margin-left: 0.7333333333rem;
}

.p-history__item.is-y2024 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history__item.is-y2024 {
    margin: min(4.0625vw, 4.875rem) 0 0 32.2709163347%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history__item.is-y2024 .p-history__year {
    margin-left: 0;
  }
}
.p-history__year {
  color: #163EA3;
  font-family: "Jost", sans-serif;
  font-style: italic;
  font-weight: 800;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-history__year {
    flex-shrink: 0;
  }
}
.p-history__txt {
  font-weight: 400;
  display: inline-flex;
  flex-direction: column;
  gap: 0.8em;
  margin: 0.3333333333rem 0 0 0.4666666667rem;
}

.p-history__txt p {
  display: inline-flex;
  gap: 0.2rem;
}

.p-history__txt p .p-history__month {
  flex-shrink: 0;
  text-align: right;
  min-width: 2.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-history__txt {
    margin: 0;
  }
  .p-history__txt p {
    line-height: 1.5;
    gap: 0.5rem;
  }
}
.p-history__img {
  width: 22.7333333333rem;
  margin: 3.6rem auto 0;
  border-radius: 1.3333333333rem;
  overflow: hidden;
}

.p-history__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 341/232;
}

@media screen and (min-width: 768px) {
  .p-history__img {
    margin: 8.0625rem 0 0;
    width: 69.3227091633%;
  }
}
.p-history__bottom {
  margin: auto calc(50% - 50vw) 0;
  display: flex;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.p-history__bottom-inner {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  animation: loop-slide 50s infinite linear 0.5s both;
}

.p-history__bottom-slider {
  display: flex;
  flex-shrink: 0;
}

.p-history__bottom-slide {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: 7.2666666667rem;
  font-weight: 700;
  font-family: "Jost", sans-serif;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.6;
  margin-right: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history__bottom-slide {
    font-size: 10.4166666667vw;
    line-height: 2;
    margin-right: 3.125vw;
  }
}
.p-history--en .p-history__ttl {
  line-height: 1.1;
  padding-bottom: 0.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__ttl {
    font-size: clamp(30px, 2.96875vw, 3.5625rem);
    line-height: 1.4561403509;
  }
}
.p-history--en .p-history__txt p {
  gap: 0.6666666667rem;
}

.p-history--en .p-history__item.is-y1989 {
  width: 15.5333333333rem;
  padding-right: 0;
}

.p-history--en .p-history__item.is-y1989 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1989 {
    width: fit-content;
  }
  .p-history--en .p-history__item.is-y1989 .p-history__txt {
    margin-left: 2.875rem;
  }
}
.p-history--en .p-history__item.is-y1992 .p-history__txt {
  margin-left: 0;
  width: 20.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1992 {
    width: max(350px, 29.7916666667vw);
  }
  .p-history--en .p-history__item.is-y1992 .p-history__txt {
    width: 18.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-history--en .p-history__item.is-y1992 {
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1993 .p-history__txt {
    width: max(550px, 39.0104166667vw);
  }
}
.p-history--en .p-history__item.is-y1994 {
  margin: 6.1333333333rem 0 0 auto;
  width: 100%;
}

.p-history--en .p-history__item.is-y1994::after {
  top: -4.8rem;
}

.p-history--en .p-history__item.is-y1994 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1994 {
    margin: min(6.7708333333vw, 8.125rem) 0 0 14.7410358566%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
  .p-history--en .p-history__item.is-y1994 .p-history__txt {
    width: 65%;
  }
}
.p-history--en .p-history__item.is-y1995 {
  width: 100%;
}

.p-history--en .p-history__item.is-y1995 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1995 {
    width: auto;
  }
  .p-history--en .p-history__item.is-y1995 .p-history__txt {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y1996 {
  margin-left: auto;
  width: 100%;
  padding-right: 0;
}

.p-history--en .p-history__item.is-y1996 .p-history__year {
  margin-left: 5.1333333333rem;
}

.p-history--en .p-history__item.is-y1996 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1996 {
    margin: min(1.40625vw, 1.6875rem) 0 0 1.6733067729%;
    width: auto;
    display: flex;
    align-items: baseline;
    gap: 0.9375rem;
  }
}
.p-history--en .p-history__item.is-y1997 {
  margin-left: auto;
  width: 100%;
  padding-right: 0;
}

.p-history--en .p-history__item.is-y1997 .p-history__year {
  margin-left: 0.9333333333rem;
}

.p-history--en .p-history__item.is-y1997 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1997 {
    margin: min(1.40625vw, 1.6875rem) 0 0 1.6733067729%;
    width: auto;
  }
}
.p-history--en .p-history__item.is-y1998 {
  width: 100%;
  padding-right: 0;
}

.p-history--en .p-history__item.is-y1998 .p-history__year {
  margin-left: 1.4rem;
}

.p-history--en .p-history__item.is-y1998 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y1998 {
    width: auto;
  }
}
.p-history--en .p-history__item.is-y2000 {
  width: 19.2rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2000 {
    width: auto;
  }
}
@media screen and (min-width: 1280px) {
  .p-history--en .p-history__item.is-y2000 {
    margin-left: 33.625498008%;
  }
}
.p-history--en .p-history__item.is-y2001 {
  width: 20.8666666667rem;
  padding-right: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2001 {
    width: auto;
  }
}
.p-history--en .p-history__item.is-y2002 {
  margin-left: auto;
}

.p-history--en .p-history__item.is-y2002 .p-history__year {
  margin-left: 0.6666666667rem;
}

.p-history--en .p-history__item.is-y2002 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2002 {
    margin: min(1.25vw, 1.5rem) 0 0 28%;
  }
  .p-history--en .p-history__item.is-y2002 .p-history__year {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history--en .p-history__item.is-y2002 {
    margin-left: 33.625498008%;
  }
}
.p-history--en .p-history__item.is-y2003 {
  width: 100%;
}

.p-history--en .p-history__item.is-y2003 .p-history__year {
  margin-left: 5.2rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2003 {
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2005 .p-history__txt {
    width: 60%;
  }
  .p-history--en .p-history__item.is-y2005::after {
    top: -2.6041666667vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-history--en .p-history__item.is-y2005::after {
    right: -8vw;
  }
}
@media screen and (min-width: 1440px) {
  .p-history--en .p-history__item.is-y2005::after {
    right: auto;
    left: calc(50% + 22.6875rem);
  }
}
@media screen and (min-width: 1680px) {
  .p-history--en .p-history__item.is-y2005::after {
    top: -5.8854166667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2008 .p-history__txt {
    width: 65%;
  }
}
@media screen and (min-width: 1440px) {
  .p-history--en .p-history__item.is-y2008 .p-history__txt {
    width: 100%;
  }
}
.p-history--en .p-history__item.is-y2009 {
  width: 100%;
}

.p-history--en .p-history__item.is-y2009 .p-history__year {
  margin-left: 3.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2009 {
    width: auto;
  }
}
.p-history--en .p-history__item.is-y2010 {
  width: 24rem;
}

.p-history--en .p-history__item.is-y2010::after {
  top: 0.6rem;
  left: calc(50% + 1.5333333333rem);
  right: auto;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2010 {
    margin: 1.375rem 0 0 7.4900398406%;
    width: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.9375rem;
    position: relative;
  }
  .p-history--en .p-history__item.is-y2010::after {
    top: -1.25rem;
    left: auto;
    right: -0.8333333333vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-history--en .p-history__item.is-y2010::after {
    right: auto;
    left: calc(50% + 21rem);
  }
}
.p-history--en .p-history__item.is-y2011 {
  width: 100%;
}

.p-history--en .p-history__item.is-y2011 .p-history__year {
  margin-left: 5.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2011 {
    width: auto;
  }
  .p-history--en .p-history__item.is-y2011 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2012 {
  width: 100%;
}

.p-history--en .p-history__item.is-y2012 .p-history__year {
  margin-left: 7.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2012 {
    width: auto;
  }
  .p-history--en .p-history__item.is-y2012 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2013 {
  width: 100%;
  padding-right: 0;
}

.p-history--en .p-history__item.is-y2013 .p-history__year {
  margin-left: 4.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2013 {
    width: auto;
  }
}
.p-history--en .p-history__item.is-y2014 .p-history__year {
  margin-left: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2014 {
    margin: min(7.2916666667vw, 8.75rem) 0 0 32%;
  }
}
@media screen and (min-width: 1280px) {
  .p-history--en .p-history__item.is-y2014 {
    margin-left: 42.3107569721%;
  }
}
.p-history--en .p-history__item.is-y2015 .p-history__year {
  margin-left: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2015 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2016 {
  position: relative;
}

.p-history--en .p-history__item.is-y2016::after {
  top: -3.4666666667rem;
}

.p-history--en .p-history__item.is-y2016 .p-history__year {
  margin-left: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2016::after {
    top: -15.625rem;
  }
  .p-history--en .p-history__item.is-y2016 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2017 .p-history__year {
  margin-left: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2017 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2018 {
  width: 100%;
}

.p-history--en .p-history__item.is-y2018::after {
  top: -2.6rem;
  right: 0;
}

.p-history--en .p-history__item.is-y2018 .p-history__year {
  margin-left: 1.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2018 {
    width: auto;
  }
  .p-history--en .p-history__item.is-y2018::after {
    top: 2.5rem;
    right: -4.0625vw;
  }
  .p-history--en .p-history__item.is-y2018 .p-history__year {
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-history--en .p-history__item.is-y2018::after {
    right: -10.859375vw;
  }
}
@media screen and (min-width: 1680px) {
  .p-history--en .p-history__item.is-y2018::after {
    right: auto;
    left: calc(50% + 11.875rem);
  }
}
.p-history--en .p-history__item.is-y2019 {
  width: 100%;
}

.p-history--en .p-history__item.is-y2019 .p-history__year {
  margin-left: 4.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2019 {
    width: auto;
  }
  .p-history--en .p-history__item.is-y2019 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2022 {
  width: 100%;
  padding-right: 0;
}

.p-history--en .p-history__item.is-y2022 .p-history__year {
  margin-left: 3.6rem;
}

.p-history--en .p-history__item.is-y2022 .p-history__txt {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2022 {
    margin: min(8.5416666667vw, 10.25rem) 0 0 43.2669322709%;
    width: auto;
  }
  .p-history--en .p-history__item.is-y2022 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2023 .p-history__year {
  margin-left: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2023 {
    margin: min(2.5vw, 3rem) 0 0 37.9282868526%;
  }
  .p-history--en .p-history__item.is-y2023 .p-history__year {
    margin-left: 0;
  }
}
.p-history--en .p-history__item.is-y2024 {
  width: 100%;
}

.p-history--en .p-history__item.is-y2024 .p-history__year {
  margin-left: 5rem;
}

@media screen and (min-width: 768px) {
  .p-history--en .p-history__item.is-y2024 {
    margin: min(2.5vw, 3rem) 0 0 32.2709163347%;
    width: auto;
  }
  .p-history--en .p-history__item.is-y2024 .p-history__year {
    margin-left: 0;
  }
}
@keyframes kv-emblem-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.p-kv {
  position: relative;
  overflow-x: clip;
  height: min(165.1282051282vw, 1100px);
  padding: 0.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-kv {
    height: 57.4479166667vw;
    padding-top: 7.1875vw;
  }
}
.p-kv__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 7.2666666667rem);
  z-index: 1;
}

.p-kv__bg img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-kv__bg {
    height: 100%;
  }
}
.p-kv__bg-right {
  position: absolute;
  top: 0;
  right: 0;
  width: 81.5384615385%;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-kv__bg-right {
    width: 75.1041666667%;
  }
}
.p-kv__bg-left {
  position: absolute;
  width: 86.1538461538%;
  top: 7.4666666667rem;
  left: 0;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-kv__bg-left {
    width: 65.4166666667%;
    top: min(3.28125vw, 3.9375rem);
  }
}
.p-kv__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.p-kv__banners {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin: 0 -0.6666666667rem 0 1.4666666667rem;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-kv__banners {
    gap: min(2.7083333333vw, 3.25rem);
    margin: 0 0 0 min(4.0625vw, 4.875rem);
  }
}
.p-kv__banner {
  display: inline-block;
  color: #ffffff;
  font-size: 4.6153846154vw;
  font-weight: 900;
  line-height: 1.4;
  padding: 3.0769230769vw 7.9487179487vw;
  position: relative;
  z-index: 1;
}

.p-kv__banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  clip-path: polygon(0 0, 93% 0, 100% 100%, 5% 100%);
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .p-kv__banner {
    font-size: min(2.2395833333vw, 2.6875rem);
    line-height: 1.5;
    padding: min(0.625vw, 0.75rem) min(3.9583333333vw, 4.75rem) min(1.0416666667vw, 1.25rem) min(5vw, 6rem);
    width: fit-content;
  }
  .p-kv__banner::after {
    clip-path: polygon(0 0, 98% 0, 100% 100%, 2% 100%);
  }
}
.p-kv__title {
  margin: auto calc(50% - 50vw) 0;
  display: flex;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.p-kv__title-inner {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  animation: loop-slide 50s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}

.p-kv__title-slider {
  display: flex;
  flex-shrink: 0;
}

.p-kv__title-slide {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: 6.6666666667rem;
  font-weight: 700;
  font-family: "Jost", sans-serif;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.6;
  margin-right: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-kv__title-slide {
    font-size: 10.4166666667vw;
    line-height: 2;
    margin-right: 3.125vw;
  }
}
.p-kv__emblem {
  position: absolute;
  right: -1.8666666667rem;
  bottom: 0.8rem;
  width: 11.5333333333rem;
  height: 11.5333333333rem;
  animation: kv-emblem-rotate 30s linear infinite;
  z-index: 1;
}

.p-kv__emblem img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-kv__emblem {
    width: 17.9166666667vw;
    height: 17.9166666667vw;
    right: 3.6979166667vw;
    bottom: 1.40625vw;
  }
}
.p-kv--en .p-kv__banner {
  font-size: 4.8717948718vw;
  line-height: 1.3;
  letter-spacing: 0.03em;
  padding: 2.5641025641vw 11.2820512821vw;
}

@media screen and (min-width: 768px) {
  .p-kv--en .p-kv__banner {
    font-size: min(2.2395833333vw, 2.6875rem);
    padding: min(0.625vw, 0.75rem) min(3.9583333333vw, 4.75rem) min(1.0416666667vw, 1.25rem) min(5vw, 6rem);
  }
}
.p-lead {
  padding: 2.2rem 0 2.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-lead {
    padding: 3.5625rem 0 5.1875rem;
  }
}
.p-lead--lifeboat .p-lead__title, .p-lead--shipyard .p-lead__title {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-lead--shipyard .p-lead__body {
    align-items: flex-start;
  }
}
.p-lead--noimage .p-lead__title {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-lead--noimage .p-lead__text {
    width: 100%;
    text-align: center;
  }
}
.p-lead--en .p-lead__text {
  text-align: left;
}

.p-lead__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-lead__title span {
  display: block;
  margin-top: 1em;
}

@media screen and (min-width: 768px) {
  .p-lead__title span {
    margin-top: 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .p-lead__title {
    font-size: 1.5rem;
    text-align: center;
  }
}
.p-lead__body {
  margin: 1.4rem 0 0;
  display: flex;
  flex-direction: column-reverse;
  gap: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-lead__body {
    margin-top: 2.8125rem;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 3.90625%;
    position: relative;
  }
}
.p-lead__text {
  font-weight: 400;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-lead__text {
    width: 48.828125%;
  }
}
.p-lead__text p:not(:first-child) {
  margin-top: 1.5em;
}

@media screen and (min-width: 768px) {
  .p-lead__text p:not(:first-child) {
    margin-top: 2em;
  }
}
@media screen and (min-width: 768px) {
  .p-lead__img {
    width: 47.34375%;
  }
}
.p-lead__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 360/205;
}

@media screen and (min-width: 768px) {
  .p-lead__img img {
    aspect-ratio: 606/346;
  }
}
.p-lead__sub-title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin: 1.6rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lead__sub-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.5rem;
    margin: 0;
  }
}
.p-lead--hdpeboat {
  padding-top: 1.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-lead--hdpeboat {
    padding-top: 2.375rem;
  }
}
.p-lead--hdpeboat .p-lead__title {
  margin-top: 1.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-lead--hdpeboat .p-lead__title {
    margin-top: 2.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-lead--hdpeboat .p-lead__body {
    padding-top: 5.0625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-lead--shipyard .p-lead__text p:not(:first-child) {
    margin-top: 0;
  }
}
.p-lead__logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-lead__logos {
    max-width: 52.875rem;
    margin-inline: auto;
    gap: min(2.34375vw, 2.8125rem);
  }
}
.p-lead__logo {
  display: flex;
  align-items: center;
}

.p-lead__logo img {
  width: 100%;
}

.p-lifeboat-imo {
  padding: 2.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo {
    padding: 6.25rem 0 0;
  }
}
.p-lifeboat-imo__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo__title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.p-lifeboat-imo__box {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo__box {
    display: flex;
    align-items: flex-start;
    margin-top: 2.625rem;
    gap: 5.15625%;
  }
}
.p-lifeboat-imo__block {
  border-left: 1px solid #163EA3;
  border-right: 1px solid #163EA3;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo__block {
    flex: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-lifeboat-imo__block--wide {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-lifeboat-imo__block:not([open]) > :not(summary) {
    display: block;
  }
}
.p-lifeboat-imo__head {
  position: relative;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  cursor: pointer;
  height: 3.6666666667rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #163EA3;
  border-bottom: 1px solid #163EA3;
}

.p-lifeboat-imo__head::-webkit-details-marker {
  display: none;
}

.p-lifeboat-imo__head::before, .p-lifeboat-imo__head::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.6rem;
  width: 1.2rem;
  height: 1px;
  background: #ffffff;
  transform: translateY(-50%);
  transition: transform 0.2s;
}

.p-lifeboat-imo__head::after {
  transform: translateY(-50%) rotate(90deg);
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo__head {
    height: 3.125rem;
    padding: 0;
    background: transparent;
    font-size: 1.5rem;
    cursor: default;
  }
  .p-lifeboat-imo__head::before, .p-lifeboat-imo__head::after {
    display: none;
  }
}
.p-lifeboat-imo__head--dual {
  display: flex;
  flex-direction: column;
  gap: 0.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo__head--dual {
    display: grid;
    grid-template-columns: 64fr 36fr;
    align-items: center;
    gap: 0;
  }
  .p-lifeboat-imo__head--dual span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  }
  .p-lifeboat-imo__head--dual span + span {
    border-left: 1px solid #163EA3;
  }
}
@media screen and (min-width: 768px) {
  .p-lifeboat-imo__head:not(.p-lifeboat-imo__head--dual) {
    background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  }
}
.p-lifeboat-imo__block[open] .p-lifeboat-imo__head::after {
  transform: translateY(-50%) rotate(0);
}

.p-lifeboat-imo__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-lifeboat-imo__table th,
.p-lifeboat-imo__table td {
  border-bottom: 1px solid #163EA3;
  padding: 0.8rem 0.6666666667rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  color: #163EA3;
  overflow-wrap: anywhere;
}

.p-lifeboat-imo__table th {
  width: 64%;
}

.p-lifeboat-imo__table th::after {
  content: attr(data-country);
  display: block;
}

.p-lifeboat-imo__table td {
  width: 36%;
  display: none;
}

.p-lifeboat-imo__table--single td {
  display: table-cell;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo__table th,
  .p-lifeboat-imo__table td {
    height: 2.8125rem;
    padding: 0 0.5rem;
    font-size: 1rem;
    line-height: 1;
    vertical-align: middle;
  }
  .p-lifeboat-imo__table th {
    border-right: 1px solid #163EA3;
  }
  .p-lifeboat-imo__table th::after {
    display: none;
  }
  .p-lifeboat-imo__table td {
    display: table-cell;
  }
  .p-lifeboat-imo__table--single td {
    width: 100%;
  }
}
.p-lifeboat-imo__triple {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-imo__triple {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .p-lifeboat-imo__triple .p-lifeboat-imo__table {
    border-right: 1px solid #163EA3;
  }
  .p-lifeboat-imo__triple .p-lifeboat-imo__table:last-child {
    border-right: none;
  }
}
.p-lifeboat-policy {
  padding: 6rem 0 0;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy {
    padding: 7.25rem 0 9.0625rem;
    background: #dff1fc;
  }
}
.p-lifeboat-policy__lead {
  margin: 2.4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy__lead {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4.375%;
    margin-top: 2.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-lifeboat-policy__img {
    max-width: 33.625rem;
  }
}
.p-lifeboat-policy__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/165;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy__img img {
    aspect-ratio: 538/246;
  }
}
.p-lifeboat-policy__lead-text {
  margin: 0.9333333333rem 0 0;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy__lead-text {
    max-width: 33.625rem;
    font-size: 1rem;
    margin: 0;
  }
}
.p-lifeboat-policy__rule {
  margin: 2.2666666667rem calc(50% - 50vw) 0;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  padding: 2rem 1rem 2.8rem;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy__rule {
    margin: 3.125rem 0 0;
    padding: 3.375rem 1.875rem 4rem;
  }
}
.p-lifeboat-policy__rule-inner {
  max-width: 650px;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy__rule-inner {
    max-width: 51.25rem;
  }
}
.p-lifeboat-policy__rule-title {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.07em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy__rule-title {
    font-size: 1.125rem;
  }
}
.p-lifeboat-policy__rule-body {
  margin: 1.0666666667rem 0 0;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-policy__rule-body {
    margin-top: 1rem;
  }
}
.p-lifeboat-policy--en .p-lifeboat-policy__rule-title {
  letter-spacing: 0;
}

.p-lifeboat-policy--en .p-lifeboat-policy__rule-body ul li {
  display: flex;
  align-items: baseline;
}

.p-lifeboat-policy--en .p-lifeboat-policy__rule-body ul li::before {
  content: "・";
}

.p-lifeboat-reason {
  padding: 3.3333333333rem 0 3.8rem;
  background-image: url("./images/lifeboat/reason_bg_sp.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin: 1.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason {
    margin: 3.4375rem 0 1.0625rem;
    padding: 0;
    background: none;
  }
}
.p-lifeboat-reason__box {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__box {
    padding: 4.6875rem 5% 5rem;
    background: url("./images/lifeboat/reason_bg.webp") no-repeat center/cover;
  }
}
@media screen and (min-width: 1024px) {
  .p-lifeboat-reason__box {
    padding: 4.6875rem 11.9047619048% 5rem;
  }
}
.p-lifeboat-reason__bar {
  font-size: 1.0666666667rem;
  line-height: 2.0625;
  padding: 0.2rem 0.5333333333rem 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__bar {
    font-size: 1.5rem;
    padding: 0.4375rem;
  }
}
.p-lifeboat-reason__cards {
  margin: 1rem 0 0;
  display: grid;
  gap: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__cards {
    margin-top: 1.3125rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.03125%;
  }
}
.p-lifeboat-reason__card {
  position: relative;
  aspect-ratio: 360/219;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__card {
    aspect-ratio: 410/277;
  }
}
.p-lifeboat-reason__img {
  position: absolute;
  inset: 0;
}

.p-lifeboat-reason__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/219;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__img img {
    aspect-ratio: 410/277;
  }
}
.p-lifeboat-reason__body {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #ffffff;
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__body {
    gap: 0.75rem;
  }
}
.p-lifeboat-reason__main {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__main {
    font-size: 1.5rem;
  }
}
.p-lifeboat-reason__sub {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-reason__sub {
    font-size: 1rem;
  }
}
.p-lifeboat-reason--en .p-lifeboat-reason__bar {
  letter-spacing: 0;
}

.p-lifeboat-reason--en .p-lifeboat-reason__sub {
  text-transform: uppercase;
}

.p-lifeboat-service {
  padding: 4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-service {
    padding: 8.75rem 0 8.375rem;
  }
}
.p-lifeboat-service__list {
  margin: 2.4rem 0 0;
  display: grid;
  gap: 3.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-service__list {
    margin-top: 4.0625rem;
    gap: 1.375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-lifeboat-service__item {
    display: flex;
    align-items: center;
    gap: 5.114638448%;
    max-width: 70.875rem;
  }
  .p-lifeboat-service__item:nth-child(even) {
    flex-direction: row-reverse;
    gap: 4.1446208113%;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-lifeboat-service__img {
    flex: 1 1 0;
    width: 47.442680776%;
  }
}
.p-lifeboat-service__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 538/246;
}

.p-lifeboat-service__body {
  margin: 0.9333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-service__body {
    width: 47.442680776%;
    margin: 0;
  }
}
.p-lifeboat-service__title {
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.04em;
  text-align: center;
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-lifeboat-service__title {
    font-size: 1.125rem;
    line-height: 1.79;
    text-align: left;
  }
}
.p-lifeboat-service__text {
  margin: 0.9333333333rem 0 0;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-lifeboat-service__text {
    margin-top: 1rem;
  }
}
.p-lifeboat-service--en .p-lifeboat-service__title {
  letter-spacing: 0;
}

.p-lineup-basic {
  padding: 2.5333333333rem 0 0;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic {
    padding: 3.0625rem 0 0;
  }
}
.p-lineup-basic__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__title {
    font-size: 1.5rem;
  }
}
.p-lineup-basic__lead {
  margin: 0.6666666667rem 0 0;
  font-size: 1rem;
  font-weight: 400;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__lead {
    margin-top: 0.625rem;
    font-size: 1rem;
    text-align: center;
  }
}
.p-lineup-basic__body {
  margin: 1.8666666667rem 0 0;
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__body {
    margin-top: 2.3125rem;
    display: flex;
    flex-direction: row-reverse;
    gap: 5.15625%;
    column-gap: 5.15625%;
    align-items: start;
  }
}
.p-lineup-basic__img {
  margin: 0.9333333333rem calc(50% - 50vw) 0;
  order: 2;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__img {
    width: 44.84375%;
    margin: 0.7333333333rem 0 0;
  }
}
.p-lineup-basic__img img {
  width: 100%;
}

.p-lineup-basic__specs {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__specs {
    display: block;
    width: 50%;
  }
}
.p-lineup-basic__specs-title {
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  order: 1;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__specs-title {
    text-align: left;
    font-size: 1rem;
  }
}
.p-lineup-basic__specs-list {
  margin: 1.6666666667rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 1.5333333333rem;
  order: 3;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__specs-list {
    margin-top: 0.625rem;
    gap: 0.9375rem;
  }
}
.p-lineup-basic__spec-head {
  display: flex;
  align-items: center;
  gap: 0.4666666667rem;
  border-bottom: 1px solid #163EA3;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__spec-head {
    gap: 0.4375rem;
  }
}
.p-lineup-basic__spec-num {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.3333333333rem;
  display: grid;
  place-items: center;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__spec-num {
    width: 1.5625rem;
    height: 1.5rem;
    font-size: 1rem;
  }
}
.p-lineup-basic__spec-name {
  color: #163EA3;
  font-size: 1.2666666667rem;
  font-weight: 700;
  line-height: 1.5789473684;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__spec-name {
    font-size: 1.1875rem;
    line-height: 1.6842105263;
  }
}
.p-lineup-basic__spec-desc {
  margin: 0.3333333333rem 0 0;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__spec-desc {
    margin-top: 0.4375rem;
    letter-spacing: 0;
  }
}
.p-lineup-basic__awards {
  margin: 2rem 0 0;
  display: flex;
  gap: 0.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__awards {
    margin-top: 3.625rem;
    gap: 0.9375rem;
    justify-content: center;
  }
}
.p-lineup-basic__award {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.3333333333rem;
}

.p-lineup-basic__award:nth-child(1) {
  width: 34.1666666667%;
}

.p-lineup-basic__award:nth-child(1) .p-lineup-basic__award-img {
  width: 8.2rem;
}

.p-lineup-basic__award:nth-child(2) {
  width: 43.0555555556%;
}

.p-lineup-basic__award:nth-child(2) .p-lineup-basic__award-img {
  width: 5.1333333333rem;
}

.p-lineup-basic__award:nth-child(3) {
  width: 38.8888888889%;
}

.p-lineup-basic__award:nth-child(3) .p-lineup-basic__award-img {
  width: 5.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__award {
    gap: 0;
  }
  .p-lineup-basic__award:nth-child(1) {
    width: 16.0625rem;
  }
  .p-lineup-basic__award:nth-child(1) .p-lineup-basic__award-img {
    width: 100%;
  }
  .p-lineup-basic__award:nth-child(2) {
    width: 13.125rem;
  }
  .p-lineup-basic__award:nth-child(2) .p-lineup-basic__award-img {
    width: 69.5238095238%;
  }
  .p-lineup-basic__award:nth-child(3) {
    width: 13.125rem;
    margin-left: 2.4375rem;
  }
  .p-lineup-basic__award:nth-child(3) .p-lineup-basic__award-img {
    width: 76.1904761905%;
  }
}
.p-lineup-basic__award-img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__award-img {
    height: 12.5rem;
  }
}
.p-lineup-basic__award-img img {
  width: 100%;
}

.p-lineup-basic__award-name {
  text-align: center;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.5;
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-lineup-basic__award-name {
    font-size: 0.9375rem;
    line-height: 1.4666666667;
    margin-top: auto;
  }
}
.p-lineup-card {
  margin: 4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lineup-card {
    margin-top: 6.5625rem;
  }
  .p-lineup-card + .p-lineup-card {
    margin-top: 4.375rem;
  }
}
.p-lineup-card__head {
  background: linear-gradient(to right, #90c3ff 0%, #096ee6 80.43%);
  padding: 0.9333333333rem 0.2666666667rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__head {
    flex-direction: row;
    justify-content: space-between;
    gap: 1.625rem;
    padding: 1rem 3.1875rem 1rem 4.1875rem;
  }
}
.p-lineup-card__model {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__model {
    font-size: 1.875rem;
  }
}
.p-lineup-card__tags {
  display: flex;
  justify-content: center;
  gap: 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__tags {
    gap: 1.625rem;
  }
}
.p-lineup-card__tags li {
  background: #ffffff;
  color: #163EA3;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4666666667;
  padding: 0.2rem 0.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__tags li {
    font-size: 1rem;
    padding: 0.625rem 1rem;
  }
}
.p-lineup-card__body {
  margin: 1.1333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__body {
    margin-top: 2.125rem;
    display: grid;
    grid-template-columns: 37.890625% 19.921875% 34.375%;
    column-gap: 3.359375%;
    align-items: start;
  }
}
@media screen and (min-width: 768px) {
  .p-lineup-card--no-image .p-lineup-card__body {
    grid-template-columns: 19.921875% 34.375%;
    justify-content: end;
  }
}
.p-lineup-card__main {
  background: #D9D9D9;
  aspect-ratio: 485/237;
  overflow: hidden;
}

.p-lineup-card__main img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.p-lineup-card__thumbs {
  margin-top: 1.1333333333rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__thumbs {
    margin-top: 0.75rem;
    gap: 0.625rem;
  }
}
.p-lineup-card__thumb {
  display: block;
  width: 100%;
  cursor: pointer;
  transition: opacity 0.3s;
  opacity: 0.5;
  overflow: hidden;
  aspect-ratio: 112/80;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__thumb {
    aspect-ratio: 151/107;
  }
}
.p-lineup-card__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.p-lineup-card__thumb[aria-current=true] {
  opacity: 1;
}

.p-lineup-card__spec {
  margin: 1.1333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__spec {
    margin-top: 0;
  }
}
.p-lineup-card__equip {
  margin: 2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__equip {
    margin-top: 0;
  }
}
.p-lineup-card__section-title {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.4375;
}

.p-lineup-card__section-title--thick {
  padding-bottom: 0.6666666667rem;
  border-bottom: 2px solid #000000;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__section-title {
    font-size: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #000000;
  }
}
.p-lineup-card__spec-list {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__spec-list {
    margin-top: 0.4375rem;
  }
}
.p-lineup-card__spec-list tr {
  display: grid;
  grid-template-columns: 6.3333333333rem 1fr;
  gap: 1.1333333333rem;
  border-bottom: 1px solid #000000;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__spec-list tr {
    grid-template-columns: 1fr 33.3333333333%;
    gap: 0;
  }
}
.p-lineup-card__spec-list tr th,
.p-lineup-card__spec-list tr td {
  text-align: left;
  padding: 0.6666666667rem 0;
  vertical-align: middle;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__spec-list tr th,
  .p-lineup-card__spec-list tr td {
    font-size: 1rem;
    padding: 0.625rem 0;
  }
}
.p-lineup-card__equip-list {
  margin: 0.6666666667rem 0 0;
  font-size: 1.0666666667rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__equip-list {
    margin-top: 0.625rem;
    font-size: 1rem;
  }
}
.p-lineup-card__equip-list li {
  padding-left: 1.3em;
  position: relative;
}

.p-lineup-card__equip-list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.1em;
}

.p-lineup-card__note {
  margin: 1.0666666667rem 0 0;
  font-size: 0.8666666667rem;
  font-weight: 400;
  line-height: 1.7;
  color: #333333;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__note {
    margin-top: 0.875rem;
    font-size: 0.875rem;
  }
}
.p-lineup-card__note-title {
  font-weight: 700;
}

.p-lineup-card__note-text {
  margin: 0;
}

.p-lineup-card__price {
  margin: 0.8666666667rem 0 0;
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  color: #163EA3;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__price {
    margin-top: 0.6875rem;
  }
}
.p-lineup-card__price-label {
  font-size: 1.2rem;
  line-height: 1.1111111111;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__price-label {
    font-size: 1.25rem;
  }
}
.p-lineup-card__price-value {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  padding-bottom: 0.1333333333rem;
  border-bottom: 1px solid #163ea3;
  line-height: 1.1785714286;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__price-value {
    gap: 0.125rem;
  }
}
.p-lineup-card__price-number {
  font-size: 1.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-card__price-number {
    font-size: 1.9375rem;
  }
}
.p-lineup-important {
  margin: 2.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-lineup-important {
    margin-top: 3.125rem;
  }
}
.p-lineup-important__title {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-important__title {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
}
.p-lineup-important__text {
  margin: 0;
  font-size: 0.8666666667rem;
  font-weight: 400;
  line-height: 1.8;
}

.p-lineup-important__text + .p-lineup-important__text {
  margin-top: 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-lineup-important__text {
    font-size: 0.875rem;
  }
  .p-lineup-important__text + .p-lineup-important__text {
    margin-top: 0.875rem;
  }
}
.p-loop {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  display: flex;
  padding: 1.3333333333rem 0;
}

@media screen and (min-width: 768px) {
  .p-loop {
    padding: min(2.6041666667vw, 3.125rem) 0 0;
    margin-bottom: max(-2.0833333333vw, -2.5rem);
  }
}
.p-loop__inner {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  animation: loop-slide 50s infinite linear 0.5s both;
}

.p-loop__slider {
  display: flex;
  flex-shrink: 0;
}

.p-loop__slide {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  -webkit-text-stroke: 2px #0082D6;
  paint-order: stroke;
  font-family: "Jost", sans-serif;
  font-size: 25.641025641vw;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
  white-space: nowrap;
  margin-right: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-loop__slide {
    font-size: 13.0208333333vw;
    margin-right: 3.6458333333vw;
  }
}
.p-maintenance-offer {
  padding: 3.5333333333rem 0 2.6666666667rem;
  background-color: #DFF1FC;
}

@media screen and (min-width: 768px) {
  .p-maintenance-offer {
    padding: 0;
    background: #ffffff;
  }
}
@media screen and (min-width: 768px) {
  .p-maintenance-offer__bg {
    background-color: #DFF1FC;
    padding: 2.6875rem 1.875rem 4.875rem;
  }
}
.p-maintenance-offer__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maintenance-offer__title {
    font-size: 1.5rem;
  }
}
.p-maintenance-offer__box {
  margin: 2.6666666667rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 1.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-maintenance-offer__box {
    margin: 2.25rem auto 0;
    gap: 2.4375rem;
    max-width: 60.25rem;
  }
}
@media screen and (min-width: 768px) {
  .p-maintenance-offer__item:nth-child(even) .p-maintenance-offer__row {
    flex-direction: row-reverse;
  }
}
.p-maintenance-offer__bar {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0666666667rem;
  line-height: 2.0625;
  padding: 0.2rem 0.5333333333rem 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-maintenance-offer__bar {
    padding: 0.75rem 0.9375rem;
    line-height: 1.4444444444;
  }
}
.p-maintenance-offer__row {
  margin: 0.6666666667rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-maintenance-offer__row {
    margin-top: 0.9375rem;
    flex-direction: row;
    gap: 4.1493775934%;
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .p-maintenance-offer__img {
    width: 47.9253112033%;
  }
}
.p-maintenance-offer__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/165;
}

@media screen and (min-width: 768px) {
  .p-maintenance-offer__img img {
    aspect-ratio: 462/239;
  }
}
.p-maintenance-offer__text {
  flex: 1;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-maintenance-offer__text {
    font-size: 1rem;
  }
}
.p-maintenanceschool {
  position: relative;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-maintenanceschool {
    margin: 1.5625rem 0 0;
  }
}
.p-maintenanceschool__cta {
  margin: 2.6rem auto 0;
  max-width: 650px;
}

@media screen and (min-width: 768px) {
  .p-maintenanceschool__cta {
    max-width: 63.75rem;
    margin-top: 3.5rem;
    padding-inline: 1.875rem;
  }
}
.p-maintenanceschool__program {
  margin: 2.6666666667rem calc(50% - 50vw) 0;
}

@media screen and (min-width: 768px) {
  .p-maintenanceschool__program {
    margin-top: 5.625rem;
  }
}
.p-maker-archive {
  padding: 1.7333333333rem 0 1.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-maker-archive {
    padding: 3.5625rem 0 5.625rem;
  }
}
.p-maker-archive__intro {
  font-weight: 700;
  font-size: 1.3333333333rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__intro {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.p-maker-archive__list {
  margin: 2.4rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__list {
    margin-top: 4.625rem;
  }
}
.p-maker-archive__item {
  border: 1px solid #d2d2d2;
  background: #ffffff;
  width: 33.3333333333%;
  min-height: 11.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__item {
    min-height: 18.6875rem;
    width: 25%;
  }
}
.p-maker-archive__card {
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  padding: 0.4rem 0.4rem 0.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__card {
    padding: 1.0625rem 0.3125rem 1rem;
    transition: color 0.3s;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-maker-archive__card:hover {
    color: #163EA3;
  }
  .p-maker-archive__card:hover .p-maker-archive__logo img {
    transform: scale(1.05);
  }
}
.p-maker-archive__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__logo {
    width: 88.785046729%;
    overflow: hidden;
  }
}
.p-maker-archive__logo img {
  display: block;
  width: 100%;
  object-fit: contain;
  transition: transform 0.3s;
}

.p-maker-archive__name {
  margin: 0.7333333333rem 0 0;
  font-weight: 700;
  font-size: 0.7333333333rem;
  line-height: 1.2;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__name {
    margin-top: 0.625rem;
    font-size: 1rem;
  }
}
.p-maker-archive__catch {
  margin: 0.4rem 0 0;
  font-weight: 400;
  font-size: 0.6666666667rem;
  line-height: 1.2;
  text-align: center;
  min-height: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__catch {
    margin-top: 0.375rem;
    font-size: 0.875rem;
  }
}
.p-maker-archive__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3333333333rem 0.2rem;
  justify-content: center;
  margin: 0.4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__cats {
    gap: 0.625rem;
    margin-top: 0.5rem;
  }
}
.p-maker-archive__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2666666667rem 0.5333333333rem;
  background: #DFF1FC;
  font-size: 0.6rem;
  line-height: 1.2222222222;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__cat {
    padding: 0.625rem 0.9375rem;
    font-size: 1rem;
    line-height: 1.1875;
  }
}
.p-maker-archive__empty {
  margin-top: 2.1333333333rem;
  font-size: 0.9333333333rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker-archive__empty {
    margin-top: 3rem;
    font-size: 1rem;
  }
}
.p-maker-archive--en .p-maker-archive__card {
  cursor: default;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-maker-archive--en .p-maker-archive__card:hover {
    color: #000000;
  }
  .p-maker-archive--en .p-maker-archive__card:hover .p-maker-archive__logo img {
    transform: none;
  }
}
.p-maker-archive--en .p-maker-archive__intro span {
  display: inline-block;
}

.p-maker-list {
  margin: 1.0666666667rem auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-maker-list {
    margin-top: 2.875rem;
  }
}
.p-maker-list--no-link .p-maker-list__card {
  cursor: default;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-maker-list--no-link .p-maker-list__card:hover {
    color: inherit;
  }
  .p-maker-list--no-link .p-maker-list__card:hover .p-maker-list__thumb img {
    transform: scale(1);
  }
}
.p-maker-list--no-link .p-maker-list__name {
  letter-spacing: 0;
  font-size: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-maker-list--no-link .p-maker-list__name {
    font-size: 0.9375rem;
    letter-spacing: 0.07em;
  }
}
.p-maker-list__item {
  width: 33.3333333333%;
  border: 1px solid #D2D2D2;
  margin-left: -1px;
}

@media screen and (min-width: 768px) {
  .p-maker-list__item {
    width: 25%;
  }
}
.p-maker-list__card {
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  background: #ffffff;
  padding: 0 0 0.3333333333rem;
  transition: color 0.3s;
}

@media screen and (min-width: 768px) {
  .p-maker-list__card {
    padding-bottom: 0.75rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-maker-list__card:hover {
    color: #163EA3;
  }
  .p-maker-list__card:hover .p-maker-list__thumb img {
    transform: scale(1.05);
  }
  .p-maker-list__card:hover .p-maker-list__ico {
    background: #000000;
  }
  .p-maker-list__card:hover .p-maker-list__ico::after {
    background: #ffffff;
  }
}
.p-maker-list__thumb {
  width: 100%;
}

.p-maker-list__thumb img {
  width: 100%;
  object-fit: contain;
}

@media screen and (min-width: 768px) {
  .p-maker-list__thumb {
    overflow: hidden;
  }
  .p-maker-list__thumb img {
    transition: transform 0.3s;
  }
}
.p-maker-list__fallback {
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.p-maker-list__foot {
  margin-top: 0.6666666667rem;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-maker-list__foot {
    margin-top: 1.125rem;
  }
}
.p-maker-list__name {
  font-size: 0.5333333333rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker-list__name {
    font-size: 0.9375rem;
    line-height: 2;
  }
}
.p-maker-list__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.6666666667rem;
  height: 0.6666666667rem;
  border: 0.28px solid #000000;
  border-radius: 50%;
}

.p-maker-list__ico::after {
  content: "";
  width: 0.2666666667rem;
  height: 0.3333333333rem;
  mask-image: url(./images/common/ico_btn_arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_btn_arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #000000;
  margin-left: 0.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-maker-list__ico {
    width: 1.25rem;
    height: 1.25rem;
    transition: background 0.3s;
  }
  .p-maker-list__ico::after {
    width: 0.375rem;
    height: 0.625rem;
    margin-left: 0.125rem;
    transition: background 0.3s;
  }
}
.p-maker-logo {
  padding: 2.2666666667rem 0;
  display: flex;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-maker-logo {
    padding: 3.75rem 0 3.25rem;
  }
}
.p-maker-logo__inner {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  animation: loop-slide 20s infinite linear 0.5s both;
}

@media screen and (min-width: 768px) {
  .p-maker-logo__inner {
    animation: loop-slide 30s infinite linear 0.5s both;
  }
}
.p-maker-logo__list {
  display: flex;
  flex-shrink: 0;
  margin-right: 3.3333333333rem;
}

.p-maker-logo__item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.6666666667rem;
}

.p-maker-logo__item img {
  width: 100%;
  object-fit: contain;
}

@media screen and (min-width: 768px) {
  .p-maker-logo__item {
    width: 18.8541666667vw;
    margin-right: 0.2666666667rem;
  }
}
.p-maker {
  padding: 3.3333333333rem 0 3.7333333333rem;
  background: linear-gradient(rgba(223, 241, 252, 0.7), rgba(223, 241, 252, 0.7)), url(./images/top/maker_bg.webp) no-repeat top left/cover, #DFF1FC;
}

@media screen and (min-width: 768px) {
  .p-maker {
    padding: 4.375rem 0 7.1875rem;
    background: linear-gradient(rgba(223, 241, 252, 0.7), rgba(223, 241, 252, 0.7)), url(./images/top/maker_bg.webp) repeat top left/35%, #DFF1FC;
  }
}
.p-maker__lead {
  margin: 1.2666666667rem 0 0;
  font-size: 1.0666666667rem;
  line-height: 1.875;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker__lead {
    margin-top: 3.75rem;
    font-size: 1rem;
    line-height: 1.1875;
  }
}
.p-maker__group {
  margin: 1.8666666667rem 0 0;
}

.p-maker__group + .p-maker__group {
  margin-top: 2.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-maker__group {
    margin-top: 2.875rem;
  }
  .p-maker__group + .p-maker__group {
    margin-top: 3.875rem;
  }
}
.p-maker__group-title {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker__group-title {
    font-size: 1.5rem;
    line-height: 1.2083333333;
  }
}
.p-maker__group-text {
  font-size: 1.0666666667rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker__group-text {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.p-maker__btn {
  margin: 2.2rem 0 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-maker__btn {
    margin-top: 2.875rem;
  }
}
.p-maker__approval-list {
  margin: 1.1333333333rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-maker__approval-list {
    margin-top: 1.75rem;
  }
}
.p-maker__license-list {
  margin: 1.7333333333rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-maker__license-list {
    margin-top: 1.75rem;
  }
}
.p-maker__license-card {
  width: 33.3333%;
  border: 1px solid #d2d2d2;
  background: #ffffff;
  margin-left: -1px;
  margin-top: -1px;
  padding: 0.4rem 0.4rem 0.5333333333rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 6.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-maker__license-card {
    width: 25%;
    min-height: min(12.7083333333vw, 244px);
    padding: 1.0625rem 1rem 1.4375rem;
  }
}
.p-maker__license-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-maker__license-name {
  font-size: 0.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07em;
  text-align: center;
  white-space: pre-line;
}

@media screen and (min-width: 768px) {
  .p-maker__license-name {
    font-size: 0.9375rem;
  }
}
.p-maker__approval-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2666666667rem;
  width: 33.3333333333%;
  padding: 0.6rem 2rem 0.2666666667rem;
  border: 1px solid #d2d2d2;
  background: #ffffff;
  cursor: pointer;
  transition: opacity 0.2s;
  margin-left: -1px;
}

@media screen and (min-width: 768px) {
  .p-maker__approval-card {
    width: 25%;
    padding: 1.625rem 0.5rem 1.125rem;
    gap: 0.9375rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-maker__approval-card:hover {
    opacity: 0.8;
  }
}
.p-maker__approval-img {
  box-shadow: 0 0 1.502px 0 rgba(0, 0, 0, 0.25);
}

.p-maker__approval-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 55/79;
}

@media screen and (min-width: 768px) {
  .p-maker__approval-img {
    width: 9.3125rem;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
  }
}
.p-maker__approval-label {
  font-size: 0.6666666667rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  color: #000000;
}

@media screen and (min-width: 768px) {
  .p-maker__approval-label {
    font-size: 0.9375rem;
  }
}
.p-maker--lifeboat .p-maker__license-name {
  font-size: 0.6666666667rem;
}

.p-maker--en .p-maker__head {
  margin-inline: -0.6666666667rem;
  width: calc(100% + 1.3333333333rem);
}

.p-message {
  background: #DFF1FC;
  padding: 4.2666666667rem 0 1.8rem;
  z-index: 1;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-message {
    padding: 6.125rem 0 7.9375rem;
  }
}
.p-message__wrap {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-message__wrap {
    display: grid;
    grid-template-columns: 43.046875% 1fr;
    gap: 5.625%;
  }
}
.p-message__en {
  font-family: "Jost", sans-serif;
  font-size: 4.2666666667rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(180deg, #22A7FF 0%, #0032E2 98.97%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  position: absolute;
  left: -1.4666666667rem;
  top: 4.5333333333rem;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-message__en {
    left: -6.015625vw;
    top: 1rem;
    font-size: min(8.3333333333vw, 10rem);
    white-space: nowrap;
  }
}
@media screen and (min-width: 1680px) {
  .p-message__en {
    left: -10.3125vw;
  }
}
.p-message__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 360/450;
}

@media screen and (min-width: 768px) {
  .p-message__img {
    margin-top: 1rem;
    aspect-ratio: 551/481;
  }
  .p-message__img img {
    aspect-ratio: 551/481;
  }
}
.p-message__title {
  margin: 0.8rem 0 0;
  font-size: 1.7333333333rem;
  font-weight: 700;
  line-height: 1.4615384615;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-message__title {
    font-size: 2.25rem;
    text-align: left;
    margin-top: 0;
  }
}
.p-message__catch {
  margin: 1.3333333333rem 0 0;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-message__catch {
    margin-top: 1.4375rem;
    font-size: 1.5rem;
  }
}
.p-message__text {
  margin: 1.2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-message__text {
    margin-top: 1.9375rem;
  }
}
.p-message__text p {
  text-align: justify;
  font-weight: 500;
}

.p-message__text p + p {
  margin-top: 1em;
}

@media screen and (min-width: 768px) {
  .p-message__text p + p {
    margin-top: 1.5em;
  }
}
.p-message--en .p-message__catch {
  text-align: justify;
}

.p-mkd-about {
  margin: 3.2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-mkd-about {
    margin: 5.5rem 0 0;
  }
}
.p-mkd-about__ttl {
  line-height: 1.5;
  padding: 0.3333333333rem 0.6rem 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-mkd-about__ttl {
    line-height: 1.4444444444;
    padding: 0.75rem;
  }
}
.p-mkd-about__txt {
  margin: 1.8666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-mkd-about__txt {
    margin: 1.625rem auto 0;
    max-width: 60.0625rem;
  }
}
.p-mkd-case {
  margin: 3.3333333333rem 0 0;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-mkd-case {
    margin: 5.375rem 0 0;
  }
}
.p-mkd-case__head .c-title__ja span {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .p-mkd-case__head {
    text-align: left;
  }
}
.p-mkd-case__slider-wrap {
  margin: 1.8666666667rem calc(50% - 50vw) 0 0;
}

@media screen and (min-width: 768px) {
  .p-mkd-case__slider-wrap {
    margin-top: 3rem;
  }
}
.p-mkd-case__slider-wrap.is-static {
  margin-right: 0;
}

.p-mkd-case__slider.is-static {
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding-right: 0;
}

.p-mkd-case__slider.is-static::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-mkd-case__slider.is-static .p-mkd-case__slider-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.3125rem;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .p-mkd-case__slider.is-static .p-mkd-case__slider-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1280px) {
  .p-mkd-case__slider.is-static .p-mkd-case__slider-inner {
    grid-template-columns: repeat(5, 1fr);
  }
}
.p-mkd-case__slider.is-static .p-mkd-case__slide {
  width: 100%;
}

.p-mkd-case__img {
  margin: 0;
  overflow: hidden;
}

.p-mkd-case__img img {
  width: 100%;
  aspect-ratio: 300/201;
  object-fit: cover;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-mkd-case__img img {
    aspect-ratio: 326/201;
  }
}
.p-mkd-case__caption {
  margin: 0.6666666667rem 0 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-mkd-case__caption {
    margin-top: 0.625rem;
    font-size: 1.125rem;
    line-height: 1.8102029622;
  }
}
.p-mkd-lead {
  margin: 2.2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-mkd-lead {
    margin: 2.8125rem 0 0;
  }
}
.p-mkd-lead__ttl {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-mkd-lead__ttl {
    font-size: 1.5rem;
  }
}
.p-mkd-lead__row {
  margin: 1.3333333333rem 0 0;
  display: flex;
  flex-direction: column-reverse;
  gap: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-mkd-lead__row {
    margin-top: 2.8125rem;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 4.921875%;
  }
}
.p-mkd-lead__pics {
  display: flex;
  gap: 1.3333333333rem;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-mkd-lead__pics {
    gap: 5.8626465662%;
    width: 46.640625%;
  }
}
.p-mkd-lead__img {
  width: calc(50% - 0.6666666667rem);
}

@media screen and (min-width: 768px) {
  .p-mkd-lead__img {
    width: 47.0686767169%;
  }
}
.p-mkd-lead__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 170/209;
  display: block;
}

.p-mkd-lead__txt {
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-mkd-lead__txt {
    width: 48.828125%;
    flex-shrink: 0;
  }
}
.p-mkd-lineup {
  margin: 4rem 0 0;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup {
    margin: 6.6875rem 0 0;
  }
}
.p-mkd-lineup__ttl {
  line-height: 1.5;
  padding: 0.4666666667rem 0.6rem 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__ttl {
    line-height: 1.4444444444;
    padding: 0.75rem;
  }
}
.p-mkd-lineup__badges {
  margin: 1.8666666667rem 0 0;
  display: flex;
  justify-content: center;
  gap: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__badges {
    margin-top: 2.375rem;
    gap: 1.25rem;
  }
}
.p-mkd-lineup__badge {
  background: #DFF1FC;
  padding: 0.6666666667rem;
  width: 6.9333333333rem;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__badge {
    padding: 0.625rem 1.25rem;
    font-size: 1.25rem;
    line-height: 1.2;
    width: fit-content;
  }
}
.p-mkd-lineup__sub {
  margin: 2rem 0 0;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4444444444;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__sub {
    margin-top: 2.8125rem;
    font-size: 1.125rem;
  }
}
.p-mkd-lineup__slider-wrap {
  margin: 1.8666666667rem calc(50% - 50vw) 0 0;
}

.p-mkd-lineup__slider-wrap.is-static {
  margin-right: 0;
}

.p-mkd-lineup__slider.is-static {
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding-right: 0;
}

.p-mkd-lineup__slider.is-static::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__slider.is-static .p-mkd-lineup__slider-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.9375rem;
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-mkd-lineup__slider.is-static .p-mkd-lineup__slider-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-mkd-lineup__slide {
  height: auto;
}

.p-mkd-lineup__slider.is-static .p-mkd-lineup__slide {
  width: 100%;
}

.p-mkd-lineup__img {
  overflow: hidden;
}

.p-mkd-lineup__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 312/192;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__img img {
    aspect-ratio: 326/201;
  }
}
.p-mkd-lineup__caption {
  margin: 0.6666666667rem 0 0;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__caption {
    font-size: 1.125rem;
    line-height: 1.8333333333;
    letter-spacing: 0.07em;
  }
}
.p-mkd-lineup__more {
  margin: 4rem 0 0;
  background: #DFF1FC;
  padding: 2.0666666667rem 1.3333333333rem 3.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__more {
    margin-top: 4.25rem;
    padding: 3.75rem 0.9375rem 5.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-mkd-lineup__more-inner {
    margin-inline: auto;
    max-width: 67.5rem;
  }
}
.p-mkd-lineup__more-ttl {
  margin-inline: -0.4rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__more-ttl {
    font-size: 1.125rem;
    margin-inline: 0;
  }
}
.p-mkd-lineup__more-txt {
  margin: 2rem 0 0;
  font-weight: 500;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-mkd-lineup__more-txt {
    margin-top: 2.1875rem;
  }
}
.p-model-intro {
  padding: 1.9333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-model-intro {
    padding: 4.25rem 0 0;
  }
  .p-model-intro:has(.p-model-intro__logo--whalyboats) {
    padding: 0.5rem 0 0;
  }
}
.p-model-intro__logo {
  margin-inline: auto;
}

.p-model-intro__logo img {
  width: 100%;
}

.p-model-intro__logo--seastorm {
  width: 19.9333333333rem;
}

.p-model-intro__logo--seastorm + .p-model-intro__lead {
  margin-top: 2.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-model-intro__logo--seastorm {
    width: 46.625rem;
  }
  .p-model-intro__logo--seastorm + .p-model-intro__lead {
    margin-top: 5rem;
  }
}
.p-model-intro__logo--whalyboats {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-model-intro__logo--whalyboats {
    display: block;
    width: 20.4375rem;
  }
}
.p-model-intro__lead {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-model-intro__lead {
    margin-top: 2.125rem;
    font-size: 1.5rem;
  }
}
.p-model-intro__movies {
  margin: 2rem 0 0;
  display: grid;
  gap: 1.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-model-intro__movies {
    margin-top: 2.625rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.9642857143%;
  }
}
.p-model-intro__movie iframe {
  width: 100%;
  aspect-ratio: 360/204;
  height: auto;
  border: 0;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-model-intro__movie iframe {
    aspect-ratio: 538/306;
  }
}
.p-model-intro__about {
  margin: 3.1333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-model-intro__about {
    margin-top: 4.875rem;
    max-width: 80rem;
    margin-inline: auto;
  }
}
.p-model-intro__about h3 {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-model-intro__about h3 {
    font-size: 1.25rem;
  }
}
.p-model-intro__text {
  margin-top: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-model-intro__text {
    margin-top: 0.625rem;
  }
}
.p-model-intro__text p {
  letter-spacing: 0.03em;
}

@media screen and (min-width: 768px) {
  .p-model-intro__text p {
    letter-spacing: 0;
  }
}
.p-model-intro__text p + p {
  margin-top: 1.5em;
}

@media screen and (min-width: 768px) {
  .p-model-intro__text p + p {
    margin-top: 0;
  }
}
.p-model-intro__recycle {
  margin: 2.6rem auto 0;
  width: 17.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-model-intro__recycle {
    margin-top: 3.375rem;
    width: 19.625rem;
  }
}
.p-model-intro__recycle img {
  width: 100%;
  height: auto;
  display: block;
}

.p-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  padding: 7.1333333333rem 2.6666666667rem;
  transition: 0.3s;
  overflow-y: auto;
}

.p-nav.active {
  right: 0;
}

@media screen and (min-width: 1024px) {
  .p-nav {
    position: static;
    width: auto;
    margin-left: auto;
    overflow: visible;
    padding: 0;
    background: none;
    display: flex;
    align-items: center;
    gap: 1.4583333333vw;
  }
}
@media screen and (min-width: 1024px) {
  .p-nav__list {
    display: flex;
    align-items: center;
    height: inherit;
    position: relative;
  }
}
.p-nav__item {
  border-bottom: 1px solid #ffffff;
}

@media screen and (min-width: 1024px) {
  .p-nav__item {
    height: inherit;
    border: none;
  }
  .p-nav__item.hovered .p-nav__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .p-nav__item.hovered .p-nav__link {
    color: #fb8c00;
  }
  .p-nav__item.hovered .p-nav__link::after {
    background: #fb8c00;
  }
  .p-nav__item.hovered .p-nav__link span::after {
    transform: scaleX(1);
  }
}
.p-nav__item.active .p-nav__link.js_submenu_toggle::before,
.p-nav__item.active .p-nav__submenu-toggle::before {
  opacity: 0;
}

.p-nav__item.active .p-nav__submenu {
  opacity: 1;
  visibility: visible;
}

.p-nav__item--split .p-nav__split-head {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.p-nav__item--split .p-nav__link {
  flex: 1;
  width: auto;
  min-width: 0;
  justify-content: flex-start;
}

@media screen and (min-width: 1024px) {
  .p-nav__item--split .p-nav__split-head {
    display: contents;
  }
  .p-nav__item--split .p-nav__submenu-toggle {
    display: none !important;
  }
}
.p-nav__submenu-toggle {
  flex-shrink: 0;
  align-self: stretch;
  width: 2.9333333333rem;
  padding: 0;
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
}

.p-nav__submenu-toggle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 0.0666666667rem;
  height: 1.4666666667rem;
  background: #ffffff;
  transition: opacity 0.3s;
}

.p-nav__submenu-toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1.4666666667rem;
  height: 0.0666666667rem;
  background: #ffffff;
}

@media screen and (min-width: 1024px) {
  .p-nav__submenu-toggle {
    display: none;
  }
}
.p-nav__link {
  width: 100%;
  padding: 1.3333333333rem 0 1.2666666667rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}

.p-nav__link span {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4666666667rem;
}

.p-nav__link span::after {
  content: attr(data-en);
  font-size: 0.8rem;
  font-family: "Jost", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.p-nav__link.js_submenu_toggle {
  position: relative;
  background: none;
  border: none;
}

.p-nav__link.js_submenu_toggle::before {
  content: "";
  position: absolute;
  right: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 0.0666666667rem;
  height: 1.4666666667rem;
  background: #ffffff;
  transition: opacity 0.3s;
}

.p-nav__link.js_submenu_toggle::after {
  content: "";
  width: 1.4666666667rem;
  height: 0.0666666667rem;
  background: #ffffff;
  margin-right: 0.7333333333rem;
}

@media screen and (min-width: 1024px) {
  .p-nav__link {
    display: flex;
    align-items: center;
    height: inherit;
    padding: 0.625rem 1.1458333333vw;
    border: none;
  }
  .p-nav__link:last-child {
    padding-right: 1.0416666667vw;
  }
  .p-nav__link span {
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.07em;
    color: #333333;
    position: relative;
  }
  .p-nav__link span::after {
    content: "";
    width: 100%;
    height: 0.1875rem;
    background: #163EA3;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transition: transform 0.3s;
    transform-origin: center;
  }
  .p-nav__link.js_submenu_toggle {
    border: none;
  }
  .p-nav__link.js_submenu_toggle::before {
    display: none;
  }
  .p-nav__link.js_submenu_toggle::after {
    display: none;
  }
}
@media screen and (min-width: 1024px) and (hover: hover) {
  .p-nav__link:hover span:after {
    transform: scaleX(1);
  }
}
.p-nav__submenu {
  padding: 0 0 0.8666666667rem;
  display: none;
}

.p-nav__submenu-list li a {
  display: block;
  padding: 0.2rem 0;
}

.p-nav__submenu-list li a figure {
  display: none;
}

.p-nav__submenu-list li a span {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  display: block;
}

.p-nav__submenu-list li a span::before {
  content: "-";
}

.p-nav__submenu-list li a span.sm::before {
  display: none;
}

@media screen and (min-width: 1024px) {
  .p-nav__submenu {
    display: flex;
    justify-content: flex-end;
    gap: 4.375rem;
    padding: 0.75rem 0.9375rem 0.9375rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 60%;
    transform: translateX(-50%);
    width: fit-content;
    background: #ffffff;
    z-index: 10;
    transition: opacity 0.5s, visibility 0.5s;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1);
  }
  .p-nav__submenu-list {
    display: flex;
    gap: 0.625rem;
  }
  .p-nav__submenu-list li {
    width: clamp(115px, 9.0625vw, 174px);
  }
  .p-nav__submenu-list li a {
    border: none;
    transition: opacity 0.3s;
    position: relative;
  }
  .p-nav__submenu-list li a figure {
    display: block;
    overflow: hidden;
  }
  .p-nav__submenu-list li a figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 174/118;
    transition: transform 0.3s;
  }
  .p-nav__submenu-list li a span {
    font-size: clamp(11px, 0.8333333333vw, 16px);
    font-weight: 700;
    line-height: 1.4375;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    white-space: nowrap;
    text-align: center;
  }
  .p-nav__submenu-list li a span::before {
    display: none;
  }
  .p-nav__submenu-list li a span.sm {
    font-size: clamp(10px, 0.6770833333vw, 13px);
    position: relative;
    transform: translate(-50%, 0);
  }
}
@media screen and (min-width: 1024px) and (hover: hover) {
  .p-nav__submenu-list li a:hover figure img {
    transform: scale(1.1);
  }
}
@media screen and (min-width: 1280px) {
  .p-nav__submenu {
    left: 45%;
  }
}
@media screen and (min-width: 1024px) {
  .p-nav .js_has_submenu.hovered .p-nav__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.p-nav__cta {
  margin: 2.4rem auto 0;
  width: 20.5333333333rem;
}

.p-nav__cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.3333333333rem;
  width: 100%;
  background: #ffffff;
  border-radius: 3.3333333333rem;
}

.p-nav__cta a span {
  font-family: "Jost", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 1024px) {
  .p-nav__cta {
    margin: 0;
    width: 14.875rem;
    position: relative;
  }
  .p-nav__cta a {
    position: relative;
    overflow: hidden;
    border: 1px solid transparent;
    transition: border-color 0.3s;
  }
  .p-nav__cta a::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: transform 0.3s;
  }
  .p-nav__cta a span {
    color: #ffffff;
    background: none;
    background-clip: none;
    -webkit-background-clip: none;
    -webkit-text-fill-color: unset;
    position: relative;
    z-index: 2;
    transition: color 0.3s;
  }
}
@media screen and (min-width: 1024px) and (hover: hover) {
  .p-nav__cta a:hover {
    border-color: #163EA3;
  }
  .p-nav__cta a:hover::before {
    transform: translateX(100%);
  }
  .p-nav__cta a:hover span {
    color: #163EA3;
  }
}
.p-nav__lang {
  position: absolute;
  top: 0.8rem;
  right: 4.2rem;
}

.p-nav__lang a {
  display: flex;
  width: 2.3333333333rem;
  height: 2.3333333333rem;
  justify-content: center;
  align-items: center;
  background: #333333;
  border-radius: 50%;
  font-family: "Jost", sans-serif;
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07em;
  color: #ffffff;
  text-transform: uppercase;
}

@media screen and (min-width: 1024px) {
  .p-nav__lang {
    position: static;
  }
  .p-nav__lang a {
    width: 3.125rem;
    height: 3.125rem;
    font-size: 0.9375rem;
    line-height: 2;
    border: 1px solid #333333;
    transition: background-color 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 1024px) and (hover: hover) {
  .p-nav__lang a:hover {
    background: #ffffff;
    color: #333333;
  }
}
@media screen and (min-width: 1024px) {
  .p-nav--en .p-nav__submenu {
    position: fixed;
    left: 1rem;
    right: auto;
    transform: none;
    width: fit-content;
    max-width: calc(100vw - 2rem);
    box-sizing: border-box;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    overflow-x: clip;
  }
}
@media screen and (min-width: 1024px) {
  .p-nav--en .p-nav__submenu-list {
    flex-wrap: nowrap;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 0.625rem;
  }
  .p-nav--en .p-nav__submenu-list > li {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: 10.875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-nav--en .p-nav__sm {
    font-size: 0.625rem;
  }
}
.p-nav--en .p-nav__link span {
  font-size: 1.4rem;
  font-family: "Jost", sans-serif;
}

.p-nav--en .p-nav__link span::after {
  display: none;
}

@media screen and (min-width: 1024px) {
  .p-nav--en .p-nav__link span {
    font-size: 0.9375rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    text-transform: none;
  }
  .p-nav--en .p-nav__link span::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.1875rem;
    background: #163EA3;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transition: transform 0.3s;
    transform-origin: center;
  }
}
@media screen and (min-width: 1024px) and (hover: hover) {
  .p-nav--en .p-nav__link:hover span::after {
    transform: scaleX(1);
  }
}
.p-nav--en .p-nav__lang a {
  padding-left: 0.2rem;
}

.p-news-detail {
  padding: 2.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-news-detail {
    padding: 2.3125rem 0 7.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-news-detail__layout {
    display: grid;
    grid-template-columns: 1fr 21.71875%;
    gap: 3.28125%;
    align-items: start;
  }
}
.p-news-detail__head {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-news-detail__head {
    gap: 1.5rem;
  }
}
.p-news-detail__date {
  font-size: 0.9333333333rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
}

@media screen and (min-width: 768px) {
  .p-news-detail__date {
    font-size: 1rem;
  }
}
.p-news-detail__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  border: 1px solid #0082D6;
  border-radius: 1rem;
  color: #0082D6;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.04em;
  padding: 0.3333333333rem 1.2rem 0.4666666667rem;
  min-width: 7.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-news-detail__tag {
    border-radius: 0.9375rem;
    font-size: 0.9375rem;
    padding: 0.3125rem 1.125rem 0.375rem;
    min-width: 7.25rem;
  }
}
.p-news-detail__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

@media screen and (min-width: 768px) {
  .p-news-detail__title {
    font-size: 2rem;
  }
}
.p-news-detail__content {
  margin: 1.7333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-news-detail__content {
    margin-top: 1.875rem;
  }
}
.p-news-detail__category-cta {
  margin: 3.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-news-detail__category-cta {
    margin-top: 4.875rem;
  }
}
.p-news-detail__category-cta-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.6rem 0.6666666667rem 2.6666666667rem;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-news-detail__category-cta-link {
    gap: 1.3125rem;
    padding: 1.5rem 1.5rem 2rem;
  }
}
.p-news-detail__category-cta-bg {
  position: absolute;
  inset: 0;
}

.p-news-detail__category-cta-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-news-detail__category-cta-title, .p-news-detail__category-cta-btn {
  position: relative;
  z-index: 2;
  text-align: center;
}

.p-news-detail__category-cta-title {
  font-size: 1.2666666667rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-news-detail__category-cta-title {
    font-size: 1.5rem;
  }
}
.p-news-detail__category-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3.3333333333rem;
  background: #ffffff;
  color: #163ea3;
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.07em;
  padding: 0.6666666667rem;
  width: 17.875rem;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .p-news-detail__category-cta-btn {
    width: 22rem;
    border-radius: 3.125rem;
    font-size: 0.9375rem;
    padding: 0.625rem 2.5rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-news-detail__category-cta-btn:hover {
    background: #163EA3;
    color: #ffffff;
  }
}
.p-news-detail__side {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-news-detail__side {
    display: block;
  }
}
.p-news-detail__side-list {
  display: grid;
  gap: 0.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-news-detail__side-list {
    gap: 1.5625rem;
  }
}
.p-news-detail__side-link {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 278/172;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-news-detail__side-link:hover img {
    transform: scale(1.1);
  }
}
.p-news-detail__side-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.p-news-detail__side-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 278/172;
  transition: transform 0.3s;
}

.p-news-detail__side-title {
  position: relative;
  z-index: 2;
  color: #ffffff;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-news-detail__side-title {
    font-size: 1rem;
  }
  .p-news-detail__side-title span {
    display: inline-block;
  }
}
.p-news {
  padding: 2.6666666667rem 0 4.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-news {
    padding: 2rem 0 4.1875rem;
  }
}
.p-news__body {
  margin: 3rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-news__body {
    margin-top: 2.25rem;
  }
}
.p-news__empty {
  padding: 1.6rem 0;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-news__empty {
    text-align: left;
  }
}
.p-news__list {
  display: grid;
  gap: 1.8666666667rem;
  margin: 3rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-news__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.125rem 2.1875%;
    margin-top: 3.875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-news__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-news__item {
  width: 100%;
}

.p-news__item a {
  display: block;
  transition: color 0.3s;
}

@media (hover: hover) {
  .p-news__item a:hover {
    color: #163EA3;
  }
  .p-news__item a:hover .p-news__img img {
    transform: scale(1.1);
  }
}
.p-news__img {
  overflow: hidden;
}

.p-news__img img {
  width: 100%;
  aspect-ratio: 360/184;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
  .p-news__img img {
    aspect-ratio: 299/184;
  }
}
.p-news__meta {
  margin: 0.6rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .p-news__meta {
    margin-top: 0.75rem;
  }
}
.p-news__date {
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 2.5;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-news__date {
    font-size: 0.75rem;
  }
}
.p-news__tag {
  padding: 0.1333333333rem 0.8666666667rem;
  border: 1px solid #000000;
  border-radius: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-news__tag {
    padding: 0.125rem 0.8125rem;
    font-size: clamp(10px, 0.6770833333vw, 0.8125rem);
  }
}
.p-news__title {
  margin: 0.7333333333rem 0 0;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.5625;
  letter-spacing: 0.07em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-news__title {
    margin-top: 0.6875rem;
    font-size: 1rem;
  }
}
.p-news__pagination {
  margin: 3.0666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-news__pagination {
    margin-top: 4.875rem;
  }
}
.p-news__btn {
  margin: 2.1333333333rem 0 0;
  text-align: center;
}

.p-news__btn .c-btn span {
  font-size: 1.2rem;
}

.p-news__btn .c-btn span::after {
  width: 0.5333333333rem;
  height: 1rem;
}

@media screen and (min-width: 768px) {
  .p-news__btn {
    margin-top: 4.125rem;
  }
  .p-news__btn .c-btn {
    min-width: 21.875rem;
  }
  .p-news__btn .c-btn span {
    font-size: 1.125rem;
  }
}
.p-offer {
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-offer {
    background: #ffffff;
    padding-bottom: 5.375rem;
  }
}
.p-offer__bar {
  padding: 0.3333333333rem 0.5333333333rem 0.6rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-offer__bar {
    padding: 0.75rem;
  }
}
.p-offer__intro {
  margin: 0.8666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-offer__intro {
    margin: 1.625rem auto 0;
    max-width: 63.75rem;
    padding-inline: 1.875rem;
  }
}
.p-offer__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-offer__title {
    font-size: 1.5rem;
    text-align: center;
  }
}
.p-offer__text {
  margin: 1.3333333333rem 0 0;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-offer__text {
    margin-top: 1.1875rem;
  }
}
.p-offer__request {
  margin: 1.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-offer__request {
    margin: 3.5rem auto 0;
    max-width: 63.75rem;
    padding-inline: 1.875rem;
  }
}
.p-offer__request-title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.4;
  color: #163EA3;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-offer__request-title {
    font-size: 1.375rem;
    line-height: 1.5;
  }
}
.p-offer__request-box {
  margin: 0.5333333333rem calc(50% - 50vw) 0;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  padding: 1.1333333333rem 1rem;
}

@media screen and (min-width: 768px) {
  .p-offer__request-box {
    margin: 0.75rem 0 0;
    padding: 1.875rem 1.875rem 2.1875rem;
  }
}
.p-offer__request-list {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  max-width: 650px;
  margin-inline: auto;
}

.p-offer__request-list li {
  position: relative;
  padding-left: 1.3333333333rem;
  font-size: 0.9333333333rem;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
}

.p-offer__request-list li::before {
  content: "";
  position: absolute;
  top: 0.2666666667rem;
  left: 0;
  width: 0.9333333333rem;
  height: 1rem;
  background: url(./images/common/ico_check.svg) no-repeat center center/contain;
}

@media screen and (min-width: 768px) {
  .p-offer__request-list {
    max-width: 25.625rem;
    gap: 0.5rem;
  }
  .p-offer__request-list li {
    padding-left: 1.25rem;
    font-size: 1rem;
  }
  .p-offer__request-list li::before {
    width: 0.875rem;
    height: 0.9375rem;
    top: 0.375rem;
  }
}
.p-office {
  padding: 1.8rem 0 4.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-office {
    padding: 4.375rem 0 7.1875rem;
  }
}
.p-office__block + .p-office__block {
  margin-top: 4.6rem;
}

@media screen and (min-width: 768px) {
  .p-office__block + .p-office__block {
    margin-top: 7.1875rem;
  }
}
.p-office__title {
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.5;
}

.p-office__body {
  margin: 1.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-office__body {
    margin-top: 2.4375rem;
    display: grid;
    grid-template-columns: 45.15625% 50%;
    gap: 4.84375%;
    align-items: start;
  }
}
.p-office__main img {
  width: 100%;
  display: block;
  aspect-ratio: 360/347;
  object-fit: cover;
}

.p-office__thumbs {
  margin: 0.4666666667rem 0 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-office__thumbs {
    margin-top: 0.6875rem;
    gap: 0.5rem;
  }
}
.p-office__thumb {
  width: 100%;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.3s;
}

.p-office__thumb[aria-current=true] {
  opacity: 1;
}

.p-office__thumb img {
  width: 100%;
  display: block;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.p-office__table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-office__table {
    margin: 0;
  }
}
.p-office__table tr {
  border-bottom: 1px solid #000000;
}

.p-office__table th,
.p-office__table td {
  padding: 0.6666666667rem 0;
  text-align: left;
  vertical-align: top;
  font-weight: 400;
}

.p-office__table th {
  width: 4.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-office__table th {
    width: 18.75%;
  }
}
@media screen and (min-width: 1024px) {
  .p-office__table th {
    width: 22.65625%;
  }
}
.p-office__table td a {
  color: #163EA3;
  position: relative;
  display: inline-block;
}

.p-office__table td a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #163EA3;
  transition: width 0.3s;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-office__table td a:hover::after {
    width: 0;
  }
}
.p-office__desc {
  margin: 1.5333333333rem 0 0;
  font-size: 1.0666666667rem;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .p-office__desc {
    margin-top: 1.4375rem;
    font-size: 1rem;
    letter-spacing: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-office__access-item {
    display: grid;
    grid-template-columns: 10em 1fr;
  }
}
.p-office--en .p-office__desc {
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-office--en .p-office__access-item {
    grid-template-columns: 4.0625rem 1fr;
  }
}
.p-privacy {
  padding: 2.3333333333rem 0 4.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-privacy {
    padding: 4.6875rem 0 9.875rem;
  }
}
.p-privacy h1 {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4583333333;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-privacy h1 {
    font-size: 1.5rem;
    line-height: 1.2083333333;
  }
}
.p-privacy__section {
  margin: 2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-privacy__section {
    margin-top: 4.625rem;
  }
}
.p-privacy h2 {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4583333333;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-privacy h2 {
    line-height: 1.2083333333;
    font-size: 1.5rem;
  }
}
.p-privacy p {
  margin: 0.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-privacy p {
    margin-top: 1.25rem;
  }
}
.p-privacy ol {
  margin: 0.6666666667rem 0 0;
}

.p-privacy ol li {
  text-indent: -1em;
  padding-left: 1em;
}

@media screen and (min-width: 768px) {
  .p-privacy ol {
    margin-top: 1.25rem;
  }
}
.p-program {
  background: #DFF1FC;
  position: relative;
  padding: 0 0 2.4666666667rem;
}

.p-program::before {
  content: "";
  width: 100%;
  height: 57.6923076923vw;
  background: #DFF1FC;
  position: absolute;
  top: -57.6923076923vw;
  left: 0;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-program {
    padding-bottom: 8.0625rem;
  }
  .p-program::before {
    height: min(33.28125vw, 39.9375rem);
    top: max(-33.28125vw, -39.9375rem);
  }
}
.p-program__inner {
  padding-inline: 1rem;
}

@media screen and (min-width: 768px) {
  .p-program__inner {
    max-width: calc(1280px + 10%);
    margin-inline: auto;
    padding-inline: 5%;
  }
}
@media screen and (min-width: 1280px) {
  .p-program__inner {
    max-width: min(90vw, 1280px);
    padding: 0;
  }
}
.p-program__bar {
  padding: 0.5333333333rem 0.6rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-program__bar {
    padding: 0.875rem;
  }
}
.p-program__summary-text {
  font-weight: 400;
  background: #ffffff;
  padding: 1.0666666667rem 1.4rem 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-program__summary-text {
    padding: 1.625rem 7.8125% 2.625rem;
  }
}
.p-program__main {
  margin: 2.8rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-program__main {
    margin: 5.625rem 0 0;
  }
}
.p-program__items {
  background: #ffffff;
  padding: 1.1333333333rem 1.4rem 1.6666666667rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

@media screen and (min-width: 768px) {
  .p-program__items {
    gap: 3.5625rem;
    padding: 2.625rem 7.65625% 6.75rem;
  }
}
.p-program__item {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

@media screen and (min-width: 768px) {
  .p-program__item {
    align-items: flex-end;
    flex-direction: row;
    gap: 4.889298893%;
  }
}
@media screen and (min-width: 768px) {
  .p-program__item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-program__item:nth-child(even) .p-program__img img {
    aspect-ratio: 486/506;
  }
}
@media screen and (min-width: 768px) {
  .p-program__img {
    width: 44.8339483395%;
  }
}
.p-program__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 318/165;
}

@media screen and (min-width: 768px) {
  .p-program__img img {
    aspect-ratio: 486/560;
  }
}
@media screen and (min-width: 768px) {
  .p-program__content {
    width: 50.0922509225%;
  }
}
.p-program__day {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.45;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #000000;
}

@media screen and (min-width: 768px) {
  .p-program__day {
    font-size: 1.875rem;
    line-height: 1.2;
    padding-bottom: 1.1875rem;
  }
}
.p-program__schedule {
  width: 100%;
  border-collapse: collapse;
}

.p-program__schedule tr {
  border-bottom: 1px solid #000000;
}

.p-program__schedule th,
.p-program__schedule td {
  padding: 0.5333333333rem 0 0.6666666667rem;
  vertical-align: top;
}

@media screen and (min-width: 768px) {
  .p-program__schedule th,
  .p-program__schedule td {
    padding: 1rem 0;
  }
}
.p-program__schedule th {
  width: 3.1333333333rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .p-program__schedule th {
    width: 18.4162062615%;
    font-size: 1rem;
    line-height: 1.1875;
  }
}
.p-program__schedule td {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-program__schedule td {
    font-size: 1rem;
    line-height: 1.375;
  }
}
.p-program--en .p-program__bar {
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-program--en .p-program__schedule td {
    letter-spacing: 0;
  }
}
.p-quality {
  padding: 2.3333333333rem 0 2.2rem;
}

@media screen and (min-width: 768px) {
  .p-quality {
    padding: 3.125rem 0 5.625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-quality__lead {
    text-align: center;
  }
}
.p-quality__lead-title {
  font-size: 1.3333333333rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-quality__lead-title {
    font-size: min(2.2135416667vw, 1.5rem);
    line-height: 1.5;
  }
}
.p-quality__lead-title:not(:first-child) {
  margin-top: 1.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-quality__lead-title:not(:first-child) {
    margin-top: 2.8125rem;
  }
}
.p-quality__lead-text {
  margin: 1.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-quality__lead-text {
    margin-top: 2.8125rem;
  }
}
.p-quality__lead-text p + p {
  margin-top: 1.3em;
}

@media screen and (min-width: 768px) {
  .p-quality__lead-text p + p {
    margin-top: 0;
  }
}
.p-quality__content {
  margin: 4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-quality__content {
    margin-top: 5.9375rem;
  }
}
.p-quality__block .c-title02 {
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-quality__block .c-title02 {
    font-size: 1.125rem;
  }
}
.p-quality__block:not(:first-child) {
  margin-top: 2.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-quality__block:not(:first-child) {
    margin-top: 4.375rem;
  }
}
.p-quality__body {
  background: #DFF1FC;
  padding: 1.8666666667rem 1.1333333333rem 1.8rem;
}

.p-quality__body h3 {
  font-size: 1rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-quality__body {
    padding: 2.4375rem 1.875rem 3.125rem;
  }
  .p-quality__body h3 {
    font-size: 1.0625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-quality__body-inner {
    max-width: 60rem;
    margin-inline: auto;
  }
}
.p-quality__list {
  margin: 1.5em 0 0;
}

.p-quality__list-item {
  text-indent: -1.1em;
  padding-left: 1.1em;
}

.p-quality__list-item:not(:first-child) {
  margin-top: 3em;
}

.p-quality__list-item ol {
  margin: 1em 0 0 -1.1em;
}

@media screen and (min-width: 768px) {
  .p-quality__list-item ol {
    margin-top: 1.5em;
  }
}
.p-quality__list-item ol li {
  text-indent: -2.5em;
  padding-left: 2.5em;
}

.p-quality__list-item ol li:not(:first-child) {
  margin-top: 1em;
}

@media screen and (min-width: 768px) {
  .p-quality__list-item ol li:not(:first-child) {
    margin-top: 0;
  }
}
.p-quality__img {
  width: 16rem;
  margin-inline: auto;
  box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.1);
}

.p-quality__img img {
  width: 100%;
}

.p-quality__text {
  margin: 2.3333333333rem 0 0;
}

.p-quality__text p:not(:first-child) {
  margin-top: 1.5em;
}

@media screen and (min-width: 768px) {
  .p-quality__text p:not(:first-child) {
    margin-top: 2em;
  }
}
.p-quality__text ul {
  margin: 1.5em 0 0;
}

@media screen and (min-width: 768px) {
  .p-quality__text ul {
    margin-top: 2em;
  }
}
.p-quality__text ul li {
  position: relative;
  padding-left: 1em;
}

.p-quality__text ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .p-quality__text {
    margin-top: 3.3125rem;
  }
}
.p-quality--en .p-quality__body {
  background: #ffffff;
  padding: 1.8666666667rem 0 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-quality--en .p-quality__body {
    padding: 2.4375rem 0 0;
  }
}
.p-quality--en .p-quality__text {
  font-size: 0.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-quality--en .p-quality__text {
    font-size: 1rem;
  }
}
.p-reasons-points {
  padding: 3.5333333333rem 0 3.4rem;
  background-color: #DFF1FC;
}

@media screen and (min-width: 768px) {
  .p-reasons-points {
    padding: 4rem 0 6.25rem;
  }
}
.p-reasons-points__heading {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-reasons-points__heading {
    font-size: 1.5rem;
  }
}
.p-reasons-points__list {
  margin: 2.4rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 2.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-reasons-points__list {
    margin-top: 4.75rem;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4.625rem 4.4047619048%;
  }
}
.p-reasons-points__item {
  padding: 1.3333333333rem 0.6666666667rem;
  position: relative;
  display: grid;
  gap: 0.9333333333rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
}

@media screen and (min-width: 768px) {
  .p-reasons-points__item {
    padding: 1.6875rem 0.9375rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.25rem;
    width: 40%;
  }
}
@media screen and (min-width: 1024px) {
  .p-reasons-points__item {
    width: 30.3968253968%;
    padding-inline: 0.625rem;
  }
}
@media screen and (min-width: 1280px) {
  .p-reasons-points__item {
    padding-inline: 0.9375rem;
  }
}
.p-reasons-points__label {
  position: absolute;
  top: -1.5333333333rem;
  left: 0.8666666667rem;
  z-index: 1;
  font-family: "Jost", sans-serif;
  font-size: 2.1333333333rem;
  font-weight: 700;
  line-height: 1.5;
  color: #163ea3;
}

@media screen and (min-width: 768px) {
  .p-reasons-points__label {
    font-size: clamp(25px, 2.5520833333vw, 3.0625rem);
    top: clamp(-2.3125rem, -1.9270833333vw, -19px);
    left: clamp(-0.75rem, -0.625vw, -6px);
  }
}
.p-reasons-points__item-title {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.4375;
  text-align: center;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-reasons-points__item-title {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
}
.p-reasons-points__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 339/165;
}

@media screen and (min-width: 768px) {
  .p-reasons-points__img img {
    aspect-ratio: 482/235;
  }
}
.p-reasons-points__item-text {
  padding: 0 0.7333333333rem;
  font-weight: 400;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-reasons-points__item-text {
    padding: 0 3.3195020747%;
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .p-reasons-points--en .p-reasons-points__item-title {
    min-height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 1680px) {
  .p-reasons-points--en .p-reasons-points__item-title {
    min-height: auto;
  }
}
.p-recommend {
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  padding: 4.6666666667rem 0 1.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recommend {
    padding: 3.25rem 0 4.5rem;
  }
}
.p-recommend__list {
  display: grid;
  gap: 1.6rem;
  margin: 1.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recommend__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1.6071428571%;
    margin-top: 3.875rem;
  }
}
@media screen and (min-width: 1280px) {
  .p-recommend__list {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
  }
}
.p-recommend__item {
  background: #ffffff;
  position: relative;
  padding: 1.3333333333rem 1.4666666667rem 1.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recommend__item {
    padding: 1.4375rem 1.5625rem 1.8125rem;
  }
}
.p-recommend__body {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-recommend__body {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}
.p-recommend__img {
  position: absolute;
  right: 0.4666666667rem;
  top: 0.5333333333rem;
  width: 64.4444444444%;
  height: calc(100% - 1.0666666667rem);
}

@media screen and (min-width: 768px) {
  .p-recommend__img {
    top: 0.5625rem;
    right: 0.5rem;
    width: 64.5%;
    height: calc(100% - 1.125rem);
  }
}
.p-recommend__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 258/235;
  object-fit: cover;
  object-position: center left;
}

.p-recommend__tag {
  font-family: "Jost", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.5;
  display: inline-block;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (min-width: 768px) {
  .p-recommend__tag {
    font-size: 0.875rem;
  }
}
.p-recommend__category {
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recommend__category {
    font-size: 1rem;
    margin-top: 0.5rem;
  }
}
.p-recommend__title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #163EA3;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin: 2.0666666667rem 0 0;
}

.p-recommend__title--sm {
  font-size: 1.2666666667rem;
  line-height: 1.45;
  margin-top: 0.4rem;
}

.p-recommend__title--sm + .p-recommend__btn {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .p-recommend__title {
    font-size: clamp(18px, 1.25vw, 1.5rem);
    margin-top: min(1.8229166667vw, 2.1875rem);
  }
  .p-recommend__title--sm {
    font-size: clamp(16px, 1.09375vw, 1.3125rem);
    line-height: 1.45;
    margin-top: min(0.4166666667vw, 0.5rem);
  }
  .p-recommend__title--sm + .p-recommend__btn {
    margin-top: 1.0625rem;
  }
}
.p-recommend__btn {
  margin: 2.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recommend__btn {
    margin-top: 2.75rem;
    margin-top: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-recommend--en .p-recommend__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1440px) {
  .p-recommend--en .p-recommend__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-recommend--en .p-recommend__item {
  min-height: 15.2rem;
}

.p-recommend--en .p-recommend__item:nth-child(4) .p-recommend__title {
  line-height: 1.4;
  font-size: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recommend--en .p-recommend__item {
    min-height: 15.8125rem;
  }
  .p-recommend--en .p-recommend__item:nth-child(4) .p-recommend__title {
    font-size: 1.125rem;
  }
}
.p-recommend--en .p-recommend__body {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.p-recommend--en .p-recommend__category {
  font-family: "Jost", sans-serif;
  margin: 0;
}

.p-recommend--en .p-recommend__title {
  margin-top: 0.5333333333rem;
  text-transform: uppercase;
  font-size: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recommend--en .p-recommend__title {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-recommend--en .p-recommend__title {
    font-size: min(1.25vw, 1.375rem);
  }
}
.p-recommend--en .p-recommend__btn {
  margin-top: auto;
}

.p-recruit-jobs {
  margin: 4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs {
    margin-top: 7.375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-jobs__title {
    font-size: 1.375rem;
    padding: 0.625rem;
  }
}
.p-recruit-jobs__items {
  display: flex;
  flex-direction: column;
  gap: 3.3333333333rem;
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs__items {
    margin-top: 1.875rem;
    gap: 1.5625rem;
  }
}
.p-recruit-jobs__item {
  display: flex;
  flex-direction: column;
  gap: 1.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs__item {
    flex-direction: row;
    gap: 3.125%;
    align-items: center;
  }
}
.p-recruit-jobs__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9333333333rem;
  padding: 1.4666666667rem 0.7333333333rem 1.2666666667rem;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs__card {
    flex-direction: row;
    flex-shrink: 0;
    gap: 0.625rem;
    align-items: center;
    padding: 0.9375rem 1.25rem;
    width: 44.453125%;
  }
}
.p-recruit-jobs__card-title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs__card-title {
    flex: 1;
    height: 100%;
    line-height: 2;
    font-size: min(1.953125vw, 1.25rem);
  }
  .p-recruit-jobs__card-title span {
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-jobs__img {
    width: 42.0035149385%;
  }
}
.p-recruit-jobs__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 339/165;
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs__img img {
    aspect-ratio: 239/226;
  }
}
.p-recruit-jobs__content {
  font-weight: 500;
}

.p-recruit-jobs__content p {
  font-weight: 500;
}

.p-recruit-jobs__content ul li {
  display: flex;
  align-items: baseline;
  font-feature-settings: "palt";
}

.p-recruit-jobs__content ul li::before {
  content: "・";
  margin-right: 0.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs__content {
    flex: 1;
    font-size: min(1.4322916667vw, 1rem);
  }
}
.p-recruit-jobs--en .p-recruit-jobs__card-title {
  width: calc(100% + 1.3333333333rem);
}

@media screen and (min-width: 768px) {
  .p-recruit-jobs--en .p-recruit-jobs__card-title {
    font-size: min(1.5625vw, 1.25rem);
  }
}
.p-recruit-lead {
  margin: 2.4666666667rem 0 0;
  overflow: clip;
}

@media screen and (min-width: 768px) {
  .p-recruit-lead {
    margin-top: 0.625rem;
  }
}
.p-recruit-lead__catch {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-recruit-lead__catch {
    font-size: 1.5rem;
  }
}
.p-recruit-lead__text {
  margin: 0.6666666667rem 0 0;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-recruit-lead__text {
    margin-top: 2.8125rem;
    text-align: center;
  }
}
.p-recruit-lead__subheading {
  margin: 4.5333333333rem 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-recruit-lead__subheading {
    margin-top: 4.1875rem;
    font-size: 1.375rem;
    line-height: 1.5;
  }
}
.p-recruit-lead__box {
  margin: 0.7333333333rem calc(50% - 50vw) 0;
  padding: 2rem 0;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
}

@media screen and (min-width: 768px) {
  .p-recruit-lead__box {
    margin: 0.75rem auto 0;
    padding: 1.875rem 2.5rem 2.1875rem;
  }
}
.p-recruit-lead__list {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.8666666667rem;
  max-width: 24rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-lead__list {
    gap: 0.8125rem;
    max-width: 33.5rem;
  }
}
.p-recruit-lead__item {
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
}

.p-recruit-lead__item::before {
  content: "";
  width: 0.9333333333rem;
  height: 1.0666666667rem;
  background: url(./images/common/ico_check.svg) no-repeat center center/contain;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-lead__item {
    font-size: 1rem;
  }
  .p-recruit-lead__item::before {
    width: 0.875rem;
    height: 1rem;
  }
}
.p-recruit-link {
  padding: 2.3333333333rem 0 2.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-link {
    padding: 7.6875rem 0 6.5625rem;
  }
}
.p-recruit-link__wrap {
  padding: 1.6666666667rem 0 1.8666666667rem;
  display: flex;
  flex-direction: column-reverse;
  gap: 0.4666666667rem;
  background: linear-gradient(90deg, #91C4FF 0%, #4394F2 18.13%, #0563D2 65.92%);
}

@media screen and (min-width: 768px) {
  .p-recruit-link__wrap {
    flex-direction: row;
    justify-content: space-between;
    background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
    padding: 0.625rem 1.4375rem 0.625rem 0.5rem;
    min-height: 21.125rem;
    transition: opacity 0.3s;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-recruit-link__wrap:hover {
    opacity: 0.8;
  }
  .p-recruit-link__wrap:hover .p-recruit-link__ico {
    background: #ffffff;
  }
  .p-recruit-link__wrap:hover .p-recruit-link__ico::before {
    background: #163EA3;
  }
}
.p-recruit-link__img {
  position: relative;
  background: url(./images/top/recruit_bg_sp.webp) center/cover no-repeat;
  width: calc(100% - 0.3333333333rem);
}

@media screen and (min-width: 768px) {
  .p-recruit-link__img {
    width: 57.6739752145%;
    margin-right: -8.4635416667vw;
    background: url(./images/top/recruit_bg.webp) center right/cover no-repeat;
  }
}
@media screen and (min-width: 1024px) {
  .p-recruit-link__img {
    margin-right: 0;
  }
}
.p-recruit-link__catch {
  position: relative;
  z-index: 1;
  color: #ffffff;
  font-size: 1.3333333333rem;
  font-weight: 700;
  text-align: center;
  padding: 1.6666666667rem 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-link__catch {
    font-size: 1.5rem;
    padding: 3.3125rem 0;
    transform: translateX(-5%);
  }
}
.p-recruit-link__head {
  position: relative;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-recruit-link__head {
    text-align: right;
  }
}
.p-recruit-link__en {
  font-family: "Jost", sans-serif;
  font-size: 3.3333333333rem;
  font-weight: 700;
  color: #65A7FD;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .p-recruit-link__en {
    font-size: 6.25rem;
    line-height: 1.2;
    color: #396EF7;
    white-space: nowrap;
  }
}
.p-recruit-link__ja {
  font-size: 1.2666666667rem;
  font-weight: 700;
  line-height: 1.4736842105;
  color: #ffffff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-recruit-link__ja {
    font-size: 2.25rem;
  }
}
.p-recruit-link__body {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  margin: 0.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-link__body {
    margin: 1.5625rem 0 1rem;
    flex-direction: column;
    align-items: flex-end;
    gap: 3.0625rem;
  }
}
.p-recruit-link__text {
  font-size: 1.0666666667rem;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.4375;
}

@media screen and (min-width: 768px) {
  .p-recruit-link__text {
    font-size: 1rem;
  }
}
.p-recruit-link__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.4666666667rem;
  height: 3.4666666667rem;
  border-radius: 50%;
  border: 2px solid #ffffff;
  transition: background 0.3s;
}

.p-recruit-link__ico::before {
  content: "";
  width: 0.6rem;
  height: 0.9333333333rem;
  mask-image: url(./images/common/ico_btn_arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/common/ico_btn_arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background: #ffffff;
  margin-left: 0.2rem;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .p-recruit-link__ico {
    width: 6.3125rem;
    height: 6.3125rem;
  }
  .p-recruit-link__ico::before {
    width: 0.8125rem;
    height: 1.625rem;
    margin-left: 0.25rem;
    mask-image: url(./images/common/ico_btn_arrow_pc.svg);
    -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  }
}
.p-recruit-link--en .p-recruit-link__content {
  padding-right: 0.7333333333rem;
  padding-left: 0.9333333333rem;
}

.p-recruit-link--en .p-recruit-link__body {
  gap: 4.4rem;
}

.p-recruit-link--en .p-recruit-link__catch {
  font-size: 1.0666666667rem;
  line-height: 1.6;
  width: 86.4788732394%;
  margin-inline: auto;
  padding: 1.6666666667rem 0 2.2rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-link--en .p-recruit-link__wrap {
    min-width: 0;
    overflow: hidden;
  }
  .p-recruit-link--en .p-recruit-link__img {
    width: 67.2068636797%;
    margin-right: -7.1496663489%;
    min-width: 0;
    display: flex;
    align-items: center;
  }
  .p-recruit-link--en .p-recruit-link__content {
    padding: 0;
    width: 39.0848427073%;
    min-width: 0;
  }
  .p-recruit-link--en .p-recruit-link__head {
    max-width: 100%;
  }
  .p-recruit-link--en .p-recruit-link__text {
    font-size: min(1.5625vw, 1rem);
  }
  .p-recruit-link--en .p-recruit-link__catch {
    font-size: min(1.953125vw, 1.5rem);
    line-height: 2;
    width: 83.1205673759%;
    text-align: left;
  }
  .p-recruit-link--en .p-recruit-link__en {
    display: block;
    max-width: 100%;
    font-size: clamp(2.75rem, 7.2vw, 6.25rem);
    line-height: 1.1;
  }
}
.p-recruit-merit {
  margin: 3.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit {
    margin-top: 7.75rem;
  }
}
.p-recruit-merit__title {
  padding: 0.4666666667rem 0.6666666667rem 0.6666666667rem;
  font-size: 1.2rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__title {
    font-size: 1.375rem;
    padding: 0.625rem;
  }
}
.p-recruit-merit__heading {
  margin: 1.8666666667rem 0 0;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__heading {
    font-size: 1.25rem;
    margin-top: 1.875rem;
  }
}
.p-recruit-merit__blocks {
  margin: 2rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 3.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__blocks {
    gap: 3.75rem;
  }
}
.p-recruit-merit__item {
  display: flex;
  flex-direction: column;
  gap: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__item {
    flex-direction: row;
    gap: 4.6875%;
    align-items: start;
  }
  .p-recruit-merit__item:first-child {
    flex-direction: row-reverse;
  }
}
.p-recruit-merit__body {
  display: flex;
  flex-direction: column;
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__body {
    gap: 1.25rem;
    width: 48.828125%;
  }
}
.p-recruit-merit__item-title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__item-title {
    text-align: left;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-merit__text {
    font-size: min(1.4322916667vw, 1rem);
  }
  .p-recruit-merit__text p + p {
    margin-top: 2em;
  }
}
.p-recruit-merit__list li {
  display: flex;
  align-items: baseline;
}

.p-recruit-merit__list li::before {
  content: "★";
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__img {
    width: 46.640625%;
  }
}
.p-recruit-merit__img img {
  width: 100%;
  display: block;
  aspect-ratio: 360/239;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-recruit-merit__img img {
    aspect-ratio: 597/292;
  }
}
.p-recruit-message {
  margin: 3.3333333333rem 0 0;
  padding: 4rem 0 3.6rem;
  background: #DFF1FC;
}

@media screen and (min-width: 768px) {
  .p-recruit-message {
    margin-top: 7.5rem;
    padding: 4.5rem 0 5.0625rem;
  }
}
.p-recruit-message__wrap {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-recruit-message__wrap {
    flex-direction: row;
    column-gap: 3.28125%;
    align-items: start;
  }
}
.p-recruit-message__img {
  order: 2;
  margin: 1.6rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-message__img {
    order: 1;
    width: 48.828125%;
    margin: 0;
  }
}
.p-recruit-message__img img {
  width: 100%;
  display: block;
  aspect-ratio: 360/239;
  object-fit: cover;
}

.p-recruit-message__rest {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-recruit-message__rest {
    display: block;
    order: 2;
    width: 47.65625%;
  }
}
.p-recruit-message__title {
  font-size: 1.7333333333rem;
  font-weight: 700;
  line-height: 1.4615384615;
  order: 1;
}

@media screen and (min-width: 768px) {
  .p-recruit-message__title {
    font-size: min(2.8645833333vw, 2.25rem);
    line-height: 1;
  }
}
.p-recruit-message__lead {
  font-size: 1.3333333333rem;
  font-weight: 700;
  order: 3;
  margin: 1.8666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-message__lead {
    font-size: min(1.953125vw, 1.5rem);
    margin-top: min(1.5625vw, 1.875rem);
  }
}
.p-recruit-message__copy {
  font-weight: 500;
  order: 4;
  margin: 0.8666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-message__copy {
    margin-top: min(1.8229166667vw, 2.1875rem);
    font-size: min(1.4322916667vw, 1rem);
  }
}
.p-recruit-message__copy p {
  display: inline;
}

@media screen and (min-width: 768px) {
  .p-recruit-message__copy p {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-message__copy p + p {
    margin-top: 1.2em;
  }
}
.p-recruit-message--en .p-recruit-message__copy p {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-recruit-message--en .p-recruit-message__rest {
    width: 51.328125%;
  }
}
.p-recruit-req {
  margin: 4.4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-req {
    margin-top: 5.625rem;
    padding-bottom: 3.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-req__title {
    font-size: 1.375rem;
    padding: 0.625rem;
  }
}
.p-recruit-req__tabs {
  margin: 1.3333333333rem 0 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__tabs {
    margin: 2.9375rem auto 0;
    gap: 1.875rem;
    max-width: 44.875rem;
  }
}
.p-recruit-req__tab {
  padding: 0.5333333333rem 0.3333333333rem;
  background: #DFF1FC;
  font-family: inherit;
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1.4285714286;
  text-align: center;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__tab {
    padding: 0.625rem;
    font-size: 1rem;
    line-height: 1.4375;
  }
}
.p-recruit-req__tab.is-active {
  background: #163EA3;
  color: #ffffff;
}

.p-recruit-req__panels {
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__panels {
    margin-top: 1.8125rem;
  }
}
.p-recruit-req__panel[hidden] {
  display: none !important;
}

.p-recruit-req__empty {
  padding: 2.6666666667rem 1rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__empty {
    padding: 3.75rem 0.9375rem;
  }
}
.p-recruit-req__empty--global {
  margin-top: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__empty--global {
    margin-top: 1.5625rem;
  }
}
.p-recruit-req__table {
  width: 100%;
}

.p-recruit-req__table tr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-bottom: 1px solid #000000;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__table tr {
    flex-direction: row;
    gap: 1.125rem;
    align-items: stretch;
    border-bottom: none;
  }
}
.p-recruit-req__table th {
  font-size: 1.0666666667rem;
  font-weight: 400;
  line-height: 1.1875;
  padding: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__table th {
    flex-shrink: 0;
    width: 15.5rem;
    padding: 1.25rem;
    border-bottom: 0.125rem solid #163EA3;
  }
}
.p-recruit-req__table td {
  padding: 0.3333333333rem 0 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-recruit-req__table td {
    flex: 1;
    padding: 0.8125rem 1.25rem 0.9375rem;
    font-size: 1rem;
    border-bottom: 0.0625rem solid #000000;
  }
}
.p-recruit-req__table td p {
  margin: 0 0 0.5em;
}

.p-recruit-req__table td p:last-child {
  margin-bottom: 0;
}

.p-recruit-req--en .p-recruit-req__tabs {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-recruit-req--en .p-recruit-req__tabs {
    max-width: 64.625rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-recruit-req--en .p-recruit-req__tab {
  min-width: 5.4666666667rem;
  padding: 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-req--en .p-recruit-req__table th {
    text-align: left;
    font-size: 1rem;
  }
}
.p-recruit-voices {
  margin: 6.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices {
    margin-top: 9.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-voices__title {
    font-size: 1.375rem;
    padding: 0.625rem;
  }
}
.p-recruit-voices__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.53125%;
    margin-top: 1.875rem;
  }
}
.p-recruit-voices__item {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__item {
    gap: 0;
  }
}
.p-recruit-voices__item:nth-child(2) .p-recruit-voices__tag {
  min-width: 21.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__item:nth-child(2) .p-recruit-voices__tag {
    min-width: auto;
  }
}
.p-recruit-voices__header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}

.p-recruit-voices__name {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  color: #0a0a0a;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__name {
    font-size: 1.25rem;
  }
}
.p-recruit-voices__tags {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__tags {
    flex-direction: row;
    justify-content: center;
    gap: 4.4117647059%;
    width: 100%;
  }
}
.p-recruit-voices__tag {
  padding: 0.6666666667rem 1.3333333333rem;
  border: 1px solid #0082D6;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.4375;
  text-align: center;
  min-width: 12.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__tag {
    min-width: auto;
    padding: 0.625rem min(1.0416666667vw, 1.25rem);
    font-size: min(1.3020833333vw, 1rem);
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-voices__photo {
    margin-top: 1.25rem;
  }
}
.p-recruit-voices__photo img {
  width: 100%;
  display: block;
  aspect-ratio: 360/270;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__photo img {
    aspect-ratio: 612/455;
  }
}
.p-recruit-voices__content {
  display: flex;
  flex-direction: column;
  gap: 1.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__content {
    margin-top: 1.9333333333rem;
    gap: 1.8125rem;
  }
}
.p-recruit-voices__qa {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices__qa {
    gap: 1rem;
  }
}
.p-recruit-voices__question {
  border-bottom: 1px solid #000000;
  border-left: 0.4666666667rem solid #000000;
  padding: 0 0 0.5333333333rem 1rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-recruit-voices--en .p-recruit-voices__tag {
  font-size: 1rem;
  padding: 0.6666666667rem 0.6666666667rem;
  min-width: 16.4rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices--en .p-recruit-voices__tag {
    min-width: auto;
    font-size: min(1.0416666667vw, 0.9375rem);
    padding-inline: 0.3125rem;
  }
}
.p-recruit-voices--en .p-recruit-voices__item:nth-child(2) .p-recruit-voices__tag {
  min-width: 24rem;
}

@media screen and (min-width: 768px) {
  .p-recruit-voices--en .p-recruit-voices__item:nth-child(2) .p-recruit-voices__tag {
    min-width: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-voices--en .p-recruit-voices__tags {
    gap: 0.625rem;
  }
}
.p-rental {
  padding: 0 0 2.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-rental {
    padding-bottom: 2rem;
  }
}
.p-rental__section-title {
  padding: 0.3333333333rem 0.5333333333rem 0.6rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-rental__section-title {
    padding: 0.625rem 0.9375rem;
    font-size: 1.375rem;
    line-height: 1.4545454545;
  }
}
.p-rental__lead {
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-rental__lead {
    margin-top: 1.875rem;
  }
}
.p-rental__lead-title {
  font-weight: 700;
  font-size: 1.3333333333rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-rental__lead-title {
    text-align: center;
  }
}
.p-rental__lead-text {
  margin: 1.4rem 0 0;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-rental__lead-text {
    margin-top: 0.625rem;
    text-align: center;
  }
}
.p-rental__block {
  margin: 4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-rental__block {
    margin-top: 3rem;
  }
}
.p-rental__title {
  font-weight: 700;
  font-size: 1.3333333333rem;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-rental__title {
    font-size: 1.25rem;
  }
}
.p-rental__text {
  margin: 0.9333333333rem 0 0;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-rental__text {
    font-size: 1.125rem;
    margin-top: 0.625rem;
    line-height: 2;
  }
}
.p-rental__cards {
  display: grid;
  gap: 0.6666666667rem;
  margin-top: 0.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-rental__cards {
    display: flex;
    justify-content: center;
    margin-top: 1.25rem;
    gap: 1.8452380952%;
  }
}
@media screen and (min-width: 768px) {
  .p-rental__cards--scene .p-rental__card {
    width: 23.6160714286%;
  }
}
@media screen and (min-width: 768px) {
  .p-rental__cards--feature .p-rental__card {
    width: 32.1031746032%;
  }
}
.p-rental__card {
  display: flex;
  flex-direction: column;
  gap: 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-rental__card {
    gap: 0.625rem;
  }
}
.p-rental__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 360/205;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-rental__img img {
    aspect-ratio: 538/246;
  }
}
@media screen and (min-width: 768px) {
  .p-rental__cards--scene .p-rental__img img {
    aspect-ratio: 398/246;
  }
}
.p-rental__caption {
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-rental__caption {
    font-size: clamp(10px, 0.9375vw, 1.125rem);
    line-height: 1.8333333333;
    letter-spacing: 0.02em;
    font-feature-settings: "palt";
  }
}
.p-rental__spec {
  margin: 3.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-rental__spec {
    margin-top: 4.5rem;
  }
}
.p-rental__spec-intro {
  font-weight: 400;
  line-height: 1.8;
  margin: 0.9333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-rental__spec-intro {
    font-size: 1.125rem;
    line-height: 1.5;
    text-align: center;
    margin-top: 0.625rem;
  }
}
.p-rental__table {
  width: 100%;
  margin-top: 1rem;
  border-top: 1px solid #000000;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .p-rental__table {
    max-width: 67.625rem;
    margin-inline: auto;
    margin-top: 1.4375rem;
  }
}
.p-rental__table tbody tr {
  border-bottom: 1px solid #000000;
  display: flex;
  flex-direction: column;
  gap: 0.4666666667rem;
  padding: 1rem 0;
}

@media screen and (min-width: 768px) {
  .p-rental__table tbody tr {
    display: grid;
    grid-template-columns: 36.5064695009% 1fr;
    gap: 0;
    padding: 1.25rem 0;
  }
}
.p-rental__table th {
  font-size: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-rental__table th {
    font-size: 1rem;
  }
}
.p-rental__table td {
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-rental__table td {
    font-size: 1rem;
  }
}
.p-rental__table th,
.p-rental__table td {
  display: block;
  width: 100%;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-rental--en .p-rental__caption {
    font-size: 1rem;
    letter-spacing: 0;
  }
}
.p-seastorm-model {
  padding: 8rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model {
    padding: 7.5rem 0 0;
  }
}
.p-seastorm-model__heading {
  text-align: center;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__heading {
    font-size: 1.25rem;
  }
}
.p-seastorm-model__cards {
  margin: 1.8rem 0 0;
}

.p-seastorm-model__cards + .p-seastorm-model__cards {
  margin-top: 9.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__cards {
    margin-top: 1.25rem;
  }
  .p-seastorm-model__cards + .p-seastorm-model__cards {
    margin-top: 8.75rem;
  }
}
.p-seastorm-model__card:not(:first-child) {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__card {
    margin-top: 4.375rem;
  }
}
.p-seastorm-model__title {
  background: linear-gradient(to right, #90c3ff 0%, #096ee6 80.43%);
  color: #ffffff;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__title {
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 0 1.25rem;
  }
}
.p-seastorm-model__body {
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__body {
    margin-top: 2.125rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.25rem 1.171875%;
  }
}
.p-seastorm-model__slider {
  padding: 0 1.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__slider {
    width: 80%;
    padding: 0 1.875rem;
  }
}
@media screen and (min-width: 1280px) {
  .p-seastorm-model__slider {
    width: 41.171875%;
  }
}
.p-seastorm-model__slider.is-static .swiper-button-next,
.p-seastorm-model__slider.is-static .swiper-button-prev,
.p-seastorm-model__slider.is-static .p-seastorm-model__pagination {
  display: none;
}

.p-seastorm-model__slider .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 303/210;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__slider .swiper-slide img {
    aspect-ratio: 461/320;
  }
}
.p-seastorm-model__slider .swiper-button-next,
.p-seastorm-model__slider .swiper-button-prev {
  background: #0082D6;
  border: 1px solid #0082D6;
  width: 1.2666666667rem;
  height: 1.2666666667rem;
  border-radius: 50%;
  top: 50%;
  margin-top: 0;
  transform: translateY(-50%);
  display: block;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  box-sizing: border-box;
  transition: background 0.3s;
}

.p-seastorm-model__slider .swiper-button-next::after,
.p-seastorm-model__slider .swiper-button-prev::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.3333333333rem;
  height: 0.6666666667rem;
  transform: translate(-50%, -50%);
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background: #ffffff;
  transition: background 0.3s;
}

@media (hover: hover) {
  .p-seastorm-model__slider .swiper-button-next:hover,
  .p-seastorm-model__slider .swiper-button-prev:hover {
    background: #ffffff;
  }
  .p-seastorm-model__slider .swiper-button-next:hover::after,
  .p-seastorm-model__slider .swiper-button-prev:hover::after {
    background: #0082D6;
  }
}
.p-seastorm-model__slider .swiper-button-prev {
  left: 0;
}

.p-seastorm-model__slider .swiper-button-prev::after {
  transform: translate(-50%, -50%) scaleX(-1);
}

.p-seastorm-model__slider .swiper-button-next {
  right: 0;
}

.p-seastorm-model__pagination {
  position: static;
  text-align: center;
}

.p-seastorm-model__pagination .swiper-pagination-bullet {
  width: 0.4666666667rem;
  height: 0.4666666667rem;
  margin: 0 0.2rem !important;
  background: #D9D9D9;
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__pagination .swiper-pagination-bullet {
    width: 0.625rem;
    height: 0.625rem;
  }
}
.p-seastorm-model__pagination .swiper-pagination-bullet-active {
  background: #0082D6;
}

.p-seastorm-model__info {
  margin: 0.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__info {
    margin-top: 0;
    display: grid;
    grid-template-columns: 15.9375rem 26.875rem;
    gap: 7.3270013569%;
  }
}
@media screen and (min-width: 1280px) {
  .p-seastorm-model__info {
    flex: 1;
    grid-template-columns: 34.5997286296% 58.3446404342%;
  }
}
.p-seastorm-model__spec h4, .p-seastorm-model__equip h4 {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  border-bottom: 2px solid #000000;
  padding-bottom: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__spec h4, .p-seastorm-model__equip h4 {
    font-size: 1rem;
    padding-bottom: 0.5rem;
  }
}
.p-seastorm-model__spec table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__spec table {
    margin-top: 0.4375rem;
  }
}
.p-seastorm-model__spec th,
.p-seastorm-model__spec td {
  font-size: 1.0666666667rem;
  line-height: 1.5;
  text-align: left;
  border-bottom: 1px solid #000000;
  padding: 0.6666666667rem 0;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__spec th,
  .p-seastorm-model__spec td {
    font-size: 1rem;
    padding: 0.5rem 0 0.625rem;
  }
}
.p-seastorm-model__spec th {
  width: 55.5555555556%;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__spec th {
    width: 72.9411764706%;
  }
}
.p-seastorm-model__spec td {
  font-weight: 400;
}

.p-seastorm-model__equip {
  margin: 2.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__equip {
    margin-top: 0;
  }
}
.p-seastorm-model__equip ul {
  margin: 0.6666666667rem 0 0;
  font-size: 1.0666666667rem;
}

.p-seastorm-model__equip ul li {
  padding-left: 1.2em;
  position: relative;
}

.p-seastorm-model__equip ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__equip ul {
    font-size: 1rem;
    margin-top: 0.625rem;
  }
}
.p-seastorm-model__price {
  margin: 1.1333333333rem 0 0;
  color: #163EA3;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "palt";
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.p-seastorm-model__price + .p-seastorm-model__price {
  margin-top: 0.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__price {
    margin-top: 0.5rem;
    font-size: 1.25rem;
  }
}
.p-seastorm-model__price-term {
  display: inline-block;
  width: 7.1333333333rem;
  font-size: 1.0666666667rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__price-term {
    font-size: 1rem;
    width: 6.6875rem;
  }
}
.p-seastorm-model__price-term::after {
  content: ":";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.p-seastorm-model__price-sm {
  font-size: 0.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__price-sm {
    font-size: 0.875rem;
  }
}
.p-seastorm-model__price-value {
  font-size: 2.0666666667rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__price-value {
    font-size: 1.9375rem;
  }
}
.p-seastorm-model__price-wrap {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  border-bottom: 1px solid #163EA3;
}

.p-seastorm-model__note {
  margin: 1.3333333333rem 0 0;
  line-height: 1.8;
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__note {
    margin-top: 0.9375rem;
  }
}
.p-seastorm-model__link {
  margin: 3.8rem 0 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__link {
    margin-top: 2.875rem;
  }
}
.p-seastorm-model__card.p-seastorm-model__card--2col .p-seastorm-model__title {
  letter-spacing: -0.02em;
}

.p-seastorm-model__card.p-seastorm-model__card--2col .p-seastorm-model__spec th {
  width: 44.1666666667%;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__card.p-seastorm-model__card--2col .p-seastorm-model__spec {
    width: 29.375rem;
  }
  .p-seastorm-model__card.p-seastorm-model__card--2col .p-seastorm-model__spec th {
    width: 39.5744680851%;
  }
}
.p-seastorm-model__card.p-seastorm-model__card--2col .p-seastorm-model__equip {
  margin-top: 1.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__card.p-seastorm-model__card--2col .p-seastorm-model__equip {
    margin-top: 0;
  }
}
.p-seastorm-model__card.p-seastorm-model__card--2col .p-seastorm-model__info {
  grid-template-columns: 1fr;
  gap: 0.5rem;
}

.p-seastorm-model__visual-loop {
  margin: 3rem 0 1.6666666667rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__visual-loop {
    margin-top: 13.875rem;
    margin-bottom: 4rem;
  }
}
.p-seastorm-model__visual-loop.is-paused .p-seastorm-model__visual-track, .p-seastorm-model__visual-loop:hover .p-seastorm-model__visual-track {
  animation-play-state: paused;
}

.p-seastorm-model__visual-swiper {
  overflow: hidden;
}

.p-seastorm-model__visual-track {
  display: flex;
  width: max-content;
  animation: loop-slide 182s linear infinite;
  will-change: transform;
}

.p-seastorm-model__visual-slide {
  width: 23.1333333333rem;
  flex-shrink: 0;
  margin-right: 0.4666666667rem;
  box-sizing: content-box;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__visual-slide {
    width: 21.6875rem;
    margin-right: 0.4375rem;
  }
}
.p-seastorm-model__visual-btn {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.p-seastorm-model__visual-btn img {
  width: 100%;
  aspect-ratio: 347/344;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.p-seastorm-model__gallery-frame {
  position: relative;
  width: 100%;
}

.p-seastorm-model__gallery-swiper {
  width: 100%;
  overflow: hidden;
  padding: 0;
}

.p-seastorm-model__gallery-swiper .swiper-wrapper {
  align-items: center;
}

.p-seastorm-model__gallery-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  overflow: hidden;
  height: auto;
}

.p-seastorm-model__gallery-swiper .c-image-modal__img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 4.8rem);
  max-width: none;
  height: 80vh;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 auto;
  background: transparent;
  box-shadow: none;
  -webkit-overflow-scrolling: touch;
}

.p-seastorm-model__gallery-swiper .c-image-modal__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__gallery-swiper .c-image-modal__img-wrap {
    width: 100%;
    max-width: none;
    height: 80vh;
  }
}
.p-seastorm-model__gallery-frame .swiper-button-prev,
.p-seastorm-model__gallery-frame .swiper-button-next,
.p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev,
.p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  transform: none;
  background: #0082D6;
  border: 1px solid #0082D6;
  width: 1.8666666667rem;
  height: 1.8666666667rem;
  border-radius: 50%;
  display: block;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  box-sizing: border-box;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__gallery-frame .swiper-button-prev,
  .p-seastorm-model__gallery-frame .swiper-button-next,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.p-seastorm-model__gallery-frame .swiper-button-prev::after,
.p-seastorm-model__gallery-frame .swiper-button-next::after,
.p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev::after,
.p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.4666666667rem;
  height: 0.9333333333rem;
  transform: translate(-50%, -50%);
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background: #ffffff;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__gallery-frame .swiper-button-prev::after,
  .p-seastorm-model__gallery-frame .swiper-button-next::after,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev::after,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next::after {
    width: 0.5625rem;
    height: 1.125rem;
  }
}
@media (hover: hover) {
  .p-seastorm-model__gallery-frame .swiper-button-prev:hover,
  .p-seastorm-model__gallery-frame .swiper-button-next:hover,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev:hover,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next:hover {
    background: #ffffff;
  }
  .p-seastorm-model__gallery-frame .swiper-button-prev:hover::after,
  .p-seastorm-model__gallery-frame .swiper-button-next:hover::after,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev:hover::after,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next:hover::after {
    background: #0082D6;
  }
}
.p-seastorm-model__gallery-frame .swiper-button-prev,
.p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev {
  left: 0.2666666667rem;
  right: auto;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__gallery-frame .swiper-button-prev,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev {
    left: -3rem;
  }
}
.p-seastorm-model__gallery-frame .swiper-button-prev::after,
.p-seastorm-model__gallery-frame .p-seastorm-model__gallery-prev::after {
  transform: translate(-50%, -50%) scaleX(-1);
}

.p-seastorm-model__gallery-frame .swiper-button-next,
.p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next {
  right: 0.2666666667rem;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-seastorm-model__gallery-frame .swiper-button-next,
  .p-seastorm-model__gallery-frame .p-seastorm-model__gallery-next {
    right: -3rem;
  }
}
.p-shelter-disaster {
  padding: 2.9333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster {
    padding-top: 5.125rem;
  }
}
.p-shelter-disaster__title {
  padding: 0.3333333333rem 0 0.5333333333rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster__title {
    font-size: 1.375rem;
    line-height: 1.4545454545;
    padding: 1.6875rem;
  }
}
.p-shelter-disaster__box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.4666666667rem;
  margin: 0.6rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster__box {
    grid-template-columns: repeat(4, 1fr);
    gap: 3.4375%;
    max-width: 80rem;
    margin: 2.6875rem auto 0;
  }
}
.p-shelter-disaster__card {
  text-align: center;
}

.p-shelter-disaster__card-title {
  font-weight: 700;
  font-size: 1.0666666667rem;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster__card-title {
    font-size: 1.125rem;
  }
}
.p-shelter-disaster__deta {
  margin: 0.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster__deta {
    margin-top: 1.25rem;
  }
}
.p-shelter-disaster__deta p {
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster__deta p {
    line-height: 1.7;
  }
}
@media screen and (min-width: 768px) {
  .p-shelter-disaster__img {
    margin-top: 0.625rem;
  }
}
.p-shelter-disaster__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 169/109;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster__img img {
    aspect-ratio: 288/186;
  }
}
.p-shelter-disaster__source {
  margin: 1.3333333333rem 0 0;
  text-align: center;
  font-weight: 500;
}

.p-shelter-disaster--en .p-shelter-disaster__img {
  margin-top: 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster--en .p-shelter-disaster__img {
    margin-top: 0.9375rem;
  }
}
.p-shelter-disaster--en .p-shelter-disaster__card-title {
  line-height: 1.5;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-disaster--en .p-shelter-disaster__card-title {
    letter-spacing: -0.01em;
    font-size: 13px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 1024px) {
  .p-shelter-disaster--en .p-shelter-disaster__card-title {
    height: auto;
    font-size: min(1.26953125vw, 1.125rem);
  }
}
.p-shelter-estimate {
  padding: 3.5333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate {
    padding-top: 6.4375rem;
  }
}
.p-shelter-estimate__title {
  padding: 0.3333333333rem 0 0.5333333333rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__title {
    font-size: 1.375rem;
    line-height: 1.4545454545;
    padding: 1.6875rem;
  }
}
.p-shelter-estimate__body {
  background: url(./images/shelter/estimate_body_bg.webp) no-repeat center center/cover;
  color: #ffffff;
  padding: 2.6666666667rem 1rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__body {
    padding: 4.75rem 1.875rem 4rem;
  }
}
.p-shelter-estimate__lead {
  margin: 2.3333333333rem 0 1.2666666667rem;
  text-align: center;
  font-weight: 700;
  font-size: 1.1333333333rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__lead {
    font-size: 1.375rem;
    margin: 4.5625rem 0 3.1875rem;
  }
}
.p-shelter-estimate__group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
  }
}
.p-shelter-estimate__stat {
  background: #0082D6;
  padding: 0.4666666667rem 0.3333333333rem 0.6666666667rem;
  min-height: 10.3333333333rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__stat {
    min-height: min(15.78125vw, 18.9375rem);
    width: 29.9479166667vw;
    padding: min(2.8125vw, 3.375rem) 0.9375rem min(3.8541666667vw, 4.625rem);
    justify-content: flex-start;
  }
}
@media screen and (min-width: 1280px) {
  .p-shelter-estimate__stat {
    width: min(21.484375vw, 19.0625rem);
  }
}
.p-shelter-estimate__label {
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__label {
    font-size: 1rem;
  }
}
.p-shelter-estimate__value {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #ffffff;
}

.p-shelter-estimate__value span {
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
  margin-right: 0.1333333333rem;
  margin-bottom: 0.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__value span {
    font-size: 1.1875rem;
  }
}
.p-shelter-estimate__value strong {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__value strong {
    font-size: 5.875rem;
  }
}
.p-shelter-estimate__desc {
  margin: 0.5333333333rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 500;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__desc {
    margin-top: 0.9375rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}
.p-shelter-estimate__source {
  margin: 1.5333333333rem 0 0;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.1875;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate__source {
    margin-top: 3.3125rem;
  }
}
.p-shelter-estimate--en .p-shelter-estimate__title {
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__title {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__label {
    line-height: 1.4375;
  }
}
.p-shelter-estimate--en .p-shelter-estimate__value strong {
  font-size: 3.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__value strong {
    font-size: 5.875rem;
    margin-top: 0.625rem;
  }
}
.p-shelter-estimate--en .p-shelter-estimate__value strong.p-shelter-estimate__num-sm {
  font-size: 2.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__value strong.p-shelter-estimate__num-sm {
    font-size: 3.875rem;
  }
}
.p-shelter-estimate--en .p-shelter-estimate__value span {
  font-size: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__value span {
    font-size: 1.1875rem;
  }
}
.p-shelter-estimate--en .p-shelter-estimate__desc-sm {
  font-size: 0.6666666667rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin: 0.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__desc-sm {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
}
.p-shelter-estimate--en .p-shelter-estimate__value--yen {
  flex-direction: column;
  align-items: center;
  margin-top: 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__value--yen {
    margin-top: 0.9375rem;
  }
}
.p-shelter-estimate--en .p-shelter-estimate__currency {
  margin: 0 auto -0.5333333333rem -0.8666666667rem;
}

.p-shelter-estimate--en .p-shelter-estimate__end {
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-shelter-estimate--en .p-shelter-estimate__stat {
    justify-content: center;
    padding: min(1.71875vw, 2.0625rem) 0.9375rem min(1.8229166667vw, 2.1875rem);
  }
}
.p-shelter-feature {
  color: #ffffff;
}

.p-shelter-feature__box {
  background: url(./images/shelter/feature_bg_sp.webp) no-repeat center center/cover;
  padding: 0 0 4.2rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__box {
    background: url(./images/shelter/feature_bg.webp) no-repeat center center/cover;
    padding-bottom: 6.25rem;
  }
}
.p-shelter-feature__title {
  text-align: center;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 1rem 0 2.8rem;
  background: #FD7531;
  clip-path: polygon(0 0, 100% 0%, 100% 65%, 50% 100%, 0 65%);
}

.p-shelter-feature__title span {
  display: block;
  font-size: 2.3333333333rem;
  line-height: 1;
  margin-top: 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__title {
    padding: 2.1875rem 0 3.75rem;
    font-size: 1.375rem;
    line-height: 1.4545454545;
    clip-path: polygon(0 0, 100% 0%, 100% 55%, 50% 100%, 0 55%);
  }
  .p-shelter-feature__title span {
    font-size: 3.375rem;
  }
}
.p-shelter-feature__inner {
  padding: 0 1rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__inner {
    max-width: 81.875rem;
    margin: -0.75rem auto 0;
    padding: 0 0.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-shelter-feature__name {
    max-width: 61.25rem;
    margin-inline: auto;
  }
}
.p-shelter-feature__name img {
  width: 100%;
}

.p-shelter-feature__img {
  margin-top: -1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__img {
    max-width: 63.8125rem;
    margin: -4.6875rem auto 0;
  }
}
.p-shelter-feature__img img {
  width: 100%;
}

.p-shelter-feature__lead {
  margin: 1.0666666667rem 0 0;
  text-align: center;
  line-height: 1.5;
  font-weight: 700;
  font-size: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__lead {
    margin-top: 3.5625rem;
    font-size: 1.375rem;
    line-height: 2;
  }
  .p-shelter-feature__lead span {
    display: inline-block;
  }
}
.p-shelter-feature__grid {
  margin: 2rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2666666667rem 1.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__grid {
    margin-top: 3.125rem;
    gap: 1.9375rem 2.03125%;
  }
}
.p-shelter-feature__grid article {
  width: calc((100% - 1.1333333333rem) / 2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  padding: 0.2rem;
  min-height: 10.2666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__grid article {
    width: 23.4765625%;
    min-height: 13.8125rem;
    padding: 0;
  }
}
.p-shelter-feature__grid h4 {
  color: #fd7531;
  font-size: 1.0666666667rem;
  line-height: 1.3;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__grid h4 {
    font-size: clamp(18px, 1.5625vw, 1.875rem);
    line-height: 1.5;
  }
}
.p-shelter-feature__grid p {
  margin: 0.3333333333rem 0 0;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  color: #030303;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__grid p {
    font-size: clamp(10px, 0.8333333333vw, 1rem);
    margin-top: 0.4375rem;
  }
}
.p-shelter-feature__usage {
  margin: 3.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__usage {
    margin-top: 6.6875rem;
  }
}
.p-shelter-feature__usage-title {
  color: #ffffff;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  background: #FD7531;
  padding: 0.3333333333rem 0.5333333333rem 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__usage-title {
    font-size: 1.375rem;
    line-height: 1.1818181818;
    padding: 1.6875rem;
  }
}
.p-shelter-feature__usage-grid {
  margin: 1.7333333333rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__usage-grid {
    margin-top: 3rem;
    gap: 1.875rem 1.7857142857%;
  }
}
@media screen and (min-width: 1280px) {
  .p-shelter-feature__usage-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
}
.p-shelter-feature__usage-card {
  position: relative;
  width: calc((100% - 1.0666666667rem) / 2);
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__usage-card {
    width: 29.9479166667vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-shelter-feature__usage-card {
    width: 100%;
  }
}
.p-shelter-feature__usage-card figure img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 172/117;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__usage-card figure img {
    aspect-ratio: 311/201;
  }
}
.p-shelter-feature__usage-card p {
  margin: 0.9333333333rem 0 0;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.07em;
  color: #000000;
}

.p-shelter-feature__usage-card p a {
  font-size: 0.9333333333rem;
  display: inline-block;
  position: relative;
  color: #163EA3;
  letter-spacing: 0;
}

.p-shelter-feature__usage-card p a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #163EA3;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  transition: width 0.3s;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__usage-card p {
    margin-top: 0.625rem;
    line-height: 2;
    text-align: center;
  }
  .p-shelter-feature__usage-card p a {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-shelter-feature__usage-card p a:hover::after {
    width: 0;
  }
}
@media screen and (min-width: 1280px) {
  .p-shelter-feature__usage-card p {
    font-size: min(1.015625vw, 1rem);
  }
}
.p-shelter-feature__usage-num {
  position: absolute;
  left: 0;
  top: 0;
  width: 1.7333333333rem;
  height: 1.6666666667rem;
  background: #fd7531;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  display: grid;
  place-items: center;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature__usage-num {
    width: 2.125rem;
    height: 2.0625rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .p-shelter-feature--en .p-shelter-feature__usage-card p {
    letter-spacing: 0;
  }
}
.p-shelter-feature--en .p-shelter-feature__usage-card p a {
  font-size: 0.8rem;
  letter-spacing: -0.02em;
}

@media screen and (min-width: 768px) {
  .p-shelter-feature--en .p-shelter-feature__usage-card p a {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-shelter-feature--en .p-shelter-feature__grid article {
    padding-inline: min(0.625vw, 0.8rem);
  }
}
@media screen and (min-width: 768px) {
  .p-shelter-feature--en .p-shelter-feature__grid h4 {
    font-size: clamp(16px, 1.25vw, 1.5rem);
  }
}
.p-shelter-lineup {
  padding: 3.3333333333rem 0 3.9333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup {
    padding: 6.25rem 0;
  }
}
.p-shelter-lineup__title {
  padding-bottom: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup__title {
    padding-bottom: 0;
  }
}
.p-shelter-lineup__title .c-title__ja {
  line-height: 1.2105263158;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup__title .c-title__ja {
    line-height: 1.4736842105;
  }
}
.p-shelter-lineup__grid {
  margin-top: 1.8666666667rem;
  display: grid;
  gap: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.0833333333%;
    margin-top: 3.125rem;
  }
}
.p-shelter-lineup__card {
  display: flex;
  flex-direction: column;
  gap: 0.6666666667rem;
}

.p-shelter-lineup__card h3 {
  background: #fd7531;
  color: #ffffff;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup__card h3 {
    font-size: min(1.953125vw, 1.25rem);
    line-height: 1.75;
  }
}
.p-shelter-lineup__card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/175;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup__card figure img {
    aspect-ratio: 538/263;
  }
}
.p-shelter-lineup__card p {
  line-height: 1.6666666667;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup__card p {
    line-height: 2;
  }
}
.p-shelter-lineup__btn {
  margin: 2.3333333333rem 0 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup__btn {
    margin-top: 2.25rem;
  }
}
.p-shelter-lineup--bcp {
  background: #DFF1FC;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup--bcp {
    padding: 3.125rem 0;
  }
}
.p-shelter-lineup--bcp .p-shelter-lineup__grid {
  margin-top: 2.6666666667rem;
}

.p-shelter-lineup--bcp .p-shelter-lineup__card {
  gap: 0.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup--bcp .p-shelter-lineup__card {
    gap: 0.625rem;
  }
}
.p-shelter-lineup--bcp .p-shelter-lineup__card h3 {
  background: none;
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.375;
  color: #000000;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup--bcp .p-shelter-lineup__card h3 {
    font-size: 1.125rem;
    line-height: 1.8333333333;
  }
}
.p-shelter-lineup--bcp .p-shelter-lineup__card p {
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup--bcp .p-shelter-lineup__card p {
    line-height: 1.5625;
  }
}
.p-shelter-lineup--bcp .p-shelter-lineup__cta {
  margin: 1.5333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup--bcp .p-shelter-lineup__cta {
    margin-top: 2.25rem;
    display: flex;
    flex-direction: column-reverse;
    gap: 2.625rem;
  }
}
.p-shelter-lineup--bcp .p-shelter-lineup__cta p {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup--bcp .p-shelter-lineup__cta p {
    line-height: 1.5625;
  }
}
.p-shelter-lineup--bcp .p-shelter-lineup__cta .p-shelter-lineup__btn {
  margin: 2.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-lineup--bcp .p-shelter-lineup__cta .p-shelter-lineup__btn {
    margin: 0;
  }
}
.p-shelter-lineup--en .p-shelter-lineup__title {
  padding: 0;
}

.p-shelter-lineup--en .p-shelter-lineup__card h3 {
  font-size: min(1.5625vw, 1.25rem);
}

@media screen and (min-width: 768px) {
  .p-shelter-story {
    margin-top: 2.5rem;
  }
}
.p-shelter-story__title {
  padding: 0.3333333333rem 0 0.5333333333rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-shelter-story__title {
    font-size: 1.375rem;
    line-height: 1.4545454545;
    padding: 1.6875rem;
  }
}
.p-shelter-story__content {
  display: flex;
  flex-direction: column-reverse;
  gap: 2.1333333333rem;
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shelter-story__content {
    flex-direction: row;
    align-items: flex-start;
    gap: 3.90625%;
    max-width: 80rem;
    margin-inline: auto;
    margin-top: 3.125rem;
  }
}
.p-shelter-story__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/205;
}

.p-shelter-story__img figcaption {
  margin-top: 0.6666666667rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-shelter-story__img {
    width: 47.34375%;
  }
  .p-shelter-story__img figcaption {
    margin-top: 1.0625rem;
    font-size: 1rem;
  }
  .p-shelter-story__img img {
    aspect-ratio: 606/346;
  }
}
@media screen and (min-width: 768px) {
  .p-shelter-story__text {
    width: 48.828125%;
  }
}
.p-shelter-story__text p + p {
  margin-top: 1.5em;
}

@media screen and (min-width: 768px) {
  .p-shelter-story--en .p-shelter-story__title {
    letter-spacing: 0;
  }
}
.p-shipyard-mv {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  padding: 61.7948717949vw 0 19.2307692308vw;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv {
    padding: 4.1145833333vw 0 3.5416666667vw;
    aspect-ratio: 1920/990;
  }
}
.p-shipyard-mv__bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 96.1538461538%;
  height: calc(100% - 16.4102564103vw);
}

.p-shipyard-mv__bg img {
  width: 100%;
  height: 100%;
  aspect-ratio: 375/565;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv__bg {
    width: 93.5416666667%;
    height: calc(100% - 5.2083333333vw);
  }
  .p-shipyard-mv__bg img {
    aspect-ratio: 1796/888;
  }
}
.p-shipyard-mv__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1.2666666667rem;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv__inner {
    padding: 0 1.7708333333vw;
    gap: 1.7708333333vw;
  }
}
.p-shipyard-mv__copy {
  width: fit-content;
  max-width: 100%;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  color: #ffffff;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.03em;
  font-size: 1.8rem;
  padding: 0.4666666667rem 2rem 0.7333333333rem 1.4rem;
  clip-path: polygon(0 0, 93% 0, 100% 100%, 0 100%);
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv__copy {
    font-size: 2.7083333333vw;
    line-height: 1.5;
    padding: 0.4166666667vw 3.0729166667vw 0.78125vw 3.3854166667vw;
    clip-path: polygon(0 0, 97% 0, 100% 100%, 3% 100%);
  }
}
.p-shipyard-mv__copy + .p-shipyard-mv__copy {
  padding: 0.4666666667rem 3.1333333333rem 0.7333333333rem 3.4rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv__copy + .p-shipyard-mv__copy {
    padding: 0.4166666667vw 2.9166666667vw 0.78125vw 3.3854166667vw;
  }
}
.p-shipyard-mv__title-wrap {
  position: relative;
  margin-top: auto;
  padding-top: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv__title-wrap {
    padding: 0;
    margin-left: 1.875vw;
  }
}
.p-shipyard-mv__en {
  font-family: "Jost", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.5333333333rem;
  line-height: 1.3;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv__en {
    font-size: 3.75vw;
    line-height: 1.2;
  }
}
.p-shipyard-mv__ja {
  position: absolute;
  top: 42%;
  left: 0.8666666667rem;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv__ja {
    font-size: 2.7083333333vw;
    left: 0.5729166667vw;
    top: auto;
    bottom: -2.34375vw;
  }
}
.p-shipyard-mv--en {
  padding-bottom: 1.3333333333rem;
}

.p-shipyard-mv--en .p-shipyard-mv__copy {
  font-size: 1.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv--en .p-shipyard-mv__copy {
    font-size: min(2.7083333333vw, 3.25rem);
  }
}
.p-shipyard-mv--en .p-shipyard-mv__copy:nth-child(1) {
  letter-spacing: 0;
}

.p-shipyard-mv--en .p-shipyard-mv__copy:nth-child(2) {
  padding-right: 1.8rem;
  padding-left: 2.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv--en .p-shipyard-mv__copy:nth-child(2) {
    letter-spacing: 0;
    padding-right: min(3.1770833333vw, 3.8125rem);
    padding-left: min(3.3854166667vw, 4.0625rem);
  }
}
.p-shipyard-mv--en .p-shipyard-mv__ja {
  font-size: 1.4rem;
  position: static;
  margin-left: 1.2666666667rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-shipyard-mv--en .p-shipyard-mv__ja {
    font-size: min(4.2708333333vw, 5.125rem);
    font-family: "Jost", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1.2;
    margin-left: min(1.8229166667vw, 2.1875rem);
  }
}
.p-shipyard-service {
  margin: 2.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service {
    margin-top: 8.3125rem;
    padding-bottom: 3.75rem;
  }
}
.p-shipyard-service__block + .p-shipyard-service__block {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__block + .p-shipyard-service__block {
    margin-top: 8.3125rem;
  }
}
.p-shipyard-service__title {
  font-size: 1.2rem;
  line-height: 1.8333333333;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__title {
    font-size: 1.125rem;
  }
}
.p-shipyard-service__list {
  margin: 0.6rem 0 0;
  display: grid;
  gap: 0.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__list {
    margin-top: 1.5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.1875rem 4.921875%;
  }
}
.p-shipyard-service__item-title {
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__item-title {
    font-size: min(2.0833333333vw, 1.5rem);
    letter-spacing: 0;
    line-height: 1.4583333333;
  }
}
.p-shipyard-service__item-img {
  margin: 0.3333333333rem 0 0;
}

.p-shipyard-service__item-img img {
  width: 100%;
  display: block;
  aspect-ratio: 360/165;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__item-img {
    margin-top: 0.9375rem;
  }
  .p-shipyard-service__item-img img {
    aspect-ratio: 610/364;
  }
}
.p-shipyard-service__item-text {
  margin: 1rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__item-text {
    margin-top: 1.25rem;
  }
}
.p-shipyard-service__record {
  margin: 1.1333333333rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__record {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 2.3125rem auto 0;
    gap: 1.7819706499%;
    width: 74.53125%;
  }
}
.p-shipyard-service__record li {
  width: calc((100% - 0.6666666667rem) / 2);
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__record li {
    width: 100%;
  }
}
.p-shipyard-service__record-img img {
  width: 100%;
  display: block;
  aspect-ratio: 175/120;
  object-fit: cover;
}

.p-shipyard-service__record-img figcaption {
  margin-top: 0.5333333333rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__record-img figcaption {
    margin-top: 0.875rem;
    font-size: 0.9375rem;
  }
}
.p-shipyard-service__note {
  margin: 1.9333333333rem 0 0;
  text-align: center;
  font-size: 1.5333333333rem;
  font-weight: 700;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__note {
    margin-top: 5rem;
    font-size: 1.5rem;
  }
}
.p-shipyard-service__staff {
  margin: 1.3333333333rem 0 0;
  display: grid;
  gap: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__staff {
    margin-top: 2.625rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.359375%;
  }
}
.p-shipyard-service__staff-card {
  display: block;
}

.p-shipyard-service__staff-img img {
  width: 100%;
  display: block;
  aspect-ratio: 360/165;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__staff-img img {
    aspect-ratio: 398/210;
  }
}
.p-shipyard-service__staff h3 {
  margin: 0.4rem 0 0;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.9333333333;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__staff h3 {
    font-size: 1.25rem;
    line-height: 1.2;
    margin-top: 0.9375rem;
  }
}
.p-shipyard-service__staff-role {
  margin: 0.6rem 0 0;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__staff-role {
    margin-top: 0.9375rem;
  }
}
.p-shipyard-service__staff-text {
  margin-top: 0.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__staff-text {
    margin-top: 0.9375rem;
    line-height: 1.2666666667;
  }
}
.p-shipyard-service__btn {
  margin: 2.3333333333rem 0 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service__btn {
    margin-top: 3.125rem;
  }
}
.p-shipyard-service--en .p-shipyard-service__title {
  letter-spacing: 0;
  padding-inline: 0;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service--en .p-shipyard-service__title {
    font-size: min(1.5625vw, 1.125rem);
  }
}
.p-shipyard-service--en .p-shipyard-service__btn .c-btn {
  padding-inline: 1.3333333333rem;
}

.p-shipyard-service--en .p-shipyard-service__btn .c-btn span {
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-shipyard-service--en .p-shipyard-service__item-title {
    min-height: 2.9166666667em;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.p-shipyard {
  margin: 1.4666666667rem 0 0;
}

.p-shipyard__strength {
  padding: 6.4666666667rem 0 4.6666666667rem;
  background: url(./images/shipyard/strength_bg_sp.webp) center center/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .p-shipyard__strength {
    width: min(95%, 1680px);
    margin-inline: auto;
    padding: 4.6875rem 0;
    background: url(./images/shipyard/strength_bg.webp) center center/cover no-repeat;
  }
}
.p-shipyard__strength-inner {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .p-shipyard__strength-inner {
    width: min(95%, 1280px);
  }
}
.p-shipyard__strength-title {
  background: #163EA3;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4583333333;
  text-align: center;
  padding: 0.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard__strength-title {
    font-size: min(2.34375vw, 1.5rem);
    padding: 0.4375rem;
  }
}
.p-shipyard__strength-list {
  margin: 1.4rem 0 0;
  display: grid;
  gap: 1.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard__strength-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.03125%;
  }
}
.p-shipyard__strength-card {
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  color: #ffffff;
  padding: 1.4666666667rem 1.3333333333rem 1.1333333333rem;
  min-height: 18.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-shipyard__strength-card {
    padding: 1.375rem 5.9952038369% 2.0625rem;
    min-height: auto;
  }
}
.p-shipyard__strength-card-title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shipyard__strength-card-title {
    font-size: min(1.6927083333vw, 1.25rem);
    letter-spacing: 0;
  }
}
.p-shipyard__strength-card-text {
  margin: 1rem 0 0;
  font-size: 1.0666666667rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shipyard__strength-card-text {
    font-size: min(1.5625vw, 1rem);
  }
}
.p-shipyard__loop {
  margin: 2.8rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-shipyard__loop {
    margin-top: 7.0625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-shipyard--en .p-shipyard__strength-title {
    font-size: min(1.5625vw, 1.375rem);
  }
}
@media screen and (min-width: 768px) {
  .p-shipyard--en .p-shipyard__strength-card-title {
    line-height: 1.6;
    height: 4.8em;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
}
.p-sitemap {
  padding: 2.6rem 0 4.1333333333rem;
}

@media screen and (min-width: 768px) {
  .p-sitemap {
    padding: 3.125rem 0 7.375rem;
  }
}
.p-sitemap__nav {
  display: grid;
  gap: 2.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-sitemap__nav {
    gap: 3.9375rem;
  }
}
.p-sitemap__heading {
  padding-bottom: 0.8666666667rem;
  border-bottom: 1px solid #dedfdf;
  font-weight: 700;
  font-size: 1.3333333333rem;
  line-height: 1.2;
  color: #163EA3;
}

@media screen and (min-width: 768px) {
  .p-sitemap__heading {
    font-size: 1.25rem;
  }
}
.p-sitemap__list {
  margin: 0.8666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-sitemap__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-sitemap__item a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  font-size: 1.0666666667rem;
  line-height: 1.5;
  font-weight: 400;
  padding: 0.6666666667rem 0;
}

.p-sitemap__item a::before {
  content: "−";
  flex-shrink: 0;
  transform: translateY(0.06em);
}

@media screen and (min-width: 768px) {
  .p-sitemap__item a {
    font-size: 1rem;
    padding: 0.625rem 0;
  }
}
@media screen and (min-width: 768px) {
  .p-sitemap__item--lead {
    grid-column: 1/-1;
  }
}
.p-sitemap__label {
  flex: 1;
  min-width: 0;
}

@media screen and (min-width: 768px) {
  .p-sitemap__label {
    position: relative;
    transition: color 0.3s ease;
  }
  .p-sitemap__label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #163EA3;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  a:hover .p-sitemap__label {
    color: #163EA3;
  }
  a:hover .p-sitemap__label::after {
    transform: scaleX(1);
  }
}
.p-sitemap__news-group .p-sitemap__list {
  margin-top: 0;
}

.p-staff-intro {
  padding: 5.0666666667rem 0 4.6666666667rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
}

@media screen and (min-width: 768px) {
  .p-staff-intro {
    padding: 5rem 0 6.25rem;
  }
}
.p-staff-intro__lead {
  margin: 0.8rem 0 0;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.875;
  color: #ffffff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-staff-intro__lead {
    font-size: 1.25rem;
    line-height: 1.45;
    margin-top: 2.375rem;
  }
}
.p-staff-intro__slider-wrap {
  margin: 1.5333333333rem calc(50% - 50vw) 0 0;
}

@media screen and (min-width: 768px) {
  .p-staff-intro__slider-wrap {
    margin-top: 1.5rem;
  }
}
.p-staff-intro__slider-wrap.is-static {
  margin-right: 0;
}

.p-staff-intro__slider.is-static {
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.p-staff-intro__slider.is-static::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-staff-intro__slider.is-static .p-staff-intro__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.0625rem 3.203125%;
    width: 100%;
  }
}
.p-staff-intro__card {
  width: 100%;
}

.p-staff-intro__card-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6666666667rem;
  width: 100%;
  transition: opacity 0.3s;
}

@media screen and (min-width: 768px) {
  .p-staff-intro__card-link {
    gap: 0.9375rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-staff-intro__card-link:hover .p-staff-intro__photo img {
    transform: scale(1.1);
  }
}
.p-staff-intro__photo {
  width: 100%;
  overflow: hidden;
}

.p-staff-intro__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 273/173;
  transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
  .p-staff-intro__photo img {
    aspect-ratio: 398/210;
  }
}
.p-staff-intro__name {
  font-size: 1.1333333333rem;
  font-weight: 700;
  line-height: 1.4705882353;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-staff-intro__name {
    font-size: 1.25rem;
  }
}
.p-staff-intro__role {
  font-weight: 400;
  line-height: 1.2;
  color: #ffffff;
}

.p-staff-intro__comment {
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
}

@media screen and (min-width: 768px) {
  .p-staff-intro__comment {
    line-height: 1.1875;
  }
}
.p-staff-intro__empty {
  margin: 1.6rem 0 0;
  text-align: center;
  color: #ffffff;
}

.p-staff-related {
  margin: 0.6666666667rem 0 0;
  padding-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .p-staff-related {
    margin-top: 1.875rem;
  }
}
.p-staff-related .p-staff__list {
  margin-top: 1.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-staff-related .p-staff__list {
    margin-top: 1.5rem;
  }
}
.p-staff-related__title {
  padding: 0.3333333333rem 0.8rem 0.6rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-staff-related__title {
    padding: 0.8125rem;
    font-size: 1.0625rem;
  }
}
.p-staff-single {
  padding: 2.6666666667rem 0 4rem;
}

@media screen and (min-width: 768px) {
  .p-staff-single {
    padding: 3.5rem 0 10rem;
  }
}
@media screen and (min-width: 768px) {
  .p-staff-single__body {
    display: grid;
    grid-template-columns: 1fr 37.8125%;
    gap: 5.859375%;
    align-items: start;
  }
}
.p-staff-single__main {
  background: #e3e3e3;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-staff-single__main img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.p-staff-single__main.is-no-gallery {
  background: transparent;
  aspect-ratio: auto;
  display: block;
}

.p-staff-single__main.is-no-gallery img {
  height: auto;
  object-fit: cover;
}

.p-staff-single__thumbs {
  margin: 0.6rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-staff-single__thumbs {
    margin-top: 2.3125rem;
    gap: 1rem;
  }
}
.p-staff-single__thumb {
  display: block;
  width: 100%;
  border: none;
  padding: 0;
  background: transparent;
  cursor: pointer;
  opacity: 0.55;
  transition: opacity 0.3s;
}

.p-staff-single__thumb img {
  width: 100%;
  display: block;
  aspect-ratio: 230/230;
  object-fit: cover;
}

.p-staff-single__thumb[aria-current=true] {
  opacity: 1;
}

.p-staff-single__content {
  margin: 3.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-staff-single__content {
    margin-top: 0;
  }
}
.p-staff-single__name {
  font-size: 1.9333333333rem;
  font-weight: 700;
  line-height: 1.2068965517;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-staff-single__name {
    font-size: 1.8125rem;
    text-align: left;
  }
}
.p-staff-single__table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-staff-single__table {
    margin-top: 0.9375rem;
  }
}
.p-staff-single__table tr {
  border-bottom: 1px solid #000000;
}

.p-staff-single__table th,
.p-staff-single__table td {
  padding: 0.6666666667rem 0;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
}

@media screen and (min-width: 768px) {
  .p-staff-single__table th,
  .p-staff-single__table td {
    padding: 0.625rem 0;
  }
}
.p-staff-single__table th {
  width: 46%;
}

@media screen and (min-width: 768px) {
  .p-staff-single__table th {
    width: 38.2231404959%;
  }
}
.p-staff-single__cta {
  margin: 2.4rem 0 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-staff-single__cta {
    margin-top: 1.9375rem;
  }
}
.p-staff-single__cta-text {
  font-size: 1.0666666667rem;
  font-weight: 500;
  line-height: 1.4375;
}

@media screen and (min-width: 768px) {
  .p-staff-single__cta-text {
    font-size: 1rem;
  }
}
.p-staff-single__cta-btn {
  margin: 1.2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-staff-single__cta-btn {
    margin-top: 1.125rem;
  }
}
.p-staff {
  padding: 2.4rem 0 3.8rem;
}

@media screen and (min-width: 768px) {
  .p-staff {
    padding: 4.125rem 0 10rem;
  }
}
.p-staff__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 0.8666666667rem;
}

@media screen and (min-width: 768px) {
  .p-staff__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem 1.8518518519%;
  }
}
.p-staff__card {
  width: 100%;
}

.p-staff__card a {
  display: block;
  width: 100%;
  background: #ffffff;
  box-shadow: 0 2.765px 10.211px 0 rgba(0, 0, 0, 0.15);
}

@media screen and (min-width: 768px) {
  .p-staff__card a {
    height: 100%;
    box-shadow: 0 4.061px 15px 0 rgba(0, 0, 0, 0.15);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-staff__card a:hover .p-staff__photo img {
    transform: scale(1.1);
  }
  .p-staff__card a:hover .p-staff__name {
    color: #163EA3;
  }
}
.p-staff__photo {
  width: 100%;
  overflow: hidden;
}

.p-staff__photo img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 173/107;
  transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
  .p-staff__photo img {
    aspect-ratio: 255/158;
  }
}
.p-staff__body {
  padding: 0.4rem 0.4rem 0.9333333333rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-staff__body {
    padding: 0.5625rem 0.3125rem 1.25rem;
  }
}
.p-staff__name {
  font-size: 0.8666666667rem;
  font-weight: 700;
  line-height: 1.3846153846;
}

@media screen and (min-width: 768px) {
  .p-staff__name {
    font-size: 1.125rem;
    transition: color 0.3s;
  }
}
.p-staff__meta {
  margin-top: 0.3333333333rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3333333333rem;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-staff__meta {
    margin-top: 0.5rem;
    gap: 0.5rem;
  }
}
.p-staff__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.6rem 0.2666666667rem;
  background: #dff1fc;
  font-size: 0.7333333333rem;
  line-height: 1.0909090909;
}

@media screen and (min-width: 768px) {
  .p-staff__badge {
    padding: 0.125rem 0.625rem 0.25rem;
    font-size: min(1.4322916667vw, 1rem);
  }
}
.p-staff__pagination {
  margin: 3.0666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-staff__pagination {
    margin-top: 4.875rem;
  }
}
.p-strength {
  padding: 3.9333333333rem 0 3.8rem;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-strength {
    padding: 7.5625rem 0 4.5625rem;
  }
}
.p-strength__bg01 {
  display: block;
  width: 30rem;
  aspect-ratio: 1;
  position: absolute;
  top: -1.2rem;
  left: calc(50% - 8.6rem);
  border-radius: 450.496px;
  background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.37) 0%, rgba(194, 229, 253, 0.49) 46%, rgba(248, 248, 248, 0.53) 76%, rgba(255, 255, 255, 0.56) 100%);
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .p-strength__bg01 {
    width: min(65.3125vw, 78.375rem);
    top: max(-20.3125vw, -24.375rem);
    left: calc(50% - min(19.2708333333vw, 23.125rem));
    border-radius: 1254px;
    background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.37) 0%, rgba(194, 229, 253, 0.49) 46%, rgba(248, 248, 248, 0.53) 76%, rgba(255, 255, 255, 0.56) 100%);
  }
}
.p-strength__bg02 {
  display: block;
  width: 30.4rem;
  aspect-ratio: 1;
  position: absolute;
  top: 21.8rem;
  right: calc(50% - 5rem);
  border-radius: 456.962px;
  background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.3) 0%, rgba(194, 229, 253, 0.4) 46%, rgba(248, 248, 248, 0.43) 76%, rgba(255, 255, 255, 0.45) 100%);
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .p-strength__bg02 {
    width: min(34.1666666667vw, 41rem);
    top: min(9.21875vw, 11.0625rem);
    right: calc(50% + min(30.2083333333vw, 36.25rem));
    border-radius: 656px;
    background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.3) 0%, rgba(194, 229, 253, 0.4) 46%, rgba(248, 248, 248, 0.43) 76%, rgba(255, 255, 255, 0.45) 100%);
  }
}
.p-strength__bg03 {
  display: block;
  width: 36.4rem;
  aspect-ratio: 1;
  position: absolute;
  top: 53rem;
  left: calc(50% - 11.7333333333rem);
  border-radius: 546.056px;
  background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.46) 0%, rgba(194, 229, 253, 0.62) 46%, rgba(248, 248, 248, 0.66) 76%, rgba(255, 255, 255, 0.7) 100%);
  z-index: -2;
}

@media screen and (min-width: 768px) {
  .p-strength__bg03 {
    width: min(79.1666666667vw, 95rem);
    top: auto;
    bottom: max(-28.6458333333vw, -34.375rem);
    left: calc(50% - min(6.40625vw, 7.6875rem));
    border-radius: 1520px;
    background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.46) 0%, rgba(194, 229, 253, 0.62) 46%, rgba(248, 248, 248, 0.66) 76%, rgba(255, 255, 255, 0.7) 100%);
  }
}
.p-strength__bg04 {
  display: block;
  width: 15.6666666667rem;
  aspect-ratio: 1;
  position: absolute;
  top: 85.7333333333rem;
  right: calc(50% - 0.7333333333rem);
  border-radius: 546.056px;
  background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.3) 0%, rgba(194, 229, 253, 0.4) 46%, rgba(248, 248, 248, 0.43) 76%, rgba(255, 255, 255, 0.45) 100%);
  z-index: -2;
}

@media screen and (min-width: 768px) {
  .p-strength__bg04 {
    width: min(66.25vw, 79.5rem);
    top: 31%;
    right: calc(50% - min(11.4583333333vw, 13.75rem));
    border-radius: 1272px;
    background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.3) 0%, rgba(194, 229, 253, 0.4) 46%, rgba(248, 248, 248, 0.43) 76%, rgba(255, 255, 255, 0.45) 100%);
  }
}
.p-strength__bg05 {
  display: block;
  width: 15.6666666667rem;
  aspect-ratio: 1;
  position: absolute;
  top: 118.6666666667rem;
  left: calc(50% + 0.9333333333rem);
  border-radius: 546.056px;
  background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(73, 178, 255, 0.3) 0%, rgba(194, 229, 253, 0.4) 46%, rgba(248, 248, 248, 0.43) 76%, rgba(255, 255, 255, 0.45) 100%);
  z-index: -3;
}

@media screen and (min-width: 768px) {
  .p-strength__bg05 {
    width: min(29.8958333333vw, 35.875rem);
    top: auto;
    bottom: max(-9.6354166667vw, -11.5625rem);
    left: auto;
    right: calc(50% + min(22.9166666667vw, 27.5rem));
    border-radius: 574px;
    background: radial-gradient(39.78% 39.78% at 50% 50%, rgba(126, 201, 255, 0.41) 0%, rgba(194, 229, 253, 0.55) 46%, rgba(248, 248, 248, 0.59) 76%, rgba(255, 255, 255, 0.62) 100%);
  }
}
.p-strength__head {
  font-size: 1.7333333333rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-strength__head {
    font-size: min(3.7760416667vw, 2.5rem);
    text-align: left;
  }
}
.p-strength__list {
  margin: 3.5333333333rem 0 0;
  display: grid;
  gap: 5.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-strength__list {
    margin-top: 3.75rem;
    gap: 5rem;
  }
}
@media screen and (min-width: 1680px) {
  .p-strength__list {
    gap: 2.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-strength__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .p-strength__item:nth-child(1) .p-strength__img-wrap {
    margin-left: -0.625rem;
  }
  .p-strength__item:nth-child(1) .p-strength__text {
    max-width: 47.125rem;
    width: 90%;
  }
  .p-strength__item:nth-child(2) .p-strength__title {
    margin-left: min(1.7708333333vw, 2.125rem);
  }
  .p-strength__item:nth-child(2) .p-strength__body {
    margin-left: min(2.1354166667vw, 2.5625rem);
  }
  .p-strength__item:nth-child(2) .p-strength__text {
    max-width: 53.1875rem;
  }
  .p-strength__item:nth-child(3) .p-strength__text {
    max-width: 50.3125rem;
    width: 90%;
  }
}
@media screen and (min-width: 1280px) {
  .p-strength__item:nth-child(1) .p-strength__text {
    margin-left: min(2.9166666667vw, 3.5rem);
  }
  .p-strength__item:nth-child(3) .p-strength__text {
    margin-left: min(1.875vw, 2.25rem);
  }
}
@media screen and (min-width: 768px) {
  .p-strength__item:nth-child(odd) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1280px) {
  .p-strength__item:nth-child(odd) .p-strength__body {
    padding-left: 3rem;
  }
}
.p-strength__item:nth-child(even) .p-strength__img-wrap {
  margin-right: 0;
  margin-left: calc(50% - 50vw);
  margin-left: calc(50% - 50dvw);
}

.p-strength__item:nth-child(even) .p-strength__img-wrap .p-strength__img::after {
  mask-image: url(./images/top/strength_img02.webp);
  mask-size: cover;
  mask-position: right center;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/top/strength_img02.webp);
  -webkit-mask-size: cover;
  -webkit-mask-position: right center;
  -webkit-mask-repeat: no-repeat;
}

.p-strength__item:nth-child(even) .p-strength__img-wrap .p-strength__img.js-on::after {
  transform: translateX(-100%);
}

.p-strength__item:nth-child(even) .p-strength__img-wrap .p-strength__img img {
  object-position: center right;
}

.p-strength__img-wrap {
  position: relative;
  z-index: 1;
  margin-right: calc(50% - 50vw);
  margin-right: calc(50% - 50dvw);
}

@media screen and (min-width: 768px) {
  .p-strength__img-wrap {
    width: min(36.71875vw, 44.0625rem);
    flex-shrink: 0;
  }
}
.p-strength__num {
  font-family: "Jost", sans-serif;
  font-size: 2.1333333333rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0082D6;
  position: absolute;
  top: -2.3333333333rem;
  left: 24.358974359vw;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .p-strength__num {
    font-size: min(3.125vw, 3.75rem);
    left: 25.1063829787%;
    top: max(-3.3854166667vw, -4.0625rem);
  }
}
.p-strength__img {
  position: relative;
  z-index: 1;
}

.p-strength__img::after {
  mask-image: url(./images/top/strength_img01.webp);
  mask-size: cover;
  mask-position: left center;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(./images/top/strength_img01.webp);
  -webkit-mask-size: cover;
  -webkit-mask-position: left center;
  -webkit-mask-repeat: no-repeat;
}

.p-strength__img img {
  display: block;
  width: 100%;
  aspect-ratio: 371/198;
  object-fit: cover;
  object-position: center left;
}

@media screen and (min-width: 768px) {
  .p-strength__img img {
    aspect-ratio: 705/367;
  }
}
.p-strength__body {
  margin: 2.2666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-strength__body {
    margin-top: 0.6875rem;
    min-width: 0;
    flex: 1 1 auto;
  }
}
.p-strength__title {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-strength__title {
    font-size: min(2.0833333333vw, 1.5rem);
    line-height: 1.4583333333;
  }
  .p-strength__title span {
    display: inline-block;
  }
}
@media screen and (min-width: 1440px) {
  .p-strength__title {
    font-size: 1.5rem;
  }
}
.p-strength__text {
  margin: 1.1333333333rem 0 0;
}

.p-strength__text p {
  font-weight: 500;
  text-align: justify;
}

.p-strength__text p + p {
  margin-top: 2em;
}

@media screen and (min-width: 768px) {
  .p-strength__text {
    margin: 2.1875rem 0 0;
  }
  .p-strength__text span {
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  .p-strength--en .p-strength__text p {
    text-align: left;
  }
}
.p-thanks {
  padding: 2rem 0 4.4rem;
  text-align: center;
}

.p-thanks__btn {
  margin: 2.8666666667rem 0 0;
}

.p-top-company {
  margin: 2.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-top-company {
    margin-top: 8.4375rem;
  }
}
.p-top-company__box {
  position: relative;
  padding: 1.6666666667rem 0.9333333333rem 2.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-top-company__box {
    padding: 5.625rem 5.119047619% 6.6875rem;
  }
}
.p-top-company__box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(./images/top/company_bg_sp.webp) center top/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .p-top-company__box::before {
    background: url(./images/top/company_bg.webp) center top/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .p-top-company__head {
    text-align: left;
  }
}
.p-top-company__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 0.7333333333rem;
  margin: 1.4rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-top-company__list {
    gap: 0.75rem;
    margin-top: 5.6875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__list {
    grid-template-rows: 1fr;
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-top-company__item {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-top-company__item {
    min-height: 17.625rem;
  }
}
.p-top-company__card {
  text-align: center;
  padding: 0.4666666667rem 0 0.7333333333rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  color: inherit;
}

@media screen and (min-width: 768px) {
  .p-top-company__card {
    min-height: 17.625rem;
    padding: 4.375rem 0.9375rem;
  }
}
.p-top-company__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.p-top-company__img img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 160/108;
  transition: transform 0.3s ease;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-top-company__card:hover .p-top-company__img img {
    transform: scale(1.05);
  }
}
.p-top-company__name, .p-top-company__more {
  position: relative;
  z-index: 1;
}

.p-top-company__name {
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.07em;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-top-company__name {
    font-size: 1.3125rem;
    line-height: 1.4;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__name {
    font-size: min(1.3671875vw, 1.3125rem);
  }
}
.p-top-company__name-sub {
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .p-top-company__name-sub {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__name-sub {
    font-size: min(0.9765625vw, 1rem);
  }
}
.p-top-company__more {
  display: inline-block;
  margin-top: 0.6rem;
  width: min(100%, 7.3333333333rem);
  border-radius: 1.2rem;
  padding: 0.3333333333rem 1.6666666667rem 0.4666666667rem;
  font-family: "Jost", sans-serif;
  font-size: 0.8666666667rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07em;
  color: #ffffff;
  background: #ffffff;
  overflow: hidden;
  transition: color 0.3s;
}

.p-top-company__more::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  border-radius: 1.2rem;
  z-index: -1;
  transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
  .p-top-company__more {
    width: 10.4375rem;
    margin-top: 1.0625rem;
    border-radius: 1.25rem;
    padding: 0.4375rem 1.25rem 0.5rem;
    font-size: 1rem;
    line-height: 1.3888888889;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-top-company__card:hover .p-top-company__more {
    color: #163EA3;
  }
  .p-top-company__card:hover .p-top-company__more::before {
    transform: translateX(100%);
  }
}
.p-top-company__btn {
  margin-top: 1.8rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-top-company__btn {
    position: absolute;
    right: 5%;
    top: 8.25rem;
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__btn {
    right: 10.7738095238%;
  }
}
.p-top-company__link {
  min-width: 14.4rem;
  padding: 0.8666666667rem 1.3333333333rem;
}

.p-top-company__link span {
  line-height: 1.5;
  font-size: 1.0666666667rem;
}

@media screen and (min-width: 768px) {
  .p-top-company__link {
    min-width: 12.125rem;
    padding: 0.6875rem 1.25rem;
  }
  .p-top-company__link span {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company--en .p-top-company__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-top-company--en .p-top-company__item:nth-child(3) .p-top-company__name {
  font-size: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-top-company--en .p-top-company__item:nth-child(3) .p-top-company__name {
    font-size: 1.3125rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company--en .p-top-company__item:nth-child(3) .p-top-company__name {
    font-size: min(1.3671875vw, 1.3125rem);
  }
}
@media screen and (min-width: 768px) {
  .p-top-company--en .p-top-company__name {
    letter-spacing: 0;
  }
}
.p-top-news {
  position: relative;
  padding: 2.2666666667rem 0 47.4358974359vw;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-top-news {
    padding: 8.8125rem 0 13.8020833333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-top-news__wrap {
    display: grid;
    grid-template-columns: minmax(17.3333333333rem, 20.6rem) minmax(0, 1fr);
    grid-template-areas: "head list" "btn list" "foot foot";
    align-items: start;
    column-gap: 5.9375%;
  }
}
.p-top-news__head {
  grid-area: head;
}

@media screen and (min-width: 768px) {
  .p-top-news__head {
    text-align: left;
  }
}
.p-top-news__list-wrap {
  grid-area: list;
  margin: 0.6666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-top-news__list-wrap {
    margin: 0;
  }
}
.p-top-news__empty {
  margin: 0;
  padding: 1.6rem 0.6666666667rem;
  font-size: 0.9333333333rem;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-top-news__empty {
    padding: 2.5rem 1.25rem;
    font-size: 0.875rem;
    text-align: left;
  }
}
.p-top-news__list {
  display: grid;
  gap: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-top-news__list {
    gap: 1.25rem;
  }
}
.p-top-news__item a {
  padding: 0 0 0.8666666667rem 0.6666666667rem;
  transition: color 0.3s;
  border-bottom: 1px solid #000000;
}

@media screen and (min-width: 768px) {
  .p-top-news__item a {
    padding: 0 0.625rem 1.25rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-top-news__item a:hover {
    color: #163EA3;
  }
}
.p-top-news__date {
  font-size: 0.9333333333rem;
  font-weight: 500;
  line-height: 1.4285714286;
}

.p-top-news__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6666666667;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-top-news__title {
    font-size: 0.875rem;
    line-height: 1.5;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    margin-top: 0.625rem;
  }
}
.p-top-news__btn {
  grid-area: btn;
  text-align: center;
  margin: 2.1333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-top-news__btn {
    text-align: left;
    margin-top: 4.8125rem;
  }
}
.p-top-news__foot {
  position: absolute;
  bottom: 11.5384615385vw;
  left: 0;
  width: 100vw;
  display: flex;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-top-news__foot {
    bottom: -2.03125vw;
  }
}
.p-top-news__foot-inner {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  animation: loop-slide 50s infinite linear 0.5s both;
}

.p-top-news__foot-slider {
  display: flex;
  flex-shrink: 0;
}

.p-top-news__foot-slide {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  -webkit-text-stroke: 2px #0082D6;
  paint-order: stroke;
  font-family: "Jost", sans-serif;
  font-size: 25.641025641vw;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
  white-space: nowrap;
  margin-right: 1.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-top-news__foot-slide {
    font-size: 13.0208333333vw;
    margin-right: 3.6458333333vw;
  }
}
.p-top-service {
  position: relative;
  padding: 5.3333333333rem 0 2.5333333333rem;
  background: url(./images/top/service_bg_sp.webp) center top/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .p-top-service {
    padding: 6.875rem 0 6.0625rem;
    background: url(./images/top/service_bg.webp) center top/cover no-repeat;
  }
}
.p-top-service__inner {
  position: relative;
  z-index: 2;
}

.p-top-service__list {
  margin: 1.4666666667rem auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem 0.7333333333rem;
}

@media screen and (min-width: 768px) {
  .p-top-service__list {
    margin-top: 2.3125rem;
    gap: min(0.8854166667vw, 1.0625rem) 1.484375%;
  }
}
.p-top-service__item {
  width: calc((100% - 0.7333333333rem) / 2);
  position: relative;
  aspect-ratio: 174/117;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-top-service__item {
    width: 23.88671875%;
    aspect-ratio: 306/207;
  }
}
.p-top-service__item.c-mask {
  overflow: hidden;
}

.p-top-service__item.c-mask::after {
  z-index: 3;
}

.p-top-service__link {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

@media screen and (min-width: 768px) and (hover: hover) {
  .p-top-service__link:hover img {
    transform: scale(1.1);
  }
}
.p-top-service__img {
  width: 100%;
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.p-top-service__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.p-top-service__body {
  position: relative;
  z-index: 2;
  color: #ffffff;
  text-align: center;
}

.p-top-service__num {
  font-size: 0.5333333333rem;
  font-weight: 700;
  line-height: 1.75;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .p-top-service__num {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.p-top-service__title {
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.07em;
  margin: 0.4rem 0 0;
}

.p-top-service__title span {
  display: block;
  font-size: 0.7333333333rem;
  font-weight: 400;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-top-service__title {
    font-size: min(1.8229166667vw, 1.5rem);
  }
  .p-top-service__title span {
    font-size: min(1.4322916667vw, 1.125rem);
  }
}
.p-top-service--en .p-top-service__title {
  letter-spacing: 0;
}

.p-transaction {
  padding: 1.6rem 0 4.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-transaction {
    padding: 4.5625rem 0 7.5rem;
  }
}
.p-transaction__title {
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-transaction__title {
    font-size: 1.125rem;
  }
}
.p-transaction__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .p-transaction__table {
    margin-top: 2.8125rem;
  }
}
.p-transaction__table tr {
  display: block;
  margin: 2rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-transaction__table tr {
    display: grid;
    grid-template-columns: 16.75rem 1fr;
    gap: 1.125rem;
    margin: 0;
  }
}
.p-transaction__table th {
  padding: 0.0666666667rem 0 0.6666666667rem;
  border-bottom: 1px solid #163EA3;
  font-weight: 700;
  font-size: 1.0666666667rem;
  color: #163EA3;
  text-align: left;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .p-transaction__table th {
    padding: 1.25rem;
    border-bottom-width: 2px;
    width: 100%;
  }
}
.p-transaction__table td {
  display: block;
  font-weight: 400;
  margin: 0.5333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-transaction__table td {
    padding: 1.25rem 1.25rem 1.5rem;
    margin: 0;
    border-bottom: 1px solid #000000;
  }
}
.p-used-boat {
  padding: 2.4666666667rem 0 0.4666666667rem;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-used-boat {
    padding: 2.5625rem 0 2.8125rem;
  }
}
.p-used-boat__lead-wrap {
  text-align: center;
  position: relative;
}

.p-used-boat__balloon {
  position: absolute;
  top: -0.6666666667rem;
  right: calc(50% + 5.5333333333rem);
  width: 7rem;
  height: 4.0666666667rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(./images/used/balloon.svg) no-repeat center center/contain;
  z-index: 1;
}

.p-used-boat__balloon span {
  display: block;
  font-size: 0.6666666667rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  color: #163EA3;
  transform: rotate(-10deg);
}

@media screen and (min-width: 768px) {
  .p-used-boat__balloon {
    width: min(15.625vw, 12rem);
    height: min(10.15625vw, 7.0625rem);
    top: -0.3125rem;
    right: calc(50% + 20rem);
  }
  .p-used-boat__balloon span {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 1024px) {
  .p-used-boat__balloon {
    right: calc(50% + 20.3125rem);
  }
}
.p-used-boat__lead-sub {
  font-size: 1.1333333333rem;
  font-weight: 700;
  line-height: 1.3;
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.6666666667rem;
}

.p-used-boat__lead-sub::before, .p-used-boat__lead-sub::after {
  content: "";
  width: 1px;
  height: 2rem;
  background: #000000;
  margin-bottom: -0.3333333333rem;
}

.p-used-boat__lead-sub::before {
  transform: rotate(-25deg);
}

.p-used-boat__lead-sub::after {
  transform: rotate(25deg);
}

@media screen and (min-width: 768px) {
  .p-used-boat__lead-sub {
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .p-used-boat__lead-sub::before, .p-used-boat__lead-sub::after {
    width: 2px;
    height: 2.8125rem;
    margin-bottom: -0.625rem;
  }
}
.p-used-boat__lead-main {
  margin: 1rem 0 0;
  position: relative;
  z-index: 2;
}

.p-used-boat__lead-main span {
  display: block;
  font-size: 1.6666666667rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background: linear-gradient(90deg, #22A7FF 0%, #0032E2 98.97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

@media screen and (min-width: 768px) {
  .p-used-boat__lead-main {
    margin-top: 0.875rem;
  }
  .p-used-boat__lead-main span {
    font-size: 2.125rem;
    display: inline-block;
  }
}
.p-used-boat__lead-img {
  position: absolute;
  bottom: -3.2666666667rem;
  left: calc(50% + 4.6666666667rem);
  width: 8.9333333333rem;
  height: 6.6666666667rem;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-used-boat__lead-img {
    width: min(25vw, 19.5rem);
    height: min(16.9270833333vw, 14.625rem);
    bottom: -2.75rem;
    left: calc(50% + 26.0416666667vw);
  }
}
@media screen and (min-width: 1280px) {
  .p-used-boat__lead-img {
    left: calc(50% + 21.25rem);
  }
}
.p-used-boat__lead-img img {
  width: 100%;
}

.p-used-boat__list {
  margin: 2.4666666667rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-used-boat__list {
    margin-top: 4.375rem;
  }
}
.p-used-boat__card:not(:first-child) {
  margin-top: 2.4rem;
}

@media screen and (min-width: 768px) {
  .p-used-boat__card:not(:first-child) {
    margin-top: 2.9375rem;
  }
}
.p-used-boat__title {
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  color: #ffffff;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 2.0625;
  letter-spacing: 0.07em;
}

@media screen and (min-width: 768px) {
  .p-used-boat__title {
    font-size: 1.5rem;
    padding: 0 1.25rem;
  }
}
.p-used-boat__body {
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-used-boat__body {
    margin-top: 2.125rem;
    display: grid;
    grid-template-columns: 35.625% 1fr;
    gap: 4.6875%;
    align-items: start;
  }
}
.p-used-boat__media {
  width: 100%;
}

.p-used-boat__img {
  width: 100%;
}

.p-used-boat__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 360/205;
}

@media screen and (min-width: 768px) {
  .p-used-boat__img img {
    aspect-ratio: 456/292;
  }
}
.p-used-boat__thumbs {
  margin-top: 0.8rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5333333333rem;
}

@media screen and (min-width: 768px) {
  .p-used-boat__thumbs {
    margin-top: 0.75rem;
    gap: 0.625rem;
  }
}
.p-used-boat__thumb {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.3s;
  opacity: 0.5;
}

.p-used-boat__thumb img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 112/80;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-used-boat__thumb img {
    aspect-ratio: 106/68;
  }
}
.p-used-boat__thumb[aria-current=true] {
  opacity: 1;
}

.p-used-boat__content {
  margin: 1.6rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-used-boat__content {
    margin-top: 0;
  }
}
.p-used-boat__badges {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.p-used-boat__badge {
  background: #DFF1FC;
  color: #163EA3;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.4375;
  padding: 0.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-used-boat__badge {
    font-size: 1rem;
    padding: 0.625rem;
  }
}
.p-used-boat__or {
  font-size: 1.0666666667rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-used-boat__or {
    font-size: 1rem;
  }
}
.p-used-boat__spec {
  margin: 1rem 0 0;
  font-size: 1.0666666667rem;
  line-height: 1.55;
}

@media screen and (min-width: 768px) {
  .p-used-boat__spec {
    margin-top: 0.9375rem;
    font-size: 1rem;
    line-height: 1.625;
  }
}
.p-used-boat__note {
  margin: 1rem 0 0;
  padding: 1.3333333333rem;
  background: #DFF1FC;
  font-size: 1.0666666667rem;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .p-used-boat__note {
    margin-top: 0.9375rem;
    padding: 1.25rem;
    font-size: 1rem;
    line-height: 2;
  }
}
.p-used-boat__price {
  margin: 0.6666666667rem 0 0;
  color: #163EA3;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-used-boat__price {
    margin-top: 0.625rem;
    font-size: 1.25rem;
  }
}
.p-used-boat__price-value {
  display: inline-flex;
  align-items: baseline;
  gap: 0.0666666667rem;
  padding-bottom: 0.1333333333rem;
  border-bottom: 1px solid #163EA3;
  line-height: 1.1785714286;
}

.p-used-boat__price-number {
  font-size: 1.8666666667rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-used-boat__price-number {
    font-size: 1.9375rem;
  }
}
.p-whaly-model {
  padding: 3.6rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-whaly-model {
    padding-top: 4.375rem;
  }
}
.p-whaly-model__heading {
  text-align: center;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__heading {
    font-size: 1.25rem;
  }
}
.p-whaly-model__cards {
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__cards {
    margin-top: 1.25rem;
  }
}
.p-whaly-model__card:not(:first-child) {
  margin-top: 3.3333333333rem;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__card:not(:first-child) {
    margin-top: 4.125rem;
  }
}
.p-whaly-model__title {
  background: linear-gradient(to right, #90c3ff 0%, #096ee6 80.43%);
  color: #ffffff;
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__title {
    font-size: 1.5rem;
    padding: 0 1.25rem 0.0625rem;
  }
}
.p-whaly-model__body {
  margin: 1.3333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__body {
    margin-top: 2.125rem;
    display: grid;
    grid-template-columns: 35.625% 1fr;
    gap: 4.6875%;
    align-items: start;
  }
}
.p-whaly-model__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 360/205;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__img img {
    aspect-ratio: 456/336;
  }
}
.p-whaly-model__content {
  margin: 1.9333333333rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__content {
    margin-top: 0;
  }
}
.p-whaly-model__spec-title {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__spec-title {
    font-size: 1rem;
    line-height: 1.5625;
    text-align: left;
  }
}
.p-whaly-model__spec table {
  width: 100%;
  border-collapse: collapse;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__spec table {
    width: 50%;
    min-width: 250px;
  }
}
.p-whaly-model__spec th,
.p-whaly-model__spec td {
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
  padding: 0.4rem 0;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__spec th,
  .p-whaly-model__spec td {
    padding: 0.3125rem 0 0.375rem;
    line-height: 1.4375;
  }
}
.p-whaly-model__spec th {
  width: 59.7222222222%;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__spec th {
    width: 48.6910994764%;
  }
}
.p-whaly-model__spec-cols {
  margin-top: 0.4666666667rem;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__spec-cols {
    margin-top: 1.125rem;
    display: flex;
    flex-wrap: wrap;
  }
}
.p-whaly-model__pdf {
  margin: 1.2666666667rem 0 0;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__pdf {
    margin-top: 0.9375rem;
  }
}
.p-whaly-model__pdf-btn {
  display: inline-block;
  padding: 0 1.2666666667rem 0.0666666667rem;
  color: #ffffff;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.75;
  transition: border-color 0.3s, color 0.3s;
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.p-whaly-model__pdf-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__pdf-btn {
    padding: 0.3125rem 1.1875rem;
    font-size: 1rem;
    line-height: 1.4375;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-whaly-model__pdf-btn:hover {
    border-color: #163EA3;
    color: #163EA3;
  }
  .p-whaly-model__pdf-btn:hover::before {
    transform: translateX(100%);
  }
}
.p-whaly-model__price {
  margin: 1.3333333333rem 0 0;
  color: #163EA3;
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.45;
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-whaly-model__price {
    margin-top: 1.125rem;
    gap: 0.375rem;
    font-size: 1.25rem;
  }
}
.p-whaly-model__price-wrap {
  border-bottom: 1px solid #163ea3;
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__price-wrap {
    gap: 0.1875rem;
  }
}
.p-whaly-model__price-value {
  font-size: 2.0666666667rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__price-value {
    font-size: 1.9375rem;
  }
}
.p-whaly-model__note {
  margin: 1.2666666667rem 0 0;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .p-whaly-model__note {
    margin-top: 1.125rem;
  }
}
.p-whaly-options {
  padding: 7.7333333333rem 0 0.6666666667rem;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .p-whaly-options {
    padding: 7.375rem 0 5.25rem;
  }
}
.p-whaly-options__heading {
  text-align: center;
  font-size: 1.4666666667rem;
  font-weight: 700;
  line-height: 1.1818181818;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__heading {
    font-size: 1.5rem;
  }
}
.p-whaly-options__scroll {
  margin: 1.2rem calc(50% - 50vw) 0 0;
  padding-bottom: 1.8rem;
  max-width: none;
  overflow-y: hidden;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__scroll {
    width: 100%;
    margin: 1.25rem 0 0;
    padding: 0;
    overflow-x: hidden;
  }
}
.p-whaly-options__scroll [data-simplebar] {
  position: relative;
  width: 100%;
}

.p-whaly-options__scroll .simplebar-track.simplebar-horizontal {
  left: 0.7333333333rem !important;
  right: 1.7333333333rem !important;
  bottom: 0 !important;
  height: 0.6666666667rem;
  background: #ebebeb;
  border-radius: 0;
  pointer-events: auto;
}

.p-whaly-options__scroll .simplebar-scrollbar.simplebar-horizontal {
  height: 0.6666666667rem;
  top: 0;
  bottom: 0;
  pointer-events: auto;
  cursor: grab;
}

.p-whaly-options__scroll [data-simplebar].simplebar-dragging .simplebar-scrollbar.simplebar-horizontal {
  cursor: grabbing;
}

.p-whaly-options__scroll .simplebar-scrollbar:before {
  background: #0082D6;
  border-radius: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 1 !important;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__scroll .simplebar-track.simplebar-horizontal {
    display: none;
  }
  .p-whaly-options__scroll .simplebar-track {
    display: none;
  }
}
.p-whaly-options__scr-btn {
  position: absolute;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.7333333333rem;
  height: 0.6666666667rem;
  margin: 0;
  padding: 0;
  border: none;
  background: #163EA3;
  cursor: pointer;
  box-sizing: border-box;
  pointer-events: auto;
}

.p-whaly-options__scr-btn:hover {
  filter: brightness(1.08);
}

.p-whaly-options__scr-btn:focus-visible {
  outline: 2px solid #0082d6;
  outline-offset: 2px;
}

.p-whaly-options__scr-btn--prev {
  left: 0;
}

.p-whaly-options__scr-btn--next {
  right: 1rem;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__scr-btn {
    display: none !important;
  }
}
.p-whaly-options__scr-icon {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
}

.p-whaly-options__scr-btn--prev .p-whaly-options__scr-icon {
  margin-left: -0.1333333333rem;
  border-width: 0.2666666667rem 0.3333333333rem 0.2666666667rem 0;
  border-color: transparent #ffffff transparent transparent;
}

.p-whaly-options__scr-btn--next .p-whaly-options__scr-icon {
  margin-right: -0.1333333333rem;
  border-width: 0.2666666667rem 0 0.2666666667rem 0.3333333333rem;
  border-color: transparent transparent transparent #ffffff;
}

.p-whaly-options__table {
  padding-right: 1rem;
  min-width: 43.6666666667rem;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__table {
    padding-right: 0;
    min-width: 100%;
  }
}
.p-whaly-options__table table {
  width: 100%;
  min-width: 42.6666666667rem;
  border-collapse: collapse;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__table table {
    min-width: 100%;
  }
}
.p-whaly-options__table table th {
  text-align: center;
  vertical-align: middle;
  border: 1px solid #333333;
  line-height: 1.2;
  font-size: 1rem;
  font-weight: 400;
  width: 4rem;
}

.p-whaly-options__table table th.p-whaly-options__label {
  width: 9.3333333333rem;
  min-width: 9.3333333333rem;
  background: linear-gradient(90deg, #90C3FF 0%, #096EE6 80.43%);
  font-weight: 700;
  color: #ffffff;
  word-break: break-word;
}

.p-whaly-options__table table th.p-whaly-options__th--img {
  width: 5.3333333333rem;
  min-width: 5.3333333333rem;
  height: 4rem;
  background: #ffffff;
  border: 1px solid #333333;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__table table th {
    width: 10.15625%;
    min-width: 10.15625%;
    font-size: 1rem;
  }
  .p-whaly-options__table table th.p-whaly-options__label {
    width: 12.5%;
    min-width: 12.5%;
    line-height: 1.6;
    font-size: min(1.171875vw, 1rem);
  }
  .p-whaly-options__table table th.p-whaly-options__th--img {
    width: 15.546875%;
    min-width: 15.546875%;
    height: 2.5rem;
  }
}
.p-whaly-options__table td {
  text-align: center;
  vertical-align: middle;
  border: 1px solid #333333;
  background: #ffffff;
  width: 3.3333333333rem;
  min-width: 3.3333333333rem;
}

.p-whaly-options__table td.p-whaly-options__price {
  font-size: 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__table td {
    width: 10.234375%;
    min-width: 10.234375%;
  }
  .p-whaly-options__table td.p-whaly-options__price {
    font-size: 1rem;
  }
}
.p-whaly-options__yen {
  display: block;
  font-weight: 500;
  line-height: 1.4666666667;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__yen {
    line-height: 1.6;
  }
}
.p-whaly-options__img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 4rem;
  object-fit: cover;
  object-position: center;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__img {
    height: 6.25rem;
  }
}
.p-whaly-options__img-none {
  width: 5.3333333333rem;
  height: 4rem;
  background: #ffffff;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__img-none {
    width: 15.546875%;
    height: min(6.9010416667vw, 6.25rem);
    aspect-ratio: 199/100;
  }
}
.p-whaly-options__img-none::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 130%;
  height: 1px;
  background: #000000;
  transform: translate(-50%, -50%) rotate(-36deg);
  transform-origin: center;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__img-none::before {
    width: 113%;
    transform: translate(-50%, -50%) rotate(-27deg);
  }
}
.p-whaly-options__visual-loop {
  margin: 5.3333333333rem 0 1.6666666667rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__visual-loop {
    margin-top: 10.4375rem;
    margin-bottom: 4rem;
  }
}
.p-whaly-options__visual-loop.is-paused .p-whaly-options__visual-track, .p-whaly-options__visual-loop:hover .p-whaly-options__visual-track {
  animation-play-state: paused;
}

.p-whaly-options__visual-swiper {
  overflow: hidden;
}

.p-whaly-options__visual-track {
  display: flex;
  width: max-content;
  animation: loop-slide 143s linear infinite;
  will-change: transform;
}

.p-whaly-options__visual-slide {
  width: 23.1333333333rem;
  flex-shrink: 0;
  margin-right: 0.4666666667rem;
  box-sizing: content-box;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__visual-slide {
    width: 21.6875rem;
    margin-right: 0.4375rem;
  }
}
.p-whaly-options__visual-btn {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.p-whaly-options__visual-btn img {
  width: 100%;
  aspect-ratio: 347/344;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.p-whaly-options__gallery-frame {
  position: relative;
  width: 100%;
}

.p-whaly-options__gallery-frame .swiper-button-prev,
.p-whaly-options__gallery-frame .swiper-button-next,
.p-whaly-options__gallery-frame .p-whaly-options__gallery-prev,
.p-whaly-options__gallery-frame .p-whaly-options__gallery-next {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  transform: none;
  background: #0082D6;
  border: 1px solid #0082D6;
  width: 1.8666666667rem;
  height: 1.8666666667rem;
  border-radius: 50%;
  display: block;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  box-sizing: border-box;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__gallery-frame .swiper-button-prev,
  .p-whaly-options__gallery-frame .swiper-button-next,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-prev,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-next {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.p-whaly-options__gallery-frame .swiper-button-prev::after,
.p-whaly-options__gallery-frame .swiper-button-next::after,
.p-whaly-options__gallery-frame .p-whaly-options__gallery-prev::after,
.p-whaly-options__gallery-frame .p-whaly-options__gallery-next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.4666666667rem;
  height: 0.9333333333rem;
  transform: translate(-50%, -50%);
  mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(./images/common/ico_btn_arrow_pc.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background: #ffffff;
  transition: background 0.3s;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__gallery-frame .swiper-button-prev::after,
  .p-whaly-options__gallery-frame .swiper-button-next::after,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-prev::after,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-next::after {
    width: 0.5625rem;
    height: 1.125rem;
  }
}
@media (hover: hover) {
  .p-whaly-options__gallery-frame .swiper-button-prev:hover,
  .p-whaly-options__gallery-frame .swiper-button-next:hover,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-prev:hover,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-next:hover {
    background: #ffffff;
  }
  .p-whaly-options__gallery-frame .swiper-button-prev:hover::after,
  .p-whaly-options__gallery-frame .swiper-button-next:hover::after,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-prev:hover::after,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-next:hover::after {
    background: #0082D6;
  }
}
.p-whaly-options__gallery-frame .swiper-button-prev,
.p-whaly-options__gallery-frame .p-whaly-options__gallery-prev {
  left: 0.2666666667rem;
  right: auto;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__gallery-frame .swiper-button-prev,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-prev {
    left: -3rem;
  }
}
.p-whaly-options__gallery-frame .swiper-button-prev::after,
.p-whaly-options__gallery-frame .p-whaly-options__gallery-prev::after {
  transform: translate(-50%, -50%) scaleX(-1);
}

.p-whaly-options__gallery-frame .swiper-button-next,
.p-whaly-options__gallery-frame .p-whaly-options__gallery-next {
  right: 0.2666666667rem;
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__gallery-frame .swiper-button-next,
  .p-whaly-options__gallery-frame .p-whaly-options__gallery-next {
    right: -3rem;
  }
}
.p-whaly-options__gallery-swiper {
  width: 100%;
  overflow: hidden;
  padding: 0;
}

.p-whaly-options__gallery-swiper .swiper-wrapper {
  align-items: center;
}

.p-whaly-options__gallery-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  overflow: hidden;
  height: auto;
}

.p-whaly-options__gallery-swiper .c-image-modal__img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 4.8rem);
  max-width: none;
  height: 80vh;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 auto;
  background: transparent;
  box-shadow: none;
  -webkit-overflow-scrolling: touch;
}

.p-whaly-options__gallery-swiper .c-image-modal__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@media screen and (min-width: 768px) {
  .p-whaly-options__gallery-swiper .c-image-modal__img-wrap {
    width: 100%;
    max-width: none;
    height: 80vh;
  }
}
.wpcf7 {
  position: relative;
}

.wpcf7 span.wpcf7-not-valid-tip {
  position: absolute;
  left: 10px;
  font-size: 12px;
  color: #dc4322;
}

.wpcf7 div.wpcf7-response-output {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: absolute;
  bottom: -1.8666666667rem;
  left: 0;
  width: 100%;
  text-align: center;
  color: #dc4322;
  font-size: 12px;
  white-space: nowrap;
}

.wpcf7 .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 110%;
  transform: translate(-50%, -50%);
}

.u-desktop {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-desktop {
    display: revert;
  }
}
@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}
.u-tablet {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-tablet {
    display: block;
  }
}
@media screen and (min-width: 1280px) {
  .u-tablet {
    display: none;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */