@charset "UTF-8";
html {
  font-size: 100%;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3617021277vw;
  }
}
@media (min-width: 1175px) {
  html {
    font-size: 100%;
  }
}

body {
  font-family: "Zen Maru Gothic", serif;
  color: #000;
}

@media screen and (min-width: 768px) {
  a,
  button {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a:hover,
  button:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}

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

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

.fadeIn {
  -webkit-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0);
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
}

.fadeIn.animated {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

/*左から右テキストエフェクト*/
.leftAnime {
  opacity: 0;
  overflow: hidden;
  display: inline-block;
}

.leftAnimeInner {
  display: inline-block;
}

.slideAnimeLeftRight {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideTextX100 {
  from {
    -webkit-transform: translateX(-70%);
            transform: translateX(-70%);
    /*要素を左の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
}

@keyframes slideTextX100 {
  from {
    -webkit-transform: translateX(-70%);
            transform: translateX(-70%);
    /*要素を左の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
}
.slideAnimeRightLeft {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideTextX-100 {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    /*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
}

@keyframes slideTextX-100 {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    /*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
}
/* animation */
@-webkit-keyframes passing-bar {
  0% {
    left: 0;
    right: auto;
    width: 0;
  }
  50% {
    left: 0;
    right: auto;
    width: 100%;
  }
  51% {
    left: auto;
    right: 0;
    width: 100%;
  }
  100% {
    left: auto;
    right: 0;
    width: 0;
  }
}
@keyframes passing-bar {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
@-webkit-keyframes passing-txt {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes passing-txt {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* css */
.passing .passing-box {
  display: block;
  text-align: center;
}

.passing .passing-bar {
  position: relative;
  display: inline-block;
  /*　後ほど解説　*/
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.passing .passing-bar:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  /* 任意の値 */
  background: -webkit-gradient(linear, left top, right top, color-stop(0.15%, #08AAB5), color-stop(99.83%, #0058C0));
  background: linear-gradient(90deg, #08AAB5 0.15%, #0058C0 99.83%);
}

.passing .passing-txt {
  opacity: 0;
  /* 後ほど解説 */
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  /* 任意の値 */
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.5;
}

.passing.move .passing-bar:before {
  -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
  animation: passing-bar 1s ease 0s 1 normal forwards;
}

.passing.move .passing-txt {
  -webkit-animation: passing-txt 0s ease 0.5s 1 normal forwards;
  animation: passing-txt 0s ease 0.5s 1 normal forwards;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

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

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.l-inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1175px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.c-btn {
  display: inline-block;
  background: #66B9D9;
  color: #fff;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.5882352941;
  letter-spacing: 0.02em;
  padding: 0.9375rem 2.5rem;
  border-radius: 30px;
  position: relative;
}

.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.4375rem;
  height: 0.875rem;
  background: url("../img/arrow.svg") no-repeat center/contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-btn--tel {
  padding-left: 3.75rem;
}

.c-btn--tel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.5625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.3125rem;
  height: 1.3125rem;
  background: url("../img/phone_wht.svg") no-repeat center/contain;
}

.c-btn--tel::after {
  display: none;
}

.c-btn--mail {
  padding-left: 3.75rem;
  padding-right: 3.125rem;
}

.c-btn--mail::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.5625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.3125rem;
  height: 1.3125rem;
  background: url("../img/mail_wht.svg") no-repeat center/contain;
}

.c-btn--dm {
  padding-left: 3.75rem;
  padding-right: 3.125rem;
}

.c-btn--dm::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.5625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.3125rem;
  height: 1.3125rem;
  background: url("../img/instagram_wht.svg") no-repeat center/contain;
}

.c-card {
  display: inline-block;
  background: #fff;
  border-radius: 30px;
  position: relative;
}

.c-card__number {
  content: "";
  position: absolute;
  top: -1.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 3.4375rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 0.9454545455;
  color: #66B9D9;
}

.c-card__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 350/188;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card__body {
  padding: 1.25rem;
}

.c-card__read {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-align: center;
  color: #66B9D9;
  white-space: nowrap;
}

.c-card__text {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.5882352941;
  letter-spacing: -0.1em;
}

.c-card--pink .c-card__number,
.c-card--pink .c-card__read {
  color: #EBA3AB;
}

.c-card--orange .c-card__number,
.c-card--orange .c-card__read {
  color: #EEC15A;
}

.c-section-title {
  font-size: 1.8125rem;
  line-height: 0.9310344828;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  position: relative;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .c-section-title {
    padding-bottom: 2.5rem;
  }
}

.c-section-title span {
  color: #436CBB;
}

.c-section-title::before {
  content: attr(data-en);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.25rem;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.14em;
  white-space: nowrap;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .c-section-title::before {
    font-size: 1rem;
    letter-spacing: 0.14em;
    line-height: 2;
  }
}

.p-concept {
  padding: 3.4375rem 0 13.5625rem;
  background: url("../img/sp_concept_bg.png") no-repeat center bottom/cover;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-concept {
    background: url("../img/concept.jpg") no-repeat center/cover;
    padding: 6.875rem 0 29.8125rem;
  }
}

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

.p-concept__read {
  margin-top: 2.1875rem;
  text-align: center;
  font-size: 1.375rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  position: relative;
  display: inline-block;
  padding: 0 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-concept__read {
    font-size: 1.8125rem;
    line-height: 0.9655172414;
    letter-spacing: 0;
    padding: 0 3.125rem;
  }
}

.p-concept__read::before {
  content: "『";
  position: absolute;
  top: -0.625rem;
  left: 0;
  font-size: 1.375rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 0.9655172414;
  color: #436CBB;
}
@media screen and (min-width: 768px) {
  .p-concept__read::before {
    font-size: 1.8125rem;
  }
}

.p-concept__read::after {
  content: "』";
  position: absolute;
  bottom: -0.625rem;
  right: 0;
  font-size: 1.375rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 0.9655172414;
  color: #436CBB;
}
@media screen and (min-width: 768px) {
  .p-concept__read::after {
    font-size: 1.8125rem;
  }
}

.p-concept__read span {
  color: #436CBB;
}

.p-concept__text {
  margin-top: 2.1875rem;
  text-align: center;
  font-size: 1.0625rem;
  line-height: 1.5882352941;
  letter-spacing: -0.02em;
}
@media screen and (min-width: 768px) {
  .p-concept__text {
    letter-spacing: 0;
  }
}

.p-feature {
  padding: 3.75rem 0;
  background: url("../img/sp_pattern_bg.jpg") no-repeat center/cover;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-feature {
    padding: 4.625rem 0;
    background: url("../img/feature_bg.jpg") no-repeat center/cover;
  }
}

@media screen and (min-width: 768px) {
  .p-feature::before {
    content: "";
    position: absolute;
    bottom: 14%;
    left: 5%;
    width: 12.5625rem;
    height: 14.1875rem;
    background: url("../img/shellfish.png") no-repeat center/contain;
  }
}

@media screen and (min-width: 768px) {
  .p-feature::after {
    content: "";
    position: absolute;
    bottom: 14%;
    right: 5%;
    width: 12.9375rem;
    height: 14.25rem;
    background: url("../img/starfish.png") no-repeat center/contain;
  }
}

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

.p-feature__container {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-feature__items {
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
  row-gap: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; /* 複数行に折り返す */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* 各行のアイテムを中央寄せ */
}
@media screen and (min-width: 768px) {
  .p-feature__items {
    row-gap: 4.375rem;
    position: relative;
    z-index: 1;
  }
}

.p-feature__item {
  max-width: 21.875rem;
}

.p-flow {
  padding: 3.4375rem 0;
  background: url("../img/sp_pattern_bg.jpg") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-flow {
    padding: 6.25rem 0;
    background: url("../img/feature_bg.jpg") no-repeat center/cover;
  }
}

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

.p-flow__read {
  margin-top: 1.5625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-flow__read {
    margin-top: 2.1875rem;
  }
}

.p-flow__container {
  margin-top: 1.875rem;
}

.p-flow__items {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-flow__items {
    grid-template-columns: repeat(4, 1fr);
    max-width: 58.125rem;
    margin-inline: auto;
  }
}

.p-flow__item {
  display: inline-block;
  border: 3px solid #66B9D9;
  background: #fff;
  border-radius: 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-flow__item {
    max-width: 12.5rem;
  }
}

.p-flow__item::after {
  content: "";
  position: absolute;
  bottom: -1.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
  width: 0.75rem;
  height: 1.5rem;
  background: url("../img/flow_arrow1.png") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-flow__item::after {
    top: 50%;
    left: unset;
    right: -1.875rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.p-flow__item-title {
  background: #66B9D9;
  border-radius: 16px 16px 0 0;
  text-align: center;
  color: #fff;
  padding: 0.1875rem;
}

.p-flow__item:nth-child(2) {
  border: 3px solid #5898CB;
}

.p-flow__item:nth-child(2) .p-flow__item-title {
  background: #5898CB;
}

.p-flow__item:nth-child(2)::after {
  background: url("../img/flow_arrow2.png") no-repeat center/contain;
}

.p-flow__item:nth-child(3) {
  border: 3px solid #4A7DBE;
}

.p-flow__item:nth-child(3) .p-flow__item-title {
  background: #4A7DBE;
}

.p-flow__item:nth-child(3)::after {
  background: url("../img/flow_arrow3.png") no-repeat center/contain;
}

.p-flow__item:nth-child(4) {
  border: 3px solid #436CBB;
}

.p-flow__item:nth-child(4) .p-flow__item-title {
  background: #436CBB;
}

.p-flow__item:nth-child(4)::after {
  display: none;
}

.p-flow__body {
  padding: 1.875rem 3.125rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-flow__body {
    padding: 1.875rem 0.9375rem 1.25rem;
  }
}

.p-flow__img {
  max-width: 4.8125rem;
  margin-inline: auto;
}

.p-flow__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 77/65;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-flow__text {
  margin-top: 1.5625rem;
  text-align: center;
}

.p-flow__bottom {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-flow__bottom {
    margin-top: 3.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-flow__btn .c-btn {
  background: #436CBB;
  width: 16.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-flow__btn .c-btn {
    width: 100%;
  }
}

.p-footer__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 414/380;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-footer__map iframe {
    aspect-ratio: 1424/380;
  }
}

.p-footer__inner {
  padding: 3.4375rem 0 0;
  background: url("../img/sp_ft_bg.jpg") no-repeat center/cover;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-footer__inner {
    padding: 3.75rem 0 0;
    background: url("../img/ft_bg1.jpg") no-repeat center/cover;
  }
}

.p-footer__inner::after {
  content: "";
  position: absolute;
  bottom: 2.4375rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 3.75rem;
  background: url("../img/ft_bg2.png") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-footer__inner::after {
    height: 5rem;
    background: url("../img/ft_bg2.png") no-repeat center/contain;
    bottom: 1.625rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-footer__inner::after {
    bottom: 2.4375rem;
  }
}

.p-footer__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-footer__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-footer__logo {
  max-width: 21.25rem;
}

.p-footer__btn a {
  background: #66B9D9;
  color: #fff;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.5882352941;
  letter-spacing: 0.02em;
  padding: 0.9375rem 2.5rem;
  border-radius: 30px;
}

.p-footer__container {
  margin-top: 2.1875rem;
  display: grid;
  gap: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-footer__container {
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem;
  }
}

.p-footer__left {
  background: #fff;
  border-radius: 20px;
  border: 3px solid #66B9D9;
  padding: 0.625rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
	display: flex;
	color: #1c1c1c;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-footer__left {
    padding: 1.875rem;
  }
}

.p-footer__tel {
  display: inline-block;
  font-size: 2.3125rem;
  font-weight: 500;
  line-height: 1.0810810811;
  letter-spacing: 0.06em;
  padding-left: 1.5625rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-footer__tel {
    line-height: 1.3513513514;
  }
}

.p-footer__tel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.375rem;
  height: 1.75rem;
  background: url("../img/phone_blue.svg") no-repeat center/contain;
}

.p-footer__text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.14em;
}

.p-footer__address {
  margin-top: 0.9375rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.5882352941;
  letter-spacing: -0.04em;
  font-style: normal;
}

.p-footer__right {
  background: #fff;
  border-radius: 20px;
  border: 3px solid #436CBB;
  padding: 1.25rem 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-footer__right {
    padding: 1.875rem;
  }
}

.p-footer__copyright {
  margin-top: 6.875rem;
  background: #66B9D9;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  text-align: center;
  color: #fff;
  padding: 0.3125rem 0;
}

.p-footer__copyright small {
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 2.8181818182;
  letter-spacing: 0.06em;
}

.p-form {
  padding: 3.4375rem 0;
}
@media screen and (min-width: 768px) {
  .p-form {
    padding: 6.25rem 0 7.8125rem;
  }
}

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

.p-form__read {
  margin-top: 1.5625rem;
  text-align: center;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.5882352941;
  letter-spacing: -0.06em;
}
@media screen and (min-width: 768px) {
  .p-form__read {
    margin-top: 2.5rem;
    line-height: 1.7647058824;
  }
}

.p-form__read span {
  color: #66B9D9;
}

.p-form__container iframe {
  width: 100%;
  min-height: 30rem;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border: none;
  padding: 0;
  overflow: hidden;
}

.p-form__container iframe .mw_wp_form_complete {
  max-height: 12.5rem;
  text-align: center;
  margin-top: 6.25rem;
}

.Form {
  margin-top: 3.5rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 93rem;
}

@media screen and (max-width: 768px) {
  .Form {
    margin-top: 2.5rem;
  }
}
.Form-Item {
  padding-top: 1.5rem;
  padding-top: 1.0980966325vw;
  padding-bottom: 1.5rem;
  padding-bottom: 1.0980966325vw;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.7rem;
  font-size: 1.2445095168vw;
}

@media screen and (max-width: 768px) {
  .Form-Item {
    padding-top: 1rem;
    padding-bottom: 1rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 1.5rem;
    font-size: 3.6231884058vw;
  }
}
.Form-Item-Label {
  width: 100%;
  max-width: 27.2rem;
  letter-spacing: 0.06em;
  font-weight: bold;
  font-size: 1.7rem;
  font-size: 1.2445095168vw;
  line-height: 1.8235294118;
}

@media screen and (max-width: 768px) {
  .Form-Item-Label {
    max-width: inherit;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.5rem;
    font-size: 3.6231884058vw;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}

@media screen and (max-width: 768px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  display: inline-block;
  text-align: center;
  color: #66B9D9;
  font-size: 1.6rem;
  font-size: 1.1713030747vw;
}

@media screen and (max-width: 768px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
  }
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding-right: 1em;
  padding-left: 1rem;
  height: 4.4rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  background: #F2F3F5;
  font-size: 1.6rem;
  font-size: 1.1713030747vw;
}

@media screen and (max-width: 768px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 1rem;
    height: 4rem;
    -webkit-box-flex: inherit;
        -ms-flex: inherit;
            flex: inherit;
    font-size: 1.5rem;
    font-size: 3.6231884058vw;
  }
}
.Form-Item-Input--year {
  max-width: 14.1rem;
  margin-right: 1rem;
}

.Form-Item-Input--tel {
  max-width: 31.5rem;
}

.Form-Item-Input__container {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .Form-Item-Input__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.Form-Item-Input__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .Form-Item-Input__wrap {
    width: 50%;
  }
}

.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 16rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  background: #F2F3F5;
  font-size: 1.7rem;
  font-size: 1.2445095168vw;
}

@media screen and (max-width: 768px) {
  .Form-Item-Textarea {
    margin-top: 1.8rem;
    margin-left: 0;
    height: 20rem;
    -webkit-box-flex: inherit;
        -ms-flex: inherit;
            flex: inherit;
    font-size: 1.5rem;
    font-size: 3.6231884058vw;
  }
}
.Form-Btn.c-btn {
  margin-top: 4.8rem;
  margin-inline: auto;
  display: block;
  background: #436CBB;
  padding: 1.5rem 6rem;
  position: relative;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  font-size: 3.6231884058vw;
}
@media screen and (min-width: 768px) {
  .Form-Btn.c-btn {
    font-size: 1.2445095168vw;
  }
}

.Form-Btn.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.7rem;
  height: 1.4rem;
  background: url("../img/arrow.svg") no-repeat center/contain;
}

.Form-Checkbox {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem; /* 各チェックボックス間の余白 */
}
@media screen and (min-width: 768px) {
  .Form-Checkbox {
    margin-top: 0;
  }
}
.Form-Checkbox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem; /* チェックボックスとテキストの間の余白 */
  cursor: pointer;
}
.Form-Checkbox label input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; /* ブラウザのデフォルトスタイルを無効化 */
  width: 2.4rem; /* チェックボックスの幅 */
  height: 2.4rem; /* チェックボックスの高さ */
  border: 2px solid #66B9D9; /* 枠線 */
  border-radius: 50%; /* 丸くする */
  background-color: #fff; /* 背景色 */
  position: relative;
  outline: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.Form-Checkbox label input[type=radio]:checked {
  background-color: #fff; /* チェック時の背景色 */
  border-color: #66B9D9; /* チェック時の枠線色 */
}
.Form-Checkbox label input[type=radio]:checked::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #66B9D9; /* チェックマークの色 */
  border-radius: 50%; /* チェックを丸くする */
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.Form-Checkbox label .checkbox-text {
  font-size: 1rem;
  color: #333;
}

.p-form__text input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; /* デフォルトのチェックスタイルをリセット */
  width: 2.4rem; /* チェックボックスの幅 */
  height: 2rem; /* チェックボックスの高さ */
  border: 2px solid #66B9D9; /* 枠線の色 */
  border-radius: 3px; /* 角丸3px */
  background-color: #fff; /* 背景色 */
  position: relative;
  outline: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.p-form__text input[type=checkbox]:checked {
  background-color: #66B9D9; /* チェック時の背景色 */
  border-color: #66B9D9; /* チェック時の枠線色 */
}
.p-form__text input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background-color: #fff; /* チェックマークの色 */
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-clip-path: polygon(14% 44%, 0% 60%, 50% 100%, 100% 30%, 84% 16%, 50% 75%);
          clip-path: polygon(14% 44%, 0% 60%, 50% 100%, 100% 30%, 84% 16%, 50% 75%);
}

.p-form__text {
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem; /* チェックボックスとテキストの間の余白 */
}
.p-form__text input[type=checkbox] {
  margin-right: 0.5rem;
}
.p-form__text label {
  font-size: 3.6231884058vw;
  line-height: 1.5882352941;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-form__text label {
    font-size: 1.2445095168vw;
  }
}

input[type=submit] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.lp-form h3 {
  text-align: center;
  padding-top: 13rem;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .lp-form h3 {
    padding-top: 15rem;
    font-size: 2rem;
  }
}

.p-header-nav {
  height: 100dvh;
  width: 100%;
  overflow: auto;
  margin-top: 4.25rem;
  padding-top: 2.1875rem;
  padding-left: 1.0625rem;
  padding-right: 1.0625rem;
  padding-bottom: 6.25rem;
  background: #436CBB;
}
@media screen and (min-width: 768px) {
  .p-header-nav {
    margin-top: 0;
    padding-top: 0;
    height: inherit;
    margin-left: 1.875rem;
    padding-right: 0;
    padding-bottom: 0;
    width: 100%;
    overflow: visible;
    overflow: initial;
    background: rgba(255, 255, 255, 0);
  }
}

.p-header-nav__wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-header-nav__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
  }
}

.p-header-nav__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-header-nav__items {
    gap: 1.5625rem;
    gap: clamp(10px, 1.5vw, 25px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: -0.9375rem;
  }
}

.p-header-nav__item {
  text-align: center;
}

.p-header-nav__item:nth-child(n+2) {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-header-nav__item:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-header-nav__item--btn.sp {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-header-nav__item--btn.sp {
    margin-top: 0;
  }
}

.p-header-nav__item a {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.02em;
  padding-bottom: 1.25rem;
  position: relative;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-header-nav__item a {
    color: #000;
    font-size: 0.875rem;
    font-size: clamp(8px, 1vw, 14px);
    font-weight: 500;
    line-height: 1.9285714286;
  }
}

@media screen and (min-width: 768px) {
  .p-header-nav__item a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0.75rem;
    height: 0.8125rem;
    background: url("../img/tooth.svg") no-repeat center/contain;
  }
}

@media screen and (min-width: 768px) {
  .p-header-nav__item a:hover::after {
    background: url("../img/tooth_2.svg") no-repeat center/contain;
  }
}

.p-header-nav__item:nth-child(n+2).p-header-nav__item--btn {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .p-header-nav__item:nth-child(n+2).p-header-nav__item--btn {
    margin-top: 0.9375rem;
  }
}

.p-header-nav__item--btn a {
  background: #fff;
  color: #436CBB;
  padding: 0.875rem 1.5625rem 0.8125rem 1.5625rem;
  border-radius: 25px;
  position: relative;
  display: inline-block;
  white-space: nowrap;
  width: 16.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-header-nav__item--btn a {
    background: #436CBB;
    color: #fff;
    width: unset;
    padding: 0.875rem 1.5625rem 0.8125rem 3.75rem;
  }
}

.p-header-nav__item--btn a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.5rem;
  height: 0.9375rem;
  z-index: 1;
  background: url("../img/arrow-blue.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-header-nav__item--btn a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: unset;
    left: 1.25rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.125rem;
    height: 1.0625rem;
    z-index: 1;
    background: url("../img/pc.svg") no-repeat center/contain;
  }
}

.p-header-nav__item--btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.375rem;
  height: 2.375rem;
  background: #fff;
  border-radius: 50%;
}

.p-header-nav__item--btn a:hover::after {
  background: #fff;
}

.p-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 4.25rem;
  z-index: 100;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-header {
    height: 5.9375rem;
  }
}

