@charset "UTF-8";
body{
  -webkit-text-size-adjust: 100%;
overflow-x: clip;
}
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

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

ol, ul {
  list-style: none;
}

img {
  max-width: 100%;
}

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}
.d-flex{
  display: block;
}
.m-top40{
  margin-top: 40px;
}
.m-bottom20{
  margin-bottom: 20px;
}
.p-right40,.p-action__item{
  padding-right: 0px;
  font-size: 15px;
  line-height: 1.8666666667;
  margin-bottom: 10px;
}
@media screen and (min-width: 1024px) {
  .d-flex{
    display: flex;
  }
  .p-right40{
    padding-right: 40px;
  }
}

body {
  background-color: #FFF;
  color: #333;
  font-weight: 400;
  width: 100vw;
  position: relative;
  overflow-x: hidden;
}

img {
  border-style: none;
  height: auto;
  vertical-align: bottom;
  max-width: 100%;
}
img [data-objectfit=cover] {
  -o-object-fit: cover;
     object-fit: cover;
}

a,
button {
  text-decoration: none;
  transition: all 0.25s ease;
}
a:hover, a:active,
button:hover,
button:active {
  outline-width: 0;
  cursor: pointer;
}

@media screen and (min-width: 1024px) {
  a[href*="tel:"] {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
  }
}
.l-article {
  width: 100%;
}

.l-main {
  padding-top: 64px;
}
@media screen and (min-width: 1024px) {
  .l-main {
    padding-top: 72px;
  }
}

.l-container {
  width: 100%;
  max-width: calc(100% - 32px);
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .l-container {
    max-width: 79.0629575403vw;
  }
}
@media screen and (min-width: 1366px) {
  .l-container {
    max-width: 1080px;
  }
}
@media screen and (min-width: 1024px) {
  .l-container.-md {
    max-width: 720px;
  }
}
@media screen and (min-width: 1024px) {
  .l-container.-lg {
    max-width: 840px;
  }
}
@media screen and (min-width: 1024px) {
  .l-container.-left {
    margin: 0;
    margin-right: auto;
  }
}

