@charset "UTF-8";

/* ==========================================================
  normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
========================================================== */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* ==========================================================
  Base
========================================================== */
html {
  height: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  color: #172030;
}
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, button, figure, figcaption {
  margin: 0;
  padding: 0;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
img {
  border: 0;
  height: auto;
  vertical-align: top;
  max-width: 100%;
}
ul, li {
  list-style: none;
}
a {
  text-decoration: none;
  color: #172030;
}

br.sp { display: inline-block }
br.pc { display: none }
@media all and (min-width: 768px) {
  br.sp { display: none }
  br.pc { display: inline-block }
}

p {
  line-height: 1.5;
}

/* ==========================================================
  Fonts
========================================================== */
/* Weight
Light     300
Regular   400
Medium    500
SemiBold  600
Bold      700
ExtraBold 800
Black     900
*/

body {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
  font-size: clamp(1.5rem, 1.44rem + 0.3vw, 1.8rem);
}

h1, h2, h3 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
}

/* ==========================================================
  Modules
========================================================== */
/* inner
---------------------------------------------------------- */
.inner {
  width: 100%;
  max-width: 160rem;
  margin-left: auto;
  margin-right: auto;
}

/* btn
---------------------------------------------------------- */
.btn {
  display: inline-block;
  padding: 1.6rem 2.5rem;
  text-align: center;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: clamp(1.8rem, 1.76rem + 0.2vw, 2rem);
  transition: .3s ease-in-out;
  min-width: 17.2rem;
}
@media all and (min-width: 768px) {
  .btn {
    padding: 1.6rem 5rem;
  }
}

/* 角丸ボタン */
.btn.round {
  border-radius: 4rem;
}
@media all and (min-width: 768px) {
  .btn.round.lg {
    border-radius: 8rem;
  }
}

/* 枠線ボタン */
.btn.border {
  border: solid 1px #172030;
  color: #172030;
}

/* 枠線ボタン カラー */
.btn.border.white {
  border-color: #fff;
  color: #fff;
}
.btn.border.white:hover {
  background-color: #fff;
  color: #172030;
}

.btn.border.blue {
  border-color: #082764;
  color: #082764;
}
.btn.border.blue:hover {
  background-color: #082764;
  color: #fff;
}

.btn.border.green {
  border-color: #C0F55B;
  color: #C0F55B;
}
.btn.border.green:hover {
  background-color: none;
  color: #C0F55B;
}

/* べた塗りボタン */
.btn.solid {
  background-color: #172030;
  color: #fff;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  border: solid 1px transparent;
}
.btn.solid:hover {
  background-color: transparent;
  color: #172030;
  border-color: #172030;
}

/* べた塗りボタン カラー */
.btn.solid.green {
  background-color: #C0F55B;
  color: #172030;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  border: solid 1px transparent;
}
.btn.solid.green:hover {
  background-color: transparent;
  color: #C0F55B;
  border-color: #C0F55B;
}

/* サイズ */
.btn.lg {
  font-size: clamp(2.4rem, 2.32rem + 0.4vw, 2.8rem);
  padding: 2rem 2.5rem;
  min-width: 26rem;
}
@media all and (min-width: 768px) {
  .btn.lg {
    padding: 2.8rem 5rem;
    min-width: 44.0rem;
  }
}