.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-left: 1.25rem;
  padding-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-header__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 1.25rem 2.1875rem 1.25rem;
  }
}

.p-header__logo {
  z-index: 99;
}
.p-header__logo img {
  max-width: 11.25rem;
}
@media screen and (min-width: 768px) {
  .p-header__logo img {
    max-width: 14.375rem;
  }
}

.p-header__nav {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 50;
}
@media screen and (min-width: 768px) {
  .p-header__nav {
    display: block;
    position: static;
  }
}

.p-header__hamburger {
  position: absolute;
  top: 0.625rem;
  right: 1.25rem;
  z-index: 100;
  height: 2.875rem;
  text-align: left;
  background: #436CBB;
  border-radius: 50%;
  width: 2.875rem;
  padding-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-header__hamburger {
    display: none;
  }
}

.p-header__hamburger-text {
  margin-top: 0.3125rem;
  font-size: 0.625rem;
  color: #fff;
  display: block;
  text-align: center;
  pointer-events: none;
}

.p-header__hamburger span {
  width: 1.5625rem;
  height: 0.125rem;
  background-color: #fff;
  display: block;
  border-radius: 0.125rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}

.p-header__hamburger span:nth-child(2) {
  margin-top: 6px;
}

.p-header__hamburger.open span:nth-child(1) {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  top: 2px;
}

