@charset "UTF-8";
/*■.FLEX*/
.flex {
  display: flex;
  flex-wrap: wrap;
}

/*justify-content*/
.flex-jus-start {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.flex-jus-end {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.flex-jus-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flex-jus-between {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex-jus-around {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.flex-jus-ini {
  display: flex;
  flex-wrap: wrap;
  justify-content: initial;
}

/*align-items*/
.align-item-start {
  align-items: flex-start;
}

.align-item-end {
  align-items: flex-end;
}

.align-item-stretch {
  align-items: stretch;
}

.align-item-baseline {
  align-items: baseline;
}

.align-item-center {
  align-items: center;
}

.align-item-ini {
  align-items: initial;
}

.flex-container {
  flex-wrap: wrap;
}

.map-box {
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.map {
  margin-bottom: 6rem;
}

.map__img {
  position: relative;
  border: 1px solid #1C51BA;
}
.map__img img {
  width: 100%;
}

.map__txt {
  width: 100%;
  margin-top: 3rem;
}
.map__txt .faq-list__title {
  padding-left: 0;
}
.map__txt .faq-list__title:before {
  content: "";
}
.map__txt .list-pin_orange {
  margin-top: 2rem;
}
.map__txt .contact-box {
  margin-bottom: 0;
  margin-top: 2rem;
}

.map .cm__title2 {
  text-align: left;
  font-size: 2.8rem;
}

.map__pin {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.map__pin .pin {
  position: absolute;
  width: 18px;
  height: 24px;
  border-radius: 50%;
  z-index: 2;
  cursor: pointer;
}
.map__pin .info-box {
  position: absolute;
  display: none;
  transform: translateX(5px) translateY(18px);
  cursor: default;
  z-index: 10;
}
.map__pin .info-box .close-btn {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F16017;
  border-radius: 50%;
  border: none;
  width: 2rem;
  height: 2rem;
  top: 3px;
  right: 3px;
  cursor: pointer;
  z-index: 9;
}
.map__pin .info-box .close-btn:after, .map__pin .info-box .close-btn:before {
  position: absolute;
  content: "";
  width: 1.2rem;
  height: 0.2rem;
  background: #fff;
  opacity: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.map__pin .info-box .close-btn:after {
  transform: rotate(45deg);
}
.map__pin .info-box .close-btn:before {
  transform: rotate(-45deg);
}
.map__pin .info-box.detail {
  width: 30rem;
  text-align: left;
}
.map__pin .info-box.detail .list-pin_orange__item {
  border: 3px solid rgba(27, 81, 186, 0.2);
  box-shadow: 2rem 2rem 2rem rgba(27, 81, 186, 0.1);
  padding: 1.5rem;
  font-size: 1.4rem;
  font-weight: 500;
}
.map__pin .info-box.detail .list-pin_orange__item .list-pin_green {
  margin-top: 2rem !important;
}
.map__pin .info-box.simple {
  width: max-content;
  max-width: 39rem;
  font-size: 1.4rem;
  font-weight: 500;
  background: #fff;
  border: 3px solid rgba(27, 81, 186, 0.2);
  box-shadow: 2rem 2rem 2rem rgba(27, 81, 186, 0.1);
  padding: 1.5rem;
}
.map__pin .info-box.simple .close-btn {
  top: 0;
  right: 0;
}
.map__pin .list-pin_orange__item {
  width: 100%;
}
.map__pin #pin-Hokkaido {
  top: 14.3%;
  left: 57.4%;
}
.map__pin #pin-Osaka {
  top: 66%;
  left: 41.5%;
}
.map__pin #pin-Fukuoka {
  top: 72.2%;
  left: 26.7%;
}
.map__pin #pin-Hokkaido2 {
  top: 22%;
  left: 56.1%;
}
.map__pin #pin-Aomori {
  top: 28%;
  left: 57%;
}
.map__pin #pin-Yamagata {
  top: 44%;
  left: 56.2%;
}
.map__pin #pin-Niigata {
  top: 47.5%;
  left: 51.8%;
}
.map__pin #pin-Fukui {
  top: 57.5%;
  left: 43.8%;
}
.map__pin #pin-Shiga {
  top: 64.5%;
  left: 44%;
}
.map__pin #pin-Kyoto {
  top: 65.5%;
  left: 43%;
}
.map__pin #pin-Toyama {
  top: 53.2%;
  left: 47.7%;
}
.map__pin #pin-Chiba {
  top: 58.8%;
  left: 55.5%;
}
.map__pin #pin-Tokyo {
  top: 60%;
  left: 54%;
}
.map__pin #pin-Aichi {
  top: 63.5%;
  left: 46.5%;
}
.map__pin #pin-Shizuoka {
  top: 65.8%;
  left: 49%;
}
.map__pin #pin-Wakayama {
  top: 69.5%;
  left: 40.8%;
}
.map__pin #pin-Osaka_Ikuno {
  top: 68.8%;
  left: 42.4%;
}
.map__pin #pin-Okayama {
  top: 66%;
  left: 37.4%;
}
.map__pin #pin-Hiroshima {
  top: 67.3%;
  left: 32.6%;
}
.map__pin #pin-Yamaguchi {
  top: 68.8%;
  left: 30.4%;
}
.map__pin #pin-Ehime {
  top: 70.5%;
  left: 33.8%;
}
.map__pin #pin-Miyazaki {
  top: 83.3%;
  left: 28.4%;
}

