@charset "UTF-8";
/****************************************************************************************************************************/
/*
/*
/* = Reset Style
/*
/*
/****************************************************************************************************************************/
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  height: 100%;
}

h1, h2, h3, h4, h5, h6, dt {
  padding: 0;
  margin: 0;
  font-weight: normal;
}

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

strong {
  font-weight: normal;
}

em {
  font-style: normal;
}

/****************************************************************************************************************************/
/*
/*
/* = Parts Style
/*
/*
/****************************************************************************************************************************/
/*
/* = display
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
@media print, screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .notsp {
    display: none;
  }
}
/*
/* = a
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
a {
  display: inline-block;
  text-decoration: none;
  transition: 0.5s ease-in-out;
}
a:link {
  color: #000000;
}
a:active {
  color: #000000;
}
a:focus {
  color: #000000;
}
a:visited {
  color: #000000;
}
a:hover {
  color: #0991bd;
}

@media print, screen and (max-width: 1280px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.mailaddress1::after {
  content: "@coast.ocn.ne.jp";
}

.mailaddress2::after {
  content: "@sunclean-kougyo.co.jp";
}

/*
/* = img
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
img,
svg {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/****************************************************************************************************************************/
/*
/*
/* = Site Style
/*
/*
/****************************************************************************************************************************/
/*
/* = Margin Padding
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
.pxmt--0 {
  margin-top: 0px !important;
}

.pxmr--0 {
  margin-right: 0px !important;
}

.pxmb--0 {
  margin-bottom: 0px !important;
}

.pxml--0 {
  margin-left: 0px !important;
}

.pxpt--0 {
  padding-top: 0px !important;
}

.pxpr--0 {
  padding-right: 0px !important;
}

.pxpb--0 {
  padding-bottom: 0px !important;
}

.pxpl--0 {
  padding-left: 0px !important;
}

.pxmt--5 {
  margin-top: 5px !important;
}

.pxmr--5 {
  margin-right: 5px !important;
}

.pxmb--5 {
  margin-bottom: 5px !important;
}

.pxml--5 {
  margin-left: 5px !important;
}

.pxpt--5 {
  padding-top: 5px !important;
}

.pxpr--5 {
  padding-right: 5px !important;
}

.pxpb--5 {
  padding-bottom: 5px !important;
}

.pxpl--5 {
  padding-left: 5px !important;
}

.pxmt--10 {
  margin-top: 10px !important;
}

.pxmr--10 {
  margin-right: 10px !important;
}

.pxmb--10 {
  margin-bottom: 10px !important;
}

.pxml--10 {
  margin-left: 10px !important;
}

.pxpt--10 {
  padding-top: 10px !important;
}

.pxpr--10 {
  padding-right: 10px !important;
}

.pxpb--10 {
  padding-bottom: 10px !important;
}

.pxpl--10 {
  padding-left: 10px !important;
}

.pxmt--15 {
  margin-top: 15px !important;
}

.pxmr--15 {
  margin-right: 15px !important;
}

.pxmb--15 {
  margin-bottom: 15px !important;
}

.pxml--15 {
  margin-left: 15px !important;
}

.pxpt--15 {
  padding-top: 15px !important;
}

.pxpr--15 {
  padding-right: 15px !important;
}

.pxpb--15 {
  padding-bottom: 15px !important;
}

.pxpl--15 {
  padding-left: 15px !important;
}

.pxmt--20 {
  margin-top: 20px !important;
}

.pxmr--20 {
  margin-right: 20px !important;
}

.pxmb--20 {
  margin-bottom: 20px !important;
}

.pxml--20 {
  margin-left: 20px !important;
}

.pxpt--20 {
  padding-top: 20px !important;
}

.pxpr--20 {
  padding-right: 20px !important;
}

.pxpb--20 {
  padding-bottom: 20px !important;
}

.pxpl--20 {
  padding-left: 20px !important;
}

.pxmt--25 {
  margin-top: 25px !important;
}

.pxmr--25 {
  margin-right: 25px !important;
}

.pxmb--25 {
  margin-bottom: 25px !important;
}

.pxml--25 {
  margin-left: 25px !important;
}

.pxpt--25 {
  padding-top: 25px !important;
}

.pxpr--25 {
  padding-right: 25px !important;
}

.pxpb--25 {
  padding-bottom: 25px !important;
}

.pxpl--25 {
  padding-left: 25px !important;
}

.pxmt--30 {
  margin-top: 30px !important;
}

.pxmr--30 {
  margin-right: 30px !important;
}

.pxmb--30 {
  margin-bottom: 30px !important;
}

.pxml--30 {
  margin-left: 30px !important;
}

.pxpt--30 {
  padding-top: 30px !important;
}

.pxpr--30 {
  padding-right: 30px !important;
}

.pxpb--30 {
  padding-bottom: 30px !important;
}

.pxpl--30 {
  padding-left: 30px !important;
}

.pxmt--35 {
  margin-top: 35px !important;
}

.pxmr--35 {
  margin-right: 35px !important;
}

.pxmb--35 {
  margin-bottom: 35px !important;
}

.pxml--35 {
  margin-left: 35px !important;
}

.pxpt--35 {
  padding-top: 35px !important;
}

.pxpr--35 {
  padding-right: 35px !important;
}

.pxpb--35 {
  padding-bottom: 35px !important;
}

.pxpl--35 {
  padding-left: 35px !important;
}

.pxmt--40 {
  margin-top: 40px !important;
}

.pxmr--40 {
  margin-right: 40px !important;
}

.pxmb--40 {
  margin-bottom: 40px !important;
}

.pxml--40 {
  margin-left: 40px !important;
}

.pxpt--40 {
  padding-top: 40px !important;
}

.pxpr--40 {
  padding-right: 40px !important;
}

.pxpb--40 {
  padding-bottom: 40px !important;
}

.pxpl--40 {
  padding-left: 40px !important;
}

.pxmt--45 {
  margin-top: 45px !important;
}

.pxmr--45 {
  margin-right: 45px !important;
}

.pxmb--45 {
  margin-bottom: 45px !important;
}

.pxml--45 {
  margin-left: 45px !important;
}

.pxpt--45 {
  padding-top: 45px !important;
}

.pxpr--45 {
  padding-right: 45px !important;
}

.pxpb--45 {
  padding-bottom: 45px !important;
}

.pxpl--45 {
  padding-left: 45px !important;
}

.pxmt--50 {
  margin-top: 50px !important;
}

.pxmr--50 {
  margin-right: 50px !important;
}

.pxmb--50 {
  margin-bottom: 50px !important;
}

.pxml--50 {
  margin-left: 50px !important;
}

.pxpt--50 {
  padding-top: 50px !important;
}

.pxpr--50 {
  padding-right: 50px !important;
}

.pxpb--50 {
  padding-bottom: 50px !important;
}

.pxpl--50 {
  padding-left: 50px !important;
}

.pxmt--55 {
  margin-top: 55px !important;
}

.pxmr--55 {
  margin-right: 55px !important;
}

.pxmb--55 {
  margin-bottom: 55px !important;
}

.pxml--55 {
  margin-left: 55px !important;
}

.pxpt--55 {
  padding-top: 55px !important;
}

.pxpr--55 {
  padding-right: 55px !important;
}

.pxpb--55 {
  padding-bottom: 55px !important;
}

.pxpl--55 {
  padding-left: 55px !important;
}

.pxmt--60 {
  margin-top: 60px !important;
}

.pxmr--60 {
  margin-right: 60px !important;
}

.pxmb--60 {
  margin-bottom: 60px !important;
}

.pxml--60 {
  margin-left: 60px !important;
}

.pxpt--60 {
  padding-top: 60px !important;
}

.pxpr--60 {
  padding-right: 60px !important;
}

.pxpb--60 {
  padding-bottom: 60px !important;
}

.pxpl--60 {
  padding-left: 60px !important;
}

.pxmt--65 {
  margin-top: 65px !important;
}

.pxmr--65 {
  margin-right: 65px !important;
}

.pxmb--65 {
  margin-bottom: 65px !important;
}

.pxml--65 {
  margin-left: 65px !important;
}

.pxpt--65 {
  padding-top: 65px !important;
}

.pxpr--65 {
  padding-right: 65px !important;
}

.pxpb--65 {
  padding-bottom: 65px !important;
}

.pxpl--65 {
  padding-left: 65px !important;
}

.pxmt--70 {
  margin-top: 70px !important;
}

.pxmr--70 {
  margin-right: 70px !important;
}

.pxmb--70 {
  margin-bottom: 70px !important;
}

.pxml--70 {
  margin-left: 70px !important;
}

.pxpt--70 {
  padding-top: 70px !important;
}

.pxpr--70 {
  padding-right: 70px !important;
}

.pxpb--70 {
  padding-bottom: 70px !important;
}

.pxpl--70 {
  padding-left: 70px !important;
}

.pxmt--75 {
  margin-top: 75px !important;
}

.pxmr--75 {
  margin-right: 75px !important;
}

.pxmb--75 {
  margin-bottom: 75px !important;
}

.pxml--75 {
  margin-left: 75px !important;
}

.pxpt--75 {
  padding-top: 75px !important;
}

.pxpr--75 {
  padding-right: 75px !important;
}

.pxpb--75 {
  padding-bottom: 75px !important;
}

.pxpl--75 {
  padding-left: 75px !important;
}

.pxmt--80 {
  margin-top: 80px !important;
}

.pxmr--80 {
  margin-right: 80px !important;
}

.pxmb--80 {
  margin-bottom: 80px !important;
}

.pxml--80 {
  margin-left: 80px !important;
}

.pxpt--80 {
  padding-top: 80px !important;
}

.pxpr--80 {
  padding-right: 80px !important;
}

.pxpb--80 {
  padding-bottom: 80px !important;
}

.pxpl--80 {
  padding-left: 80px !important;
}

.pxmt--85 {
  margin-top: 85px !important;
}

.pxmr--85 {
  margin-right: 85px !important;
}

.pxmb--85 {
  margin-bottom: 85px !important;
}

.pxml--85 {
  margin-left: 85px !important;
}

.pxpt--85 {
  padding-top: 85px !important;
}

.pxpr--85 {
  padding-right: 85px !important;
}

.pxpb--85 {
  padding-bottom: 85px !important;
}

.pxpl--85 {
  padding-left: 85px !important;
}

.pxmt--90 {
  margin-top: 90px !important;
}

.pxmr--90 {
  margin-right: 90px !important;
}

.pxmb--90 {
  margin-bottom: 90px !important;
}

.pxml--90 {
  margin-left: 90px !important;
}

.pxpt--90 {
  padding-top: 90px !important;
}

.pxpr--90 {
  padding-right: 90px !important;
}

.pxpb--90 {
  padding-bottom: 90px !important;
}

.pxpl--90 {
  padding-left: 90px !important;
}

.pxmt--95 {
  margin-top: 95px !important;
}

.pxmr--95 {
  margin-right: 95px !important;
}

.pxmb--95 {
  margin-bottom: 95px !important;
}

.pxml--95 {
  margin-left: 95px !important;
}

.pxpt--95 {
  padding-top: 95px !important;
}

.pxpr--95 {
  padding-right: 95px !important;
}

.pxpb--95 {
  padding-bottom: 95px !important;
}

.pxpl--95 {
  padding-left: 95px !important;
}

.pxmt--100 {
  margin-top: 100px !important;
}

.pxmr--100 {
  margin-right: 100px !important;
}

.pxmb--100 {
  margin-bottom: 100px !important;
}

.pxml--100 {
  margin-left: 100px !important;
}

.pxpt--100 {
  padding-top: 100px !important;
}

.pxpr--100 {
  padding-right: 100px !important;
}

.pxpb--100 {
  padding-bottom: 100px !important;
}

.pxpl--100 {
  padding-left: 100px !important;
}

.emmt--0 {
  margin-top: 0em !important;
}

.emmr--0 {
  margin-right: 0em !important;
}

.emmb--0 {
  margin-bottom: 0em !important;
}

.emml--0 {
  margin-left: 0em !important;
}

.empt--0 {
  padding-top: 0em !important;
}

.empr--0 {
  padding-right: 0em !important;
}

.empb--0 {
  padding-bottom: 0em !important;
}

.empl--0 {
  padding-left: 0em !important;
}

.emmt--1 {
  margin-top: 1em !important;
}

.emmr--1 {
  margin-right: 1em !important;
}

.emmb--1 {
  margin-bottom: 1em !important;
}

.emml--1 {
  margin-left: 1em !important;
}

.empt--1 {
  padding-top: 1em !important;
}

.empr--1 {
  padding-right: 1em !important;
}

.empb--1 {
  padding-bottom: 1em !important;
}

.empl--1 {
  padding-left: 1em !important;
}

.emmt--2 {
  margin-top: 2em !important;
}

.emmr--2 {
  margin-right: 2em !important;
}

.emmb--2 {
  margin-bottom: 2em !important;
}

.emml--2 {
  margin-left: 2em !important;
}

.empt--2 {
  padding-top: 2em !important;
}

.empr--2 {
  padding-right: 2em !important;
}

.empb--2 {
  padding-bottom: 2em !important;
}

.empl--2 {
  padding-left: 2em !important;
}

.emmt--3 {
  margin-top: 3em !important;
}

.emmr--3 {
  margin-right: 3em !important;
}

.emmb--3 {
  margin-bottom: 3em !important;
}

.emml--3 {
  margin-left: 3em !important;
}

.empt--3 {
  padding-top: 3em !important;
}

.empr--3 {
  padding-right: 3em !important;
}

.empb--3 {
  padding-bottom: 3em !important;
}

.empl--3 {
  padding-left: 3em !important;
}

.emmt--4 {
  margin-top: 4em !important;
}

.emmr--4 {
  margin-right: 4em !important;
}

.emmb--4 {
  margin-bottom: 4em !important;
}

.emml--4 {
  margin-left: 4em !important;
}

.empt--4 {
  padding-top: 4em !important;
}

.empr--4 {
  padding-right: 4em !important;
}

.empb--4 {
  padding-bottom: 4em !important;
}

.empl--4 {
  padding-left: 4em !important;
}

.emmt--5 {
  margin-top: 5em !important;
}

.emmr--5 {
  margin-right: 5em !important;
}

.emmb--5 {
  margin-bottom: 5em !important;
}

.emml--5 {
  margin-left: 5em !important;
}

.empt--5 {
  padding-top: 5em !important;
}

.empr--5 {
  padding-right: 5em !important;
}

.empb--5 {
  padding-bottom: 5em !important;
}

.empl--5 {
  padding-left: 5em !important;
}

/*
/* = txt
/*
/* ------------------------------------------------------------------------------------------------------------------------ */
.txt--center {
  text-align: center;
}
.txt--left {
  text-align: left;
}
.txt--right {
  text-align: right;
}
.txt--alert {
  color: #FE0000;
}
.txt--underline {
  text-decoration: underline;
}