/* link
---------------------------------------------------------- */
.link.arrow {
  display: inline-block;
  padding: 1rem 7rem 1rem 0;
  position: relative;
}
.link.arrow::before {
  content: '';
  display: block;
  width: 3rem;
  height: .8rem;
  position: absolute;
  right: 1rem;
  top: 38%;
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/icon_link_arrow.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
.link.arrow::after {
  content: '';
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: solid 1px #fff;
  border-radius: 50%;
  transition: .2s ease-out;
}
.link.arrow:hover:after {
  transform: scale(.8);
}
@media all and (min-width: 768px) {
  .link.arrow::before {
    width: 3.8rem;
    height: 1rem;
    right: 1.2rem;
  }
  .link.arrow::after {
    width: 4rem;
    height: 4rem;
  }
}

/* icon arrow */
.icon.arrow {
  display: inline-block;
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  transition: .2s ease-out;
  margin-left: 1rem;
  vertical-align: middle;
}
.icon.arrow::before {
  content: '';
  display: block;
  width: 3rem;
  height: .8rem;
  position: absolute;
  right: 1rem;
  top: 38%;
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/icon_link_arrow.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
.icon.arrow::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: solid 1px #fff;
  border-radius: 50%;
  transition: .2s ease-out;
}
a:hover .icon.arrow:after {
  transform: scale(.8);
}
@media all and (min-width: 768px) {
  .icon.arrow {
    width: 4rem;
    height: 4rem;
    margin-left: 3rem;
  }
  .icon.arrow::before {
    width: 3.8rem;
    height: 1rem;
    right: 1.2rem;
  }
}

/* ==========================================================
  Header
========================================================== */
.japow_header {
  /* position: fixed; */
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  padding: 1.5rem 2rem;
  width: 100%;
  height: 8rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.japow_header_logo {
  width: 70%;
  max-width: 27rem;
}

@media all and (min-width: 768px) {
  .japow_header {
    padding: 5rem 6rem;
    height: 14.6rem;
  }
}

/* ==========================================================
  Nav
========================================================== */
.japow_nav_wrap {
  position: absolute;
  top: 8rem;
  background-color: rgba(23,32,48,.9);
  border-radius: 2.4rem 0 0 2.4rem;
  padding: 0 0 2rem;
  max-width: 34rem;
  width: 75%;
  right: -10%;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  transition: opacity .3s ease, z-index .3s ease, visibility .3s ease, right .3s ease;
}
.japow_nav_wrap.is-open {
  right: 0;
  opacity: 1;
  z-index: 99;
  visibility: visible;
}

@media all and (min-width: 768px) {
  .japow_nav_wrap {
    border-radius: 2.4rem;
    top: 11.6rem;
  }
  .japow_nav_wrap.is-open {
    right: 6rem;
  }
}


.japow_nav a {
  color: #fff;
}



.japow_nav_list a {
  display: block;
  width: 100%;
  height: 100%;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2.4rem;
  font-weight: 600;
  padding: 1.7rem 2.4rem;
  border-bottom: solid 1px #fff;
}


.japow_nav_web {
  padding: 2rem 2rem;
}
.japow_nav_web a {
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(1.9rem, 1.8rem + 0.5vw, 2.4rem);
  font-weight: 600;
  padding: 0 0 .5rem;
}

.japow_nav_web a::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: .4s ease-in-out;
}
.japow_nav_web a:hover:after {
  animation-name: linkBorder;
  animation-duration: .4s;
  animation-delay: 0s;
  animation-fill-mode: forwards;
}
@keyframes linkBorder {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

.japow_nav_sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
  padding: 1rem 2rem;
}
.japow_nav_sns_item {
  flex: 0 1 9.8rem;
}
.japow_nav_sns a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  text-align: center;
  padding: 1.2rem .5rem;
  border-radius: 50%;
}

@media all and (min-width: 768px) {
  .japow_nav_sns {
    gap: 1.2rem;
  }
  .japow_nav_sns_item {
    flex: 0 1 9.8rem;
  }
}


/* japow_nav_btn */
.japow_nav_btn {
    width: 4.8rem;
    height: 4.8rem;
    cursor: pointer;
    z-index: 99;
    transform: translateX(0);
    transition: transform .5s;
    margin: 0;
    border-radius: 4.8rem;
    border: solid 1px #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media all and (min-width: 768px) {
   .japow_nav_btn {
    margin-right: 0;
   }
}

/* japow_nav_btn_lines */
.japow_nav_btn_lines {
    position: relative;
    width: 20px;
    height: 14px;
    cursor: pointer;
    z-index: 100;
    transform: translateX(0);
    transition: transform .5s;
    margin: .1rem auto 0;
}
.japow_nav_btn_lines span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all .4s;
    border-radius: 10px;
}
.japow_nav_btn_lines span:nth-of-type(1) {
    top: 0;
}
.japow_nav_btn.is-active .japow_nav_btn_lines span:nth-of-type(1) {
    top: -5px;
    transform: translateY(12px) rotate(-45deg);
}
.japow_nav_btn_lines span:nth-of-type(2) {
    top: 6px;
}
.japow_nav_btn.is-active .japow_nav_btn_lines span:nth-of-type(2) {
    opacity: 0;
}
.japow_nav_btn_lines span:nth-of-type(3) {
    bottom: 0;
}
.japow_nav_btn.is-active .japow_nav_btn_lines span:nth-of-type(3) {
    top: 11px;
    transform: translateY(-4px) rotate(45deg);
}

.japow_nav_btn.is-active {
    padding: 0;
}




/* ==========================================================
  Footer
========================================================== */
.japow_footer {
  background-color: #172030;
  color: #fff;
  padding: 3rem 2rem 3rem;
  text-align: center;
}
@media all and (min-width: 768px) {
  .japow_footer {
    padding: 9rem 2rem 5rem;
  }
}