.map__txt-note {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  text-align: right;
}
.map__txt-note p {
  font-size: 1.4rem;
}
.map__txt-note .contact-infor {
  flex-flow: column;
  margin-top: 1rem;
}
.map__txt-note .contact-infor .cm__phone .time {
  display: block;
  width: 100%;
}

.map__txt-note2 {
  position: absolute;
  top: 1rem;
  left: 1rem;
  text-align: left;
}
.map__txt-note2 .pin-note__orange {
  background: url(../meneki/images/pin-orange.png) no-repeat top 5px left;
  background-size: 1.6rem;
  padding-left: 2rem;
}
.map__txt-note2 .pin-note__green {
  background: url(../meneki/images/pin-green.png) no-repeat top 5px left;
  background-size: 1.6rem;
  padding-left: 2rem;
}
.map__txt-note2 .pin-note__blue {
  background: url(../meneki/images/pin-blue.png) no-repeat top 5px left;
  background-size: 1.6rem;
  padding-left: 2rem;
}

.list-pin_orange {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 6rem;
  gap: 3rem 2rem;
}

.list-pin_orange__item {
  background: #fff;
  width: calc((100% - 2rem) / 2);
  border: 6px solid rgba(27, 81, 186, 0.2);
  box-shadow: 2rem 2rem 2rem rgba(27, 81, 186, 0.1);
  padding: 3rem;
  font-weight: bold;
}

.list-pin_orange__img {
  position: relative;
  width: 100%;
  margin-bottom: 2rem;
}
.list-pin_orange__img img {
  width: 100%;
}