/*
/* = ttl
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.home-wrapper .ttl--h2 {
  margin-bottom: 0.5em;
  font-size: clamp(20px, 3.259vw, 25px);
  font-weight: 500;
}
.inner-wrapper .ttl--h2 {
  margin-bottom: 1em;
  font-size: clamp(28.8px, 3.333vw, 36px);
  font-weight: 500;
}
.ttl--h3 {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.8em;
  font-size: clamp(20px, 2.315vw, 25px);
  font-weight: 500;
}
.ttl--h3::before {
  position: absolute;
  left: 0;
  top: 0.75em;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #0991bd;
}
.ttl--h4 {
  margin-bottom: 1em;
  font-size: clamp(20px, 1.563vw, 20px);
  color: #0991bd;
  font-weight: 600;
}

/*
/* = btn
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.btn--more01 {
  position: relative;
  display: inline-block;
  background-color: #0991bd;
  border-radius: 40px;
  font-weight: 600;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .btn--more01 {
    min-width: 260px;
  }
}
@media screen and (max-width: 767px) {
  .btn--more01 {
    max-width: 100% !important;
  }
}
.btn--more01:link, .btn--more01:active, .btn--more01:focus, .btn--more01:visited, .btn--more01:hover {
  color: #ffffff !important;
}
.btn--more01::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #ffffff !important;
  transition: 0.5s;
}
.btn--more01.ico--right {
  padding: 0.7625em 4em 0.7625em 3em;
}
.btn--more01.ico--right::before {
  right: 1em;
}
.btn--more01.ico--right:hover::before {
  right: 0.8em;
}
.btn--more01.ico--left {
  padding: 0.7625em 3em 0.7625em 4em;
}
.btn--more01.ico--left::before {
  left: 1em;
}
.btn--more01.ico--left:hover::before {
  left: 0.8em;
}
.btn--more02 {
  position: relative;
  display: inline-block;
  padding: 0.7625em 3em 0.7625em 1em;
  font-weight: 600;
}
.btn--more02:link, .btn--more02:active, .btn--more02:focus, .btn--more02:visited, .btn--more02:hover {
  color: #0991bd !important;
}
.btn--more02::before {
  position: absolute;
  top: 50%;
  right: 0.2em;
  transform: translateY(-50%);
  background-color: #0991bd !important;
  transition: 0.5s;
}
.btn--more02:hover::before {
  right: 0em;
}
.btn--more02::after {
  position: absolute;
  top: 50%;
  right: 0.2em;
  display: block;
  content: "";
  transform: translateY(-50%);
  transition: 0.5s;
  width: 1.8em;
  height: 1.8em;
  border: 1px solid #0991bd;
  border-radius: 50%;
}
.btn--more02:hover::after {
  right: 0em;
}
.btn--recruit {
  background-color: #016e92;
  font-weight: 500;
}
.btn--recruit:link, .btn--recruit:active, .btn--recruit:focus, .btn--recruit:visited, .btn--recruit:hover {
  color: #ffffff !important;
}
.btn--contact {
  background-color: #00293c;
  font-weight: 500;
}
.btn--contact:link, .btn--contact:active, .btn--contact:focus, .btn--contact:visited, .btn--contact:hover {
  color: #ffffff !important;
}
.btn--small {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 1em;
  background-color: #0991bd;
  border-radius: 40px;
  font-weight: 400;
  text-align: center;
}
.btn--small:link, .btn--small:active, .btn--small:focus, .btn--small:visited, .btn--small:hover {
  color: #ffffff !important;
}
.btn--small::before {
  background-color: #ffffff !important;
}
.btn--big {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: clamp(20px, 1.563vw, 20px) clamp(20px, 1.563vw, 20px) clamp(20px, 1.563vw, 20px) clamp(100px, 7.813vw, 100px);
  background-color: #0991bd;
}
.btn--big:link, .btn--big:active, .btn--big:focus, .btn--big:visited, .btn--big:hover {
  color: #ffffff !important;
}
.btn--big::before {
  position: absolute;
  top: 50%;
  right: 1.25em;
  transform: translateY(-50%);
  background-color: #ffffff !important;
  transition: 0.5s;
}
.btn--big:hover::before {
  right: 1.05em;
}
.btn--big::after {
  position: absolute;
  top: 50%;
  right: 1.25em;
  display: block;
  content: "";
  transform: translateY(-50%);
  transition: 0.5s;
  width: 1.8em;
  height: 1.8em;
  border: 1px solid #ffffff;
  border-radius: 50%;
}
.btn--big:hover::after {
  right: 1.05em;
}
.btn--big span,
.btn--big h2 {
  font-size: clamp(20px, 3.259vw, 25px);
  font-weight: 500;
}
.btn--big span::before,
.btn--big h2::before {
  position: absolute;
  left: clamp(20px, 2.608vw, 20px);
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: clamp(40px, 6.519vw, 50px);
  aspect-ratio: 1/1;
  background-color: #ffffff;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100% 100%;
}
.btn--big:hover span::before, .btn--big:hover h2::before {
  background-color: #ffffff !important;
}

/*
/* = ico
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.ico--arrow-up::before, .ico--arrow-down::before, .ico--arrow-left::before, .ico--arrow-right::before, .ico--tel::before, .ico--fax::before, .ico--form::before, .ico--recruit::before, .ico--blank::before, .ico--pdf::before, .ico--close::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  background-color: #000000;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: auto 100%;
}
.ico--arrow-up::before {
  mask-image: url(../images/common/ico--arrow-up.svg);
}
.ico--arrow-down::before {
  mask-image: url(../images/common/ico--arrow-down.svg);
}
.ico--arrow-left::before {
  mask-image: url(../images/common/ico--arrow-left.svg);
}
.ico--arrow-right::before {
  mask-image: url(../images/common/ico--arrow-right.svg);
}
.ico--tel::before {
  mask-image: url(../images/common/ico--tel.svg);
}
.ico--fax::before {
  mask-image: url(../images/common/ico--fax.svg);
}
.ico--recruit::before {
  mask-image: url(../images/common/ico--recruit.svg);
}
.ico--form::before {
  mask-image: url(../images/common/ico--form.svg);
}
.ico--blank::before {
  mask-image: url(../images/common/ico--blank.svg);
}
.ico--pdf::before {
  mask-image: url(../images/common/ico--pdf.svg);
}
.ico--close::before {
  mask-image: url(../images/common/ico--close.svg);
}

/*
/* = Table
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.tbl--scroll {
  overflow-x: scroll;
}
.tbl--scroll table {
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
  .tbl--block dl > div {
    flex-direction: column;
  }
  .tbl--block dl > div dt,
  .tbl--block dl > div dd {
    width: 100%;
  }
  .tbl--block table thead {
    display: none;
  }
  .tbl--block table th,
  .tbl--block table td {
    display: block;
    width: 100%;
  }
  .tbl--block table th {
    border-bottom: none;
  }
  .tbl--block table tr:not(:last-of-type) td {
    border-bottom: none;
  }
}
.tbl--table {
  width: 100%;
  border-collapse: collapse;
}
.tbl--table th,
.tbl--table td {
  padding: 1em;
  border: 1px solid #dddddd;
}
.tbl--table th.w100,
.tbl--table td.w100 {
  width: 125px;
}
.tbl--table thead th {
  background-color: #E5F4F8;
  color: #0991bd;
}
.tbl--table tbody th {
  background-color: #E5F4F8;
  font-weight: 500;
}
.tbl--table tbody td {
  text-align: center;
}
.tbl--dl > div {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  border-top: 1px solid #dddddd;
}
.tbl--dl > div:last-of-type {
  border-bottom: 1px solid #dddddd;
}
.tbl--dl > div > dt {
  width: 20%;
  padding: 1.6em;
  font-weight: 600;
  color: #0991bd;
}
@media screen and (max-width: 767px) {
  .tbl--dl > div > dt {
    padding-bottom: 0;
  }
}
.tbl--dl > div > dd {
  width: 80%;
  padding: 1.6em;
}

/*
/* = list
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.list--dt > div + div {
  margin-top: 1em;
}
.list--dt dt {
  margin-bottom: 0.25em;
  font-weight: 600;
}
.list--dot {
  padding-left: 1em;
  list-style-type: disc;
}
.list--dot li::marker {
  color: #0991bd;
}
.list--num {
  margin-left: 1em;
  list-style: outside decimal;
}
.list--num li::marker {
  color: #0991bd;
  font-weight: 600;
}
.list--inline {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 2em;
}

/*
/* = info
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.info--addr span {
  display: inline-block;
}
.info--addr span.zip {
  margin-right: 0.5em;
}
.info--number > span {
  display: block;
}
/*
/* = block
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.blc--col > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 clamp(40px, 3.125vw, 40px);
}
@media print, screen and (max-width: 1080px) {
  .blc--col > div {
    flex-direction: column;
  }
}
.blc--col_ttl {
  width: 16%;
}
@media print, screen and (max-width: 1080px) {
  .blc--col_ttl {
    width: 100%;
  }
}
.blc--col_cnt {
  width: calc(100% - (16% + clamp(40px, 3.125vw, 40px)));
}
@media print, screen and (max-width: 1080px) {
  .blc--col_cnt {
    width: 100%;
  }
}

.blc--photos_txt {
  margin-bottom: 4em;
}
.blc--photos_txt p + p {
  margin-top: 1em;
}
.blc--photos_dtl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: clamp(50px, 3.906vw, 50px) clamp(42px, 3.906vw, 50px);
}
@media print, screen and (max-width: 1080px) {
  .blc--photos_dtl {
    gap: clamp(50px, 3.906vw, 50px) clamp(30px, 3.889vw, 42px);
  }
}
@media screen and (max-width: 767px) {
  .blc--photos_dtl {
    gap: clamp(50px, 3.906vw, 50px) clamp(25px, 3.911vw, 30px);
  }
}
.blc--photos_dtl + .blc--photos_dtl {
  margin-top: clamp(50px, 3.906vw, 50px);
}
.blc--photos_dtl.row {
  flex-direction: row;
}
.blc--photos_dtl.row .item figure + * {
  margin-top: 1em;
}
.blc--photos_dtl.row .item figure figcaption {
  margin-top: 0.25em;
  text-align: right;
  font-size: clamp(14px, 1.094vw, 14px);
}
.blc--photos_dtl.row.row2 .item {
  width: calc((100% - clamp(42px, 3.906vw, 50px) * 1) / 2);
}
@media print, screen and (max-width: 1080px) {
  .blc--photos_dtl.row.row2 .item {
    width: calc((100% - clamp(30px, 3.889vw, 42px) * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  .blc--photos_dtl.row.row2 .item {
    width: 100%;
  }
}
.blc--photos_dtl.row.row3 .item {
  width: calc((100% - clamp(42px, 3.906vw, 50px) * 2) / 3);
}
@media print, screen and (max-width: 1080px) {
  .blc--photos_dtl.row.row3 .item {
    width: calc((100% - clamp(30px, 3.889vw, 42px) * 2) / 3);
  }
}
@media screen and (max-width: 767px) {
  .blc--photos_dtl.row.row3 .item {
    width: calc((100% - clamp(25px, 3.911vw, 30px) * 1) / 2);
  }
}
@media screen and (max-width: 428px) {
  .blc--photos_dtl.row.row3 .item {
    width: 100%;
  }
}

.blc--panel {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(50px, 3.906vw, 50px) clamp(42px, 3.906vw, 50px);
}
@media print, screen and (max-width: 1080px) {
  .blc--panel {
    gap: clamp(50px, 3.906vw, 50px) clamp(30px, 3.889vw, 42px);
  }
}
@media screen and (max-width: 767px) {
  .blc--panel {
    gap: clamp(50px, 3.906vw, 50px) clamp(25px, 3.911vw, 30px);
  }
}
@media screen and (max-width: 767px) {
  .blc--panel {
    flex-direction: column;
  }
}
.blc--panel_item {
  padding: clamp(30px, 2.344vw, 30px) clamp(30px, 2.344vw, 30px);
  background-color: #E5F4F8;
  border-radius: 20px 0 20px 0;
}
.blc--panel.row .blc--panel_item {
  width: 100%;
}

.blc--panel.row.row2 .blc--panel_item {
  width: calc((100% - clamp(42px, 3.906vw, 50px) * 1) / 2);
}
@media print, screen and (max-width: 1080px) {
  .blc--panel.row.row2 .blc--panel_item {
    width: calc((100% - clamp(30px, 3.889vw, 42px) * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  .blc--panel.row.row2 .blc--panel_item {
    width: 100%;
  }
}

.blc--panel.row.row3 .blc--panel_item {
  width: calc((100% - clamp(42px, 3.906vw, 50px) * 2) / 3);
}
@media print, screen and (max-width: 1080px) {
  .blc--panel.row.row3 .blc--panel_item {
    width: calc((100% - clamp(30px, 3.889vw, 42px) * 2) / 3);
  }
}
@media screen and (max-width: 767px) {
  .blc--panel.row.row3 .blc--panel_item {
    width: calc((100% - manu_vw(25, 30, sp) * 1) / 2);
  }
}
@media screen and (max-width: 428px) {
  .blc--panel.row.row3 .blc--panel_item {
    width: 100%;
  }
}

.blc--panel.row.row4 .blc--panel_item {
  width: calc((100% - clamp(42px, 3.906vw, 50px) * 3) / 4);
}
@media print, screen and (max-width: 1080px) {
  .blc--panel.row.row4 .blc--panel_item {
    width: calc((100% - clamp(30px, 3.889vw, 42px) * 3) / 4);
  }
}
@media screen and (max-width: 767px) {
  .blc--panel.row.row4 .blc--panel_item {
    width: calc((100% - manu_vw(25, 30, sp) * 2) / 3);
  }
}
@media screen and (max-width: 428px) {
  .blc--panel.row.row4 .blc--panel_item {
    width: calc((100% - manu_vw(25, 30, sp) * 1) / 2);
  }
}

/*
/* = form
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.form--steps {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  margin-bottom: 3em;
  overflow: hidden;
}
.form--steps li {
  position: relative;
  width: 33.3333333333%;
  padding: 1em;
  text-align: center;
  background-color: #E5F4F8;
  font-weight: 500;
}
.form--steps li:first-child {
  border-radius: 10px 0 0 10px;
}
.form--steps li:last-child {
  border-radius: 0 10px 10px 0;
}
.form--steps li:not(:last-child)::before {
  position: absolute;
  left: calc(100% + 2px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: block;
  content: "";
  width: 10px;
  height: calc(100% + 10px);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background-color: #ffffff;
}
.form--steps li:not(:last-child)::after {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: block;
  content: "";
  width: 10px;
  height: calc(100% + 10px);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background-color: #E5F4F8;
}
.form--steps li.now {
  background-color: #0991bd;
  color: #ffffff;
}
.form--steps li.now::after {
  background-color: #0991bd !important;
}
.form--tbl dl > div {
  border-bottom: 1px solid #dddddd;
}
.form--tbl dl > div:first-child {
  border-top: 1px solid #dddddd;
}
.form--tbl dl > div > dt {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1em;
  padding: 1em 1em 0 1em;
  font-weight: 500;
}
.form--tbl dl > div > dt::before {
  display: block;
  padding: 0 0.5em;
  border-radius: 3px;
  font-size: clamp(12px, 0.938vw, 12px);
  color: #ffffff;
}
.form--tbl dl > div > dt.fk-req::before {
  content: "必須";
  background-color: #FE0000;
}
.form--tbl dl > div > dt.fk-noreq::before {
  content: "任意";
  background-color: #666666;
}
.form--tbl dl > div > dd {
  padding: 1em;
}
.form--tbl dl > div > dd > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em 0.5em;
}
.form--tbl dl > div > dd > div + div {
  margin-top: 1em;
}
.form--tbl dl > div > dd > div .fk-marker {
  width: 1em;
}
.form--tbl dl > div > dd > div .fk-error {
  width: 100%;
}
.form--tbl dl > div > dd > div .ttl {
  font-weight: 500;
}
.form--tbl dl > div > dd > div input[type=text],
.form--tbl dl > div > dd > div input[type=number],
.form--tbl dl > div > dd > div input[type=tel],
.form--tbl dl > div > dd > div input[type=email],
.form--tbl dl > div > dd > div input[type=url],
.form--tbl dl > div > dd > div input[type=password],
.form--tbl dl > div > dd > div input[type=search],
.form--tbl dl > div > dd > div select,
.form--tbl dl > div > dd > div textarea {
  width: calc(100% - 1.5em);
  padding: 0.8em;
  font-family: inherit;
  font-size: inherit;
  border: 1px solid #bbbbbb;
  background-color: rgba(238, 238, 238, 0.5);
  border-radius: 5px;
}
.form--tbl dl > div > dd > div textarea {
  field-sizing: content;
  min-height: 3lh;
}
.form--tbl dl > div > dd > div input[type=checkbox],
.form--tbl dl > div > dd > div input[type=radio] {
  margin-right: 0.25em;
}
.form--submit {
  margin-top: 3em;
  text-align: center;
}
.form--submit button {
  display: inline-block;
  min-width: 240px;
  padding: 1.3875em;
  background-color: #00293c;
  border: none;
  border-radius: 40px;
  font-family: inherit;
  font-size: inherit;
  text-align: center;
  color: #ffffff !important;
  font-weight: 500;
  cursor: pointer;
}
.form--thanks p + p {
  margin-top: 1em;
}
.form--btn {
  margin-top: 3em;
  text-align: center;
}

/*
/* = topics
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.topics--list li {
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid #dddddd;
}
.topics--list li div.date {
  margin-bottom: 0.25em;
  line-height: 1;
  font-weight: 600;
}
.topics--list li span.new {
  display: inline-block;
  margin-left: 0.5em;
  font-size: clamp(12px, 0.938vw, 12px);
  color: #FE0000;
}
.topics--list li span.category {
  display: none;
}
.topics--pager {
  margin-top: 4em;
}
.topics--pager .pager {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5em 0.5em;
}
.topics--pager .pager a {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  font-size: clamp(14px, 1.094vw, 14px);
  border: 1px solid #0991bd;
  color: #0991bd;
  border-radius: 50%;
}
.topics--pager .pager a.current {
  background-color: #0991bd;
  color: #ffffff;
}
.topics--pager .pager a.current:hover {
  color: #ffffff;
}
.topics--pager .pager a:hover {
  background-color: #0991bd;
  color: #ffffff;
}
.topics--pager .pager a.pagerPrev::before, .topics--pager .pager a.pagerNext::before {
  transition: 0.5s;
  margin-right: 0 !important;
  background-color: #0991bd;
}
.topics--pager .pager a.pagerPrev:hover::before, .topics--pager .pager a.pagerNext:hover::before {
  background-color: #ffffff;
}
.topics--date {
  margin-bottom: 2em;
  font-weight: 600;
}
.topics--dtl .fig img {
  width: auto;
  max-width: 100%;
}
.topics--btn {
  margin-top: 1.6em;
}

/*
/* = license
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.license-cnt--item {
  margin-top: clamp(50px, 3.906vw, 50px);
}
.license-cnt--item .tbl--block + .tbl--block {
  margin-top: 2em;
}
.license-cnt--item .tbl--table th,
.license-cnt--item .tbl--table td {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .license-cnt--item .tbl--table th,
  .license-cnt--item .tbl--table td {
    width: 100%;
  }
}

/****************************************************************************************************************************/
/*
/*
/* = Layout Style
/*
/*
/****************************************************************************************************************************/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(15px, 1.25vw, 16px);
  font-weight: 400;
  line-height: 1;
  font-display: swap;
}
@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}
body.open {
  overflow: hidden;
}

