@charset "UTF-8";
/* ========================================
    foundation
======================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, abbr, address,
cite, code, del, dfn, em, img, ins,
kbd, q, samp, small, strong, sub, sup,
var, b, i, dl, dt, dd, ol, ul, li, li > ul,
a, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, figcaption,
footer, header, hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: bottom;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

li {
  list-style-type: none;
}

.tabOnly {
  display: none !important;
}

.pcNone {
  display: block !important;
}
.kvFade {
  -webkit-animation-name: fadeUpAnime;
  animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

.delay-05s {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
html {
  scroll-behavior: smooth;
  height: -webkit-fill-available;
  font-size: 62.5%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  scroll-padding-top: 3rem;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  color: #222222;
  background-color: #fff;
  width: 100%;
  height: 100%;
}

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

picture {
  display: block;
}

/* ========================================
    layout
======================================== */
.l-wrapper {
  overflow: hidden;
  max-width: 75rem;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 4rem rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 4rem rgba(0, 0, 0, 0.1);
}

/* ========================================
    object / component
======================================== */
/* ========================================
    object / project
======================================== */
.home .p-footer {
  padding-bottom: clamp(8rem, 20vw, 15rem);
}

.pageThanks .p-footer {
  padding-bottom: 8rem;
}

.p-footer {
  background-color: #fff;
}
.p-footer img{
      padding-top: 50px;
    padding-bottom: 20px;
}
.p-footer .detailBox {
  text-align: center;
}
.p-footer .detailBox h2 {
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  line-height: 1;
  margin-bottom: 1.4rem;
}
.p-footer .detailBox p {
  font-size: 1.2rem;
  font-weight: 400;
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  line-height: 1.7142857143;
}

