@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-wrap: break-word;
}

input,
textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

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

/* CSS Document */
html {
  line-height: 1.45;
  scroll-behavior: smooth;
}

body {
  max-width: 445px;
  margin: 0 auto;
  font-size: 14px;
  color: #1a1a1a;
  line-height: 1.57142857;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-color: #e5eff9;
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

* {
  line-height: 1.6;
}

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

.container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}

main {
  background-color: #fff;
}

.follow-btn {
  position: fixed;
  z-index: 9999;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 90px;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  max-width: 425px;
}
.follow-btn.show {
  opacity: 1;
  visibility: visible;
}
.follow-btn .cta-btn-wrapper {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
}

.mv {
  position: relative;
}
.mv .cta-btn-wrapper {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 1.5%;
}

.sec01 {
  position: relative;
}
.sec01 .cta-btn-wrapper {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 11.5%;
  width: 90%;
}

.sec06 {
  position: relative;
}
.sec06 .cta-btn-wrapper {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 3.5%;
  width: 90%;
}

.list-faq li:first-of-type .question::after {
  background: url(../img/icon_close.webp) no-repeat center/contain;
}
.list-faq li:first-of-type .question.active::after {
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
  background: url(../img/icon_open.webp) no-repeat center/contain;
}
.list-faq li:first-of-type .answer {
  display: block;
}
.list-faq li .question {
  background-color: #7ac5c7;
  color: #fff;
  cursor: pointer;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-bottom: 2px solid #fff;
  font-size: 18px;
  line-height: 1.33333333;
  letter-spacing: 0;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 62px;
  padding: 12px 55px;
}
.list-faq li .question::before {
  position: absolute;
  left: 15px;
  top: 15px;
  width: 31px;
  height: 31px;
  content: "";
  display: block;
  background: url(../img/icon_q.webp) no-repeat center/contain;
}
.list-faq li .question::after {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  right: 15px;
  top: 20px;
  background: url(../img/icon_open.webp) no-repeat center/contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.list-faq li .question.active::after {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  background: url(../img/icon_close.webp) no-repeat center/contain;
}
.list-faq li .answer {
  display: none;
  color: #342d4f;
  font-weight: bold;
  padding: 12px 18px;
}

.sec-info {
  margin-top: 60px;
}
.sec-info .wrapper {
  background-color: #f2f2f2;
  padding: 0 20px 25px 20px;
}
.sec-info .sec-info-ttl {
  font-weight: bold;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0;
  background-color: #fff;
  padding: 10px 24px;
  margin: 0 auto;
  color: #7ac5c7;
  border-radius: 30px;
  border: 2px solid #7ac5c7;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.sec-info .logo {
  max-width: 250px;
  margin: 0 auto;
}
.sec-info .list-info {
  margin-top: 20px;
}
.sec-info .list-info li:not(:last-of-type) {
  margin-bottom: 15px;
}
.sec-info .list-info li:not(:last-of-type) .contents {
  margin-bottom: 23px;
}
.sec-info .list-info li:first-of-type .ttl::after {
  background: url(../img/icon_accordion.webp) no-repeat center/contain;
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
}
.sec-info .list-info li:first-of-type .ttl.active::after {
  background: url(../img/icon_accordion.webp) no-repeat center/contain;
  -webkit-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
}
.sec-info .list-info li:first-of-type .contents {
  display: block;
}
.sec-info .list-info li .ttl {
  cursor: pointer;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  padding: 14px 42px;
  background-color: #e5eff9;
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.sec-info .list-info li .ttl::before {
  content: "";
  display: block;
  width: 18px;
  height: 15px;
  background: url(../img/icon_info.webp) no-repeat center/contain;
  left: 17px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
}
.sec-info .list-info li .ttl::after {
  position: absolute;
  content: "";
  width: 25px;
  height: 25px;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon_accordion.webp) no-repeat center/contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sec-info .list-info li .ttl.active::after {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
  background: url(../img/icon_accordion.webp) no-repeat center/contain;
}
.sec-info .list-info li .contents {
  display: none;
  padding: 12px 12px 20px 12px;
  font-weight: 500;
  background-color: #fff;
}
.sec-info .list-info li .contents .googlemaps {
  display: block;
  width: 112px;
  margin: 10px auto 0;
}

.sec-form {
  padding: 25px 18px 60px;
}
.sec-form form {
  margin-top: 30px;
}
.sec-form form .form-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.sec-form form .form-control:not(:first-of-type) {
  margin-top: 22px;
}
.sec-form form .ttl {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
  display: inline-block;
}
.sec-form form .required {
  display: inline-block;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background-color: #ef4162;
  padding: 4px 8px;
  margin-right: 8px;
}
.sec-form form .text-field,
.sec-form form select {
  display: block;
  width: 100%;
  background-color: #fff;
  margin-top: 10px;
  height: 30px;
  border: 1px solid #b3b3b3;
  border-radius: 5px;
  font-size: 16px;
}
.sec-form form .date-wrap {
  position: relative;
  width: 100%;
  display: block;
}
.sec-form form .date-wrap::after {
  position: absolute;
  content: "";
  display: block;
  width: 14px;
  height: 15px;
  background: url(../img/icon_calender.webp) no-repeat center/contain;
  display: block;
  pointer-events: none;
  top: 17px;
  right: 10px;
}
.sec-form form input[type=date] {
  position: relative;
  cursor: pointer;
}
.sec-form form input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.sec-form form .note {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 10px;
}
.sec-form form .radio-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-top: 10px;
}
.sec-form form .radio-group input[type=radio],
.sec-form form .radio-group input[type=checkbox] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  border: 1px solid #b3b3b3;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  margin: 0 8px 0 0;
  cursor: pointer;
}
.sec-form form .radio-group input[type=radio]::before,
.sec-form form .radio-group input[type=checkbox]::before {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #1a1a1a;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
}
.sec-form form .radio-group input[type=radio]:checked::before,
.sec-form form .radio-group input[type=checkbox]:checked::before {
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}
.sec-form form .radio-group label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  cursor: pointer;
  font-weight: 500;
}
.sec-form form .radio-group label span {
  font-weight: bold;
}
.sec-form form .agree-box {
  width: 100%;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sec-form form .agree-box .radio-group {
  display: block;
  width: 100%;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.sec-form form .agree-box .radio-group input[type=checkbox]::before {
  background-color: #ef4162;
}
.sec-form form .agree-box .radio-group > span {
  display: block;
  margin-bottom: 20px;
  margin-left: 35px;
}
.sec-form form .agree-box .radio-group .modal-open {
  margin-left: 35px;
  font-weight: bold;
  text-decoration: underline;
  display: block;
  margin-bottom: 20px;
  color: #7ac5c7;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.sec-form form .agree-box .radio-group .modal-open:hover {
  opacity: 0.7;
}
.sec-form form .answer {
  width: 100%;
  margin-top: 10px;
  font-weight: 500;
  font-size: 16px;
}
.sec-form form .answer .date {
  display: block;
}
.sec-form form .answer .time {
  display: block;
}
.sec-form .form-btn {
  margin: 40px auto 0;
  display: block;
  width: 250px;
  font-weight: bold;
  color: #fff;
  font-size: 17px;
  height: 45px;
  border-radius: 30px;
  border: none;
  background-color: #7ac5c7;
  outline: none;
}
.sec-form .form-btn.confirm {
  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: 15px;
}
.sec-form .form-btn.confirm img {
  width: 21px;
}
.sec-form .form-btn.submit {
  text-align: center;
  gap: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec-form .form-btn.submit img {
  width: 25px;
}
.sec-form .form-btn.back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 35px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 25px;
  background-color: #999999;
  gap: 20px;
  text-align: left;
}
.sec-form .form-btn.back img {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  width: 21px;
}
.sec-form .txt-confirm {
  text-align: center;
  background-color: #999999;
  width: 100%;
  font-weight: bold;
  margin: 18px 0;
  padding: 10px;
  color: #fff;
  line-height: 1.42857143;
}
.sec-form .error-container {
  text-align: center;
  padding: 30px 20px;
}
.sec-form .error-container .error-message {
  background-color: #ffeaea;
  padding: 20px;
  margin-bottom: 20px;
}
.sec-form .error-container .error-message h3 {
  color: #ef4162;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
.sec-form .error-container .error-message p {
  color: #333;
  font-weight: 500;
  line-height: 1.5;
}
.sec-form .error-container .error-details {
  background-color: #fff5f5;
  border: 1px solid #ef4162;
  border-radius: 5px;
  padding: 15px;
  margin-bottom: 30px;
  text-align: left;
  color: #ef4162;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
}
.sec-form .success-container {
  text-align: center;
  padding: 30px 20px;
}
.sec-form .success-container .success-message {
  background-color: #f0f9f0;
  border: 2px solid #7ac5c7;
  border-radius: 8px;
  padding: 30px 20px;
  margin-bottom: 30px;
}
.sec-form .success-container .success-message h3 {
  color: #7ac5c7;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.sec-form .success-container .success-message p {
  color: #333;
  font-weight: 500;
  line-height: 1.6;
}

.modal-wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}
.modal-wrapper.active {
  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;
  padding: 20px;
}
.modal-wrapper .modal-inner {
  background-color: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 800px;
  max-height: 90vh;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.modal-wrapper .modal-close {
  position: absolute;
  top: -12px;
  right: 5px;
  width: 27px;
  height: 27px;
  cursor: pointer;
  z-index: 10;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.modal-wrapper .modal-close:hover {
  opacity: 0.7;
}
.modal-wrapper .modal-close img {
  width: 100%;
  height: 100%;
}
.modal-wrapper .modal-contents {
  padding: 20px;
  overflow-y: auto;
  max-height: 265px;
}
.modal-wrapper .modal-contents p {
  font-size: 12px;
  line-height: 1.58333333;
  letter-spacing: 0.06em;
}

body.modal-open {
  overflow: hidden;
}

footer {
  background-color: #e5eff9;
  text-align: center;
  padding: 35px 10px 10px;
}
footer .logo {
  width: 260px;
  margin: 0 auto;
}
footer .btn-official {
  display: block;
  margin: 40px auto 0;
  width: 298px;
}
footer small {
  display: block;
  font-weight: 500;
  font-size: 13px;
  margin-top: 35px;
  color: #7ac5c7;
}

.sec-thanks {
  padding: 50px 10px 10px;
  text-align: center;
}
.sec-thanks .logo {
  width: 260px;
  margin: 0 auto;
}
.sec-thanks h2 {
  margin-top: 45px;
  font-size: 25px;
  font-weight: 900;
  color: #4c67c9;
  text-decoration: underline;
  text-underline-offset: 8px;
}
.sec-thanks .txt01 {
  margin-top: 20px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.53333333;
}
.sec-thanks .txt02 {
  margin-top: 15px;
  font-size: 12px;
  line-height: 1.5;
}
.sec-thanks .btn-official {
  display: block;
  margin: 40px auto 0;
  width: 298px;
}
.sec-thanks small {
  display: block;
  font-weight: 500;
  font-size: 13px;
  margin-top: 140px;
  color: #7ac5c7;
}

.cta-btn-wrapper {
  position: relative;
  width: 96%;
}
.cta-btn-wrapper .header {
  position: absolute;
  width: 100%;
  width: 82%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-33%);
          transform: translateX(-50%) translateY(-33%);
  top: 0;
  z-index: 99;
}
.cta-btn-wrapper .shine {
  overflow: hidden;
  display: block;
  left: 49%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
  border-radius: 50px;
  aspect-ratio: 11/2;
  width: 92%;
  bottom: 21%;
}
.cta-btn-wrapper .shine::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: 0px;
  left: 0;
  width: 200%;
  height: 100%;
  background-color: lch(100% 0.01 296.81/0.719);
  -webkit-animation: kiran 3s ease-in-out infinite;
          animation: kiran 3s ease-in-out infinite;
}
@-webkit-keyframes kiran {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
            transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
            transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(2) rotate(45deg);
            transform: scale(2) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(8) rotate(45deg);
            transform: scale(8) rotate(45deg);
    opacity: 0;
  }
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
  body {
    -webkit-box-shadow: 0 0 10px rgba(122, 196, 199, 0.682);
            box-shadow: 0 0 10px rgba(122, 196, 199, 0.682);
  }
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}/*# sourceMappingURL=style.css.map */