.p-header__hamburger.open span:nth-child(2) {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  top: -6px;
}

/* 特定セクションでのスタイル */
@media screen and (min-width: 768px) {
  .p-header.is-active .p-header__hamburger span {
    background: -webkit-gradient(linear, left top, right top, color-stop(0.15%, #08AAB5), color-stop(99.83%, #0058C0));
    background: linear-gradient(90deg, #08AAB5 0.15%, #0058C0 99.83%);
  }
}

@media screen and (min-width: 768px) {
  .p-header.is-active .p-header-nav__item {
    background: -webkit-gradient(linear, left top, right top, color-stop(0.15%, #08AAB5), color-stop(99.83%, #0058C0));
    background: linear-gradient(90deg, #08AAB5 0.15%, #0058C0 99.83%);
    -webkit-background-clip: text;
    color: transparent;
    background-clip: text;
  }
}

.p-header.is-active .p-header-nav__item--btn {
  color: #fff;
}

.p-ideal {
  padding: 3.75rem 0;
  background: url("../img/sp_ideal_bg.png") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-ideal {
    background: none;
    position: relative;
    padding: 6.25rem 0;
  }
}

.p-ideal::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28.125rem;
  height: 35rem;
  z-index: -1;
  background: url("../img/ideal_3.png") no-repeat center/contain;
}

.p-ideal::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 3.125rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 15.5625rem;
  height: 36.25rem;
  z-index: -1;
  background: url("../img/ideal_2.png") no-repeat center/contain;
}

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

.p-ideal__container {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-ideal__container {
    margin-top: -1.25rem;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}

.p-ideal__img {
  margin-left: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .p-ideal__img {
    width: 50%;
    margin-left: unset;
  }
}

@media screen and (min-width: 768px) {
  .p-ideal__body {
    width: 50%;
    padding-left: 3.4375rem;
  }
}

.p-ideal__item {
  padding-left: 3.75rem;
  position: relative;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.5882352941;
  letter-spacing: -0.06em;
}
@media screen and (min-width: 768px) {
  .p-ideal__item {
    padding-left: 4.0625rem;
  }
}

.p-ideal__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.8125rem;
  height: 2.8125rem;
  background: url("../img/check_1.png") no-repeat center/contain;
}

.p-ideal__item:nth-child(even):before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.8125rem;
  height: 2.8125rem;
  background: url("../img/check_2.png") no-repeat center/contain;
}

.p-ideal__item:nth-child(n+2) {
  margin-top: 1.5625rem;
}

.p-information {
  padding: 3.75rem 0 6.25rem;
  background: #F4F1EB;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-information {
    padding: 5rem 0 11.0625rem;
  }
}

.p-information::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 7.9375rem;
  height: 7.9375rem;
  background: url("../img/infomation_1.png") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-information::before {
    width: 16.25rem;
    height: 15.625rem;
  }
}

.p-information::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 7.9375rem;
  height: 7.9375rem;
  background: url("../img/infomation_1.png") no-repeat center/contain;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 768px) {
  .p-information::after {
    width: 16.25rem;
    height: 15.625rem;
  }
}

