@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  word-break: break-word;
  overflow-x: hidden;
}

/* 基本フォントスタイル
//////////////////////// */
body,
body input,
body textarea {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  color: #000;
  font-style: normal;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.1rem;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body p,
body input p,
body textarea p {
  line-height: 1.8;
}

.f--bold {
  font-family: "Hiragino Kaku Gothic StdN", "ヒラギノ角ゴシック", "メイリオ", "Arial", sans-serif;
  font-weight: 800;
}

.f--blue {
  color: #2A45FF;
}

.f--14 {
  font-size: 1.4rem !important;
}

.f--24 {
  font-size: 2.4rem !important;
}

.f--38 {
  font-size: 3.8rem !important;
}

.f--48 {
  font-size: 4.8rem !important;
}

.lh-2 {
  line-height: 1.4;
}

.lh-10 {
  display: block;
  content: "";
  margin: 1.2rem 0;
}

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

/* imgタグ
//////////////////////// */
img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

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

@media screen and (max-width: 1024px) {
  .br_pc {
    display: none;
  }
}

.br_sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .br_sp {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .o-pc {
    display: none !important;
  }
}

.o-sp {
  display: none;
}
@media screen and (max-width: 1024px) {
  .o-sp {
    display: block !important;
  }
}

@media screen and (max-width: 750px) {
  .o-pcs {
    display: none !important;
  }
}

.o-sps {
  display: none;
}
@media screen and (max-width: 750px) {
  .o-sps {
    display: block !important;
  }
}

.c-btn {
  width: 100%;
  text-align: center;
}
.c-btn a, .c-btn button, .c-btn input {
  letter-spacing: 0.2rem;
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  font-weight: 800;
  font-family: "Hiragino Kaku Gothic StdN", "ヒラギノ角ゴシック", "メイリオ", "Arial", sans-serif;
}
.c-btn a.normal, .c-btn button.normal, .c-btn input.normal {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 600;
}
.c-btn__blue a, .c-btn__blue button, .c-btn__blue input {
  background-color: #2A45FF;
  color: #fff;
  border-radius: 1rem;
}
.c-btn__gray a, .c-btn__gray button, .c-btn__gray input {
  background-color: #E7E7E7;
  color: #2A45FF;
  border-radius: 1rem;
}
.c-btn__gray2 a, .c-btn__gray2 button, .c-btn__gray2 input {
  background-color: #E7E7E7;
  border-radius: 1rem;
  font-size: 1.6rem;
}
.c-btn__white a, .c-btn__white button, .c-btn__white input {
  background-color: #fff;
  border: solid 1px #2A45FF;
  color: #2A45FF;
}

input[type=submit]:disabled {
  background-color: #c7c7c7;
  color: #666;
  cursor: not-allowed;
  opacity: 0.7;
}

input[type=text], input[type=email], input[type=tel], input[type=password], input[type=email], input[type=number], input[type=search], select, textarea {
  -webkit-appearance: none;
  width: 100%;
  border: solid 1px #000;
  transition: all 0.2s;
  height: 10rem;
  padding: 0 16px;
  border-radius: 0.5rem;
  font-size: 1.6rem;
}
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=password]:focus, input[type=email]:focus, input[type=number]:focus, input[type=search]:focus, select:focus, textarea:focus {
  border: solid 1px #2A45FF;
}

.checkbox-1 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 2em;
  border: none;
}

.checkbox-1 label {
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  position: relative;
  cursor: pointer;
}

.checkbox-1 label::before,
.checkbox-1 label:has(:checked)::after {
  content: "";
}

.checkbox-1 label::before {
  width: 3rem;
  height: 3rem;
  border-radius: 0.6rem;
  border: solid 4px #000;
}

.agree label::before {
  border: solid 4px #2A45FF;
}

.checkbox-1 label:has(:checked)::before {
  background-color: #2A45FF;
  border: solid 4px #2A45FF;
}

.checkbox-1 label:has(:checked)::after {
  position: absolute;
  top: 6px;
  left: 10px;
  transform: rotate(45deg);
  width: 9px;
  height: 14px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
}

.checkbox-1 input {
  display: none;
}

.error-txt {
  color: red;
  text-align: center;
  margin-top: -3rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1024px) {
  .error-txt {
    margin-top: -1rem;
  }
}

@media screen and (max-width: 1024px) {
  body,
  body input,
  body textarea {
    font-size: 1.4rem;
  }
  body.is--fixed,
  body input.is--fixed,
  body textarea.is--fixed {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }
  body input[type=text], body input[type=email], body input[type=tel], body input[type=password], body input[type=email], body input[type=number], body input[type=search], body select, body textarea,
  body input input[type=text],
  body input input[type=email],
  body input input[type=tel],
  body input input[type=password],
  body input input[type=email],
  body input input[type=number],
  body input input[type=search],
  body input select,
  body input textarea,
  body textarea input[type=text],
  body textarea input[type=email],
  body textarea input[type=tel],
  body textarea input[type=password],
  body textarea input[type=email],
  body textarea input[type=number],
  body textarea input[type=search],
  body textarea select,
  body textarea textarea {
    height: 6rem;
  }
}

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,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