.japow_footer a {
  color: #fff;
}

.japow_footer_web a {
  display: inline-block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(1.9rem, 1.8rem + 0.5vw, 2.4rem);
  font-weight: 600;
  padding: 0 0 .58rem;
  position: relative;
}
.japow_footer_web a::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: .4s ease-in-out;
}
.japow_footer_web a:hover:after {
  animation-name: linkBorder;
  animation-duration: .4s;
  animation-delay: 0s;
  animation-fill-mode: forwards;
}

.japow_footer_sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  margin: 3.5rem 0 2.5rem;
}
.japow_footer_sns_item {
  flex: 0 1 23%;
}
.japow_footer_sns a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  text-align: center;
  padding: 1.2rem 0rem;
  border-radius: 50%;
  min-height: 6.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media all and (min-width: 768px) {
  .japow_footer_sns {
    gap: 1.2rem;
    margin: 3rem 0 5.8rem;
  }
  .japow_footer_sns_item {
    flex: 0 1 9.8rem;
  }
}

.copyright {
  margin-top: auto;
  font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.6rem);
}

/* ==========================================================
  Contents
========================================================== */
.japow_container {
  position: relative;
  overflow-x: hidden;
}

/* コンテンツをふわっと表示 */
.japow_container::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  animation-name: fadein;
  animation-duration: 1.6s;
  animation-delay: .9s;
  animation-fill-mode: forwards;
}
@keyframes fadein {
  0% {
    opacity: 1;
    z-index: 999;
  }
  100% {
    opacity: 0;
    z-index: -1;
  }
}


/* mv
---------------------------------------------------------- */
.japow_mv {
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/main_sp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.japow_mv_inner {
  width: 100%;
  max-width: 160rem;
  margin: 0 auto;
  display: flex;
  flex-flow: column;
  justify-content: center;
  height: 100vh;
  min-height: 60rem;
  padding: 3rem 2rem;
  position: relative;
}
.japow_mv_txt {
  margin-top: auto;
}
.japow_ttl {
  color: #fff;
  text-align: center;
  font-size: clamp(4.2rem, 2.598rem + 6.83vw, 10.8rem);
  font-style: italic;
}

@media all and (min-width: 768px) {
  .japow_mv {
    background-image: url(/wp-content/themes/bandaisan/assets/images/englp/main_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  .japow_mv_inner {
    padding: 13rem 6rem 3rem;
  }
}

.japow_mv_access {
  position: relative;
  margin-top: auto;
  margin-bottom: 0rem;
}
.japow_mv_access_map {
  max-width: 20rem;
  width: 42%;
}
.japow_mv_access_txt {
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(2rem, 1.709rem + 1.24vw, 3.2rem);
  font-weight: 600;
  margin-top: -4.8rem;
  margin-left: 3.5rem;
  line-height: 1.05;
  padding-right: 2rem;
}
.japow_mv_access_txt .txt01 {
  font-weight: 700;
  font-size: clamp(2.8rem, 2.4rem + 2vw, 4.8rem);
}
.japow_mv_access_txt .txt02 {
  font-weight: 700;
}

@media all and (min-width: 768px) {
  .japow_mv_access {
    padding: 0 0 5rem;
  }
  .japow_mv_access_map {
    max-width: 28rem;
  }
  .japow_mv_access_txt {
    margin-top: -9.5rem;
    margin-left: 12.3rem;
    line-height: 1.1;
  }
}

/* ikon pass
---------------------------------------------------------- */
section.japow_ikonpass {
    background: #082241;
}
.japow_ikonpass_container {
    padding: 3rem 0;
}
.ikonpass_imgbox {
    margin-bottom: 3rem;
}
img.ikonpass_img {
    margin: 0 auto;
    display: block;
    max-width: 80%;
    width: 450px;
}
p.ikonpass_txt {
    text-align: center;
    font-weight: 600;
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(2rem, 1.709rem + 1.24vw, 3.2rem);
    color: #FFF;
    padding: 0 10%;
    line-height: 1.1;
}
/* japow_features
---------------------------------------------------------- */
.japow_features {
  padding: 0;
}

.japow_features_box_blk {
  padding: 3.8rem 2.5rem;
  min-height: 40rem;
  display: flex;
  flex-flow: column;
  justify-content: center;
  height: 100%;
  color: #082764;
  position: relative;
  overflow: hidden;
}
.japow_features_box_bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: .3s ease-in-out;
}
.tree .japow_features_box_bg {
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/feaqtures01.jpg);
}
.fields .japow_features_box_bg {
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/feaqtures02.jpg);
}
.japow_features_box_blk:hover .japow_features_box_bg {
  transform: scale(1.05);
}