.p-information__bg {
  position: relative;
}

.p-information__bg::before {
  content: "";
  position: absolute;
  bottom: -6.5rem;
  left: 0;
  width: 5.875rem;
  height: 7.5rem;
  background: url("../img/infomation_4.png") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-information__bg::before {
    bottom: -11.0625rem;
    width: 20.25rem;
    height: 24.0625rem;
  }
}

.p-information__bg::after {
  content: "";
  position: absolute;
  bottom: -6.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 7.6875rem;
  height: 3.75rem;
  background: url("../img/schedule_5.png") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-information__bg::after {
    bottom: -11.0625rem;
    width: 20.875rem;
    height: 8.8125rem;
  }
}

.p-information__bg2 {
  position: relative;
}

.p-information__bg2::before {
  content: "";
  position: absolute;
  bottom: -6.5rem;
  right: 0;
  width: 5.875rem;
  height: 7.5rem;
  background: url("../img/infomation_4.png") no-repeat center/contain;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 768px) {
  .p-information__bg2::before {
    bottom: -11.0625rem;
    width: 20.25rem;
    height: 24.0625rem;
  }
}

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

.p-information__container {
  margin-top: 2.5rem;
  position: relative;
  z-index: 1;
}

.p-information__contents:nth-child(n+2) {
  margin-top: 4.0625rem;
}
@media screen and (min-width: 768px) {
  .p-information__contents:nth-child(n+2) {
    margin-top: 6.25rem;
  }
}

