@charset "UTF-8";
* {
  padding: 0;
  margin: 0;
  font-feature-settings: "palt";
}

:focus {
  outline: 0;
}

body, html {
  font-size: 62.5%;
  line-height: 1.6;
  color: #000;
  font-family: "Noto Sans JP", sans-serif, "游ゴシック", Yu Gothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0;
}

main {
  display: block;
}

address, blockquote, caption, cite, code, dd, dt, em, h1, h2, h3, h4, h5, h6, input, li, p, pre, select, small, strong, td, textarea, th {
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
}

li, ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
}

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

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

a:hover {
  text-decoration: none;
}

br {
  letter-spacing: 0;
}

button {
  border: none;
  background: initial;
  box-sizing: border-box;
} /**
 * Swiper 8.4.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 12, 2022
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

html,
body {
  height: 100%;
}

body {
  position: relative;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
body > footer {
  position: sticky;
  top: 100vh;
}

@media screen and (min-width: 769px) {
  a {
    transition: 300ms ease all;
  }
  a:hover {
    opacity: 0.7;
  }
}

.-pc {
  display: block;
}

.-sp {
  display: none;
}

@media (max-width: 768px) {
  .-pc {
    display: none;
  }
  .-sp {
    display: block;
  }
}
.-wb {
  display: inline-block;
}

.e-img {
  pointer-events: none;
}

:root {
  --white: #ffffff;
  --black: #000000;
  --blue: #002D8C;
  --gray: #B1B1B1;
  --gray-light: #ececec;
  --serif: "Noto Serif JP", serif;
  --base-text: 1.4rem;
}
@media screen and (max-width: 768px) {
  :root {
    --container-width: 100%;
  }
}

p, span {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  p, span {
    letter-spacing: 0.01em;
  }
}

@keyframes show {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
main {
  position: relative;
}

.mod-heading-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .mod-heading-group {
    gap: 40px;
  }
}

.mod-heading {
  position: relative;
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 700;
  color: var(--blue);
}
@media screen and (max-width: 768px) {
  .mod-heading {
    font-size: 2rem;
    text-align: center;
    line-height: 1.5;
  }
}
.mod-heading::before {
  content: "";
  position: absolute;
  width: 45px;
  height: 1px;
  background-color: var(--blue);
  left: 50%;
  translate: -50% 0;
  bottom: -15px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .mod-heading::before {
    bottom: -20px;
  }
}

.mod-heading-caption {
  font-size: 1.4rem;
  text-align: center;
}

.mod-heading-sub {
  position: relative;
  font-family: var(--serif);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--blue);
}
.mod-heading-sub::before {
  content: "";
  position: absolute;
  width: 45px;
  height: 1px;
  background-color: var(--blue);
  left: 50%;
  translate: -50% 0;
  bottom: -30px;
  z-index: 1;
}

.outer {
  max-width: 1050px;
  margin-inline: auto;
  padding: 0 24px;
}
@media screen and (max-width: 768px) {
  .outer {
    padding: 0 15px;
  }
}

.header {
  container-type: inline-size;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 90px;
  z-index: 10;
}
@media screen and (max-width: 890px) {
  .header {
    display: flex;
    min-height: 68px;
  }
}
.header::before {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  transition: ease 600ms all;
  z-index: -1;
}
.header .header-inner {
  display: flex;
  align-items: center;
  padding: 0 0 0 25px;
  background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 890px) {
  .header .header-inner {
    padding: 0 60px 0 12px;
    min-width: initial;
    width: 100%;
    max-height: 68px;
    display: block;
  }
}
.header .sitename {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 20px;
  margin-right: 20px;
}
.header .header-logo {
  width: clamp(128px, 12vw, 158px);
}
@media screen and (max-width: 890px) {
  .header .header-logo {
    max-width: 128px;
  }
}
.header .sitename-caption {
  font-size: 1.6rem;
  font-size: clamp(12px, 1.75vw, 16px);
  font-weight: 700;
}
.header .pc-menu {
  display: flex;
  margin-left: auto;
  gap: 20px;
}
@media screen and (max-width: 890px) {
  .header .pc-menu {
    display: none;
  }
}
.header .pc-menu .header-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .header .pc-menu .header-info > * {
    white-space: nowrap;
  }
}
.header .pc-menu .tel {
  font-family: var(--serif);
  font-size: clamp(1.4rem, 1.75vw, 2rem);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.header .pc-menu .business-hour {
  font-size: clamp(0.8rem, 1.2vw, 1.2rem);
  line-height: 1.5;
  letter-spacing: 0.01em;
}
.header .pc-menu .header-anker-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 450px;
  min-width: 430px;
  border-right: 1px solid var(--white);
}
.header .pc-menu .header-anker-link .link-item {
  max-width: 150px;
  height: 44px;
  width: calc(33.3333333333% - 1px);
  display: grid;
  place-content: center;
  font-size: 1.4rem;
  border-left: 1px solid var(--white);
}
.header .pc-menu .header-anker-link .link-item:nth-of-type(n + 4) {
  border-top: 1px solid var(--white);
}
.header .header-contact {
  height: 60px;
  display: grid;
  place-content: center;
  font-size: clamp(1.3rem, 1.15vw, 1.6rem);
  color: var(--white);
  background: linear-gradient(45deg, rgb(0, 45, 140) 0%, rgb(57, 126, 186) 100%);
  border-radius: 30px;
  margin-block: auto;
  margin-inline: 15px;
  white-space: nowrap;
  line-height: 1;
  padding: 0px clamp(14px, 1.75vw, 28px);
  transition: ease 300ms all;
}
@container (max-width: 1190px) {
  .header .header-contact {
    position: absolute;
    right: 0;
    top: calc(100% + 200px);
    margin-inline: 0;
    padding: 0;
    width: 56px;
    height: 150px;
    border-radius: 30px 0 0 30px;
    writing-mode: vertical-lr;
  }
}
.header .doc-link {
  position: relative;
}
.header .doc-link::before {
  content: "";
  position: absolute;
  width: 6px;
  aspect-ratio: 1;
  border: 1px solid var(--gray);
  top: calc(50% + 3px);
  left: calc(50% + 37px);
  translate: -56% -50%;
  z-index: 1;
}
@media screen and (max-width: 890px) {
  .header .doc-link::before {
    border: 1px solid var(--white);
    left: calc(50% + 42px);
  }
}
.header .doc-link::after {
  content: "";
  position: absolute;
  width: 6px;
  aspect-ratio: 1;
  border: 1px solid var(--gray);
  top: 50%;
  left: calc(50% + 40px);
  translate: -56% -50%;
  z-index: 1;
}
@media screen and (max-width: 890px) {
  .header .doc-link::after {
    border: 1px solid var(--white);
    left: calc(50% + 45px);
  }
}
@media screen and (max-width: 890px) {
  .header .nav {
    z-index: 10;
  }
  .header .nav .nav-btn-sp {
    position: absolute;
    width: 35px;
    aspect-ratio: 1;
    top: 15px;
    right: 20px;
    transition: ease 300ms all;
    cursor: pointer;
    z-index: 5;
  }
  .header .nav .nav-btn-sp span {
    position: absolute;
    width: 28px;
    height: 1px;
    background-color: var(--black);
    left: 0;
    transition: ease 300ms all;
  }
  .header .nav .nav-btn-sp span:nth-of-type(1) {
    top: calc(50% - 10px);
    translate: 0 -50%;
  }
  .header .nav .nav-btn-sp span:nth-of-type(2) {
    top: 50%;
    translate: 0 -50%;
    opacity: 1;
  }
  .header .nav .nav-btn-sp span:nth-of-type(3) {
    top: calc(50% + 10px);
    translate: 0 -50%;
  }
}
.header .nav .nav-info {
  width: fit-content;
  padding-top: 15px;
  display: flex;
  flex-direction: column;
  margin-inline: auto;
  gap: 8px;
  color: var(--white);
}
.header .nav .nav-info .tel {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 500;
}
.header .nav .nav-info span {
  font-size: 1.2rem;
}
.header .nav .nav-link {
  position: relative;
  display: flex;
  flex-direction: column;
  top: 0;
  left: 50%;
  translate: -50% 0;
  padding: 15px 20px;
}
.header .nav .header-link-item {
  width: 100%;
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--white);
  text-align: center;
  border-top: 1px solid var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
}
.header .nav .header-link-item:last-of-type {
  border-bottom: 1px solid var(--white);
}
.header .nav .header-link-item a {
  width: 100%;
  padding: 17px 0;
}
.header .nav .drower-content {
  display: none;
  top: 68px;
  left: 0;
  width: 100%;
  height: 100vh;
  position: absolute;
  overflow-x: hidden;
  background: linear-gradient(90deg, rgb(0, 45, 140) 0%, rgb(57, 126, 186) 100%);
  z-index: 0;
}
.header .nav .drower-content::before {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 100%;
  height: calc(100vh - 128px);
  top: 0;
  left: 50%;
  opacity: 0.5;
  translate: -50% 0;
  z-index: -1;
}
.header .nav .drower-content-inner {
  overflow-y: auto;
  height: calc(100vh - 168px);
  padding-bottom: 40px;
}
.header .nav .header-bg {
  display: none;
  bottom: 0;
  position: absolute;
  width: 100%;
  height: 168px;
  left: 0;
  z-index: 1;
}
.header .nav .link-contact {
  font-size: 1.6rem;
  color: var(--white);
  background: linear-gradient(90deg, rgb(0, 45, 140) 0%, rgb(57, 126, 186) 100%);
  width: 150px;
  height: 60px;
  display: grid;
  place-content: center;
  border-radius: 50vmax;
  margin-inline: auto;
  margin-block: 25px 0;
}
.header.-open .nav .nav-btn-sp span:nth-of-type(1) {
  top: 50%;
  rotate: 45deg;
}
.header.-open .nav .nav-btn-sp span:nth-of-type(2) {
  opacity: 0;
}
.header.-open .nav .nav-btn-sp span:nth-of-type(3) {
  top: 50%;
  rotate: -45deg;
}
.header.-open .header-bg {
  display: block;
}
.header.-scroll::before {
  top: 0;
}
.header.-scroll .header-anker-link {
  border-right: 1px solid var(--gray-light);
}
.header.-scroll .header-anker-link .link-item {
  border-left: 1px solid var(--gray-light);
}
.header.-scroll .header-anker-link .link-item:nth-of-type(n + 4) {
  border-top: 1px solid var(--gray-light);
}
@container (max-width: 1190px) {
  .header.-scroll .header-contact {
    border-radius: 0px 0 0 30px;
    top: 90px;
    translate: initial;
  }
}
@media screen and (max-width: 890px) {
  .header.-scroll .header-contact {
    top: 68px;
  }
}
@media screen and (max-width: 768px) {
  .header.-scroll .header-contact {
    height: 110px;
    font-size: 1.2rem;
  }
}

.fv {
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .fv {
    margin-bottom: 0;
  }
}
.fv .fv-copy-group {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 80px;
  display: flex;
  flex-direction: column;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .fv .fv-copy-group {
    top: 110px;
    left: 15px;
    translate: initial;
  }
}
.fv .fv-copy-group .fv-copy-pc,
.fv .fv-copy-group .fv-copy-sp {
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .fv .fv-copy-group .fv-copy-pc {
    display: flex;
  }
  .fv .fv-copy-group .fv-copy-sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .fv .fv-copy-group .fv-copy-pc {
    display: none;
  }
  .fv .fv-copy-group .fv-copy-sp {
    display: flex;
    width: 80%;
  }
}
.fv .fv-copy-group .fv-copy-item {
  width: fit-content;
  position: relative;
  overflow: hidden;
}
.fv .fv-copy-group .fv-copy-item img {
  position: relative;
  translate: 0 100%;
  transition: ease 800ms all;
}
.fv .fv-copy-group .fv-copy-item + .fv-copy-item {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .fv .fv-copy-group .fv-copy-item:nth-of-type(1) {
    width: 62.5%;
  }
  .fv .fv-copy-group .fv-copy-item:nth-of-type(2) {
    width: 102.088%;
  }
  .fv .fv-copy-group .fv-copy-item:nth-of-type(3) {
    width: 82.64%;
  }
  .fv .fv-copy-group .fv-copy-item:nth-of-type(4) {
    width: 74.31%;
  }
}
.fv .fv-copy-group.-show .fv-copy-item img {
  translate: 0 0;
}
.fv .swiper-pagination {
  position: absolute;
  width: 100%;
  height: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  bottom: 25px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .fv .swiper-pagination {
    gap: 10px;
  }
}
.fv .swiper-pagination-bullet {
  opacity: 1;
  width: 12px;
  height: 12px;
  background: var(--white);
  display: block;
  border-radius: 4px;
  cursor: pointer;
}
.fv .swiper-pagination-bullet-active {
  background-color: var(--blue);
}

.intro {
  margin-bottom: 280px;
}
.intro .intro-list {
  padding: 0 15px;
}
.intro .intro-list .list-item {
  position: relative;
  padding: 45px 15px;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  border: 1px solid var(--blue);
  border-radius: 30px 0 30px 0;
}
.intro .intro-list .list-item::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  width: 35px;
  height: 35px;
  background-color: var(--white);
  z-index: 1;
}
.intro .intro-list .list-item::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent var(--blue);
  border-width: 30px 0px 0px 30px;
  filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0));
  z-index: 1;
}
.intro .intro-list .intro-text {
  font-weight: 500;
  text-align: center;
  line-height: 1.875;
  margin-block: auto;
}
.intro .intro-list .intro-text .underline {
  text-decoration: underline;
}
.intro .-pc .intro-list {
  max-width: 980px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.intro .-pc .intro-list .list-item .intro-text {
  font-size: 1.6rem;
}
.intro .-pc .intro-list .list-item[data-num=intro-pc01], .intro .-pc .intro-list .list-item[data-num=intro-pc02] {
  width: calc(50% - 52px);
}
.intro .-pc .intro-list .list-item[data-num=intro-pc03], .intro .-pc .intro-list .list-item[data-num=intro-pc04], .intro .-pc .intro-list .list-item[data-num=intro-pc05] {
  width: calc(33.3333333333% - 59px);
}
.intro .-pc .intro-list .list-item[data-num=intro-pc01] .intro-catch {
  max-width: 196px;
  margin-block: auto;
}
.intro .-pc .intro-list .list-item[data-num=intro-pc02] .intro-catch {
  max-width: 196px;
}
.intro .-pc .intro-list .list-item[data-num=intro-pc03] .intro-catch {
  max-width: 190px;
}
.intro .-pc .intro-list .list-item[data-num=intro-pc04] .intro-catch {
  max-width: 210px;
}
.intro .-pc .intro-list .list-item[data-num=intro-pc05] .intro-catch {
  max-width: 220px;
}
.intro .-sp .intro-list {
  padding: 0;
}
.intro .-sp .intro-list .list-item {
  aspect-ratio: 5/4;
  padding: 40px 0;
  gap: 0;
  border: initial;
  border-radius: initial;
}
.intro .-sp .intro-list .list-item::after {
  display: none;
}
.intro .-sp .intro-list .list-item .intro-text {
  font-size: 1.4rem;
}
.intro .-sp .intro-list .list-item[data-num=intro-sp01] .intro-catch {
  max-width: 196px;
}
.intro .-sp .intro-list .list-item[data-num=intro-sp02] .intro-catch {
  max-width: 196px;
}
.intro .-sp .intro-list .list-item[data-num=intro-sp03] .intro-catch {
  max-width: 190px;
}
.intro .-sp .intro-list .list-item[data-num=intro-sp04] .intro-catch {
  max-width: 210px;
}
.intro .-sp .intro-list .list-item[data-num=intro-sp05] .intro-catch {
  max-width: 220px;
}
.intro .-sp .intro-slider {
  position: relative;
}
.intro .-sp .swiper-button-prev,
.intro .-sp .swiper-button-next {
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  translate: 0 -50%;
  border-right: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
}
.intro .-sp .swiper-button-prev {
  left: 10px;
  rotate: 135deg;
}
.intro .-sp .swiper-button-next {
  right: 10px;
  rotate: -45deg;
}
.intro .-sp .swiper-pagination {
  position: absolute;
  width: 100%;
  height: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  bottom: 7px;
  z-index: 10;
}
.intro .-sp .swiper-pagination-bullet {
  opacity: 1;
  width: 15px;
  height: 15px;
  background: #D8D8D8;
  display: block;
  border-radius: 4px;
  cursor: pointer;
}
.intro .-sp .swiper-pagination-bullet-active {
  background-color: var(--blue);
}
.intro .-sp .intro-swiper-container {
  padding: 0 15px;
}
.intro .cls-1 {
  fill: #000;
}
.intro .cls-1, .intro .cls-2, .intro .cls-3 {
  stroke-width: 0px;
}
.intro .cls-2 {
  fill: #ffff29;
  mix-blend-mode: multiply;
}
.intro .cls-4 {
  isolation: isolate;
}
.intro .cls-5 {
  fill: none;
  stroke: #002d8c;
  stroke-miterlimit: 10;
}
.intro .cls-3 {
  fill: #002d8c;
}
.intro .anker {
  cursor: pointer;
  transition: ease 300ms all;
}

.facility {
  position: relative;
}
@media screen and (max-width: 768px) {
  .facility::before {
    content: " ";
    margin-top: -40px;
    height: 40px;
    display: block;
    visibility: hidden;
  }
}
.facility .facility-bg {
  position: absolute;
  top: -210px;
  width: 100%;
  height: 400px;
  object-fit: cover;
  opacity: 0;
  transition: ease 1000ms all;
}
.facility .facility-outer {
  max-width: 1050px;
  padding: 0 35px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .facility .facility-outer {
    padding: 0 17px;
  }
}
.facility .facility-inner {
  position: relative;
  max-width: 960px;
  margin-inline: auto;
  margin-top: 0;
  background-color: var(--white);
  padding: 35px 15px 0;
  opacity: 0;
  transition: ease 800ms all;
}
.facility .facility-heading-group {
  margin-bottom: 30px;
  opacity: 0;
  transition: ease 600ms all;
}
.facility .facility-img {
  display: block;
  max-width: 575px;
  margin-inline: auto;
  margin-bottom: 90px;
  opacity: 0;
  transition: ease 300ms all;
}
@media screen and (max-width: 768px) {
  .facility .facility-img {
    padding: 0 5px;
    margin-bottom: 30px;
  }
}
.facility .facility-img .cls-1 {
  fill: #000;
}
.facility .facility-img .cls-1, .facility .facility-img .cls-2, .facility .facility-img .cls-3 {
  stroke-width: 0px;
}
.facility .facility-img .cls-2 {
  fill: #646464;
}
.facility .facility-img .cls-4 {
  fill: rgba(255, 255, 255, 0);
}
.facility .facility-img .cls-4, .facility .facility-img .cls-5 {
  stroke: #646464;
  stroke-miterlimit: 10;
}
.facility .facility-img .cls-3 {
  fill: #fff;
}
.facility .facility-img .cls-5 {
  fill: #002d8c;
}
.facility .facility-img .room g,
.facility .facility-img .room rect,
.facility .facility-img .room path {
  cursor: pointer;
  transition: ease 300ms all;
}
.facility .facility-img .no-hover g,
.facility .facility-img .no-hover rect,
.facility .facility-img .no-hover path {
  cursor: initial;
}
.facility .room {
  position: relative;
  height: 100%;
  z-index: 1;
}
@media (any-hover: hover) {
  .facility .room:hover {
    opacity: 1;
  }
  .facility .room:hover rect {
    fill: var(--blue);
  }
  .facility .room:hover path {
    fill: var(--white);
  }
}
.facility .facility01 {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .facility .facility01 {
    margin-bottom: 140px;
  }
}
.facility .facility02 {
  margin-bottom: 95px;
}
.facility .facility02 .facility-heading-sub {
  margin-bottom: 50px;
}
.facility .-pc .facility-list-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.facility .-pc .facility-list {
  display: flex;
  gap: 4px;
}
.facility .-pc .facility-list .list-item {
  width: 33.3333333333%;
  aspect-ratio: 1;
}
@media screen and (max-width: 768px) {
  .facility .facility-slider-wrap {
    position: relative;
  }
  .facility .facility-slider-wrap + .facility-slider-wrap {
    margin-top: 70px;
  }
  .facility .swiper-pagination {
    position: absolute;
    width: 100%;
    height: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    bottom: -30px;
    z-index: 5;
  }
  .facility .swiper-pagination-bullet {
    opacity: 1;
    width: 12px;
    height: 12px;
    background: var(--gray);
    display: block;
    border-radius: 50vmax;
    cursor: pointer;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .facility .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    border-radius: 4px;
  }
}
@media screen and (max-width: 768px) {
  .facility .swiper-pagination-bullet-active {
    background-color: var(--blue);
  }
}
@media screen and (max-width: 768px) {
  .facility .swiper-button-prev,
.facility .swiper-button-next {
    position: absolute;
    width: 46px;
    height: 76px;
    top: 50%;
    translate: 0 -50%;
    background: rgba(255, 255, 255, 0.8);
    z-index: 1;
    cursor: pointer;
  }
  .facility .swiper-button-prev::after,
.facility .swiper-button-next::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    translate: 0 -50%;
    border-right: 2px solid var(--blue);
    border-bottom: 2px solid var(--blue);
    z-index: 5;
  }
}
@media screen and (max-width: 768px) {
  .facility .swiper-button-prev {
    left: -17px;
  }
  .facility .swiper-button-prev::after {
    rotate: 135deg;
    left: 17px;
  }
}
@media screen and (max-width: 768px) {
  .facility .swiper-button-next {
    right: -17px;
  }
  .facility .swiper-button-next::after {
    right: 17px;
    rotate: -45deg;
  }
}
.facility.scroll-in .facility-bg {
  opacity: 1;
}
.facility.scroll-in .facility-inner {
  opacity: 1;
}
.facility.scroll-in .facility-heading-group {
  animation: show 0.2s;
  transition-duration: 600ms;
  transition-delay: 0.3s;
  transition-property: opacity, transform;
  opacity: 1;
}
.facility.scroll-in .facility-img {
  animation: show 0.6s;
  transition-duration: 600ms;
  transition-delay: 0.5s;
  transition-property: opacity, transform;
  opacity: 1;
}

.price {
  position: relative;
}
@media screen and (max-width: 768px) {
  .price::before {
    content: " ";
    margin-top: -260px;
    height: 260px;
    display: block;
    visibility: hidden;
  }
}
.price .price-heading {
  margin-bottom: 50px;
}
.price .price-table-wrap {
  margin-bottom: 30px;
  overflow-x: auto;
}
.price td {
  line-height: 1;
  padding: 22px 25px;
}
@media screen and (max-width: 768px) {
  .price td {
    padding: 18px 12px;
  }
}
.price tr:nth-of-type(n + 2) {
  border-top: 1px solid var(--white);
}
.price .table-heading th {
  font-size: 1.6rem;
  color: var(--white);
  background-color: var(--gray);
  line-height: 1.25;
  padding: 10px 0 12px;
  letter-spacing: 0.125em;
}
@media screen and (max-width: 768px) {
  .price .table-heading th {
    font-size: 1.4rem;
  }
}
.price .table-heading th:first-of-type {
  text-align: left;
  padding-left: 20px;
}
.price .table-heading th:not(:first-of-type) {
  border-left: 1px solid var(--white);
}
.price .table-heading th:nth-of-type(1) {
  width: 270px;
}
@media screen and (max-width: 768px) {
  .price .table-heading th:nth-of-type(1) {
    width: 235px;
  }
}
.price .table-heading th:nth-of-type(2), .price .table-heading th:nth-of-type(3), .price .table-heading th:nth-of-type(4) {
  width: 109px;
}
@media screen and (max-width: 768px) {
  .price .table-heading th:nth-of-type(2), .price .table-heading th:nth-of-type(3), .price .table-heading th:nth-of-type(4) {
    width: 96px;
  }
}
.price .table-heading th:nth-of-type(5), .price .table-heading th:nth-of-type(6), .price .table-heading th:nth-of-type(7) {
  width: 149px;
}
@media screen and (max-width: 768px) {
  .price .table-heading th:nth-of-type(5), .price .table-heading th:nth-of-type(6), .price .table-heading th:nth-of-type(7) {
    width: 130px;
  }
}
.price .table-heading td {
  font-size: 1.6rem;
  color: var(--white);
  background-color: var(--gray);
}
@media screen and (max-width: 768px) {
  .price .table-heading td {
    font-size: 1.4rem;
    padding: 15px;
  }
}
.price .table-heading td:nth-of-type(n + 2) {
  text-align: center;
  border-left: 1px solid var(--white);
}
.price .table-room th {
  font-size: 1.6rem;
  width: 270px;
  color: var(--white);
  text-align: left;
  padding-left: 20px;
  background-color: var(--blue);
  letter-spacing: 0.125em;
}
@media screen and (max-width: 768px) {
  .price .table-room th {
    width: 235px;
    font-size: 1.4rem;
  }
}
.price .table-room td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .price .table-room td {
    font-size: 1.4rem;
  }
}
.price .table-room td:nth-of-type(n + 1) {
  text-align: center;
  background-color: var(--gray-light);
  border-left: 1px solid var(--white);
}
.price .price-table {
  width: 1050px;
  margin-inline: auto;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .price .price-table {
    width: 918px;
  }
}
.price .note {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .price .note {
    font-size: 1.2rem;
  }
}
.price .option-table-wrap {
  margin-bottom: 50px;
  overflow-x: auto;
}
.price .option-table-inner {
  width: 1050px;
  display: flex;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  .price .option-table-inner {
    width: auto;
    flex-direction: column;
  }
}
.price .option-heading-group {
  margin-bottom: 40px;
}
.price .option-heading-group .mod-heading-sub::before {
  bottom: -15px;
}
.price .option-table {
  width: 650px;
}
@media screen and (max-width: 768px) {
  .price .option-table {
    width: 570px;
  }
}
.price .option-table .table-heading th {
  background-color: var(--blue);
  text-align: center;
}
.price .option-table .table-heading td {
  background-color: var(--blue);
}
.price .option-table .table-menu {
  color: var(--white);
  background-color: var(--gray);
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price .option-table .table-menu {
    font-size: 1.4rem;
  }
}
.price .option-table .table-menu th {
  padding: 10px 0 12px;
}
.price .option-table .table-menu th:not(:first-of-type) {
  border-left: 1px solid var(--white);
}
.price .option-table .table-menu td:last-of-type {
  border-left: 1px solid var(--white);
}
.price .option-table .table-detail {
  font-size: 1.6rem;
  background-color: var(--gray-light);
  padding: 22px 25px;
}
@media screen and (max-width: 768px) {
  .price .option-table .table-detail {
    font-size: 1.4rem;
  }
}
.price .option-table .table-detail .num {
  color: var(--white);
  background-color: var(--blue);
  padding: 16px 7px;
  letter-spacing: 0.01em;
  text-align: center;
}
.price .option-table .table-detail td {
  padding: 16px 25px;
}
@media screen and (max-width: 768px) {
  .price .option-table .table-detail td {
    padding: 16px 15px;
  }
}
.price .option-table .table-detail td:last-of-type {
  text-align: center;
  border-left: 1px solid var(--white);
}
.price .option-table.sub {
  width: 350px;
}
@media screen and (max-width: 768px) {
  .price .option-table.sub {
    width: 100%;
  }
}
.price .option-table.sub td {
  text-align: center;
}
.price .option-table.sub .table-heading td {
  padding: 23px 25px;
}
@media screen and (max-width: 768px) {
  .price .option-table.sub .table-heading td {
    padding: 10px 0 12px;
  }
}
@media screen and (max-width: 768px) {
  .price .option-table.sub .table-detail td {
    font-size: 1.4rem;
  }
}
.price .option-table-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .price .option-table-sp {
    display: block;
    margin-bottom: 24px;
  }
}
.price .cancel {
  margin-bottom: 80px;
}
.price .cancel-heading-group {
  gap: 30px;
}
.price .cancel-heading-group .mod-heading-sub::before {
  bottom: -15px;
}

.calender {
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .calender::before {
    content: " ";
    margin-top: -260px;
    height: 260px;
    display: block;
    visibility: hidden;
  }
}
.calender .calender-heading-group {
  margin-bottom: 40px;
}
.calender .calender-inner {
  max-width: 798px;
  margin-inline: auto;
}
.calender .calender-note {
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  font-weight: 500;
  margin-inline: auto;
}
.calender .calender-attention {
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  font-weight: 700;
  color: red;
  margin-inline: auto;
}

.flow {
  position: relative;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .flow {
    margin-bottom: 30px;
  }
  .flow::before {
    content: " ";
    margin-top: -260px;
    height: 260px;
    display: block;
    visibility: hidden;
  }
}
.flow .flow-heading-group {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .flow .flow-heading-group {
    margin-bottom: 40px;
  }
}
.flow .flow-list {
  display: flex;
  flex-wrap: wrap;
  gap: 28px 40px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list {
    flex-direction: column;
    gap: 40px;
  }
}
.flow .flow-list .list-item {
  position: relative;
  width: calc(33.3333333333% - 57px);
  background-color: var(--gray-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 15px 15px 25px;
  border-radius: 0 12px 0 12px;
  aspect-ratio: 32/31;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item {
    width: auto;
    padding: 20px;
    aspect-ratio: initial;
  }
}
.flow .flow-list .list-item:not(:last-of-type)::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent var(--blue);
  border-width: 21px 0px 21px 20px;
  top: 50%;
  translate: 0 -50%;
  right: -30px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item:not(:last-of-type)::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-color: var(--blue) transparent transparent transparent;
    border-width: 20px 21px 0px 21px;
    left: 50%;
    translate: -50% 0;
    top: initial;
    bottom: -30px;
  }
}
.flow .flow-list .list-item .step {
  position: relative;
  font-family: var(--serif);
  margin-bottom: 15px;
}
.flow .flow-list .list-item .step::before {
  content: "";
  position: absolute;
  width: 45px;
  height: 1px;
  left: 50%;
  bottom: -15px;
  translate: -50% 0;
  background-color: var(--blue);
  z-index: 1;
}
.flow .flow-list .list-item .step span {
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--blue);
  letter-spacing: 0.01em;
}
.flow .flow-list .list-item .step .num {
  font-size: 2.5rem;
}
.flow .flow-list .list-item .link {
  text-decoration: underline;
}
.flow .flow-list .list-item .item-img {
  margin-inline: auto;
}
.flow .flow-list .list-item .item-text {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--blue);
  text-align: center;
  line-height: 1.5;
}
.flow .flow-list .list-item .link-group {
  max-width: 265px;
  width: calc(100% - 15px);
  padding: 0 15px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item .link-group {
    padding: 0;
    width: auto;
  }
}
.flow .flow-list .list-item .link-group .link-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.flow .flow-list .list-item .link-group .link-text {
  font-size: 1.4rem;
  letter-spacing: 0.01em;
  color: #646464;
}
.flow .flow-list .list-item .link-group .link {
  position: relative;
  font-size: 1.4rem;
  color: var(--white);
  border-radius: 4px;
  min-width: 44px;
  height: 18px;
  display: grid;
  place-content: center;
  text-decoration: none;
  line-height: 1;
}
.flow .flow-list .list-item .link-group .link.pdf {
  background-color: #E60012;
}
.flow .flow-list .list-item .link-group .link.excel {
  background-color: #009944;
}
.flow .flow-list .list-item .link-group .link::before {
  content: ">";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: -15px;
  color: #646464;
  z-index: 1;
}
.flow .flow-list .list-item[data-num=flow01] .item-img {
  max-width: 98px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow01] .item-img {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow01] .step {
    margin-bottom: 50px;
  }
}
.flow .flow-list .list-item[data-num=flow02] .item-img {
  max-width: 102px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow02] .item-img {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow02] .step {
    margin-bottom: 40px;
  }
}
.flow .flow-list .list-item[data-num=flow03] .item-img {
  max-width: 102px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow03] .item-img {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow03] .step {
    margin-bottom: 50px;
  }
}
.flow .flow-list .list-item[data-num=flow04] .item-img {
  max-width: 70px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow04] .item-img {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow04] .step {
    margin-bottom: 40px;
  }
}
.flow .flow-list .list-item[data-num=flow05] .item-img {
  max-width: 54px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow05] .item-img {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow05] .step {
    margin-bottom: 60px;
  }
}
.flow .flow-list .list-item[data-num=flow06] .item-img {
  max-width: 102px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow06] .item-img {
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow06] .step {
    margin-bottom: 60px;
  }
}
.flow .flow-list .list-item[data-num=flow07] .item-img {
  max-width: 100px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow07] .item-img {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow07] .step {
    margin-bottom: 60px;
  }
  .flow .flow-list .list-item[data-num=flow07] .item-text {
    margin-bottom: 40px;
  }
}
.flow .flow-list .list-item[data-num=flow08] .item-img {
  max-width: 78px;
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow08] .item-img {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .flow .flow-list .list-item[data-num=flow08] .step {
    margin-bottom: 60px;
  }
}

.access {
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .access::before {
    content: " ";
    margin-top: -260px;
    height: 260px;
    display: block;
    visibility: hidden;
  }
}
.access .access-heading-group {
  margin-bottom: 20px;
}
.access .map-wrap {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .access .map-wrap {
    flex-direction: column-reverse;
  }
}
.access .map-img {
  max-width: 300px;
  width: 28.57%;
}
@media screen and (max-width: 768px) {
  .access .map-img {
    max-width: initial;
    width: 100%;
  }
}
.access .map-container {
  max-width: 740px;
  width: 70.74%;
}
@media screen and (max-width: 768px) {
  .access .map-container {
    width: 100%;
  }
}
.access .map-container iframe {
  width: 100%;
  aspect-ratio: 74/45;
}
@media screen and (max-width: 768px) {
  .access .map-container iframe {
    aspect-ratio: 32/45;
  }
}
.access .address-wrap {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .access .address-wrap {
    padding-left: 15px;
  }
}
.access .address-item {
  display: flex;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .access .address-item {
    font-size: 1.4rem;
    flex-direction: column;
  }
}

.contact {
  margin-bottom: 50px;
}
.contact .contact-heading-group {
  margin-bottom: 40px;
}
.contact .contact-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.contact .contact-text {
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 768px) {
  .contact .contact-text {
    font-size: 1.4rem;
  }
}
.contact .tel {
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .contact .tel {
    font-size: 2.6rem;
  }
}

.form-fv {
  padding-top: 90px;
  height: 310px;
}
@media screen and (max-width: 768px) {
  .form-fv {
    padding-top: 70px;
    height: 180px;
  }
}
.form-fv img {
  object-fit: cover;
  height: 100%;
}

.contact-form .form-outer {
  max-width: 1050px;
  padding: 0 35px;
  margin-inline: auto;
}
.contact-form .form-inner {
  position: relative;
  max-width: 960px;
  margin-inline: auto;
  margin-top: -100px;
  background-color: var(--white);
  padding: 35px 15px 0;
}
@media screen and (max-width: 768px) {
  .contact-form .form-inner {
    margin-top: -80px;
    padding: 20px 10px 0;
  }
}
.contact-form .form-heading-group {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .contact-form .form-heading-group {
    margin-bottom: 50px;
  }
  .contact-form .form-heading-group .mod-heading {
    font-size: 1.6rem;
  }
}
.contact-form .form-wrap {
  max-width: 860px;
  margin-inline: auto;
}
.contact-form .form {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 18px;
}
@media screen and (max-width: 768px) {
  .contact-form .form {
    row-gap: 15px;
  }
}
.contact-form .form .categorie {
  display: flex;
  position: relative;
  gap: 4px;
}
@media (max-width: 768px) {
  .contact-form .form .categorie {
    flex-direction: column;
    row-gap: 8px;
  }
}
.contact-form .form .categorie .categorie-head {
  background-color: #dbe3f0;
  display: flex;
  font-size: 1.6rem;
  width: 100%;
  max-width: 250px;
  height: auto;
  padding: 15px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .contact-form .form .categorie .categorie-head {
    max-width: initial;
    width: auto;
    font-size: 1.4rem;
    padding: 8px 10px;
  }
}
.contact-form .form .categorie .error {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.1rem;
  color: red;
}
@media screen and (max-width: 768px) {
  .contact-form .form .categorie .error {
    top: 5px;
    right: 0;
    bottom: initial;
    left: initial;
  }
}
.contact-form .form .categorie input,
.contact-form .form .categorie textarea,
.contact-form .form .categorie .input-area {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  border-radius: 5px;
  border: 1px solid var(--gray-light);
  padding: 15px;
}
@media screen and (max-width: 768px) {
  .contact-form .form .categorie input,
.contact-form .form .categorie textarea,
.contact-form .form .categorie .input-area {
    width: auto;
    font-size: 1.4rem;
    padding: 8px 10px;
    justify-content: flex-start;
  }
}
.contact-form .form .categorie .input-area {
  justify-content: flex-start;
}
.contact-form .form .categorie textarea {
  min-height: 160px;
}
@media (max-width: 768px) {
  .contact-form .form .categorie textarea {
    min-height: 120px;
  }
}
.contact-form .form .submit {
  position: relative;
  max-width: 520px;
  width: 100%;
  max-height: 66px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  color: #fff;
  border-radius: 5px;
  padding: 30px 0;
  margin: 0 auto;
  transition: ease 300ms all;
  cursor: pointer;
}
@media (max-width: 768px) {
  .contact-form .form .submit {
    max-width: 266px;
    max-height: 64px;
  }
}
@media (any-hover: hover) {
  .contact-form .form .submit:hover {
    background-color: #fff;
    color: #000;
  }
  .contact-form .form .submit:hover::before {
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
  }
}
.contact-form .form .err_all,
.contact-form .form .err_all_list {
  color: red;
  font-size: 1.6rem;
}
.contact-form .form .err_all_list {
  margin-bottom: 30px;
}
.contact-form .form .note {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .contact-form .form .note {
    font-size: 1.4rem;
  }
}
.contact-form .form .submit-block {
  margin-top: 80px;
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .contact-form .form .submit-block {
    margin-top: 40px;
    margin-bottom: 70px;
  }
}
.contact-form .form .submit-text {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .contact-form .form .submit-text {
    font-size: 1.4rem;
  }
}
.contact-form .form .submit-text .link {
  color: var(--blue);
  text-decoration: underline;
}
.contact-form .form .submit-btn {
  max-width: 520px;
  min-height: 66px;
  width: 100%;
  border-radius: 10px;
  margin-inline: auto;
  display: grid;
  place-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--white);
  background: linear-gradient(135deg, rgb(0, 45, 140) 0%, rgb(57, 126, 186) 100%);
  cursor: pointer;
}

.form-wrap {
  margin-bottom: 60px;
}

.confirm-submit-group {
  display: flex;
  max-width: 660px;
  width: 100%;
  margin-inline: auto;
  gap: 20px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .confirm-submit-group {
    gap: 8px;
    margin-bottom: 70px;
  }
}
.confirm-submit-group form {
  width: calc(50% - 20px);
}
@media screen and (max-width: 768px) {
  .confirm-submit-group form {
    width: calc(50% - 4px);
  }
}
.confirm-submit-group .form-btn {
  min-height: 70px;
  display: grid;
  place-content: center;
  border-radius: 10px;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.05em;
  cursor: pointer;
}
.confirm-submit-group .form-btn.-submit {
  background: linear-gradient(0deg, rgb(0, 45, 140) 0%, rgb(57, 126, 186) 100%);
}
.confirm-submit-group .form-btn.-back {
  background-color: var(--gray-light);
}

#form-finish .text {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  line-height: 2.333;
}
@media screen and (max-width: 768px) {
  #form-finish .text {
    font-size: 1.4rem;
  }
}
#form-finish .back-link {
  font-size: 1.6rem;
  color: var(--blue);
  text-decoration: underline;
  display: block;
  width: fit-content;
  margin-top: 30px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  #form-finish .back-link {
    font-size: 1.4rem;
  }
}

#form-error {
  position: relative;
  margin-block: auto;
}
#form-error .error .error_text {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  line-height: 2.333;
}
@media screen and (max-width: 768px) {
  #form-error .error .error_text {
    font-size: 1.4rem;
  }
}
#form-error .error .error-link {
  display: block;
  font-size: 1.6rem;
  color: var(--blue);
  text-decoration: underline;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  #form-error .error .error-link {
    font-size: 1.4rem;
  }
}

@container (max-width: 1190px) {
  .form-page .header-contact {
    display: none;
  }
}

.footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 30px 54px;
}
@media screen and (max-width: 768px) {
  .footer {
    flex-direction: column;
    padding: 24px 12px;
    gap: 30px;
  }
}
.footer .footer-logo {
  width: 160px;
}
.footer .copyright {
  font-size: 1.4rem;
  color: var(--white);
}
@media screen and (max-width: 768px) {
  .footer .copyright {
    font-size: 1.2rem;
    text-align: center;
  }
}

/*# sourceMappingURL=style.css.map */