@charset "UTF-8";
.cf-turnstile {
  margin: 0 auto 4rem;
}

/* --------------------
  keyframes
-------------------- */
@keyframes blur {
  0% {
    filter: blur(6px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
/* --------------------
  animation
-------------------- */
.u-animation-blur {
  opacity: 0;
}
.u-animation-blur.is-active {
  animation: blur 1s ease-in-out 0.2s forwards;
}

/* --------------------
  heading
-------------------- */
.c-heading__en {
  font-size: 5rem;
  font-weight: normal;
  font-family: var(--Lexend);
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1D4294;
}
@media screen and (max-width: 768px) {
  .c-heading__en {
    font-size: 3rem;
  }
}
.c-heading__ja {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.c-heading.-white {
  color: #fff;
}
.c-heading.-white .c-heading__en {
  color: #fff;
}
.c-heading.-vertical {
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-heading.-vertical {
    writing-mode: rl;
  }
}
.c-heading.-vertical .c-heading__ja {
  letter-spacing: 0.24em;
}
@media screen and (max-width: 768px) {
  .c-heading.-vertical .c-heading__ja {
    letter-spacing: 0.08em;
  }
}

/* --------------------
  heading
-------------------- */
.c-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 25rem;
  height: 5rem;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #1D4294;
  padding: 0 3.2rem;
  border: 2px solid #1D4294;
  border-radius: 10rem;
}
@media screen and (max-width: 768px) {
  .c-button {
    max-width: 25rem;
    width: 100%;
  }
}
.c-button:after {
  content: "→";
  position: absolute;
  display: flex;
  align-items: center;
  top: 0;
  right: 1.6rem;
  bottom: 0;
  margin: auto;
  transition: 0.3s;
}
.c-button:hover {
  color: #fff;
  background: #1D4294;
}
.c-button:hover:after {
  color: #fff;
}
.c-button.-white {
  color: #fff;
  border: 2px solid #fff;
}
.c-button.-white:hover {
  color: #1D4294;
  background: #fff;
}
.c-button.-white:hover:after {
  color: #1D4294;
}
.c-button.-blue {
  color: #fff;
  background: #1D4294;
  border: 2px solid #1D4294;
}
.c-button.-blue:after {
  color: #fff;
}
.c-button.-blue:hover {
  color: #1D4294;
  background: #fff;
}
.c-button.-blue:hover:after {
  color: #1D4294;
}

/* --------------------
  table
-------------------- */
.c-table {
  width: 100%;
}
.c-table__row-sp {
  display: none;
}
.c-table th, .c-table td {
  font-size: 1.6rem;
  line-height: 1.6;
  padding: 2.4rem;
  border: 1px solid #cfdde8;
}
@media screen and (max-width: 768px) {
  .c-table th, .c-table td {
    font-size: 1.1rem;
    padding: 0.8rem;
  }
}
.c-table th {
  width: 20rem;
  text-align: center;
  background: #cfdde8;
  border: 1px solid #f0f0f0;
}
.c-table th.c-table__sub-head {
  background: none;
  border: 1px solid #cfdde8;
}
@media screen and (max-width: 768px) {
  .c-table {
    table-layout: fixed;
  }
  .c-table__row-pc {
    display: none;
  }
  .c-table__row-sp {
    display: table-row;
  }
  .c-table th {
    width: 10rem;
  }
  .c-table th, .c-table td {
    vertical-align: middle;
  }
}

/* --------------------
  Footer
-------------------- */
.l-footer {
  background: #1D4294;
}

.l-footer-contact {
  position: relative;
  margin: -18rem 0 0;
}
@media screen and (max-width: 768px) {
  .l-footer-contact {
    margin: 0;
  }
}
.l-footer-contact__container {
  max-width: 96rem;
  background: #fff;
  padding: 2rem 8rem;
  margin: auto;
  border-radius: 10rem;
}
@media screen and (max-width: 768px) {
  .l-footer-contact__container {
    padding: 2rem 3rem;
    border-radius: 0;
  }
}
.l-footer-contact__column {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 4rem;
  padding: 6rem 0;
  border-bottom: 0.5rem dotted #1D4294;
}
@media screen and (max-width: 768px) {
  .l-footer-contact__column {
    align-items: normal;
    flex-direction: column;
    padding: 8rem 0;
  }
}
.l-footer-contact__column:last-child {
  border-bottom: none;
}
.l-footer-contact__heading {
  margin: 0 0 1.6rem;
}
.l-footer-contact__txt {
  font-size: 1.8rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .l-footer-contact__txt {
    font-size: 1.6rem;
  }
}
.l-footer-contact__button {
  display: grid;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .l-footer-contact__button {
    gap: 1.6rem;
  }
}
.l-footer-contact__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  width: 32rem;
  height: 7.2rem;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #fff;
  background: #1D4294;
  border: 2px solid #1D4294;
  border-radius: 10rem;
}
@media screen and (max-width: 768px) {
  .l-footer-contact__button a {
    width: 100%;
  }
}
.l-footer-contact__button a:nth-child(2) {
  font-size: 2.5rem;
  font-weight: normal;
  font-family: var(--Lexend);
}
.l-footer-contact__button a:nth-child(2):after {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url(../images/icon-phone01_white.svg) center/cover;
  transition: 0.3s;
}
.l-footer-contact__button a:hover {
  color: #1D4294;
  background: #fff;
}
.l-footer-contact__button a:hover:nth-child(2):after {
  background: url(../images/icon-phone01.svg) center/cover;
}

.l-footer-sitemap {
  padding: 10rem 0 16rem;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap {
    padding: 8rem 3rem 12rem;
  }
}
.l-footer-sitemap__container {
  max-width: 96rem;
  margin: auto;
}
.l-footer-sitemap__logo {
  width: 17rem;
  margin: 0 0 4rem;
}
.l-footer-sitemap__logo a {
  display: block;
}
.l-footer-sitemap__main {
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__main {
    flex-direction: column;
  }
}
.l-footer-sitemap__list {
  display: grid;
  gap: 0.8rem;
  flex: 1;
  padding: 0 6rem 0 0;
  border-right: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__list {
    padding: 0 0 3rem;
    border-right: none;
    border-bottom: 1px solid #fff;
  }
}
.l-footer-sitemap__list li a {
  font-size: 1.8rem;
  line-height: 1.6;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__list li a {
    font-size: 1.6rem;
  }
}
.l-footer-sitemap__list li a:hover {
  color: #91ABE6;
}
.l-footer-sitemap__info {
  flex: 1;
  padding: 0 0 0 6rem;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__info {
    padding: 3rem 0 0;
  }
}
.l-footer-sitemap__company {
  margin: 0 0 12rem;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__company {
    margin: 0 0 8rem;
  }
}
.l-footer-sitemap__company p {
  font-size: 1.8rem;
  line-height: 2;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__company p {
    font-size: 1.6rem;
  }
}
.l-footer-sitemap__company p + p {
  margin: 1em 0 0;
}
.l-footer-sitemap__ctrl {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin: 0 0 3.2rem;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__ctrl {
    flex-direction: column-reverse;
    gap: 4rem;
  }
}
.l-footer-sitemap__sns {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
.l-footer-sitemap__sns li {
  width: 2.4rem;
}
.l-footer-sitemap__sns li a {
  display: block;
}
.l-footer-sitemap__sns li a:hover {
  opacity: 0.6;
}
.l-footer-sitemap__button {
  display: grid;
  gap: 2.4rem;
}
.l-footer-sitemap__button a {
  position: relative;
  display: flex;
  align-items: center;
  width: 32rem;
  height: 6.4rem;
  font-size: 2.5rem;
  font-weight: normal;
  font-family: var(--Lexend);
  line-height: 1.6;
  text-transform: uppercase;
  color: #fff;
  padding: 0 3.2rem;
  border: 2px solid #fff;
  border-radius: 10rem;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__button a {
    width: 100%;
  }
}
.l-footer-sitemap__button a:after {
  content: "";
  position: absolute;
  top: 0;
  right: 1.6rem;
  bottom: 0;
  margin: auto;
  transition: 0.3s;
}
.l-footer-sitemap__button a:nth-child(1):after {
  width: 1.8rem;
  height: 1.8rem;
  background: url(../images/icon-phone01_white.svg) center/cover;
}
.l-footer-sitemap__button a:nth-child(2):after {
  width: 1.6rem;
  height: 2.3rem;
  background: url(../images/icon-pin01_white.svg) center/cover;
}
.l-footer-sitemap__button a:hover {
  color: #1D4294;
  background: #fff;
}
.l-footer-sitemap__button a:hover:nth-child(2):after {
  background: url(../images/icon-phone01.svg) center/cover;
}
.l-footer-sitemap__button a:hover:nth-child(2):after {
  background: url(../images/icon-pin01.svg) center/cover;
}
.l-footer-sitemap__copyright {
  font-size: 1.1rem;
  font-weight: normal;
  font-family: var(--Lexend);
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .l-footer-sitemap__copyright {
    display: none;
  }
}

/* --------------------
  form
-------------------- */
.c-form__data input[readonly] {
  font-weight: bold;
  background: none;
  padding: 0;
  outline: none;
}
.c-form__date {
  align-items: normal !important;
  flex-direction: column;
}
.c-form__date-main {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin: 0 0 4rem;
}
@media screen and (max-width: 768px) {
  .c-form__date-main {
    margin: 0 0 2.4rem;
  }
}
.c-form__date-column {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.c-form__date-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (max-width: 768px) {
  .c-form__date-item {
    align-items: normal;
    flex-direction: column;
  }
}
.c-form__date-item span {
  flex: none !important;
  width: 12rem;
  min-width: auto !important;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .c-form__date-item span {
    width: 100%;
  }
}
.c-form__date-item input[type=date] {
  width: 24rem;
  background: #eee;
  padding: 1.2rem;
  border: none;
}
@media screen and (max-width: 768px) {
  .c-form__date-item input[type=date] {
    width: 100%;
  }
}
.c-form__date-item select {
  width: 24rem !important;
  background-color: #eee !important;
  border: none !important;
}
@media screen and (max-width: 768px) {
  .c-form__date-item select {
    width: 100% !important;
  }
}
.c-form__date-txt li {
  display: flex;
  line-height: 1.6;
  color: #5a5a5a;
}
.c-form__date-txt li:before {
  content: "・";
}
.c-form__number {
  display: flex;
  align-items: normal !important;
  flex-direction: column;
  gap: 2.4rem;
}
.c-form__number-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (max-width: 768px) {
  .c-form__number-item {
    align-items: normal;
    flex-direction: column;
  }
}
.c-form__number-item span {
  flex: none !important;
  width: 20rem;
  min-width: auto !important;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .c-form__number-item span {
    width: 100%;
  }
}
.c-form__number-item input[type=number] {
  width: 20rem;
  background: #eee;
  padding: 1.2rem;
  border: none;
}
@media screen and (max-width: 768px) {
  .c-form__number-item input[type=number] {
    width: 100%;
  }
}/*# sourceMappingURL=common.css.map */