@charset "UTF-8";
/*------------------------------------------------------------------------------
    config
------------------------------------------------------------------------------*/
/***  media ***/
/***  color ***/
/*** font ***/
#menu01::after,
#menu01_open::after {
  width: 100% !important;
}
@media screen and (max-width: 850px) {
  #menu01,
  #menu01_open {
    color: #A295F4 !important;
  }
}
@media screen and (max-width: 850px) {
  #menu_sub01 a {
    color: #A295F4 !important;
  }
}
.gaiyou .g_img {
  position: relative;
}
.gaiyou .g_img::after {
  position: absolute;
  content: "";
  width: 440px;
  height: 445px;
  bottom: -86px;
  left: -169px;
  background: url(../img/g_after01.png) no-repeat center / contain;
  background-size: 100% 100%;
  transition: 0.4s ease-in-out;
  z-index: -1;
}
@media screen and (max-width: 850px) {
  .gaiyou .g_img::after {
    display: none;
  }
}
.gaiyou .g_img::before {
  position: absolute;
  content: "";
  width: 212px;
  height: 214px;
  top: 43px;
  right: -113px;
  background: url(../img/g_after02.png) no-repeat center / contain;
  background-size: 100% 100%;
  transition: 0.4s ease-in-out;
  z-index: -1;
}
@media screen and (max-width: 850px) {
  .gaiyou .g_img::before {
    display: none;
  }
}
.gaiyou .txt_ul {
  margin-top: 50px;
  position: relative;
}
@media screen and (max-width: 850px) {
  .gaiyou .txt_ul {
    margin-top: 30px;
  }
}
.gaiyou .txt_ul::before {
  position: absolute;
  content: "";
  width: 148px;
  height: 144px;
  bottom: 153px;
  left: -62px;
  background: url(../img/g_after03.png) no-repeat center / contain;
  background-size: 100% 100%;
  transition: 0.4s ease-in-out;
  z-index: -1;
}
@media screen and (max-width: 850px) {
  .gaiyou .txt_ul::before {
    display: none;
  }
}
.gaiyou .txt_ul::after {
  position: absolute;
  content: "";
  width: 472px;
  height: 377px;
  bottom: 114px;
  right: -119px;
  background: url(../img/g_after04.png) no-repeat center / contain;
  background-size: 100% 100%;
  transition: 0.4s ease-in-out;
  z-index: -1;
}
@media screen and (max-width: 850px) {
  .gaiyou .txt_ul::after {
    width: 330px;
    height: 245px;
    right: -15px;
    bottom: 360px;
    background: url(../img/g_after04_sp.png) no-repeat center / contain;
    background-size: 100% 100%;
  }
}
.gaiyou .txt_ul li {
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 20px;
}
.gaiyou .txt_ul li + li {
  margin-top: 20px;
}
.gaiyou .txt_ul li dl {
  display: flex;
}
.gaiyou .txt_ul li dl dt {
  width: 203px;
  letter-spacing: 2px;
  font-size: 20px;
  line-height: 26px;
  font-weight: 500;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 850px) {
  .gaiyou .txt_ul li dl dt {
    width: 110px;
    font-size: 14px;
    letter-spacing: 0.7px;
  }
}
.gaiyou .txt_ul li dl dt span {
  position: relative;
  padding-left: 35px;
}
@media screen and (max-width: 850px) {
  .gaiyou .txt_ul li dl dt span {
    padding-left: 15px;
    display: block;
    height: 100%;
    line-height: 1.71;
  }
}
.gaiyou .txt_ul li dl dt span::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 26px;
  top: 0;
  left: 10px;
  background: #A295F4;
  background-size: 100% 100%;
  transition: 0.4s ease-in-out;
  z-index: -1;
}
@media screen and (max-width: 850px) {
  .gaiyou .txt_ul li dl dt span::before {
    height: calc(100% - 4px);
    top: 2px;
    left: 0;
  }
}
.gaiyou .txt_ul li dl dd {
  margin-inline-start: 0;
  width: calc(100% - 203px);
  text-align: left;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.647;
  letter-spacing: 1.7px;
}
@media screen and (max-width: 850px) {
  .gaiyou .txt_ul li dl dd {
    display: flex;
    align-items: center;
    width: calc(100% - 110px);
    font-size: 14px;
    line-height: 1.71;
    letter-spacing: 0.05em;
  }
}
.gaiyou .map {
  margin-top: 50px;
}
@media screen and (max-width: 850px) {
  .gaiyou .map {
    margin-top: 30px;
  }
}
.gaiyou .map .map_txt {
  text-align: center;
  margin-top: 15px;
  font-family: "M PLUS Rounded 1c";
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 850px) {
  .gaiyou .map .map_txt {
    font-size: 20px;
  }
}
.gaiyou .map01 {
  position: relative;
}
@media screen and (max-width: 850px) {
  .gaiyou .map01::after {
    position: absolute;
    content: "";
    width: 118px;
    height: 133px;
    bottom: -7px;
    left: -15px;
    background: url(../img/g_after05.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
.gaiyou .map02 {
  margin-top: 40px;
  position: relative;
}
@media screen and (max-width: 850px) {
  .gaiyou .map02 {
    margin-top: 50px;
  }
  .gaiyou .map02::after {
    position: absolute;
    content: "";
    width: 112px;
    height: 160px;
    bottom: 7px;
    right: -15px;
    background: url(../img/g_after05_sp.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
.facility .inner {
  padding-top: 215px;
}
@media screen and (max-width: 850px) {
  .facility .inner {
    padding-top: 150px;
  }
}
.facility ul {
  display: flex;
  flex-wrap: wrap;
  gap: 44px;
  column-gap: 28px;
  position: relative;
}
@media screen and (max-width: 850px) {
  .facility ul {
    gap: 46px;
  }
}
.facility ul::after {
  position: absolute;
  content: "";
  width: 440px;
  height: 445px;
  top: 200px;
  left: -174px;
  background: url(../img/an_after01.png) no-repeat center / contain;
  background-size: 100% 100%;
  transition: 0.4s ease-in-out;
  z-index: -1;
}
@media screen and (max-width: 850px) {
  .facility ul::after {
    display: none;
  }
}
.facility ul::before {
  position: absolute;
  content: "";
  width: 212px;
  height: 214px;
  top: 28px;
  right: -115px;
  background: url(../img/an_after02.png) no-repeat center / contain;
  background-size: 100% 100%;
  transition: 0.4s ease-in-out;
  z-index: -1;
}
@media screen and (max-width: 850px) {
  .facility ul::before {
    display: none;
  }
}
.facility ul .after01 {
  position: relative;
}
@media screen and (max-width: 850px) {
  .facility ul .after01::after {
    position: absolute;
    content: "";
    width: 84px;
    height: 89px;
    bottom: -5px;
    left: -15px;
    background: url(../img/an_after_sp01.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
@media screen and (max-width: 850px) and screen and (max-width: 850px) {
  .facility ul .after01::after {
    display: none;
  }
}
.facility ul .after02 {
  position: relative;
}
@media screen and (max-width: 850px) {
  .facility ul .after02::after {
    position: absolute;
    content: "";
    width: 102px;
    height: 133px;
    bottom: -5px;
    right: -15px;
    background: url(../img/an_after_sp02.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
@media screen and (max-width: 850px) and screen and (max-width: 850px) {
  .facility ul .after02::after {
    display: none;
  }
}
.facility ul .after03 {
  position: relative;
}
@media screen and (max-width: 850px) {
  .facility ul .after03::after {
    position: absolute;
    content: "";
    width: 84px;
    height: 89px;
    bottom: -13px;
    left: -15px;
    background: url(../img/an_after_sp03.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
@media screen and (max-width: 850px) and screen and (max-width: 850px) {
  .facility ul .after03::after {
    display: none;
  }
}
.facility ul .after04 {
  position: relative;
}
@media screen and (max-width: 850px) {
  .facility ul .after04::after {
    position: absolute;
    content: "";
    width: 102px;
    height: 133px;
    bottom: -19px;
    right: -15px;
    background: url(../img/an_after_sp04.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
@media screen and (max-width: 850px) and screen and (max-width: 850px) {
  .facility ul .after04::after {
    display: none;
  }
}
.facility ul .after05 {
  position: relative;
}
@media screen and (max-width: 850px) {
  .facility ul .after05::after {
    position: absolute;
    content: "";
    width: 84px;
    height: 89px;
    bottom: 11px;
    left: -15px;
    background: url(../img/an_after_sp05.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
@media screen and (max-width: 850px) and screen and (max-width: 850px) {
  .facility ul .after05::after {
    display: none;
  }
}
.facility ul .after06 {
  position: relative;
}
@media screen and (max-width: 850px) {
  .facility ul .after06::after {
    position: absolute;
    content: "";
    width: 97px;
    height: 133px;
    bottom: 7px;
    right: -15px;
    background: url(../img/an_after_sp06.png) no-repeat center / contain;
    background-size: 100% 100%;
    transition: 0.4s ease-in-out;
    z-index: -1;
  }
}
@media screen and (max-width: 850px) and screen and (max-width: 850px) {
  .facility ul .after06::after {
    display: none;
  }
}
.facility ul li {
  width: calc(33.3333% - 18.6666px);
}
@media screen and (max-width: 850px) {
  .facility ul li {
    width: 100%;
  }
}
.facility ul li .txt {
  font-family: "M PLUS Rounded 1c";
  font-size: 24px;
  font-weight: 500;
  margin-top: 15px;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 850px) {
  .facility ul li .txt {
    font-size: 20px;
  }
}
.pc_line {
  display: flex;
  align-items: center;
}
.pc_line::before {
  height: 55px !important;
}
@media screen and (max-width: 850px) {
  .pc_line::before {
    height: 47px !important;
  }
}
