@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Jost:wght@500&family=Figtree:wght@700&display=swap");
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 10px;
}

body {
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1;
  font-optical-sizing: auto;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
  /*
  background-color: #e60012;
  background:
  	linear-gradient(27deg, #86090f 5px, transparent 5px) 0 5px,
  	linear-gradient(207deg, #86090f 5px, transparent 5px) 10px 0px,
  	linear-gradient(27deg, #9f0e16 5px, transparent 5px) 0px 10px,
  	linear-gradient(207deg, #9f0e16 5px, transparent 5px) 10px 5px,
  	linear-gradient(90deg, #9f0c14 10px, transparent 10px),
  	linear-gradient(
  		#a41b23 25%, #b9111b 25%, #b9111b 50%, transparent 50%, transparent 75%, #a0171f 75%, #a0171f
  	);
  background-color: #86090f;
  */
  background: linear-gradient(27deg, #ab181e 5px, transparent 5px) 0 5px, linear-gradient(207deg, #ab181e 5px, transparent 5px) 10px 0px, linear-gradient(27deg, #c11f27 5px, transparent 5px) 0px 10px, linear-gradient(207deg, #c11f27 5px, transparent 5px) 10px 5px, linear-gradient(90deg, #d42831 10px, transparent 10px), linear-gradient(#b8222c 25%, #c12128 25%, #c12128 50%, transparent 50%, transparent 75%, #c22b34 75%, #c22b34);
  background-color: #ab181e;
  background-size: 20px 20px;
  -webkit-backdrop-filter: contrast(1.08) brightness(1.05);
          backdrop-filter: contrast(1.08) brightness(1.05);
}

input[type=text], input[type=password], input[type=checkbox], input[type=email], input[type=radio], input[type=submit], input[type=button],
select, textarea {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  border: none;
  outline: 0;
}

button:focus {
  outline: none;
}
button:focus-visible {
  outline: none;
}
button:hover {
  outline: none;
}

textarea {
  resize: vertical;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

/*----------------------------------------------------------------------------
	wrapper
----------------------------------------------------------------------------*/
.wrapper {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 751px) {
  .wrapper {
    max-width: 750px;
  }
}

/*----------------------------------------------------------------------------
	header
----------------------------------------------------------------------------*/
.header_logo {
  text-align: center;
}
.header_logo img {
  width: 100%;
}

/*----------------------------------------------------------------------------
	hero
----------------------------------------------------------------------------*/
.hero_main {
  text-align: center;
}
.hero_main img {
  width: 100%;
}

/*----------------------------------------------------------------------------
	movie
----------------------------------------------------------------------------*/
.movie .inner {
  padding-top: 5.333vw;
  padding-bottom: 8vw;
}
@media screen and (min-width: 751px) {
  .movie .inner {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}
.movie_frame {
  width: 100%;
  aspect-ratio: 16/9;
}
.movie_frame iframe {
  width: 100%;
  height: 100%;
}

/*----------------------------------------------------------------------------
	shop
----------------------------------------------------------------------------*/
.shop {
  padding-right: 5.333vw;
  padding-left: 5.333vw;
}
@media screen and (min-width: 751px) {
  .shop {
    padding-right: 0;
    padding-left: 0;
  }
}
.shop .inner {
  padding-bottom: 5.333vw;
}
@media screen and (min-width: 751px) {
  .shop .inner {
    padding-bottom: 40px;
  }
}
.shop_title {
  text-align: center;
  margin-bottom: 2.667vw;
}
@media screen and (min-width: 751px) {
  .shop_title {
    margin-bottom: 20px;
  }
}
.shop_title img {
  width: 80vw;
}
@media screen and (min-width: 751px) {
  .shop_title img {
    width: 650px;
  }
}
.shop_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1.333vw;
       column-gap: 1.333vw;
  row-gap: 1.333vw;
}
@media screen and (min-width: 751px) {
  .shop_list {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 10px;
         column-gap: 10px;
    row-gap: 10px;
  }
}
.shop_list-item a {
  display: block;
}
@media screen and (min-width: 751px) {
  .shop_list-item a {
    transition: opacity 0.2s ease;
  }
}
@media screen and (min-width: 751px) {
  .shop_list-item a:hover {
    opacity: 0.65;
  }
}
.shop_list-item a img {
  width: 100%;
}

/*----------------------------------------------------------------------------
	map
----------------------------------------------------------------------------*/
.map {
  padding-right: 5.333vw;
  padding-left: 5.333vw;
}
@media screen and (min-width: 751px) {
  .map {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.map .inner {
  padding-top: 2.667vw;
  background-color: #231815;
}
@media screen and (min-width: 751px) {
  .map .inner {
    padding-top: 20px;
  }
}
.map .field {
  padding-right: 1.6vw;
  padding-bottom: 1.6vw;
  padding-left: 1.6vw;
}
@media screen and (min-width: 751px) {
  .map .field {
    padding-right: 12px;
    padding-bottom: 12px;
    padding-left: 12px;
  }
}
.map_title {
  text-align: center;
  margin-bottom: 2.667vw;
}
@media screen and (min-width: 751px) {
  .map_title {
    margin-bottom: 20px;
  }
}
.map_title img {
  width: 74.667vw;
}
@media screen and (min-width: 751px) {
  .map_title img {
    width: 560px;
  }
}
.map_item {
  position: relative;
}
.map_item-bg {
  position: relative;
  z-index: 1;
}
.map_item-unit {
  position: absolute;
  z-index: 2;
  display: -moz-flex;
  display: flex;
  -moz-flex-direction: column;
  flex-direction: column;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.map_item-unit::before {
  content: "";
  position: relative;
  width: 100%;
  height: 100%;
}
.map_item-unit::after {
  content: "";
  position: absolute;
  z-index: 2;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.map_item-unit > span {
  position: relative;
  z-index: 3;
  font-size: 2.667vw;
  font-weight: 500;
  color: #483c1b;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  margin-bottom: 0.25em;
}
@media screen and (min-width: 751px) {
  .map_item-unit > span {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
.map_item-unit > em {
  position: relative;
  z-index: 3;
  font-family: "Jost", sans-serif;
  font-size: 3.733vw;
  font-weight: 500;
  font-style: normal;
  color: #483c1b;
  text-transform: uppercase;
}
@media screen and (min-width: 751px) {
  .map_item-unit > em {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
.map_item-kinki {
  left: 65.333vw;
  bottom: 13.333vw;
  padding-left: 1.6vw;
  border-left: 2px solid #f29600;
}
@media screen and (min-width: 751px) {
  .map_item-kinki {
    left: 524px;
    bottom: 120px;
    padding-left: 12px;
    border-left-width: 3px;
  }
}
.map_item-kinki::after {
  left: -3.2vw;
  bottom: 5.867vw;
  width: 5.6vw;
  height: 20vw;
  background-image: url(../images/map_line-kinki.svg);
}
@media screen and (min-width: 751px) {
  .map_item-kinki::after {
    left: -24px;
    bottom: 44px;
    width: 42px;
    height: 150px;
  }
}
.map_item-chugoku {
  top: 7.467vw;
  left: 29.333vw;
  -moz-align-items: flex-end;
  align-items: flex-end;
  padding-right: 1.6vw;
  border-right: 2px solid #009e41;
}
@media screen and (min-width: 751px) {
  .map_item-chugoku {
    top: 55px;
    left: 240px;
    padding-right: 12px;
    border-right-width: 3px;
  }
}
.map_item-chugoku::after {
  top: 6.667vw;
  right: -6.4vw;
  width: 5.867vw;
  height: 8.533vw;
  background-image: url(../images/map_line-chugoku.svg);
}
@media screen and (min-width: 751px) {
  .map_item-chugoku::after {
    top: 57px;
    right: -47px;
    width: 44px;
    height: 64px;
  }
}
.map_item-shikoku {
  bottom: 9.333vw;
  left: 40vw;
  padding-left: 1.6vw;
  border-left: 2px solid #009fe8;
}
@media screen and (min-width: 751px) {
  .map_item-shikoku {
    bottom: 60px;
    left: 320px;
    padding-left: 12px;
    border-left-width: 3px;
  }
}
.map_item-shikoku::after {
  left: -3.2vw;
  bottom: 4.8vw;
  width: 2.933vw;
  height: 13.6vw;
  background-image: url(../images/map_line-shikoku.svg);
}
@media screen and (min-width: 751px) {
  .map_item-shikoku::after {
    bottom: 50px;
    left: -24px;
    width: 22px;
    height: 102px;
  }
}
.map_item-kyushu {
  top: 18.667vw;
  left: 8vw;
  padding-left: 1.6vw;
  border-left: 2px solid #a40081;
}
@media screen and (min-width: 751px) {
  .map_item-kyushu {
    top: 140px;
    left: 70px;
    padding-left: 12px;
    border-left-width: 3px;
  }
}
.map_item-kyushu::after {
  top: 7.2vw;
  left: -2.667vw;
  width: 7.467vw;
  height: 21.6vw;
  background-image: url(../images/map_line-kyushu.svg);
}
@media screen and (min-width: 751px) {
  .map_item-kyushu::after {
    top: 60px;
    left: -22px;
    width: 56px;
    height: 162px;
  }
}
.map_item-count {
  display: -moz-flex;
  display: flex;
  -moz-align-items: baseline;
  align-items: baseline;
}
.map_item-count strong {
  position: relative;
  z-index: 3;
  bottom: -0.05em;
  font-family: "Jost", sans-serif;
  font-size: 7.467vw;
  font-weight: 500;
  margin-right: 0.05em;
}
@media screen and (min-width: 751px) {
  .map_item-count strong {
    font-size: 60px;
    font-size: 6rem;
  }
}
.map_item-count span {
  position: relative;
  z-index: 3;
  font-size: 3.2vw;
  font-weight: 500;
  color: #483c1b;
}
@media screen and (min-width: 751px) {
  .map_item-count span {
    font-size: 20px;
    font-size: 2rem;
  }
}
.map_item-count.is-kinki strong {
  color: #f29600;
}
.map_item-count.is-chugoku strong {
  color: #009e41;
}
.map_item-count.is-shikoku strong {
  color: #009fe8;
}
.map_item-count.is-kyushu strong {
  color: #a40081;
}

/*----------------------------------------------------------------------------
	area
----------------------------------------------------------------------------*/
.area .inner {
  padding-top: 10.667vw;
  padding-bottom: 10.667vw;
}
@media screen and (min-width: 751px) {
  .area .inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.area .field {
  padding-right: 5.333vw;
  padding-left: 5.333vw;
}
@media screen and (min-width: 751px) {
  .area .field {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.area .field:not(:last-child) {
  margin-bottom: 9.333vw;
}
@media screen and (min-width: 751px) {
  .area .field:not(:last-child) {
    margin-bottom: 70px;
  }
}
.area_title {
  display: -moz-flex;
  display: flex;
  -moz-align-items: center;
  align-items: center;
  margin-bottom: 3.2vw;
  /*
  &.is {
  	&-kinki {
  		strong {
  			color: u.$c_kinki;
  		}
  		span {
  			color: u.$c_kinki;
  		}
  	}
  	&-chugoku {
  		strong {
  			color: u.$c_chugoku;
  		}
  		span {
  			color: u.$c_chugoku;
  		}
  	}
  	&-shikoku {
  		strong {
  			color: u.$c_shikoku;
  		}
  		span {
  			color: u.$c_shikoku;
  		}
  	}
  	&-kyushu {
  		strong {
  			color: u.$c_kyushu;
  		}
  		span {
  			color: u.$c_kyushu;
  		}
  	}
  }
  */
}
@media screen and (min-width: 751px) {
  .area_title {
    margin-bottom: 24px;
  }
}
.area_title strong {
  font-size: 6.4vw;
  font-weight: 700;
  color: #fff;
  margin-right: 0.35em;
  /*
  text-shadow:
  	1px 1px 0 #ff4136,
  	-1px -1px 0 #ff4136,
  	-1px 1px 0 #ff4136,
  	1px -1px 0 #ff4136,
  	0px 1px 0 #ff4136,
  	0 -1px 0 #ff4136,
  	-1px 0 0 #ff4136,
  	1px 0 0 #ff4136
  ;
  */
}
@media screen and (min-width: 751px) {
  .area_title strong {
    font-size: 48px;
    font-size: 4.8rem;
  }
}
.area_title span {
  font-family: "Figtree", sans-serif;
  font-size: 3.2vw;
  font-weight: 700;
  color: #fff;
  padding-top: 0.2em;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  /*
  text-shadow:
  	1px 1px 0 #ff4136,
  	-1px -1px 0 #ff4136,
  	-1px 1px 0 #ff4136,
  	1px -1px 0 #ff4136,
  	0px 1px 0 #ff4136,
  	0 -1px 0 #ff4136,
  	-1px 0 0 #ff4136,
  	1px 0 0 #ff4136
  ;
  */
}
@media screen and (min-width: 751px) {
  .area_title span {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
.area_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 2.4vw;
       column-gap: 2.4vw;
  row-gap: 2.4vw;
}
@media screen and (min-width: 751px) {
  .area_list {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 7px;
         column-gap: 7px;
    row-gap: 7px;
  }
}
.area_list-item {
  border: 1px solid #fff;
}
.area_list-item a {
  display: grid;
  place-items: center;
  height: 100%;
  padding-top: 0.65em;
  padding-right: 0.7em;
  padding-bottom: 0.8em;
  padding-left: 0.7em;
}
@media screen and (min-width: 751px) {
  .area_list-item a {
    transition: opacity 0.2s ease;
  }
}
@media screen and (min-width: 751px) {
  .area_list-item a:hover {
    opacity: 0.65;
  }
}
.area_list-item a span {
  font-size: 4.8vw;
  font-weight: 700;
  color: #fff;
  text-align: center;
  overflow-wrap: anywhere;
  font-feature-settings: "palt";
  /*
  background: repeating-linear-gradient(0deg, #b5b5b5 0%, #E8E8E8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 1px 0px 1px rgb(255 255 255 / 40%);
  */
}
@media screen and (min-width: 751px) {
  .area_list-item a span {
    font-size: 27px;
    font-size: 2.7rem;
  }
}
.area_list-item.is-kinki a {
  background-color: #f29600;
}
.area_list-item.is-chugoku a {
  background-color: #009e41;
}
.area_list-item.is-shikoku a {
  background-color: #009fe8;
}
.area_list-item.is-kyushu a {
  background-color: #a40081;
}

/*----------------------------------------------------------------------------
	pagetop
----------------------------------------------------------------------------*/
.pagetop {
  position: fixed;
  right: 5.333vw;
  bottom: 5.333vw;
  opacity: 0;
  z-index: -10;
  transition: opacity 0.2s ease;
}
@media screen and (min-width: 751px) {
  .pagetop {
    right: 20px;
    bottom: 20px;
  }
}
.pagetop.is-active {
  z-index: 3;
  opacity: 1;
}
.pagetop a {
  display: block;
}
.pagetop a img {
  width: 13.333vw;
}
@media screen and (min-width: 751px) {
  .pagetop a img {
    width: 100px;
  }
}

/*----------------------------------------------------------------------------
	footer
----------------------------------------------------------------------------*/
.footer {
  background-color: #231815;
}
.footer .inner {
  padding-top: 5.333vw;
  padding-bottom: 3.2vw;
}
@media screen and (min-width: 751px) {
  .footer .inner {
    padding-top: 40px;
    padding-bottom: 24px;
  }
}
.footer_logo {
  text-align: center;
  margin-bottom: 2.133vw;
}
@media screen and (min-width: 751px) {
  .footer_logo {
    margin-bottom: 16px;
  }
}
.footer_logo img {
  width: 32.533vw;
}
@media screen and (min-width: 751px) {
  .footer_logo img {
    width: 244px;
  }
}
.footer_copy {
  font-size: 2.667vw;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .footer_copy {
    font-size: 10px;
    font-size: 1rem;
  }
}
.footer_privacy {
  text-align: center;
}
.footer_privacy a {
  display: inline-block;
}
.footer_privacy a span {
  font-size: 2.667vw;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .footer_privacy a span {
    font-size: 10px;
    font-size: 1rem;
  }
}
/*# sourceMappingURL=common.css.map */