@charset "UTF-8";
/* resset.dev • v5.0.2 */
/* # =================================================================
   # Global selectors
   # ================================================================= */


/* # =================================================================
   # General elements
   # ================================================================= */


/* # =================================================================
   # Forms
   # ================================================================= */


/* # =================================================================
   # Specify media element style
   # ================================================================= */

/* # =================================================================
   # Accessibility
   # ================================================================= */


/* ----------------------------------------
  共通部分
---------------------------------------- */

/*========================================
break point
========================================*/
/* header
------------------------------------------------------ 
.l-header {
  position: fixed;
  width: 100%;
  z-index: 20;
}
.l-header__inner {
  position: relative;
  padding-right: 4%;
  padding-left: 4%;
  padding-top: 10px;
  padding-bottom: 5px;
  display: flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .l-header__inner {
    margin-inline: auto;
    padding-right: 150px;
    padding-left: 150px;
    padding-top: 30px;
    align-items: center;
    justify-content: space-between;
  }
}
.l-header__logoImg {
  width: 210px;
}
@media (min-width: 768px) {
  .l-header__logoImg {
    width: 284px;
  }
}
.l-headerNav {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 13%;
  width: 100%;
  height: 100dvh;
  background-color: #005593;
  opacity: 0;
  transition: opacity 0.5s;
  z-index: 2;
}
@media (min-width: 1024px) {
  .l-headerNav {
    visibility: visible;
    position: static;
    width: auto;
    height: auto;
    margin-left: auto;
    margin-right: 55px;
    background-color: transparent;
    opacity: 1;
  }
}
.l-headerNav.fade {
  opacity: 1;
  visibility: visible;
}
.l-headerNav__list {
  position: absolute;
  top: 11%;
  left: 0;
  width: 100%;
  height: 100%;
  list-style: none;
  overflow: scroll;
}
@media (min-width: 1024px) {
  .l-headerNav__list {
    display: flex;
    position: static;
    transform: none;
    overflow: visible;
  }
}
.l-headerNav__item {
  position: relative;
  width: auto;
  padding: 17px 0;
  margin-bottom: 3px;
  background-color: #FFFFFF;
}
@media (min-width: 1024px) {
  .l-headerNav__item {
    width: auto;
    background-color: transparent;
    margin-bottom: -50px;
    padding: 0 0 45px 0;
  }
}
.l-headerNav__link {
  width: 100%;
  display: block;
  padding-left: 30px;
  color: #005593;
  font-size: 1.125rem;
  font-weight: 900;
}
@media (min-width: 1024px) {
  .l-headerNav__link {
    display: inline;
    margin-left: 30px;
    padding-left: 0;
    color: #FFFFFF;
    font-size: 1.125rem;
  }
}

/* main
------------------------------------------------------ 
.l-main {
  overflow: hidden;
  background-color: #E6E6E6;
}

/* section
------------------------------------------------------ */
/* inner
------------------------------------------------------ 
.l-inner {
  max-width: 870px;
  margin-inline: auto;
  padding-right: 4%;
  padding-left: 4%;
}
@media (min-width: 768px) {
  .l-inner {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/* footer
------------------------------------------------------ 
.l-footer {
  background-color: #FFFFFF;
}
.l-footer__inner {
  max-width: 1000px;
  margin-inline: auto;
  padding: 20px 6%;
  text-align: center;
}
@media (min-width: 768px) {
  .l-footer__inner {
    padding: 20px 10px;
  }
}
.l-footerNav {
  padding-bottom: 50px;
}
.l-footerNav__list {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .l-footerNav__list {
    gap: 60px;
    grid-template-columns: repeat(4, 1fr);
  }
}
.l-footerNav__item {
  list-style: none;
}
.l-footerNav__title {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #FEE9AC;
  color: burlywood;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: left;
}
@media (min-width: 768px) {
  .l-footerNav__title {
    font-size: 1rem;
  }
}
.l-footerChildNav__item {
  display: flex;
  list-style: none;
  justify-content: space-between;
}
.l-footerChildNav__link {
  margin-bottom: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  text-align: left;
}
@media (min-width: 768px) {
  .l-footerChildNav__link {
    margin-bottom: 15px;
  }
}
.l-footerCopyright {
  font-size: 0.625rem;
}

/* hamburger
------------------------------------------------------ 
.c-hamburger {
  z-index: 100;
  cursor: pointer;
}
@media (min-width: 1024px) {
  .c-hamburger {
    display: none;
  }
}
.c-hamburger__inner {
  width: 80px;
  height: 70px;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #005593;
}
.c-hamburger__line {
  position: absolute;
  width: 32px;
  height: 3px;
  top: 55%;
  right: 29%;
  background: #FFFFFF;
  border-radius: 10px;
}
.c-hamburger__line::before {
  position: absolute;
  content: "";
  display: block;
  width: 32px;
  height: 3px;
  background: #FFFFFF;
  transition: transform 0.3s;
  border-radius: 10px;
}
.c-hamburger__line::before {
  top: -11px;
}
.c-hamburger.close .c-hamburger__line {
  top: 33px;
  transform: rotate(45deg);
  background: #FFFFFF;
  transition: transform 0.3s;
}
.c-hamburger.close .c-hamburger__line::before {
  top: 0;
  transform: rotate(90deg);
  background: #FFFFFF;
}

/* button
------------------------------------------------------ 
.c-button {
  display: inline-block;
  width: 300px;
  max-width: 100%;
  padding: 20px 10px;
  background-color: #e25c00;
  border: 2px solid transparent;
  border-radius: 50px;
  box-shadow: 0 3px 6px 3px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 1.125rem;
  text-align: center;
  text-decoration: none;
  transition: 0.25s;
}
@media (min-width: 768px) {
  .c-button {
    width: 360px;
  }
}
@media (any-hover: hover) {
  .c-button:hover {
    background-color: red;
  }
  .c-button:focus-visible {
    background-color: red;
  }
}

/* breadcrumb
------------------------------------------------------ 
.c-breadcrumb {
  background-color: #105093;
}
.c-breadcrumb__list {
  display: flex;
  align-items: center;
  padding-top: 5px;
  padding-bottom: 10px;
  list-style-type: none;
}
.c-breadcrumb__link span {
  color: black;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: calc(60 / 1000 * 1em);
}
@media (min-width: 768px) {
  .c-breadcrumb__link span {
    font-size: 0.75rem;
  }
}
.c-breadcrumb__item span {
  color: black;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: calc(60 / 1000 * 1em);
}
@media (min-width: 768px) {
  .c-breadcrumb__item span {
    font-size: 0.75rem;
  }
}

/* chat
------------------------------------------------------ */
.chat {
  display: grid;
  position: fixed;
  width: 70px;
  right: 32px;
  bottom: 0;
  grid-template-rows: max-content max-content;
  justify-items: center;
}
@media (min-width: 768px) {
  .chat {
    right: 4.5%;
    bottom:8px;
    margin-right: 1em;
  }
}
.chat__head {
  position: relative;
  width: 75%;
  background-color: #ffffff;
  border: 2px solid #59A4D3;
  border-radius: 10px 10px 0 0;
  justify-items: center;
  box-shadow: 3px 3px 6px 0 rgba(0, 0, 0, 0.16);
}
.chat__video {
  position: relative;
  width: 80px;
  height: 80px;
  object-fit:cover;
  border-radius: 50%;
  z-index: 1;
  transform: scale(1.5);
  transform-origin: center top;
}
@media (min-width: 768px) {
  .chat__video {
    width: 120px;
    height: 120px;
  }
}
.chat__videoWrapper {
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 50%;
  position: relative;
  bottom: 45px;
}
@media (min-width: 768px) {
  .chat__videoWrapper {
    bottom: 40px;
    width: 120px;
    height: 120px;
  }
}
.chat__videoCircle {
  position: absolute;
  width: 80px;
  height: 80px;
  bottom: 15%;
  left: 0;
  background-color: #59A4D3;
  opacity: 0.5;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .chat__videoCircle {
    width: 120px;
    height: 120px;
    bottom: 7.5%;
  }
}
.chat__text {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode:vertical-rl;
  position: relative;
  padding: 10px 7px 50px 7px;
  color: #59A4D3;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.0;
}
@media (min-width: 768px) {
  .chat__text {
    font-size: 28px;
  }
}
.chat__textSpan01 {
  writing-mode: horizontal-tb;
}
.chat__textSpan02 {
  letter-spacing: 0;
  line-height: 1;
}
.chat__textRight {
  position: absolute;
  top: 5px;
  right: -10px;
  padding: 10px 5px 15px 5px;
  writing-mode: vertical-rl;
  background-color: #59A4D3;
  border-radius: 8px;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.1;
}
@media (min-width: 768px) {
  .chat__textRight {
    top: 10px;
    right: -19px;
    padding: 13px 5px 27px 5px;
    font-size: 16px;
  }
}