@media all and (min-width: 768px) {
  .japow_features_box_blk {
    padding: 3.8rem 9.2rem;
  }
}

.japow_features_box_new, .japow_features_box_season {
  display: block;
  font-weight: 700;
  color: #FFDF3F;
  font-family: "Barlow Condensed", sans-serif;
}
.japow_features_box_new {
  font-size: clamp(4.8rem, 4.68rem + 0.6vw, 5.4rem);
}
.japow_features_box_season {
  font-size: clamp(2.4rem, 1.92rem + 2.4vw, 4.8rem);
  line-height: 1;
  margin: 0 0 1.5rem;
}
.japow_features_box_ttl {
  font-weight: 700;
  font-size: clamp(5rem, 4.08rem + 4.6vw, 9.6rem);
  line-height: 0.9;
  margin: 0 0 2.5rem;
}
.fields .japow_features_box_ttl {
  color: #082764;
}
.tree .japow_features_box_ttl {
  color: #fff;
}

@media all and (min-width: 768px) {
  .japow_features {
    display: flex;
  }
  .japow_features_box {
    flex: 0 1 50%;
    height: 90vh;
    min-height: 60rem;
  }
  .japow_features_box_ttl {
    margin: 0 0 4rem;
  }
}


.japow_features_box_btn .btn {
  display: inline-block;
  padding: 1.6rem 2.5rem;
  text-align: center;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 1.76rem + 1.2vw, 3.2rem);
  transition: .2s ease-in-out;
  width: 65%;
  max-width: 36rem;
  border-radius: 8rem;
  border: solid 2px #082764;
  color: #082764;
}
a:hover .japow_features_box_btn .btn {
  background-color: #082764;
  color: #fff;
}

.japow_features .japow_features_box.tree .japow_features_box_btn .btn {
  border-color: #fff;
  color: #fff;
}
.japow_features .japow_features_box.tree a:hover .japow_features_box_btn .btn {
  border-color: #fff;
  background-color: #fff;
  color: #79818F;
}

@media all and (min-width: 768px) {
  .japow_features .japow_features_box_btn .btn {
    padding: 2.8rem 3rem;
    min-width: 22rem;
  }
}


/* Numbers
---------------------------------------------------------- */
.japow_numbers {
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/japow_numbers.jpg);
  background-repeat: no-repeat;
  background-size: 350vw;
  background-position: center;
  padding: 56vh 0 0;
}
@media all and (min-width: 1281px) {
  .japow_numbers {
    background-size: cover;
    background-position: center;
    padding: 78vh 0 0;
  }
}

.japow_numbers_panel {
  background-color: #082764;
  color: #fff;
  position: relative;
}
@media all and (min-width: 1281px) {
  .japow_numbers_panel {
    padding: 3.5rem 3.5rem 4rem;
  }
}

.japow_numbers_link {
  padding: 2rem 2rem;
  text-align: right;
}
.japow_numbers_link .link {
  color: #fff;
  font-weight: 500;
  font-size: clamp(2.2rem, 2.08rem + 0.6vw, 2.8rem);
}
@media all and (min-width: 1281px) {
  .japow_numbers_link {
    padding: 3rem 3rem;
  }
  .japow_numbers_link {
    display: inline-block;
    background-color: rgba(255,255,255,.2);
    padding: 2.2rem 6rem 2.2rem 4.8rem;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

.japow_numbers_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
}
.japow_numbers_item {
  text-align: center;
  padding: 1.5rem .8rem;
  outline: solid 1px #fff;
  font-family: "Barlow Condensed", sans-serif;
  font-style: italic;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: 0 .8rem;
}
.grid_column_big {
  grid-column: span 2;
}
.japow_numbers_item .ttl {
  font-weight: 500;
  font-size: clamp(1.1rem, 0.26rem + 2vw, 4.8rem);
}
.japow_numbers_item .num {
  font-weight: 600;
  font-size: clamp(3.6rem, -0.913rem + 5.91vw, 11.6rem);
  flex: 0 1 auto;
  line-height: 1;
}
.japow_numbers_item .unit {
  font-weight: 600;
  font-size: clamp(1.4rem, 0.4rem + 4vw, 6.4rem);
  line-height: 1;
}
.japow_numbers_item .ft {
  font-weight: 500;
  font-size: clamp(0.8rem, 0.2rem + 1vw, 2.8rem);
}

@media all and (max-width: 1280px) {
  .japow_numbers_item .ttl {
    width: 100%;
  }
  .japow_numbers_item .unit {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
  }
}

@media all and (min-width: 1281px) {
  .japow_numbers_list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
  }
  .japow_numbers_item {
    grid-column: span 2;
    outline: none;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: .5rem;
    flex-wrap: nowrap;
  }
  .grid_column_big {
    grid-column: span 3;
  }
  .japow_numbers_item:last-of-type {
    justify-content: flex-start;
  }
  .japow_numbers_item .ttl {
    margin-right: 1.5rem;
    flex: 0 1 auto;
    line-height: 1;
  }
   .japow_numbers_item .unit {
    line-height: .5;
   }
}