.list-pin_orange__ttl a {
  display: inline-block;
  background: url("../meneki/images/pin-orange.png") no-repeat top left;
  background-size: 1.6rem;
  color: #F16017;
  padding-left: 2rem;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media only screen and (min-width: 768px) {
  .map .c-scroll {
    width: 100%;
    overflow: visible !important;
    margin-top: 8rem;
  }
  .map .c-scroll .scroll-hint-shadow-wrap::after {
    background: none !important;
  }
  .map .c-scroll .map__img {
    width: 100%;
  }
  .map__txt {
    margin-top: 6rem;
  }
  .map__txt .list-pin_orange {
    margin-top: 4rem;
  }
  .map .info-box .close-btn {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .map {
    margin-bottom: 3rem;
  }
  .map .c-scroll {
    margin-top: 4rem;
    margin-bottom: 2rem;
  }
  .map__img {
    width: 70rem;
    text-align: center;
  }
  .map__txt {
    width: 100%;
  }
  .map__txt-note p {
    font-size: 1rem;
  }
  .map__txt-note2 .pin-note__orange, .map__txt-note2 .pin-note__green, .map__txt-note2 .pin-note__blue {
    background-size: 1.2rem;
    padding-left: 1.5rem;
  }
  .map .cm__title2 {
    font-size: 2rem;
  }
  .map__pin .info-box.detail {
    width: 24rem;
  }
  .map__pin .info-box.detail .list-pin_orange__item {
    padding: 1rem;
    font-size: 1.2rem;
  }
  .map__pin .info-box.detail .list-pin_orange__ttl a {
    background-size: 1rem;
    background-position: top 0.3rem left;
    padding-left: 1.2rem;
    font-size: 1.4rem;
  }
  .map__pin .info-box.simple {
    max-width: 24rem;
    padding: 1rem;
    font-size: 1.2rem;
  }
  .map__pin #pin-Hokkaido {
    top: 14.5%;
    left: 64%;
  }
  .map__pin #pin-Osaka {
    top: 66%;
    left: 40.5%;
  }
  .map__pin #pin-Fukuoka {
    top: 72.5%;
    left: 18.5%;
  }
  .map__pin #pin-Hokkaido2 {
    top: 22.2%;
    left: 62.1%;
  }
  .map__pin #pin-Aomori {
    top: 28.3%;
    left: 63.3%;
  }
  .map__pin #pin-Yamagata {
    top: 44.5%;
    left: 62.1%;
  }
  .map__pin #pin-Niigata {
    top: 47.7%;
    left: 55.8%;
  }
  .map__pin #pin-Fukui {
    top: 57.5%;
    left: 43.8%;
  }
  .map__pin #pin-Shiga {
    top: 64.5%;
    left: 44%;
  }
  .map__pin #pin-Kyoto {
    top: 65.5%;
    left: 42.5%;
  }
  .map__pin #pin-Toyama {
    top: 53.5%;
    left: 49.5%;
  }
  .map__pin #pin-Chiba {
    top: 59%;
    left: 61.2%;
  }
  .map__pin #pin-Tokyo {
    top: 60.3%;
    left: 59%;
  }
  .map__pin #pin-Aichi {
    top: 63.5%;
    left: 47.7%;
  }
  .map__pin #pin-Shizuoka {
    top: 65.8%;
    left: 51.7%;
  }
  .map__pin #pin-Wakayama {
    top: 69.5%;
    left: 39.5%;
  }
  .map__pin #pin-Osaka_Ikuno {
    top: 69%;
    left: 42%;
  }
  .map__pin #pin-Okayama {
    top: 66%;
    left: 34.2%;
  }
  .map__pin #pin-Hiroshima {
    top: 67.3%;
    left: 27.1%;
  }
  .map__pin #pin-Yamaguchi {
    top: 69.3%;
    left: 23.9%;
  }
  .map__pin #pin-Ehime {
    top: 70.7%;
    left: 28.8%;
  }
  .map__pin #pin-Miyazaki {
    top: 83.3%;
    left: 20.9%;
  }
  .list-pin_orange {
    margin-top: 2rem;
  }
  .list-pin_orange__item {
    width: 100%;
    padding: 1.5rem;
  }
  .scroll-hint {
    direction: rtl;
  }
  .scroll-hint > * {
    direction: ltr;
  }
  @keyframes scroll-hint-appear-reverse {
    0% {
      transform: translateX(-40px);
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    50%, 100% {
      transform: translateX(40px);
      opacity: 0;
    }
  }
  .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    animation: scroll-hint-appear-reverse 1.2s linear !important;
    animation-iteration-count: 2;
  }
}
.list-pin {
  margin-bottom: 6rem;
}

.list-pin__orange {
  background: url("../meneki/images/pin-orange.png") no-repeat top 5px left !important;
  background-size: 1.6rem !important;
  padding-left: 2rem;
}

.list-pin__green {
  background: url("../meneki/images/pin-green.png") no-repeat top 5px left !important;
  background-size: 1.6rem !important;
  padding-left: 2rem;
}

.list-pin li {
  background: url("../meneki/images/pin-blue.png") no-repeat top 5px left;
  background-size: 1.6rem;
  padding-left: 2rem;
  margin-bottom: 5px;
}

@media only screen and (max-width: 767px) {
  .list-pin {
    margin-bottom: 3rem;
  }
}
.faq-list__item {
  border-bottom: 1px solid #fff;
  box-shadow: 10px 10px 30px rgba(28, 81, 186, 0.25);
}

.faq-list__question {
  background: linear-gradient(95deg, #527BCF 0%, #19449B 100%);
  padding: 2.7rem 4rem;
  position: relative;
  font-size: unset !important;
  text-align: left !important;
  cursor: pointer;
}
.faq-list__question:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 21px;
  height: 1px;
  background: #fff;
  margin: auto;
  transition: all 0.5s;
}
.faq-list__question:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 21px;
  height: 1px;
  background: #fff;
  margin: auto;
  transition: all 0.5s;
  height: 20px;
  width: 1px;
  right: 40px;
}
.faq-list__question.active:After {
  transform: rotate(90deg);
}

.faq-list__title {
  font-size: 2.5rem;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  position: relative;
  padding-left: 4rem;
  font-weight: normal;
}
.faq-list__title:before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 3.5rem;
  line-height: 1;
}

.faq-list__ans {
  background-color: #ECF0F9;
  padding: 5rem 5rem 6rem;
  display: none;
}