/* mv
------------------------------------------------------ 
/* top
------------------------------------------------------
.u-mg--0 {
  margin: 0;
}

.u-mgTop--auto {
  margin-top: auto;
}

.u-mgLeft--auto {
  margin-left: auto;
}

.u-mgRight--auto {
  margin-right: auto;
}

.u-mgBottom--auto {
  margin-bottom: auto;
}

.u-mgTop--0 {
  margin-top: 0px;
}

.u-mgTop--5 {
  margin-top: 5px;
}

.u-mgTop--10 {
  margin-top: 10px;
}

.u-mgTop--15 {
  margin-top: 15px;
}

.u-mgTop--20 {
  margin-top: 20px;
}

.u-mgTop--25 {
  margin-top: 25px;
}

.u-mgTop--30 {
  margin-top: 30px;
}

.u-mgTop--35 {
  margin-top: 35px;
}

.u-mgTop--40 {
  margin-top: 40px;
}

.u-mgTop--45 {
  margin-top: 45px;
}

.u-mgTop--50 {
  margin-top: 50px;
}

.u-mgTop--55 {
  margin-top: 55px;
}

.u-mgTop--60 {
  margin-top: 60px;
}

.u-mgTop--65 {
  margin-top: 65px;
}

.u-mgTop--70 {
  margin-top: 70px;
}

.u-mgTop--75 {
  margin-top: 75px;
}

.u-mgTop--80 {
  margin-top: 80px;
}

.u-mgTop--85 {
  margin-top: 85px;
}

.u-mgTop--90 {
  margin-top: 90px;
}

.u-mgTop--95 {
  margin-top: 95px;
}

.u-mgTop--100 {
  margin-top: 100px;
}

.u-mgLeft--0 {
  margin-left: 0px;
}

.u-mgLeft--5 {
  margin-left: 5px;
}

.u-mgLeft--10 {
  margin-left: 10px;
}

.u-mgLeft--15 {
  margin-left: 15px;
}

.u-mgLeft--20 {
  margin-left: 20px;
}

.u-mgLeft--25 {
  margin-left: 25px;
}

.u-mgLeft--30 {
  margin-left: 30px;
}

.u-mgLeft--35 {
  margin-left: 35px;
}

.u-mgLeft--40 {
  margin-left: 40px;
}

.u-mgLeft--45 {
  margin-left: 45px;
}

.u-mgLeft--50 {
  margin-left: 50px;
}

.u-mgLeft--55 {
  margin-left: 55px;
}

.u-mgLeft--60 {
  margin-left: 60px;
}

.u-mgLeft--65 {
  margin-left: 65px;
}

.u-mgLeft--70 {
  margin-left: 70px;
}

.u-mgLeft--75 {
  margin-left: 75px;
}

.u-mgLeft--80 {
  margin-left: 80px;
}

.u-mgLeft--85 {
  margin-left: 85px;
}

.u-mgLeft--90 {
  margin-left: 90px;
}

.u-mgLeft--95 {
  margin-left: 95px;
}

.u-mgLeft--100 {
  margin-left: 100px;
}

.u-mgRight--0 {
  margin-right: 0px;
}

.u-mgRight--5 {
  margin-right: 5px;
}

.u-mgRight--10 {
  margin-right: 10px;
}

.u-mgRight--15 {
  margin-right: 15px;
}

.u-mgRight--20 {
  margin-right: 20px;
}

.u-mgRight--25 {
  margin-right: 25px;
}

.u-mgRight--30 {
  margin-right: 30px;
}

.u-mgRight--35 {
  margin-right: 35px;
}

.u-mgRight--40 {
  margin-right: 40px;
}

.u-mgRight--45 {
  margin-right: 45px;
}

.u-mgRight--50 {
  margin-right: 50px;
}

.u-mgRight--55 {
  margin-right: 55px;
}

.u-mgRight--60 {
  margin-right: 60px;
}

.u-mgRight--65 {
  margin-right: 65px;
}

.u-mgRight--70 {
  margin-right: 70px;
}

.u-mgRight--75 {
  margin-right: 75px;
}

.u-mgRight--80 {
  margin-right: 80px;
}

.u-mgRight--85 {
  margin-right: 85px;
}

.u-mgRight--90 {
  margin-right: 90px;
}

.u-mgRight--95 {
  margin-right: 95px;
}

.u-mgRight--100 {
  margin-right: 100px;
}

.u-mgBottom--0 {
  margin-bottom: 0px;
}

.u-mgBottom--5 {
  margin-bottom: 5px;
}

.u-mgBottom--10 {
  margin-bottom: 10px;
}

.u-mgBottom--15 {
  margin-bottom: 15px;
}

.u-mgBottom--20 {
  margin-bottom: 20px;
}

.u-mgBottom--25 {
  margin-bottom: 25px;
}

.u-mgBottom--30 {
  margin-bottom: 30px;
}

.u-mgBottom--35 {
  margin-bottom: 35px;
}

.u-mgBottom--40 {
  margin-bottom: 40px;
}

.u-mgBottom--45 {
  margin-bottom: 45px;
}

.u-mgBottom--50 {
  margin-bottom: 50px;
}

.u-mgBottom--55 {
  margin-bottom: 55px;
}

.u-mgBottom--60 {
  margin-bottom: 60px;
}

.u-mgBottom--65 {
  margin-bottom: 65px;
}

.u-mgBottom--70 {
  margin-bottom: 70px;
}

.u-mgBottom--75 {
  margin-bottom: 75px;
}

.u-mgBottom--80 {
  margin-bottom: 80px;
}

.u-mgBottom--85 {
  margin-bottom: 85px;
}

.u-mgBottom--90 {
  margin-bottom: 90px;
}

.u-mgBottom--95 {
  margin-bottom: 95px;
}

.u-mgBottom--100 {
  margin-bottom: 100px;
}

.u-pd--0 {
  padding: 0;
}

.u-pdTop--0 {
  padding-top: 0px;
}

.u-pdTop--5 {
  padding-top: 5px;
}

.u-pdTop--10 {
  padding-top: 10px;
}

.u-pdTop--15 {
  padding-top: 15px;
}

.u-pdTop--20 {
  padding-top: 20px;
}

.u-pdTop--25 {
  padding-top: 25px;
}

.u-pdTop--30 {
  padding-top: 30px;
}

.u-pdTop--35 {
  padding-top: 35px;
}

.u-pdTop--40 {
  padding-top: 40px;
}

.u-pdTop--45 {
  padding-top: 45px;
}

.u-pdTop--50 {
  padding-top: 50px;
}

.u-pdTop--55 {
  padding-top: 55px;
}

.u-pdTop--60 {
  padding-top: 60px;
}

.u-pdTop--65 {
  padding-top: 65px;
}

.u-pdTop--70 {
  padding-top: 70px;
}

.u-pdTop--75 {
  padding-top: 75px;
}

.u-pdTop--80 {
  padding-top: 80px;
}

.u-pdTop--85 {
  padding-top: 85px;
}

.u-pdTop--90 {
  padding-top: 90px;
}

.u-pdTop--95 {
  padding-top: 95px;
}

.u-pdTop--100 {
  padding-top: 100px;
}

.u-pdLeft--0 {
  padding-left: 0px;
}

.u-pdLeft--5 {
  padding-left: 5px;
}

.u-pdLeft--10 {
  padding-left: 10px;
}

.u-pdLeft--15 {
  padding-left: 15px;
}

.u-pdLeft--20 {
  padding-left: 20px;
}

.u-pdLeft--25 {
  padding-left: 25px;
}

.u-pdLeft--30 {
  padding-left: 30px;
}

.u-pdLeft--35 {
  padding-left: 35px;
}

.u-pdLeft--40 {
  padding-left: 40px;
}

.u-pdLeft--45 {
  padding-left: 45px;
}

.u-pdLeft--50 {
  padding-left: 50px;
}

.u-pdLeft--55 {
  padding-left: 55px;
}

.u-pdLeft--60 {
  padding-left: 60px;
}

.u-pdLeft--65 {
  padding-left: 65px;
}

.u-pdLeft--70 {
  padding-left: 70px;
}

.u-pdLeft--75 {
  padding-left: 75px;
}

.u-pdLeft--80 {
  padding-left: 80px;
}

.u-pdLeft--85 {
  padding-left: 85px;
}

.u-pdLeft--90 {
  padding-left: 90px;
}

.u-pdLeft--95 {
  padding-left: 95px;
}

.u-pdLeft--100 {
  padding-left: 100px;
}

.u-pdRight--0 {
  padding-right: 0px;
}

.u-pdRight--5 {
  padding-right: 5px;
}

.u-pdRight--10 {
  padding-right: 10px;
}

.u-pdRight--15 {
  padding-right: 15px;
}

.u-pdRight--20 {
  padding-right: 20px;
}

.u-pdRight--25 {
  padding-right: 25px;
}

.u-pdRight--30 {
  padding-right: 30px;
}

.u-pdRight--35 {
  padding-right: 35px;
}

.u-pdRight--40 {
  padding-right: 40px;
}

.u-pdRight--45 {
  padding-right: 45px;
}

.u-pdRight--50 {
  padding-right: 50px;
}

.u-pdRight--55 {
  padding-right: 55px;
}

.u-pdRight--60 {
  padding-right: 60px;
}

.u-pdRight--65 {
  padding-right: 65px;
}

.u-pdRight--70 {
  padding-right: 70px;
}

.u-pdRight--75 {
  padding-right: 75px;
}

.u-pdRight--80 {
  padding-right: 80px;
}

.u-pdRight--85 {
  padding-right: 85px;
}

.u-pdRight--90 {
  padding-right: 90px;
}

.u-pdRight--95 {
  padding-right: 95px;
}

.u-pdRight--100 {
  padding-right: 100px;
}

.u-pdBottom--0 {
  padding-bottom: 0px;
}

.u-pdBottom--5 {
  padding-bottom: 5px;
}

.u-pdBottom--10 {
  padding-bottom: 10px;
}

.u-pdBottom--15 {
  padding-bottom: 15px;
}

.u-pdBottom--20 {
  padding-bottom: 20px;
}

.u-pdBottom--25 {
  padding-bottom: 25px;
}

.u-pdBottom--30 {
  padding-bottom: 30px;
}

.u-pdBottom--35 {
  padding-bottom: 35px;
}

.u-pdBottom--40 {
  padding-bottom: 40px;
}

.u-pdBottom--45 {
  padding-bottom: 45px;
}

.u-pdBottom--50 {
  padding-bottom: 50px;
}

.u-pdBottom--55 {
  padding-bottom: 55px;
}

.u-pdBottom--60 {
  padding-bottom: 60px;
}

.u-pdBottom--65 {
  padding-bottom: 65px;
}

.u-pdBottom--70 {
  padding-bottom: 70px;
}

.u-pdBottom--75 {
  padding-bottom: 75px;
}

.u-pdBottom--80 {
  padding-bottom: 80px;
}

.u-pdBottom--85 {
  padding-bottom: 85px;
}

.u-pdBottom--90 {
  padding-bottom: 90px;
}

.u-pdBottom--95 {
  padding-bottom: 95px;
}

.u-pdBottom--100 {
  padding-bottom: 100px;
}

.u-fontSize--0 {
  font-size: 0px;
}

.u-fontSize--1 {
  font-size: 1px;
}

.u-fontSize--2 {
  font-size: 2px;
}

.u-fontSize--3 {
  font-size: 3px;
}

.u-fontSize--4 {
  font-size: 4px;
}

.u-fontSize--5 {
  font-size: 5px;
}

.u-fontSize--6 {
  font-size: 6px;
}

.u-fontSize--7 {
  font-size: 7px;
}

.u-fontSize--8 {
  font-size: 8px;
}

.u-fontSize--9 {
  font-size: 9px;
}

.u-fontSize--10 {
  font-size: 10px;
}

.u-fontSize--11 {
  font-size: 11px;
}

.u-fontSize--12 {
  font-size: 12px;
}

.u-fontSize--13 {
  font-size: 13px;
}

.u-fontSize--14 {
  font-size: 14px;
}

.u-fontSize--15 {
  font-size: 15px;
}

.u-fontSize--16 {
  font-size: 16px;
}

.u-fontSize--17 {
  font-size: 17px;
}

.u-fontSize--18 {
  font-size: 18px;
}

.u-fontSize--19 {
  font-size: 19px;
}

.u-fontSize--20 {
  font-size: 20px;
}

.u-fontSize--21 {
  font-size: 21px;
}

.u-fontSize--22 {
  font-size: 22px;
}

.u-fontSize--23 {
  font-size: 23px;
}

.u-fontSize--24 {
  font-size: 24px;
}

.u-fontSize--25 {
  font-size: 25px;
}

.u-fontSize--26 {
  font-size: 26px;
}

.u-fontSize--27 {
  font-size: 27px;
}

.u-fontSize--28 {
  font-size: 28px;
}

.u-fontSize--29 {
  font-size: 29px;
}

.u-fontSize--30 {
  font-size: 30px;
}

.u-fontSize--31 {
  font-size: 31px;
}

.u-fontSize--32 {
  font-size: 32px;
}

.u-fontSize--33 {
  font-size: 33px;
}

.u-fontSize--34 {
  font-size: 34px;
}

.u-fontSize--35 {
  font-size: 35px;
}

.u-fontSize--36 {
  font-size: 36px;
}

.u-fontSize--37 {
  font-size: 37px;
}

.u-fontSize--38 {
  font-size: 38px;
}

.u-fontSize--39 {
  font-size: 39px;
}

.u-fontSize--40 {
  font-size: 40px;
}

.u-fontSize--41 {
  font-size: 41px;
}

.u-fontSize--42 {
  font-size: 42px;
}

.u-fontSize--43 {
  font-size: 43px;
}

.u-fontSize--44 {
  font-size: 44px;
}

.u-fontSize--45 {
  font-size: 45px;
}

.u-fontSize--46 {
  font-size: 46px;
}

.u-fontSize--47 {
  font-size: 47px;
}

.u-fontSize--48 {
  font-size: 48px;
}

.u-fontSize--49 {
  font-size: 49px;
}

.u-block {
  display: block;
}
*/
.u-inlineBlock {
  display: inline-block;
}

@media (min-width: 768px) {
  .u-br-sp {
    display: none;
  }
}

.u-br-pc {
  display: none;
}
@media (min-width: 768px) {
  .u-br-pc {
    display: inline;
  }
}