/*
/*
/* = Header
/*
/*
/****************************************************************************************************************************/
.header {
  position: relative;
  z-index: 4;
  padding-left: clamp(42px, 3.906vw, 50px);
  padding-right: clamp(42px, 3.906vw, 50px);
}
@media print, screen and (max-width: 1080px) {
  .header {
    padding-left: clamp(30px, 3.889vw, 42px);
    padding-right: clamp(30px, 3.889vw, 42px);
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding-left: clamp(25px, 3.911vw, 30px);
    padding-right: clamp(25px, 3.911vw, 30px);
  }
}
@media screen and (max-width: 428px) {
  .header {
    padding-right: 20px;
  }
}
.js--zindex .header {
  z-index: 1;
}

.header-inner {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  height: 130px;
  padding-top: clamp(45px, 3.516vw, 45px);
}
@media print, screen and (max-width: 1080px) {
  .header-inner {
    height: 100px;
    padding-top: clamp(20px, 1.563vw, 20px);
  }
}
.header-description {
  position: absolute;
  top: 0.25em;
  left: 0;
  font-size: clamp(10px, 0.781vw, 10px);
}
.header-sitename img {
  width: auto;
  height: clamp(30px, 5.215vw, 40px);
}
@media print, screen and (min-width: 1081px) {
  .header-menu {
    display: none;
  }
}
@media print, screen and (max-width: 1080px) {
  .header-menu {
    position: relative;
    width: 46px;
    height: 46px;
  }
  .header-menu i {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 46px;
    height: 3px;
    background-color: #0991bd;
  }
  .header-menu i::before, .header-menu i::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 46px;
    height: 3px;
    background-color: #0991bd;
    transition: 0.3s;
  }
  .header-menu i::before {
    top: -8px;
  }
  .header-menu i::after {
    top: 12px;
  }
  .open .header-menu i {
    background-color: rgba(9, 145, 189, 0);
  }
  .open .header-menu i::before {
    top: 0;
    transform: translateY(-50%) rotate(-45deg);
  }
  .open .header-menu i::after {
    top: 0;
    transform: translateY(-50%) rotate(225deg);
  }
}
@media print, screen and (min-width: 1081px) {
  .header-nav > ul.global li a::before,
  .header-nav > ul.sub li a::before,
  .header-nav > ul.contact li a::before {
    display: none;
  }
  .header-nav > ul.global {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
  }
  .header-nav > ul.global li + li {
    margin-left: 1em;
  }
  .header-nav > ul.global li:nth-child(1) {
    display: none;
  }
  .header-nav > ul.sub {
    position: absolute;
    top: 0;
    right: 9em;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: stretch;
    height: 45px;
    padding: 0 2em;
    background-color: #0991bd;
    border-radius: 0 0 0 5px;
  }
  .header-nav > ul.sub li {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  }
  .header-nav > ul.sub li:not(:last-child)::after {
    display: inline-block;
    content: "";
    width: 1px;
    height: 1em;
    margin-left: 0.8em;
    margin-right: 0.8em;
    background-color: #ffffff;
  }
  .header-nav > ul.sub li a {
    font-size: clamp(15px, 1.172vw, 15px);
  }
  .header-nav > ul.sub li a:link, .header-nav > ul.sub li a:active, .header-nav > ul.sub li a:focus, .header-nav > ul.sub li a:visited, .header-nav > ul.sub li a:hover {
    color: #ffffff !important;
  }
  .header-nav > ul.contact {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: stretch;
    height: 45px;
  }
  .header-nav > ul.contact li a {
    display: block;
    height: 45px;
    line-height: 45px;
    padding: 0 1.5em;
  }
  .header-nav > ul.contact li a.btn--contact {
    border-radius: 0 0 5px 0;
  }
}
@media print, screen and (max-width: 1080px) {
  .header-nav {
    position: fixed;
    right: 0;
    top: 100px;
    width: 100%;
    max-width: 428px;
    height: calc(100% - 100px);
    padding: clamp(50px, 4.63vw, 50px) clamp(25px, 4.63vw, 50px);
    overflow-x: scroll;
    background-color: #0991bd;
    transform: translateX(100%);
    transition: 0.3s;
  }
  .header-nav > ul.global li a,
  .header-nav > ul.sub li a,
  .header-nav > ul.contact li a {
    position: relative;
    padding: 1.6em;
    display: block;
  }
  .header-nav > ul.global,
  .header-nav > ul.sub {
    background-color: #ffffff;
  }
  .header-nav > ul.global li,
  .header-nav > ul.sub li {
    border-bottom: 1px dotted #dddddd;
  }
  .header-nav > ul.global li a::before,
  .header-nav > ul.sub li a::before {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
  }
  .header-nav > ul.global {
    border-radius: 5px 5px 0 0;
  }
  .header-nav > ul.sub {
    border-radius: 0 0 5px 5px;
  }
  .header-nav > ul.sub li:last-child {
    border-bottom: none;
  }
  .header-nav > ul.contact .nav--recruit,
  .header-nav > ul.contact .nav--contact {
    margin-top: 0.5em;
  }
  .header-nav > ul.contact .nav--recruit a,
  .header-nav > ul.contact .nav--contact a {
    width: 100%;
    padding: 1em;
    text-align: center;
    border-radius: 5px;
  }
  .open .header-nav {
    transform: translateX(0);
  }
}
.header-nav .nav--recruit {
  display: none !important;
}