@media only screen and (max-width: 767px) {
  .faq-list__question {
    padding: 1.5rem 2rem;
    padding-right: 3rem;
  }
  .faq-list__question:before {
    right: 14px;
    width: 16px;
  }
  .faq-list__question:after {
    right: 14px;
    width: 16px;
    height: 16px;
    width: 1px;
    right: 21px;
  }
  .faq-list__title {
    font-size: 1.8rem;
    padding-left: 3rem;
  }
  .faq-list__title:before {
    font-size: 2.5rem;
  }
  .faq-list__ans {
    padding: 2rem;
  }
}
.contact-box {
  background-color: #fff;
  border: 6px solid #D1DCF1;
  padding: 3rem 4rem;
  text-align: center;
  max-width: 860px;
  margin: auto;
  box-shadow: 10px 10px 30px rgba(28, 81, 186, 0.2);
  margin-bottom: 9.8rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.contact-box:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 35%;
  height: 100%;
  background-image: linear-gradient(168deg, #ffffff, #ecf2ff);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
  z-index: -1;
}
.contact-box .flex-jus-between {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.contact-box__txt01 {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 3rem;
}

.contact-box .cm__phone {
  padding-left: 3rem;
}
.contact-box .cm__phone .link {
  font-size: 4.6rem;
  display: block;
  line-height: 1;
  background-size: 25px;
  padding-left: 4rem;
}

@media only screen and (max-width: 767px) {
  .contact-box {
    border-width: 3px;
    margin-bottom: 4rem;
    padding: 2rem 2rem 3rem;
  }
  .contact-box__txt01 {
    font-size: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .contact-box .flex-jus-between {
    display: block;
  }
  .contact-box .cm__phone {
    padding-left: 0;
    margin-bottom: 2rem;
  }
  .contact-box .cm__phone .link {
    font-size: 3.2rem;
    background-size: 17px;
    padding-left: 2.5rem;
    display: inline-block;
  }
  .contact-box .cm__phone .time {
    display: block;
  }
}
.cm__phone .link {
  font-size: 3.5rem;
  font-family: "EB Garamond", serif;
  background: url(../meneki/images/icon-tel.png) top 12px left no-repeat;
  display: inline-block;
  padding-left: 2.5rem;
  text-decoration: none;
  line-height: 1;
  background-size: 17px;
}
.cm__phone .time {
  position: relative;
  top: -3px;
}
@media only screen and (max-width: 767px) {
  .cm__phone .link {
    font-size: 3rem;
    background-size: 13px;
    padding-left: 2rem;
    background-position: top 8px left;
  }
  .cm__phone .time {
    font-size: 1.4rem;
  }
}

.btn__contact a {
  display: inline-block;
  font-size: 1.7rem;
  color: #fff;
  text-decoration: none;
  background-color: #1C51BA;
  padding: 1.4rem 2.9rem;
  border-radius: 30px;
  border: 1px solid #1C51BA;
  line-height: 1.8;
}
.btn__contact a span {
  background: url(../meneki/images/icon-mail.png) top 9px left no-repeat;
  background-size: 17px;
  display: inline-block;
  padding-left: 2.7rem;
}

.btn__contact--org a {
  background-color: #F16016;
  border-color: #F16016;
}

.btn__movie a span {
  background: url(../meneki/images/icon-movie.png) top 4px left no-repeat;
  background-size: 24px;
  display: inline-block;
  padding-left: 3.3rem;
}

@media screen and (min-width: 768px) {
  .btn__contact a:hover {
    background-color: #fff;
    color: #1C51BA;
  }
  .btn__contact a:hover span {
    background: url(../meneki/images/icon-mail-b.png) top 9px left no-repeat;
    background-size: 17px;
  }
  .btn__contact--org a {
    background-color: #F16016;
  }
  .btn__contact--org a:hover {
    background-color: #fff;
    color: #F16016;
  }
  .btn__contact--org a:hover span {
    background: url(../meneki/images/icon-mail-org.png) top 9px left no-repeat;
    background-size: 17px;
  }
  .btn__movie a span {
    background: url(../meneki/images/icon-movie.png) top 8px left no-repeat;
    background-size: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .btn__contact a {
    font-size: 1.4rem;
    padding: 1.4rem 1rem;
    border-radius: 10px;
  }
  .btn__contact a span {
    background-position: top 5px left;
    letter-spacing: 0;
  }
  .btn__blue a {
    font-size: 1.4rem;
    padding: 1.5rem 3rem;
  }
  .btn__blue a:after {
    right: 10px;
  }
}