.p-information__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-information__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-information__body {
  padding: 1.25rem 0.9375rem;
  background: #fff;
  border-radius: 20px 20px 0 0;
}
@media screen and (min-width: 768px) {
  .p-information__body {
    width: 50%;
    border-radius: 20px 0 0 20px;
    padding: 2.1875rem 1.25rem;
  }
}

.p-information__name {
  font-size: 1.8125rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 0.9310344828;
  letter-spacing: 0.04em;
  color: #436CBB;
}

.p-information__name span {
  font-size: 1rem;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  line-height: 1.6875;
  letter-spacing: 0.14em;
  color: #000;
  display: inline-block;
  margin-left: 0.625rem;
}

.p-information__text {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .p-information__text {
    margin-top: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-information__img {
    width: 50%;
  }
}

.p-information__img source,
.p-information__img img {
  border-radius: 0 0 20px 20px;
}
@media screen and (min-width: 768px) {
  .p-information__img source,
  .p-information__img img {
    border-radius: 0 20px 20px 0;
  }
}

.p-information__btn {
  margin-top: 2.5rem;
  text-align: center;
}

.p-information__btn .c-btn {
  background: #436CBB;
}

.p-information__contents2 .tab-title.selected {
  background: #66B9D9;
}

.p-information__contents2 .p-information__btn .c-btn {
  background: #66B9D9;
}

.p-information__contents2 .p-information__name {
  color: #66B9D9;
}

.p-information__contents2 .tab-list dt {
  color: #66B9D9;
}

.tab-contents {
  margin-top: 2.5rem;
}

.tab-title-list {
  display: grid;
  gap: 0.125rem;
}
@media screen and (min-width: 768px) {
  .tab-title-list {
    grid-template-columns: repeat(3, 1fr);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.tab-title {
  padding: 0.625rem;
  text-align: center;
  background: #DADADA;
  font-size: 0.8125rem;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  line-height: 2.6153846154;
  letter-spacing: 2.6px;
  color: #fff;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, .25);
}
@media screen and (min-width: 768px) {
  .tab-title {
    min-width: 17rem;
    padding: 0.9375rem 0;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.02em;
  }
}

.tab-title.selected {
  background: #436CBB;
  color: #fff;
}

.tab-main {
  margin-inline: auto;
  background: #fff;
  padding: 1.5625rem;
  max-height: 39rem;
  overflow-y: scroll;
}

.tab-list {
  display: none;
}

.tab-list.show {
  display: block;
}

.tab-list dl {
  display: grid;
}
@media screen and (min-width: 768px) {
  .tab-list dl {
    grid-template-columns: 225px 1fr;
    gap: 0.625rem;
  }
}

.tab-list dt {
  padding: 0.625rem 1.5625rem;
  border-top: 2px solid #DADADA;
  color: #436CBB;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .tab-list dt {
    padding: 1.25rem 1.5625rem;
  }
}

.tab-list dd {
  padding: 0.625rem 0.625rem;
  border-top: 2px solid #DADADA;
}
@media screen and (min-width: 768px) {
  .tab-list dd {
    padding: 1.25rem 1.5625rem;
  }
}

.p-message {
  padding: 2.8125rem 0 2.5rem;
  overflow: hidden;
  background: url("../img/sp_message.png") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-message {
    padding: 7.1875rem 0 6.25rem;
    background: none;
  }
}

.p-message__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-message__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-message__body {
    width: 46.2222222222%;
    position: relative;
  }
}

.p-message__body::before {
  content: "";
  position: absolute;
  bottom: -15%;
  left: -15%;
  width: 18.75rem;
  height: 18.75rem;
  z-index: -1;
  background: url("../img/message_4.png") no-repeat center/contain;
}

@media screen and (min-width: 768px) {
  .p-message__body::after {
    content: "";
    position: absolute;
    top: -15%;
    right: -10%;
    width: 15.625rem;
    height: 15.625rem;
    z-index: -1;
    background: url("../img/message_3.png") no-repeat center/contain;
  }
}

.p-message__title .c-section-title::before {
  left: 0;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.p-message__read {
  margin-top: 2.1875rem;
  font-size: 1.75rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  line-height: 1.6785714286;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-message__read {
    margin-top: 1.875rem;
    font-size: 2rem;
    line-height: 1.5;
  }
}

.p-message__read span {
  color: #436CBB;
}

.p-message__text {
  margin-top: 2.1875rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6470588235;
  letter-spacing: -0.04em;
}
@media screen and (min-width: 768px) {
  .p-message__text {
    margin-top: 1.875rem;
    letter-spacing: 0.02em;
  }
}

.p-message__img {
  margin-right: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .p-message__img {
    width: 52.7111111111%;
    position: relative;
    margin-right: unset;
  }
}

@media screen and (min-width: 768px) {
  .p-message__img::before {
    content: "";
    position: absolute;
    top: -15%;
    right: -10%;
    width: 8.625rem;
    height: 8.625rem;
    z-index: -1;
    background: url("../img/message_5.png") no-repeat center/contain;
  }
}

.p-message__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 593/435;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mv {
  position: relative;
  height: 100dvh;
  width: 100%;
  aspect-ratio: 414/626;
  background: url("../img/sp_main.jpg") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-mv {
    height: 100%;
    aspect-ratio: 1366/518;
    background: url("../img/main.jpg") no-repeat center/cover;
  }
}

.p-mv__container {
  content: "";
  position: absolute;
  top: 52%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-mv__container {
    top: 72%;
  }
}

.p-mv__title {
  text-align: center;
  font-size: 2.1875rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  line-height: 1.2702702703;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: 1px 1px 10px #66B9D9;
}
@media screen and (min-width: 768px) {
  .p-mv__title {
    font-size: 2.75rem;
    line-height: 0.6818181818;
  }
}

.p-mv__title--pink {
  text-shadow: 1px 1px 10px #EBA3AB;
}

.p-mv__title--orange {
  text-shadow: 1px 1px 10px #EEC15A;
}

.p-mv__title .pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-mv__title .pc-only {
    display: inline;
  }
}

.p-mv__items {
  margin-top: 5rem;
  text-align: center;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-mv__items {
    margin-top: 3.125rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    max-width: 62.5rem;
  }
}

.p-mv__item {
  position: relative;
  z-index: -1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.0714285714;
  letter-spacing: 0.04em;
  background: #fff;
  padding: 0.625rem 0.625rem 0.75rem 2.1875rem;
  display: inline-block;
  z-index: -2;
  white-space: nowrap;
  width: 16.25rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-mv__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: unset;
    font-size: 1.25rem;
    line-height: 1.35;
  }
}