.header {
  position: fixed;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  background-color: #fff;
  width: 100%;
  z-index: 100;
}
.header__inner {
  height: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (min-width: 1441px) {
  .header__inner {
    width: 140rem;
    margin: 0 auto;
  }
}
.header__inner__nav {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.header__inner__nav li {
  position: relative;
}
.header__inner__nav li a {
  height: 6.4rem;
  line-height: 1.2;
  padding: 2rem 1rem;
  transition: color 0.3s ease;
}
.header__inner__nav li::after {
  content: "";
  display: block;
  height: 0.2rem;
  width: 100%;
  background-color: #2A45FF;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.header__inner__nav li:hover a {
  color: #2A45FF;
  position: relative;
}
.header__inner__nav li:hover::after {
  transform: scaleX(1);
}
.header__inner__nav li:first-child {
  margin-left: 1rem;
}
.header__inner__nav li:last-child {
  margin-right: 1rem;
}
@media only screen and (min-width: 1441px) {
  .header__inner__nav li:first-child {
    margin-left: 0;
  }
  .header__inner__nav li:last-child {
    margin-right: 2rem;
  }
}
.header__inner .btn-block {
  display: flex;
}
.header__inner .btn-block .c-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.4rem;
  border-radius: 0;
  line-height: 25px;
}
.header__inner .btn-block .c-btn a:hover {
  transition: opacity 0.3s ease;
}
.header__inner .btn-block .c-btn a:hover:hover {
  opacity: 0.6;
}
.header__inner .btn-block .c-btn__white {
  width: 20rem;
  background-color: #fff;
  border: solid 1px #2A45FF;
  color: #2A45FF;
  line-height: 25px;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__inner .btn-block .c-btn__blue {
  width: 24rem;
}
.header__inner .btn-block .c-btn__blue a {
  font-size: 2rem;
}
.header.top {
  opacity: 0;
}
.header.top.is-show {
  animation: fadeIn 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.header.contact {
  display: none;
}

@media screen and (max-width: 1024px) {
  .header {
    position: relative;
    z-index: 100;
  }
  .header .nav-btn {
    top: 5rem;
    left: 3rem;
    width: 3.2rem;
    height: 2.2rem;
    position: absolute;
    z-index: 30;
  }
  .header .nav-btn span {
    display: block;
    background-color: #000;
    height: 0.4rem;
    width: 100%;
    position: absolute;
    left: 0;
    transition: all 0.2s cubic-bezier(0.42, 0, 1, 1);
  }
  .header .nav-btn span.line01 {
    top: 0;
  }
  .header .nav-btn span.line02 {
    top: 0.9rem;
  }
  .header .nav-btn span.line03 {
    top: 1.8rem;
  }
  .header .nav-btn.active .line01 {
    width: 3rem;
    border-top: 2px solid #000;
    transform: rotate(45deg);
    top: 1rem;
  }
  .header .nav-btn.active .line02 {
    opacity: 0;
  }
  .header .nav-btn.active .line03 {
    width: 3rem;
    border-top: 2px solid #000;
    transform: rotate(-45deg);
    top: 1rem;
  }
  .header__inner {
    position: fixed;
    padding: 0;
    top: 0;
    left: 0;
    transform: translateY(0) translateX(-100%);
    width: 70%;
    height: 100dvh;
    background-color: #fff;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: center;
    z-index: -1;
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
  }
  .header__inner.active {
    z-index: 2;
    transform: translateY(0) translateX(0);
    opacity: 1;
  }
  .header__inner__nav {
    margin-left: 3rem;
    display: block;
  }
  .header__inner__nav li {
    position: relative;
  }
  .header__inner__nav li a {
    height: 7.5rem;
    line-height: 7.5rem;
    padding: 0;
    font-size: 1.6rem;
    font-family: "Hiragino Kaku Gothic StdN", "ヒラギノ角ゴシック", "メイリオ", "Arial", sans-serif;
    font-weight: 800;
  }
  .header__inner__nav li::after {
    display: none;
  }
  .header__inner__nav li:last-child {
    margin-right: 0;
  }
  .header__inner__nav li:first-child {
    margin-left: 0;
  }
  .header__inner .btn-block {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .header__inner .btn-block .c-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8rem;
    border-radius: 0;
    line-height: 1.6;
    font-size: 1.6rem;
  }
  .header__inner .btn-block .c-btn__blue {
    width: 23.6rem;
  }
  .header .overlay.active {
    width: 100%;
    height: 100dvh;
    background-color: #000;
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 390px) {
  .header__inner__nav li a {
    height: 6rem;
    line-height: 6rem;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.footer {
  background-color: #2A45FF;
}
.footer__inner {
  height: 14rem;
  padding: 0 4%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (min-width: 1441px) {
  .footer__inner {
    width: 140rem;
    margin: 0 auto;
    padding: 0;
  }
}
.footer__inner ul {
  display: flex;
  flex: 1;
}
.footer__inner ul li a {
  color: #fff;
}
.footer__inner ul li a:hover {
  transition: opacity 0.3s ease;
}
.footer__inner ul li a:hover:hover {
  opacity: 0.6;
}
.footer__inner ul li:last-child {
  margin-left: 9rem;
}
.footer__inner .logo {
  flex: 1;
  margin-top: 1rem;
}
.footer__inner .logo img {
  width: 18rem;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .footer__inner {
    height: 100%;
    padding: 8rem 0 7rem;
    flex-flow: column;
    font-size: 1.6rem;
  }
  .footer__inner img {
    margin-bottom: 5.5rem;
  }
  .footer__inner ul {
    flex-flow: column;
    order: 1;
    align-items: center;
  }
  .footer__inner ul li {
    margin-bottom: 1.4rem;
  }
  .footer__inner ul li:last-child {
    margin-left: 0;
  }
  .footer__inner p {
    order: 2;
  }
}

.mv {
  position: relative;
}
.mv .mv-bg {
  width: 100%;
  position: absolute;
  bottom: 1rem;
  left: 0;
  opacity: 0;
}
.mv .mv-bg svg {
  width: 100%;
}
.mv .mv-bg.is-show {
  opacity: 1;
}
.mv .mv-bg.is-show .st0 {
  stroke: #2A45FF;
  stroke-dasharray: 2000;
  stroke-dashoffset: 0;
  stroke-width: 2;
  animation: hello2 1.4s ease-in 0s;
}
.mv__inner {
  padding: 0 10%;
  height: 100vh;
  display: flex;
  flex-flow: column;
  justify-content: center;
}
@media only screen and (min-width: 1441px) {
  .mv__inner {
    width: 140rem;
    margin: 0 auto;
    padding: 0;
  }
}
.mv__inner .logo {
  margin-bottom: 5rem;
  margin-top: -2rem;
  opacity: 0;
}
.mv__inner .logo img {
  width: 16.7rem;
  height: auto;
  margin-bottom: 2rem;
}
.mv__inner .logo span {
  color: #2A45FF;
  font-size: 1.8rem;
  display: block;
}
.mv__inner .logo.is-show {
  opacity: 1;
  animation: fadeInSlide 0.5s ease-out forwards;
}
.mv__inner h1.main-copy {
  font-size: 3.8rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  opacity: 0;
}
.mv__inner h1.main-copy.is-show {
  opacity: 1;
  white-space: nowrap;
  overflow: hidden;
  animation: title_text 1s forwards ease-in-out;
}
.mv__inner .read {
  opacity: 0;
}
.mv__inner .read.is-show {
  opacity: 1;
  white-space: nowrap;
  overflow: hidden;
  animation: title_text 1s forwards ease-in-out;
}
.mv__inner .c-btn {
  margin-top: 5rem;
  width: 31.6rem;
  opacity: 0;
}
.mv__inner .c-btn a {
  border-radius: 1rem;
  letter-spacing: 0;
  font-size: 2.2rem;
  padding: 2.4rem 0;
  position: relative;
  box-shadow: 0px 3px 0px #000;
  transition: 0.2s;
}
.mv__inner .c-btn a span {
  font-size: 1.5rem;
  display: block;
  margin-top: 0.8rem;
  letter-spacing: 0.6em;
}
.mv__inner .c-btn a:hover {
  box-shadow: unset;
  transform: translateY(3px);
}
.mv__inner .c-btn.is-show {
  opacity: 1;
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@media screen and (max-width: 1024px) {
  .mv {
    height: 100dvh;
    overflow-x: hidden;
  }
  .mv .mv-bg {
    top: 2%;
    bottom: auto;
  }
  .mv__inner {
    padding: 0 4%;
    height: auto;
    display: block;
    position: absolute;
    bottom: 6rem;
  }
  .mv__inner .logo {
    margin-top: 0;
    text-align: center;
  }
  .mv__inner h1.main-copy {
    font-size: 2rem;
    line-height: 1.8;
    margin-bottom: 4rem;
    opacity: 0;
    line-height: 1.6;
    text-align: center;
  }
  .mv__inner h1.main-copy.is-show {
    opacity: 1;
    animation: fadeInSlide 0.5s ease-out forwards;
  }
  .mv__inner .read {
    opacity: 0;
    line-height: 1.6;
  }
  .mv__inner .read.is-show {
    white-space: normal;
    opacity: 1;
    animation: fadeInSlide 0.5s ease-out forwards;
  }
  .mv__inner .c-btn {
    margin: 4rem auto 0;
  }
}
@media screen and (max-width: 390px) {
  .mv__inner {
    bottom: 4rem;
  }
  .mv__inner h1.main-copy {
    margin-bottom: 2rem;
  }
  .mv__inner .c-btn {
    margin: 2rem auto 0;
  }
}

.l-section__inner {
  padding: 0 4%;
}
.l-section__inner h3.section-title {
  font-size: 3.8rem;
  position: relative;
  margin-bottom: 10rem;
}
.l-section__inner h3.section-title span {
  font-size: 3rem;
  margin-top: 3rem;
  display: block;
}
.l-section__inner h3.section-title::after {
  display: block;
  content: "";
  width: 100%;
  height: 0.3rem;
  background: linear-gradient(270deg, rgb(255, 255, 255) 0%, rgb(42, 69, 255) 100%);
  position: absolute;
  left: 0;
  bottom: -2.4rem;
}
.l-section__inner .flex-block {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .l-section__inner h3.section-title {
    font-size: 2rem;
    margin-bottom: 6rem;
    text-align: center;
  }
  .l-section__inner h3.section-title span {
    line-height: 1.8;
    font-size: 1.8rem !important;
    margin-top: 0.6rem;
  }
  .l-section__inner h3.section-title::after {
    bottom: -1.4rem;
  }
}
@media only screen and (min-width: 1441px) {
  .l-section__inner {
    width: 140rem;
    margin: 0 auto;
    padding: 0;
  }
}

.section01 {
  padding: 18rem 0 12rem;
}
.section01 .l-section__inner {
  padding: 0 2%;
}
.section01 .l-section__inner h3.section-title {
  margin: 0 2% 10rem;
}
.section01__list {
  display: flex;
  justify-content: space-between;
  margin-top: 33rem;
}
.section01__list li {
  border: solid 1px #E0E0E0;
  width: 32.6%;
  text-align: center;
  padding: 14rem 1rem 7rem;
  position: relative;
}
.section01__list li img {
  width: 28rem;
  height: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -20rem;
}
.section01__list li .title {
  font-size: 2.4rem;
  color: #2A45FF;
  margin-bottom: 2rem;
}
.section01__list li .txt {
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  .section01 {
    padding: 5rem 0 12rem;
  }
  .section01 .l-section__inner {
    padding: 0 4%;
  }
  .section01 .l-section__inner h3.section-title {
    margin: 0 0 6rem;
    font-size: 1.8rem !important;
  }
  .section01__list {
    justify-content: flex-start;
    flex-flow: column;
    margin-top: 0;
  }
  .section01__list li {
    width: 100%;
    padding: 0;
    border: none;
    display: flex;
    flex-flow: column;
    margin-bottom: 12rem;
  }
  .section01__list li:last-child {
    margin-bottom: 0;
  }
  .section01__list li img {
    width: 20rem;
    position: relative;
    top: 0;
    order: 2;
    margin-bottom: 2rem;
  }
  .section01__list li .title {
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
  .section01__list li .txt {
    line-height: 1.6;
    order: 3;
  }
}

.section02 {
  background: url(../img/bg.png) top left/cover no-repeat;
  padding: 20rem 0;
}
.section02 .section-title02 {
  margin-right: 21rem;
}
.section02 .section-title02 img {
  width: 25rem;
  height: auto;
  margin-bottom: 2.2rem;
}
.section02 .section-title02 span {
  display: block;
  font-size: 2.8rem;
}
.section02__list li {
  margin-bottom: 12rem;
}
.section02__list li:last-child {
  margin-bottom: 0;
}
.section02__list li .title {
  font-size: 3rem;
  display: flex;
  align-items: center;
  line-height: 1.3;
  margin-bottom: 4rem;
}
.section02__list li .title .nam {
  font-size: 5rem;
  margin-right: 4.5rem;
}
.section02__list li .txt {
  margin-left: 12.4rem;
}
@media screen and (max-width: 1024px) {
  .section02 {
    padding: 6rem 0 10rem;
  }
  .section02 .l-section__inner {
    padding: 0 3%;
  }
  .section02 .flex-block {
    flex-flow: column;
  }
  .section02 .section-title02 {
    margin-right: 0;
    margin-bottom: 8.4rem;
  }
  .section02 .section-title02 img {
    width: 17rem;
    margin-bottom: 1.6rem;
  }
  .section02 .section-title02 span {
    font-size: 1.8rem;
  }
  .section02__list li {
    margin-bottom: 8rem;
  }
  .section02__list li .title {
    font-size: 1.8rem;
    line-height: 1.4;
    margin-bottom: 2rem;
  }
  .section02__list li .title .nam {
    font-size: 4rem;
    margin-right: 2rem;
  }
  .section02__list li .txt {
    line-height: 1.6;
    margin-left: 0;
  }
}

.section03 {
  padding: 15rem 0;
}
.section03 .l-section__inner {
  padding: 0 3%;
}
.section03 .l-section__inner h3.section-title {
  margin: 0 1% 10rem;
}
.section03 .section-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2.2rem;
}
.section03 .section-table th, .section03 .section-table td {
  text-align: center;
  vertical-align: middle;
  font-size: 2rem;
  line-height: 1.8;
  border-radius: 1rem;
}
.section03 .section-table th .block, .section03 .section-table td .block {
  display: block;
}
.section03 .section-table th.txt-l, .section03 .section-table td.txt-l {
  text-align: left;
  vertical-align: top;
  font-size: 1.6rem;
}
.section03 .section-table th.p-10, .section03 .section-table td.p-10 {
  padding: 2rem;
}
.section03 .section-table th.p-20, .section03 .section-table td.p-20 {
  padding: 2rem 0;
}
.section03 .section-table th.title-blue, .section03 .section-table td.title-blue {
  background-color: #2A45FF;
  padding: 0.6rem 0;
  color: #fff;
}
.section03 .section-table th.title-l-blue, .section03 .section-table td.title-l-blue {
  color: #2A45FF;
  background-color: #edf3fe;
  padding: 0 1rem;
  white-space: nowrap;
  width: 15%;
}
.section03 .section-table th.border-blue, .section03 .section-table td.border-blue {
  border: solid 1px #2A45FF;
  padding: 2.4rem 0 0.2rem;
  width: 30%;
}
.section03 .section-table th.border-blue img, .section03 .section-table td.border-blue img {
  width: 21.4rem;
  height: auto;
}
.section03 .section-table th.border-blue .image-l img, .section03 .section-table td.border-blue .image-l img {
  width: 17rem;
}
.section03 .section-table th .c-btn a, .section03 .section-table td .c-btn a {
  font-size: 2.4rem;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
  height: 13rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section03 .section-table th .c-btn a:hover, .section03 .section-table td .c-btn a:hover {
  transition: opacity 0.3s ease;
}
.section03 .section-table th .c-btn a:hover:hover, .section03 .section-table td .c-btn a:hover:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1024px) {
  .section03 {
    padding: 10rem 0;
  }
  .section03 .l-section__inner {
    padding: 0 4%;
  }
  .section03 .l-section__inner h3.section-title {
    margin: 0 0 3rem;
  }
  .section03 .l-section__inner .scroll {
    width: 23rem;
    height: 2.4rem;
    background: url(../img/scroll-bg.png) center/cover no-repeat;
    margin-left: auto;
    margin-right: 1rem;
    margin-bottom: 0.5rem;
  }
  .section03 .l-section__inner .scroll p {
    color: #2A45FF;
    margin-left: 1rem;
  }
  .section03 .table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }
  .section03 .section-table {
    margin-left: -1.2rem;
    border-spacing: 1.2rem;
    width: 65rem;
    position: relative;
  }
  .section03 .section-table::after {
    display: block;
    content: "";
    background-color: #fff;
    background-color: #fff;
    width: 11rem;
    height: 80%;
    position: fixed;
    left: 0;
    top: 21rem;
    z-index: 10;
  }
  .section03 .section-table th, .section03 .section-table td {
    font-size: 1.4rem;
    line-height: 1.6;
    border-radius: 0;
    z-index: 1;
    position: relative;
  }
  .section03 .section-table th.fixed01, .section03 .section-table td.fixed01 {
    position: sticky;
    left: 0;
    z-index: 20;
  }
  .section03 .section-table th.txt-l, .section03 .section-table td.txt-l {
    font-size: 1.6rem;
  }
  .section03 .section-table th p, .section03 .section-table td p {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .section03 .section-table th.p-10, .section03 .section-table td.p-10 {
    padding: 0.5rem 0 0.5rem 1rem;
  }
  .section03 .section-table th.p-10 .f--bold.f--blue, .section03 .section-table td.p-10 .f--bold.f--blue {
    font-size: 1.7rem;
    line-height: 1.3;
  }
  .section03 .section-table th.p-10 .f--48, .section03 .section-table td.p-10 .f--48 {
    font-size: 4rem !important;
  }
  .section03 .section-table th.p-10 .f--38, .section03 .section-table td.p-10 .f--38 {
    font-size: 3rem !important;
  }
  .section03 .section-table th.p-20, .section03 .section-table td.p-20 {
    padding: 1rem 0;
  }
  .section03 .section-table th.p-20 .f--bold, .section03 .section-table td.p-20 .f--bold {
    font-weight: 600;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
  }
  .section03 .section-table th.title-blue, .section03 .section-table td.title-blue {
    padding: 1.6rem 0;
    border-radius: 0.5rem;
    width: 23rem;
  }
  .section03 .section-table th .f--24, .section03 .section-table td .f--24 {
    font-size: 1.6rem !important;
  }
  .section03 .section-table th.title-l-blue, .section03 .section-table td.title-l-blue {
    white-space: nowrap;
    padding: 0 0.2rem;
    width: 11%;
    border-radius: 0.5rem;
  }
  .section03 .section-table th.title-l-blue p, .section03 .section-table td.title-l-blue p {
    font-size: 1.5rem;
  }
  .section03 .section-table th.border-blue, .section03 .section-table td.border-blue {
    padding: 2rem 0 0.6rem;
    width: 24rem;
    border-radius: 0.5rem;
  }
  .section03 .section-table th.border-blue img, .section03 .section-table td.border-blue img {
    width: 9.2rem;
  }
  .section03 .section-table th.border-blue .image-l img, .section03 .section-table td.border-blue .image-l img {
    width: 7rem;
  }
  .section03 .section-table th .c-btn a, .section03 .section-table td .c-btn a {
    font-size: 1.8rem;
    height: 10rem;
  }
  .section03 .section-table th .c-btn.c-btn__gray a, .section03 .section-table td .c-btn.c-btn__gray a {
    font-size: 2.4rem;
  }
}

.section04 {
  padding: 15rem 0 5rem;
}
.section04 .l-section__inner {
  padding: 0 3%;
}
.section04 .l-section__inner h3.section-title {
  margin: 0 1% 10rem;
}
.section04 .table-wrap {
  position: relative;
}
.section04 .table-wrap::after, .section04 .table-wrap::before {
  display: block;
  content: "";
  position: absolute;
}
.section04 .table-wrap::before {
  width: 1.2rem;
  height: calc(100% - 14rem);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(42, 69, 255) 100%);
  left: 14rem;
}
.section04 .table-wrap::after {
  width: calc(100% - 14rem);
  height: 1.2rem;
  background: linear-gradient(270deg, rgb(255, 255, 255) 0%, rgb(42, 69, 255) 100%);
  bottom: 14rem;
  right: 0;
}
.section04 .table-wrap .section-table {
  border-collapse: separate;
  border-spacing: 1.4rem;
  height: 100%;
  width: 100%;
  table-layout: fixed;
}
.section04 .table-wrap .section-table th.bg-gray {
  background: #F6F6F6;
  font-size: 3rem;
  height: 5rem;
  vertical-align: middle;
  letter-spacing: 0.7em;
}
.section04 .table-wrap .section-table th.bg-gray.tb-rl {
  height: auto;
  width: 5rem;
  align-items: center;
}
.section04 .table-wrap .section-table th.bg-gray.tb-rl span {
  white-space: pre;
  writing-mode: vertical-rl;
  display: inline-block;
}
.section04 .table-wrap .section-table th.bg-gray.ls-4 {
  letter-spacing: 0.4em;
}
.section04 .table-wrap .section-table .sec {
  text-align: center;
  height: 100%;
  vertical-align: top;
}
.section04 .table-wrap .section-table .sec .border {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 4rem;
}
.section04 .table-wrap .section-table .sec .border .title {
  margin-bottom: 2rem;
}
.section04 .table-wrap .section-table .sec .border img {
  width: 25rem;
  height: auto;
  margin-bottom: 1rem;
}
.section04 .table-wrap .section-table .sec .border ul {
  text-align: left;
  list-style: disc;
  margin-top: 1rem;
  padding: 0 4.5rem;
}
.section04 .table-wrap .section-table .sec .border ul li {
  line-height: 1.8;
}
.section04 .table-wrap .section-table .sec.sec01 {
  padding-left: 2.3rem;
}
.section04 .table-wrap .section-table .sec.sec01 .border {
  border: solid 1px #E0E0E0;
}
.section04 .table-wrap .section-table .sec.sec02 {
  background-color: #2A45FF;
  color: #fff;
}
.section04 .table-wrap .section-table .sec.sec02 img {
  margin: 9rem 0;
}
.section04 .table-wrap .section-table .sec.sec03 {
  padding-bottom: 2.3rem;
}
.section04 .table-wrap .section-table .sec.sec03 .border {
  border: solid 1px #E0E0E0;
}
.section04 .table-wrap .section-table .sec.sec03 img {
  width: 13.5rem;
  height: auto;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1024px) {
  .section04 {
    padding: 5rem 0;
  }
  .section04 .l-section__inner {
    padding: 0 0.4rem;
  }
  .section04 .l-section__inner h3.section-title {
    margin: 0 2% 4rem;
  }
  .section04 .table-wrap::before {
    width: 0.4rem;
    height: calc(100% - 4rem);
    left: 4rem;
  }
  .section04 .table-wrap::after {
    width: calc(100% - 4rem);
    height: 0.4rem;
    bottom: 4rem;
    right: 0;
  }
  .section04 .table-wrap .section-table {
    border-spacing: 0.4rem;
  }
  .section04 .table-wrap .section-table th.bg-gray {
    font-size: 1rem;
    height: 1.5rem;
    border: solid 0.5px #000;
  }
  .section04 .table-wrap .section-table th.bg-gray.tb-rl {
    letter-spacing: 0.8em;
    width: 1.5rem;
  }
  .section04 .table-wrap .section-table .sec .border {
    padding: 1rem 0.4rem;
    justify-content: flex-start;
  }
  .section04 .table-wrap .section-table .sec .border .title {
    margin-bottom: 1rem;
    font-size: 1.3rem !important;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .section04 .table-wrap .section-table .sec .border .sp-b {
    color: #2A45FF;
  }
  .section04 .table-wrap .section-table .sec .border ul {
    margin-top: 0;
    margin-left: 1.5rem;
    padding: 0;
  }
  .section04 .table-wrap .section-table .sec .border ul li {
    line-height: 1.6;
    font-size: 0.8rem;
    letter-spacing: 0;
  }
  .section04 .table-wrap .section-table .sec.sec01 {
    padding-left: 0.4rem;
  }
  .section04 .table-wrap .section-table .sec.sec01 .border {
    border: solid 1px #E0E0E0;
  }
  .section04 .table-wrap .section-table .sec.sec02 img {
    margin: 0.5rem 0 1rem 0;
    width: 7rem;
  }
  .section04 .table-wrap .section-table .sec.sec03 {
    padding-bottom: 0.4rem;
  }
}

.section05 {
  padding: 15rem 0;
}
.section05 .l-section__inner h3.section-title {
  margin-bottom: 5rem;
}
.section05 p {
  text-align: center;
}
.section05__list {
  display: flex;
  justify-content: space-between;
  margin: 12rem 0 10rem;
}
@media screen and (min-width: 1600px) {
  .section05__list {
    justify-content: center;
  }
}
.section05__list li {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
.section05__list li .title {
  font-size: 3.8rem;
}
.section05__list li .title span {
  font-size: 2.4rem;
  color: #000;
  display: block;
}
.section05__list li:nth-child(1) img {
  width: 33.8rem;
  height: auto;
  margin-bottom: 2rem;
}
.section05__list li:nth-child(2) {
  margin: 0 8rem;
}
.section05__list li:nth-child(2) img {
  width: 23.4rem;
  height: auto;
}
.section05__list li:nth-child(3) img {
  width: 21.2rem;
  height: auto;
}
.section05__list li .c-btn {
  width: 32rem;
}
.section05__list li .c-btn a {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic", "Hiragino Sans", Meiryo, sans-serif;
  color: #000;
  font-weight: 600;
  line-height: 1.8;
  padding: 1.2rem 0;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
}
.section05__list li .c-btn a:hover {
  transition: opacity 0.3s ease;
}
.section05__list li .c-btn a:hover:hover {
  opacity: 0.6;
}
.section05__list li .c-btn.none a {
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .section05 {
    padding: 7rem 0;
  }
  .section05 .l-section__inner h3.section-title {
    margin-bottom: 4rem;
  }
  .section05 .l-section__inner p {
    font-size: 1.6rem;
  }
  .section05__list {
    flex-flow: column;
    margin: 6rem 0 5rem;
  }
  .section05__list li {
    justify-content: flex-start;
    margin-bottom: 4.4rem;
  }
  .section05__list li .title {
    font-size: 2.2rem;
    letter-spacing: 0;
  }
  .section05__list li .title span {
    font-size: 1.6rem;
  }
  .section05__list li:nth-child(1) img {
    width: 20rem;
    margin: 2rem 0;
  }
  .section05__list li:nth-child(2) {
    margin: 0 0 4.4rem 0;
  }
  .section05__list li:nth-child(2) img {
    width: 14rem;
    margin: 3rem 0;
  }
  .section05__list li:nth-child(3) {
    margin-bottom: 0;
  }
  .section05__list li:nth-child(3) img {
    width: 20rem;
    margin: 2.2rem 0;
  }
  .section05__list li .c-btn {
    width: 32rem;
  }
  .section05__list li .c-btn a {
    font-size: 1.8rem;
    padding: 0.8rem 0;
    font-family: "Hiragino Kaku Gothic StdN", "ヒラギノ角ゴシック", "メイリオ", "Arial", sans-serif;
    font-weight: 800;
  }
}

.section06 {
  padding: 15rem 0 6rem;
}
.section06__list {
  display: flex;
  justify-content: space-between;
}
.section06__list li {
  width: 32%;
}
.section06__list li img {
  width: 100%;
  height: auto;
}
.section06__list li .name {
  margin: 2rem 0;
  font-size: 2rem;
  line-height: 1.4;
}
.section06__list li .name span {
  font-size: 3rem;
  display: block;
}
.section06__list li .company {
  line-height: 2;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1024px) {
  .section06 {
    padding: 7rem 0;
  }
  .section06__list {
    flex-flow: column;
  }
  .section06__list li {
    width: 100%;
    margin-bottom: 10rem;
  }
  .section06__list li:last-child {
    margin-bottom: 0;
  }
  .section06__list li .name {
    margin: 2rem 0 1.4rem;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .section06__list li .name span {
    font-size: 1.8rem;
  }
  .section06__list li .company {
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .section06__list li .txt {
    line-height: 1.6;
    letter-spacing: 0;
  }
}

.section07 {
  padding: 15rem 0 20rem;
}
.section07 .l-section__inner h3.section-title {
  margin-bottom: 5rem;
}
.section07 .form-block {
  margin-top: 5rem;
}
.section07 .form-block .field {
  margin-bottom: 4rem;
  width: 100%;
}
.section07 .form-block span {
  display: block;
  margin-bottom: 3rem;
}
.section07 .form-block .note {
  display: inline-block;
  margin-bottom: 0;
}
.section07 .form-block .column {
  display: flex;
  justify-content: space-between;
}
.section07 .form-block .column .field {
  width: 49%;
}
.section07 .form-block .select {
  position: relative;
  width: 49%;
}
.section07 .form-block .select select {
  background-color: #fff;
  color: #000;
  font-weight: 700;
}
.section07 .form-block .select::after {
  display: block;
  content: "";
  background-image: url(../img/arrow.svg);
  width: 2rem;
  height: 1.5rem;
  position: absolute;
  right: 2.8rem;
  top: 50%;
  transform: translateY(-50%);
  background-size: cover;
  background-repeat: no-repeat;
}
.section07 .form-block #emailConfirmError {
  margin-top: 1rem;
}
.section07 .form-block textarea {
  padding: 16px;
  min-height: 43rem;
  resize: none;
}
.section07 .form-block .agree {
  justify-content: center;
  align-items: center;
  gap: 0;
  font-size: 2rem;
  position: relative;
}
.section07 .form-block .agree a {
  text-decoration: underline;
  margin-left: 1.4rem;
}
.section07 .form-block .agree a:hover {
  transition: opacity 0.3s ease;
}
.section07 .form-block .agree a:hover:hover {
  opacity: 0.6;
}
.section07 .form-block .c-btn input {
  cursor: pointer;
  border-radius: 1rem;
  letter-spacing: 0;
  font-size: 2.2rem;
  padding: 1.8rem 0;
  position: relative;
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);
  transition: 0.2s;
}
.section07 .form-block .c-btn input:hover {
  box-shadow: unset;
  transform: translateY(3px);
}
.section07 .form-block .c-btn input:disabled {
  cursor: not-allowed;
}
.section07 .form-block .c-btn input:disabled:hover {
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);
  transform: none;
}
@media screen and (max-width: 1024px) {
  .section07 {
    padding: 8rem 0 10rem;
  }
  .section07 .l-section__inner h3.section-title {
    margin-bottom: 3.5rem;
  }
  .section07 .l-section__inner p {
    line-height: 1.6;
  }
  .section07 .form-block {
    margin-top: 5.5rem;
  }
  .section07 .form-block label {
    font-size: 1.6rem;
  }
  .section07 .form-block .field {
    margin-bottom: 2rem;
    width: 100%;
  }
  .section07 .form-block span {
    margin-bottom: 1rem;
  }
  .section07 .form-block .note {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
  .section07 .form-block .column {
    flex-flow: column;
  }
  .section07 .form-block .column .field {
    width: 100%;
  }
  .section07 .form-block .checkbox-1 {
    flex-flow: column;
    margin-top: 2rem;
  }
  .section07 .form-block .checkbox-1 label {
    margin-bottom: 1.5rem;
  }
  .section07 .form-block .checkbox-1 label::before {
    border: solid 2px #000;
    border-radius: 0.4rem;
  }
  .section07 .form-block .checkbox-1 label:has(:checked)::before {
    border: solid 2px #2A45FF;
  }
  .section07 .form-block .select {
    width: 100%;
  }
  .section07 .form-block .select::after {
    right: 2rem;
    width: 1.4rem;
    height: 1.1rem;
  }
  .section07 .form-block .agree {
    font-size: 1.6rem;
    flex-flow: nowrap;
  }
  .section07 .form-block .agree label {
    margin-bottom: 0;
  }
  .section07 .form-block .c-btn input {
    padding: 2rem 0;
  }
}

.section08 {
  padding: 20rem 0 10rem;
  position: relative;
  overflow: hidden;
}
.section08 .sec-bg {
  width: 100%;
  position: absolute;
  top: 6rem;
  left: 0;
  opacity: 0;
}
.section08 .sec-bg svg {
  width: 100vw;
}
.section08 .sec-bg.active {
  opacity: 1;
}
.section08 .sec-bg.active .st1 {
  stroke: #2A45FF;
  stroke-dasharray: 2000;
  stroke-dashoffset: 0;
  stroke-width: 2;
  animation: hello2 2s ease-in 0s;
}
.section08 .l-section__inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.section08 .l-section__inner img {
  width: 25rem;
}
.section08 .l-section__inner .txt-block {
  margin-left: 26rem;
}
.section08 .l-section__inner .txt-block .title {
  margin-bottom: 7rem;
  font-size: 3.8rem;
}
@media screen and (max-width: 1024px) {
  .section08 {
    padding: 20rem 0 15rem;
  }
  .section08 .sec-bg {
    top: 0;
  }
  .section08 .l-section__inner {
    flex-flow: column;
  }
  .section08 .l-section__inner img {
    width: 20rem;
    margin-bottom: 7rem;
  }
  .section08 .l-section__inner .txt-block {
    margin-left: 0;
  }
  .section08 .l-section__inner .txt-block .title {
    margin-bottom: 3rem;
    font-size: 2rem;
    text-align: center;
  }
  .section08 .l-section__inner .txt-block .txt {
    font-size: 1.6rem;
  }
}

.l-section {
  opacity: 0;
}
.l-section.show {
  animation: fadeInUp 1.4s ease-out forwards;
}

@keyframes fadeInUp {
  0% {
    transform: translateY(50%);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes hello {
  0% {
    stroke-dashoffset: 1800;
    fill: transparent;
  }
  5% {
    stroke-dashoffset: 1750;
    fill: transparent;
  }
  10% {
    stroke-dashoffset: 1700;
    fill: transparent;
  }
  15% {
    stroke-dashoffset: 1650;
    fill: transparent;
  }
  20% {
    stroke-dashoffset: 1600;
    fill: transparent;
  }
  25% {
    stroke-dashoffset: 1550;
    fill: transparent;
  }
  30% {
    stroke-dashoffset: 1500;
    fill: transparent;
  }
  35% {
    stroke-dashoffset: 1450;
    fill: transparent;
  }
  40% {
    stroke-dashoffset: 1400;
    fill: transparent;
  }
  45% {
    stroke-dashoffset: 1350;
    fill: transparent;
  }
  50% {
    stroke-dashoffset: 1300;
    fill: transparent;
  }
  55% {
    stroke-dashoffset: 1250;
    fill: transparent;
  }
  60% {
    stroke-dashoffset: 1200;
    fill: transparent;
  }
  100% {
    stroke-dashoffset: 0;
    fill: transparent;
  }
}
@keyframes hello2 {
  0% {
    stroke-dashoffset: 2000;
    fill: transparent;
  }
  50% {
    stroke-dashoffset: 2000;
    fill: transparent;
  }
  100% {
    fill: transparent;
  }
}
@keyframes title_text {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%, 100% {
    opacity: 1;
  }
}
@keyframes fadeInSlide {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.privacy {
  padding: 20rem 0 10rem;
}
.privacy__inner {
  padding: 0 10%;
}
.privacy__inner h3 {
  margin-bottom: 4rem;
  text-align: center;
  font-weight: 600;
}
.privacy__inner h3 span {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 2rem;
}
.privacy__inner h3 .title {
  font-size: 3.8rem;
}
.privacy__inner p {
  text-align: center;
}
.privacy__inner table {
  margin: 6rem 0 5rem;
  width: 100%;
}
.privacy__inner table th, .privacy__inner table td {
  display: block;
  text-align: left;
}
.privacy__inner table th {
  padding-top: 6rem;
  padding-bottom: 2rem;
}
.privacy__inner table td {
  border-bottom: 1px solid #DADADA;
  padding-bottom: 1.4rem;
  line-height: 1.8;
}
.privacy__inner table td ul {
  list-style: disc;
  margin-left: 2rem;
}
.privacy__inner table td a {
  text-decoration: underline;
  display: inline-block;
}
.privacy__inner table tr:last-child td {
  border-bottom: none;
}
.privacy__inner .c-btn {
  margin: 6rem auto;
  width: 45rem;
}
.privacy__inner .c-btn input, .privacy__inner .c-btn button {
  padding: 2rem 0;
  font-size: 1.6rem;
  cursor: pointer;
}
.privacy__inner .c-btn input:hover, .privacy__inner .c-btn button:hover {
  transition: opacity 0.3s ease;
}
.privacy__inner .c-btn input:hover:hover, .privacy__inner .c-btn button:hover:hover {
  opacity: 0.6;
}
.privacy__inner .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.privacy__inner .flex p a {
  display: inline-block;
}
.privacy__inner .flex p a:hover {
  transition: opacity 0.3s ease;
}
.privacy__inner .flex p a:hover:hover {
  opacity: 0.6;
}
.privacy__inner .flex .logo img {
  width: 20rem;
  height: auto;
}
@media only screen and (min-width: 1441px) {
  .privacy__inner {
    width: 140rem;
    margin: 0 auto;
    padding: 0;
  }
}
@media screen and (max-width: 1024px) {
  .privacy {
    padding: 12rem 0 5rem;
  }
  .privacy__inner {
    padding: 0 4%;
  }
  .privacy__inner h3 {
    margin-bottom: 4rem;
    text-align: center;
    font-weight: 600;
  }
  .privacy__inner h3 span {
    font-size: 1.6rem;
  }
  .privacy__inner h3 .title {
    font-size: 2.6rem;
  }
  .privacy__inner p {
    text-align: left;
  }
  .privacy__inner table {
    margin: 2rem 0 5rem;
  }
  .privacy__inner table th {
    padding-top: 4rem;
    padding-bottom: 1.6rem;
  }
  .privacy__inner table td {
    padding-bottom: 1rem;
  }
  .privacy__inner table td ul {
    margin-left: 2rem;
  }
  .privacy__inner .c-btn {
    margin: 0 auto 6rem;
    width: 100%;
  }
  .privacy__inner .c-btn input, .privacy__inner .c-btn button {
    font-size: 1.4rem;
  }
  .privacy__inner .flex {
    display: flex;
    justify-content: center;
    flex-flow: column;
  }
  .privacy__inner .flex p {
    margin-bottom: 6rem;
  }
  .privacy__inner .flex p a {
    display: inline-block;
  }
  .privacy__inner .flex p a:hover {
    transition: opacity 0.3s ease;
  }
  .privacy__inner .flex p a:hover:hover {
    opacity: 0.6;
  }
  .privacy__inner .flex .logo img {
    width: 20rem;
    height: auto;
  }
}

.contact {
  padding: 20rem 0 19rem;
}
.contact__inner {
  padding: 0 4%;
}
.contact__inner h3 {
  margin-bottom: 4rem;
  text-align: center;
  font-size: 3rem;
}
.contact__inner p {
  text-align: center;
}
.contact__inner .form-block {
  margin-top: 10rem;
}
.contact__inner .form-block .field {
  margin-bottom: 4rem;
  width: 100%;
}
.contact__inner .form-block span {
  display: block;
  margin-bottom: 3rem;
}
.contact__inner .form-block .note {
  display: inline-block;
  margin-bottom: 0;
}
.contact__inner .form-block .column {
  display: flex;
  justify-content: space-between;
}
.contact__inner .form-block .column .field {
  width: 49%;
}
.contact__inner .form-block .select {
  position: relative;
  width: 49%;
}
.contact__inner .form-block .select select {
  background-color: #fff;
  color: #000;
  font-weight: 700;
}
.contact__inner .form-block .select::after {
  display: block;
  content: "";
  background-image: url(../img/arrow.svg);
  width: 2rem;
  height: 1.5rem;
  position: absolute;
  right: 2.8rem;
  top: 50%;
  transform: translateY(-50%);
  background-size: cover;
  background-repeat: no-repeat;
}
.contact__inner .form-block #emailConfirmError {
  margin-top: 1rem;
}
.contact__inner .form-block textarea {
  padding: 16px;
  min-height: 43rem;
  resize: none;
}
.contact__inner .form-block .agree {
  justify-content: center;
  align-items: center;
  gap: 0;
  font-size: 2rem;
  position: relative;
}
.contact__inner .form-block .agree a {
  text-decoration: underline;
  margin-left: 1.4rem;
}
.contact__inner .form-block .agree a:hover {
  transition: opacity 0.3s ease;
}
.contact__inner .form-block .agree a:hover:hover {
  opacity: 0.6;
}
.contact__inner .form-block .c-btn input {
  cursor: pointer;
  border-radius: 1rem;
  letter-spacing: 0;
  font-size: 2.2rem;
  padding: 1.8rem 0;
  position: relative;
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);
  transition: 0.2s;
}
.contact__inner .form-block .c-btn input:hover {
  box-shadow: unset;
  transform: translateY(3px);
}
.contact__inner .form-block .c-btn input:disabled {
  cursor: not-allowed;
}
.contact__inner .form-block .c-btn input:disabled:hover {
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);
  transform: none;
}
@media screen and (max-width: 1024px) {
  .contact {
    padding: 12rem 0;
  }
  .contact__inner h3 {
    font-size: 2.4rem;
  }
  .contact__inner p {
    text-align: center;
  }
  .contact__inner .form-block {
    margin-top: 5rem;
  }
  .contact__inner .form-block label {
    font-size: 1.6rem;
  }
  .contact__inner .form-block .field {
    margin-bottom: 2rem;
    width: 100%;
  }
  .contact__inner .form-block span {
    margin-bottom: 1rem;
  }
  .contact__inner .form-block .note {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
  .contact__inner .form-block .column {
    flex-flow: column;
  }
  .contact__inner .form-block .column .field {
    width: 100%;
  }
  .contact__inner .form-block .checkbox-1 {
    flex-flow: column;
    margin-top: 2rem;
  }
  .contact__inner .form-block .checkbox-1 label {
    margin-bottom: 1.5rem;
  }
  .contact__inner .form-block .checkbox-1 label::before {
    border: solid 2px #000;
    border-radius: 0.4rem;
  }
  .contact__inner .form-block .checkbox-1 label:has(:checked)::before {
    border: solid 2px #2A45FF;
  }
  .contact__inner .form-block .select {
    width: 100%;
  }
  .contact__inner .form-block .select::after {
    right: 2rem;
    width: 1.4rem;
    height: 1.1rem;
  }
  .contact__inner .form-block .agree {
    font-size: 1.6rem;
    flex-flow: nowrap;
  }
  .contact__inner .form-block .agree label {
    margin-bottom: 0;
  }
  .contact__inner .form-block .c-btn input {
    padding: 2rem 0;
  }
}

.confirm {
  padding: 20rem 0 5rem;
}
.confirm__inner {
  padding: 0 6%;
}
.confirm__inner h3 {
  margin-bottom: 5.5rem;
  text-align: center;
  font-weight: 700;
  font-size: 3rem;
}
.confirm__inner .confirm-table {
  border-radius: 1rem;
  background: #FAFAFA;
  width: 100%;
}
.confirm__inner .confirm-table th, .confirm__inner .confirm-table td {
  text-align: left;
  display: block;
  padding: 1rem 8rem;
  line-height: 1.8;
}
.confirm__inner .confirm-table td {
  padding-bottom: 4rem;
}
.confirm__inner .confirm-table tr:first-child th {
  padding-top: 5rem;
}
.confirm__inner .confirm-table tr:last-child td {
  padding-bottom: 6rem;
}
.confirm__inner .btn-block {
  margin-top: 8.7rem;
}
.confirm__inner .btn-block .c-btn {
  margin: 0 auto;
  width: 45.2rem;
  margin-bottom: 2rem;
}
.confirm__inner .btn-block .c-btn input, .confirm__inner .btn-block .c-btn button {
  padding: 2.8rem 0;
  font-size: 1.6rem;
  cursor: pointer;
}
.confirm__inner .btn-block .c-btn input:hover, .confirm__inner .btn-block .c-btn button:hover {
  transition: opacity 0.3s ease;
}
.confirm__inner .btn-block .c-btn input:hover:hover, .confirm__inner .btn-block .c-btn button:hover:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1024px) {
  .confirm {
    padding: 6rem 0 4rem;
  }
  .confirm__inner {
    padding: 0 4%;
  }
  .confirm__inner h3 {
    margin-bottom: 4rem;
    font-size: 2.4rem;
  }
  .confirm__inner .confirm-table th, .confirm__inner .confirm-table td {
    padding: 1rem 2rem 0 2rem;
  }
  .confirm__inner .confirm-table td {
    padding-bottom: 3rem;
  }
  .confirm__inner .confirm-table tr:first-child th {
    padding-top: 3rem;
  }
  .confirm__inner .confirm-table tr:last-child td {
    padding-bottom: 3rem;
  }
  .confirm__inner .btn-block {
    margin-top: 4rem;
  }
  .confirm__inner .btn-block .c-btn {
    width: 100%;
    margin-bottom: 2rem;
  }
  .confirm__inner .btn-block .c-btn input, .confirm__inner .btn-block .c-btn button {
    padding: 2.8rem 0;
  }
}

.complete {
  position: relative;
}
.complete__inner {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
}
.complete__inner .logo {
  margin-bottom: 4.5rem;
}
.complete__inner .logo img {
  width: 16.7rem;
  height: auto;
}
.complete__inner .title {
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 2rem;
  text-align: center;
}
.complete__inner .txt {
  font-size: 1.8rem;
  text-align: center;
}
.complete__inner .bg {
  width: 100%;
  position: absolute;
  bottom: 3rem;
  left: 0;
}
.complete__inner .bg svg {
  width: 100vw;
}
.complete__inner .bg .st1 {
  stroke: #2A45FF;
  stroke-dasharray: 2000;
  stroke-dashoffset: 0;
  stroke-width: 2;
  animation: hello2 1s ease-in 0s;
}
.complete__inner .c-btn {
  margin: 10rem auto 0;
  width: 45rem;
  position: relative;
  z-index: 10;
}
.complete__inner .c-btn a {
  padding: 2rem 0;
  font-size: 1.6rem;
  cursor: pointer;
}
.complete__inner .c-btn a:hover {
  transition: opacity 0.3s ease;
}
.complete__inner .c-btn a:hover:hover {
  opacity: 0.6;
}
.complete__inner span {
  font-size: 1.4rem;
  margin-top: 2.2rem;
}
@media screen and (max-width: 750px) {
  .complete__inner span {
    line-height: 1.75;
    font-size: 1.2rem;
    text-align: center;
  }
}
@media screen and (max-width: 1024px) {
  .complete__inner {
    padding: 0 4%;
  }
  .complete__inner .logo {
    margin-bottom: 4rem;
  }
  .complete__inner .title {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
  }
  .complete__inner .txt {
    font-size: 1.4rem;
  }
  .complete__inner .bg {
    top: 5rem;
    bottom: auto;
  }
  .complete__inner .bg .st1 {
    animation: hello2 1s ease-in 0s;
  }
  .complete__inner .c-btn {
    margin: 6rem auto 0;
    width: 100%;
  }
  .complete__inner .c-btn a {
    font-size: 1.4rem;
  }
}

@media only screen and (min-width: 1441px) {
  .contact__inner,
  .confirm__inner,
  .complete__inner {
    width: 140rem;
    margin: 0 auto;
    padding: 0;
  }
}

/*---------------------------------------------------

  アニメーションcss

----------------------------------------------------*/
.slidein {
  opacity: 0;
}

.slidein.is-active {
  animation: slideIn 0.5s cubic-bezier(0.23, 1, 0.32, 1) 1 forwards;
}

@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
.fade_up {
  transform: translateY(50px);
  opacity: 0;
}

.fade_up.is-active {
  transition: 0.3s;
  transform: translateY(0);
  opacity: 1;
}

.fadein {
  opacity: 0;
  animation: fadein 3s ease forwards;
}

@keyframes fadein {
  100% {
    opacity: 1;
  }
}
.mv__title {
  animation-delay: 1s;
}

.mv__text {
  animation-delay: 2s;
}

@keyframes jump {
  0% {
    transform: scale(1, 0.8);
  }
  20% {
    transform: scale(0.8, 1.1);
  }
  90% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 0.8);
  }
}/*# sourceMappingURL=style.css.map */