@charset "UTF-8";
/*----------------------------------------

	other CSS

-----------------------------------------*/
/*----------------------------------------
	common
-----------------------------------------*/
.l-header__logo {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}
.l-header__logo._active {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}

.l-header__toggle {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}

@media print, screen and (min-width: 960px ) {
  .l-header__gnav .__pagelink,
  .l-header__gnav .__sublink {
    --color: #222;
  }
}

/*----------------------------------------
	map
-----------------------------------------*/
.s-map {
  padding-bottom: 80px;
}
@media print, screen and (min-width: 768px ) {
  .s-map {
    padding-bottom: 80px;
  }
}
.s-map .c-inner {
  display: -ms-grid;
  display: grid;
  grid-gap: 80px 0;
}
@media print, screen and (min-width: 768px ) {
  .s-map .c-inner {
    grid-gap: 100px 0;
  }
}
.s-map__block {
  display: -ms-grid;
  display: grid;
  grid-gap: 40px 0;
  max-width: 800px;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block {
    grid-gap: 40px 0;
  }
}
.s-map__block-head {
  display: -ms-grid;
  display: grid;
  grid-gap: 20px 0;
  margin-bottom: -15px;
  text-align: center;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block-head {
    margin-bottom: 0;
  }
}
.s-map__block-head .__ttl {
  font-size: 2.3rem;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block-head .__ttl {
    font-size: 3.2rem;
  }
}
.s-map__block-head .__txt {
  line-height: 2.2;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block-head .__txt {
    font-size: 1.6rem;
  }
}
.s-map__block-sub {
  display: -ms-grid;
  display: grid;
  grid-gap: 35px;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block-sub {
    grid-gap: 0 7%;
    -ms-grid-columns: 54% 7% 1fr;
    grid-template-columns: 54% 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 20px;
  }
}
.s-map__block .__read {
  display: -ms-grid;
  display: grid;
  grid-gap: 20px;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block .__read {
    grid-gap: 30px;
  }
}
.s-map__block .__local {
  padding: 20px 0;
  background: -webkit-gradient(linear, left top, right top, from(#061745), color-stop(50%, #12316B), to(#061745));
  background: linear-gradient(90deg, #061745 0%, #12316B 50%, #061745 100%);
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block .__local {
    font-size: 2.2rem;
  }
}
.s-map__block .c-btn02 {
  max-width: 195px;
  height: 40px;
  font-size: 1.3rem;
}
@media print, screen and (min-width: 768px ) {
  .s-map__block .c-btn02 {
    max-width: 256px;
    height: 45px;
    font-size: 1.7rem;
  }
}

/*----------------------------------------
	outline
-----------------------------------------*/
.s-outline {
  padding-bottom: 80px;
}
@media print, screen and (min-width: 768px ) {
  .s-outline {
    padding-bottom: 130px;
  }
}
.s-outline .c-inner {
  display: -ms-grid;
  display: grid;
  grid-gap: 45px 0;
}
@media print, screen and (min-width: 768px ) {
  .s-outline .c-inner {
    grid-gap: 55px 0;
  }
}
.s-outline .__sec-ttl {
  margin-bottom: 10px;
  font-size: 1.8rem;
  line-height: 1.7;
}
@media print, screen and (min-width: 768px ) {
  .s-outline .__sec-ttl {
    font-size: 2rem;
  }
}
.s-outline .__sec table {
  width: 100%;
  padding: 40px 6% 30px;
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-box-shadow: 0 0 18px rgba(68, 72, 89, 0.1);
          box-shadow: 0 0 18px rgba(68, 72, 89, 0.1);
}
@media print, screen and (min-width: 768px ) {
  .s-outline .__sec table {
    padding: 50px 5% 60px;
    font-size: 1.6rem;
  }
}
.s-outline .__sec table td, .s-outline .__sec table th {
  display: block;
  width: 100%;
}
@media print, screen and (min-width: 768px ) {
  .s-outline .__sec table td, .s-outline .__sec table th {
    display: table-cell;
  }
}
.s-outline .__sec table th {
  padding: 5px 10px;
  background: #EEF0F5;
}
@media print, screen and (min-width: 768px ) {
  .s-outline .__sec table th {
    width: 200px;
    padding: 14px 0;
    border-bottom: 1px solid #9CA6BE;
    background-color: transparent;
  }
}
.s-outline .__sec table td {
  padding: 10px 10px;
}
@media print, screen and (min-width: 768px ) {
  .s-outline .__sec table td {
    width: auto;
    padding: 14px 30px;
    border-bottom: 1px solid #E1E1E1;
  }
}

/*----------------------------------------
	login
-----------------------------------------*/
@media print, screen and (min-width: 768px ) {
  .s-login {
    padding-bottom: 80px;
  }
}
.s-login__txt {
  font-size: 1.4rem;
  text-align: center;
}
@media print, screen and (min-width: 768px ) {
  .s-login__txt {
    font-size: 1.8rem;
  }
}
.s-login__form {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 90px;
  grid-template-columns: 1fr 90px;
  height: 40px;
  margin: 20px auto 0;
}
@media print, screen and (min-width: 768px ) {
  .s-login__form {
    -ms-grid-columns: 1fr 160px;
    grid-template-columns: 1fr 160px;
    width: 80%;
    max-width: 680px;
    height: 60px;
    margin-top: 30px;
  }
}
.s-login__pw {
  display: block;
  padding: 5px 0 5px 20px;
  font-size: 1.6rem;
  background: #E7E7E7;
}
.s-login__btn {
  background: -webkit-gradient(linear, left top, right top, from(#CAAD79), to(#B4965F));
  background: linear-gradient(90deg, #CAAD79, #B4965F);
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px ) {
  .s-login__btn {
    font-size: 1.7rem;
  }
}
.s-login .l-entry {
  margin-top: 40px;
  padding: 0;
  background: none;
  backdrop-filter: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media print, screen and (min-width: 768px ) {
  .s-login .l-entry {
    margin-top: 60px;
  }
}
.s-login .l-entry .__entry,
.s-login .l-entry .__login,
.s-login .l-entry .__btn {
  display: none;
}

/*----------------------------------------
	privacy
-----------------------------------------*/
.s-privacy {
  margin-bottom: 80px;
}
@media print, screen and (min-width: 768px ) {
  .s-privacy {
    margin-bottom: 130px;
    font-size: 1.6rem;
  }
}
.s-privacy__bg {
  display: -ms-grid;
  display: grid;
  grid-gap: 35px 0;
  width: 100%;
  padding: 40px 6%;
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-box-shadow: 0 0 18px rgba(68, 72, 89, 0.1);
          box-shadow: 0 0 18px rgba(68, 72, 89, 0.1);
}
@media print, screen and (min-width: 768px ) {
  .s-privacy__bg {
    grid-gap: 40px 0;
    padding: 60px 5%;
    font-size: 1.6rem;
  }
}
.s-privacy__header dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (auto)[2];
  grid-template-columns: repeat(2, auto);
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  text-align: right;
}
.s-privacy__header dt, .s-privacy__header dd {
  line-height: 1.5;
}
.s-privacy__body {
  display: -ms-grid;
  display: grid;
  grid-gap: 35px 0;
  line-height: 1.6;
}
@media print, screen and (min-width: 768px ) {
  .s-privacy__body {
    line-height: 1.7;
  }
}
.s-privacy__body .__block {
  display: -ms-grid;
  display: grid;
  grid-gap: 10px 0;
}
.s-privacy__body .__ttl {
  font-size: 1.8rem;
  font-weight: 700;
}
@media print, screen and (min-width: 768px ) {
  .s-privacy__body .__ttl {
    font-size: 2rem;
  }
}
.s-privacy__body .__txt {
  display: -ms-grid;
  display: grid;
  grid-gap: 20px 0;
}
.s-privacy__footer {
  line-height: 1.6;
  text-align: center;
}
@media print, screen and (min-width: 768px ) {
  .s-privacy__footer {
    line-height: 1.7;
  }
}
.s-privacy__footer .__ttl {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
}
@media print, screen and (min-width: 768px ) {
  .s-privacy__footer .__ttl {
    font-size: 2rem;
  }
}
.s-privacy__footer .__txt {
  display: -ms-grid;
  display: grid;
  grid-gap: 10px 0;
}
.s-privacy__footer .__txt dl {
  display: -ms-grid;
  display: grid;
  grid-gap: 2px 0;
}
@media print, screen and (min-width: 768px ) {
  .s-privacy__footer .__txt dl {
    grid-gap: 5px 0;
  }
}
.s-privacy__footer .__txt dt {
  font-weight: 700;
}
.s-privacy__footer .__txt a {
  color: #999999;
}
@media print, screen and (min-width: 768px ) {
  .s-privacy__footer .__txt a:hover {
    text-decoration: underline;
  }
}

/*----------------------------------------
	policy
-----------------------------------------*/
.s-policy {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media print, screen and (min-width: 768px ) {
  .s-policy {
    padding-top: 130px;
    padding-bottom: 130px;
    font-size: 1.6rem;
  }
}
.s-policy__bg {
  display: -ms-grid;
  display: grid;
  grid-gap: 35px 0;
  width: 100%;
  padding: 40px 6%;
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-box-shadow: 0 0 18px rgba(68, 72, 89, 0.1);
          box-shadow: 0 0 18px rgba(68, 72, 89, 0.1);
}
@media print, screen and (min-width: 768px ) {
  .s-policy__bg {
    grid-gap: 40px 0;
    padding: 60px 5%;
    font-size: 1.6rem;
  }
}
.s-policy .__ttl {
  font-size: 1.8rem;
  text-align: center;
}
@media print, screen and (min-width: 768px ) {
  .s-policy .__ttl {
    font-size: 2rem;
  }
}
.s-policy .__list {
  display: -ms-grid;
  display: grid;
  grid-gap: 10px 0;
  font-weight: 700;
  text-align: center;
}
@media print, screen and (min-width: 768px ) {
  .s-policy .__list {
    grid-gap: 20px 0;
  }
}
.s-policy .__list a {
  text-decoration: underline;
}
@media print, screen and (min-width: 768px ) {
  .s-policy .__list a:hover {
    text-decoration: none;
  }
}

/* MAP add */
.tabArea {
  max-width: 700px;
  margin: 0 auto;
}

.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 640px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 767.99px ) {
  .tabs {
    margin-bottom: 15px;
  }
}

.tab {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  cursor: pointer;
  background: -webkit-gradient(linear, left top, right top, from(#C98B1A), to(#724C05));
  background: linear-gradient(90deg, #C98B1A 0%, #724C05 100%);
  color: #FFF;
  font-size: 1.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 31%;
  opacity: 0.5;
  font-family: YuMincho, YuMinchoM, Yu Mincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 8px 5px;
}
@media screen and (max-width: 767.99px ) {
  .tab {
    font-size: 1.35rem;
    padding: 5px 0px;
    width: 32%;
  }
}

.tab:hover {
  opacity: 1;
}

.tab.active {
  opacity: 1;
}

.subtabs {
  max-width: 400px;
}
.subtabs .tab {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  cursor: pointer;
  background: -webkit-gradient(linear, right top, left top, from(#620734), to(#A82566));
  background: linear-gradient(270deg, #620734 0%, #A82566 100%);
  color: #FFF;
  font-size: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 47%;
  opacity: 0.5;
  font-family: YuMincho, YuMinchoM, Yu Mincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 12px 5px;
}
@media screen and (max-width: 767.99px ) {
  .subtabs .tab {
    width: 48.5%;
    font-size: 1.6rem;
  }
}
.subtabs .tab:hover {
  opacity: 1;
}
.subtabs .tab.active {
  opacity: 1;
}

.content {
  display: none;
}

.content.active {
  display: block;
}

.tabMap2 {
  margin: 40px auto 0px;
  max-width: 500px;
}
@media screen and (max-width: 767.99px ) {
  .tabMap2 {
    margin-top: 20px;
  }
}

.rootArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 767.99px ) {
  .rootArea {
    margin-top: 30px;
  }
}
.rootArea li {
  width: 47.5%;
  margin-bottom: 40px;
}
@media screen and (max-width: 767.99px ) {
  .rootArea li {
    width: 100%;
    margin-bottom: 25px;
  }
}
.rootArea figure {
  margin-bottom: 10px;
}
.rootArea p {
  position: relative;
  font-size: 1.55rem;
  line-height: 1.45;
  padding-left: 15px;
  font-family: YuMincho, YuMinchoM, Yu Mincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.rootArea p:before {
  position: absolute;
  top: 5px;
  left: 0;
  content: "";
  background: url(../img/map/arrow01.png);
  background-size: cover;
  width: 10px;
  height: 12px;
  display: inline-block;
}
@media screen and (max-width: 767.99px ) {
  .rootArea p {
    font-size: 1.35rem;
    padding-left: 11px;
  }
  .rootArea p:before {
    width: 7px;
    height: 9px;
  }
}
.rootArea.-car p:before {
  background: url(../img/map/arrow03.png);
  background-size: cover;
}

.p-ul {
  padding-left: 10px;
}
.p-ul li {
  margin-bottom: 20px;
  list-style-position: outside;
  list-style-type: disc;
}
.root h3 {
  text-align: center;
  font-size: 34px;
  line-height: 1.6;
  letter-spacing: 1px;
}
@media screen and (max-width: 767.99px ) {
  .root h3 {
    font-size: 24px;
  }
}
.root h3 span {
  font-family: "Marcellus", serif;
  font-size: 23px;
  letter-spacing: 3px;
}
@media screen and (max-width: 767.99px ) {
  .root h3 span {
    font-size: 16px;
  }
}
.root h3 small {
  display: block;
  font-size: 15px;
  margin-top: 10px;
}
@media screen and (max-width: 767.99px ) {
  .root h3 small {
    font-size: 10px;
  }
}
.root .movie {
  max-width: 450px;
  margin: 40px auto 0;
}
.root .movie video {
  width: 100%;
}