.p-mv__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.9375rem;
  height: 0.9375rem;
  background: url("../img/check_blue.png") no-repeat center/contain;
}

.p-mv__item--orange::before {
  background: url("../img/check_yellow.png") no-repeat center/contain;
}

.p-mv__item--pink::before {
  background: url("../img/check_pink.png") no-repeat center/contain;
}

.p-mv__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background: #66B9D9;
}

.p-mv__item--orange::after {
  background: #EEC15A;
}

.p-mv__item--pink::after {
  background: #EBA3AB;
}

.p-mv__item span {
  color: #66B9D9;
}

.p-mv__item--pink span {
  color: #EBA3AB;
}

.p-mv__item--orange span {
  color: #EEC15A;
}

.p-schedule {
  padding: 3.75rem 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-schedule {
    padding: 6.25rem 0;
  }
}

.p-schedule::before {
  content: "";
  position: absolute;
  top: 33.75rem;
  right: 0;
  width: 7.5rem;
  height: 9rem;
  background: url("../img/sp_fish.png") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-schedule::before {
    top: 5rem;
    right: unset;
    left: 0;
    width: 13.125rem;
    height: 27.25rem;
    background: url("../img/fish_bg1.png") no-repeat center/contain;
  }
}

@media screen and (min-width: 768px) {
  .p-schedule::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 8.25rem;
    height: 27.5rem;
    background: url("../img/fish_bg2.png") no-repeat center/contain;
  }
}