/* ========================================
    object / page
======================================== */
.thanks {
  padding: 10rem 3rem;
  text-align: center;
}
.thanks h1 {
  font-size: 3rem;
  margin-bottom: 2rem;
}
.thanks .read {
  font-size: 1.6rem;
  font-weight: 500;
  color: #222;
  margin-bottom: 6rem;
  line-height: 2;
}
.thanks .btn {
  width: clamp(25rem, 40vw, 30rem);
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
.thanks .btn::after {
  content: "";
  background-image: url(../img/icon_arrow_wh.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(1.5rem, 4vw, 3rem);
  height: clamp(1.5rem, 4vw, 3rem);
  position: absolute;
  top: 50%;
  right: clamp(1.6rem, 3.3333333333vw, 2.5rem);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
.thanks a {
  width: 100%;
  height: clamp(6rem, 10.6666666667vw, 8rem);
  border-radius: 10rem;
  border: solid 0.5rem #fff;
  background-color: #009cf2;
  font-size: clamp(2rem, 3.3333333333vw, 2.5rem);
  font-weight: bold;
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  line-height: 1;
  color: #fff;
  display: grid;
  place-items: center;
}

.fv {
  /* background-color: #daf1ff; */
}
.fv-main {
  max-width: 100%;
  position: relative;
}
.fv-main a {
  position: absolute;
  inset: auto 0 15% 0;
  padding: 0 clamp(1.5rem, 4vw, 3rem);
}
.fv .ctaBox {
  background: linear-gradient(to bottom, #daf1ff, #FFFFFF);
  padding: 2em clamp(1.5rem, 4vw, 3rem);
}
.fv .ctaBox a {
  display: block;
}
.fv .ctaBox a:not(:last-child) {
  margin-bottom: 1.4rem;
}
.fv .ctaBox img {
  -webkit-filter: drop-shadow(0 1.6rem 1.6rem rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0 1.6rem 1.6rem rgba(0, 0, 0, 0.2));
}

.clean {
  padding-top: clamp(14rem, 45.3333333333vw, 34rem);
  background: url(../img/clean_bg.jpg) no-repeat center top;
  background-size: 100% auto;
  padding-bottom: 3rem;
}
.clean .slider {
  padding-inline: 1.5rem;
  margin-bottom: clamp(3.5rem, 9.3333333333vw, 7rem);
}
.madia{
  background-color: #fff;
  padding-bottom: 2em;
}
.clean .slider .slick-prev,
.clean .slider .slick-next {
  background-image: url(../img/i_arr.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(3rem, 5.3333333333vw, 4rem);
  height: clamp(3rem, 5.3333333333vw, 4rem);
  z-index: 2;
}
.clean .slider .slick-prev::before,
.clean .slider .slick-next::before {
  content: "";
}
.clean .slider .slick-prev {
  left: 1.2rem;
  -webkit-transform: translate(0, -50%) rotate(180deg);
  transform: translate(0, -50%) rotate(180deg);
}
.clean .slider .slick-next {
  right: 1.2rem;
}
.clean .slider .slick-dots {
  bottom: clamp(-5.5rem, -7.3333333333vw, -3rem);
  left: 0;
}
.clean .slider .slick-dots li {
  margin: 0 clamp(0.7rem, 1.8666666667vw, 1.4rem);
  width: clamp(1rem, 2.6666666667vw, 2rem);
}
.clean .slider .slick-dots button::before {
  font-size: clamp(1rem, 2.6666666667vw, 2rem);
  opacity: 0.3;
  color: #adadad;
}
.clean .slider .slick-dots .slick-active button:before {
  opacity: 1;
}
.clean .slider .item {
  border: 3px solid #009cf2;
  border-radius: 2rem;
  overflow: hidden;
  margin-inline: clamp(0.7rem, 2vw, 1.5rem);
}
.clean .scroll {
  padding-inline: clamp(1.5rem, 4vw, 3rem);
}

.cta {
  position: relative;
  z-index: 1;
}
.cta .ctaBox {
  width: clamp(25rem, 84vw, 63rem);
  position: absolute;
  bottom: clamp(2rem, 18.6666666667vw, 14rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.cta .ctaBox a {
  display: block;
}
.cta .ctaBox a:not(:last-child) {
  margin-bottom: 0.8rem;
}
.cta .ctaBox img {
  -webkit-filter: drop-shadow(0 1.6rem 1.6rem rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0 1.6rem 1.6rem rgba(0, 0, 0, 0.2));
}

.wrong {
  background-image: url(../img/wrong_bg.jpg);
  background-color: #daf1ff;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
  padding-top: clamp(19rem, 52vw, 39rem);
  padding-bottom: 4rem;
}
.wrong .table {
  padding: 0 1.5rem 1.75rem;
  overflow-x: scroll;
  scrollbar-width: none;
}
.wrong .table::-webkit-scrollbar {
  display: none;
}
.wrong .table img {
  width: clamp(50rem, 146.9333333333vw, 110.2rem);
}
.wrong .scroll {
  padding-inline: clamp(1.5rem, 4vw, 3rem);
}

.contact {
  background-color: #daf1ff;
}
.contact_inner {
  padding: clamp(4rem, 10.6666666667vw, 8rem) clamp(1.5rem, 4vw, 3rem);
}
.contact .form-item:not(:last-child) {
  margin-bottom: clamp(3.5rem, 6.6666666667vw, 5rem);
}
.contact .form-item:last-child {
  margin-top: clamp(4rem, 11.3333333333vw, 8.5rem);
}
.contact .form-item > label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3rem);
  width: 100%;
  font-size: clamp(1.6rem, 4.2666666667vw, 3.2rem);
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: bold;
  line-height: 1;
  color: #222;
  margin-bottom: clamp(1rem, 2.6666666667vw, 2rem);
}
.contact .form-item > label .required {
  font-size: clamp(1rem, 2.6666666667vw, 2rem);
  font-weight: bold;
  line-height: 1;
  color: #fff;
  padding: clamp(0.3rem, 0.8vw, 0.6rem) clamp(1rem, 2.6666666667vw, 2rem);
  background-color: #e31212;
  border-radius: clamp(0.3rem, 0.9333333333vw, 0.7rem);
}
.contact .form-item input[type=email],
.contact .form-item input[type=tel],
.contact .form-item input[type=text],
.contact .form-item select,
.contact .form-item textarea {
  width: 100%;
  height: clamp(4rem, 10.6666666667vw, 8rem);
  padding: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 1rem;
  border: solid 0.1rem #dddddd;
  font-size: clamp(1.6rem, 4.2666666667vw, 3.2rem);
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 500;
  color: #000;
}
.contact .form-item select {
  font-size: clamp(1.6rem, 3.2vw, 2.4rem);
}
.contact .form-item textarea {
  height: clamp(10rem, 26.6666666667vw, 20rem);
}
.contact .form-item .checkbox-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem;
}
.contact .form-item .checkbox-group label {
  font-size: clamp(1.6rem, 3.2vw, 2.4rem);
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}
.contact .form-item .checkbox-group input {
  width: 2rem;
  height: 2rem;
}
.contact .form-item .radio-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem;
}
.contact .form-item .radio-group label {
  font-size: clamp(1.6rem, 3.2vw, 2.4rem);
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}
.contact .form-item .radio-group input {
  width: 2rem;
  height: 2rem;
}
.contact .form-item .read {
  font-size: clamp(1.4rem, 2.9333333333vw, 2.2rem);
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 500;
  margin-bottom: 2rem;
}
.contact .form-item .read .attention {
  color: red;
}
.contact .form-item .submit {
  width: clamp(30rem, 80vw, 60rem);
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
.contact .form-item .submit::after {
  content: "";
  background-image: url(../img/icon_arrow_wh.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(1.5rem, 4vw, 3rem);
  height: clamp(1.5rem, 4vw, 3rem);
  position: absolute;
  top: 50%;
  right: clamp(1.6rem, 3.3333333333vw, 2.5rem);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
.contact .form-item input[type=submit] {
  width: 100%;
  height: clamp(6rem, 13.3333333333vw, 10rem);
  border-radius: 10rem;
  border: solid 0.5rem #fff;
  background-color: #009cf2;
  font-size: clamp(1.6rem, 4.2666666667vw, 3.2rem);
  font-weight: bold;
  font-family: YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  line-height: 1;
  color: #fff;
  display: grid;
  place-items: center;
}
.madia{
  background-color: #fff;
}
.fixedCta {
  padding-inline: 0.4rem;
  padding-bottom: 0.8rem;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
.fixedCta .ctaBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.4rem;
}
.fixedCta .ctaBox img {
  -webkit-filter: drop-shadow(0 1.6rem 1.6rem rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0 1.6rem 1.6rem rgba(0, 0, 0, 0.2));
}
/* ========================================
    object / utility
======================================== */

@media (min-width: 768px) and (max-width: 1023px){
  .tabOnly {
    display: block !important;
  }
}

@media screen and (min-width: 768px){
  .pcNone {
    display: none !important;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
}

@media screen and (max-width: 767px){
  .spNone {
    display: none !important;
  }
  .contact .form-item .checkbox-group {
    gap: 1rem;
  }
  .fixedCta {
    padding-inline: 0;
  }
  .fixedCta .ctaBox {
      gap: 0;
  }
}