/* Pick Up
---------------------------------------------------------- */
.japow_pick {
  background-color: #9FC3E7;
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/pickup_bg_sp.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100%;
  padding: 3rem 0 4rem;
  overflow: hidden;
}
.japow_pick_ttl {
  text-align: center;
  color: #172030;
  font-size: clamp(4rem, 2.88rem + 5.6vw, 9.6rem);
  z-index: 1;
  position: relative;
}
@media all and (min-width: 768px) {
  .japow_pick {
    background-image: url(/wp-content/themes/bandaisan/assets/images/englp/pickup_bg_pc.jpg);
    padding: 9rem 0 21rem;
  }
}

@media all and (max-width: 767px) {
  .japow_pick_list {
    position: relative;
    margin: 3rem 0 0;
  }
  .japow_pick_item {
    position: relative;
    margin: 0 0 7rem;
  }
  .japow_pick_item * {
    z-index: 1;
    position: relative;
  }
  .japow_pick_item:nth-child(odd) {
    padding-left: 4rem;
  }
  .japow_pick_item:nth-child(odd) .img {
    transform: rotate(1.5deg);
  }
  .japow_pick_item:nth-child(even) {
    padding-right: 4rem;
  }
  .japow_pick_item:nth-child(even) .img {
    transform: rotate(-1.5deg);
  }
  .japow_pick_item:nth-child(odd) .txt {
    padding-right: 3rem;
  }
  .japow_pick_item:nth-child(even) .txt {
    padding-left: 3rem;
  }

  .japow_pick_item_btn.pc {
    display: none;
  }
  .japow_pick_item:nth-child(even) .japow_pick_item_btn {
    padding-left: 3rem;
  }


  /* 雪の装飾 */
  .japow_pick_list::before {
    content: '';
    display: block;
    z-index: 0;
    background-image: url(/wp-content/themes/bandaisan/assets/images/englp/img_snow01.png);
    background-repeat: no-repeat;
    background-position: -30% 0;
    background-size: 100%;
    width: 120%;
    height: 40%;
    position: absolute;
    top: -12%;
    left: -40%;
  }
  .japow_pick_item:nth-of-type(1)::before {
    content: '';
    display: block;
    z-index: 0;
    background-image: url(/wp-content/themes/bandaisan/assets/images/englp/img_snow02.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 8%;
    right: -40%;
  }
  .japow_pick_item:nth-of-type(2)::before {
    content: '';
    display: block;
    z-index: 0;
    background-image: url(/wp-content/themes/bandaisan/assets/images/englp/img_snow02.png);
    background-repeat: no-repeat;
    background-position: 0% 0;
    background-size: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -40%;
    left: -47%;
  }
  .japow_pick_item:nth-of-type(3)::before {
    content: '';
    display: block;
    z-index: 0;
    background-image: url(/wp-content/themes/bandaisan/assets/images/englp/img_flower.svg);
    background-repeat: no-repeat;
    background-position: 0% 0;
    background-size: 100%;
    width: 60%;
    height: 100%;
    position: absolute;
    top: -12%;
    left: -10%;
  }
}

@media all and (min-width: 768px) {
  .japow_pick_list {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin: 5rem 0 0;
  }
  .japow_pick_item {
    flex: 0 1 50rem;
  }
  .japow_pick_item:nth-of-type(2) {
    margin-top: -1rem;
  }
  .japow_pick_item > a {
    display: block;
    width: 100%;
    height: 100%;
    transition: .3s ease-in-out;
  }
  .japow_pick_item > a:hover {
    background-color: rgba(255,255,255,.2);
    backdrop-filter: blur(2px);
    box-shadow: 0 6px 18px rgba(0,0,0,.5);
  }
  .japow_pick_item_btn.sp {
    display: none;
  }
  .japow_pick_item_btn.pc {
    display: inline-block;
    margin: .5rem 0 0;
    padding: 1.6rem 5rem;
    text-align: center;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 600;
    font-size: clamp(1.8rem, 1.76rem + 0.2vw, 2rem);
    transition: .3s ease-in-out;
    min-width: 17.2rem;
    border-radius: 8rem;
    border: solid 1px #172030;
    color: #172030;
  }

  a:hover .japow_pick_item_btn.pc {
    background-color: #172030;
    color: #fff;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  }

  .japow_pick_item .txt {
    padding: .5rem 3rem 3.5rem;
  }

  .japow_pick_item .img {
    overflow: hidden;
  }
  .japow_pick_item .img img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    transition: .3s ease-in-out;
  }
  a:hover .img img {
    transform: scale(1.1);
  }
}

.japow_pick_item .ttl {
  font-size: clamp(4.2rem, 4.16rem + 0.2vw, 4.4rem);
  font-weight: 600;
  margin: 1.5rem 0 2rem;
}
.japow_pick_item .ttl .marker {
  background: linear-gradient(transparent 80%, #C0F55B 80%);
  line-height: 1.25;
}
.japow_pick_item .desc {
  font-size: clamp(1.8rem, 1.78rem + 0.1vw, 1.9rem);
  font-weight: 500;
  margin: 1rem 0 1.5rem;
}
@media all and (min-width: 768px) {
  .japow_pick_item .ttl {
    font-weight: 700;
  }
}

/* japow_about
---------------------------------------------------------- */
.japow_about {
  width: 100%;
  overflow-x: hidden;
  padding: 3rem 0 2rem;
}
@media all and (min-width: 768px) {
  .japow_about {
    padding: 2rem 0 5rem;
  }
}


.japow_about_ttl {
  color: #79818F;
  -webkit-text-fill-color: white;
  -webkit-text-stroke: 1.6px #79818F;
  font-weight: 700;
  font-style: italic;
  text-align: center;
  letter-spacing: -.3rem;
  transform: rotate(-2deg);
  width: 104%;
  margin-left: -3%;
}
.japow_about_ttl .sponsor {
  display: inline-block;
  font-size: clamp(4.52rem, 3.16rem + 8.1vw, 14.4rem);
  line-height: 1;
}
.japow_about_ttl .name {
  display: inline-block;
  font-size: clamp(5.8rem, 3.0rem + 10.0vw, 18.2rem);
  margin-left: 0;
  line-height: .9;
}
@media all and (min-width: 768px) {
  .japow_about_ttl {
    color: #79818F;
    -webkit-text-fill-color: white;
    -webkit-text-stroke: 2px #79818F;
    margin-left: -2.2%;
  }
  .japow_about_ttl .name {
    margin-left: 2.5rem;
  }
}

.japow_about_map {
  text-align: center;
  margin: 4rem 0 2rem;
}
.japow_about_btn {
  text-align: center;
  margin: 2rem 0;
}
@media all and (min-width: 768px) {
  .japow_about_btn {
    margin: 4rem 0;
  }
}


/* japow_facilities */
.japow_facilities {
  padding: 4rem 0 0;
}
@media all and (min-width: 768px) {
  .japow_facilities {
    padding: 10rem 0;
  }
}

.japow_facilities_ttl {
  font-size: clamp(4rem, 2.88rem + 5.6vw, 9.6rem);
  color: #79818F;
  text-align: center;
}

.japow_facilities_main_row {
  margin: 2rem 0 0;
  padding: 2.5rem 0;
  position: relative;
}
.japow_facilities_main_row::before {
  content: '';
  display: block;
  width: 90%;
  height: 90%;
  background: #79818F;
  background: linear-gradient(180deg,rgba(121, 129, 143, 1) 0%, rgba(77, 82, 91, 1) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.japow_facilities_main_item {
  position: relative;
  overflow: hidden;
}
.japow_facilities_main_item a {
  display: block;
  color: #fff;
  height: 100%;
  overflow: hidden;
}
.japow_facilities_main_item.hotel a {
  padding-bottom: 7rem;
}
.japow_facilities_main_item .img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.japow_facilities_main_item .txt {
  padding: 3rem 2.5rem 4rem;
  z-index: 2;
  position: relative;
}
.japow_facilities_main_item .ttl {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(3.6rem, 2.72rem + 3.4vw, 8rem);
  line-height: 1;
  margin: 1rem 0;
}
.japow_facilities_main_item .icon {
  margin: 1rem 0 0 1rem;
}
.japow_facilities_main_item .desc {
  color: #fff;
  font-size: clamp(1.9rem, 1.72rem + 0.6vw, 2.8rem);
  margin: 1.5rem 0;
}

.japow_facilities_main_item.accommodations {
  margin: 1rem 0 0 10%;
}
.japow_facilities_main_item.accommodations .desc {
  font-size: clamp(1.8rem, 1.78rem + 0.1vw, 1.9rem);
  margin: 2rem 0 1.5rem;
}

@media all and (min-width: 768px) {
  .japow_facilities_main_row {
    display: flex;
    gap: 2.6rem;
    padding: 2.5rem 0 20rem;
  }
  .japow_facilities_main_row::before {
    width: 100%;
    height: 84%;
    position: absolute;
    top: inherit;
    bottom: 0;
    left: 0;
  }
  .japow_facilities_main_item .txt {
    padding: 4rem 8% 20rem 11%;
  }
  .japow_facilities_main_item.hotel {
    flex: 0 1 60%;
  }
  .japow_facilities_main_item.accommodations {
    flex: 0 1 40%;
    margin: 0;
  }
  .japow_facilities_main_item .icon {
    margin: 1rem 0 0 2rem;
  }
}


.japow_facilities_sub_row {
  margin: 1rem 0;
}
.japow_facilities_sub_item {
  margin: .2rem 0;
}
.japow_facilities_sub_item a {
  display: block;
  background-color: #172030;
  color: #fff;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(3.2rem, 2.56rem + 3.2vw, 6.4rem);
  display: flex;
  gap: 2rem;
}
.japow_facilities_sub_item .img {
  flex: 0 1 30%;
  align-items: center;
}
.japow_facilities_sub_item .ttl {
  flex: 0 1 70%;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-right: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media all and (min-width: 768px) {
  .japow_facilities_sub_row {
    display: flex;
    justify-content: center;
    gap: 2.6rem;
    max-width: 160rem;
    margin: -18rem auto 0;
  }
  .japow_facilities_sub_item .ttl {
    position: absolute;
    bottom: 1rem;
    right: 2rem;
  }
  .japow_facilities_sub_item a {
    display: block;
    background: none;
    position: relative;
  }
  .japow_facilities_sub_item a:hover {
    text-decoration: underline;
  }
}

.japow_facilities_sub_item .img {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.japow_facilities_main_item .img img,
.japow_facilities_sub_item .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .3s ease-in-out;
}
@media all and (min-width: 768px) {
  .japow_facilities_main_item a:hover .img img,
  .japow_facilities_sub_item a:hover .img img {
    transform: scale(1.1);
  }
}


/* Access
---------------------------------------------------------- */
.japow_access {
  padding: 3rem 0 4rem;
}
.japow_access_inner {
  padding: 0 2rem;
}
@media all and (min-width: 768px) {
  .japow_access {
    padding: 5rem 0 8rem;
  }
}

.japow_access_ttl {
  text-align: center;
  font-weight: 500;
  font-size: clamp(4rem, 2.88rem + 5.6vw, 9.6rem);
}
.japow_access_ttl .name {
  text-align: center;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .japow_access_ttl .name {
    display: block;
  }
}

.japow_access_desc {
  text-align: center;
  font-size: clamp(2rem, 1.68rem + 1.6vw, 3.6rem);
  margin: 3rem 0 5rem;
}

.japow_access_row {
  text-align: center;
}

@media all and (max-width: 767px) {
  .japow_access_map {
    width: 140%;
    margin-left: -46%;
  }
  .japow_access_traffic {
    margin: -22rem 0 0;
    padding: 0 2rem;
  }
}

@media all and (min-width: 768px) {
  .japow_access_row {
    display: flex;
    justify-content: center;
    gap: 10rem;
    margin-top: 5rem;
    margin-left: -5%;
  }
  .japow_access_map {
    flex: 0 1 83rem;
    margin: 1rem 0;
  }
  .japow_access_traffic {
    flex: 0 1 58rem;
    padding: 0;
  }
}

.japow_access_gmap {
    position: relative;
    width: 100%;
    max-width: 116rem;
    height: 26rem;
    margin: 4rem auto;
    padding-top: 26.25%;
}
.japow_access_gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media all and (min-width: 768px) {
  .japow_access_gmap {
    height: 44.6rem;
    margin: -9rem auto 4rem;
  }
}

.japow_access_btn {
  text-align: center;
  margin: 3rem 0;
}
@media all and (min-width: 768px) {
  .japow_access_btn {
    margin: 6rem 0;
  }
}

/* Ticket
---------------------------------------------------------- */
.japow_ticket {
  background-image: url(/wp-content/themes/bandaisan/assets/images/englp/ticket_bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
}
.japow_ticket .inner {
  max-width: 116rem;
  margin: 0 auto;
  padding: 5rem 2rem 3rem;
}
@media all and (min-width: 768px) {
  .japow_ticket .inner {
    padding: 10rem 0;
  }
}

.japow_ticket_ttl {
  font-size: clamp(4rem, 2.692rem + 5.58vw, 9.6rem);
  text-align: center;
}
.japow_ticket_price {
  font-size: clamp(2.8rem, 2.4rem + 2vw, 4.8rem);
  text-align: center;
  margin: 4rem 0 2rem;
}

.japow_ticket_btn {
  text-align: center;
  margin: 5rem 0;
}
.japow_ticket_sale {
  font-weight: 700;
  text-align: center;
  margin: 4rem 0 3rem;
}
.japow_ticket_sale .txt01 {
  display: block;
  font-size: clamp(1.8rem, 1.6rem + 1vw, 2.8rem);
}
.japow_ticket_sale .txt02 {
  display: inline-block;
  font-size: clamp(2.4rem, 1.92rem + 2.4vw, 4.8rem);
  background: linear-gradient(transparent 90%, #C0F55B 90%);
  line-height: 1.25;
}
@media all and (min-width: 768px) {
  .japow_ticket_sale {
    margin: 8rem 0 7rem;
  }
}

/* japow_ticket_table */
.japow_ticket_table {
  color: #000;
  width: 100%;
  border-collapse: collapse;
  border-bottom: solid 2px #172030;
}
.japow_ticket_table th, .japow_ticket_table td {
  padding: 1rem .5rem;
  font-size: clamp(1.2rem, 0.473rem + 3.1vw, 2.8rem);
  border: solid 1px #172030;
  border-bottom: none;
  border-left: none;
  background-color: #fff;
}
.japow_ticket_table th {
  text-align: center;
  font-weight: 600;
}
.japow_ticket_table td {
  text-align: right;
  font-weight: 600;
}
.japow_ticket_table thead th {
  background-color: #D9E3EC;
  font-weight: 700;
}
.japow_ticket_table thead th.blank {
  background-color: transparent;
  border: none;
}
.japow_ticket_table .category {
  border-top: solid 2px #172030;
}
.japow_ticket_table .blue {
  background-color: #AAD1EF;
}
.japow_ticket_table .green {
  background-color: #C9F07D;
}

@media all and (min-width: 768px) {
  .japow_ticket_table th, .japow_ticket_table td {
    padding: 2rem 2rem;
  }
}

/* Gallery
---------------------------------------------------------- */
.japow_gallery {
  overflow: hidden;
}
.japow_gallery_list {
  display: flex;
  width: max-content;
  animation: scroll-left 26s infinite linear .5s both;
}
.japow_gallery_item {
  width: calc(100vw / 3);
}

/* 横に流れるアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* Aizu
---------------------------------------------------------- */
.japow_aizu {
    background-color: #008291;
    color: #fff;
    padding: 4rem 2rem;
}
@media all and (min-width: 768px) {
  .japow_aizu {
        padding: 0;
      }
}
.japow_aizu_ttl {
  font-size: clamp(2rem, 1.68rem + 1.6vw, 3.6rem);
  font-weight: 400;
  margin: 0 0 1.5rem;
}
.japow_aizu_ttl .name {
  font-size: clamp(2.8rem, 2.24rem + 2.8vw, 5.6rem);
  font-weight: 600;
}
.japow_aizu_btn {
  margin: 2rem 0 0;
}

@media all and (max-width: 767px) {
  .japow_aizu_btn a {
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .japow_aizu_row {
    display: flex;
  }

  .japow_aizu_img {
    flex: 0 0 50%;
    position: relative;
    display: flex;
    flex-direction: column;
  }
.japow_aizu_txt {
  margin-top: 10px;
}

.japow_aizu_txt {
  margin-top:0;
  flex: 0 0 50%;
  height: 100%;
  padding: 2rem 8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
}
.japow_aizu_btn a:hover {
  color: #008291 !important;
  }
}
/* カルーセルコンテナ */
.carousel-container {
  overflow: hidden;
  position: relative;
  flex: 1 1 auto;
}

/* スライド全体 */
.carousel-slide {
  display: flex;
  transition: transform 0.5s ease-in-out;
  white-space: nowrap;
  height: 100%;
  min-height: 0;
}

/* カルーセル内の各画像 */
.carousel-slide img {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  display: block;
  object-fit: cover;
  min-height: 0;
}

/* --- ドットナビゲーションのスタイル --- */

.carousel-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.dot {
  width: 10px;
  height: 10px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}

.dot.active {
  background-color: white;
}

.wrapper {
  width: 100%; }