.l-section__title {
  background: #333;
  padding: 105px 0 50px;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .l-section__title {
    padding: 165px 0 100px;
    font-size: 40px;
  }
}
.l-section__title.-md {
  font-size: 28px;
  line-height: 1.3571428571;
  padding: 88px 0 32px;
}
@media screen and (min-width: 1024px) {
  .l-section__title.-md {
    font-size: 32px;
    line-height: 1.35;
    padding: 148px 0 56px;
  }
}
.l-section__heading {
  padding: 96px 0 32px;
}
@media screen and (min-width: 1024px) {
  .l-section__heading {
    padding: 165px 0 100px;
  }
}
.l-sectionHeading__title {
  margin: 0 auto 8px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5454545455;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__title {
    font-size: 32px;
    line-height: 1.4375;
  }
}
.l-sectionHeading__text {
  margin: 0 auto 32px;
  font-size: 16px;
}
.l-sectionHeading__tag {
  margin: 12px auto 32px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__tag {
    margin-top: 16px;
  }
}
.l-sectionHeading__tag span {
  border: 1px solid;
  border-radius: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px 7px 10px;
  min-width: 27px;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__tag span {
    padding: 3px 14px 6px 14px;
    min-width: 56px;
  }
}
.l-sectionHeading__tag.-sm {
  font-size: 11px;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__tag.-sm {
    font-size: 13px;
  }
}
.l-sectionHeading__info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.l-sectionHeading__info .l-sectionHeading__tag {
  margin: 0;
}
.l-sectionHeading__date {
  font-size: 13px;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__date {
    font-size: 14px;
  }
}
.l-sectionHeading__share {
  margin-top: 24px;
  margin-bottom: 43px;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__share {
    margin-top: 24px;
    margin-bottom: 51px;
  }
}
.l-sectionHeading__shareList {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
}
.l-sectionHeading__shareItem {
  width: 100%;
  max-width: calc((100% - 39px) / 4);
  font-size: 9px;
  color: #FFF;
  border-radius: 4px;
  height: 52px;
  text-align: center;
  padding-top: auto;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__shareItem {
    max-width: calc((100% - 36px) / 4);
    gap: 12px;
    height: 44px;
  }
}
.l-sectionHeading__shareItem a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 6px;
  height: 100%;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__shareItem a {
    flex-direction: row;
    padding-top: 0;
    justify-content: center;
  }
}
.l-sectionHeading__shareItem .button-caption {
  margin-top: 2px;
  font-size: 9px;
  font-weight: 400;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__shareItem .button-caption {
    font-size: 14px;
    margin-top: 0;
  }
}
.l-sectionHeading__shareItem .social-icon {
  position: relative;
  width: 24px;
  height: 24px;
  display: block;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__shareItem .social-icon {
    margin-right: 2px;
  }
}
.l-sectionHeading__shareItem .social-icon::before {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
.l-sectionHeading__shareItem .social-icon.-x::before {
  background: url(../img/common/icon_x.svg) no-repeat center/contain;
}
.l-sectionHeading__shareItem .social-icon.-facebook::before {
  background: url(../img/common/icon_facebook.svg) no-repeat center/contain;
}
.l-sectionHeading__shareItem .social-icon.-hatena::before {
  background: url(../img/common/icon_hatena.svg) no-repeat center/contain;
}
.l-sectionHeading__shareItem .social-icon.-line::before {
  background: url(../img/common/icon_line.svg) no-repeat center/contain;
}
@media screen and (min-width: 1024px) {
  .l-sectionHeading__shareItem .social-icon.-line {
    margin-right: 6px;
  }
}
.l-sectionHeading__shareItem.-x {
  background: #393939;
}
.l-sectionHeading__shareItem.-x::after {
  position: absolute;
  content: "";
  top: 3px;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 6px;
  background: #000000;
  z-index: -1;
}
.l-sectionHeading__shareItem.-facebook {
  background: #0866FF;
}
.l-sectionHeading__shareItem.-facebook::after {
  position: absolute;
  content: "";
  top: 3px;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 6px;
  background: #0050D3;
  z-index: -1;
}
.l-sectionHeading__shareItem.-hatena {
  background: #22A4DE;
}
.l-sectionHeading__shareItem.-hatena::after {
  position: absolute;
  content: "";
  top: 3px;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 6px;
  background: #1C8DBE;
  z-index: -1;
}
.l-sectionHeading__shareItem.-line {
  background: #37C354;
}
.l-sectionHeading__shareItem.-line::after {
  position: absolute;
  content: "";
  top: 3px;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 6px;
  background: #2EA747;
  z-index: -1;
}
.l-sectionContent__mainImg {
  margin: 0 auto 32px;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .l-sectionContent__mainImg {
    max-width: 840px;
    margin-bottom: 40px;
  }
}
.l-sectionContent__movie {
  margin-bottom: 40px;
}
@media screen and (min-width: 1024px) {
  .l-sectionContent__movie {
    margin-bottom: 48px;
  }
}

.l-pagination {
  margin: 64px auto;
}
@media screen and (min-width: 1024px) {
  .l-pagination {
    margin: 80px auto;
  }
}
.l-pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.l-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 38px;
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
.l-pagination__link.is-current {
  border: 1px solid #333;
  border-radius: 4px;
}
.l-pagination__link.is-prev:hover, .l-pagination__link.is-next:hover {
  opacity: 0.8;
}
.l-pagination__link.is-prev {
  background: #0b4f8d;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
}
.l-pagination__link.is-prev:before {
  background: transparent url(../img/common/icon_triangle.svg) no-repeat center;
  background-size: contain;
  content: "";
  width: 10px;
  height: 9px;
  transform: rotate(-180deg);
}
.l-pagination__link.is-next {
  background: #0b4f8d;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 4px;
}
.l-pagination__link.is-next:before {
  background: transparent url(../img/common/icon_triangle.svg) no-repeat center;
  background-size: contain;
  content: "";
  width: 10px;
  height: 9px;
}

.l-content__heading {
  padding-left: 16px;
  padding-right: 16px;
  position: relative;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (min-width: 1024px) {
  .l-content__heading {
    padding-left: 24px;
    padding-right: 24px;
    font-size: 28px;
    line-height: 1.3571428571;
  }
}
.l-content__heading:before {
  background: #2FAECB;
  border-radius: 4px;
  content: "";
  width: 6px;
  height: 20px;
  position: absolute;
  top: 6px;
  left: 0;
}
@media screen and (min-width: 1024px) {
  .l-content__heading:before {
    width: 8px;
    height: 31px;
    top: 5px;
    left: 0;
  }
}
.l-content__heading.-noDecoration {
  padding-left: 0;
}
.l-content__heading.-noDecoration:before {
  display: none;
}
.l-content__heading.-en {
  font-family: "Hanken Grotesk", sans-serif;
}

.l-header {
  height: 65px;
  background-color: #FFF;
  position: fixed;
  width: 100%;
  z-index: 10000;
  top: 0;
  left: 0;
}
.l-header.-pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .l-header.-pc {
    display: block;
    height: 72px;
    background-color: #FFF;
    position: fixed;
    z-index: 100;
    width: 100%;
  }
}
.l-header.-sp {
  width: 100%;
  height: 65px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #FFF;
  z-index: 20;
}
@media screen and (min-width: 1024px) {
  .l-header.-sp {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .l-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
  }
  .l-header__inner:has(.l-navigation__item.-open:hover) .l-header__bg {
    transform: scaleY(1);
    opacity: 1;
  }
}
@media screen and (min-width: 1024px) {
  .l-header__bg {
    background: rgba(0, 0, 0, 0.16);
    content: "";
    position: absolute;
    top: 72px;
    left: 0;
    width: 100%;
    height: calc(100vh - 72px);
    z-index: 3;
    transform-origin: center;
    transition: all 0.2s ease;
    pointer-events: none;
    opacity: 0;
  }
}
.l-header__container {
  display: flex;
  align-items: center;
  margin: 0 auto;
  height: 100%;
  padding: 17px 16px;
}
@media screen and (min-width: 1024px) {
  .l-header__container {
    max-width: 980px;
    padding: 0;
  }
}
@media screen and (min-width: 1366px) {
  .l-header__container {
    max-width: 1120px;
  }
}
.l-header__logo {
  position: absolute;
}
@media screen and (min-width: 1024px) {
  .l-header__logo {
    position: static;
    padding: 18px 32px 20px;
  }
}
.l-header__logo img {
  display: block;
  height: 28px;
}
@media screen and (min-width: 1024px) {
  .l-header__logo img {
    height: 34px;
  }
}
.l-header__link {
  font-weight: 400;
  font-size: 18px;
  background: #333;
  color: #FFF;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 88px;
  text-align: center;
  z-index: 99;
}
.l-header__link a {
  padding: 28px 16px 34px;
  width: 100%;
  height: 100%;
  display: block;
}
@media screen and (min-width: 1024px) {
  .l-header__link a {
    padding: 24px 39px 27px;
  }
}
@media screen and (min-width: 1024px) {
  .l-header__link {
    position: static;
    font-size: 15px;
    font-weight: 400;
    color: #FFF;
    height: auto;
    width: auto;
    transition: all 0.25s ease;
  }
  .l-header__link:hover {
    opacity: 0.8;
  }
}

/* ハンバーガーメニュー　🍔
-------------------------------------*/
.l-header__hamburger {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 6px;
  right: 5px;
}
@media screen and (min-width: 1024px) {
  .l-header__hamburger {
    position: relative;
    top: auto;
    left: auto;
  }
}

.l-header__hamburgerLine {
  position: absolute;
  top: 20px;
  transition: all 0.15s ease;
  background-color: #333;
  width: 24px;
  height: 3px;
  border-radius: 3px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
}
.l-header__hamburgerLine:nth-of-type(2) {
  top: 28px;
}

.l-header__hamburger.-show .l-header__hamburgerLine:nth-of-type(1) {
  transform: translateX(-50%) rotate(45deg);
  top: 26px;
}
@media screen and (min-width: 1024px) {
  .l-header__hamburger.-show .l-header__hamburgerLine:nth-of-type(1) {
    top: 22px;
  }
}
.l-header__hamburger.-show .l-header__hamburgerLine:nth-of-type(2) {
  transform: translateX(-50%) rotate(-45deg);
  top: 26px;
}
@media screen and (min-width: 1024px) {
  .l-header__hamburger.-show .l-header__hamburgerLine:nth-of-type(2) {
    top: 22px;
  }
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.l-header .l-navigation {
  opacity: 0;
  visibility: hidden;
  border-top: 1px solid #CCC;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation {
    border-top: none;
    opacity: 1;
    visibility: visible;
    display: inline-block;
    padding-top: 0;
    display: flex;
    margin-top: -1px;
  }
}
.l-header .l-navigation.-show {
  width: 100%;
  height: 100vh;
  opacity: 1;
  visibility: visible;
  position: fixed;
  overflow-y: scroll;
  overflow-x: hidden;
  top: 65px;
  left: 0;
  width: 100%;
  background: #FFF;
}
.l-header .l-navigation.-show:has(.l-navigation__list.active) {
  height: 100vh;
}
.l-header .l-navigation.-show::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  z-index: -1;
}
.l-header .l-navigation__title {
  font-size: 12px;
  font-weight: 300;
  padding-left: 65px;
  margin-bottom: 37px;
}
.l-header .l-navigation__list {
  display: flex;
  flex-direction: column;
  position: relative;
  top: 0;
  left: 0;
  width: 200vw;
  transition: transform 0.3s;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__list {
    flex-direction: row;
    height: auto;
    padding-left: 0;
    gap: 32px;
    margin-top: 24px;
    margin-right: 40px;
    width: auto;
  }
}
.l-header .l-navigation__list.active {
  transform: translateX(-100vw);
}
.l-header .l-navigation__item {
  font-weight: 700;
  font-size: 15px;
  width: 100vw;
  position: relative;
}
.l-header .l-navigation__item::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background: #2FAECB;
  bottom: 0px;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: all 0.3s;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__item:hover::after {
    transform: scale(1, 1);
  }
}
.l-header .l-navigation__item:last-child {
  margin-bottom: 250px;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__item:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__item {
    font-size: 15px;
    font-weight: 500;
    padding: 0;
    border-bottom: none;
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__item.-open {
    position: relative;
  }
  .l-header .l-navigation__item.-open::after {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 4px;
    background: #2FAECB;
    bottom: 0px;
    transition: all 0.3s;
    transform: scale(0, 1);
    transform-origin: center top;
  }
  .l-header .l-navigation__item.-open:hover::after {
    transform: scale(1, 1);
  }
  .l-header .l-navigation__item.-open:hover .l-navigation__child {
    transform: scaleY(1);
    opacity: 1;
    background: #FFF;
  }
}
.l-header .l-navigation__link {
  padding: 19px 32px;
  display: block;
  position: relative;
  border-bottom: 1px solid #CCC;
}
.l-header .l-navigation__link::before {
  display: block;
  content: "";
  background: url(../img/common/icon_newtab.svg) no-repeat center/cover;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__link {
    padding: 0;
    display: inline-block;
    border-bottom: none;
  }
  .l-header .l-navigation__link::before {
    content: none;
  }
  .l-header .l-navigation__link:hover {
    cursor: pointer;
  }
}
.l-header .l-navigation__link.-arrow::before {
  display: block;
  content: "";
  background: url(../img/common/icon_arrow_black.svg) no-repeat center/cover;
  width: 6px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 35px;
  transform: translateY(-50%);
}
.l-header .l-navigation__link.-mega {
  padding: 0;
}
.l-header .l-navigation__link.-mega::before {
  content: none;
}
.l-header .l-navigation__link.-accordion::before {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 33px;
  width: 10px;
  height: 2px;
  background-color: #333;
  transform: rotate(90deg);
  transition: transform 0.2s;
  border-radius: 1px;
}
.l-header .l-navigation__link.-accordion::after {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 33px;
  width: 10px;
  height: 2px;
  background-color: #333;
  border-radius: 1px;
}
.l-header .l-navigation__link.-open::before {
  transform: rotate(0deg);
}
.l-header .l-navigation__link.-sm {
  padding: 19px 16px;
}
.l-header .l-navigation__inner {
  background: #FFF;
  padding: 24px 26px 100px;
  min-height: 100vh;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__inner {
    display: flex;
    min-height: auto;
    max-width: 980px;
    margin: 0 auto;
    padding: 24px 0 66px;
  }
}
@media screen and (min-width: 1366px) {
  .l-header .l-navigation__inner {
    max-width: 1120px;
  }
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__child {
    z-index: 100;
    position: fixed;
    top: 72px;
    left: 0;
    width: 100%;
    border-top: 1px solid #CCC;
    box-shadow: 12px 12px 16px rgba(179, 185, 190, 0.16);
    transform: scaleY(0);
    opacity: 0;
    transform-origin: top;
    transition: 0.5s;
  }
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__childWrap {
    max-width: 1080px;
    margin: 64px auto 106px;
  }
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__childList {
    display: flex;
    gap: 0 30px;
    flex-wrap: wrap;
    margin-top: 40px;
  }
}
.l-header .l-navigation__childItem {
  background: #F2F2F2;
  border-bottom: 1px solid #CCC;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__childItem {
    position: relative;
    background: #FFF;
    width: calc((100% - 60px) / 3);
    font-size: 16px;
    font-weight: 700;
    padding: 17px 34px 21px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin-top: -1px;
  }
  .l-header .l-navigation__childItem::before {
    right: 24px;
  }
  .l-header .l-navigation__childItem:hover {
    color: #0B768D;
  }
}
.l-header .l-navigation__childLink {
  padding: 18px 48px 19px;
  position: relative;
  display: block;
  transition: all 0.25s ease;
}
.l-header .l-navigation__childLink::before {
  display: block;
  content: "";
  background: url(../img/common/icon_arrow_black.svg) no-repeat center/cover;
  width: 7px;
  height: 11px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 35px;
  transition: all 0.25s ease;
}
.l-header .l-navigation__childLink:hover::before {
  background: url(../img/common/icon_arrow_blue_right.svg) no-repeat center/cover;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__childLink {
    position: static;
    padding: 0;
  }
}
.l-header .l-navigation__childLink .-sm {
  padding: 19px 16px;
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__childLink .-sm {
    padding: 0;
  }
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__childTop {
    position: relative;
  }
  .l-header .l-navigation__childTop .c-link__icon.-arrow {
    right: -42px;
  }
}
@media screen and (min-width: 1024px) {
  .l-header .l-navigation__childTitle {
    font-size: 20px;
    font-weight: 700;
  }
}
.l-header .l-navigationMega__child {
  display: block;
  position: absolute;
  left: 0;
  top: -126px;
  transform: translateX(100vw);
  visibility: hidden;
  width: 100%;
}
.l-header .l-navigationMega__child.active {
  visibility: visible;
  height: auto;
  overflow-y: scroll;
}
.l-header .l-navigationMega__childItem {
  background: #0B768D;
  color: #FFF;
  padding: 12px 30px 15px;
  font-size: 12px;
  font-weight: 700;
  position: relative;
}
.l-header .l-navigationMega__childItem::before {
  content: "";
  background: url(../img/common/icon_arrow_white_bottom.svg) no-repeat center/contain;
  width: 10px;
  height: 6px;
  position: absolute;
  top: 49%;
  left: 15px;
  transform: translateY(-50%) rotate(90deg);
}