.p-schedule__bg {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-schedule__bg::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 13.125rem;
    height: 27.25rem;
    background: url("../img/fish_bg1.png") no-repeat center/contain;
  }
}

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

.p-schedule__head {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-schedule__head {
    gap: 0.3125rem;
    margin-top: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    max-width: 58.75rem;
    margin-left: auto;
    margin-right: 1.875rem;
  }
}

.p-schedule__name {
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 2.0526315789;
  letter-spacing: 0.06em;
}

.p-schedule__name span {
  display: inline-block;
  background: #EEC15A;
  color: #fff;
  border-radius: 20px;
  padding: 0.3125rem 1.875rem;
  margin-left: 1.25rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .p-schedule__name span {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.8;
  }
}

.p-schedule__head-text {
  margin-top: 0.9375rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.5882352941;
  letter-spacing: -0.06em;
}
@media screen and (min-width: 768px) {
  .p-schedule__head-text {
    margin-top: 1.25rem;
  }
}

.p-schedule__head-text span {
  color: #EEC15A;
  font-weight: 500;
}

.p-schedule__head-img {
  max-width: 22.3125rem;
}

.p-schedule__head-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 357/270;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-schedule__container {
  margin-top: 2.5rem;
}

.p-schedule__items {
  position: relative;
  z-index: 1;
}