/*
/*
/* = Visual
/*
/*
/****************************************************************************************************************************/
.visual {
  position: relative;
  z-index: 1;
  padding-left: clamp(25px, 3.906vw, 50px);
}
.home-wrapper .visual-inner .swiper-wrapper {
  height: clamp(520px, 40.63vw, 780px);
  clip-path: inset(0 0 round 15px 0 0 15px);
}
@media screen and (max-width: 767px) {
  .home-wrapper .visual-inner .swiper-wrapper {
    height: clamp(360px, 78.227vw, 600px);
    overflow: hidden;
  }
}
.home-wrapper .visual-inner img {
  object-fit: cover;
  height: 100%;
}
.inner-wrapper .visual-inner {
  position: relative;
}
.inner-wrapper .visual-ttl {
  position: absolute;
  z-index: 2;
  left: clamp(84px, 7.813vw, 100px);
  top: 50%;
  transform: translateY(-50%);
}
@media print, screen and (max-width: 1080px) {
  .inner-wrapper .visual-ttl {
    left: clamp(60px, 7.778vw, 84px);
  }
}
@media screen and (max-width: 767px) {
  .inner-wrapper .visual-ttl {
    left: clamp(30px, 7.823vw, 60px);
  }
}
.inner-wrapper .visual-ttl span {
  display: block;
  font-weight: 600;
}
.inner-wrapper .visual-ttl .en {
  margin-bottom: 1em;
  font-size: clamp(16px, 1.852vw, 20px);
  color: #ffffff;
}
.inner-wrapper .visual-ttl .jp {
  font-size: clamp(40px, 4.63vw, 50px);
  color: #ffffff;
}
.inner-wrapper .visual-fig {
  position: relative;
  z-index: 1;
  height: clamp(420px, 40.63vw, 680px);
  clip-path: inset(0 0 round 15px 0 0 15px);
}
.inner-wrapper .visual-fig::before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 80%);
}
.inner-wrapper .visual-fig img {
  object-fit: cover;
  height: 100%;
}
.inner-wrapper .visual-path {
  position: absolute;
  z-index: 2;
  left: clamp(84px, 7.813vw, 100px);
  top: calc(50% + clamp(40px, 6.519vw, 50px) + clamp(16px, 2.608vw, 20px) + clamp(16px, 2.608vw, 20px));
}
@media print, screen and (max-width: 1080px) {
  .inner-wrapper .visual-path {
    left: clamp(60px, 7.778vw, 84px);
  }
}
@media screen and (max-width: 767px) {
  .inner-wrapper .visual-path {
    left: clamp(30px, 7.823vw, 60px);
  }
}
.inner-wrapper .visual-path--list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: clamp(14px, 1.094vw, 14px);
}
@media screen and (max-width: 767px) {
  .inner-wrapper .visual-path--list {
    flex-wrap: wrap;
    line-height: 1.6;
  }
}
.inner-wrapper .visual-path--list li {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
.inner-wrapper .visual-path--list li:first-child::before {
  display: inline-block;
  margin-right: 0.5em;
  content: "";
  width: 1em;
  height: 1em;
  background-color: #ffffff;
  mask-image: url(../images/common/ico--home.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}
.inner-wrapper .visual-path--list li:not(:last-child)::after {
  margin-left: 0.5em;
  margin-right: 0.5em;
  content: "";
  width: 2em;
  height: 1px;
  background-color: #ffffff;
}
.inner-wrapper .visual-path--list li a {
  color: #ffffff;
}

/*
/* = Contents
/*
/****************************************************************************************************************************/
.contents {
  position: relative;
  z-index: 3;
}
/*
/* = localnav
/*
/****************************************************************************************************************************/
.localnav {
  padding-left: clamp(25px, 3.906vw, 50px);
}
.localnav-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(20px, 2.344vw, 30px);
  padding: clamp(20px, 2.344vw, 30px);
  background-color: #E5F4F8;
  border-radius: 10px 0 0 10px;
}
@media screen and (max-width: 767px) {
  .localnav-list {
    flex-direction: column;
    align-items: stretch;
  }
}
.localnav-list li a {
  display: block;
}
.localnav-list li a:link, .localnav-list li a:active, .localnav-list li a:focus, .localnav-list li a:visited, .localnav-list li a:hover {
  color: #000000 !important;
}
.localnav-list li a::before {
  position: absolute;
  top: 50%;
  right: 0.2em;
  transform: translateY(-50%);
  background-color: #000000 !important;
  transition: 0.5s;
}
.localnav-list li a:hover::before {
  right: 0em;
}
.localnav-list li a::after {
  position: absolute;
  top: 50%;
  right: 0.2em;
  display: block;
  content: "";
  transform: translateY(-50%);
  transition: 0.5s;
  width: 1.8em;
  height: 1.8em;
  border: 1px solid #000000;
  border-radius: 50%;
}
.localnav-list li a:hover::after {
  right: 0em;
}

/*
/* = main
/*
/****************************************************************************************************************************/
.main {
  padding-top: clamp(50px, 9.259vw, 100px);
  padding-bottom: clamp(50px, 9.259vw, 100px);
  line-height: 1.8;
}
.home-wrapper .main .section + .section {
  margin-top: clamp(100px, 9.259vw, 100px);
}
.home-wrapper .main .section-inner {
  width: 100%;
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(42px, 3.906vw, 50px);
  padding-right: clamp(42px, 3.906vw, 50px);
}
@media print, screen and (max-width: 1080px) {
  .home-wrapper .main .section-inner {
    padding-left: clamp(30px, 3.889vw, 42px);
    padding-right: clamp(30px, 3.889vw, 42px);
  }
}
@media screen and (max-width: 767px) {
  .home-wrapper .main .section-inner {
    padding-left: clamp(25px, 3.911vw, 30px);
    padding-right: clamp(25px, 3.911vw, 30px);
  }
}
.inner-wrapper .main .section {
  padding-top: clamp(50px, 9.259vw, 100px);
  padding-bottom: clamp(50px, 9.259vw, 100px);
}
.inner-wrapper .main .section-inner {
  width: 100%;
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(42px, 3.906vw, 50px);
  padding-right: clamp(42px, 3.906vw, 50px);
}
@media print, screen and (max-width: 1080px) {
  .inner-wrapper .main .section-inner {
    padding-left: clamp(30px, 3.889vw, 42px);
    padding-right: clamp(30px, 3.889vw, 42px);
  }
}
@media screen and (max-width: 767px) {
  .inner-wrapper .main .section-inner {
    padding-left: clamp(25px, 3.911vw, 30px);
    padding-right: clamp(25px, 3.911vw, 30px);
  }
}

/*
/* = aside
/*
/****************************************************************************************************************************/
.aside {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  background-color: #0991bd;
}
@media print, screen and (max-width: 810px) {
  .aside {
    flex-direction: column;
  }
}
.aside .calendar {
  width: 50%;
  padding-left: calc((100% - 1366px) / 2 + clamp(70px, 5.469vw, 70px) + clamp(50px, 3.906vw, 50px));
  padding-right: clamp(70px, 5.469vw, 70px);
  padding-top: clamp(50px, 3.906vw, 50px);
  padding-bottom: clamp(50px, 3.906vw, 50px);
}
@media print, screen and (max-width: 1280px) {
  .aside .calendar {
    padding-left: calc((100% - clamp(1081px, 100vw, 1280px)) / 2 + clamp(35px, 5.469vw, 70px));
    padding-right: clamp(35px, 5.469vw, 70px);
  }
}
@media print, screen and (max-width: 1080px) {
  .aside .calendar {
    padding-left: calc((100% - clamp(768px, 100vw, 1080px)) / 2 + clamp(25px, 3.241vw, 35px));
    padding-right: clamp(25px, 3.241vw, 35px);
  }
}
@media print, screen and (max-width: 810px) {
  .aside .calendar {
    width: 100%;
    padding-left: clamp(25px, 3.241vw, 35px);
    padding-right: clamp(25px, 3.241vw, 35px);
  }
}
.aside .calendar #calendarTable {
  width: 100%;
  border-collapse: collapse;
}
.aside .calendar #calendarTable th,
.aside .calendar #calendarTable td {
  padding: 0.5em;
  text-align: center;
  font-weight: normal;
}
.aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(1) {
  text-align: left;
}
.aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(3) {
  text-align: right;
}
.aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(1) a, .aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(3) a {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 0;
  width: 36px;
  height: 36px;
  border: 1px solid #ffffff;
  border-radius: 50%;
}
.aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(1) a::before, .aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(3) a::before {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #ffffff;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100% 100%;
}
.aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(1) a::before {
  mask-image: url(../images/common/ico--arrow-left.svg);
}
.aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(3) a::before {
  mask-image: url(../images/common/ico--arrow-right.svg);
}
.aside .calendar #calendarTable tr:nth-of-type(1) th:nth-child(2) {
  font-weight: 600;
  color: #ffffff;
}
.aside .calendar #calendarTable tr:not(:nth-of-type(1)) th,
.aside .calendar #calendarTable tr:not(:nth-of-type(1)) td {
  border: 1px solid #dddddd;
  background-color: #ffffff;
}
.aside .calendar #calendarLegend {
  margin-top: 0.5em;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.5em;
  font-size: clamp(14px, 1.094vw, 14px);
  color: #ffffff;
}
.aside .calendar #calendarLegend .holiday {
  width: 1em;
  height: 1em;
  border: 1px solid #dddddd;
}
.aside .map {
  width: 50%;
}
@media print, screen and (max-width: 810px) {
  .aside .map {
    width: 100%;
    aspect-ratio: 750/410;
  }
}
.aside .map iframe {
  width: 100%;
  height: 100%;
}