.l-footer {
  border-top: 1px solid #CCC;
  position: relative;
}
.l-footer__container {
  padding: 54px 28px 24px;
}
@media screen and (min-width: 1024px) {
  .l-footer__container {
    padding: 80px 0 16px;
    max-width: 1024px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1366px) {
  .l-footer__container {
    max-width: 1209px;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__wrap {
    display: flex;
    gap: 120px;
  }
}
@media screen and (min-width: 1366px) {
  .l-footer__wrap {
    gap: 125px;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__nav {
    display: flex;
    gap: 56px;
    order: 2;
  }
}
.l-footerNav__item {
  margin-bottom: 25px;
}
@media screen and (min-width: 1024px) {
  .l-footerNav__item {
    margin-bottom: 24px;
  }
}
.l-footerNav__itemLink {
  font-size: 18px;
  font-weight: 700;
}
.l-footerNav__itemLink:hover {
  color: #0B768D;
  text-decoration: underline;
}
.l-footerNav__itemLink.-thin {
  font-size: 14px;
  font-weight: 400;
}
.l-footerNav__item.-md {
  margin-bottom: 8px;
}
.l-footerNav__innerItem {
  margin-top: 6px;
}
@media screen and (min-width: 1024px) {
  .l-footerNav__innerItem {
    margin-top: 8px;
  }
}
.l-footerNav__innerItemLink {
  font-size: 14px;
  font-weight: 400;
}
.l-footerNav__innerItemLink:hover {
  color: #0B768D;
  text-decoration: underline;
}
@media screen and (min-width: 1024px) {
  .l-footerNav__list {
    width: 200px;
  }
}
.l-footerNav__list.-md {
  margin-top: 48px;
}
@media screen and (min-width: 1024px) {
  .l-footerNav__list.-md {
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .l-footerNav__contentBlock {
    width: 200px;
  }
}
.l-footer__sns {
  margin-top: 80px;
}
.l-footer__snsList {
  display: flex;
  flex-wrap: wrap;
  gap: 22px 30px;
}
@media screen and (min-width: 1024px) {
  .l-footer__snsList {
    gap: 24px;
  }
}
.l-footer__snsItem {
  font-size: 15px;
  font-weight: 400;
  position: relative;
  width: calc((100% - 30px) / 2);
}
@media screen and (min-width: 1024px) {
  .l-footer__snsItem {
    width: 100%;
  }
}
.l-footer__snsLink {
  padding-left: 38px;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .l-footer__snsLink {
    width: 100%;
  }
}
.l-footer__snsLink::before {
  display: block;
  content: "";
  width: 29px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.l-footer__snsLink.-x::before {
  background: url(../img/common/icon_x.svg) no-repeat center/cover;
}
.l-footer__snsLink.-facebook::before {
  background: url(../img/common/icon_facebook.svg) no-repeat center/cover;
}
.l-footer__snsLink.-insta::before {
  background: url(../img/common/icon_instagram.svg) no-repeat center/cover;
}
.l-footer__snsLink.-youtube::before {
  background: url(../img/common/icon_youtube.svg) no-repeat center/cover;
}
.l-footer__company {
  margin-top: 80px;
}
@media screen and (min-width: 1024px) {
  .l-footer__company {
    margin-top: 0;
    order: 1;
    width: 300px;
  }
}
.l-footerLogo__title img {
  width: 252px;
}
.l-footer__informationList dl {
  margin-top: 32px;
}
@media screen and (min-width: 1024px) {
  .l-footer__informationList dl {
    margin-top: 40px;
  }
}
.l-footer__informationList dt {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}
@media screen and (min-width: 1024px) {
  .l-footer__informationList dt {
    margin-bottom: 8px;
    font-size: 15px;
  }
}
.l-footer__informationList dd {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.6363636364;
}
@media screen and (min-width: 1024px) {
  .l-footer__informationList dd {
    font-size: 13px;
    line-height: 1.6923076923;
  }
}
.l-footer__mark {
  display: flex;
  gap: 33px;
  margin-top: 48px;
}
@media screen and (min-width: 1024px) {
  .l-footer__mark {
    gap: 24px;
    margin-top: 40px;
  }
}
.l-footer__mark img {
  height: 64px;
}
.l-footerBottom__box {
  margin-top: 46px;
}
@media screen and (min-width: 1024px) {
  .l-footerBottom__box {
    margin-top: 104px;
  }
}
.l-footerBottom__copyRight {
  font-size: 11px;
  font-weight: 400;
  color: #808080;
}
.l-footer__goTop {
  background: #0B4F8D;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: absolute;
  top: 44px;
  right: 28px;
}
.l-footer__goTop::before {
  display: block;
  content: "";
  background: url(../img/common/icon_arrow_white.svg) no-repeat center/cover;
  width: 10px;
  height: 12px;
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
}
@media screen and (min-width: 1024px) {
  .l-footer__goTop {
    top: 75px;
    right: 40px;
  }
}

.l-page__heading {
  position: relative;
  margin-top: -97px;
}
@media screen and (min-width: 1024px) {
  .l-page__heading {
    margin-top: -114px;
    padding-left: 32px;
  }
}
@media screen and (min-width: 1366px) {
  .l-page__heading {
    padding-left: 0;
  }
}
.l-page__heading::before {
  content: "";
  background: url(../img/common/bg_heading_lower_sp.png) no-repeat center/cover;
  height: 400px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .l-page__heading::before {
    height: 648px;
    background: url(../img/common/bg_heading_lower_pc.png) no-repeat center/cover;
  }
}
.l-page__headingWrapper {
  padding: 131px 0 96px 16px;
  max-width: 1080px;
  margin: 0 auto;
}
.l-page__headingWrapper .c-heading__title.-en {
  margin-bottom: 4px;
}
@media screen and (min-width: 1024px) {
  .l-page__headingWrapper {
    padding: 176px 0 80px;
  }
}
.l-page__heading.-second::before {
  content: "";
  background: url(../img/common/bg_heading_lower_second_sp.png) no-repeat center/cover;
  height: 230px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .l-page__heading.-second::before {
    height: 648px;
    background: url(../img/common/bg_heading_lower_second_pc.png) no-repeat center/cover;
  }
}
.l-page__title {
  padding: 121px 0 96px 16px;
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .l-page__title {
    padding: 176px 0 80px;
  }
}
.l-page__title.-sm {
  padding: 121px 0 40px 16px;
}
@media screen and (min-width: 1024px) {
  .l-page__title.-sm {
    padding: 176px 0 80px;
  }
}
.l-page__content {
  margin-bottom: 80px;
}
@media screen and (min-width: 1024px) {
  .l-page__content {
    margin-bottom: 140px;
  }
}
@media screen and (min-width: 1024px) {
  .l-page__contentWrapper {
    padding-left: 0px;
  }
}
.l-page__lead {
  font-size: 15px;
  line-height: 1.8666666667;
}
@media screen and (min-width: 1024px) {
  .l-page__lead {
    font-size: 16px;
    line-height: 1.875;
    margin-top: 24px;
  }
}


@media screen and (min-width: 1024px) {
  .c-br.-sp {
    display: none;
  }
}
.c-br.-pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .c-br.-pc {
    display: inline-block;
  }
}

.c-hidden.-sp {
  display: none;
}
@media screen and (min-width: 1024px) {
  .c-hidden.-sp {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .c-hidden.-pc {
    display: none;
  }
}

.c-btn__round {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30px;
  height: 48px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .c-btn__round {
    height: 60px;
    transition: all 0.25s ease;
  }
}
.c-btn__round .btnText {
  font-size: 15px;
  font-weight: 500;
  line-height: 14px;
}
@media screen and (min-width: 1024px) {
  .c-btn__round .btnText {
    font-size: 16px;
    margin-top: -5px;
    margin-left: 10px;
  }
}
.c-btn__round.-type_primary {
  padding-left: 12px;
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-type_primary {
    padding-left: 0;
  }
}
.c-btn__round.-type_primary.-color_primary {
  background-color: #0B768D;
  color: #FFF;
}
.c-btn__round.-type_primary.-color_primary:hover {
  background: #FFF;
  color: #0B768D;
  border: 2px solid #0B768D;
  transition: unset;
  opacity: 1;
}
.c-btn__round.-type_secondary.-color_primary {
  background-color: #FFF;
  border: 2px solid #0B768D;
  color: #0B768D;
}
.c-btn__round.-type_secondary.-color_primary:hover {
  background: #0B768D;
  color: #FFF;
  transition: unset;
  opacity: 1;
}
.c-btn__round.-md {
  width: 184px;
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-md {
    width: 216px;
  }
}
.c-btn__round.-lg {
  width: 200px;
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-lg {
    width: 216px;
  }
}
.c-btn__round.-icon_right {
  position: relative;
  padding-right: 0.8rem;
}
.c-btn__round.-icon_right.-arrow::before {
  content: "";
  background: url(../img/common/icon_arrow_white.svg) no-repeat center/contain;
  width: 10px;
  height: 12px;
  position: absolute;
  top: 51%;
  right: 14px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-icon_right.-arrow::before {
    right: 20px;
  }
}
.c-btn__round.-icon_right.-arrow:hover::before {
  background: url(../img/common/icon_arrow_blue.svg) no-repeat center/contain;
  right: 18px;
}
.c-btn__round.-icon_right.-arrow_blue::before {
  content: "";
  background: url(../img/common/icon_arrow_blue.svg) no-repeat center/contain;
  width: 10px;
  height: 12px;
  position: absolute;
  top: 51%;
  right: 14px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-icon_right.-arrow_blue::before {
    right: 20px;
  }
}
.c-btn__round.-icon_right.-arrow_blue:hover::before {
  background: url(../img/common/icon_arrow_white.svg) no-repeat center/contain;
  right: 20px;
}
.c-btn__round.-icon_right.-arrow_anchor::before {
  content: "";
  background: url(../img/common/icon_arrow_white_bottom.svg) no-repeat center/contain;
  width: 7px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-icon_right.-arrow_anchor::before {
    width: 10px;
    height: 12px;
    right: 22px;
  }
}
.c-btn__round.-icon_right.-arrow_anchor:hover::before {
  background: url(../img/common/icon_arrow_blue_bottom.svg) no-repeat center/contain;
  right: 13px;
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-icon_right.-arrow_anchor:hover::before {
    right: 20px;
  }
}
.c-btn__round.-icon_right.-download::before {
  content: "";
  background: url(../img/common/icon_download_white.svg) no-repeat center/contain;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-icon_right.-download::before {
    width: 15px;
    height: 15px;
    top: 49%;
    right: 22px;
  }
}
.c-btn__round.-icon_right.-download:hover::before {
  background: url(../img/common/icon_download_blue.svg) no-repeat center/contain;
  right: 20px;
}
.c-btn__round.-icon_right.-external_white::before {
  content: "";
  background: url(../img/common/icon_external_white.svg) no-repeat center/contain;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-icon_right.-external_white::before {
    width: 15px;
    height: 15px;
    top: 49%;
    right: 22px;
  }
}
.c-btn__round.-icon_right.-external_white:hover::before {
  background: url(../img/common/icon_external_blue.svg) no-repeat center/contain;
}
.c-btn__round.-icon_right.-external_blue::before {
  content: "";
  background: url(../img/common/icon_external_blue.svg) no-repeat center/contain;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .c-btn__round.-icon_right.-external_blue::before {
    width: 15px;
    height: 15px;
    top: 49%;
    right: 22px;
  }
}
.c-btn__round.-icon_right.-external_blue:hover::before {
  background: url(../img/common/icon_external_white.svg) no-repeat center/contain;
}
.c-btn__round.-center {
  margin: 0 auto;
}
.c-btn__link {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 2.375em;
  display: block;
}
.c-btn__link .btnText {
  font-size: 15px;
  font-weight: 700;
  color: #0B768D;
}
@media screen and (min-width: 1024px) {
  .c-btn__link .btnText {
    font-size: 16px;
  }
}
.c-btn__link:hover {
  transition: all 0.5s;
  text-decoration: underline;
  text-decoration-color: #0B768D;
}


.p-about .l-page__content {
  margin-top: -31px;
}
@media screen and (min-width: 1024px) {
  .p-about .l-page__content {
    margin-top: -6px;
  }
}
.p-about__head {
  padding: 0 16px;
  margin-bottom: 32px;
}
@media screen and (min-width: 1024px) {
  .p-about__head {
    max-width: 1080px;
    margin: 0 auto 32px;
    padding: 0;
  }
}
.p-about__head-en {
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 34px;
  font-weight: 600;
}
@media screen and (min-width: 1024px) {
  .p-about__head-en {
    font-size: 48px;
  }
}
.p-about__head-ja {
  font-size: 11px;
  font-weight: 400;
  margin-left: 12px;
}
@media screen and (min-width: 1024px) {
  .p-about__head-ja {
    font-size: 13px;
  }
}
.p-about__text {
  line-height: 1.8666666667;
}
@media screen and (min-width: 1024px) {
  .p-about__text {
    line-height: 2.25;
  }
}

.p-about__message {
  padding: 0 16px;
}
@media screen and (min-width: 1024px) {
  .p-about__message {
    padding: 0;
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    gap: 80px;
  }
}
.p-about__message .c-heading__title {
  margin-bottom: 14px;
}
@media screen and (min-width: 1024px) {
  .p-about__message .c-heading__title {
    margin-bottom: 12px;
  }
}
.p-about__messageName {
  margin-top: 9px;
  line-height: 1.8666666667;
}
@media screen and (min-width: 1024px) {
  .p-about__messageName {
    margin-top: 10px;
    line-height: 1.8947368421;
  }
}
@media screen and (min-width: 1024px) {
  .p-about__messageTextArea {
    width: 570px;
  }
}
@media screen and (min-width: 1024px) {
  .p-about__messageImage {
    width: 430px;
    margin-top: 68px;
  }
  .p-about__messageImage img {
    width: 100%;
  }
}

.p-about__movie {
  max-width: 1080px;
  margin: 44px auto 80px;
  padding: 0 16px;
}
@media screen and (min-width: 1024px) {
  .p-about__movie {
    margin: 80px auto 104px;
    padding: 0;
  }
}
.p-about__movieWrap {
  padding: 0 16px;
  margin-top: 26px;
}
@media screen and (min-width: 1024px) {
  .p-about__movieWrap {
    padding: 0;
    max-width: 720px;
    margin: 26px auto 104px;
  }
}
.p-about__movie .l-content__heading.-en {
  font-size: 28px;
}
@media screen and (min-width: 1024px) {
  .p-about__movie .l-content__heading.-en {
    font-size: 42px;
  }
}
.p-about__movie .l-content__heading.-en::before {
  top: 11px;
}
@media screen and (min-width: 1024px) {
  .p-about__movie .l-content__heading.-en::before {
    top: 11px;
  }
}

.p-about__ship {
  margin-top: 80px;
}
@media screen and (min-width: 1024px) {
  .p-about__ship {
    margin-top: 104px;
  }
}
.p-about__shipMv img {
  width: 100%;
}
.p-about__shipInner {
  padding: 0 16px;
}
@media screen and (min-width: 1024px) {
  .p-about__shipInner {
    padding: 0;
    max-width: 1080px;
    margin: 0 auto;
  }
}
.p-about__shipTitle {
  font-size: 34px;
  font-family: "Hanken Grotesk", sans-serif;
  font-weight: 600;
  margin-top: 40px;
}
@media screen and (min-width: 1024px) {
  .p-about__shipTitle {
    font-size: 48px;
    margin-top: 80px;
  }
}
.p-about__shipCont {
  margin-top: 32px;
}
@media screen and (min-width: 1024px) {
  .p-about__shipCont {
    margin-top: 78px;
  }
}
.p-about__shipItem {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 40px;
}
@media screen and (min-width: 1024px) {
  .p-about__shipItem {
    gap: 40px;
    margin-bottom: 48px;
  }
}
.p-about__shipItem:nth-child(3) .p-about__shipSquare::after {
  bottom: -48px;
}
@media screen and (min-width: 1024px) {
  .p-about__shipItem:nth-child(3) .p-about__shipSquare::after {
    bottom: -32px;
  }
}
.p-about__shipItem:last-child {
  margin-bottom: 0;
}
.p-about__shipItem:last-child .p-about__shipSquare::after {
  content: none;
}
.p-about__shipSquare {
  font-size: 15px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #2FAECB;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  border: 2px solid #2FAECB;
  border-radius: 16px;
  max-width: 118px;
  width: 100%;
  height: 132px;
  line-height: 132px;
  display: block;
  position: relative;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .p-about__shipSquare {
    max-width: 300px;
    height: 90px;
    line-height: 89px;
    font-size: 18px;
    border-radius: 15px;
  }
}
.p-about__shipSquare::after {
  position: absolute;
  content: "";
  background: url(../img/about/icon_arrow_blue.svg);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  width: 17px;
  height: 15px;
}
@media screen and (min-width: 1024px) {
  .p-about__shipSquare::after {
    bottom: -32px;
    background-size: cover;
  }
}
.p-about__shipRight {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-about__shipRight {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
    width: 100%;
    align-items: center;
  }
}
.p-about__shipRightTitle {
  font-size: 15px;
  letter-spacing: 0.02em;
  font-weight: 600;
  text-align: center;
  color: #FFF;
  background: #2FAECB;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 8px 0 9px;
  min-height: 38px;
  line-height: 1.3333333333;
}
@media screen and (min-width: 1024px) {
  .p-about__shipRightTitle {
    max-width: 300px;
    width: 100%;
    height: 90px;
    padding: 0;
    border-radius: 15px;
    line-height: 90px;
    font-size: 18px;
    place-items: center;
    margin-bottom: 0;
  }
}
.p-about__shipRightText {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .p-about__shipRightText {
    margin-top: -7px;
    font-size: 18px;
    width: 100%;
    line-height: 1.6666666667;
    letter-spacing: 0.02em;
  }
}
.purpose-bg {
  padding: 100px 0;
}

.purpose-bg-white {
  background-color: #ffffff;
  padding: 20px 0;
}

.purpose-bg-blue {
  background-color: #2FAECB;
  padding: 20px 0;
  color: #FFF;
}

.purpose-bg-inner {
  width: 1024px;
  margin: 0 auto;
  text-align: center;
}

.purpose-title {
  font-size: 35px;
  font-weight: bold;
  padding-top: 100px;
}

.purpose-title-en {
  font-size: 20px;
  padding-top: 10px;
}

.purpose-maintext-en {
  font-size: 38px;
  font-weight: bold;
  padding-top: 30px;
  padding-bottom: 50px;
  line-height: 1.6;
}

.purpose-maintext {
  font-size: 22px;
  padding-bottom: 90px;
  line-height: 1.7;
}

@media only screen and (max-width: 425px) {
  .purpose-bg {
    padding: 80px 0;
  }
  .purpose-bg-white {
    background-color: #ffffff;
    padding: 10px 0;
  }
  .purpose-bg-blue {
    background-color: #2FAECB;
    padding: 10px 0;
    color: #FFF;
  }
  .purpose-bg-inner {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
  .purpose-title {
    font-size: 25px;
    padding-top: 40px;
  }
  .purpose-title-en {
    font-size: 18px;
    padding-top: 10px;
  }
  .purpose-maintext-en {
    font-size: 23px;
    padding-top: 30px;
    padding-bottom: 25px;
    line-height: 1.6;
  }
  .purpose-maintext {
    font-size: 15px;
    padding-bottom: 40px;
    line-height: 1.7;
  }
}

/* well-being */
.txt_right {
  text-align: right;
}