.p-schedule__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.25rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-schedule__wrap {
    max-width: 100%;
  }
}

.p-schedule__wrap:nth-child(n+2) {
  margin-top: 1.875rem;
}

.p-schedule__icon {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-schedule__icon {
    width: 10.0444444444%;
  }
}

.p-schedule__icon::after {
  content: "";
  position: absolute;
  bottom: -35.625rem;
  left: 43%;
  width: 0.3125rem;
  height: 34.75rem;
  background: url("../img/sp_dot.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-schedule__icon::after {
    left: 32%;
    bottom: -11.875rem;
    height: 11rem;
    background: url("../img/dot.svg") no-repeat center/contain;
  }
}

.p-schedule__wrap:last-child .p-schedule__icon::after {
  display: none;
}

.p-schedule__icon img {
  max-width: 2.6875rem;
}
@media screen and (min-width: 768px) {
  .p-schedule__icon img {
    max-width: 4.8125rem;
  }
}

.p-schedule__item {
  padding: 0.9375rem;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.9375rem;
  background: #EDF5F8;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-schedule__item {
    gap: 1.5625rem;
    padding: 1.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 87.4666666667%;
  }
}

.p-schedule__item::after {
  content: "01";
  position: absolute;
  top: -1.25rem;
  right: 0;
  font-size: 6.75rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-schedule__item::after {
    font-size: 9.375rem;
  }
}

.p-schedule__item::before {
  content: "";
  position: absolute;
  bottom: -1.375rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4.375rem;
  height: 1.375rem;
  aspect-ratio: 1/0.8660254038;
  -webkit-clip-path: polygon(50% 100%, 100% 0, 0 0);
          clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: #EDF5F8;
}

.p-schedule__wrap:nth-child(even) .p-schedule__item {
  background: #ECF0F8;
}

.p-schedule__wrap:nth-child(even) .p-schedule__item::before {
  background: #ECF0F8;
}

.p-schedule__wrap:last-child .p-schedule__item::before {
  display: none;
}

.p-schedule__wrap:nth-child(2) .p-schedule__item::after {
  content: "02";
}

.p-schedule__wrap:nth-child(3) .p-schedule__item::after {
  content: "03";
}

.p-schedule__wrap:nth-child(4) .p-schedule__item::after {
  content: "04";
}

.p-schedule__img {
  max-width: 18.5625rem;
}

.p-schedule__read {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.2727272727;
  letter-spacing: 0.04em;
  color: #66B9D9;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}

.p-schedule__wrap:nth-child(even) .p-schedule__read {
  color: #436CBB;
}

.p-schedule__read span {
  background: #66B9D9;
  color: #fff;
  padding: 0.125rem 0.9375rem;
  border-radius: 10px;
  display: inline-block;
  margin-bottom: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-schedule__read span {
    margin-right: 0.9375rem;
    padding: 0.3125rem 1.5625rem;
  }
}

.p-schedule__wrap:nth-child(even) .p-schedule__read span {
  background: #436CBB;
}

.p-schedule__text {
  margin-top: 0.625rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.5882352941;
  letter-spacing: -0.1em;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-schedule__text {
    margin-top: 1.25rem;
    letter-spacing: -0.08em;
  }
}

.p-voice {
  padding: 3.75rem 0;
  background: url("../img/sp_voice_bg.jpg") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-voice {
    padding: 5rem 0;
    background: url("../img/voice_bg.jpg") no-repeat center/cover;
  }
}

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

.p-voice__container {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-voice__container {
    margin-top: 0;
  }
}

.p-voice__items {
  max-width: 31.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-voice__items {
    max-width: 100%;
  }
}

.p-voice__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5625rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-voice__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-voice__item:nth-child(n+2) {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-voice__item:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-voice__item:nth-child(even) {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-voice__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .p-voice__img {
    width: 31.1111111111%;
  }
}

.p-voice__body {
  background: #fff;
  border-radius: 20px;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice__body {
    width: 64%;
    padding: 1.875rem;
  }
}

.p-voice__name {
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 2.0526315789;
  letter-spacing: 0.06em;
}

.p-voice__name span {
  display: inline-block;
  margin-left: 0.9375rem;
  padding: 0.1875rem 2.1875rem;
  color: #fff;
  border-radius: 20px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

.p-voice__name--pink span {
  background: #EBA3AB;
}

.p-voice__name--blue span {
  background: #66B9D9;
}

.p-voice__name--orange span {
  background: #EEC15A;
}

.p-voice__text {
  margin-top: 1.25rem;
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}
/*# sourceMappingURL=styles.css.map */