/*
/*
/* = Footer
/*
/*
/****************************************************************************************************************************/
.footer {
  position: relative;
  z-index: 1;
  padding-left: clamp(42px, 3.906vw, 50px);
  padding-right: clamp(42px, 3.906vw, 50px);
  line-height: 1.8em;
}
@media print, screen and (max-width: 1080px) {
  .footer {
    padding-left: clamp(30px, 3.889vw, 42px);
    padding-right: clamp(30px, 3.889vw, 42px);
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding-left: clamp(25px, 3.911vw, 30px);
    padding-right: clamp(25px, 3.911vw, 30px);
  }
}
.footer-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(60px, 4.688vw, 60px);
  padding-bottom: clamp(40px, 3.125vw, 40px);
}
@media screen and (max-width: 767px) {
  .footer-inner {
    flex-direction: column;
    align-items: center;
  }
}
.footer-information dt {
  font-size: clamp(18px, 1.406vw, 18px);
  font-weight: 600;
}
.footer-nav {
  margin-top: 1.8em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  font-size: clamp(15px, 1.172vw, 15px);
}
.footer-nav > ul.global li a::before,
.footer-nav > ul.sub li a::before,
.footer-nav > ul.contact li a::before {
  display: none;
}
.footer-nav > ul.global {
  margin-right: clamp(30px, 4.688vw, 60px);
}
.footer-nav > ul.global li.nav--home {
  display: none;
}
.footer-nav > ul.global,
.footer-nav > ul.sub {
  padding-left: 1em;
  list-style-type: disc;
}
@media print, screen and (max-width: 1080px) {
  .footer-nav > ul.global,
  .footer-nav > ul.sub {
    display: none;
  }
}
.footer-nav > ul.contact {
  margin-left: clamp(30px, 4.688vw, 60px);
}
@media screen and (max-width: 767px) {
  .footer-nav > ul.contact {
    margin-left: 0;
  }
}
.footer-nav > ul.contact li + li {
  margin-top: 0.5em;
}
.footer-nav > ul.contact li a {
  display: block;
  width: clamp(180px, 14.063vw, 180px);
  height: 45px;
  line-height: 45px;
  border-radius: 5px;
  text-align: center;
}
.footer-nav > ul.contact li.nav--recruit {
  display: none !important;
}
.footer-copy {
  width: 100%;
  margin-top: clamp(80px, 6.25vw, 80px);
  font-size: clamp(13px, 1.016vw, 13px);
  text-align: center;
}/*# sourceMappingURL=style.css.map */