*,
*::before,
*::after {
  padding: 0;
  margin: 0;
}

.en {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
}
.inner {
  margin: 0 auto;
}
.p-topButton a {
  display: block;
  padding: 21px 80px 20px 35px;
  font-weight: 700;
  position: relative;
  letter-spacing: 1.95px;
  border-radius: 50px;
  transition: 0.2s;
}

@media screen and (max-width: 768px) {
  .p-topButton a {
    padding: 16px 35px 17px 13px;
    font-size: 16px;
  }
}
.p-topButton a:hover {
  text-decoration: none;
}
.p-topButton a::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  right: 40px;
}
@media screen and (max-width: 768px) {
  .p-topButton a::after {
    width: 15px;
    height: 15px;
    right: 20px;
  }
}
.ec-secTitle {
  font-size: 53px;
  font-weight: 700;
  letter-spacing: 1px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .ec-secTitle {
    font-size: 26px;
  }
}
.ec-secTitle.is-blue {
  color: #0382cc;
}
.ec-secTitle.is-black {
  color: #000000;
}
.ec-secTitle span {
  display: block;
  font-size: 20px;
  font-weight: 700;
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .ec-secTitle span {
    font-size: 16px;
    margin-top: 5px;
  }
}

/* ====================================
  SNSエリア
==================================== */
.icon-instagram {
  width: 46px;
  height: 46px;
}
/* ====================================
  ヘッダー
==================================== */
.ec-headerNaviRole {
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  background-color: rgba(255, 255, 255, 0.7);
  top: 0;
  left: 0;
}
.ec-headerNaviRole .ec-headerNaviRole_logoWrap {
  position: relative;
  margin: 0;
}
.ec-headerNaviRole .ec-headerNaviRole_logoWrap .logo_img {
  width: 100%;
}
.ec-headerNaviRole .ec-headerNaviRole__center ol {
  gap: 40px;
}
.ec-headerNaviRole .ec-headerNaviRole__center li {
  font-size: 16px;
}
.ec-headerNaviRole .ec-headerNaviRole__center li a {
  color: #0082cc;
  letter-spacing: 0.75px;
}
.ec-headerNaviRole .ec-headerNaviRole__center li a.ec-headerNaviRole__buy {
  background-color: #0382cc;
  font-size: 18px;
  letter-spacing: 1.8px;
}
.ec-headerNav .ec-headerNav__itemLink {
  color: #0382cc;
}
body.front_page .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item,
.ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item {
  padding: 0 13px 0 25px;
  margin-left: 0;
  display: flex;
  align-items: center;
}
.ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__itemLink {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-left: 25px;
}

.ec-headerNaviRole .ec-headerNaviRole__nav {
  z-index: 2200;
  position: relative;
}
.ec-headerNaviRole .ec-headerNaviRole_hamburger .hamburger-wrap {
  width: 100%;
  top: 0;
  right: 0;
  position: fixed;
  height: 100svh;
  padding: 60px 40px 40px;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  z-index: 1000;
  transform: translateX(200%);
  transition: 0.3s;
}
.ec-headerNaviRole .ec-headerNaviRole_hamburger .hamburger-wrap.open {
  transform: translateX(0);
  transition: 0.3s;
}
.ec-headerNaviRole .ec-headerNaviRole_hamburger .hamburger-scroll-wrap {
  padding-top: 40px;
  height: 100%;
  overflow-y: scroll;
}
.ec-headerNaviRole .ec-headerNaviRole_hamburger li {
  height: auto;
}
.ec-headerNaviRole .ec-headerNaviRole_hamburger li a {
  color: #0382cc;
  font-weight: 700;
}
.ec-headerNaviRole .ec-headerNaviRole_hamburger li a span {
  color: #000;
  display: inline-block;
  margin-right: 20px;
}
.ec-navlistRole__SNS__box {
  display: flex;
  gap: 24px;
}
.ec-navlistRole__SNS__box svg {
  width: 100%;
}
.ec-navlistRole__SNS__box a {
  width: 30px;
  padding: 0;
}
.hamburger-list:nth-child(2) {
  margin-top: 43px;
}
.ec-headerNaviRole .hamburgerBtn .btn-line {
  height: 1px;
  background-color: #000;
}
.ec-headerNaviRole .hamburgerBtn {
  right: 20px;
  top: 16px;
  width: 27px;
  height: 27px;
}
.ec-headerNaviRole .hamburgerBtn .btn-line:before {
  background-color: #000;
}
.ec-headerNaviRole .hamburgerBtn .btn-line.open:before {
  transform: rotate(30deg);
  background-color: #000;
}
.ec-headerNaviRole .hamburgerBtn .btn-line:after {
  background-color: #000;
}
.ec-headerNaviRole .hamburgerBtn .btn-line.open:after {
  transform: rotate(-30deg);
  background-color: #000;
}
.hamburger-item {
  font-size: 16px;
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  font-weight: 700;
  letter-spacing: 2.1px;
}
.hamburger-item:not(:first-child) {
  margin-top: 20px;
}
.hamburger-sns .ec-navlistRole__SNS__box {
  text-align: left;
  margin-top: 34px;
}
.hamburger-sns .ec-navlistRole__SNS__box a {
  padding: 0px;
}
.fa-shopping-cart {
  position: relative;
}
.fa-shopping-cart:before {
  display: inline-block;
  content: "";
  width: 30px;
  height: 30px;
  background: url(../img/common/icon-cart.png) no-repeat center center / contain;
}
.credit-icon-group img{
  width: 50px;
}
@media only screen and (min-width: 768px) {
  .ec-headerNaviRole .ec-headerNaviRole__left {
    max-width: 184px;
    margin-left: 1%;
    width: 14%;
    height: auto;
    position: relative;
    bottom: -20px;
    z-index: 2200;
  }
}

@media screen and (min-width: 1000px) {
  .ec-headerNaviRole__wrap {
    height: 87px;
  }
  .ec-headerNaviRole {
    height: inherit;
  }
  .ec-headerNaviRole .ec-headerNaviRole__center {
    margin-left: auto;
  }
}

@media screen and (max-width: 1240px) {
  .ec-navlistRole__SNS__box {
    gap: 15px;
  }
  .ec-headerNaviRole .ec-headerNaviRole__center ol {
    gap: 25px;
  }
  .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item {
    padding: 0;
    margin: 0 15px;
  }
  .ec-headerNaviRole .ec-headerNaviRole__center li {
    font-size: 16px;
  }
  .ec-headerNaviRole .ec-headerNaviRole__center li a.ec-headerNaviRole__buy {
    font-size: 16px;
    padding: 10px 15px;
  }
  .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__itemLink {
    font-size: 16px;
  }
  .ec-headerNaviRole .ec-headerNaviRole__right .ec-headerNaviRole__nav .ec-headerNav a.ec-headerNaviRole__buy {
    font-size: 16px;
  }
}

@media screen and (max-width: 1000px) {
  .ec-headerNaviRole {
    padding: 0 20px;
    height: inherit;
  }
  .ec-layoutRole__header {
    height: 60px;
  }
  .ec-headerNaviRole__wrap {
    height: inherit;
  }
  .ec-headerNaviRole .ec-headerNaviRole_logoWrap {
    bottom: 0;
    width: auto;
  }
  .ec-headerNaviRole .ec-headerNaviRole__left {
    margin-left: 0;
    bottom: 0;
    z-index: 2200;
    max-width: 110px;
    width: 22%;
  }
  .ec-headerNaviRole .ec-headerNaviRole_logoWrap .logo_img {
    min-width: 60px;
  }
  .ec-headerNav {
    display: flex;
    align-items: center;
  }
  body.front_page .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item,
  .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item {
    margin-left: 20px;
    padding: 0 20px 0 0;
  }
  .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__itemLink {
    margin-left: 15px;
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
  }
  .ec-headerNaviRole .ec-headerNaviRole__right .ec-headerNaviRole__nav .ec-headerNav a.ec-headerNaviRole__buy {
    background: #0382cc;
    letter-spacing: 2.8px;
    font-weight: 700;
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .ec-headerNaviRole {
    padding: 0 15px;
  }
  .fa-shopping-cart {
    display: block;
    height: fit-content;
  }
  .fa-shopping-cart:before {
    width: 20px;
    height: 20px;
  }
  body.front_page .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item,
  .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item {
    padding: 0;
    margin-left: 15px;
  }
  .ec-headerNaviRole:not(.stickyHeader-cloned) .ec-headerNav .ec-headerNav__item {
    margin: 0 10px;
  }
  .ec-headerNaviRole .ec-headerNaviRole__right .ec-headerNaviRole__nav .ec-headerNav a.ec-headerNaviRole__buy {
    font-size: 16px;
    padding: 4px 15px;
    white-space: nowrap;
  }
  .ec-headerNaviRole .ec-headerNaviRole__nav a {
    height: fit-content;
  }
}

/* ====================================
  トップページ PR
==================================== */
.pr-area {
  background: linear-gradient(90deg, rgba(104, 164, 247, 1) 0%, rgba(90, 180, 252, 1) 100%);
  width: 100%;
}
.pr-text {
  color: #fff;
  padding: 20px 0;
  text-align: center;
  font-weight: 700;
  letter-spacing: 1px;
  font-size: 16px;
}
.pr-text span {
  /* font-size: 16px; */
}
.pr-text a {
  text-decoration: none;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .pr-text {
    font-size: 16px;
    padding: 12px 10px;
  }
}
/* ====================================
  トップページ メインビジュアル
==================================== */
.slide-wrap {
  position: relative;
}
.slide-wrap.is-pc {
  padding-bottom:35%;
  width:100%;
  height:0;
}
.slide-wrap.is-pc .slide-content {
  position: absolute;
  left:0;
  width:100%;
  top:0;
  height:100%;
}
.slide-wrap.is-pc .slide-content .swiper-container {
  width:100%;
  height:100%;
}
.slide-wrap.is-pc .kv-pc-swiper-button-next,
.slide-wrap.is-pc .kv-pc-swiper-button-prev {
  width: 80px;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 40px;
  color: #444;
}
.slide-wrap.is-pc .kv-pc-swiper-button-next {
  right:16%;
  top:50%;
  margin-top:-80px;
}
.slide-wrap.is-pc .kv-pc-swiper-button-prev {
  left:16%;
  top:50%;
  margin-top:-80px;
}
.slide-wrap.is-pc .kv-pc-swiper-button-next:after,
.slide-wrap.is-pc .kv-pc-swiper-button-prev:after {
  font-size:34px;
}
.slide-wrap.is-sp {
  display: none;
  padding-bottom:120%;
  width:100%;
  height:0;
}
.slide-wrap.is-sp .slide-content {
  position: absolute;
  left:0;
  width:100%;
  top:0;
  height:100%;
}
.slide-wrap.is-sp .slide-content .swiper-container {
  width:100%;
  height:100%;
}
@media screen and (max-width: 768px) {
  .slide-wrap.is-pc {
    display: none;
  }
  .slide-wrap.is-sp {
    display: block;
  }
  .slide-wrap.is-sp .slide-items-sp {
    display: block!important;
  }
}
.slide-title {
  position: absolute;
  width: max-content;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight: 700;
  font-size: clamp(30px, 3.6vw, 53px);
  line-height: 1.3;
  text-shadow: 0px 0px 6px #666;
}
.slide-title span {
  display: block;
  font-size: 28px;
  font-size: clamp(14px, 1.9vw, 28px);
}
@media screen and (max-width: 768px) {
  .slide-title {
    font-size: 25px;
  }
}
.slide-wrap .slick-list,
.slide-wrap .slick-track {
  height: 100%;
}
/* .slick-track{
  width: 1230px !important;
} */
.slide-wrap .slick-initialized .slick-slide {
 /*aspect-ratio: 1440 / 860;*/
  position: relative;
}
.slide-wrap .slick-initialized .slick-slide .item {
  width:100%;
  padding-top:60%;
  height:0;
  position: relative;
}
.slide-wrap .slick-initialized .slick-slide .item-content {
  position: absolute;
  top:0;
  width:100%;
  height: 100%;
  left:0;
}
.slide-wrap .slick-initialized .slick-slide .img-text {
  position: absolute;
  width:60%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight:bold;
  font-size:min(calc((80 / 1440) * 100vw), 80px);
  line-height: 1.3;
}
.slide-wrap .slick-initialized .slick-slide .sub-text {
  font-size:min(calc((40 / 1440) * 100vw), 40px);
  color: #000;
  text-shadow:none;
  line-height: 1.8;
  padding-left:5px;
}

.slide-wrap .slick-initialized .slick-slide .img-text.mv10 {
  font-size:min(calc((100 / 1440) * 100vw), 100px);
}
.slide-wrap .slick-initialized .slick-slide .img-text.mv10 span {
  font-size:min(calc((50 / 1440) * 100vw), 50px);
  display: block;
}
.slide-wrap .slick-initialized .slick-slide .img-text.mv11 {
  left: 60%;
  width:max-content;
}
.slide-wrap .slick-initialized .slick-slide .img-text.mv12 {
  font-size:min(calc((100 / 1440) * 100vw), 100px);
  top: 70%;
}
.slide-wrap .slick-initialized .slick-slide .img-text.mv12 span {
  font-size:min(calc((50 / 1440) * 100vw), 50px);
  display: block;
}
.slide-wrap .slick-initialized .slick-slide .img-text.mv07 {
  top: 56%;
}
.slide-wrap .slick-initialized .slick-slide .img-text.mv06 .sub-text {
  color:#fff;
}
.slide-wrap .slick-initialized .slick-slide .img-text.mv13 .sub-text {
  color:#fff;
}
.slide-wrap .slick-slide img {
  object-fit: cover;
  height: 100%;
}
.bg-summary {
  background-image: url(../img/top/service_back_new.png);
  background-repeat: no-repeat;
  background-position: center 82%;
  background-size: 100%;
}
@media screen and (min-width: 768px) {
  .bg-summary {
    background-position: center top;
  }
}
@media screen and (min-width: 1440px) {
  .bg-summary {
    background-size: auto;
    background-position: center top;
    padding-bottom: 30px;
  }
}
.bg-wrap {
  /* background: url(../img/top/service_back.png) no-repeat left 0 top 0 / cover; */
  background: linear-gradient(#F0FBFF, #FFF5F5);
}

@media screen and (max-width: 768px) {
  .bg-wrap {
    background: linear-gradient(#F0FBFF, #FFF5F5);
  }
  .slide-wrap .slick-initialized .slick-slide .img-text {
    width:max-content;
    font-size:min(calc((86 / 1024) * 100vw), 86px);
    top:48%;
  }
  .slide-wrap .slick-initialized .slick-slide .sub-text {
    font-size:min(calc((40 / 1024) * 100vw), 40px);
    text-decoration: underline;
  }
  .slide-wrap .slick-initialized .slick-slide .img-text.mv10 {
    font-size:min(calc((100 / 1024) * 100vw), 100px);
  }
  .slide-wrap .slick-initialized .slick-slide .img-text.mv10 span {
    font-size:min(calc((46 / 1024) * 100vw), 46px);
  }
  .slide-wrap .slick-initialized .slick-slide .img-text.mv11 {
    left: 50%;
    top:30%;
  }
  .slide-wrap .slick-initialized .slick-slide .img-text.mv13 {
    left: 50%;
    top:28%;
  }
  .slide-wrap .slick-initialized .slick-slide .img-text.mv12 {
    font-size:min(calc((100 / 1024) * 100vw), 100px);
  }
  .slide-wrap .slick-initialized .slick-slide .img-text.mv12 span {
    font-size:min(calc((46 / 1024) * 100vw), 46px);
  }

}
.slide-wrap.is-sp .slide-items-sp .slick-slide .item {
  padding-top:132%;
}
/* ====================================
  トップページ Plan
==================================== */
.ec-role__plan {
  /* padding: 0 120px; */
}
.plan-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.plan-box {
  box-shadow: 10px 10px 10px #004e9327;
  background-color: #fff;
  border-radius: 93px;
  padding: 30px 65px 65px 65px;
   width: max-content;
  /*width:85%;*/
  position: relative;
  top: -80px;
  max-width:780px;
  margin-left: auto;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .plan-box {
    padding: 10px 30px 30px 30px;
    width: 80%;
    margin: 0 auto;
    border-radius: 50px;
  }
}
.plan-badge {
  width: 180px;
  height: 180px;
  position: absolute;
  top: -10px;
  right: -10px;
  top: -30px;
  right: -10px;
}
@media screen and (max-width: 768px) {
  .plan-badge {
    width: 90px;
    height: 90px;
  }
}
.plan-head {
  display: flex;
  align-items: center;
  justify-content: left;
  width: 100%;
  height: 167px;
}
.plan-head img {
  width:180px;
  height:auto;
}
.plan-head span {
  padding-left: 50px;
  color: #0382CC;
  font-size: 40px;
  font-weight: bold;
}
.plan-text {
  color:#696969;
  font-size:23px;
  font-weight:bold;
}

@media screen and (max-width: 768px) {
  .plan-head {
    height: 87.5px;
  }
  .plan-head img {
    width:100px;
  }
  .plan-head span {
    padding-left: 10px;
    font-size: 1.125rem;
  }
  .plan-text {
    font-size:0.875rem;
  }
  .ticket-item.is-pro .ticket-item-title{
    margin-top:15px;
  }
  .ticket-item.is-pro .ticket-item-text{
    margin-bottom:0px;
  }

}

.ticket-item.is-std .ticket-item-title-del{
  text-decoration: line-through solid red;
    color: gray;
    font-weight: 100;
}
.ticket-item.is-std .ticket-item-title-del span{
  color: gray;
}
.ticket-item.is-std .down-arrow{
  padding: 0 40%;
}
.ticket-item.is-std .campaign{
  width: 95%;
  margin: 0 auto;
  text-align: center;
  font-size: 18px;
  background-color: red;
  color: white;
  border-radius: 15px;
  padding: 5px 20px;
  position: relative;
}
.ticket-item.is-std .campaign::after{
  border-left: 0px solid transparent;
  border-right: 13px solid transparent;
  border-top: 15px solid red;
  content: '';
  margin-left: 100px;
  position: absolute;
}
.ticket-item.is-std .campaign-content span{
  color:red;
  font-size: 32px;
}
.plan-list {
  margin-top: 20px;
  display: inline-block;
  text-align: left;
}
.plan-list.passes {
  color: #fff;
  font-size: 23px;
  font-weight: 100;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
  line-height: 1.8;
}
.plan-list.passes li{
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  .ticket-item.is-std .campaign {
    padding:5px 15px;
  }
  .top-summary .plan-text {
    font-size: 16px;
    font-weight:bold;
    line-height: 1.8;
  }
  .plan-list.passes {
    font-size:16px;
    padding: 0 30px;
  }
  .plan-list.passes li {
    text-indent: -1em;
  }
  .ticket-item.is-std .campaign-content span{
    font-size: 24px;
  }
}
@media screen and (max-width: 375px) {
  .top-summary .plan-text {
    font-size: 15px;
  }
  .ticket-item.is-std .campaign {
    font-size:17px;
  }
}
.top-summary {
  width: 80%;
  max-width: 500px;
  margin: 50px auto 80px auto;
}
.top-summary.flex-summary {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: auto;
  margin-top:45px;
}
.top-summary.flex-summary .content {
  text-align: left;
  padding-top:20px;
}

.top-summary .plan-item span{
  font-size: 14px;
}
.top-summary .plan-text:not(:first-child){
  margin-top: 10px;
  font-size: 16px;
  color: #0382cc;
}
.plan-item {
  margin-top: 10px;
  font-size: 23px;
  line-height: 1.6;
  letter-spacing: 1.95px;
  color: #0382cc;
  font-weight: 700;
  position: relative;
  padding-left: 22px;
}
.plan-item::before{
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 17px;
  height: 17px;
  background-color: #0382cc;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .top-summary {
    margin-top:50px;
  }
  .plan-item {
    font-size: 17px;
    margin-top: 6px;
    padding-left: 15px;
  }
  .plan-item::before{
    top: .4em;
    width: 11px;
    height: 11px;
  }
  .top-summary .plan-text:not(:first-child) {
    font-size:12px;
  }
}
@media screen and (max-width: 375px) {
  .plan-item {
    font-size: 16px;
  }
}
.plan-button {
  max-width: 370px;
  width: 100%;
  margin:0 auto;
  margin-top: 42px;
}
.plan-button a {
  padding: 22px 55px 22px 55px;
  display: block;
  background-color: #efefef;
  color: #0382cc;
  font-size: 24px;
  letter-spacing: 1.95px;
}
@media screen and (max-width: 768px) {
  .plan-button {
    margin: 40px auto 0;
    max-width: 240px;
  }
  .plan-button a {
    font-size: 18px;
    text-align: center;
    padding:17px 45px 17px 30px;
  }
}
.plan-button a:hover {
  text-decoration: none;
  color: #fff;
  background-color: #0382cc;
  opacity: 1;
  transition: 0.2s;
}
.plan-button a::after {
  position: absolute;
  content: "";
  width: 22px;
  height: 22px;
  border-top: solid 2px #0382cc;
  border-right: solid 2px #0382cc;
  top: 42%;
  right: 60px;
  transform: translateY(-50%) rotate(135deg);
}
.plan-button a:hover::after {
  border-color: #fff;
  transition: 0.2s;
}
@media screen and (max-width: 768px) {
  .plan-button a::after {
    width: 15px;
    height: 15px;
    right: 30px;
  }
}
/* ====================================
  トップページ Usecase
==================================== */
.top-usecase {
  margin: 10px auto 10px auto;
  width: 90%;
  max-width: 440px;
  text-align: center;
  background-color:#F0F0F0;
  border-radius: 50px;
  padding: 40px 5px;
}
.top-usecase h3{
  font-weight: bold;
}
.top-usecase svg {
  width: 50px;
  height: 50px;
}
.top-usecase .example{
  text-align: left;
  margin: 10px 48px;
}
@media screen and (max-width: 768px) {
  .top-usecase .example{
    margin: 10px 32px;
  }
}
.usecase-title {
  font-size: 26px;
  color: #0382CC;
  font-family: '游ゴシック体';
}
.usecase-summary{
  display: flex;
  justify-content: center;
  line-height: 2;
  margin: 25px 0;
}
.usecase-summary img{
  width: 100px;
}
.usecase-summary .usecase-comment{
  height: 85px;
  background-color: white;
  border-radius: 10px;
  padding: 16px 15px;
  text-align: left;
  position: relative;
  font-size: 13px;
  margin-left: 20px;
}
.usecase-summary .usecase-comment::before{
  content: "";
	position: absolute;
	height: 20px;
	width: 20px;
	bottom: 30px;
	left: -19px;
	background-color:white;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.usecase-average{
  display: flex;
    justify-content: space-between;
    text-align: left;
    border-bottom: solid 2px #2682cc;
    margin: 10px 48px;
    padding: 10px 0px;
}
.usecase-average h2{
  color:#2682cc;
  font-family: '游ゴシック体';
  font-weight: bold;
  font-size: 34px;
}
.usecase-average h2 span{
  font-size: 16px;
  margin:0 5px;
  color: black;
  font-weight: 100;
}
.usecase-standard {
  display: flex;
  justify-content: space-around;
  padding: 0 30px;
}
.usecase-standard img{
  width: 200px;

}
.usecase-standard p{
  padding: 75px 0 0 0;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .usecase-average{
    margin: 10px 34px;
  }
  .usecase-standard p {
    font-size: 16px;
  }
}
.usecase-footer{
  text-align: center;
  margin: 10px 70px;
  font-family: '游ゴシック体';
  font-size:18px;
  line-height: 1.8;
}
.usecase-footer h4{
  margin: 20px 0;
  font-size:22px;
  font-weight: bold;
}
.usecase-footer p{
  text-align: left;
}
/* .usecase-footer > * {
  margin-top: 10px;
} */
@media screen and (max-width: 768px) {
  .usecase-footer{
    margin: 10px 34px;
    font-size: 12px;
  }
  .usecase-summary img{
    width: 70px;
  }
}
@media screen and (min-width: 769px) {
  .top-usecase {
    border-radius:80px;
    padding: 60px 5px;
    max-width:605px;
  }
  .top-usecase h3 {
    font-size:34px;
  }
  .usecase-summary .usecase-comment {
  height: 115px;
  border-radius: 20px;
  padding: 18px 40px;
  font-size: 20px;
  margin-top: 10px;
  margin-left: 30px;
  }
  .usecase-summary .usecase-comment::before {
    bottom:45px;
  }
  .usecase-average {
    font-size:20px;
    margin: 10px 70px;
    border-bottom: solid 3px #2682cc;
  }
  .usecase-average h2 {
    font-size:60px;
  }
  .usecase-average h2 span {
    font-size: 20px;
  }
  .top-usecase .example {
    font-size:24px;
    margin: 10px 70px;
  }
  .usecase-standard {
    margin-bottom: 20px;
  }
  .usecase-standard p {
    font-size:35px;
  }
  .usecase-standard img {
    width: 260px;
  }
  .usecase-footer h4 {
    margin: 30px 0;
    font-size:32px;
  }
}

/* ====================================
  トップページ Service
==================================== */
.ec-serviceRole {
  margin-top: 50px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .ec-serviceRole {
    margin-top: 60px;
    padding-bottom: 40px;
  }
}
.service-inner {
  max-width: 1240px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .service-inner {
    max-width: 100%;
    padding: 0 20px;
  }
}
.fields-list{
  text-align: center;
  max-width: 200px;
    margin: 35px auto 0;
  padding: 10px;
}
.service-btn.ticket-price-button, .plan-btn.ticket-price-button{
  width: 200px;
  margin: 20px auto;
}
@media screen and (max-width: 767px) {
  .service-btn.ticket-price-button, .plan-btn.ticket-price-button{
    width: 20%;
    min-width: 150px;
    margin: 20px auto;
  }
}
.plan-btn.ticket-price-button a{
  background-color: white;
  color: #0382cc;
  text-align: center;
}
.ec-ticketRole .plan-btn.ticket-price-button a{
  font-size: 24px;
}
.plan-btn.ticket-price-button a::after{
 border-color: #0382cc;
}

.service-message {
  text-align: center;
  margin: 80px 0;
  padding-top: 100px;
  line-height: 1.8;
  color: #0382cc;
  font-size: 28px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .service-message {
    font-size: 16px;
    margin: 42px 0;
  }
  .ec-ticketRole .plan-btn.ticket-price-button a{
    font-size: 16px;
  }
}
.service-message .link:not([href]) {
  text-decoration: underline;
}
.service-message span {
  font-size: 22px;
  display: block;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .service-message span {
    font-size: 16px;
  }
}
.service-modal {
  width: 80%;
  max-width: 960px;
  height: 85vh;
  padding: 120px 40px 90px;
  border: none;
  background-color: #fff;
  /* position: relative; */
  overflow: initial;
  border-radius: 60px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .service-modal:modal {
    padding: 60px 15px;
    width: 88%;
    border-radius: 30px;
  }
}
.service-modal-contents {
  height: 100%;
  overflow-y: scroll;
  text-align: left;
}
.service-modal-contents::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.service-modal-contents::-webkit-scrollbar-track {
  background: #e3e3e3;
}
.service-modal-contents::-webkit-scrollbar-thumb {
  background: #0382cc;
}
.service-modal-text {
  font-size: 28px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .service-modal-text {
    font-size: 16px;
  }
}
.service-modal-item dt {
  font-size: 32px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  font-weight: 700;
  color: #0382cc;
}
@media screen and (max-width: 768px) {
  .service-modal-item dt {
    font-size: 16px;
  }
}
.service-modal-item dt::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #0382cc;
}
.service-modal-item dt span {
  width: max-content;
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding: 0 1em;
  margin: 0 auto;
  font-size: 32px;
}
@media screen and (max-width: 768px) {
  .service-modal-item dt span {
    font-size: 16px;
  }
}
.service-modal-item.is-requirement {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .service-modal-item.is-requirement {
    margin-top: 25px;
  }
}
.service-modal-item.is-requirement dt {
  margin-bottom: 30px;
}
.service-modal-item.is-requirement dd {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  color: #0382cc;
}
@media screen and (max-width: 768px) {
  .service-modal-item.is-requirement dd {
    font-size: 16px;
  }
}
.service-modal-item.is-target {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .service-modal-item.is-target {
    margin-top: 35px;
  }
}
.service-modal-item.is-target li {
  margin-top: 30px;
  font-size: 32px;
  position: relative;
  padding-left: 70px;
}
@media screen and (max-width: 768px) {
  .service-modal-item.is-target li {
    font-size: 16px;
    padding-left: 35px;
    margin-top: 15px;
  }
}
.service-modal-item.is-target li::before {
  position: absolute;
  content: "";
  width: 50px;
  height: 50px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .service-modal-item.is-target li::before {
    width: 25px;
    height: 25px;
  }
}
.service-modal-item.is-target li.is-bike::before {
  background: url(../img/common/icon-bike.png) no-repeat center center / contain;
}
.service-modal-item.is-target li.is-wave::before {
  background: url(../img/common/icon-wave.png) no-repeat center center / contain;
}
.service-modal-item.is-target li.is-snow::before {
  background: url(../img/common/icon-snow.png) no-repeat center center / contain;
}
.service-modal-close {
  position: absolute;
  top: 30px;
  right: 40px;
  cursor: pointer;
  border: none;
  background-color: transparent;
  padding: 0;
  width: 27px;
  height: 27px;
  outline: none;
  z-index: 9;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-modal-close img {
  width:100%;
  display: block;
}
.service-modal-close:hover img {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .service-modal-close {
    top: 20px;
    right: 20px;
  }
}
.service-modal-close .btn-line {
  display: block;
  position: relative;
  width: 100%;
  height: 1px;
}
.service-modal-close .btn-line::before,
.service-modal-close .btn-line::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}
.service-modal-close .btn-line::before {
  background-color: #000;
  transform: rotate(30deg);
}
.service-modal-close .btn-line::after {
  background-color: #000;
  transform: rotate(-30deg);
}
.service-list {
  display: flex;
  font-weight: 700;
  justify-content: center;
  margin: 0px auto;
  margin-top: 56px;
}
.service-list ~ .service-list {
  margin-top:0;
}
@media screen and (max-width: 930px) {
  .service-list {
    flex-wrap: wrap;
    justify-content: left;
    width: calc(100% - 20px);
     max-width: 500px;
    margin:0 auto;
  }
}
@media screen and (max-width: 767px) {
  .service-list {
    flex-direction: initial;
  }
}
.service-item {
  height: 0;
  position: relative;
  padding-bottom: 250px;
  width:175px;
  margin-left:20px;
  margin-bottom:30px;
}
.service-item:first-child {
  margin-left:0;
}
@media screen and (max-width: 930px) {
  .service-item {
    padding-bottom: 62%;
    margin-left:0;
    width: calc(50% - 12px);
  }
  .service-item:nth-child(even) {
    margin-left:23px;
  }
}
@media screen and (max-width: 390px) {
  .service-item {
    padding-bottom: 65%;
  }
}
.service-item a {
  display: block;
  position: absolute;
  left:0;
  top:0;
  height:100%;
  width:100%;
}
@media screen and (max-width: 767px) {
  .service-item a {
    display: flex;
    align-items: flex-start;
  }
}
.service-item a:hover {
  text-decoration: none;
}
.service-image {
  aspect-ratio: 1 / 1;
  border-radius: 73px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .service-image {
    border-radius: 43px;
    width: 100%;
  }
}
.service-category {
  width: 50px;
  height: 50px;
  position: absolute;
  bottom: -20px;
  left: 0;
  z-index: 1;
}
.service-category.is-sp {
  display: none;
  position: static;
}
@media screen and (max-width: 767px) {
  .service-category.is-pc {
    display: none;
  }
  .service-category {
    bottom:inherit;
    top:12px;
    left: 15px;
    width: 30px;
    height: 30px;
}
  .service-category.is-sp {
    display: block;
    width: 30px;
    height: 30px;
  }
}
.service-ex {
  width:100%;
  height:100%;
  position: relative;
}
.service-ex .mask {
  box-shadow: 5px 5px 6px #0090B229;
  position: relative;
  z-index: 0;
  background: rgba(255,255,255,0.7);
  border-radius: 50px;
  width: 100%;
  height:100%;
  border: 5px solid;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  display: flex;
}
@media screen and (max-width: 767px) {
   .service-ex .mask {
     border-radius: 30px;
     border: 3px solid;
  }
}
.logo_item_img {
  width: 60%;
  margin-bottom: 5%;
}
.is-grade-rental .logo_item_img, .is-rental  .logo_item_img {
  width: 49%;
}
.service-title {
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: 0.72px;
  font-weight: 700;
  position: relative;
}
.sp-service-title {
  font-family: 'ITC Avant Garde Gothic Pro';
  position: relative;
  /* font-size: min(calc((90 / 1440) * 100vw), 40px); */
  font-size: 20px;
  text-align: center;
  /* padding-top: 10%; */
}
.sp-service-title em {
  font-size: max(16px,calc((20 / 1440) * 100vw));
  font-style: normal;
  line-height: 2;
  display: block;
}
.service-ex-text {
  font-family: 'ITC Avant Garde Gothic Pro';
  font-size: 26px;
  font-weight: bold;
}
.service-ex-sm {
  font-size: 14px;
  line-height: 1;
  display: block;
  padding-top: 10px;
}
.sp-service-title::before {
    width:30%;
    height:1px;
    background: #222;
    position: absolute;
    left:70%;
    margin-left:-35%;
    content:' ';
    top: 110%;
}
.sp-service-sub {
  text-align: center;
  font-size: 16px;
  padding-top: 1rem;
  display: none;
}
.service-item.is-grade-rental .sp-service-sub,
.service-item.is-rental .sp-service-sub{
  margin-bottom: 0;
}
/* @media screen and (max-width: 767px) { */
  .service-title {
    display: none;
  }
  .sp-service-title {
    display: block;
  }
  .sp-service-sub {
    display: block;
  }
/* } */
.service-text {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 1.35px;
  margin-top: 15px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .service-text {
    font-size: 16px;
    line-height: 1.3;
    margin-top: 5px;
    display: none;
  }
  .sp-service-sub {
    font-size: 16px;
    padding-top: 5px;
  }
  .service-ex-sm {
    padding-top:14px;
  }
  .service-ex-text {
    font-size:22px;
  }
  .is-grade-rental .logo_item_img, .is-rental  .logo_item_img {
    width: 60%;
  }
}
.service-item.is-snow .sp-service-title::before {
  background:#a8a8a8;
}
.service-item.is-snow a {
  border-bottom: solid 1px #a8a8a8;
}
/* @media screen and (max-width: 767px) { */
  .service-item.is-snow a {
    border-bottom: none;
  }
  .service-item.is-snow .sp-service-title::before {
    background:#a8a8a8;
  }
  .service-item.is-snow .service-image img{
    display: none;
  }
/* }  */
.service-item.is-snow .service-title,
.service-item.is-snow .service-text,
.service-item.is-snow .sub {
  color: #a8a8a8;
}
.service-item.is-snow .service-ex .mask {
border-color:#a8a8a8;
  color:#a8a8a8;
}
.service-item.is-bike a {
  border-bottom: solid 1px #2bae67;
}
/* @media screen and (max-width: 767px) { */
  .service-item.is-bike a {
    border-bottom: none;
  }
  .service-item.is-bike .sp-service-title:before {
    background:#2bae67;
  }
  /* .service-item.is-bike .service-image img{
    display: none;
  } */
/* } */
/* .service-item.is-bike .service-image {
  background: url(../img/top/img-service_bike.png) no-repeat center center / cover;
} */
.service-item.is-bike .service-title,
.service-item.is-bike .service-text ,
.service-item.is-bike .sub {
  color: #2bae67;
}
.service-item.is-bike .service-ex .mask {
  border-color:#2bae67;
  color:#2bae67;
}
.service-item.is-wave .sp-service-title::before {
  background:  #206eb8;
}
@media screen and (max-width: 767px) {

  .service-item.is-wave .service-image img{
    display: none;
  }
}
/* .service-item.is-wave .service-image {
  background: url(../img/top/img-service_wave.png) no-repeat center center / cover;
} */
.service-item.is-wave .service-title,
.service-item.is-wave .service-text,
.service-item.is-wave .sub {
  color: #206eb8;
}
.service-item.is-wave .service-ex .mask {
  border-color:#206eb8;
  color:#206eb8;
}
/* .service-item.is-adventure a {
  border-bottom: solid 1px #57aa51;
} */
.service-item.is-adventure .sp-service-title::before {
  background: #f39800;
}
@media screen and (max-width: 767px) {

  .service-item.is-adventure .service-image img{
    display: none;
  }
}
/* .service-item.is-adventure .service-image {
  background: url(../img/top/img-service_forest.png) no-repeat center center / cover;
} */
.service-item.is-adventure .service-title,
.service-item.is-adventure .service-text,
.service-item.is-adventure .sub {
  color: #f39800;
}
.service-item.is-adventure .service-ex .mask {
  border-color: #f39800;
  color: #f39800;
}
  .service-item.is-grade-rental .sp-service-title::before {
    background: #AD2000;
  }
.service-item.is-grade-rental .service-title,
.service-item.is-grade-rental .service-text,
.service-item.is-grade-rental .sub {
  color: #AD2000;
}
.service-item.is-grade-rental .service-title em {
  font-style: normal;
}
.service-item.is-grade-rental .service-title {
  margin-top: 19%;
}
.service-item.is-grade-rental .sp-service-title {
  line-height: 1.8;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .service-item.is-grade-rental .sp-service-title::before,
  .service-item.is-rental .sp-service-title::before {
    top:95%;
  }
}
.service-item.is-grade-rental .service-ex .mask {
  border-color: #AD2000;
  color: #AD2000;
}
.service-item.is-grade-rental .service-link {
  color:#fff;
  background: #AD2000;
border-radius:40px;
  text-align: center;
  font-size: 14px;
  margin-top: 5%;
  padding: 7px 15px;
  width: 70%;
}
/* @media screen and (max-width: 767px) { */
  .service-item.is-grade-rental .service-title em {
    font-size:14px;
  }
/* } */
/* @media screen and (max-width: 767px) { */
  .service-item.is-rental .sp-service-title::before {
    background:  #ea3c14;
  }
/* } */
/* .service-item.is-rental .service-image {
  background: url(../img/top/img-service_rental.png) no-repeat center center / cover;
} */
.service-item.is-rental .service-title,
.service-item.is-rental .service-text,
.service-item.is-rental .sub {
  color: #ea3c14;
}
.service-item.is-rental .service-ex .mask {
  border-color: #ea3c14;
  color: #ea3c14;
}
.service-item.is-grade-rental .logo_item_img,
.service-item.is-rental .logo_item_img {
  text-align: center;
  margin-bottom:0;
}
.service-item.is-grade-rental .logo_item_img img,
.service-item.is-rental .logo_item_img img{
  width: 70%;
  /* height: 50%; */
}
.service-item.is-rental .service-link {
  color:#fff;
  background: #ea3c14;
  border-radius:40px;
  /* padding:15px; */
  text-align: center;
  /* margin-top: 60px; */
}
@media screen and (max-width: 767px) {
.service-item.is-grade-rental .logo_item_img img,
.service-item.is-rental .logo_item_img img{
  width: 50%;
}
}
  .service-item.is-rental .service-link {
    font-size: 14px;
    margin-top: 5%;
    padding: 7px 15px;
    width: 70%;
  }
  .service-item.is-rental .sp-service-title {
    padding: 3%;
    line-height: 2.8;
  }
  @media screen and (max-width: 767px) {
    .service-item.is-rental .sp-service-title{
      padding: 3%;
      line-height: 2.9;
    }
  }
/* } */
.service-item.is-coupon .service-ex .mask {
  border-color: #BAAD8C;
  color: #BAAD8C;
  justify-content: center;
}
  .service-item.is-coupon .sp-service-title:before {
    display: none;
  }

/* .service-item.is-coupon .service-image {
  background: url(../img/top/img-service_coupon.png) no-repeat center center / cover;
} */
.service-item.is-coupon .service-title,
.service-item.is-coupon .service-text,
.service-item.is-coupon .sub {
  color: #BAAD8C;
}
.service-item.is-coupon .service-tips {
  color:#333;
  background: #fff;
  border:2px solid  #BAAD8C;
  border-radius:14px;
  padding:12px 15px;
  text-align: center;
  font-size: 1.25rem;
  margin-top: 60px;
}
/* @media screen and (max-width: 767px) { */
  .service-item.is-coupon .service-tips {
    font-size: 16px;
    margin-top: 25px;
    padding: 4px 5px;
    display: none;
  }
/* } */
.service-wrap {
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  padding-bottom: 50px;
}
.service-box {
  display: flex;
  align-items: center;
  width: calc(50% - 40px / 2);
  padding: 50px 0;
}
.service-box-head {
  display: flex;
  align-items: center;
}
.service-box-icon {
  width: 50px;
  height: 50px;
}
.service-box-title {
  font-size: 36px;
  font-weight: 700;
  margin-left: 15px;
}
.service-box-text {
  font-size: 18px;
  font-weight: 700;
  margin-left: 20px;
  flex-grow: 1;
  line-height: 1.5;
}
.service-box.is-rental {
  border-bottom: solid 1px #ea3c14;
}
.service-box.is-rental .service-box-title,
.service-box.is-rental .service-box-text {
  color: #ea3c14;
}
.service-box.is-coupon {
  border-bottom: solid 1px #baad8c;
}
.service-box.is-coupon .service-box-title,
.service-box.is-coupon .service-box-text {
  color: #baad8c;
}
.service-notice {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(50% - 40px / 2);
  background-color: #baad8c;
  border-radius: 5px;
  padding: 5px;
}
.service-notice-text {
  font-size: 18px;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 930px) {
  .service-wrap {
    flex-direction: column;
    gap: 60px;
    margin-top: 80px;
  }
  .service-box {
    width: 100%;
    padding: 0;
  }
  .service-box.is-rental {
    border-bottom: none;
    border-right: solid 1px #ea3c14;
  }
  .service-box.is-coupon {
    border-bottom: none;
    border-right: solid 1px #baad8c;
  }
  .service-notice {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .service-box-icon {
    width: 30px;
    height: 30px;
  }
  .service-box-title {
    font-size: 25px;
    margin-left: 10px;
  }
  .service-box-text {
    font-size: 16px;
    margin-left: 15px;
  }
  .service-notice-text {
    font-size: 16px;
  }
}

/* ====================================
  トップページ Recommended
==================================== */
.ec-recommendedRole {
  padding: 140px 0;
  overflow: hidden;
  background: url(../img/top/bg-recommend.jpg) no-repeat center center / cover;
}
@media screen and (max-width: 768px) {
  .ec-recommendedRole {
    padding: 70px 0;
  }
}
.recommended-list {
  display: flex;
  gap: 28px;
  padding-bottom: 30px;
  margin-top: 66px;
}
@media screen and (max-width: 768px) {
  .recommended-list {
    gap: 15px;
  }
}
.recommended-wrap {
  padding-left: 165px;
}
@media screen and (max-width: 768px) {
  .recommended-wrap {
    padding-left: 20px;
  }
}
.recommended-wrap::-webkit-scrollbar {
  width: 100%;
  height: 5px;
}
.recommended-wrap::-webkit-scrollbar-track {
  background: #e3e3e3;
}
.recommended-wrap::-webkit-scrollbar-thumb {
  background: #333;
}
.recommended-item {
  min-width: 327px;
  width: 327px;
}
@media screen and (max-width: 768px) {
  .recommended-item {
    min-width: 207px;
    width: 207px;
  }
}
.recommended-item a {
  border-radius: 21px;
  display: block;
  background-color: #fff;
  padding: 35px 23px 23px;
  height: 100%;
}
.recommended-item a:hover {
  opacity: 0.9;
}
@media screen and (max-width: 768px) {
  .recommended-item a {
    padding: 15px 15px 20px;
  }
}
.recommended-item a:hover {
  text-decoration: none;
}
.recommended-item-head {
  display: flex;
  align-items: start;
}
.recommended-item-number {
  font-size: 43px;
  color: #0382cc;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .recommended-item-number {
    font-size: 25px;
  }
}
.recommended-item-info {
  margin-left: 25px;
}
@media screen and (max-width: 768px) {
  .recommended-item-info {
    margin-left: 10px;
  }
}
.recommended-item-title {
  font-size: 17px;
  line-height: 1.5;
  color: #0382cc;
  font-weight: 700;
  min-height: 51px;
}
@media screen and (max-width: 768px) {
  .recommended-item-title {
    font-size: 16px;
  }
}
.recommended-item-address {
  color: #0382cc;
  font-weight: 700;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .recommended-item-address {
    margin-top: 30px;
  }
}
.recommended-category-list {
  display: flex;
  margin-top: 22px;
  gap: 7px;
}
@media screen and (max-width: 768px) {
  .recommended-category-list {
    margin-top: 10px;
  }
}
.recommended-category-item {
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 768px) {
  .recommended-category-item {
    width: 20px;
    height: 20px;
  }
}
.recommended-item-body {
  margin-top: 22px;
  aspect-ratio: 280 / 190;
}
@media screen and (max-width: 768px) {
  .recommended-item-body {
    margin-top: 10px;
  }
}
.recommended-item-body img {
  height: 100%;
  object-fit: cover;
}
.recommended-button {
  max-width: 323px;
  width: 100%;
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .recommended-button {
    max-width: 210px;
    margin: 45px auto 0;
  }
}
.recommended-button a {
  background-color: #fafafa;
  font-size: 21px;
}
.recommended-button a:hover {
  background-color: #1198d5;
  color: #fff;
  transition: 0.2s;
  opacity: 1;
}
.recommended-button a:hover::after {
  border-color: #fff;
  transition: 0.2s;
}
@media screen and (max-width: 768px) {
  .recommended-button a {
    font-size: 16px;
    line-height: normal;
  }
}
.recommended-button a::after {
  border-top: solid 2px #0382cc;
  border-right: solid 2px #0382cc;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .recommended-button a::after {
    width: 10px;
    height: 10px;
  }
}
/* ====================================
  トップページ Use
==================================== */
.ec-useRole {
  padding: 110px 0 180px;
}
.use-notice {
  position:relative;
}
.use-notice a{
  color: #0382cc !important;
}
@media screen and (max-width: 768px) {
  .ec-useRole {
    padding: 70px 0;
  }
}
.use-message {
  text-align: center;
  margin-top: 50px;
  line-height: 1.6;
  color: #000;
  font-weight: 700;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .use-message {
    margin-top: 6px;
    font-size: 16px;
  }
}
.use-inner {
  max-width: 1220px;
  padding: 0 20px;
}
.use-list {
  display: flex;
  gap: 100px;
  margin-top: 75px;
}
.use-list li:not(:last-child){
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .use-list {
    margin-top: 45px;
  }
}
.use-item {
  width: calc(33.33% - 100px * 2 / 3);
  text-align: center;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .use-item {
    width: 100%;
  }
}
.use-number {
  font-size: 60px;
  font-weight: 700;
  color: #0382cc;
}
@media screen and (max-width: 768px) {
  .use-number {
    font-size: 30px;
  }
}
.use-title {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .use-title {
    font-size: 16px;
    margin-top: 16px;
  }
}
.use-image {
  margin: auto auto 0;
  max-width: 300px;
  width: 100%;
}
.use-notice {
  max-width: 300px;
  margin:0 auto;
}
@media screen and (max-width: 768px) {
  .use-image {
    max-width: 250px;
    margin-top: 20px;
  }
  .use-notice {
    max-width: 250px;
  }
}
.use-image img {
  width:100%;
  height: auto;
  display: block;
}
.use-item .use-image {
  margin-top: 30px;
}
.ec-useRole .slick-dots {
  margin-top: 35px;
}
.ec-useRole .slick-dots li {
  width: 10px;
  height: 10px;
  border-radius: 100%;
}
.ec-useRole .slick-dots li button {
  width: 100%;
  height: 100%;
  border-radius: 100%;
}
.ec-useRole .slick-dots li button:before {
  width: 100%;
  border-radius: 100%;
  height: 100%;
  background-color: #fff;
  border: solid 1px #707070;
}
.ec-useRole .slick-dots li button:before {
  color: transparent;
}
.ec-useRole .slick-dots li.slick-active button:before {
  background-color: #989898;
  color: transparent;
}
/* .slick-track{
  width: 1200px !important;
} */
/* ====================================
  トップページ Passes
==================================== */
.usage_btn{
  width: 100% !important;
  margin-left: 0 !important;
}
.usage_btn .btn{
  background-color: #30a7e0 !important;
  border-color: #30a7e0 !important;
}
.ec-ticketRole {
  padding-top:80px;
  padding-bottom:0;
  padding-left:0;
  padding-right:0;
  background: url(../img/top/bg-passes.jpg) no-repeat center center / cover;
}
@media screen and (max-width: 768px) {
  .ec-ticketRole {
    padding-top:80px;
  }
}
.ticket-inner {
  max-width: 1230px;
  width: 100%;
  padding: 0 20px;
}
.ticket-message {
  text-align: center;
  margin-top: 84px;
  line-height: 1.8;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .ticket-message {
    font-size: 16px;
    margin-top: 42px;
  }
}
.ticket-message .link:not([href]) {
  text-decoration: underline;
  color: #fff;
}
.ticket-message span {
  font-size: 22px;
  display: block;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .ticket-message span {
    font-size: 16px;
  }
}
.ticket-list {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .ticket-list {
    margin-top: 40px;
    padding-bottom: 20px;
    flex-direction: column;
    align-items: center;
  }
}
.ticket-item {
  max-width: 400px;
  width: 100%;
  padding: 20px 20px 30px;
  border-radius: 50px;
  box-shadow: 10px 10px 10px rgba(0, 97, 149, 0.08);
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: column;
  margin-bottom:30px;
}
.ticket-item:nth-child(even) {
  margin-left:30px;
}
@media screen and (max-width: 768px) {
  .ticket-item {
    max-width: 360px;
    padding: 25px 25px;
    border-radius: 30px;
    width: 93%;
    margin-bottom:20px;
  }
  .ticket-item:nth-child(even) {
    margin-left:0;
  }
}
@media (min-width: 770px) and (max-width: 870px) {
  .ticket-item:nth-child(even) {
    margin-left:0;
  }
}
.ticket-item-image {
  height: 100px;
}
@media screen and (min-width: 1400px) {
  .ticket-item {
    max-width:510px;
    width: 100%;
    margin-bottom:30px;
    padding:30px 45px 40px 45px;
  }
  .ticket-item-image {
    height: 135px;
    margin-bottom: 20px;
  }
}
.ticket-item.is-recommend .ticket-item-image {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ticket-item.is-recommend .recommend-badge {
  position: relative;
  top: -35px;
  right: -40px;
  width: 40%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .ticket-item-image {
    height: 85px;
  }
  .ticket-item.is-recommend .recommend-badge {
    height: 100px;
    width: auto;
  }
}
.ticket-item-image img {
  height: 100%;
  width: auto;
}
.ticket-item-info {
  margin-bottom: auto;
}
.ticket-item-info hr{
  border: none;
  border-top: 2px dotted #2a92d3;
}
.ticket-item-info span{
  color: #2a92d3;
}
.ticket-item-title {
  font-size: 25px;
  text-align: center;
  font-weight: 700;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .ticket-item-title {
    font-size: 20px;
    margin-top: 15px;
  }
}
@media screen and (min-width: 1400px) {
  .ticket-item-title {
    font-size: 28px;
  }
}
.ticket-item-text {
  font-size: 20px;
  line-height: 1.6;
  /* color: #0382cc; */
  margin-top: 18px;
  font-weight: 100;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ticket-item-text {
    font-size: 16px;
    margin-top: 13px;
  }
}
@media screen and (min-width: 1400px) {
  .ticket-item-text {
    font-size: 22px;
  }
}
.ticket-item-special {
  color: #ea0000;
  width: fit-content;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 700;
  padding: 10px 18px;
  background-color: #fff;
  margin: 5px auto 0;
}
@media screen and (max-width: 768px) {
  .ticket-item-special {
    font-size: 16px;
    padding: 10px 15px;
  }
}
.ticket-price-wrap {
  display: flex;
  /* flex-direction: column;
  margin-top: 35px;
  gap: 28px; */
  margin-top: 17px;
  gap: 0px;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .ticket-price-wrap {
    margin-top: 10px;
    gap: 0px;
    justify-content: space-between;
  }
}
.ticket-price-head {
  position: relative;
}
.ticket-price-head .arrow {
  position: absolute;
  width: 23px;
  height: 24px;
  top: 57%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/top/icon-arrow.svg) no-repeat center center / contain;
}
@media screen and (max-width: 768px) {
  .ticket-price-head .arrow {
    width: 18px;
    height: 19px;
    top: 56%;
  }
}
.ticket-price-type {
  color: #1092d4;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .ticket-price-type {
    font-size: 10px;
  }
}
.ticket-price-number {
  font-size: 24px;
  font-weight: 700;
  color: #0382cc;
}
@media screen and (max-width: 768px) {
  .ticket-price-number {
    font-size: 21px;
  }
}
@media screen and (min-width: 1400px) {
  .ticket-price-number {
    font-size: 32px;
  }
}
.ticket-price-number.is-regular {
  color: #acacac;
  position: relative;
}
@media screen and (max-width: 768px) {
  .ticket-price-number.is-regular {
    font-size: 20px;
  }
}
.ticket-price-number.is-regular::after {
  position: absolute;
  content: "";
  width: 94%;
  height: 2px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #ea0000;
}
.ticket-price-number.is-special {
  margin-top: 40px;
  color: #ea0000;
  font-size: 27px;
}
@media screen and (max-width: 768px) {
  .ticket-price-number.is-special {
    font-size: 23px;
    margin-top: 17px;
  }
}
.ticket-price-number span {
  font-size: 16px;
  font-family: toppan-bunkyu-gothic-pr6n, serif;
}
@media screen and (max-width: 768px) {
  .ticket-price-number span {
    font-size: 10px;
  }
}
.ticket-price-button {
  margin-top: 10px;
}
.ticket-price-button a {
  display: block;
  width: 100%;
  /* padding: 16px 70px 16px 35px; */
  padding: 12px 50px 12px 30px;
  border-radius: 50px;
  background-color: #0092d3;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  letter-spacing: 1.88px;
  transition: 0.2s;
}
.ec-ticketRole .ticket-price-button a {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .ticket-price-button a {
    font-size: 16px;
    padding: 5px 10px 5px 0px;
  }
  .ticket-price .ticket-price-button a {
    font-size: 14px;
    padding: 8px 10px 8px 15px;
  }
}
@media screen and (min-width: 1400px) {
  .ec-ticketRole .ticket-price-button a {
    font-size: 20px;
  }
}
.ticket-price-button a:hover {
  text-decoration: none;
  transition: 0.2s;
}
.ticket-price-button a::after {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(45deg);
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
@media screen and (max-width: 768px) {
  .ticket-price-button a::after {
    width: 10px;
    height: 10px;
    right: 20px;
  }
}
.ticket-price-button.is-oneday.is-ready a {
  pointer-events: none;
  background-color: #b0b0b0;
}
.ticket-price-button:not(.is-oneday) a:hover {
  background-color: #efefef;
  color: #0092d3;
  transition: 0.2s;
  opacity: 1;
}
.ticket-price-button:not(.is-oneday) a:hover::after {
  border-color: #0092d3;
}
.ticket-oneday {
  max-width: 577px;
  width: 100%;
  margin: 50px auto 0;
  /* border-top: 5px dashed #fff; */
  background-color: rgba(0, 146, 211, 0.9);
  padding: 40px 40px 50px;
  border-radius: 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .ticket-oneday {
    margin: 25px auto 0;
    padding: 25px 15px;
    border-radius: 30px;
    max-width: 360px;
  }
}
.ticket-oneday::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 5px;
  top: -50px;
  left: 0;
  border-top: 5px dashed #fff;
}
@media screen and (max-width: 768px) {
  .ticket-oneday::before {
    height: 3px;
    top: -25px;
  }
}
.ticket-oneday-head {
  display: flex;
}
.ticket-oneday img {
  max-width: 173px;
}
@media screen and (max-width: 768px) {
  .ticket-oneday img {
    max-width: 95px;
  }
}
.ticket-oneday-title {
  font-size: 25px;
  color: #fff;
  line-height: 1.6;
  font-weight: 700;
  margin-left: 27px;
}
@media screen and (max-width: 768px) {
  .ticket-oneday-title {
    font-size: 16px;
    margin-left: 15px;
  }
}
.ticket-oneday-text {
  font-size: 30px;
  color: #000;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .ticket-oneday-text {
    font-size: 17px;
    margin-top: 13px;
  }
}
.ticket-oneday .price {
  color: #fff;
}
.ticket-oneday .tax {
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .ticket-oneday .tax {
    font-size: 10px;
    vertical-align: bottom;
  }
}
.oneday-coming-soon {
font-size:52px;
  padding-top:10px;
  color:#fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .oneday-coming-soon {
    font-size:28px;
    padding-top:5px;
  }

}
.ticket-oneday-selector {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin-top: 37px;
}
@media screen and (max-width: 768px) {
  .ticket-oneday-selector {
    margin-top: 20px;
    gap: 12px;
  }
}
.ticket-oneday-selector-wrap {
  width: 100%;
  position: relative;
}
.ticket-oneday-selector-wrap::after {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  top: 50%;
  right: 27px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .ticket-oneday-selector-wrap::after {
    width: 10px;
    height: 10px;
    right: 15px;
  }
}
.ticket-oneday-selector-wrap select {
  width: 100%;
  border: solid 1px #fff;
  background-color: transparent;
  padding: 16px 20px;
  color: #fff;
  appearance: none;
  font-size: 25px;
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  letter-spacing: 1.86px;
}
@media screen and (max-width: 768px) {
  .ticket-oneday-selector-wrap select {
    padding: 10px;
    font-size: 16px;
  }
}
.ticket-price-button.is-oneday {
  max-width: 240px;
  margin: 34px auto 0;
}
@media screen and (max-width: 768px) {
  .ticket-price-button.is-oneday {
    max-width: 132px;
    margin: 19px auto 0;
  }
}
.ticket-price-button.is-oneday a {
  background-color: #fff;
  color: #0092d3;
  padding: 16px 70px 16px 35px;
  font-size: 25px;
}
@media screen and (max-width: 768px) {
  .ticket-price-button.is-oneday a {
    font-size: 16px;
    padding: 12px 20px;
  }
}
.ticket-price-button.is-oneday a::after {
  border-top: solid 2px #0092d3;
  border-right: solid 2px #0092d3;
  width: 13px;
  height: 13px;
  right: 30px;
}
@media screen and (max-width: 768px) {
  .ticket-price-button.is-oneday a::after {
    width: 10px;
    height: 10px;
    right: 18px;
  }
}
.ticket-price-button.is-oneday a:hover {
  background-color: #0092d3;
  color: #fff;
  transition: 0.2s;
  opacity: 1;
}
.ticket-price-button.is-oneday a:hover::after {
  border-color: #fff;
  transition: 0.2s;
}

.top-ticket-ezpass {
  position: relative;
  padding:80px 0 60px 0;
  background: rgba(255,255,255,0.5);
  width:100%;
}
.top-ticket-ezpass .top {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
}
.top-ticket-ezpass .top strong {
  color: #FF3B00;
}
.top-ticket-ezpass .content {
  background: rgba(255,255,255,0.9);
  border-radius: 60px;
  width: 680px;
  margin: 40px auto;
  padding: 50px 80px 30px 80px;
  position: relative;
  font-weight: normal;
}
.top-ticket-ezpass .content .img {
  width: 70%;
  height: auto;
  margin: 0 auto;
  display: block;
}
.top-ticket-ezpass .content .desc {
  margin:40px auto;
  border-top: 2px dotted #2a92d3;
  border-bottom: 2px dotted #2a92d3;
  padding: 30px 0;
  font-size: 32px;
  text-align: center;
  font-weight: bold;
}
.top-ticket-ezpass .content .desc strong {
  color: #FF3B00;
  padding-left:5px;
}
.top-ticket-ezpass .content .action {
  display: flex;
  border-bottom: 2px dotted #2a92d3;
  padding-bottom:40px;
  padding-top: 30px;
  margin-bottom: 30px;
}
.top-ticket-ezpass .content .ec-secTitle {
  line-height: 1.2;
}
.top-ticket-ezpass .content .btn-detail {
  background-color: #0382cc;
  color: #fff;
  border-radius: 40px;
  padding: 14px 45px 14px 35px;
  font-size: 24px;
  margin: 0 auto;
  display: block;
  text-decoration: none;
  position: relative;
  transition: 0.2s;
}
.top-ticket-ezpass .content .btn-detail::after {
    position: absolute;
    content: "";
    width: 13px;
    height: 13px;
    top: 50%;
    right: 30px;
    transform: translateY(-50%) rotate(45deg);
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}
.top-ticket-ezpass .content .btn-detail:hover {
  background-color: #efefef;
  color: #0092d3;
  transition: 0.2s;
  opacity: 1;
}
.top-ticket-ezpass .content .btn-detail:hover::after {
  border-top: solid 2px #0092d3;
  border-right: solid 2px #0092d3;
}
.top-ticket-ezpass .oneday-choose {
  background: none;
  padding-left:0;
  padding-right:0;
  padding-bottom:0;
}
.top-ticket-ezpass .oneday-choose .bv_mainselect .bv_atual {
  background: none;
}
@media screen and (max-width: 768px) {
  .top-ticket-ezpass {
    padding: 40px 0 30px 0;
  }
  .top-ticket-ezpass .top {
    font-size:15px;
  }
  .top-ticket-ezpass .content {
    max-width: 360px;
    padding: 35px 25px 20px 25px;
    border-radius: 30px;
    width: 93%;
    margin: 25px auto;
  }
  .top-ticket-ezpass .content .desc {
    font-size: 16px;
    margin: 20px auto;
    padding: 18px 0;
  }
  .top-ticket-ezpass .content .btn-detail {
    font-size: 14px;
    padding: 8px 35px 8px 15px;
  }
  .top-ticket-ezpass .content .action {
    padding-bottom: 30px;
    padding-top: 20px;
    margin-bottom: 20px;
  }
  .top-ticket-ezpass .content .btn-detail::after {
    width: 10px;
    height: 10px;
    right: 20px;
  }
  .top-ticket-ezpass .oneday-choose {
    padding-left:0;
    padding-right:0;
    padding-bottom:0;
  }
  .top-ticket-ezpass .oneday-choose .btn-group .ec-blockBtn--action {
    font-size: 14px;
    height: 40px;
    line-height: 40px;
    margin-bottom: 15px;
  }
  .top-ticket-ezpass .oneday-choose .select-field-name {
    font-size: 16px;
    padding-bottom: 0;
  }
  .top-ticket-ezpass .oneday-choose .select-field-price {
    font-size: 16px;
  }
  .top-ticket-ezpass .oneday-choose .select-field-price strong {
    font-size:24px;
  }
}
@media screen and (max-width: 390px) {
  .top-ticket-ezpass .top {
    font-size:14px;
  }
}
.top-ticket-upgrade {
  position: relative;
  background: rgba(28,77,144,0.7);
  width:100%;
  padding:80px 0 120px 0;
}
.top-ticket-upgrade .top {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.top-ticket-upgrade .top .img {
  width: 150px;
}
.top-ticket-upgrade .top .text.pc {
  margin-left: 10px;
  font-size: 32px;
}
.top-ticket-upgrade .top .text.pc strong {
  font-size: 56px;
  display: block;
}
.top-ticket-upgrade .top .text.phone {
  font-size: 16px;
  margin-left: 10px;
  display: none;
}
.top-ticket-upgrade .desc.pc {
  font-size: 22px;
  color: #fff;
  text-align: center;
  padding-top: 55px;
  padding-bottom: 30px;
}
.top-ticket-upgrade .desc.phone {
  font-size: 14px;
  color: #fff;
  display: none;
  padding-top: 5px;
  padding-bottom: 10px;
  text-align: left;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.top-ticket-upgrade .desc.phone strong {
  font-size:24px;
  display: block;
  padding-bottom: 30px;
}
.top-ticket-upgrade .action {
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-ticket-upgrade .btn-detail {
  background-color: #fff;
  color: #0382cc;
  border-radius: 40px;
  padding: 12px 45px 12px 35px;
  font-size: 26px;
  margin: 0 auto;
  display: block;
  text-decoration: none;
  position: relative;
  border: 1px solid #0382cc;
  transition: 0.2s;
}
.top-ticket-upgrade .btn-detail::after {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(45deg);
  border-top: solid 2px #0382cc;
  border-right: solid 2px #0382cc;
}
.top-ticket-upgrade .btn-detail:hover {
  background-color: #efefef;
  color: #0092d3;
  transition: 0.2s;
  opacity: 1;
}
.top-ticket-upgrade .content {
  background:rgba(255,255,255,0.9);
  width: 510px;
  margin: 85px auto 15px auto;
  border-radius: 60px;
  padding: 30px 35px;
  position: relative;
}
.top-ticket-upgrade .content-tip {
  margin:0 auto;
  padding-bottom:85px;
  width: 510px;
  color:#fff;
  text-align: center;
  font-size: 16px;
}
.top-ticket-upgrade .content .head {
  font-size: 28px;
  text-align: center;
  font-weight: bold;
}
.top-ticket-upgrade .content .item-list {
  margin:30px auto 15px auto;
  border-top: 2px dotted #2a92d3;
  border-bottom: 2px dotted #2a92d3;
  padding: 30px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 16px;
  /*color: #0092D3;*/
}
.top-ticket-upgrade .content .item-title {
  font-size:18px;
  padding-bottom:8px;
  width: 100%;
}
.top-ticket-upgrade .content .item-select {
  width: 100%;
  background: #fff;
  position: relative;
  height:46px;
}
.top-ticket-upgrade .content .item-select:after {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #666;
  position: absolute;
  right: 15px;
  top: 20px;
  content:' ';
}
.top-ticket-upgrade .content .item-select .select {
  width: 100%;
  border: 0;
  height: 46px;
  padding: 10px 15px;
  outline: none;
  font-size: 18px;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
}
.top-ticket-upgrade .content .item-arrow {
  margin: 15px auto;
}
.top-ticket-upgrade .content .item-list .item {
  display: flex;
  align-items: center;
  padding-right: 20px;
}
.top-ticket-upgrade .content .item + .item {
  margin-top:30px;
}
.top-ticket-upgrade .content .item .en {
  font-size: 32px;
}
.top-ticket-upgrade .content .item strong {
  font-size:34px;
}
.top-ticket-upgrade .content .item-list .item > div {
  display: flex;
  align-items: center;
  position: relative;
}
.ticket-upgrade-num {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 20px;
}
.ticket-upgrade-num > div {
  display: flex;
  align-items: center;
  position: relative;
}
.ticket-upgrade-num .btn {
  width: 32px;
  height: 32px;
  background: #0092D3;
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  line-height: 28px;
  font-weight: bold;
  padding: 0;
  text-align: center;
}
.ticket-upgrade-num .num-input {
  width: 50px;
  height: 50px;
  border: 1px solid #fff;
  border-radius: 4px;
  text-align: center;
  font-size: 28px;
  margin:0 10px;
}
.top-ticket-upgrade .content .total {
  font-size: 28px;
  color: #0092D3;
  text-align: right;
  padding-right:20px;
  margin-bottom: 5px;
}
.top-ticket-upgrade .content .total .en {
  font-size: 44px;
  padding-left: 10px;
}
.top-ticket-upgrade .content .link {
  display: flex;
  justify-content: center;
}
.top-ticket-upgrade .content .link .btn-buy {
  display: block;
  padding: 12px 50px 12px 30px;
  border-radius: 50px;
  background-color: #0092d3;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  position: relative;
  letter-spacing: 1px;
  transition: 0.2s;
  text-decoration: none;
  border: 1px solid #0092d3;
}
.top-ticket-upgrade .content .link .btn-buy::after {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(45deg);
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.top-ticket-upgrade .content .link .btn-buy:hover {
  background-color: #efefef;
  color: #0092d3;
  transition: 0.2s;
  opacity: 1;
}
.top-ticket-upgrade .content .link .btn-buy:hover::after {
  border-top: solid 2px #0092d3;
  border-right: solid 2px #0092d3;
}
.top-ticket-upgrade .example-head {
  position: relative;
  height: 40px;
  max-width: 1060px;
  margin: 0 auto;
  width:93%;
}
.top-ticket-upgrade .example-head span {
  line-height: 40px;
  color: #fff;
  font-size: 28px;
}
.top-ticket-upgrade .example-head::after {
  position: absolute;
  content:'';
  right:0;
  left:100px;
  top:20px;
  border-bottom:2px solid #fff;
}
.top-ticket-upgrade .example-content {
  display: flex;
  align-items: center;
  margin: 30px auto 0  auto;
  justify-content: space-around;
  width: 93%;
  max-width: 1060px;
}
.top-ticket-upgrade .example-content .left {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex:1;
}
.top-ticket-upgrade .example-content .left .arrow {
  margin:30px 10px 0 20px;
  flex: 0 0 auto;
  border:0;
}
.top-ticket-upgrade .example-content .item p {
  color:#fff;
  text-align: center;
  font-size:18px;
  margin-bottom:10px;
}
.top-ticket-upgrade .example-content .item > div {
  background: #fff;
  border-radius:38px;
  padding:25px 25px 17px 25px;
  width:220px;
  margin: 0 auto;
}
.top-ticket-upgrade .example-content .item .img {
  width:auto;
  height:80px;
  display: block;
}
.top-ticket-upgrade .example-content .item .en {
font-size:32px;
  margin-top:20px;
  text-align: center;
  color: #0092D3;
}
.top-ticket-upgrade .example-content .right {
  color: #fff;
  font-size:28px;
  margin-left: 20px;
  padding-top: 30px;
}
.top-ticket-upgrade .example-content .right .en {
  font-size:48px;
  padding: 0 5px;
}
.top-ticket-upgrade .example-content .right strong {
  padding: 0 5px;
}
@media screen and (max-width: 1400px) {
  .top-ticket-upgrade .top .text.pc {
    font-size:28px;
  }
  .top-ticket-upgrade .top .text.pc strong {
    font-size:34px;
  }
  .top-ticket-upgrade .example-content {
    display: block;
    max-width: 520px;
  }
  .top-ticket-upgrade .example-content .right {
    text-align: right;
    padding-top: 30px;
  }
  .top-ticket-upgrade .example-head {
    max-width:520px;
  }
}
@media screen and (max-width: 768px) {
  .top-ticket-upgrade {
    padding:30px 0;
  }
  .top-ticket-upgrade .top .img {
    width: 75px;
  }
  .top-ticket-upgrade .top .text.pc,
  .top-ticket-upgrade .desc.pc {
    display: none;
  }
  .top-ticket-upgrade .top .text.phone {
    display: block;
  }
  .top-ticket-upgrade .desc.phone {
    display: flex;
  }
  .top-ticket-upgrade .btn-detail {
    font-size: 14px;
    padding: 8px 35px 8px 15px;
  }
  .top-ticket-upgrade .btn-detail::after {
    width: 10px;
    height: 10px;
    right: 20px;
  }
  .top-ticket-upgrade .content {
    max-width: 360px;
    padding: 25px 25px;
    border-radius: 30px;
    width: 93%;
    margin: 25px auto 10px auto;
  }
  .top-ticket-upgrade .content-tip {
    font-size:13px;
    padding-bottom:25px;
    max-width: 360px;
    width: 93%;
  }
  .top-ticket-upgrade .content .item-title {
    font-size: 16px;
  }
  .top-ticket-upgrade .content .item-select {
    height: 42px;
  }
  .top-ticket-upgrade .content .item-select .select {
    font-size: 16px;
    height: 42px;
    padding: 10px 15px;
  }
  .top-ticket-upgrade .content .item-select:after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #666;
    right: 15px;
    top: 18px;
  }
  .top-ticket-upgrade .content .item-list {
    font-size:12px;
    padding: 15px 0;
    margin-top:15px;
  }
  .top-ticket-upgrade .content .item-list .item {
    padding-right:5px;
  }
  .top-ticket-upgrade .content .item .en {
    font-size: 22px;
  }
  .top-ticket-upgrade .content .item strong {
    font-size: 20px;
  }
  .ticket-upgrade-num {
    margin-left: 5px;
  }
  .ticket-upgrade-num .btn {
    width: 24px;
    height: 24px;
    font-size: 18px;
    line-height: 18px;
  }
  .ticket-upgrade-num .num-input {
    width: 30px;
    height: 32px;
    font-size: 18px;
    margin: 0 5px;
  }
  .top-ticket-upgrade .content .total {
    font-size:18px;
    padding-right: 5px;
  }
  .top-ticket-upgrade .content .total .en {
    font-size: 28px;
  }
  .top-ticket-upgrade .content .link .btn-buy {
    font-size: 14px;
    padding: 8px 35px 8px 15px;
  }
  .top-ticket-upgrade .content .link .btn-buy:after {
    width: 10px;
    height: 10px;
    right: 20px;
  }
  .top-ticket-upgrade .content .item + .item {
    margin-top:15px;
  }
  .top-ticket-upgrade .content .head {
    font-size:18px;
  }
  .top-ticket-upgrade .example-head {
    max-width:360px;
  }
  .top-ticket-upgrade .example-head span {
    font-size:18px;
  }
  .top-ticket-upgrade .example-head::after {
    left:70px;
  }
  .top-ticket-upgrade .example-content {
    display: block;
    margin-top:10px;
  }
  .top-ticket-upgrade .example-content .left {
    max-width:360px;
    width: 100%;
    margin: 0 auto;
  }
  .top-ticket-upgrade .example-content .left .arrow {
    margin: 30px 0px 0 10px;
  }
  .top-ticket-upgrade .example-content .left .arrow img {
    width:25px;
  }
  .top-ticket-upgrade .example-content .item p {
    font-size:12px;
    white-space: nowrap;
  }
  .top-ticket-upgrade .example-content .item > div {
    width: 135px;
    border-radius: 24px;
    padding: 15px 15px 5px 15px;
  }
  .top-ticket-upgrade .example-content .item .img {
    height:50px;
  }
  .top-ticket-upgrade .example-content .item .en {
    font-size:22px;
    margin-top: 10px;
  }
  .top-ticket-upgrade .example-content .right {
    max-width: 360px;
    width: 93%;
    margin: 0 auto;
    font-size: 18px;
    text-align: right;
    padding-top:15px;
  }
  .top-ticket-upgrade .example-content .right .en {
    font-size:28px;
  }
}

/* ====================================
  トップページ Merit
==================================== */
.ec-meritRole {
  /* margin-top: 10px; */
  padding: 140px 0 265px;
  /* background-color: rgba(86, 171, 79, 0.48); */
  background: url(../img/top/bg-merit.jpg) no-repeat center center / cover;
}
@media screen and (max-width: 768px) {
  .ec-meritRole {
    padding: 60px 0 75px;
  }
}
.merit-list {
  display: flex;
  gap: 30px;
  max-width: 1250px;
  padding: 0 20px;
  margin: 74px auto 0;
}
@media screen and (max-width: 1140px) {
  .merit-list {
    gap: 25px;
  }
}
@media screen and (max-width: 768px) {
  .merit-list {
    margin-top: 50px;
    background-color: transparent;
  }
}
.merit-item {
  width: calc(33.33% - 30px * 2 / 3);
  border-radius: 20px;
  background-color: rgba(255, 255, 255, 0.89);
  padding: 37px 35px 35px;
  box-shadow: 10px 10px 10px rgba(72, 72, 72, 0.47);
}
@media screen and (max-width: 1000px) {
  .merit-item {
    width: calc(50% - 25px / 2);
    padding: 25px 20px 25px;
  }
}
@media screen and (max-width: 768px) {
  .merit-item:not(:first-child) {
    margin-left: 0px;
  }
  .merit-item {
    width: 53vw;
    padding: 20px 15px 15px;
    border-radius: 10px;
    margin-right: 25px;
  }
}
.merit-item-head {
  font-size: 30px;
  color: #b4b4b4;
  letter-spacing: 0.6px;
  font-weight: 700;
}
@media screen and (max-width: 1000px) {
  .merit-item-head {
    font-size: 28px;
  }
}
@media screen and (max-width: 768px) {
  .merit-item-head {
    font-size: 15px;
  }
}
.merit-item-head span {
  font-size: 53px;
  font-weight: 700;
  color: #0382cc;
  margin-left: 10px;
}
@media screen and (max-width: 1000px) {
  .merit-item-head span {
    font-size: 43px;
  }
}
@media screen and (max-width: 768px) {
  .merit-item-head span {
    font-size: 26px;
    margin-left: 5px;
  }
}
.merit-item-title {
  font-size: 28px;
  line-height: 1.4;
  color: #0382cc;
  font-weight: 700;
  margin-top: 30px;
}
@media screen and (max-width: 1000px) {
  .merit-item-title {
    font-size: 20px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .merit-item-title {
    font-size: 15px;
    margin-top: 14px;
  }
}
.merit-item-text {
  margin-top: 40px;
  font-size: 16px;
  color: #0382cc;
  line-height: 1.5;
}
@media screen and (max-width: 1000px) {
  .merit-item-text {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .merit-item-text {
    font-size: 10px;
    margin-top: 19px;
  }
}
.merit-item-image {
  margin: 18px 0 0 0;
  aspect-ratio: 315 / 215;
}
@media screen and (max-width: 768px) {
  .merit-item-image {
    margin: 10px 0 0 0;
  }
}
.merit-item-image img {
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
}
.ec-meritRole .slick-slider {
  background-color: transparent;
}
.ec-meritRole .slick-list {
  padding: 0 0 20px 20px;
}
.ec-meritRole .slick-dots {
  margin-top: 35px;
}
.ec-meritRole .slick-dots li {
  width: 10px;
  height: 10px;
  border-radius: 100%;
}
.ec-meritRole .slick-dots li button {
  width: 100%;
  height: 100%;
  border-radius: 100%;
}
.ec-meritRole .slick-dots li button:before {
  width: 100%;
  border-radius: 100%;
  height: 100%;
  background-color: #fff;
  border: solid 1px #707070;
}
.ec-meritRole .slick-dots li button:before {
  color: transparent;
}
.ec-meritRole .slick-dots li.slick-active button:before {
  background-color: white;
  color: transparent;
}
/* ====================================
  トップページ Voice
==================================== */
.ec-voiceRole {
  padding: 150px 0 270px;
  /* background-color: rgba(70, 157, 226, 0.2); */
  background: url(../img/top/bg-voice.jpg) no-repeat center center / cover;
}
@media screen and (max-width: 768px) {
  .ec-voiceRole {
    padding: 70px 0 120px;
  }
}
.voice-wrap::-webkit-scrollbar {
  width: 100%;
  height: 5px;
}
.voice-wrap::-webkit-scrollbar-track {
  background: #e3e3e3;
}
.voice-wrap::-webkit-scrollbar-thumb {
  background: #333;
}
.voice-list {
  display: flex;
  margin-top: 93px;
  gap: 30px;
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .voice-list {
    margin-top: 35px;
    gap: 15px;
  }
}
.voice-item {
  width: 350px;
  min-width: 350px;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, 0.89);
  padding: 40px 30px;
  box-shadow: 10px 10px 10px rgba(72, 72, 72, 0.47);
}
@media screen and (max-width: 768px) {
  .voice-item {
    min-width: 190px;
    width: 190px;
    padding: 20px 15px;
    border-radius: 10px;
  }
  .voice-item:first-child {
    margin-left: 15px;
  }
}
.voice-item-head {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .voice-item-head {
    flex-direction: column;
    align-items: start;
  }
}
.voice-item-icon {
  width: 74px;
}
@media screen and (max-width: 768px) {
  .voice-item-icon {
    width: 37px;
  }
}
.voice-item-id {
  font-size: 20px;
  font-weight: 700;
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .voice-item-id {
    font-size: 13px;
    margin-left: 0;
    margin-top: 6px;
  }
}
.voice-item-body {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .voice-item-body {
    margin-top: 10px;
  }
}
.voice-item-image {
  aspect-ratio: 287 / 237;
  margin: 0;
}
.voice-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.voice-item-text {
  margin-top: 20px;
  font-size: 16px;
  color: #767676;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .voice-item-text {
    margin-top: 10px;
    font-size: 10px;
  }
}

/* ====================================
  トップページ Field
==================================== */
.field-icon {
  width: 57px;
}
.ec-fieldRole {
  padding: 140px 0 164px;
  background-color: #f8f8f8;
  width:100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .field-icon {
    width: 48px;
  }
  .ec-fieldRole {
    padding: 60px 0 70px;
  }
}
.ec-fieldRole .field-inner {
  max-width: 700px;
  margin: 30px auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-inner {
    padding: 0;
    margin: 30px 5%;
  }
}
@media screen and (min-width: 992px) {
  .ec-fieldRole .field-inner {
    max-width: 800px;
  }
}
.ec-fieldRole .field-list {
  margin-top: 82px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-list {
    gap: 12px;
    margin-top: 35px;
    flex-wrap: wrap;
  }
}
.ec-fieldRole .field-item {
  display: flex;
  align-items: center;
}
.ec-fieldRole .field-icon {
  width: 37px;
  height: 37px;
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-icon {
    width: 30px;
    height: 30px;
  }
}
.ec-fieldRole .field-icon img {
  height: 100%;
}
.ec-fieldRole .field-label {
  font-size: 20px;
  font-weight: 700;
  margin-left: 12px;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-label {
    font-size: 16px;
    margin-left: 6px;
    letter-spacing: 1.2px;
  }
}
.ec-fieldRole .field-label.is-snow {
  color: #b5b5b6;
}
.ec-fieldRole .field-label.is-bike {
  color: #2bae67;
}
.ec-fieldRole .field-label.is-wave {
  color: #206eb8;
}
.ec-fieldRole .field-label.is-forest {
  color: #f39800;
}
.ec-fieldRole .field-label.is-high-grade-rental {
  color: #b33115;
}
.ec-fieldRole .field-label.is-rental {
  color: #f81501;
}
.ec-fieldRole .field-map {
  width: 100%;
  padding-bottom: 64%;
  position: relative;
  margin-top: 25px;
}
.map-container{
  max-width: 1110px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-map {
    margin-top: 12px;
  }
}
.ec-fieldRole .field-map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.ec-fieldRole .field-button {
  max-width: 323px;
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-button {
    width: 90%;
    /* max-width: 200px; */
    margin: 35px auto 0;
  }
}
.ec-fieldRole .field-button a {
  background-color: #0382cc;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 1.5px;
  white-space: nowrap;
}
.ec-fieldRole .field-button a:hover {
  background-color: #efefef;
  color: #0382cc;
  opacity: 1;
  transition: 0.2s;
}
.ec-fieldRole .field-button a:hover::after {
  border-color: #0382cc;
  transition: 0.2s;
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-button a {
    font-size: 16px;
    /* text-align: left; */
    line-height: normal;
  }
}
.ec-fieldRole .field-button a::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  top: 50%;
  transform: translateY(-55%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .ec-fieldRole .field-button a::after {
    width: 10px;
    height: 10px;
  }
}

/* ====================================
  トップページ Banner
==================================== */
.banner-bg{
  background: linear-gradient(#FFF5F5, #F0FBFF);
  padding: 100px 0px;
}
.banner-base{
  margin-top:20px;
  margin-bottom: 20px;
}
.ec-bannerRole {
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .ec-bannerRole {
    padding: 25px 0;
  }
}
.banner-inner {
  max-width: 1240px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .banner-inner {
    padding: 0 27px;
  }
}
.banner-list {
  display: flex;
  flex-wrap: wrap;
}
.banner-list .banner-item a {
  display: block;
}
@media screen and (max-width: 768px) {
  .banner-list {
    flex-wrap: wrap;
  }
}
.banner-list.is-top .banner-item {
  width: calc(50% - 20px / 2);
}
.banner-list.is-top .banner-item:nth-child(even) {
  margin-left:20px;
}
@media screen and (max-width: 768px) {
  .banner-list.is-top .banner-item {
    width: 100%;
  }
  .banner-list.is-top .banner-item:nth-child(even) {
    margin-left:0;
    margin-top:20px;
  }
}
.banner-list.is-bottom {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .banner-list.is-bottom {
    margin-top: 0;
  }
}
.banner-list.is-bottom .banner-item {
  width: calc(25% - 20px * 3 / 4);
  /*width: calc(33.3% - 20px * 2 / 3);*/
  aspect-ratio: 285 / 150;
  margin-left: 20px;
}
.banner-list.is-bottom .banner-item:first-child {
  margin-left:0;
}
@media screen and (max-width: 768px) {
  .banner-list.is-bottom .banner-item {
    width: calc(50% - 20px / 2);
    margin-top:20px;
  }
  .banner-list.is-bottom .banner-item:nth-child(odd) {
    margin-left: 0;
  }
}
.banner-list.is-bottom .banner-item a {
  display: block;
  height: 100%;
}
.banner-list.is-bottom .banner-item a img {
  height: 100%;
  object-fit: cover;
}
/* ====================================
  Q&A
==================================== */
.QA-area{
  display: flex;
  justify-self: left;
  font-family: '游ゴシック体';
  flex-direction: column;
}
.QA-area .is-black,
.QA-area .is-blue{
margin:auto 0;
}
.black-dot{
width: 12px;
  height: 12px;
  background: black;
  border-radius: 50%;
  margin: 2% 50%;
}
.question-box{
width: 500px;
border: 1px solid;
border-radius: 90px;
padding: 25px 40px;
box-shadow: 10px 5px 5px #b2d4e6;
display: flex;
align-items: center;
  margin-bottom:30px;
}
@media screen and (max-width: 768px) {
.question-box{
  width: 85vw;
  padding: 10px 20px;
  box-shadow: 6px 5px 5px #b2d4e6;
  margin-bottom:20px;
}
}
@media screen and (min-width: 992px) {
.question-box{
  width: 680px;
}
}
.question-box h3{
font-size: 25px;
}
.question-box p{
font-size: 16px;
margin-left: 15px;
text-align: left;
word-break: break-all;
word-wrap: break-word;
}
.answer-box {
width: 70vw;
display: flex;
border: 1px solid #b2d4e6;
padding: 15px 30px;
box-shadow: 10px 5px 5px #b2d4e6;
  margin-bottom:30px;
}
.answer-box h3{
font-size: 25px;
line-height: 1.2;
margin-top:revert;
}
.answer-box p{
text-align: left;
font-size: 16px;
color: #2682cc;
line-height: 1.8;
margin-left: 15px;
word-break: break-all;
word-wrap: break-word;
}
.issue {
max-width: 500px !important;;
}
.right-algin {
margin: 0 0 0 auto;
}
@media screen and (max-width: 768px) {
.answer-box {
  width:85vw;
  box-shadow: 6px 5px 5px #b2d4e6;
  margin-bottom:20px;
}
}
@media screen and (min-width: 992px) {
.question-box p {
  font-size: 22px;
}
.answer-box {
  width: 80%;
  padding: 40px;
}
.answer-box p {
  font-size: 22px;
}
.QA-area .is-black, .QA-area .is-blue {
  font-size: 32px;
}
}

/* ====================================
トップページ News
==================================== */
.ec-newsRole {
  padding: 130px 0 160px;
  background-color: #f8f8f8;
}
@media screen and (max-width: 768px) {
  .ec-newsRole {
    padding: 65px 0;
  }
}
.news-inner {
  max-width: 1220px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .news-inner {
    padding: 0 30px;
  }
}
.ec-newsRole .ec-newsRole__news {
  margin-top: 80px;
  border-top: solid 1px #0382cc;
}
@media screen and (max-width: 768px) {
  .ec-newsRole .ec-newsRole__news {
    margin-top: 35px;
  }
}
.ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem {
  border-bottom: solid 1px #0382cc;
}
.ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem .ec-newsRole__newsHeading .ec-newsRole__newsDate {
  padding: 0;
  color: #0382cc;
  font-weight: 700;
  font-size: 18px;
  margin-right: 78px;
  letter-spacing: 1.35px;
}
@media screen and (max-width: 768px) {
  .ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem .ec-newsRole__newsHeading .ec-newsRole__newsDate {
    font-size: 16px;
    margin-right: 0;
  }
}
.ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem .ec-newsRole__newsHeading .ec-newsRole__newsTitle {
  color: #0382cc;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.35px;
}
@media screen and (max-width: 768px) {
  .ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem .ec-newsRole__newsHeading .ec-newsRole__newsTitle {
    font-size: 16px;
    margin-bottom: 0;
  }
}
.ec-newsRole
  .ec-newsRole__news
  .ec-newsRole__newsItem
  .ec-newsRole__newsHeading
  .ec-newsRole__newsClose
  .ec-newsRole__newsCloseBtn {
  background-color: transparent;
}
.ec-newsRole
  .ec-newsRole__news
  .ec-newsRole__newsItem
  .ec-newsRole__newsHeading
  .ec-newsRole__newsClose
  .fa-angle-down:before {
  width: 20px;
  height: 20px;
  border-top: 2px solid #0382cc;
  border-left: 2px solid #0382cc;
}
@media screen and (max-width: 768px) {
  .ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem .ec-newsRole__newsHeading .ec-newsRole__newsClose {
    top: 100%;
    margin-top: -15px;
  }
  .ec-newsRole
    .ec-newsRole__news
    .ec-newsRole__newsItem
    .ec-newsRole__newsHeading
    .ec-newsRole__newsClose
    .fa-angle-down:before {
    width: 15px;
    height: 15px;
  }
}
.ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem .ec-newsRole__newsDescription {
  font-size: 18px;
  color: #0382cc;
  font-weight: 700;
  letter-spacing: 1.35px;
}
@media screen and (max-width: 768px) {
  .ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem .ec-newsRole__newsDescription {
    font-size: 16px;
    margin-top: 15px;
  }
}
.news-button {
  margin: 82px auto 0;
  max-width: 323px;
}
@media screen and (max-width: 768px) {
  .news-button {
    margin: 30px auto 0;
    max-width: 180px;
  }
}
.news-button a#news_readmore {
  background-color: #0382cc;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-top: 0;
  border-radius: 50px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .news-button a#news_readmore {
    font-size: 16px;
    min-width: 0;
  }
}
.news-button a#news_readmore::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  top: 40%;
  transform: translateY(-50%) rotate(135deg);
}
.news-button a#news_readmore:hover {
  background-color: #efefef;
  color: #0382cc;
  text-decoration: none;
  opacity: 1;
  transition: 0.2s;
}
.news-button a#news_readmore:hover::after {
  border-color: #0382cc;
  transition: 0.2s;
}
.ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem {
  padding: 12px 0;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__news {
    max-width: 100%;
    border-top: solid 1px #0382cc;
  }
  .ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem {
    padding: 18px 0;
  }
  .ec-newsRole .ec-newsRole__newsColumn {
    min-width: 0;
    flex-grow: 1;
  }
}
/* ====================================
attention
==================================== */
.ec-attentionRole {
  padding: 130px 0 160px;
}
.attention-inner {
  max-width: 700px;
  padding: 0 20px;
}
.attention-content {
  font-size: 16px;
  padding-top: 60px;
  line-height: 1.7;
}
.attention-content .desc {
  font-weight: bold;
  padding-bottom: 20px;
}
.attention-content .point {
  font-weight: bold;
  position: relative;
  padding-left:20px;
}
.attention-content .point::before {
  position: absolute;
  content:' ';
  left:0;
  top: 5px;
  width: 14px;
  height: 14px;
  background: #222;
  border-radius:10px;
}
@media only screen and (max-width: 768px) {
  .ec-attentionRole {
    padding: 65px 0;
  }
  .attention-content {
    font-size: 13px;
    padding-top: 50px;
  }
}
.index-fixed-ad {
  position: fixed;
  bottom:0;
  left:0;
  right:0;
  background: #fff;
  height:85px;
  z-index: 999;
}
.index-fixed-ad img {
  width:auto;
  height:85px;
  margin:0 auto;
  display: block;
}
.product-right-ad-wrap {
  margin-top: 10px;
  border-top: 15px solid #eaeaea;
  position: relative;
}
.product-right-ad-wrap img {
  display: block;
  width:100%!important;
  height:auto;
}
@media only screen and (max-width: 768px) {
  .index-fixed-ad {
    height:auto;
  }
  .index-fixed-ad img {
    width:100%;
    height:auto;
  }
}
.ec-blockTopBtn.pagetop {
  right: 10px!important;
  bottom: 110px!important;
}
@media only screen and (max-width: 768px) {
  .ec-blockTopBtn.pagetop {
    right: 10px!important;
    bottom: 60px!important;
  }
}
/* ====================================
  フッター
==================================== */
.ec-footerRole {
  padding: 90px 0;
  font-family: toppan-bunkyu-gothic-pr6n, serif;
}
@media screen and (max-width: 1190px) {
  .ec-footerRole {
    padding: 45px 0;
  }
  .ec-layoutRole__footer {
    padding: 0;
    margin-top: 0;
  }
}
.footer-inner {
  max-width: 1235px;
  padding: 0 10px;
}
@media screen and (max-width: 1190px) {
  .footer-inner {
    padding: 0 30px;
  }
}
.footer-wrap {
  display: flex;
}
@media screen and (max-width: 1190px) {
  .footer-wrap {
    flex-direction: column;
  }
}
.footer-logo {
  width: 180px;
}
@media screen and (max-width: 1190px) {
  .footer-logo {
    width: 120px;
    order: 1;
  }
}
.footer-left {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1190px) {
  .footer-left {
    display: contents;
  }
}
.footer-sns {
  margin-top: auto;
}
@media screen and (max-width: 1190px) {
  .footer-sns {
    order: 4;
    margin-top: 30px;
  }
  .ec-navlistRole__SNS__box {
    text-align: left;
  }
}
.footer-center {
  margin-left: 100px;
  display: flex;
}
@media screen and (max-width: 1150px) {
  .footer-center {
    margin-left: 60px;
  }
}
@media screen and (max-width: 1190px) {
  .footer-center {
    order: 2;
    margin-left: 0;
    /* flex-direction: column; */
    margin-top: 35px;
  }
}
@media screen and (max-width: 768px) {
  .footer-center {
    flex-direction: column;
  }
}
.footer-right {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
@media screen and (max-width: 1190px) {
  .footer-right {
    display: contents;
    /* order: 4; */
    margin-left: 0;
    margin-top: 25px;
  }
}
.footer-mailmag-button {
  max-width: 300px;
}
@media screen and (max-width: 1190px) {
  .footer-mailmag-button {
    order: 3;
    max-width: 250px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .footer-mailmag-button {
    margin: 30px auto 0;
  }
}
.footer-mailmag-button a {
  background-color: #0382cc;
  color: #fff;
  font-size: 16px;
  /* letter-spacing: 1px; */
  border-radius: 50px;
  width: 100%;
  padding: 15px 22px 14px 60px;
}
.footer-mailmag-button a::after {
  position: absolute;
  content: "";
  width: 30px;
  height: 36px;
  top: 50%;
  left: 28px;
  transform: translateY(-50%);
  background: url(../img/common/icon-mailmag.png) no-repeat center center / contain;
}
.footer-copyright {
  margin-top: auto;
  font-size: 16px;
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  letter-spacing: 0.82px;
  color: #000000;
  text-align: right;
  margin-top: 40px;
}
@media screen and (max-width: 1190px) {
  .footer-copyright {
    order: 5;
    text-align: left;
    margin-top: 30px;
  }
}
.footer-list.is-right {
  margin-left: 23px;
}
@media screen and (max-width: 768px) {
  .footer-list.is-right {
    margin-left: 0;
    margin-top: 40px;
  }
}
.footer-item:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 1190px) {
  .footer-item:not(:first-child) {
    margin-top: 15px;
  }
}
.footer-item a {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1.2px;
}
@media screen and (max-width: 1190px) {
  .footer-item a {
    font-size: 16px;
  }
}
.footer-item a:hover {
  text-decoration: none;
}
.footer-list.is-left{
  width: 290px;
}
.footer-list.is-left .footer-item a {
  color: #000;
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
}
.footer-list.is-left .footer-item a span {
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  color: #0382cc;
  font-weight: 700;
  margin-left: 1em;
}
.footer-list.is-right .footer-item a {
  color: #0382cc;
}

/* ====================================
  施設一覧
==================================== */
/* デフォルトレイアウト変更 */
.special-field-content {
  width: 90%;
  max-width: 800px;
  margin: 20px auto;
  padding: 20px 30px;
  border-radius: 20px;
  border: solid 1px #eeeeed;
  background: #eeeeed;
}
.special-field-content img{
  width: 50px;
}
.special-field-head{
  display: flex;
}
.special-field-logo {
  width: 50px;
  position: relative;
  top: -28px;
  left: 10px;
}
.special-field-head .title {
  width: 100%;
  text-align: center;
  color: black;
  font-size: 18px;
  font-weight: bold;
  margin-left: 10px;
}
.special-field-head .title.only-pc {
  display: block;
}
.special-field-head .title.only-phone {
  display: none;
}
@media screen and (max-width: 767px) {
  .special-field-content {
    padding: 20px 10px 15px 10px;
  }
  .special-field-logo {
    left: 0;
  }
  .special-field-head .title.only-pc {
    display: none;
  }
  .special-field-head .title.only-phone {
    display:block;
  }
}
.special-field-head .title span{
  color: #0382cc;
}
.special-field-list {
  margin: 10px 20px;
}
.special-field-list .item {
  display: flex;
  margin-bottom: 5px;
}
.special-field-list .item img{
  width: 30px;
  height: 30px;
}
.special-field-list .item p {
  font-size: 16px;
  color: black;
  line-height: 1.6;
  font-weight: bold;
  margin-left: 10px;
}
.special-field-list .item p span{
  font-size: 14px;
    color: grey;
    font-weight: 100;
}
body#page_fields,
body#page_fields_detail {
  background-color: #fff !important;
  /* color: #0382cc; */
  font-family: '游ゴシック体', serif;
}
.page_fields_detail_is_black {
  color: #000;
}
.field-detail-head.closed {
  position: relative;
}
.field-detail-head.closed:before {
  content: ' ';
  position: absolute;
  left: 50%;
  top: 50%;
  height: 90px;
  width: 260px;
  margin-top: -45px;
  margin-left: -130px;
  background-image: url("../img/top/closed.png");
  background-repeat: no-repeat;
  z-index: 2;
  background-size: contain;
  background-position: center;
}
.field-detail-intuct{
  display: flex;
  justify-content: space-between;
}
.field-detail-intuct div{
  margin-top:12px;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}
#page_fields .ec-layoutRole,
#page_fields_detail .ec-layoutRole {
  background-color: #fff;
}
#page_fields a:hover,
#page_fields_detail a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#page_fields a:focus,
#page_fields_detail a:focus {
  text-decoration: none;
}
#page_fields .ec-layoutRole .ec-layoutRole__contents,
#page_fields_detail .ec-layoutRole .ec-layoutRole__contents {
  padding-top: 45px;
}
#page_fields_detail .ec-layoutRole .ec-layoutRole__contents {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  #page_fields.other_page .ec-layoutRole__main,
  #page_fields_detail.other_page .ec-layoutRole__main {
    padding: 120px 0;
    background-color: #fff;
  }
}

.field-heading {
  font-weight: 700;
  font-size: 53px;
  letter-spacing: 1px;
  text-align: center;
}
.field-heading span {
  display: block;
  font-size: 28px;
  margin-top: 14px;
  letter-spacing: 2.1px;
}

.field-inner {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}

.field-category-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 80px;
}
.field-category-list .field-icon {
  margin-right:20px;
}
.field-category-list .field-icon a {
  display: block;
}
.field-category-list .field-icon a.gtm-cate-snow-btn,
.field-category-list .field-icon a.gtm-cate-wave-btn,
.field-category-list .field-icon a.gtm-cate-paddle-btn,
.field-category-list .field-icon a.gtm-cate-bike-btn {
  display: none!important;
}
.field-category-list .field-icon:last-child {
  margin-right:0!important;
}
.field-category-item {
  width: calc(25% - 15px);
}
.field-category-item a {
  -webkit-transition: 0.2s;
  display: block;
  width: 100%;
  padding: 16px 0;
  border-radius: 50px;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 1.5px;
  text-align: center;
  transition: 0.2s;
}
#page_fields .field-category-item a:hover {
  opacity: 1;
}
.field-category-item.is-snow.is-select a {
  background-color: #575757;
  color: #fff;
}
.field-category-item.is-snow a {
  border: solid 2px #575757;
  color: #6f6f6f;
}
.field-category-item.is-snow a:hover {
  background-color: #575757;
  color: #fff;
  transition: all 0.3s;
}
.field-category-item.is-bike.is-select a {
  background-color: #ff9a20;
  color: #fff;
}
.field-category-item.is-bike a {
  border: solid 2px #ff9a20;
  color: #ff9a20;
}
.field-category-item.is-bike a:hover {
  background-color: #ff9a20;
  color: #fff;
  transition: all 0.3s;
}
.field-category-item.is-wave.is-select a {
  background-color: #206eb8;
  color: #fff;
}
.field-category-item.is-wave a {
  border: solid 2px #206eb8;
  color: #206eb8;
}
.field-category-item.is-wave a:hover {
  background-color: #206eb8;
  color: #fff;
  transition: all 0.3s;
}
.field-category-item.is-forest.is-select a {
  background-color: #56ab4f;
  color: #fff;
}
.field-category-item.is-forest a {
  border: solid 2px #56ab4f;
  color: #56ab4f;
}
.field-category-item.is-forest a:hover {
  background-color: #56ab4f;
  color: #fff;
  transition: all 0.3s;
}
.field-category-item.is-coupon.is-select a {
  background-color: #c9bc9c;
  color: #fff;
}
.field-category-item.is-coupon a {
  border: solid 2px #c9bc9c;
  color: #c9bc9c;
}
.field-category-item.is-coupon a:hover {
  background-color: #c9bc9c;
  color: #fff;
  transition: all 0.3s;
}

.field-tag-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  justify-content: center;
}
.field-tag-item {
  margin-right:20px;
}
.field-tag-list .field-tag-item:last-child {
  margin-right:0!important;
}
.field-tag-item a {
  -webkit-transition: 0.2s;
  display: block;
  padding: 16px;
  border: solid 2px #b2b2b2;
  border-radius: 50px;
  color: #b2b2b2;
  font-weight: 700;
  font-size: 21px;
  letter-spacing: 2.1px;
  transition: 0.2s;
  min-width: 164px;
  text-align: center;
}
.field-tag-item a:hover {
  -webkit-transition: 0.2s;
  background-color: #f7f7f7;
  transition: 0.2s;
}
#page_fields .field-tag-item a:hover {
  opacity: 1;
}

.field-tag-item.is-select {
  cursor: pointer;
}

.field-tag-item.is-select a {
  background-color: #ffffff;
  color: #0382cc;
  cursor: pointer;
  pointer-events: none;
  border-color: #0382cc;
}

.field-change-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 43px;
}
.field-change:last-child {
  margin-left:44px;
}
.field-change {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.field-change-icon {
  width: 66px;
  height: 57px;
}
.field-change[data-view="list"] .field-change-icon {
  background: url(../img/fields/icon-list_white.png) no-repeat center center / cover;
}
.field-change[data-view="gallery"] .field-change-icon {
  background: url(../img/fields/icon-gallery_white.png) no-repeat center center / cover;
}
.field-change[data-view="list"].is-active .field-change-icon {
  background: url(../img/fields/icon-list_blue.png) no-repeat center center / cover;
}
.field-change[data-view="gallery"].is-active .field-change-icon {
  background: url(../img/fields/icon-gallery_blue.png) no-repeat center center / cover;
}
.field-change-text {
  margin-left: 20px;
  color: #0092d3;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 1.5px;
}

.field-article {
  display: none;
}
.field-article.is-show {
  display: block;
}

.field-box {
  margin-top: 50px;
}

.field-box-title {
  padding: 20px;
  background-color: #f2f2f2;
  color: #1a1311;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 3px;
}

.field-item-title {
  display: block;
  /* color: #0382cc; */
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.55px;
}

.field-item-wrap {
  display: flex;
  align-items: center;
  column-gap: 30px;
}
.field-item-address,
.field-item-favorite,
.field-item-point {
  display: inline-flex;
  /* color: #0382cc; */
  font-size: 16px;
}
.field-item-favorite span{
  margin-left: 5px;
  margin-top: -2px;
}
.field-item-point {
  width: 70px;
}

.field-modal-button {
  border: solid 1px #0382cc;
  border-radius: 100%;
  background-color: #fff;
  cursor: pointer;
}
.field-modal-button::before {
  -webkit-transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "＋";
  color: #0382cc;
  display: flex;
  align-items: center;
  justify-content: center;
}

.field-favorite-button {
  margin-left: 10px;
  cursor: pointer;
  border: none;
  background-color: transparent;
  appearance: none;
  padding: 0;
}
.reserve-heading {
  font-size: 25px;
  margin-top: 20px;
  color: #0382cc;
}
.reserve-wrap {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.reserve-button {
  width: calc(50% - 15px / 2);
}
.reserve-button a {
  display: block;
  width: 100%;
  padding: 15px 15px;
  border-radius: 100px;
  border: solid 1px #0382cc;
  color: #fff;
  background-color: #0382cc;
  font-weight: 700;
  text-align: center;
  font-size: 20px;
}
.reserve-button a span {
  position: relative;
  padding-right: 30px;
}
.reserve-button a span::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.reserve-button.is-hp a span::after {
  background: url(../img/fields/icon-web.png) no-repeat center center / contain;
}
.reserve-button.is-tel a span::after {
  background: url(../img/fields/icon-tel.png) no-repeat center center / contain;
}
.reserve-button.is-mail a span::after {
  background: url(../img/fields/icon-mail.png) no-repeat center center / contain;
}

@media screen and (max-width: 1040px) {
  .field-category-item {
    width: calc(33.33% - 13.3333333333px);
  }
  .reserve-button a {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .field-heading {
    font-size: 26px;
  }
  .field-heading span {
    font-size: 16px;
  }
  .field-category-list {
    margin-top: 40px;
  }
  .field-category-item {
    width: calc(50% - 5px);
  }
  .field-category-item a {
    padding: 10px 0;
    font-size: 16px;
    letter-spacing: 1px;
  }
  .field-tag-list {
    margin-top: 12px;
    flex-wrap: nowrap;
    overflow-x: scroll;
    padding-bottom: 8px;
    justify-content: left;
  }
  .field-category-list .field-icon {
    margin-right:10px;
  }
  .field-tag-item {
    margin-right:10px;
  }
  .field-tag-item a {
    padding: 8px;
    font-size: 14px;
    letter-spacing: 1.4px;
    min-width: 94px;
  }
  .field-change-wrap {
    margin-top: 30px;
  }
  .field-change:last-child {
    margin-left:22px;
  }
  .field-change-icon {
    width: 40px;
    height: 35px;
  }
  .field-change-text {
    margin-left: 10px;
    font-size: 16px;
    letter-spacing: 1px;
  }
  .field-box-title {
    padding: 12px;
    font-size: 15px;
    letter-spacing: 1.5px;
  }
  .field-item-title {
    font-size: 16px;
  }
  .field-item-wrap {
    column-gap: 15px;
    align-items: baseline;
  }
  .field-item-address,
  .field-item-favorite {
    font-size: 16px;
    margin-top: auto;
    display: inline-flex;
  }
  .field-item-address,
  .field-item-favorite span{
    margin-left: 5px;
    margin-top: -2px;
  }

  .field-item-point {
    width: 47px;
  }
  .field-favorite-button {
    width: 17px;
    height: 17px;
    margin-left: 5px;
  }
  .field-favorite-button img {
    vertical-align: baseline;
  }
  .reserve-heading {
    font-size: 16px;
    margin-top: 10px;
  }
  .reserve-wrap {
    margin-top: 10px;
  }
  .reserve-button a {
    font-size: 16px;
    padding: 10px;
    /* border-radius: 13px; */
  }
  .reserve-button a span {
    padding-right: 20px;
  }
  .reserve-button a span::after {
    width: 13px;
    height: 13px;
  }
}
/* ------------------------------------- */
/* リスト
/* ------------------------------------- */
.field-article.is-list .field-box {
  margin-top: 50px;
}
.field-article.is-list .field-list {
  margin-top: 50px;
  border-bottom: dashed 1px #737373;
}
.field-article.is-list .field-item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  /* display: -webkit-box; */
  display: -ms-flexbox;
  /* display: flex; */
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  border-top: dashed 1px #737373;
}
.field-article.is-list .field-item-head {
  width: 65%;
}
.field-article.is-list .field-item-title {
  display: block;
  margin-bottom: 10px;
  line-height: 1.6;
}
.field-article.is-list .field-item-title:focus,
.field-article.is-list .field-item-title:hover {
  color: #0382cc;
}
.field-article.is-list .field-item-body {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: start;
  min-width: max-content;
  position: relative;
}
.field-article.is-list .field-item-body .category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.field-article.is-list .field-item-body .category-item {
  width: 37px;
  height: 37px;
}
.field-article.is-list .field-item-body .category-item + .category-item {
  margin-left:10px;
}
.field-article.is-list .field-item-body .category-item img {
  width: 100%;
  height: 100%;
  vertical-align: baseline;
}
.field-article.is-list .field-modal-button {
  position: relative;
  width: 37px;
  height: 37px;
  margin-left: 10px;
  padding: 0;
}
.field-article.is-list .field-modal-button::before {
  width: 27px;
  height: 27px;
  font-size: 29px;
}

@media screen and (max-width: 768px) {
  .field-article.is-list .field-list {
    margin-top: 25px;
  }
  .field-article.is-list .field-item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: initial;
    padding: 15px 0;
    flex-wrap: wrap;
  }
  .field-article.is-list .field-item-head {
    display: contents;
  }
  .field-article.is-list .field-item-title {
    width: 100%;
  }
  .field-article.is-list .field-item-body {
    /* margin-left: auto; */
    margin-top: 10px;
  }
  .field-article.is-list .field-item-body .category-item + .category-item {
    margin-left:5px;
  }
  .field-article.is-list .field-item-body .category-item {
    width: 37px;
    height: 37px;
  }
  .field-article.is-list .field-modal-button {
    width: 17px;
    height: 17px;
    margin-left: 5px;
  }
  .field-article.is-list .field-modal-button::before {
    width: 13px;
    height: 13px;
    font-size: 16px;
  }
}
/* ------------------------------------- */
/* gallery
/* ------------------------------------- */
.field-article.is-gallery {
  margin-top: 50px;
}
.field-article.is-gallery .field-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  gap: 25px;
}
.field-article.is-gallery .field-item {
  /*width: calc(25% - 18.75px);*/
  width: calc(33.33% - 17px);
  flex-direction: column;
  display: flex;
  position: relative;
}
.field-article.is-gallery .field-item a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.field-article.is-gallery .field-item-wrap {
  /* margin-top: 20px;
  margin-bottom: 40px;*/
}
.field-article.is-gallery .field-item-head {
  position: relative;
  cursor: pointer;
}
.field-article.is-gallery .field-item-head img {
  aspect-ratio: 165 / 165;
  height: 100%;
  object-fit: cover;
}
.field-article.is-gallery .field-item-body {
  margin-top: 23px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.field-article.is-gallery .field-item-body .category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}
.field-article.is-gallery .field-item-body .category-item {
  width: 30px;
  height: 30px;
}
.field-article.is-gallery .field-item-title {
  margin-top: 15px;
  /* margin-bottom: 45px; */
  margin-bottom: auto;
  /* color: #0382cc; */
  font-weight: 700;
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.55px;
}
.field-article.is-gallery .field-modal-button {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 34px;
  height: 34px;
  padding: 0;
  z-index: 1;
}
.field-article.is-gallery .field-modal-button::before {
  width: 28px;
  height: 28px;
  font-size: 29px;
}

@media screen and (max-width: 990px) {
  .field-article.is-gallery .field-item {
    width: calc(33.33% - 16.6666666667px);
  }
}
@media screen and (max-width: 768px) {
  .field-article.is-gallery {
    margin-top: 35px;
  }
  .field-article.is-gallery .field-list {
    margin-top: 15px;
    gap: 15px 10px;
  }
  .field-article.is-gallery .field-item {
    width: calc(50% - 5px);
  }
  .field-article.is-gallery .field-modal-button {
    width: 18px;
    height: 18px;
  }
  .field-article.is-gallery .field-modal-button::before {
    width: 14px;
    height: 14px;
    font-size: 16px;
  }
  .field-article.is-gallery .field-item-body {
    margin-top: 12px;
  }
  .field-article.is-gallery .field-item-body .category-item {
    width: 20px;
    height: 20px;
  }
  .field-article.is-gallery .field-item-title {
    margin: 7px 0 auto;
    font-size: 16px;
  }
}
/* ------------------------------------- */
/* modal
/* ------------------------------------- */
.detail-modal {
  width: 80%;
  max-width: 960px;
  height: 70vh;
  padding: 60px 50px;
  border: none;
  background-color: #fff;
  margin: auto;
}
.detail-modal::-webkit-scrollbar {
  width: 5px;
  height: 100%;
}
.detail-modal::-webkit-scrollbar-thumb {
  background-color: #0382cc;
}
.detail-modal::-webkit-scrollbar-track {
  background-color: #e3e3e3;
}
dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
.modal-heading {
  padding-bottom: 10px;
  border-bottom: solid 2px #0382cc;
  color: #0382cc;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.4px;
  text-align: center;
}

.modal-head-wrap {
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin-top: 24px;
  /* margin-bottom: 80px; */
}

.modal-title {
  color: #0382cc;
  font-weight: 700;
  font-size: 35px;
}

.modal-close {
  color: #0382cc;
  font-size: 47px;
  cursor: pointer;
  border: none;
  background-color: transparent;
  padding: 0;
  outline: none;
}

.modal-address,
.modal-favorite,
.modal-point {
  display: inline-block;
  color: #0382cc;
  font-size: 25px;
}

.modal-favorite,
.modal-point {
  margin-left: 15px;
}

.modal-body {
  padding: 0;
}

.modal-slide-list {
  margin-top: 23px;
}
.modal-slide-list .slick-arrow {
  position: absolute;
  width: 50px;
  height: 50px;
  border: solid 1px #fff;
  border-radius: 100%;
}
.modal-slide-list .slick-prev,
.modal-slide-list .slick-next {
  z-index: 1;
}
.modal-slide-list .slick-prev::before,
.modal-slide-list .slick-next::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  content: "";
}
.modal-slide-list .slick-prev {
  left: 23px;
}
.modal-slide-list .slick-prev::before {
  -webkit-transform: translate(-40%, -50%) rotate(-135deg);
  transform: translate(-40%, -50%) rotate(-135deg);
}
.modal-slide-list .slick-next {
  right: 23px;
}
.modal-slide-list .slick-next::before {
  -webkit-transform: translate(-65%, -50%) rotate(45deg);
  transform: translate(-65%, -50%) rotate(45deg);
}

.modal-thumb-list {
  margin-top: 10px;
}
.modal-thumb-list .slick-track {
  -webkit-transform: unset !important;
  width: 100% !important;
  transform: unset !important;
}

.modal-thumb-item {
  aspect-ratio: 230/150;
  width: calc(25% - 7.5px) !important;
  cursor: pointer;
}
.modal-thumb-item:not(:nth-child(4n)) {
  margin-right: 10px;
}
.modal-thumb-item:nth-child(n + 5) {
  margin-top: 10px;
}
.modal-thumb-item img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.modal-box {
  margin-top: 65px;
}
.modal-box-title {
  color: #0382cc;
  font-weight: 700;
  font-size: 40px;
}

.modal-info-list {
  margin-top: 65px;
  border-bottom: 1px dashed #0382cc;
}

.modal-info-item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  padding: 20px 0;
  border-top: 1px dashed #0382cc;
}
.modal-info-item.is-column {
  flex-direction: column;
  align-items: flex-start;
}
.modal-info-item dt,
.modal-info-item dd {
  color: #0382cc;
  font-size: 25px;
  letter-spacing: 0.63px;
}
.modal-info-item dt {
  width: 35%;
  line-height: 1.4;
}
.modal-info-item dd {
  width: calc(55% - 15px);
  line-height: 1.4;
  flex-grow: 1;
  margin: 0 0 0 15px;
}
.modal-info-item.is-column dd {
  margin-left: 0;
  margin-top: 50px;
  width: 100%;
}
.modal-course-image {
  margin-top: 65px;
}

/* .modal-access-address {
  margin-top: 45px;
  color: #0382cc;
  font-size: 25px;
}

.modal-access-map {
  position: relative;
  aspect-ratio: 1/1;
  width: 100%;
  margin-top: 20px;
}
.modal-access-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal-access-link {
  display: block;
  margin-top: 17px;
  color: #0382cc;
  font-size: 25px;
  text-align: right;
} */

.modal-access-list {
  margin-top: 30px;
}
.modal-access-item:not(:first-child) {
  margin-top: 40px;
}
.modal-access-item dt,
.modal-access-item dd {
  font-size: 25px;
  color: #0382cc;
}
.modal-access-item dd {
  margin-top: 10px;
}
.modal-access-item dd a {
  color: #0382cc;
}
.modal-sns {
  margin-top: 120px;
}
.modal-sns .ec-navlistRole__SNS__box {
  text-align: left;
}

@media screen and (max-width: 1024px) {
  .detail-modal {
    padding: 40px 30px;
  }
  .modal-title {
    font-size: 30px;
  }
  .modal-close {
    font-size: 40px;
  }
  .modal-address,
  .modal-favorite,
  .modal-point {
    font-size: 20px;
  }
  .modal-point {
    margin: 0;
    display: block;
  }
  .modal-box-title {
    font-size: 35px;
  }
  .modal-info-list {
    margin-top: 45px;
  }
  .modal-info-item dt,
  .modal-info-item dd,
  .modal-access-address,
  .modal-access-link {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .detail-modal {
    width: 100%;
    margin-top: 0;
    max-height: 100%;
  }
  dialog.detail-modal:modal {
    height: 100%;
    padding: 30px 20px 60px;
  }
  .modal-heading {
    font-size: 10px;
  }
  .modal-title {
    font-size: 17px;
  }
  .modal-close {
    font-size: 23px;
  }
  .modal-head-wrap {
    margin: 12px 0 0;
  }
  .modal-address,
  .modal-favorite,
  .modal-point {
    font-size: 16px;
  }
  .modal-favorite {
    margin-left: 10px;
  }
  .modal-slide-list {
    margin-top: 10px;
  }
  .modal-slide-list .slick-arrow {
    width: 25px;
    height: 25px;
  }
  .modal-slide-list .slick-prev::before,
  .modal-slide-list .slick-next::before {
    width: 6px;
    height: 6px;
  }
  .modal-slide-list .slick-prev {
    left: 10px;
  }
  .modal-slide-list .slick-next {
    right: 10px;
  }
  .modal-thumb-list {
    margin-top: 5px;
  }
  .modal-thumb-item {
    width: calc(25% - 5px * 3 / 4) !important;
  }
  .modal-thumb-item:not(:nth-child(4n)) {
    margin-right: 5px;
  }
  .modal-box {
    margin-top: 35px;
  }
  .modal-box-title {
    font-size: 20px;
  }
  .modal-info-list {
    margin-top: 30px;
  }
  .modal-info-item {
    padding: 10px 0;
  }
  .modal-info-item dt,
  .modal-info-item dd {
    font-size: 16px;
  }
  .modal-course-image {
    /* aspect-ratio: 1 / 1; */
    margin: 35px 0 0 0;
  }
  .modal-course-image img {
    /* height: 100%; */
    /* object-fit: contain; */
  }
  /* .modal-access-address {
    font-size: 16px;
    margin-top: 23px;
  }
  .modal-access-map {
    margin-top: 10px;
  }
  .modal-access-link {
    font-size: 16px;
  } */
  .modal-access-list {
    margin-top: 20px;
  }
  .modal-access-item {
    width: 100%;
    font-size: 16px;
  }
  .modal-access-item:not(:first-child) {
    margin-top: 15px;
  }
  .modal-access-item dt,
  .modal-access-item dd {
    font-size: 16px;
  }
  .modal-access-item dd {
    margin-top: 5px;
    margin-bottom: 0;
  }
  .modal-sns {
    margin-top: 60px;
  }
}

/* ====================================
  施設詳細
==================================== */
.contact-method{
  margin-top:10px;
  display: flex;
  justify-content: space-between;
}
.contact-method > *{
  width: 100px;
  background: #2682cc;
  color: white;
  text-align: center;
  /* border: solid; */
  border-radius: 50px;
  padding: 5px;
}
.contact-method svg{
  width: 20px;
  fill: white;
}
.field-detail {
  padding-bottom: 130px;
}
.field-detail-inner {
  max-width: 900px;
  padding: 0 20px;
}
.field-detail-heading {
  font-size: 24px;
  font-weight: 700;
  padding-bottom: 26px;
  border-bottom: solid 2px #0382cc;
  color: #0382cc;
  text-align: center;
  margin-bottom: 50px;
  letter-spacing: 0.48px;
}
.field-detail-title {
  font-weight: 700;
  font-size: 35px;
  line-height: 1.6;
}
.field-detail-wrap {
  /* margin-top: 50px; */
  display: flex;
  align-items: center;
}
.field-detail-address,
.field-detail-favorite,
.field-detail-point {
  font-size: 25px;
}
.field-detail-favorite {
  margin-left: 80px;
}
.field-detail-point {
  margin-left: auto;
}
.field-detail-list {
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 12px;
  gap: 10px;
}
.field-detail-intuct li img{
 width: 37px;
 height: 37px;
}
.field-detail .category-item,
.field-detail .tag-item {
  padding: 8px 23px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 16px;
}
.field-detail .category-item {
  color: #000;
  letter-spacing: 1px;
}
.field-detail .category-item.is-snow {
  background-color: #6f6f6f;
}
.field-detail .category-item.is-bike {
  background-color: #ff9a20;
}
.field-detail .category-item.is-wave {
  background-color: #206eb8;
}
.field-detail .category-item.is-forest {
  background-color: #56ab4f;
}
.field-detail .category-item.is-coupon {
  background-color: #c9bc9c;
}
.field-detail .tag-item {
  border: solid 1px #000;
  color: #000;
}
.field-detail-body {
  margin-top: 30px;
}
.field-detail-slide-wrap {
  position: relative;
}
/* .field-detail-favorite-button {
  border: none;
  background-color: transparent;
  appearance: none;
  padding: 0;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
} */
.field-detail .slick-initialized .slick-slide {
  aspect-ratio: 860 / 560;
}
/* .field-detail .slick-slide img {
  height: 100%;
  object-fit: contain;
} */
.field-detail-slide-list .slick-arrow {
  position: absolute;
  width: 50px;
  height: 50px;
  border: solid 1px #fff;
  border-radius: 100%;
}
.field-detail-slide-list .slick-prev,
.field-detail-slide-list .slick-next {
  z-index: 1;
}
.field-detail-slide-list .slick-prev::before,
.field-detail-slide-list .slick-next::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  content: "";
}
.field-detail-slide-list .slick-prev {
  left: 23px;
}
.field-detail-slide-list .slick-prev::before {
  -webkit-transform: translate(-40%, -50%) rotate(-135deg);
  transform: translate(-40%, -50%) rotate(-135deg);
}
.field-detail-slide-list .slick-next {
  right: 23px;
}
.field-detail-slide-list .slick-next::before {
  -webkit-transform: translate(-65%, -50%) rotate(45deg);
  transform: translate(-65%, -50%) rotate(45deg);
}
.field-detail-thumb-list {
  margin-top: 20px;
}
.field-detail-thumb-list .slick-track {
  -webkit-transform: unset !important;
  width: 100% !important;
  transform: unset !important;
}
.field-detail-thumb-item {
  aspect-ratio: 230/150;
  width: calc(20% - 16px) !important;
  cursor: pointer;
}
.field-detail-thumb-item:not(:nth-child(5n + 1)) {
  margin-left: 20px;
}
.field-detail-thumb-item:nth-child(n + 6) {
  margin-top: 20px;
}
.field-detail-thumb-item img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}
.field-detail-box {
  margin-top: 80px;
}
.field-detail-box-title {
  font-weight: 700;
  font-size: 40px;
}
.field-detail-box.is-staff {
  background: #F5F5F5 0% 0% no-repeat padding-box;
  padding: 40px 20px;
  position: relative;
  border-radius: 37px;
}

.field-detail-box.is-facility .field-detail-box-title,
.field-detail-box.is-staff .field-detail-box-title {
  font-size: 28px;
  position: relative;
  display: inline-block;
}
.field-detail-box.is-facility .field-detail-box-title::after {
  position: absolute;
  content: "";
  width: 37px;
  height: 33px;
  top: 50%;
  right: -45px;
  transform: translateY(-50%);
}
.field-detail-box.is-facility .field-detail-box-title::after {
  background: url(../img/fields/icon-comment_facility.png) no-repeat center center / contain;
}
.field-detail-comment {
  margin-top: 20px;
  line-height: 1.5;
  font-size: 25px;
  position: relative;
  z-index: 2;
}
.field-detail-box.is-other {
  margin-top: 30px;
  padding: 10px 20px;
  background: #f8f8f8;
 }
.field-detail-box.is-other .field-detail-box-title {
  font-size: 22px;
  position: relative;
  display: inline-block;
  margin-top: 20px;
}
.field-detail-box.is-other .field-detail-comment {
  margin-top:10px;
  font-size:22px;
}
.field-detail-comment-wrap {
  display: flex;
  justify-content: flex-start;
}
.field-detail-comment-icon {
  width: 50px;
  height: 50px;
  margin: 0 10px 0 0;
}
.field-detail-comment-icon img {
  height: 100%;
  object-fit: contain;
}
.field-detail-info-list {
  margin-top: 40px;
  border-top: dashed 1px #0382cc;
}
.field-detail-info-item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: dashed 1px #0382cc;
  padding: 20px 0;
}
.field-detail-info-item.is-column {
  flex-direction: column;
  align-items: flex-start;
}

.field-detail-info-item dt,
.field-detail-info-item dd {
  font-size: 25px;
  font-weight: 400;
}
.field-detail-info-item dt {
  width: 45%;
  line-height: 1.3;
}
.field-detail-info-item dd {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(55% - 50px);
  margin-left: 50px;
  margin-bottom: 0;
  line-height: 1.3;
}
.field-detail-info-item.is-column dd {
  margin-left: 0;
  margin-top: 50px;
  width: 100%;
}
.field-detail-course-image {
  /* aspect-ratio: 860/500; */
  width: 100%;
  margin: 40px 0 0;
}
.field-detail-course-image img {
  /* -o-object-fit: contain;
  height: 100%;
  object-fit: contain; */
}
.field-detail-access-address {
  margin-top: 40px;
  font-size: 25px;
}
.field-detail-access-address span {
  display: block;
  margin-bottom: 20px;
}
.field-detail-access-map {
  position: relative;
  aspect-ratio: 860/520;
  margin-top: 30px;
}
.field-detail-access-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.field-detail-access-link {
  display: block;
  margin-top: 10px;
  color: #0382cc;
  text-align: right;
  font-size: 25px;
}
.field-detail-access-list {
  margin-top: 30px;
}
.field-detail-access-item:not(:first-child) {
  margin-top: 40px;
}
.field-detail-access-item dt,
.field-detail-access-item dd {
  font-size: 25px;
}
.field-detail-access-item dd {
  margin-top: 10px;
}
.field-detail-access-item dd a {
  color: #0382cc;
}
.field-detail-sns .ec-navlistRole__SNS__box {
  display: flex;
  justify-content: space-evenly;
  margin-top: 90px;
}
.field-detail-button {
  max-width: 450px;
  margin: 120px auto 0;
}
.field-detail-button a {
  background-color: #969696;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 20px;
  border-radius: 0;
  text-align: center;
  line-height: 1;
}
.field-detail-button a::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 15px;
  height: 15px;
  top: 50%;
  right: initial;
  left: 20px;
  transform: translateY(-55%) rotate(-135deg);
}
.field-detail-button a:hover {
  background-color: #efefef;
  color: #fff;
  opacity: 1;
  transition: 0.2s;
}
.field-detail-button a:hover::after {
  border-color: #fff;
  transition: 0.2s;
}
.field-detail-course-image {
  pointer-events: none;
}

.modal-button {
  max-width: 360px;
  margin: 80px auto 0;
}
.modal-button a {
  background-color: #0382cc;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 20px;
  border-radius: 0;
  text-align: center;
  line-height: 1;
}
.modal-button a::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 15px;
  height: 15px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}
.modal-button a:hover {
  background-color: #efefef;
  color: #0382cc;
  opacity: 1;
  transition: 0.2s;
}
.modal-button a:hover::after {
  border-color: #0382cc;
  transition: 0.2s;
}

@media screen and (max-width: 768px) {
  .field-detail {
    padding-bottom: 0px;
  }
  .field-detail-inner {
    max-width: 100%;
    padding: 80px 20px 0;
  }
  .field-detail-heading {
    font-size: 10px;
    letter-spacing: 0.4px;
    padding-bottom: 10px;
    margin-bottom: 24px;
  }
  .field-detail-title {
    font-size: 20px;
  }
  .field-detail-address,
  .field-detail-favorite,
  .field-detail-point {
    font-size: 16px;
  }
  .field-detail-box {
    margin-top: 40px;
  }
  .field-detail-box.is-facility .field-detail-box-title,
  .field-detail-box.is-staff .field-detail-box-title {
    font-size: 16px;
  }
  .field-detail-box.is-staff {
    padding: 20px 15px;
    border-radius: 37px;
  }
  .field-detail-comment-icon {
    width: 50px;
    height: 50px;
    margin: 0 10px 0 0;
  }
  .field-detail-box.is-facility .field-detail-box-title::after {
    width: 16px;
    height: 15px;
    right: -20px;
  }
  .field-detail-box.is-other .field-detail-box-title {
    font-size: 16px;
  }
  .field-detail-box.is-other .field-detail-comment {
    font-size:16px;
  }
  .field-detail-slide-list .slick-arrow {
    width: 30px;
    height: 30px;
  }
  .field-detail-slide-list .slick-next {
    right: 10px;
  }
  .field-detail-slide-list .slick-prev {
    left: 10px;
  }
  .field-detail-slide-list .slick-prev::before,
  .field-detail-slide-list .slick-next::before {
    width: 6px;
    height: 6px;
  }
  .field-detail-favorite-button {
    top: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
  }
  .field-detail-list {
    margin-top: 20px;
  }
  .field-detail-body {
    margin-top: 10px;
  }
  .field-detail-favorite {
    margin-left: 25px;
  }
  .field-detail-thumb-list {
    margin-top: 10px;
  }
  .field-detail-thumb-item {
    width: calc(20% - 8px) !important;
  }
  .field-detail-thumb-item:not(:first-child) {
    margin-left: 10px;
  }
  .field-detail-comment {
    font-size: 16px;
  }
  .field-detail-info-list {
    margin-top: 30px;
    /* gap: 15px; */
  }
  .field-detail-box-title {
    font-size: 20px;
  }
  .field-detail-info-item {
    width: 100%;
    font-size: 16px;
    padding: 10px 0;
  }
  .field-detail-info-item dt,
  .field-detail-info-item dd {
    font-size: 16px;
  }
  .field-detail-info-item dt {
    width: 35%;
  }
  .field-detail-info-item dd {
    margin-left: 20px;
  }
  .field-detail-info-item.is-column dd {
    margin-top: 20px;
  }
  .field-detail-access-address {
    margin-top: 30px;
    font-size: 16px;
  }
  .field-detail-access-address span {
    margin-bottom: 15px;
  }
  .field-detail-course-image {
    /* aspect-ratio: 335/440; */
    margin-top: 30px;
  }
  .field-detail-access-map {
    aspect-ratio: 1/1;
    margin-top: 20px;
  }
  .field-detail-access-link {
    font-size: 16px;
  }
  .field-detail-access-list {
    margin-top: 20px;
  }
  .field-detail-access-item {
    width: 100%;
    font-size: 16px;
  }
  .field-detail-access-item:not(:first-child) {
    margin-top: 15px;
  }
  .field-detail-access-item dt,
  .field-detail-access-item dd {
    font-size: 16px;
  }
  .field-detail-access-item dd {
    margin-top: 5px;
    margin-bottom: 0;
  }
  .field-detail-button {
    max-width: 450px;
    margin: 30px auto 0;
  }
  .field-detail-button a {
    font-size: 16px;
  }
  .field-detail-course-image {
    pointer-events: initial;
  }
  .field-detail-sns .ec-navlistRole__SNS__box {
    margin-top: 30px;
    display: flex;
    justify-content: space-evenly;
  }
  .modal-button {
    max-width: 280px;
    margin: 30px auto 0;
  }
  .modal-button a {
    font-size: 16px;
    padding: 15px;
  }
  .modal-button a::after {
    width: 10px;
    height: 10px;
  }
  dialog.course-map:modal {
    height: fit-content;
    top: 50%;
    left: 0;
    padding: 20px;
    transform: translateY(-50%);
    margin: 0 auto;
    border: none;
  }
  .modal-course-map {
    margin: 0;
  }
  .map-close {
    display: block;
    margin-left: auto;
    margin-bottom: 10px;
  }
}

.other-field-area {
  /* margin-top: 130px; */
  display: block;
}
.other-field-inner {
  max-width: 1080px;
  padding: 120px 20px 0;
  border-top: solid 1px #0382cc;
}
.other-field-head {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
}
.other-field-box {
  margin-top: 40px;
}
.other-field-box-title {
  padding: 15px;
  background-color: #f2f2f2;
  color: #1a1311;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 3px;
}
.other-field-list {
  margin-top: 50px;
}
.other-field-item-title {
  font-size: 22px;
  display: block;
  color: #0382cc;
  font-weight: 700;
}
.other-field-item-title:hover {
  color: #0382cc;
}
.other-field-item-address,
.other-field-item-favorite {
  display: inline-block;
  font-size: 16px;
  margin-top: 10px;
}
.other-field-item-favorite {
  margin-left: 15px;
}

@media screen and (max-width: 768px) {
  .other-field-area {
    margin-top: 50px;
  }
  .other-field-area.field-article.is-list .field-box {
    margin-top: 25px;
  }
  .other-field-inner {
    padding: 50px 0 0;
    margin: 0 20px;
  }
  .other-field-head {
    font-size: 20px;
  }
  .other-field-box-title {
    font-size: 15px;
    padding: 10px;
  }
  .other-field-list {
    margin-top: 15px;
    flex-direction: column;
    gap: 15px;
  }
  .other-field-item {
    width: 100%;
  }
  .other-field-item-title {
    font-size: 16px;
  }
  .other-field-item-address,
  .other-field-item-favorite {
    font-size: 16px;
  }
}

/* ====================================
  いいねボタン
==================================== */
#page_fields .wpulike,
#page_fields_detail .wpulike {
  padding: 0;
  line-height: 0;
  width: 17px;
  height: 17px;
}
#page_fields_detail .wpulike-default button.wp_ulike_btn,
#page_fields .wpulike-default button.wp_ulike_btn {
  width: 100%;
  height: 100%;
}
#page_fields .wpulike {
  margin-left: 10px;
  display: inline-flex;
}
#page_fields_detail .wpulike-default button.wp_ulike_btn,
#page_fields .wpulike-default button.wp_ulike_btn {
  background: transparent;
  width: 17px;
  height: 17px;
  padding: 0;
  min-width: unset;
  min-height: unset;
}
#page_fields_detail .wp_ulike_btn.wp_ulike_put_image:after,
#page_fields .wp_ulike_btn.wp_ulike_put_image:after {
  width: 100%;
  height: 100%;
}
#page_fields_detail .wp_ulike_btn.wp_ulike_put_image.wp_ulike_btn_is_active:after,
#page_fields .wp_ulike_btn.wp_ulike_put_image.wp_ulike_btn_is_active:after {
  width: 100%;
  height: 100%;
}
#page_fields_detail .wpulike-default button.wp_ulike_btn:focus,
#page_fields .wpulike-default button.wp_ulike_btn:focus,
.wpulike-default button.wp_ulike_btn:hover {
  background-color: transparent !important;
  color: transparent !important;
}
.field-detail-slide-wrap .wpulike {
  position: absolute;
  top: 20px;
  right: 20px;
}

@media screen and (max-width: 768px) {
  #page_fields .wpulike,
  #page_fields_detail .wpulike {
    width: 17px;
    height: 17px;
    margin-left: 5px;
  }
  #page_fields_detail .wpulike-default button.wp_ulike_btn,
  #page_fields .wpulike-default button.wp_ulike_btn {
    width: 17px;
    height: 17px;
  }
  .field-detail-slide-wrap .wpulike {
    top: 10px;
    right: 10px;
  }
}

/* ====================================
  Aboutページ（画像対応）
==================================== */
/* #page_help_about .ec-role__help__wrap {
  max-width: 100%;
  padding: 0;
}
#page_help_about .ec-role__help__ex {
  border: none;
  padding: 0;
  margin: 0;
}
#page_help_about .ec-role__help__sentence.is-faq {
  margin: 0 0 7%;
}
#page_help_about .ec-role__help__sentence.is-top {
  margin: 7% 0 10%;
}
@media screen and (min-width: 320px) and (max-width: 767px) {
  #page_help_about .ec-role__help__sentence.is-faq {
    margin: 0 0 50px !important;
  }
  #page_help_about .ec-role__help__sentence.is-top {
    margin: 50px 0 100px !important;
  }
} */

/* ====================================
  Aboutページ
==================================== */
#page_help_about .ec-layoutRole {
  font-family: toppan-bunkyu-gothic-pr6n, serif;
}

#page_help_about .ec-role__help__ex {
  padding: 80px 0 75px;
  border-bottom: solid 3px #0382cc;
  margin-bottom: 0;
}

#page_help_about .ec-role__help__ex.plan img {
  margin-top: 0;
}

#page_help_about .ec-role__help__wrap {
  max-width: 100%;
  padding: 0;
}
.help-inner {
  max-width: 770px;
  margin: 0 auto;
  padding: 0 20px;
}

.help-heading {
  font-size: 37px;
  font-weight: 700;
  color: #0382cc;
  text-align: center;
  margin-bottom: 80px;
  line-height: calc(55 / 37);
}

.help-text {
  font-size: 24px;
  line-height: calc(42 / 24);
  color: #696969;
}
.help-text.is-accent {
  color: #0382cc;
}
.help-text.is-small {
  font-size: 20px;
}

.help-button {
  margin: 100px auto 0;
  text-align: center;
  text-align: center;
}

.help-button a {
  max-width: 410px;
  display: block;
  margin: 0 auto;
  width: 100%;
  border-radius: 50px;
  background-color: #0382cc;
  color: #fff;
  font-size: 29px;
  padding: 22px 0;
  letter-spacing: 2px;
  transition: all 0.3s;
}

.help-button a:hover {
  text-decoration: none;
  background-color: #efefef;
  color: #0382cc;
  opacity: 1;
  transition: all 0.3s;
}

.help-button.is-qanda {
  border-bottom: solid 3px #0382cc;
  padding-bottom: 100px;
}
.about-font-style {
  font-family: '游ゴシック体';
  font-size: 28px;
}
.about-text-introduct{
  margin: 15px 0 30px 0;
  padding: 10px 5px 20px 5px;
  border-bottom: 3px solid #0382CC;
  font-family:'';
}
.about-text-introduct .field-page-link{
    width: 40%;
    text-align: center;
    margin: 10px auto;
    background-color: #2682cc;
    border-radius: 29px;
  max-width:150px;
}
.about-text-introduct .field-page-link a{
  color: #fff;
  display: block;
  padding: 10px;
}
.about-text-introduct .field-page-link a:hover {
  text-decoration: none;
}
.map-field-icon-list {
  display: flex;
  justify-content: space-around;
  font-size: 28px;
  font-family: 'ITC Avant Garde Gothic Pro';
  font-weight: bold;
  margin-top: 91.57px;
}
.map-field-icon-list img{
  width: 40px;
  height: 40px;
}
.map-field-icon-list .is-snow{
  color: #8E8E8F;
}
.map-field-icon-list .is-bike{
  color: #30A053;
}
.map-field-icon-list .is-wave{
  color: #005DAB;
}
.map-field-icon-list .is-paddle{
  color: #F38200;
}

@media screen and (max-width: 768px) {
  #page_help_about .ec-role__help__ex {
    padding: 40px 0;
  }

  .help-inner {
    max-width: 100%;
  }

  .help-heading {
    font-size: 18px;
    margin-bottom: 30px;
    line-height: calc(28 / 18);
  }

  .help-text {
    font-size: 16px;
    line-height: calc(21 / 13);
  }

  .help-text.is-small {
    font-size: 16px;
    line-height: calc(18 / 12);
  }

  .help-button {
    margin: 40px auto 0;
  }

  .help-button a {
    max-width: 200px;
    font-size: 16px;
    padding: 10px 0;
  }

  .help-button.is-qanda {
    padding-bottom: 40px;
  }
}

/* メインビジュアル */
.ec-role__help__image {
  aspect-ratio: 1440 / 790;
  background: url(../img/about/about_mv.jpg) no-repeat center center / cover;
}
.image-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  width: max-content;
  margin: 0 auto;
}
.image-subtitle {
  font-size: min(calc((46 / 1440) * 100vw), 46px);
  color: #fff;
}
.image-title {
  font-size: min(calc((150 / 1440) * 100vw), 156px);
  color: #fff;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .ec-role__help__image {
    aspect-ratio: 750 / 525;
    background: url(../img/about/about_mv_sp.jpg) no-repeat center center / cover;
  }
  .image-title {
    margin-top: 10px;
    margin-bottom: 0;
  }
}

/* first */
.first-image {
  margin: 54px auto 40px;
}
.first-image:nth-of-type(1) {
  max-width: 664px;
}
.first-image:nth-of-type(2) {
  max-width: 715px;
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .first-image {
    margin: 25px auto 20px;
  }
  .first-image:nth-of-type(1) {
    max-width: 80%;
  }
  .first-image:nth-of-type(2) {
    margin-bottom: 30px;
  }
}

/* contain */
.contain-list {
  max-width: 560px;
  margin: 0 auto 60px;
}
.contain-item:not(:first-child) {
  margin-top: 100px;
}
.contain-item-head {
  display: flex;
  align-items: flex-end;
}
.contain-number {
  font-size: 75px;
  color: #0382cc;
}
.contain-image {
  max-width: 190px;
  margin: 0 auto;
  padding-bottom: 25px;
}
.contain-title {
  font-size: 34px;
  line-height: calc(55 / 34);
}
.contain-title span {
  font-size: 26px;
  display: block;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .contain-list {
    max-width: 260px;
    margin-bottom: 30px;
  }
  .contain-item:not(:first-child) {
    margin-top: 50px;
  }
  .contain-number {
    font-size: 36px;
  }
  .contain-image {
    max-width: 100px;
    padding-bottom: 15px;
  }
  .contain-title {
    font-size: 16px;
    line-height: calc(26 / 16);
  }
  .contain-title span {
    font-size: 16px;
    margin-top: 5px;
  }
  .contain .help-text {
    max-width: max-content;
    margin: 0 auto;
  }
}

/* plan */
/* #page_help_about .plan-container {
  display: grid;
  grid-template-columns: calc(33.33% - 13px * 2 / 3) calc(33.33% - 13px * 2 / 3) calc(33.33% - 13px * 2 / 3);
  grid-template-rows: 1fr 1fr 1fr max-content max-content;
  gap: 17px 13px;
  grid-auto-flow: row;
  grid-template-areas:
    "plan-head-unlimited plan-head-standard plan-head-lite plan-head-superlite"
    "plan-content plan-content plan-content plan-content"
    "plan-content plan-content plan-content plan-content"
    "plan-limit plan-limit plan-limit plan-limit"
    "plan-bottom-unlimited plan-bottom-standard plan-bottom-lite plan-bottom-lite";
} */

/* #page_help_about .plan-head-unlimited {
  grid-area: plan-head-unlimited;
}

#page_help_about .plan-head-standard {
  grid-area: plan-head-standard;
}

#page_help_about .plan-head-lite {
  grid-area: plan-head-lite;
}

#page_help_about .plan-content {
  grid-area: plan-content;
}

#page_help_about .plan-limit {
  grid-area: plan-limit;
}

#page_help_about .plan-bottom-unlimited {
  grid-area: plan-bottom-unlimited;
}

#page_help_about .plan-bottom-standard {
  grid-area: plan-bottom-standard;
}

#page_help_about .plan-bottom-lite {
  grid-area: plan-bottom-lite;
} */
/* @media screen and (min-width: 320px) and (max-width: 767px){

} */

#page_help_about .about-plan-list img{
  height: 130px;
  width: auto;
}
#page_help_about .about-plan-list{
  display: flex;
  padding: 5px 0;
  gap:10px;
}
#page_help_about .about-plan-list > *{
  flex: 1;
}
#page_help_about .ticket-num{
  padding: 5px 0 5px 10px;
  background: #f2f2f2;
  margin-top: 5px;
  color: #2682cc;
  font-size: 28px;
  font-family: '游ゴシック体';
}
#page_help_about .use-time {
  margin-top: 5px;
  background: #f2f2f2;
  font-size: 28px;
  font-family: '游ゴシック体';
}
#page_help_about .use-time .days{
  font-size: 26px;
  font-family: '游ゴシック体';
  padding: 5px 0;
  margin: 5px 10px;
  color: #2682cc;
  border-bottom: solid 1px #2682cc;
  width: auto;
}
#page_help_about .use-time .days span{
  font-size: 49px;
  font-family: '游ゴシック体';
}
#page_help_about .use-time .discrible{
  padding: 5px 10px;
  font-weight: 100;
  font-size: 26px;
  font-family: '游ゴシック体';
}
#page_help_about .plan-head-unlimited,
#page_help_about .plan-head-standard,
#page_help_about .plan-head-lite,
#page_help_about .plan-head-superlite{
  padding-top: 40px;
  border-top: solid 2px #0382cc;
}
#page_help_about .plan-head-unlimited figure,
#page_help_about .plan-head-standard figure,
#page_help_about .plan-head-lite figure,
#page_help_about .plan-head-superlite figure {
  margin: 0;
}
#page_help_about .plan-head-unlimited img,
#page_help_about .plan-head-standard img,
#page_help_about .plan-head-lite img,
#page_help_about .plan-head-superlite img{
  padding: 0 20px;
}
#page_help_about .plan-head-unlimited figcaption,
#page_help_about .plan-head-standard figcaption,
#page_help_about .plan-head-lite figcaption,
#page_help_about .plan-head-superlite figcaption{
  font-size: 28px;
  color: #fff;
  padding: 8px 18px;
  /* border-radius: 10px; */
  background-color: #0382cc;
  text-align: left;
  margin-top: 30px;
}

#page_help_about .plan-content {
  border-radius: 16px;
  background-color: #f2f2f2;
  padding: 50px 38px 60px;
}
#page_help_about .plan-content-head {
  font-size: 29px;
  padding-bottom: 20px;
  color: #0382cc;
  border-bottom: solid 2px #0382cc;
  text-align: center;
}
#page_help_about .plan-content-list {
  margin-top: 20px;
}
#page_help_about .plan-content-item {
  color: #0382cc;
  font-size: 29px;
  text-align: center;
  line-height: calc(52 / 29);
}

#page_help_about .plan-limit-text {
  border-radius: 10px;
  background-color: #0382cc;
  color: #fff;
  font-size: 29px;
  text-align: center;
  padding: 22px 0;
}

#page_help_about .plan-bottom-unlimited,
#page_help_about .plan-bottom-standard,
#page_help_about .plan-bottom-lite {
  background-color: #0382cc;
  border-radius: 16px;
  padding: 30px 20px;
}

#page_help_about .plan-bottom-unlimited p,
#page_help_about .plan-bottom-standard p,
#page_help_about .plan-bottom-lite p {
  color: #fff;
  text-align: center;
}
#page_help_about .plan-bottom-head {
  font-size: 26px;
}
#page_help_about .plan-bottom-body {
  font-size: 37px;
}

#page_help_about .plan-heading {
  text-align: center;
  font-size: 29px;
  color: #0382cc;
  font-weight: 700;
  margin-top: 46px;
}

#page_help_about .plan-list {
  display: flex;
  margin-top: 45px;
  gap: 13px;
  margin-bottom: 50px;
}

#page_help_about .plan-item {
  width: calc(33.33% - 13px * 2 / 3);
  border-radius: 8px;
  background-color: #f2f2f2;
  padding: 35px 15px;
}

#page_help_about .plan-item-title {
  text-align: center;
  font-size: 25px;
}
#page_help_about .plan-item-title .day {
  display: block;
}
#page_help_about .plan-item-title .day span {
  font-size: 44px;
  margin-right: 3px;
}
#page_help_about .plan-item-text {
  font-size: 18px;
  color: #000;
  line-height: calc(30 / 18);
  padding-top: 15px;
  border-top: solid 5px #0382cc;
}
#page_help_about .plan-wrap {
  margin-top: 45px;
  border-radius: 9px;
  background-color: #f2f2f2;
  padding: 80px 44px;
  margin-bottom: 90px;
}
#page_help_about .plan-wrap-title {
  font-size: 43px;
  text-align: center;
}
#page_help_about .plan-wrap span {
  color: #0382cc;
  margin-left: 10px;
}
#page_help_about .plan-wrap-text {
  text-align: center;
  font-size: 28px;
  line-height: calc(47 / 28);
  margin-top: 70px;
}
#page_help_about .plan-wrap-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 70px;
}
#page_help_about .plan-wrap-item {
  display: flex;
  align-items: center;
}
#page_help_about .plan-wrap-icon {
  width: 50px;
  height: 50px;
}
#page_help_about .plan-wrap-item-text {
  font-size: 32px;
  margin-left: 20px;
}
#page_help_about .plan-image {
  margin: 90px 0 0;
}
@media screen and (max-width: 768px) {
  #page_help_about .plan-container {
    grid-template-columns: calc(33.33% - 7px * 2 / 3) calc(33.33% - 7px * 2 / 3) calc(33.33% - 7px * 2 / 3);
    grid-template-rows: max-content 1fr 1fr max-content max-content;
    gap: 7px;
  }
  #page_help_about .plan-head-unlimited,
  #page_help_about .plan-head-standard,
  #page_help_about .plan-head-lite,
  #page_help_about .plan-head-superlite{
    padding-top: 20px;
  }
  #page_help_about .plan-head-unlimited img,
  #page_help_about .plan-head-standard img,
  #page_help_about .plan-head-lite img,
  #page_help_about .plan-head-superlite img {
    padding: 0 10px;
  }
  #page_help_about .plan-head-unlimited figcaption,
  #page_help_about .plan-head-standard figcaption,
  #page_help_about .plan-head-lite figcaption,
  #page_help_about .plan-head-superlite figcaption {
    font-size: 16px;
    padding: 4px 5px;
    margin-top: 15px;
    /* border-radius: 5px; */
  }
  #page_help_about .ticket-num ,
  #page_help_about .use-time .days,
  #page_help_about .use-time .discrible
   {
    font-size: 16px;
  }
  #page_help_about .about-plan-list img{
    height: 90px;
    width: auto;
  }
  #page_help_about .plan-content {
    border-radius: 8px;
    padding: 25px 15px;
  }
  #page_help_about .plan-content-head {
    font-size: 16px;
    padding-bottom: 10px;
  }
  #page_help_about .plan-content-list {
    margin-top: 10px;
  }
  #page_help_about .plan-content-item {
    font-size: 16px;
    line-height: calc(25 / 14);
  }
  #page_help_about .plan-limit-text {
    border-radius: 5px;
    font-size: 16px;
    padding: 13px 0;
  }
  #page_help_about .plan-bottom-unlimited,
  #page_help_about .plan-bottom-standard,
  #page_help_about .plan-bottom-lite,
  #page_help_about .plan-bottom-superlite{
    padding: 15px 9px;
    border-radius: 8px;
  }
  #page_help_about .plan-bottom-head {
    font-size: 16px;
  }
  #page_help_about .plan-bottom-body {
    font-size: 16px;
  }
  #page_help_about .plan-heading {
    font-size: 16px;
    margin-top: 23px;
    margin-top: 30px;
  }
  #page_help_about .plan-list {
    gap: 6px;
    margin-bottom: 30px;
    margin-top: 30px;
  }
  #page_help_about .plan-item {
    width: calc(33.33% - 6px * 2 / 3);
    padding: 15px 9px;
  }
  #page_help_about .plan-item-title {
    font-size: 16px;
    padding-bottom: 10px;
  }
  #page_help_about .plan-item-title .day span {
    font-size: 17px;
    margin-right: 0px;
  }
  #page_help_about .plan-item-text {
    font-size: 16px;
    line-height: calc(20 / 12);
    border-top: solid 2px #0382cc;
  }
  #page_help_about .plan-wrap {
    margin-top: 25px;
    border-radius: 3px;
    padding: 40px 18px;
    margin-bottom: 45px;
  }
  #page_help_about .plan-wrap-title {
    font-size: 22px;
  }
  #page_help_about .plan-wrap span {
    margin-left: 5px;
  }
  #page_help_about .plan-wrap-text {
    font-size: 16px;
    line-height: calc(23 / 14);
    margin-top: 35px;
  }
  #page_help_about .plan-wrap-list {
    gap: 15px;
    margin-top: 30px;
  }
  #page_help_about .plan-wrap-icon {
    width: 25px;
    height: 25px;
  }
  #page_help_about .plan-wrap-item-text {
    font-size: 16px;
    margin-left: 10px;
  }
  #page_help_about .plan-image {
    margin-top: 30px;
  }
}
@media screen and (max-width: 420px) {
  #page_help_about .about-plan-list img {
    height: 73px;
    width: auto;
    padding: 0 5px;
  }
  #page_help_about .use-time .discrible {
    min-height:100px;
  }
  #page_help_about .use-time .days span {
    font-size:44px;
  }
}
@media screen and (max-width: 375px) {
  #page_help_about .ticket-num, #page_help_about .use-time .days, #page_help_about .use-time .discrible {
    font-size:15px
  }
  #page_help_about .use-time .days span {
    font-size:41px;
  }
  #page_help_about .about-plan-list img {
    height: 70px;
  }
}
/* circle */
.circle-wrap {
  display: flex;
  margin-top: 30px;
}

.circle-image {
  margin: 50px 0 0;
}

.circle-wrap .circle-image {
  width: 50%;
  margin: 0;
}

.circle-image img {
  height: 100%;
  object-fit: cover;
}

/* merit */
.merit-image {
  margin: 80px 0 0;
}
.merit-wrap {
  max-width: 590px;
  margin: 100px auto 75px;
  border-bottom: dashed 1px #0382cc;
}
.merit-box {
  padding: 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: dashed 1px #0382cc;
}
.merit-head {
  font-size: 30px;
  line-height: calc(45 / 30);
}
.merit-body {
  font-size: 40px;
}
.merit-body .number {
  font-size: 135px;
  color: #0382cc;
}
@media screen and (max-width: 768px) {
  .merit-image {
    margin: 25px auto 0;
    max-width: 70%;
  }
  .merit-wrap {
    max-width: 70%;
    margin: 50px auto 30px;
  }
  .merit-box {
    padding: 9px 0;
  }
  .merit-head {
    font-size: 16px;
    line-height: calc(22 / 15);
  }
  .merit-body {
    font-size: 20px;
  }
  .merit-body .number {
    font-size: 63px;
  }
}

/* qanda */
.qanda-item:not(:first-child) {
  margin-top: 57px;
}
.qanda-q,
.qanda-a {
  display: flex;
}

.qanda-q {
  align-items: baseline;
}

.qanda-a {
  margin-top: 30px;
}

.qanda-head {
  font-size: 40px;
  color: #0382cc;
  margin-right: 20px;
}

.qanda-q-text {
  font-size: 33px;
}
.qanda-a-text {
  font-size: 24px;
  color: #696969;
  line-height: calc(47 / 24);
  padding-bottom: 75px;
  border-bottom: dashed 1px #0382cc;
  font-weight: 200;
}
.qanda-item:last-child .qanda-a-text {
  border-bottom: none;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .qanda-item:not(:first-child) {
    margin-top: 30px;
  }
  .qanda-a {
    margin-top: 15px;
  }
  .qanda-head {
    font-size: 20px;
    margin-right: 10px;
  }
  .qanda-q-text {
    font-size: 16px;
  }
  .qanda-a-text {
    font-size: 16px;
    line-height: calc(23 / 14);
    padding-bottom: 40px;
  }
}

/* ====================================
  購入完了画面
==================================== */
#page_shopping_complete .ec-cartCompleteRole {
  background: #fff;
  padding: 30px;
}
.ec-off3Grid .ec-off3Grid__cell .ec-reportHeading h2 {
  color: #000;
  font-size: 20px;
}
#page_shopping_complete .ec-useDescription {
  color: #000;
  margin: 30px 0;
}
.ec-off3Grid .ec-off3Grid__cell .ec-reportHeading p {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  margin-top: 30px;
  color: #57A4EA;
  font-size: 16px;
  letter-spacing: 0.8px;
}
.ec-off3Grid .ec-off3Grid__cell .ec-reportHeading p::before,
.ec-off3Grid .ec-off3Grid__cell .ec-reportHeading p::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #57A4EA;
  top: 0;
}
.ec-off3Grid .ec-off3Grid__cell .ec-reportHeading p::before {
  left: 0;
  transform: rotate(-25deg);
}
.ec-off3Grid .ec-off3Grid__cell .ec-reportHeading p::after {
  right: 0;
  transform: rotate(25deg);
}
.ec-off3Grid .ec-off3Grid__cell .ec-reportHeading figure {
  width: 90%;
  margin: 30px auto 0;
}
.ec-reportOrderNumber {
  font-size: 20px;
  color: #000;
  margin-top: 60px;
}
.ec-reportDescription {
  color: #000;
  margin-top: 30px;
}
#page_shopping_complete .ec-blockBtn--action.grey {
  background-color: #adadad !important;
  border-color: #adadad !important;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  #page_shopping_complete .ec-cartCompleteRole .ec-off3Grid {
    background: #fff;
  }
  .ec-off3Grid .ec-off3Grid__cell .ec-reportHeading figure {
    max-width: 600px;
    margin: 50px auto 0;
  }
  .ec-off3Grid .ec-off3Grid__cell .ec-reportHeading p {
    letter-spacing: 1.6px;
  }
  .ec-reportOrderNumber {
    margin-top: 60px;
    font-size: 20px;
    color: #000;
  }
  .ec-reportDescription {
    margin-top: 30px;
    color: #000;
  }
}

/* ====================================
  マイページ 利用記録
==================================== */
.ec-navlistRole__ticketBottomTop{
  display: block;
  padding: 70px 35px 0;
  position: relative;
}
#page_activation_edit .ec-navlistRole__ticketBottomTop {
  padding: 70px 35px 0;
}
.ec-navlistRole__ticket__user{
  font-size: 28px;
  color:#333;
  font-weight: 800;
  text-align: center;
  margin-bottom: 40px;
  margin-top: 60px;
}
.ec-navlistRole__ticket__subEx.useNote {
  font-size: 16px;
  margin-top: 5px;
}
.ec-navlistRole__ticket__subEx{
  font-size: 20px;
}
.ec-navlistRole__ticket__subEx.useNum {
  font-size: 20px;
  margin-top: 30px;
  font-weight: bolder;
}
.ec-navlistRole__ticket.active_num {
  font-size: 20px;
  font-weight: bold;
  margin-top: 20px;
}
.ec-navlistRole__ticketActive__btn.choose_pass {
  background: #f98643;
  border-radius: 40px;
  margin-bottom: 20px;
  color: white !important;
}

.ec-navlistRole__ticketActive__btn.choose_pass:hover {
  background: #f2af8c !important;
}
@media screen and (max-width: 767px) {
  .ec-navlistRole__ticket.active_num {
    font-size: 18px;
  }
  .ec-navlistRole__ticket__user{
    margin-bottom: 30px;
    margin-top: 40px;
    font-size: 25px;
  }
  .ec-navlistRole__ticket__subEx{
    font-size: 18px;
  }
}
.ec-navlistRole .ec-navlistRole__item .ec-navlistRole__ticketUseMemory a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  margin-bottom: 20px;
}
.ec-navlistRole .ec-navlistRole__item .ec-navlistRole__ticketUseMemory a:hover {
  text-decoration: none;
}
.ec-navlistRole .ec-navlistRole__item .ec-navlistRole__ticketUseMemory .ec-navlistRole__ticketActive__circle {
  margin-left: 0;
}
.ec-navlistRole .ec-navlistRole__item .ec-navlistRole__ticketUseMemory a span {
padding:0 10px;
}

/* ====================================
  発券完了画面
==================================== */
.ec-ticketingRole_box__complete {
  background-color: #fff!important;
  padding: 40px 15px 40px;
  text-align: center;
}
.ec-ticketingRole_box__complete ~ #page_activation_detail .ec-navlistRole_show .ec-heading-bold {
  text-align: center;
  margin-bottom: 0;
}
.ec-ticketingRole_box__complete .junior_img {
  max-width: 500px;
  margin: 0 auto;
}
.clockWrapper {
  margin: 30px auto 40px;
  background: none!important;
}
.ec-ticketingRole_continue {
  padding-top: 40px;
  padding-bottom:20px;
  border-top: dotted 2px #888888;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_visit {
  margin: 30px 0 15px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 2px;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_visit .ec-ticketingRole_visitedBold {
  font-size: 20px;
  font-weight: 500;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_facility {
  font-size: 18px;
  color: #0093d4;
  margin-bottom: 24px;
  font-weight: 500;
  letter-spacing: 1.8px;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_facility .ec-ticketingRole_facilityBold {
  font-size: 20px;
  display: block;
  margin-top: 5px;
  font-weight: 700;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_customer {
  font-size: 16px;
  margin-bottom: 44px;
  letter-spacing: 1.4px;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_customer .ec-ticketingRole_customerBold {
  font-size: 20px;
  font-weight: 700;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_map {
  margin: 0 auto 16px;
  width: 100%;
  max-width: 654px;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_use {
  font-size: 18px;
  color: #0093d4;
  margin-bottom: 94px;
  font-weight: 700;
  letter-spacing: 2px;
}
.ec-ticketingRole_box__complete .ec-ticketingRole_use .ec-ticketingRole_useBold {
  font-size: 20px;
  font-weight: 700;
}

/* ====================================
  お友達紹介プログラムLP
==================================== */
#page_friend_lp .ec-layoutRole .ec-layoutRole__contents {
  max-width: 100%;
}

#page_friend_lp .ec-friend_main {
  padding: 0;
}

#page_friend_lp .ec-layoutRole__main {
  font-family: toppan-bunkyu-gothic-pr6n, serif;
}
#page_friend_lp .ec-friend_top {
  background-color: #fff6e9;
  padding: 30px 20px 40px;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_top {
    padding: 70px 20px 100px;
  }
}
.ec-friend_heading {
  text-align: center;
}
.ec-friend_heading span {
  font-size: 20px;
  color: #0382CC;
  margin: 0 auto;
  background-color: #fff;
  border: solid 1px #0382CC;
  padding: 10px 15px;
  letter-spacing: 1px;
  line-height: 1;
  display: inline-block;
  position: relative;
}
.ec-friend_heading span::before,
.ec-friend_heading span::after {
  position: absolute;
  content: "";
}
.ec-friend_heading span::before {
  width: 28px;
  height: 32px;
  bottom: -20px;
  left: -14px;
  background: url(../img/friend/pict01.png) no-repeat center center / contain;
}
.ec-friend_heading span::after {
  width: 43px;
  height: 44px;
  top: -20px;
  right: -27px;
  background: url(../img/friend/pict02.png) no-repeat center center / contain;
}
@media screen and (min-width: 768px) {
  .ec-friend_heading span {
    font-size: 38px;
    letter-spacing: 2px;
  }
  .ec-friend_heading span::before {
    width: 62px;
    height: 70px;
    bottom: -47px;
    left: -30px;
  }
  .ec-friend_heading span::after {
    width: 90px;
    height: 90px;
    top: -50px;
    right: -57px;
  }
}
.ec-friend_top_image {
  max-width: 600px;
  margin: 30px auto 0;
}
@media screen and (min-width: 768px) {
  .ec-friend_top_image {
    max-width: 700px;
    margin: 60px auto 0;
  }
}
#page_friend_lp .ec-layoutRole__main .ec-friend_catchcopy {
  font-size: 16px;
  letter-spacing: 1.4px;
  line-height: calc(42 / 28);
  color: #000;
  margin: 22px 0 0;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-layoutRole__main .ec-friend_catchcopy {
    font-size: 27px;
    letter-spacing: 2.8px;
    margin: 44px 0 0;
  }
}
#page_friend_lp .ec-friend_image {
  display: block;
  max-width: 100%;
  padding: 50px 20px;
  margin: 0 auto;
  position: relative;
}
#page_friend_lp .ec-layoutRole__main .ec-friend_image::before {
  position: absolute;
  content: "";
  width: 25px;
  height: 27px;
  top: -15px;
  right: 34%;
  /*background: url(../img/friend/pict03.png) no-repeat center center / contain;*/
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-layoutRole__main .ec-friend_image {
    max-width: 1000px;
    padding: 110px 20px 120px;
  }
  #page_friend_lp .ec-layoutRole__main .ec-friend_image::before {
    width: 54px;
    height: 59px;
    right: 39%;
    top: -35px;
  }
}
#page_friend_lp .ec-friend_image img {
  width: 100%;
}
.ec-friend_title {
  font-size: 19px;
  letter-spacing: 1.9px;
  text-align: center;
  color: #2ea5de;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .ec-friend_title {
    font-size: 40px;
    letter-spacing: 4px;
  }
}
.ec-friend_title.large {
  font-size: 27px;
  letter-spacing: 2.7px;
  line-height: calc(84 / 55);
}
.ec-friend_title.large span {
  position: relative;
  display: inline-block;
}
.ec-friend_title.large span::before {
  position: absolute;
  content: "";
  width: 25px;
  height: 27px;
  top: -10px;
  left: 38px;
  background: url(../img/friend/pict03.png) no-repeat center center / contain;
}
.ec-friend_title.large span::after {
  position: absolute;
  content: "";
  width: 28px;
  height: 32px;
  top: 0;
  right: 50px;
  background: url(../img/friend/pict01.png) no-repeat center center / contain;
}
@media screen and (min-width: 768px) {
  .ec-friend_title.large {
    font-size: 60px;
    letter-spacing: 6px;
    line-height: calc(90 / 60);
  }
  .ec-friend_title.large span::before {
    width: 54px;
    height: 59px;
    top: -20px;
    left: 80px;
  }
  .ec-friend_title.large span::after {
    width: 62px;
    height: 71px;
    top: 0;
    right: 90px;
  }
}
.ec-friend_image_text {
  font-size: 16px;
  color: #000;
  line-height: calc(42 / 25);
  letter-spacing: 1.6px;
  max-width: 1050px;
  margin: 45px auto 0;
  position: relative;
}
.ec-friend_image_text::before {
  position: absolute;
  content: "";
  background: url(../img/friend/pict04.png) no-repeat center center / contain;
  width: 32px;
  height: 20px;
  right: 14%;
  top: -36px;
}
@media screen and (min-width: 768px) {
  .ec-friend_image_text {
    font-size: 23px;
    letter-spacing: 2px;
    margin: 80px auto 0;
  }
  .ec-friend_image_text::before {
    width: 60px;
    height: 37px;
    right: 25%;
    top: -55px;
  }
}
.ec-friend_image_picture {
  max-width: 600px;
  margin: 20px auto 0;
}
@media screen and (min-width: 768px) {
  .ec-friend_image_picture {
    margin: 40px auto 0;
    max-width: 650px;
  }
}
#page_friend_lp .ec-layoutRole__main .ec-friend_image img {
  margin: 0;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-layoutRole__main .ec-friend_image img {
    margin: 0;
  }
}
#page_friend_lp .ec-friend_step {
  background-color: #f2f2f2;
  padding: 70px 20px 90px;
  border-radius: 0;
  max-width: 100%;
  position: relative;
}
#page_friend_lp .ec-friend_step::before {
  position: absolute;
  content: "";
  width: 54px;
  height: 30px;
  top: -20px;
  right: 20%;
  background: url(../img/friend/pict05.png) no-repeat center center / contain;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_step {
    background-color: #f2f2f2;
    padding: 143px 20px 140px;
    border-radius: 0;
    max-width: 100%;
  }
  #page_friend_lp .ec-friend_step::before {
    width: 118px;
    height: 67px;
    top: -40px;
    right: 35%;
  }
}

#page_friend_lp .ec-friend_step img {
  max-height: 100%;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_step img {
    max-height: 100%;
  }
}
#page_friend_lp .ec-friend_step h3 {
  font-size: 20px;
  letter-spacing: 2px;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_step h3 {
    font-size: 38px;
    letter-spacing: 3.8px;
  }
}

.ec-friend_step_list {
  margin: 57px auto 0;
  max-width: 350px;
}
@media screen and (min-width: 768px) {
  .ec-friend_step_list {
    margin: 114px auto 0;
    max-width: 680px;
  }
}
.ec-friend_step_item {
  position: relative;
}
.ec-friend_step_item::before {
  position: absolute;
  content: "";
}
.ec-friend_step_item:not(:first-child) {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .ec-friend_step_item:not(:first-child) {
    margin-top: 80px;
  }
}
.ec-friend_step_item:nth-child(1)::before {
  width: 28px;
  height: 17px;
  top: 5px;
  left: 30px;
  background: url(../img/friend/pict06.png) no-repeat center center / contain;
}
.ec-friend_step_item:nth-child(2)::before {
  width: 32px;
  height: 37px;
  top: -35px;
  left: 35px;
  background: url(../img/friend/pict07.png) no-repeat center center / contain;
}
.ec-friend_step_item:nth-child(3)::before {
  width: 28px;
  height: 17px;
  top: 5px;
  right: 30px;
  background: url(../img/friend/pict08.png) no-repeat center center / contain;
}
@media screen and (min-width: 768px) {
  .ec-friend_step_item:nth-child(1)::before {
    width: 60px;
    height: 37px;
    top: 15px;
    left: 61px;
  }
  .ec-friend_step_item:nth-child(2)::before {
    width: 70px;
    height: 83px;
    top: -20px;
    left: 45px;
  }
  .ec-friend_step_item:nth-child(3)::before {
    width: 60px;
    height: 37px;
    top: 145px;
    right: 0;
  }
}
#page_friend_lp .ec-friend_step .ec-friend_step_number,
.ec-friend_step_title {
  color: #000;
  font-size: 25px;
  letter-spacing: 2.5px;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_step .ec-friend_step_number,
  .ec-friend_step_title {
    font-size: 53px;
    letter-spacing: 5.3px;
  }
}
.ec-friend_step_text,
.ec-friend_step_note {
  font-size: 16px;
  letter-spacing: 1.4px;
  line-height: calc(42 / 28);
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .ec-friend_step_text,
  .ec-friend_step_note {
    margin-top: 20px;
  }
  .ec-friend_step_text {
    font-size: 24px;
    letter-spacing: 2.6px;
  }
  .ec-friend_step_note {
    font-size: 20px;
    letter-spacing: 2px;
  }
}
.ec-friend_step_image {
  margin: 0;
}
.ec-friend_step_image.-first {
  margin: 0 auto;
  max-width: 280px;
}
@media screen and (min-width: 768px) {
  .ec-friend_step_image.-first {
    max-width: 500px;

  }
}
.ec-friend_use {
  padding: 0 15px;
  margin: 35px auto 0;
  position: relative;
}
.ec-friend_use::before {
  position: absolute;
  content: "";
  width: 28px;
  height: 40px;
  top: -55px;
  left: 20%;
  background: url(../img/friend/pict09.png) no-repeat center center / contain;
}
@media screen and (min-width: 768px) {
  .ec-friend_use {
    max-width: 1230px;
    margin: 55px auto 0;
  }
  .ec-friend_use::before {
    width: 63px;
    height: 88px;
    left: 160px;
    top: -100px;
  }
}
.ec-friend_use_wrap {
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  /*border-bottom: solid 5px #000;*/
}
@media screen and (min-width: 768px) {
  .ec-friend_use_wrap {
    flex-direction: row;
    padding-bottom: 30px;
    /*border-bottom: solid 10px #000;*/
  }
}
.ec-friend_use .ec-friend_title {
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .ec-friend_use .ec-friend_title {
    padding-top: 120px;
  }
}
.ec-friend_use_text {
  margin-top: 53px;
  margin-bottom: 28px;
  font-size: 16px;
  line-height: calc(42 / 28);
  letter-spacing: 1.4px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ec-friend_use_text {
    margin-top: 90px;
    margin-bottom: 57px;
    font-size: 30px;
    letter-spacing: 3px;
  }
}
.ec-friend_use_box {
  padding: 43px 0;
  border-top: dashed 1px #000;
  border-left: none;
}
@media screen and (min-width: 768px) {
  .ec-friend_use_box {
    padding: 86px 30px;
    border-left: dashed 2px #000;
    border-top: none;
    width: 50%;
  }
}
.ec-friend_use_box:last-child {
  border-bottom: dashed 1px #000;
  border-right: none;
}
@media screen and (min-width: 768px) {
  .ec-friend_use_box:last-child {
    border-right: dashed 2px #000;
    border-bottom: none;
  }
}
.ec-friend_use_picture {
  max-width: 180px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 100%;
}
@media screen and (min-width: 768px) {
  .ec-friend_use_picture {
    max-width: 360px;
  }
}
.ec-friend_use_picture img {
  height: 100%;
  object-fit: cover;
  border-radius: 100%;
  border: solid 1px #707070;
}
.ec_friend_use_box_title {
  font-size: 20px;
  letter-spacing: 2px;
  color: #0091d2;
  text-align: center;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .ec_friend_use_box_title {
    font-size: 30px;
    /* letter-spacing: 3px; */
    margin-top: 48px;
    /* min-height: 100px; */
  }
}
.ec_friend_use_box_text {
  text-align: center;
  margin-top: 15px;
  font-size: 16px;
  letter-spacing: 1.4px;
}
@media screen and (min-width: 768px) {
  .ec_friend_use_box_text {
    font-size: 24px;
    letter-spacing: 2.4px;
    margin-top: 33px;
  }
}
.ec-friend_introduce {
  padding: 0 20px;
  max-width: 1230px;
  margin: 57px auto 0;

}
@media screen and (min-width: 768px) {
  .ec-friend_introduce {
    margin-top: 114px;
  }
}
#page_friend_lp .ec-blockBtn--top {
  max-width: 100%;
  font-size: 20px;
  letter-spacing: 2px;
  padding: 10px;
  height: auto;
  background: #0091d2;
  margin: 45px auto 0;
  line-height: 1;
  padding: 20px 10px;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-blockBtn--top {
    font-size: 43px;
    letter-spacing: 4.3px;
    padding: 28px 20px;
    margin: 48px auto 0;
  }
}
#page_friend_lp .ec-friend_caution {
  font-size: 18px;
  letter-spacing: 1.8px;
  line-height: calc(55 / 35);
  margin-top: 50px;
}
#page_friend_lp .ec-friend_caution.only-pc {
text-align:center;
  display: none;
}
#page_friend_lp .ec-friend_caution.only-phone {
display:block;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_caution {
    font-size: 30px;
    letter-spacing: 3px;
    margin-top: 97px;
  }
  #page_friend_lp .ec-friend_caution.only-pc {
    display: block;
  }
  #page_friend_lp .ec-friend_caution.only-phone {
    display: none;
  }
}
#page_friend_lp .ec-friend_caution span {
  color: #0091d2;
}
#page_friend_lp .ec-friend_caution.red {
  color: #ff0000;
}
#page_friend_lp span.copyBtn {
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  #page_friend_lp span.copyBtn {
    font-size: 35px;
  }
}
.ec-friend_caution_wrap {
  margin-top: 40px;
  border-bottom:5px solid #0c0c0c;
  padding-bottom:50px;
}
@media screen and (min-width: 768px) {
  .ec-friend_caution_wrap {
    margin-top: 80px;
    border-bottom:10px solid #0c0c0c;
    padding-bottom:100px;
  }
}
#page_friend_lp .ec-friend_caution_wrap .ec-friend_caution {
  font-size: 16px;
  line-height: calc(45 / 26);
  text-align: left;
  margin-top: 0;
  letter-spacing: 1.2px;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_caution_wrap .ec-friend_caution {
    font-size: 24px;
    letter-spacing: 2px;
    margin-top: 0;
  }
}
#page_friend_lp .ec-friend_caution_wrap .ec-friend_caution a {
  color: #000;
}
#page_friend_lp .ec-layoutRole__main .ec-copyRole_input p {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-layoutRole__main .ec-copyRole_input p {
    font-size: 28px;
  }
}
.ec-friend_sns_text {
  text-align: center;
  margin-top: 40px;
  font-size: 16px;
  letter-spacing: 1.4px;
}
@media screen and (min-width: 768px) {
  .ec-friend_sns_text {
    font-size: 30px;
    letter-spacing: 3px;
    margin-top: 140px;
  }
}
#page_friend_lp .ec-friend_sns {
  gap: 30px;
  padding-bottom: 50px;
  border-bottom: solid 2px #707070;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_sns {
    gap: 60px;
    padding-bottom: 100px;
    border-bottom: none;
  }
}
#page_friend_lp .ec-friend_sns a {
  width: 30px;
}
@media screen and (min-width: 768px) {
  #page_friend_lp .ec-friend_sns a {
    width: 60px;
  }
}


/*-----Field: index------*/
.field-article.is-list .field-item {
  position: relative;
}
.field-article.is-list .field-item-status{
  width: 100px;
  text-align: center;
  border: solid 1px;
  color: white;
  padding: 5px 20px;
  border-radius: 25px;
  font-size: 16px;
  position: absolute;
  right: 10px;
  top: 20px;
}
.field-item-status.detail{
  width: 100px;
  text-align: center;
  border: solid 1px;
  color: #2682cc;
  background-color: #fff;
  padding: 5px 20px;
  border-radius: 25px;
  font-size: 16px;
  position: relative;
}
.field-article.is-list .field-item-status.unvalid{
  color: #2682cc;
}
.field-article.is-list .field-item-status.valid{
  background: #2682cc;
  color: white;
}
.field-article.is-gallery .field-item-status{
  width: 100px;
  margin-top: 20px;
  text-align: center;
  border: solid 1px;
  color: white;
  padding: 5px 20px;
  border-radius: 25px;
  font-size: 16px;
  /* position: absolute; */
  bottom: 0;
}
.field-article.is-gallery .field-item-status.unvalid{
  color: #2682cc;
}
.field-article.is-gallery .field-item-status.valid{
  background: #2682cc;
  color: white;
}
.field-article.is-list .field-item.closed::before {
  content: ' ';
  position: absolute;
  left: 50%;
  top: 50%;
  height: 90px;
  width: 260px;
  margin-top: -45px;
  margin-left: -130px;
  background-image: url("../img/top/closed.png");
  background-repeat: no-repeat;
  z-index: 2;
  background-size: contain;
  background-position: center;
}
.nessary-ticket-num-group {
  display: flex;
}
.nessary-ticket-num-group > *:not(:first-child){
  margin-left: 20px;
}
 .nessary-ticket-num {
  font-family: '游ゴシック体';
   margin-top: 10px;
   display: flex;
   align-items: flex-end;
   justify-content: left;
   color: #2a92d3;
   font-weight: bold;
   font-size: 15px;
   margin-bottom: 10px;
}
.nessary-ticket-num p {
  text-align: center;
  background: #2a92d3;
  color: #fff;
  white-space: nowrap;
  line-height: 2;
  width: 113px;
  font-weight: normal;
}
 .nessary-ticket-num span {
   padding:0 7px;
  font-size: 30px;
   line-height: 1;
  color: #2a92d3;
}
 .use-limit {
  font-family: '游ゴシック体';
  margin-top: 15px;
   display: flex;
   align-items: flex-end;
   justify-content: left;
   color: orange;
   font-size: 15px;
   font-weight: bold;
}
.use-limit p {
  background: orange;
  color: #fff;
  text-align: center;
  line-height: 2;
  width: 113px;
  border-radius: 20px;
  font-weight: normal;
}
 .use-limit span {
    font-size: 30px;
   line-height: 1;
    padding:0 7px;
    color: orange;
}

.field-article.is-gallery .field-item {
  position: relative;
}
.field-article.is-gallery .field-item.closed::before {
  content: ' ';
  position: absolute;
  right: 10%;
  top: 10%;
  height: 30%;
  width: 80%;
  background-image: url("../img/top/closed.png");
  background-repeat: no-repeat;
  z-index: 2;
  background-size: contain;
  background-position: center;
}


/*-------------------------------------------------
cj edit by 2023-09-23
---------------------------------------------------*/
/*line login*/
.cj-change-wrap {
  padding: 35px 50px;
  background:rgba(255, 255, 255, 0.52);
  border: 0!important;
  border-radius:4px;
}
.ec-borderedDefs.cj-change-wrap dl:last-child {
  border-bottom:0
}
.btn-link {
  outline: none!important;
  box-shadow: none!important;
}
.line-btn {
  width:80%;
  max-width: 260px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: left;
  color: #fff;
  border-radius: 8px;
  background-color: #06c755;
  overflow: hidden;
  border: 0;
  padding-left: 0;
  padding-right: 0;
  cursor: pointer;
}
.line-btn .icon {
  background-image: url("../img/common/btn_base.png");
  background-size: cover;
  width:55px;
  height:55px;
  border-right:1px solid rgba(0,0,0,0.08);
}
.line-btn span {
  font-size:16px;
  padding-left:10px;
  text-align: center;
  flex: 1;
  padding-right: 30px;
}
.line-btn:hover {
  background-color: #05B34C;
}
.line-btn:hover .icon {
  background-color: #048B3B;
  background-image: url("../img/common/btn_press.png");
}
.line-btn:active, .line-btn:focus {
  background-color: #048B3B;
}
.line-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.line-info .left {
  display: flex;
  align-items: center;
  justify-content: left;
  flex: 1;
}
.line-info .icon {
  background-image: url("../img/common/line_connect.png");
  background-size: cover;
  width:55px;
  height:55px;
}
.line-info .text {
  font-size:16px;
  padding-left:20px;
  line-height: 1.6;
  flex: 1;
  padding-right:20px;
}
.line-info .text p {
  font-size:0.875rem;
  padding-top:4px;
}
.line-info .right {
  text-align: right;
}
.line-info .right .btn-go {
  border:1px solid #0382CC;
  color:#0382cc;
  font-size:1rem;
  line-height: 40px;
  height:40px;
  padding:0 15px;
  border-radius:24px;
  display: inline-block;
}
.line-info .right .btn-go:hover,.line-info .right .btn-go:active {
  background: #0382CC;
  color:#fff;
  opacity: 1;
  text-decoration: none;
}
.line-info .right .tooltip {
  width:200px;
}
.line-info .right .tooltip.fade.in {
  opacity: 0.9!important;
}
@media only screen and (max-width: 767px) {
  .line-btn {
    margin:0 auto;
    max-width:395px;
  }
  .line-info {
    display: block;
  }
  .line-info .right {
    text-align: center;
    padding-top:1rem;
  }
  .line-info .right .btn-go {
    width:90%;
  }
  .cj-change-wrap {
    padding: 20px 15px;
  }
}
/*-------------Mypage: ticket------------------*/
#activate-modal.ec-modal .ec-modal-close {
  width: 17px;
}
.ticket-tab-nav {
  width: 100%;
  max-width: 475px;
  margin: 0 auto 30px;
  background: #fff;
  border-radius: 14px;
  height: 44px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.ticket-tab-nav .tab-btn {
  flex: 1;
  text-align: center;
  line-height: 40px;
  border: 2px solid #fff;
  border-radius: 14px;
  color: #444;
  font-size: 17px;
  font-weight: bold;
  text-decoration: none;
}
.ticket-tab-nav .tab-btn.active {
  background: #0382cc;
  background: linear-gradient(to bottom, #0382cc 0%, #2ea7e0 30%, #2ea7e0 70%,  #0382cc 100%);
  color: #fff;
}
.ticket-tab-nav .tab-btn:hover {
  text-decoration: none;
}
.ticket-tab-nav .tab-btn.active:hover {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .ticket-tab-nav {
    max-width: 410px;
  }
}
.line-notice {
  display: flex;
  align-items: center;
  justify-content:space-between;
  margin:20px auto;
  font-size:1rem;
}
.line-notice .glyphicon {
  margin-right:1rem;
  font-size:1.5rem;
  transform: rotate(-15deg);
}
.line-notice > div {
  flex:1;
  padding-right:10px;
}
.line-notice strong {
  font-size:1.125rem;
}
.line-notice p {
  line-height: 1.6;
}

.line-notice .ec-blockBtn--action {
  width:auto;
  min-width:90px;
  height:42px;
  line-height:42px;
  margin-bottom:0;
}
@media only screen and (max-width: 767px) {
  .line-notice {
    margin:0 auto;
  }
}
.ticket-top-line {
  margin:0 auto;
  text-align: center;
  padding-bottom:25px;
}
.ticket-top-line .line-btn {
  margin:0 auto;
}
.ticket-top-line p {
  text-align: center;
  font-size:14px;
  margin-top: 10px;
}
.ticket-top-line p .glyphicon {
  color:#999;
  margin-right:5px;
}
.ticket-unused-tip {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: left;
  line-height: 1.42;
  border-bottom: 1px solid #D0D0D1;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.ticket-unused-tip img {
  width:50px;
  height:50px;
  display: block;
  margin-right:1rem;
}
.ticket-each-card {
  position: relative;
  border-radius: 50px;
}
@media only screen and (max-width: 767px) {
  .ec-navlistRole .ec-navlistRole__item.pass {
    max-width: 410px;
    margin-left:auto;
    margin-right:auto;
  }
  .ec-navlistRole__useDetail {
    max-width: 410px;
    margin-left:auto;
    margin-right:auto;
  }
}
  .ticket-each-card .ec-navlistRole__ticketImg {
    width: 100%;
    margin: 0 auto;
    text-align: left;
  }
.ec-navlistRole__ticketBottom__right {
  width: 100%;
}
.ticket-each-card .ec-navlistRole__ticketBottom {
  background-image: url("../img/common/passbg.png");
  background-blend-mode:normal;
}
.ticket_bg_pro {
  background-image: url(../img/common/passbg_pro.png);
  background-position: center top;
  background-size: cover;
  height: 712px;
  border-radius: 50px;
}
.ticket_bg_std {
  background-image: url(../img/common/passbg_std.png);
  background-position: center top;
  background-size: cover;
  height: 712px;
  border-radius: 50px;
}
.ticket_bg_sl {
  background-image: url(../img/common/passbg_sl.png);
  background-position: center top;
  background-size: cover;
  height: 712px;
  border-radius: 50px;
}
.ticket_bg_lite {
  background-image: url(../img/common/passbg_lite.png);
  background-position: center top;
  background-size: cover;
  height: 712px;
  border-radius: 50px;
}
.ticket_bg_un_used {
  background-image: url(../img/common/passbg_no_used.png);
  background-position: center top;
  background-size: cover;
  height: 712px;
  border-radius: 50px;
}
@media only screen and (max-width: 767px) {
  .ticket_bg_pro, .ticket_bg_std, .ticket_bg_sl, .ticket_bg_lite, .ticket_bg_un_used {
    height: 630px;
  }
}
.ticket-each-card .user-thumb-line {
  position: absolute;
  z-index: 4;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: left;
  width: auto;
  height: 36px;
  line-height: 28px;
  border-radius: 0 30px 30px 0;
  background: #06C755;
  padding: 0 10px 0 6px;
}
.ticket-each-card .user-thumb-line img {
width:32px;
}
.ticket-each-card .user-thumb-line span {
  flex:1;
  border-left:1px solid #05AB47;
  padding:0 5px;
  color:#fff;
  font-weight: normal;
  font-size: 14px;
}
.ticket-each-card .user-thumb-line.fail {
background: #777777;
}
.ticket-each-card .user-thumb-line.fail span {
color:#DDDDDD;
  border-color:#999999;
}
.ec-off4Grid.ticket-help-wrap {
  display: flex;
  justify-content: center;
}
.ec-off4Grid.ticket-help-wrap .ec-off4Grid__cell {
  width: 100%;
  max-width: 475px;
  margin-left:0;
}
.ticket-qrcode {
  position: relative;
  background: white;
  /* border-top: 3px dashed #ccc;
  border-bottom: 3px dashed #ccc; */
  margin-top: 20px;
  margin-bottom: 20px;
  border-left: solid 10px #30a7e0;
}
/* .ticket-qrcode:before {
  position: absolute;
  left:-14px;
  top:-14px;
  width:28px;
  height:28px;
  content:' ';
  background-color: #EAEAEA;
  border-radius:20px;
  background-image: url("../img/common/ticket_qrcode_li_l.png");
  background-repeat: no-repeat;
  z-index: 3;
} */
/* .ticket-qrcode:after {
  position: absolute;
  left:-14px;
  bottom:-14px;
  width:28px;
  height:28px;
  content:' ';
  border-radius:20px;
  background-color: #EAEAEA;
  background-image: url("../img/common/ticket_qrcode_li_l.png");
  background-repeat: no-repeat;
  z-index: 4;
} */
.ticket-qrcode .connent {
  position: relative;
  padding:16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
 .ticket-qrcode .left {
  text-align: left;
  padding:10px 15px 10px 0;
  flex:1;
  margin-right: 16px;
  border-right: dotted 2px #ccc;
}
 .ticket-qrcode .left .head {
  font-size:20px;
   color: #000;
}
 .ticket-qrcode .left .desc {
  display: flex;
  align-items: center;
  font-weight: normal;
  justify-content: left;
   font-size: 16px;
}
 .ticket-qrcode .left p {
  padding-top:10px;
}
@media only screen and (max-width: 767px) {
  .ticket-qrcode .left .head {
    font-size: 18px;
  }
  .ticket-qrcode .left .desc {
    font-size: 16px;
  }
}
 .ticket-qrcode .left .qr-btn {
  display: flex;
  align-items: center;
  color: #fff;
  background: #0382CC;
  padding: 7px 16px;
  width:auto;
  border-radius: 50px;
}
 .ticket-qrcode .left .qr-btn img {
  width:14px;
  height:14px;
  margin-right:3px;
  display: inline-block;
}
.ticket-qrcode .left .ticket-qr-cancel {
  border-radius: 25px;
    background: #30a7e0;
  color: #fff;
    width: 115px;
    margin-top: 9px;
}
.ticket-qrcode .left .ticket-qr-cancel a {
  width: 100%;
  display: block;
  line-height: 2;
  text-align: center;
  padding: 0;
  color: #fff;
}
.ticket-qrcode .left .ticket-qr-cancel a:hover {
  color: #fff!important;
}
.ticket-qrcode .right {
  width:100px;
  height:100px;
  overflow: hidden;
  background: #fff;
  border:1px solid #ddd;
  position: relative;
}
 .ticket-qrcode .right .big {
  font-size: 14px;
    color: white;
    position: absolute;
    padding: 0;
    width: 75px;
    /* height: 40px; */
    background: rgb(46 167 224);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    left: 32%;
    top: 58%;
    margin-left: -20px;
    margin-top: -20px;
}
 .ticket-qrcode .right .big:hover {
  opacity: 0.8;
}
 .ticket-qrcode .right .big img {
  width:24px;
}
 .ticket-qrcode .right .qrcode-img {
  margin:10px;
  cursor: pointer;
  width:calc(100% - 20px);
  height:calc(100% - 20px);
  background: #f9f9f9;
}
 .ticket-qrcode .right .qrcode-img canvas {
  width:78px;
  height:78px;
}
.ticket-each-card .ec-navlistRole__ticketActive {
  display: flex;
  justify-content: right;
  align-items: center;
  padding: 10px 35px;
}
.ticket-each-card .ec-navlistRole__ticketActive .left {
  width:100%;
  text-align: left;
}
.ticket-each-card .ec-navlistRole__ticketActive .activation_code {
  margin-top: 99px;
  width:100%;
}
.ticket-each-card .ec-navlistRole__ticketActive .discarding_area {
  margin-top:56px;
  width:100%;
}
.ticket-each-card .ec-navlistRole__ticketActive a span {
  font-size:18px;
  padding: 0 10px;
}
.ticket-each-card .ec-navlistRole__ticketActive .snow-popup-btn {
  padding:0;
  width:auto;
  text-decoration: underline;
  color:#f39800;
}
.ticket-each-card .ec-navlistRole__ticketActive .snow-popup-btn:hover {
  text-decoration: underline;
  background: none;
}
.ticket-each-card .ec-navlistRole__ticketUseMemory .ec-navlistRole__ticketActive__btn span {
  padding:0 10px;
  padding:18px;
}
.ticket-each-card #activation_area {
  width:100%;
}
.ticket-each-card .ec-navlistRole__ticketActive {
  width:100%;
}
.ticket-each-card .ec-navlistRole__ticketActive .ticket-btn-group {
  display: flex;
  justify-content: right;
  align-items: center;
  width:100%;
}
.ticket-each-card .ec-navlistRole__ticketActive .ticket-btn-group label {
  flex:1;
}
.ticket-each-card .ec-navlistRole__ticketActive .ticket-btn-group a span {
  font-size:18px;
  font-weight: bold;
  padding:0 10px;
}
.ticket-each-card .ec-navlistRole__ticketActive__circle {
  background: rgb(255 187 57 / 50%);
  margin-left: 0;
}
.ticket-each-card .ec-navlistRole__ticketActive__circleCenter {
  background: #FF9326;
}
.ticket-each-card a.disabled {
  cursor: not-allowed;
}
.ticket-each-card a.disabled .ec-navlistRole__ticketActive__circle {
   background: rgba(175, 175, 175, 0.5);
 }
.ticket-each-card a.disabled .ec-navlistRole__ticketActive__circleCenter {
  background: #AFAFAF;
}
@media only screen and (max-width: 767px) {
  .ticket-each-card .ticket-qrcode .right {
    width:90px;
    height:90px;
  }
  .ticket-each-card .ticket-qrcode .right .qrcode-img canvas {
    width:68px;
    height:68px;
  }
  .ticket-each-card .ec-navlistRole__ticketUseMemory .ec-navlistRole__ticketActive__btn span {
    font-size: 16px;
  }
  .ticket-each-card .ec-navlistRole__ticketActive a span {
    font-size: 16px;
  }
  .ticket-each-card .ec-navlistRole__ticketActive .ticket-btn-group a span {
    font-size: 16px;
  }
}
@media only screen and (max-width: 399px) {
  .ticket-each-card .ec-navlistRole__ticketActive .ticket-btn-group a span {
    font-size: 15px;
  }
  .ticket-each-card .ec-navlistRole__ticketActive a span {
    font-size: 15px;
  }
}
.ticket-qrcode-modal .ec-modal-wrap,
.ticket-cancel-modal .ec-modal-wrap {
  transition: all 0.6s;
  top: -120%;
  padding:20px 20px 30px 20px;
}
.ticket-qrcode-modal .junior-img {
  max-width: 400px;
  margin: 0 auto;
}
.ticket-qrcode-modal .ec-modal-wrap.active,
.ticket-cancel-modal .ec-modal-wrap.active {
  top:0
}
.ticket-qrcode-modal .ec-inlineBtn--cancel , .ticket-cancel-modal .ec-inlineBtn--cancel{
  width:200px;
}
.ticket-qrcode-modal .other {
  padding-top: 15px;
  border-top: 1px dashed #ddd;
  margin-top: 25px;
  font-weight: bold;
  padding-bottom: 10px;
  font-size: 18px;
  line-height: 1.6;
}
.ticket-qrcode-modal .other .glyphicon {
  color: #FF9326;
  margin-right: 5px;
}
.ticket-qrcode-modal .code-img {
  width:300px;
  height:300px;
  margin:20px auto;
  background: #fff;
  padding: 10px;
  border: 10px solid #f3f3f3;
}
.ticket-qrcode-modal .code-img canvas {
  width:100%;
  height:100%;
}
.ticket-qrcode-modal .tip {
  font-size:1.125rem;
  text-align: center;
  margin-bottom:2rem;
}

@media only screen and (max-width: 767px) {
  .ticket-qrcode-modal .other {
    font-size:15px;
  }

}

.snow-modal .ec-modal-wrap {
  transition: all 0.6s;
  padding: 30px 35px 40px 35px;
  top: -120%;
  border-radius: 20px;
  font-family: toppan-bunkyu-gothic-pr6n, serif;
}
.snow-modal .ec-modal-wrap.active {
  top:0
}
.snow-modal .service-modal-close {
  top:10px;
  right:10px;
  z-index: 99;
}
.snow-modal .service-modal-close img {
  width:17px;
  height:17px;
  display: block;
}
.snow-modal .snow-head {
  text-align: center;
  margin: 0 auto;
  position: relative;
  font-weight: 700;
  color: #0382cc;
}
.snow-modal .snow-head span {
  width: max-content;
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding: 0 1em;
  margin: 0 auto;
  font-size: 26px;
  display: block;
}
.snow-modal .snow-head::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #0382cc;
}
.snow-modal .snow-list {
  text-align: left;
  color:#222;
}
.snow-modal .snow-list li {
  margin-top: 10px;
  font-size: 24px;
  position: relative;
  padding-left: 50px;
  font-weight: 700;
  line-height: 36px;
}
.snow-modal .snow-list li::before {
  position: absolute;
  content: "";
  width: 36px;
  height: 36px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.snow-modal .snow-list li.is-snow::before {
  background: url(../img/common/icon-snow.png) no-repeat center center / contain;
}
@media only screen and (max-width: 767px) {
  .snow-modal .ec-modal-wrap {
    border-radius:15px;
    padding:25px 15px;
  }
  .snow-modal .snow-head span {
    font-size:16px;
  }
  .snow-modal .snow-list li {
    font-size:16px;
    margin-top: 12px;
    padding-left: 35px;
    line-height: 26px;
  }
  .snow-modal .snow-list li::before {
    width:25px;
    height:25px;
  }
}
@media only screen and (max-width: 390px) {
  .snow-modal .snow-list li {
    margin-top: 8px;
  }
}
.ezpass-content {
  padding: 0;
  list-style: none;
  position: relative;
  max-width:475px;
  margin:0 auto;
  padding-bottom: 20px;
}
.ezpass-content .ticket.ticket-each-card {
  /*margin-bottom:40px;*/
}
.ezpass-content .ticket-ezpass {
  background-position: center center;
  background-size: cover;
  border-radius: 50px;
}
.ezpass-content.un-use .ticket-ezpass {
  height: 595px;
  background-image: url(../img/common/mypage_ezback.png);
}
.ezpass-content.is-connect .ticket-ezpass {
  height: 595px;
  background-image: url(../img/common/mypage_ezback.png);
}
.ezpass-content.is-used .ticket-ezpass {
  height: 570px;
  background-image: url(../img/common/mypage_ezback_used.png);
}
.ec-navlistRole .ezpass-content .ec-navlistRole__item.pass {
  /*border:0; */
}
.ec-navlistRole .ezpass-content .ec-navlistRole__item.pass:last-child {
  border:0;
}
.ticket-ezpass .facility-logo {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ticket-ezpass .facility-logo img {
  max-height: 110px;
  max-width:100%;
  display: block;
  height: auto;
  width: auto;
}
.ticket-ezpass .ec-navlistRole__ticket__user {
  text-align: left;
  margin-top: 30px;
}
.ticket-ezpass .activation_code a, .ticket-ezpass .discarding_area a {
  display: flex;
  justify-content: right;
  align-items: center;
  width: 100%;
  background: none;
  text-decoration: none;
  padding: 0;
}
.ticket-ezpass .activation_code a:hover, .ticket-ezpass .discarding_area a:hover {
  background: none;
  text-decoration: none;
}
.ticket-ezpass .ec-navlistRole__ticket__status {
  background: none;
  border: 2px solid #0382cc;
  color: #0382cc;
  font-size: 14px;
  padding: 8px 16px;
}
.ezpass-content .ticket-each-card .ezpass-ticket-btn-group {
  gap: 30px;
}
.ezpass-content .ticket-each-card .ezpass-ticket-btn-group a {
  background: #0382cc;
  color:#fff;
  border-radius: 16px;
  display: block;
  padding: 10px 10px;
}
.ezpass-content .ticket-each-card .ezpass-ticket-btn-group a span {
  color:#fff;
}
.ezpass-content .ticket-each-card .ezpass-ticket-btn-group .ec-navlistRole__ticketActive__circle {
  display: none!important;
}
@media screen and (max-width: 767px) {
  .ticket-ezpass .ec-navlistRole__ticket__user {
    font-size: 22px;
    margin-top: 30px;
  }
  .ezpass-content .ticket-each-card .ezpass-ticket-btn-group {
    gap: 20px;
  }
  .ezpass-content.un-use .ticket-ezpass, .ezpass-content.is-connect .ticket-ezpass {
    height:520px;
  }
  .ezpass-content.is-used .ticket-ezpass {
    height:480px;
  }
  .ezpass-content .ticket-each-card .ec-navlistRole__ticketActive .activation_code {
    margin-top:40px;
  }
  .ezpass-content .ticket-each-card .ec-navlistRole__ticketActive .discarding_area {
    margin-top:0;
  }
}

.nothing-ticket {
  width: 200px;
  padding-top: 20px;
  margin: 0 auto;
  text-align: center;
}
.nothing-ticket img {
  width: 110px;
}
.nothing-ticket p {
  font-size: 16px;
  padding-bottom: 50px;
}

#page_activation_edit_one .ec-layoutRole__main {
padding:40px;
}
.ezpass-ticketRole_head {
  padding-bottom:24px;
  text-align: center;
}
.ezpass-ticketRole_head .ec-heading-bold {
  font-size:18px;
  margin-bottom: 0;
}
.ezpass-navlistRole .ezpass-content {
  padding-bottom:20px;
}
@media only screen and (max-width: 767px) {
  #page_activation_edit_one .ec-layoutRole__main {
    padding: 24px;
  }
  .ezpass-ticketRole_head .ec-heading-bold {
    font-size:20px;
  }
  #page_activation_edit_one .ec-layoutRole__main .ec-mypageRole {
    padding: 0;
  }
}

/*-------------------Mypage: キャンセル-----------------*/
.ticket-cancel-modal .cancel-close-btn {
  position: absolute;
  right: 5px;
  top: 0;
  font-size: 25px;
}
.ticket-cancel-modal .cancel-img {
  max-width: 90%;
  margin: 0 auto;
}
.ticket-cancel-modal h3 {
  font-weight: bold;
  margin: 20px;
  font-size: 22px;
  text-align: center;
  color: #1092d4;
}
.ticket-cancel-modal p {
  margin-bottom: 10px;
  text-align: left;
}
.ticket-cancel-modal p strong {
  font-size: 20px;
  display: block;
}

.ticket-cancel-modal .cancel-close-btn a {
  width: auto;
  background: none!important;
  box-shadow: none !important;
  color: black;
  border: none;
  padding: 10px 10px;
}
.ticket-cancel-modal .cancel-close-btn a img {
  width:17px;
  height:17px;
  display: block;
}
.ticket-cancel-modal ul{
  text-align: left;
    margin: 20px 50px;
}
.ticket-cancel-modal ul li{
  margin-top:10px;
}
.ticket-cancel-modal .btn-next, .ticket-cancel-modal .btn-footer {
  text-align: center;
}
.ticket-cancel-modal .btn-next a {
  background: #f98643;
  border: none;
  margin: 10px 20px;
  padding: 18px 16px;
  border-radius: 30px;
}
.ticket-cancel-modal .btn-footer a {
  background: #a9a9a9;
  border: none;
  margin: 10px 20px;
  padding: 18px 16px;
  border-radius: 30px;
}
/*-------------------Mypage: ticket-check-unused-----------------*/
.ticket-check-unused-modal .ec-modal-wrap {
  transition: all 0.6s;
  top: -120%;
  padding: 20px 20px 15px 20px;
}
.ticket-check-unused-modal .ec-modal-wrap.active {
  top:0;
}
.ticket-check-unused-modal .img {
  max-width: 90%;
  margin: 0 auto;
}
.ticket-check-unused-modal h3 {
  font-weight: bold;
  margin: 20px;
  font-size: 22px;
  text-align: center;
  color: #1092d4;
}
.ticket-check-unused-modal p {
  margin-bottom: 10px;
  text-align: center;
  font-size:18px;
}
.ticket-check-unused-modal .btn-footer {
  text-align: center;
}
.ticket-check-unused-modal .btn-footer a {
  background: #a9a9a9;
  border: none;
  margin: 10px 20px;
  padding: 18px 16px;
  border-radius: 30px;
  width:200px;
}
@media only screen and (max-width: 767px) {
  .ticket-check-unused-modal p {
    font-size:16px;
  }
}


/*-------------------Mypage: wave 予約-----------------*/
/*.wave-disapoint-title{
  margin-top: 10px;
  background: #1f6bb9;
  color: white;
  text-align: center;
  margin: 0 calc(50% - 50vw) 32px;
  padding: 15px 0 10px 0;
}
.disapoint-top {
  display: flex;
  align-items: center;
  justify-content: center;
}
.wave-disapoint-title .disapoint-top img{
  width: 37px;
  border: solid 1px;
  border-radius: 50%;
  margin-right: 10px;
}
.wave-disapoint-title .disapoint-top span {
  font-size: 24px;
  font-weight: bold;
}
.wave-disapoint-title p{
  padding: 10px 30px;
}
.wave-disapoint-body{
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 475px;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
}
.wave-disapoint-body::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: #1f6bb9;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  pointer-events: none;
}
.wave-disapoint-body .wave-selectbox{
  width: 100%;
  appearance: none;
  min-width: 230px;
  height: 2.8em;
  padding: .4em calc(.8em + 30px) .4em .8em;
  border: none;
  border-radius: 3px;
  box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
  background-color: #fff;
  color: #333333;
  font-size: 1em;
  cursor: pointer;
  border-left: solid 10px #1f6bb9;
}
.wave-disapoint-buttons{
  display: flex;
  justify-content: center;
  margin: 20px 15px;
}
.wave-disapoint-buttons div{
  background: #1f6bb9;
  color: white;
  font-size: 16px;
  border-radius: 25px;
  margin: 0 15px;
}
.wave-disapoint-buttons div a{
color: #fff;
display: block;
padding: 8px 20px;
min-width: 110px;
text-align: center;
text-decoration: none;
}
 */
.wave-disapoint-title {
  margin-top: 10px;
  background: #1f6bb9;
  color: #fff;
  text-align: center;
  margin: 0 calc(50% - 50vw) 32px;
  padding: 34px 0;
}
.wave-disapoint-title > div {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width:475px;
  padding: 0 20px;
  margin: 0 auto;
}
.wave-disapoint-title img {
  width: 54px;
  border: 2px solid #fff;
  border-radius: 40px;
  overflow: hidden;
}
.wave-disapoint-title span {
  font-size: 24px;
  font-weight: bold;
  padding-left: 15px;
  max-width: 300px;
  text-align: center;
  flex: 1;
}
@media only screen and (max-width: 374px) {
  .wave-disapoint-title span {
    font-size: 22px;
  }
}
.wave-disapoint .desc {
  max-width: 475px;
  margin: 0 auto;
  padding-bottom: 25px;
}
.wave-disapoint-buttons {
  display: flex;
  justify-content: center;
  padding-bottom:30px;
  max-width: 475px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .wave-modal.ec-modal .ec-modal-wrap {
    padding: 20px 15px 30px 15px;
  }
}
.wave-disapoint-buttons a.ec-blockBtn--action {
  background-color: #1f6bb9!important;
  border-color: #1f6bb9!important;
}
.wave-modal .wave-list .wave-list-item{
color: #1f6bb9;
display: flex;
border-bottom: dotted 1px;
margin: 10px 10px;
}
.wave-modal .wave-list .wave-list-item.business{
display: -webkit-inline-box;
  overflow: hidden;
}
.wave-modal .wave-list .wave-list-item.business dd {
  word-break: break-all;
  white-space: pre-line;
  width: 68%;
}
.wave-modal .wave-list .wave-list-item .title{
width: 30%;
padding: 10px;
}
.wave-modal .wave-btn-group{
display: flex;
justify-content: space-between;
}
.wave-modal .wave-btn-group a{
width: 150px;
border-radius: 25px;
background: #1f6bb9;
border: none;
}
/*-------------------Mypage: use-----------------*/
.type.nessary-ticket-num-type{
  background-color: #f98643;
  color: white;
}
.type.visit {
  background-color: #2EA7E0;
  color: white;
}
.type.rental,
.type.high-grade-rental {
  background-color: #176BB9;
  color: white;
}
@media only screen and (max-width: 375px) {
  .ec-navlistRole__useDetail__list .type {
    font-size:13px;
  }
}
.ec-navlistRole__ticketImg_junior{
  width: 40%;
    position: absolute;
    right: -45px ;
    top: -10px;
}
.ec-navlistRole .ticket_logo img{
  max-width: none !important;
  width: auto !important;
  height: 150px;
}
.ticket-detail .ec-navlistRole__ticketBottom {
  background-image: url("../img/common/passbg.png");
  background-blend-mode:normal;
}
.ticket-detail .ec-navlistRole__ticketBottom__right {
  width:100%
}
.ticket-detail .ec-navlistRole__ticket__subEx {
  font-size:1rem;
}
.ticket-detail .ticket-detail-desc {
  /* display: flex; */
  align-items: center;
  justify-content: space-around;
}
.ticket-detail .ticket-detail-desc p {
  width:50%;
  margin-bottom:1rem;
}
.ticket-detail .ticket-detail-desc p strong {
  display: block;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  .ticket-detail .ticket-detail-desc {
    display: block;
  }
  .ticket-detail .ticket-detail-desc p {
    width:100%;
  }
  .ec-navlistRole__ticketImg_junior{
    width: 37%;
    right: -22px;
    top: -10px;
  }
  .ec-navlistRole .ticket_logo img{
    height: 130px;
    max-width: 100% !important;
  }
}
@media only screen and (max-width: 375px) {
  .ec-navlistRole .ticket_logo img{
    height: 115px;
  }
  .ec-navlistRole__ticketBottomTop,
  #page_activation_edit .ec-navlistRole__ticketBottomTop,
  .ticket-each-card .ec-navlistRole__ticketActive {
    padding-left:25px;
    padding-right:25px;
  }
}
/*-----------------Ticket:api use---------------*/
.ticket-api-use {
  position: relative;
  max-width: 700px;
  background: rgba(252, 252, 252, 0.52);
  margin: 5rem auto 2rem auto;
}
.ticket-api-use .choose-content {
  padding: 3rem 0 1rem 0;
  border-bottom: 1px solid #ccc;
  margin: 0 20px;
}
.ticket-api-use .choose-content .api-one-use {
  text-align: center;
  font-size: 1.5rem;
}
.ticket-api-use  .choose-content .gprs {
  display: flex;
  align-items: center;
  justify-content: left;
  margin-bottom: 16px;
}
.ticket-api-use .choose-content .ec-input {
  margin-bottom:0;
  position: relative;
}
.ticket-api-use .choose-content .ec-select {
  position: relative;
  margin-bottom:0;
}
.ticket-api-use .choose-content .ec-select select {
  margin-bottom:16px;
}
.ticket-api-use .choose-content .ec-input input {
  margin-bottom:16px;
}
.ticket-api-use  .choose-content .gprs .icon {
  margin-right:8px;
}
.ticket-api-use .choose-content .d-inline-block {
  margin-bottom:15px;
}
.ticket-api-use .bottom-btn-group {
   max-width:350px;
   margin:0 auto;
  padding-top: 40px;
  padding-bottom: 2rem;
 }
.ticket-api-use .bottom-btn-group .ec-blockBtn--action {
  margin-bottom:25px;
}
.ticket-api-use .bottom-btn-group .tips .ec-blockBtn--action.btn-use-ticket {
  font-size: 16px;
}
.ticket-api-use .bottom-btn-group .tips .ec-blockBtn--action.btn-use-ticket em {
  background: #fff;
  display: inline-block;
  line-height: 22px;
  color: #FF910E;
  font-style: normal;
  border-radius: 7px;
  padding: 3px 7px;
}
.ticket-api-use .bottom-btn-group .ec-blockBtn--action.btn-rental {
  background:#fff!important;
  border:1px solid #F24726!important;
  color:#F24726!important;
}
.ticket-api-use .bottom-btn-group .ec-blockBtn--action.btn-coupon {
  background:#fff!important;
  border:1px solid #CEB678!important;
  color:#CEB678!important;
}
.ticket-api-use .bottom-btn-group .tips p {
  text-align: center;
  color:#666;
  font-size:14px;
  padding-left:10px;
  padding-right:10px;
  padding-bottom:10px;
}
.ticket-api-use .bottom-btn-group .tips p.desc {
  text-align: center;
  color:#666;
  font-size:14px;
  padding-bottom:10px;
  padding-left:0;
  padding-right:0;
}
.ticket-api-use .bottom-btn-group .tips .glyphicon {
  color:#999;
  margin-right:5px;
}
.ticket-api-use .ec-select select {
  width:100%;
  margin-bottom:0;
}
.ticket-api-use .ec-select:before {
  position: absolute;
  top: 28%;
  right: 5%;
  padding: 0;
  content: "";
  pointer-events: none;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #999;
  border-left: 2px solid #999;
  transform: rotate(225deg);
  margin-top: -3px;
  z-index: 1000;
}

.gprs-modal .ec-modal-wrap {
  transition: all 0.6s;
  top: -120%;
}
.gprs-modal .ec-modal-wrap.active {
  top:0
}
.gprs-modal .icon {
  width:38px;
  height:38px;
  margin:0 auto;
  margin-bottom:1rem;
}
.gprs-modal .tip {
  font-size:1rem;
  text-align: center;
}
.gprs-modal .tip strong {
  font-size: 1.5rem;
  display: block;
  line-height: 2;
}
.gprs-modal .btn-footer {
  margin-top:2rem;
  text-align: center;
  justify-content: center;
}
.gprs-modal .ec-inlineBtn--cancel {
  background-color: #adadad !important;
  border-color: #adadad !important;
  line-height: 22px;
  margin-bottom: 16px;
  width:200px;
  padding:16px;
  display: inline-block;
  border-radius: 100px;
}
.gprs-modal .ec-modal-wrap.active {
  top:0
}
.ticket-api-use .fail-select .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
  width: 100%;
  border: 1px solid #e3e1dc;
  min-height: 38px;
  background: #fff;
}
.ticket-api-use .fail-select .bootstrap-select .selectpicker {
box-shadow: none!important;
}
.ticket-api-use .fail-select .open>.dropdown-toggle.btn-default:hover,
.ticket-api-use .fail-select .open>.dropdown-toggle.btn-default {
  border-color: #fff;
  background-color: #ffffff;
}
.ticket-api-use .fail-select .bootstrap-select>.dropdown-toggle {
  padding: 7px 12px;
  outline: none;
}
.ticket-api-use .fail-select .bootstrap-select>.dropdown-toggle:hover,
.ticket-api-use .fail-select .bootstrap-select>.dropdown-toggle:focus {
  background: none;
  border-color:#fff;
  outline: none!important;
}
.ticket-api-use .fail-select .bootstrap-select>.dropdown-toggle:after {
  display: none;
}
.ticket-api-use .fail-select .bootstrap-select .dropdown-menu {
  border: 1px solid #ddd;
}
.ticket-api-use .fail-select .bootstrap-select .dropdown-menu>.active>a {
  background-color: #0382cc;
}
.ticket-api-use .fail-select .bootstrap-select .dropdown-menu.open {
  max-width:100%!important;
}
.ticket-api-use .fail-select .bootstrap-select .dropdown-menu li a {
  padding: 7px 20px;
  white-space: inherit;
}
.ticket-api-use .fail-select .bootstrap-select .dropdown-menu .inner.open {
  max-height:240px!important;
}
.ticket-api-use .fail-select {
  position: relative;
  z-index: 1;
  border: 1px solid #e3e1dc;
  cursor: pointer;
  min-height: 38px;
  width:100%;
  margin-bottom:16px;
  background: #fff;
}
.ticket-api-use .fail-select .bv_atual {
  border:0;
}
.ticket-api-use .fail-select .bv_ul_mobile {
  width: 300px !important;
  margin-left: -150px!important;
  left:50% !important;
}
@media only screen and (max-width: 767px) {
  .ticket-api-use .choose-content {
    margin:0;
  }
  .ticket-api-use .choose-content .col-3 {
    flex: auto;
    max-width: 100%;
  }
  .ticket-api-use {
    margin-top:2rem;
  }
  .ticket-api-use .fail-select .bootstrap-select .dropdown-menu .inner.open {
    max-height:200px!important;
  }
}
@media only screen and (min-width: 768px) {
  .ticket-api-use .fail-select .bv_background.bv_ul_inner {
    bottom: 0;
    top: 38px!important;
    height: 400px;
    position: absolute!important;
  }
}

.use-confirm-modal .ec-modal-wrap {
  transition: all 0.6s;
  top: -120%;
}
.use-confirm-modal .ec-modal-wrap.active {
  top:0
}
.use-confirm-modal h3 {
  font-size:1.5rem;
  margin-top:3rem;
  font-weight: bold;
}
.use-confirm-modal h4 {
  font-size:18px;
  padding-top:10px;
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 20px;
}
.use-confirm-modal p {
  margin-bottom:2rem;
  color:#666;
}
.use-confirm-modal .btn-footer {
  margin:0 auto;
  width:100%;
  max-width:350px;
  padding-bottom:2rem;
}
.use-confirm-modal .checkbox {
  margin-bottom:2rem;
}
.use-confirm-modal .checkbox label {
  color:#666;
  font-size:1rem;
}
.use-confirm-modal .checkbox input[type="checkbox"]{
  -webkit-appearance: none;
  vertical-align: middle;
  margin-top: -3px;
  background: #fff;
  border: #222 solid 1px;
  border-radius: 2px;
  min-height: 20px;
  min-width: 20px;
  position: relative;
  cursor: pointer;
  margin-right: 10px;
}
.use-confirm-modal .checkbox input[type="checkbox"]:checked {
  background: #fff;
  border: #222 solid 1px;
  box-shadow: none;
  outline: none;
}
.use-confirm-modal .checkbox input[type=checkbox]:checked::after{
  content: '';
  top: 3px;
  left: 3px;
  display: block;
  position: absolute;
  background: #fff;
  border: #E72824 solid 2px;
  border-top: none;
  border-right: none;
  height: 8px;
  width: 12px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.api-position-loading {
  position: fixed;
  left:0;
  top:0;
  bottom:0;
  right:0;
  z-index: 999;
}
.api-position-loading .bg-cover {
  width:100%;
  height:100%;
  background: rgba(0,0,0,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.api-position-loading .img-cover {
  width:80px;
  height:80px;
  border-radius:10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.api-position-loading .img-cover img {
  display: block;
  width: 32px;
}
/*---------------ticket: api use judge------------------*/
.api-use-judge {
  position: relative;
  max-width: 700px;
  background: rgba(252, 252, 252, 0.52);
  margin: 5rem auto 2rem auto;
}
.api-use-judge .ec-off1Grid {
  text-align: center;
}
.api-use-judge .ski-name {
  font-size:1.5rem;
  text-align: center;
  line-height: 3;
  font-weight: bold;
  padding-top: 2rem;
}
.api-use-judge .ec-mypageRole {
  max-width:350px;
  margin:1rem auto;
}
@media only screen and (max-width: 767px) {
  .api-use-judge {
    margin-top:2rem;
  }
}

/*-----------ticket: ski-question-wrap--------------*/
.ski-question-wrap {
  position: relative;
  max-width: 700px;
  background: rgba(252, 252, 252, 0.52);
  margin: 5rem auto 2rem auto;
  padding:40px;
}
#page_ticket_api_use .ec-off4Grid .ec-off4Grid__cell {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  #page_ticket_api_use .ec-off4Grid .ec-off4Grid__cell {
    width: 50%;
    max-width: 400px;
    margin: 0 auto;
    margin-top: 20px;
  }
}
.ski-question-wrap .question {
  margin-bottom:1rem;
}
.ski-question-wrap .answer .form-check {
  margin-bottom:1rem;
  padding-left:4px;
}
@media only screen and (max-width: 767px) {
  .ski-question-wrap {
    margin-top:2rem;
  }
}
#equeipment_name {
  text-align: center;
  background: #30a7e1;
  color: white;
  font-size: 20px;
}
.question-cancel-btn{
  background-color: #fff;
  border-color: #f39800;
  color: #f39800 !important;
}
.question-cancel-btn:hover{
  background-color: #fff;
  border-color: #f39800;
}
 .question-title{
  width: 100%;
  color: #fff;
  background: #0093d3;
  text-align: center;
  margin: 10px 0;
  padding: 10px;
  font-size: 20px;
   font-weight: bold;
}
/*-------------product： detail-------------*/
/*----line connect----*/
.line-connect-modal .ec-modal-wrap {
  transition: all 0.6s;
  top: -120%;
}
.line-connect-modal .ec-modal-wrap.active {
  top:0
}
.line-connect-modal .ec-modal-box .icon {
  width:80px;
  margin:0 auto;
}
.line-connect-modal .ec-modal-box .icon img {
  display: block;
}
.line-connect-modal .ec-modal-box .tip {
  padding-top:1rem;
}
.line-connect-modal .btn-footer {
  text-align: center;
  padding-top:2rem;
}
.line-connect-modal .ec-inlineBtn--cancel, .line-connect-modal .ec-inlineBtn--action {
  width:85%;
  display: block;
  margin:0 auto;
  max-width:450px!important;
}
.line-connect-modal .ec-inlineBtn--cancel {
  margin-top:16px;
}
.ec-modal-box .btn-next{
  margin: 10px;
}
.ec-modal-box .btn-next a {
  background: #30a7e1 !important;
  border: none !important;
}
.ec-modal-box .btn-next a.delay-time {
  background: #f98643 !important;
}
.ec-modal-box .btn-next a.box{
  opacity: 0;
}
.delay-time{
  animation-delay: 5s;
}
.fadeup {
  animation-name:fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity: 0;
  }
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }

    to {
      opacity: 1;
    transform: translateY(0);
    }
  }

/*-----------------shopping:complete---------------*/

.deposit-complete-img {
  width:100%;
  max-width: 500px;
  margin: 0 auto;
}
.deposit-complete-btn .deposit-action {
  background-color:#f39800;
  width: 90%;
  margin: 0 auto;
  max-width: 500px;
  min-height:56px;
  height:auto;
  line-height: 22px;
  padding:16px;
}
.deposit-complete-btn .deposit-action span {
  display: none;
}
#page_shopping_complete .ec-blockBtn--action.deposit-action {
  background-color:#f39800!important;
  border-color: #f39800!important;
}
@media only screen and (max-width: 767px) {
  .deposit-complete-btn .deposit-action span {
    display: inline;
  }
}
.pay-confirm-modal .ec-modal-wrap {
  transition: all 0.6s;
  top: -120%;
}
.pay-confirm-modal .ec-modal-wrap.active {
  top:0;
}
.pay-confirm-modal .cancel-close-btn {
  position: absolute;
  right: 5px;
  top: 5px;
  z-index: 99;
}
.pay-confirm-modal .cancel-close-btn a {
  width: auto;
  background: none!important;
  box-shadow: none !important;
  color: black;
  border: none;
  padding: 10px 10px;
}
.pay-confirm-modal .cancel-close-btn a img {
  width:17px;
  height:17px;
  display: block;
}
.pay-confirm-modal .alert {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.pay-confirm-modal .alert img {
  width:32px;
  height:auto;
}
.pay-confirm-modal .alert p {
  margin-left: 14px;
  font-size: 18px;
  text-align: left;
}
.pay-confirm-modal .red-text {
  border:1px solid red;
  color:red;
  padding:5px 10px;
  margin:20px 0;
}
.pay-confirm-modal .tip img {
  max-width:100%;
  display: block;
}
.pay-confirm-modal .btn-footer {
  margin-top:30px;
  text-align: center;
}
.pay-confirm-modal .btn-footer .ec-blockBtn--action {
background: #0382CC!important;
  border: 0;
  height: 44px;
  line-height: 44px;
  width: 200px;
  margin: 0 auto;
}
.pay-confirm-modal .ec-modal-box .ec-role .ec-blockBtn--cancel.blue {
  background: #23A7E1 !important;
  border: 0;
  height: 44px;
  line-height: 44px;
  width: 200px;
  margin: 0 auto;
}
.pay-confirm-modal .ec-modal-box .text-center {
  font-size:16px;
  max-width: 85%;
  margin: 15px auto 25px auto;
}
.pay-confirm-modal .ec-modal-box .ec-role {
  max-width:260px;
  margin:0 auto;
}
@media only screen and (max-width: 767px) {
  .pay-confirm-modal .ec-modal-wrap {
    padding:40px 25px 30px 25px;
  }
}
.shopping-paypayBlock {
  position: relative;

}
.shopping-paypayBlock .desc {
  padding-top:5px;
}
.shopping-paypayBlock .tip img {
   max-width:100%;
   display: block;
 }
.shopping-paypayBlock .alert {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding:0;
  margin-bottom:20px;
}
.shopping-paypayBlock .alert img {
  width:32px;
  height:auto;
}
.shopping-paypayBlock .alert p {
  margin-left: 14px;
  color:#DE5D50;
  font-size:14px;
  text-align: left;
}

/*---------------staff--------------*/
.ec-staffRole {
  background: #fff;
  padding:0;
  width: 100%;
  max-width: 1130px;
  margin:1rem auto 3rem auto;
  font-size: 16px;
  color: #525263;
  position: relative;
  text-align: center;
}
.ec-staffRole .staff-top-tip {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
  color: #fff;
  background: #E8380D;
  line-height: 2.6;
}
.ec-staffRole .staff-content {
  padding:0 20px 30px 20px;
  position: relative;
}
.ec-staffRole .staff-logo {
  margin: 2rem auto;
  max-width: 500px;
}
.ec-staffRole .staff-user-info {
  max-width: 500px;
  margin: 1.5rem auto 0 auto;
  width: 100%;
  border: 2px solid #ddd;
  border-bottom:3px dashed #ddd;
  border-radius:20px;
  background-image: url("../img/common/passbg.png");
  background-repeat: repeat;
  text-align: left;
}
.ec-staffRole .staff-user-info .head {
  background: #2EA7E0;
  padding:16px 20px;
  color:#fff;
  font-size:1.25rem;
  font-weight: bold;
  border-radius:20px 20px 0 0;
}
.ec-staffRole .staff-user-info .content {
  padding: 20px 20px 20px 20px;
  position: relative;
}
.ec-staffRole .staff-user-info .mask {
  position: absolute;
  z-index: 3;
  left:5%;
  bottom: 32px;
  width: 110px;
  height: 110px;
  transform: rotate(-4deg);
}
.ec-staffRole .staff-user-info .verify-name {
  font-size:1.375rem;
  padding-left: 20px;
}
.ec-staffRole .staff-user-info .verify-name .lg {
  font-size:1.5rem;
  color: #000;
}
.ec-staffRole .staff-user-info .verify-clock {
  padding-top:1rem;
  padding-left: 130px;
}
.ec-staffRole .staff-user-info .verify-time {
  font-size:1.375rem;
  line-height: 2;
  padding-left: 20px;
}
.ec-staffRole .staff-user-info .content .junior_img img {
  max-width: 440px;
  margin: 0 auto;
  display: block;
}
.ec-staffRole .staff-user-info .verify-clock .clockWrapper {
  background: none;
  margin:0;
  width:250px;
}
.staff-user-info .clock .colon-top,
.staff-user-info .clock .colon-bottom,
.staff-user-info .clock .top,
.staff-user-info .clock .middle,
.staff-user-info .clock .bottom,
.staff-user-info .clock .left-top,
.staff-user-info .clock .left-bottom,
.staff-user-info .clock .right-top,
.staff-user-info .clock .right-bottom {
  background: #2EA7E0;
}
.staff-user-info #clockDate {
  color:#2EA7E0;
}
.ec-staffRole .staff-user-info .r p strong {
  font-size:1.125rem;
}

.ec-staffRole .staff-tips {
  font-size: 1.125rem;
  max-width: 500px;
  margin: 0 auto 1rem auto;
  width: 100%;
  border: 2px solid #ddd;
  border-top:0;
  padding: 20px;
  border-radius:20px;
  overflow: hidden;
  text-align: left;
}
.ec-staffRole .staff-tips h3 {
  font-size: 1.25rem;
  color: #222;
  font-weight: bold;
  line-height: 2;
}
.ec-staffRole .staff-tips li {
  position: relative;
  padding-left:10px;
  font-weight: bold;
}
.ec-staffRole .staff-tips li.em {
  color:#E72824;
}
.ec-staffRole .staff-tips li::before {
  content:'·';
  font-weight: bold;
  left: -6px;
  position: relative;
}
.ec-staffRole .staff-btn-group {
  max-width: 500px;
  width: 100%;
  margin: 2rem auto;
}
.ec-staffRole .staff-checkbox {

}
.ec-staffRole .staff-checkbox p {
  color: #E72824;
  font-weight: bold;
  line-height: 1.42;
}
.ec-staffRole .staff-checkbox .checkbox {

}
.ec-staffRole .staff-checkbox label {
font-weight: bold;
}
.ec-staffRole .staff-checkbox input[type="checkbox"]{
  -webkit-appearance: none;
  vertical-align: middle;
  margin-top: -3px;
  background: #fff;
  border: #222 solid 1px;
  border-radius: 2px;
  min-height: 20px;
  min-width: 20px;
  position: relative;
  cursor: pointer;
  margin-right: 10px;
}
.ec-staffRole .staff-checkbox input[type="checkbox"]:checked {
  background: #fff;
  border: #222 solid 1px;
  box-shadow: none;
  outline: none;
}
.ec-staffRole .staff-checkbox input[type=checkbox]:checked::after{
  content: '';
  top: 3px;
  left: 3px;
  display: block;
  position: absolute;
  background: #fff;
  border: #E72824 solid 2px;
  border-top: none;
  border-right: none;
  height: 8px;
  width: 12px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.ec-staffRole .staff-confirm-btn {
  margin:2rem auto;
}
.ec-staffRole .verify-wrap {
  height:56px;
  border-radius:30px;
  background-color: #E72824;
  border: 2px solid #E72824;
}
.ec-staffRole .verify-wrap .fix-tips,.ec-staffRole .verify-wrap .verify-msg {
  font-size:14px;
  line-height: 56px;
  height: 56px;
  top: -1px;
  color:#fff;
  left:15px;
}
.ec-staffRole .verify-wrap .drag-btn {
  width:56px;
  height:56px;
  border-radius:30px;
  background-size: 130%;
  border: 2px solid #676767;
  top:-2px;
}
.ec-staffRole .verify-wrap .drag-progress {
  height:56px;
  line-height:56px;
  border-radius:30px;
  border:0;
  top:-2px;
  background: #c33111;
}
.ec-staffRole .verify-wrap .verify-msg {
  border-radius:30px;

}
@media only screen and (max-width: 767px) {
  .ec-staffRole .staff-user-info .verify-name {
    padding-left:15px;
    font-size: 1.25rem;
  }
  .ec-staffRole .staff-user-info .content {
    padding: 15px 10px 15px 10px;
  }
  .staff-user-info #clockDate {
    font-size: 18px;
    text-align: center;
  }
  .ec-staffRole .staff-user-info .verify-clock .clockWrapper {
    width:210px;
  }
  .ec-staffRole .staff-user-info .verify-clock {
    padding-left:33%;
  }
  .ec-staffRole .staff-user-info .verify-time {
    padding-left:15px;
    font-size: 1.25rem;
  }
  .ec-staffRole .staff-user-info .mask {
    position: absolute;
    z-index: 3;
    left: 20px;
    bottom:28px;
    width: 96px;
    height: 96px;
    transform: rotate(-4deg);
  }
  .staff-user-info .clock .top,.staff-user-info .clock .middle,.staff-user-info .clock .bottom {
    height:5px;
  }
  .staff-user-info .clock .left-top,.staff-user-info .clock .left-bottom,.staff-user-info .clock .right-top,.staff-user-info .clock .right-bottom {
    width:5px;
  }
  .staff-user-info .clock .colon-top,.staff-user-info .clock .colon-bottom {
    width:6px;
    height:6px;
  }
}

/*------------Entry: index--------------------*/

.ec-registerRole .ec-off1Grid {
  flex-direction: column;
  align-items: center;
}
.ec-registerRole .login-heading {
font-size:1.5rem;
  font-weight: bold;
  margin-bottom:1rem;
  text-align: left;
}
.ec-registerRole .entry-login {
  width:100%;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 40px!important;
}
.ec-registerRole .entry-login .ec-blockBtn--action {
  font-size:18px;
}
.ec-registerRole .ec-borderedDefs {
  border-top:0;
}
.ec-registerRole .ec-borderedDefs dl {
  border-bottom:0;
}
.ec-registerRole .entry-login .ec-blockBtn--action {
  width:100%
}
.ec-registerRole .ec-off4Grid .ec-off4Grid__cell {
  margin-left:0;
  width:100%;
}
@media only screen and (max-width: 767px) {
  .ec-registerRole .login-heading {
    font-size: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .ec-registerRole .entry-login,
  .ec-registerRole .ec-off1Grid .ec-off1Grid__cell {
    max-width:600px;
    margin:0 auto;
  }
  .ec-registerRole .ec-borderedDefs dl {
    flex-wrap: wrap;
    padding: 12px 0;
  }
  .ec-registerRole .ec-borderedDefs dt {
    padding-top: 0;
    width: 100%;
  }
  .ec-registerRole .ec-borderedDefs dd {
    width: 100%;
    line-height: 2.5;
  }
}
/*------------help: landing--------------------*/
#page_landing_page .ec-layoutRole .ec-layoutRole__contents {
  max-width: 100%;
  background: #fff;
}
#page_landing_page .ec-layoutRole .ec-layoutRole__contents {
  max-width: 100%;
}
#page_landing_page .ec-layoutRole__main {
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  width: 100%;
  padding: 0;
  font-weight: bold;
}
@media(min-width:992px) {
  .phone-only {
    display: none!important;
  }
}

@media(max-width:991px) {
  .pc-only {
    display: none!important;
  }
}
.ec-role__landing {
 position: relative;
}
.ec-role__landing__image {
  aspect-ratio: 1440 / 800;
  background: url(../img/landing/focus.jpg) no-repeat center center / cover;
  margin: 0 auto;
}
.ec-role__landing__image .image-box {
  width: 75%;
}
.ec-role__landing__image .image-title {
  font-size:min(calc((240 / 1440) * 100vw), 240px);
  opacity: 0.65;
  line-height: 1;
}
.ec-role__landing__image .image-subtitle {
  font-size:min(calc((50 / 1440) * 100vw), 50px);
  font-weight: bold;
}
.ec-role__landing__image-two {
  aspect-ratio: 1440 / 570;
  background: url(../img/landing/list.jpg) no-repeat center center / cover;
  margin: 0 auto;
}
.ec-role__landing__image-two .image-text {
  font-size:40px;
  color:#fff;
  font-weight: bold;
}
.ec-role__landing__image-three {
  aspect-ratio: 1440 / 830;
  background: url(../img/landing/bottom.jpg) no-repeat center center / cover;
  margin: 0 auto;
}
.ec-role__landing__image-three .image-box {
  justify-content: flex-end;
  width: 75%;
}
.ec-role__landing__image-three .image-text {
  font-size:56px;
  color:#0382CC;
  line-height:1.8;
  padding-bottom:100px;
}
@media only screen and (max-width: 767px) {
  .ec-role__landing__image-two .image-text {
    font-size: 22px;
  }
  .ec-role__landing__image-three .image-text {
    font-size:min(calc((64 / 1440) * 100vw), 64px);
    padding-bottom: 30px;
  }
}
.ec-role__landing__wrap {
  max-width: 100%;
  padding: 0;
  margin: auto;
  font-family: "toppan-bunkyu-gothic-pr6n", serif;
}
.ec-role__landing__wrap .landing-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.ec-role__landing-hire {
background: #0382CC;
  padding:100px 0;
  font-size:28px;
  line-height: 1.6;
}
.ec-role__landing-hire .hire-img {
  position: relative;
  padding-top:250px;
}
.ec-role__landing-hire .hire-img .img1 {
  position: absolute;
  left: 59%;
  top: 65px;
  z-index: 3;
  margin-left: -350px;
  width: 700px;
  transform: rotate(-4deg);
}
.ec-role__landing-hire .hire-img .img1 img {
  width:100%;
  height:auto;
}
@media only screen and (max-width: 767px) {
  .ec-role__landing-hire {
    padding: 50px 0;
    font-size:16px;
  }
  .ec-role__landing-hire .hire-img {
    padding-top:100px;
  }
  .ec-role__landing-hire .hire-img .img1 {
    position: absolute;
    left: 62%;
    top: 18px;
    z-index: 3;
    margin-left: -120px;
    width: 240px;
    transform: rotate(-4deg);
  }
}
.ec-role__landing-config {
  background: #F2F2F2;
  padding:50px 0;
}
.ec-role__landing-config .each {
  border-bottom: 6px solid #FFFFFF;
  padding:60px 0;
  color:#0382CC;
}
.ec-role__landing-config .each .config-img {
  max-width:650px;
  text-align: left;
  padding:2rem 0;
}
.ec-role__landing-config .each.last {
  border-bottom:0;
}
.ec-role__landing-config .heading {
font-size:40px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom:40px;
}
.ec-role__landing-config .text {
font-size:24px;
  line-height: 1.6;
}
.ec-role__landing-config .and-more {
color:#0382CC;
  font-size:80px;
  font-weight: bold;
  padding-bottom:40px;
}
@media only screen and (max-width: 767px) {
  .ec-role__landing-config .each {
    border-bottom:4px solid #FFFFFF;
    padding: 40px 0;
  }
  .ec-role__landing-config .heading {
    font-size: 20px;
    margin-bottom:10px;
  }
  .ec-role__landing-config .text {
    font-size: 16px;
  }
  .ec-role__landing-config .and-more {
    padding-bottom:0;
    font-size:30px;
  }
}
.ec-role__landing-list {
  background: #fff;
  padding-top:80px;
}
.ec-role__landing-list .top-text {
  text-align: center;
  font-size:32px;
  padding-bottom:70px;
  line-height: 1.8;
}
.ec-role__landing-list .each-group {
position: relative;
  padding-bottom:70px;
}
.ec-role__landing-list .heading {
font-size:50px;
  color:#0382CC;
  border:1px solid #0382CC;
  border-radius:60px;
  line-height: 100px;
  text-align: center;
  margin:0 auto;
  width:93%;
  font-weight: bold;
  position: relative;
}
.ec-role__landing-list .heading img {
  position: absolute;
  left:50%;
  top:0;
  width:60px;
  height:auto;
  z-index: 2;
}
.ec-role__landing-list .heading.first img {
  left: 60%;
  top: -15px;
}
.ec-role__landing-list .heading.second img {
  left: 20%;
  top: 3px;
}
.ec-role__landing-list .each-place {
  width:90%;
  margin:0 auto;
  padding:50px 10px;
  font-size:28px;
  line-height: 1.8;
}
.ec-role__landing-list .each-place .name {
  line-height: 1.8;
  font-weight: bold;
}
.ec-role__landing-list .each-place .desc {
  display: flex;
  align-items: center;
  justify-content: left;
}
.ec-role__landing-list .each-place .desc img {
  width:28px;
  margin-right:10px;
}
.ec-role__landing-list .each-place li {
  position: relative;
  padding-left:30px;
}
.ec-role__landing-list .each-place li:before {
  width:20px;
  height:20px;
  position: absolute;
  top: 50%;
  margin-top:-10px;
  left:0;
  border-radius:15px;
  background: #333;
  content:' ';

}
.ec-role__landing-list .each-place + .each-place {
border-top:1px dashed #0382CC;
}
@media only screen and (max-width: 767px) {
  .ec-role__landing-list {
    padding-top:40px;
  }
  .ec-role__landing-list .top-text {
    font-size: 16px;
    padding-bottom: 40px;
  }
  .ec-role__landing-list .heading {
    font-size: 24px;
    line-height: 58px;
    width: 100%;
  }
  .ec-role__landing-list .heading img {
    width:32px;
  }
  .ec-role__landing-list .each-place {
    padding: 20px 10px;
    font-size: 18px;
    width: 100%;
  }
  .ec-role__landing-list .each-place .desc {
    padding-left:0;
  }
  .ec-role__landing-list .each-place .desc img {
    display: none;
  }
  .ec-role__landing-list .each-place li:before {
    width: 14px;
    height: 14px;
    margin-top: -7px;
  }
}

.ec-role__landing-qa {
line-height: 1.6;
  background: #F2F2F2;
  padding-top:150px;
}
.ec-role__landing-qa strong.en {
  margin-right:5px;
}
.ec-role__landing-qa .qa-title {
  font-size:95px;
  color:#0382CC;
  text-align: center;
  font-weight: bold;
  margin-bottom:30px;
}
.ec-role__landing-qa .each {
padding-bottom:110px;
}
.ec-role__landing-qa .heading {
color:#0382CC;
  padding-bottom:25px;
  font-size:28px;
  border-bottom: 5px dashed #0382CC;
  margin-bottom:35px;
}
.ec-role__landing-qa .text {
  font-size:28px;
  display: flex;
  align-items: flex-start;
}
.ec-role__landing-qa .text p {
padding-bottom:30px;
}
@media only screen and (max-width: 767px) {
  .ec-role__landing-qa {
    padding-top:50px;
  }
  .ec-role__landing-qa .qa-title {
    font-size: 42px;
  }
  .ec-role__landing-qa .each {
    padding-bottom: 50px;
  }
  .ec-role__landing-qa .heading {
    font-size:16px;
    border-bottom: 2px dashed #0382CC;
  }
  .ec-role__landing-qa .text {
    font-size: 16px;
  }
}
/* ====================================
  new oneday page一日票画面
==================================== */
#page_oneday_page .ec-layoutRole .ec-layoutRole__contents {
  max-width:none;
}
#page_oneday_page .ec-layoutRole .ec-layoutRole__contents .ec-layoutRole__main {
  padding:0;
}
.ec-oneday-wrap {
  position:relative;
}
.oneday-top-banner {
  background-image: url(../img/oneday/top.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height:50vw;
  min-height:400px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.oneday-top-banner .top-logo {
  width:50%;
  padding:30px 20px 0 20px;
  margin:0 auto;
}
.oneday-top-banner .top-logo img {
  width:92%;
}
.oneday-top-banner .top-desc {
  width:50%;
  padding:20px 35px 0 35px;
  margin:0 auto;
  font-size:30px;
  color:#0382CC;
  line-height: 1.8;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .oneday-top-banner .top-desc {
    font-size:16px;
    width:100%;
    padding: 10px 20px 0 20px;
  }
  .oneday-top-banner {
    height:62vw;
    min-height:auto;
  }
  .oneday-top-banner .top-logo {
    padding-top:10px;
    width:100%;
  }
  .oneday-top-banner .top-logo img {
    width:70%;
  }
}
.oneday-m-banner {
  background-image: url(../img/oneday/easypass_bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  min-height:600px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.oneday-m-banner .content {
  text-align: left;
}
.oneday-m-banner .text-lg {
  font-size:34px;
  color:#fff;
  line-height: 1.8;
  font-weight: bold;
}
.oneday-m-banner .text-sm {
  font-size:20px;
  padding-top:55px;
  color:#fff;
  line-height: 1.8;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .oneday-m-banner .text-lg {
    font-size:25px;
  }
  .oneday-m-banner {
    height:435px;
    min-height:auto;
  }
  .oneday-m-banner .text-sm {
  font-size:16px;
    padding-top:15px;
  }
}
.merit-content {
  padding:95px 30px;
  background: #fff;
}
.merit-content .title {
  font-size:20px;
  padding-bottom:50px;
  color:#0382CC;
  text-align: center;
  font-weight: bold;
}
.merit-content .title span {
  font-size:50px;
  color:#0382CC;
  display: block;
}
.merit-content .content {
  display: flex;
  align-items: center;
  gap: 100px;
  max-width: 1150px;
  margin: 0 auto;
}
.merit-content .content .col {
  text-align: left;
  position: relative;
  padding:0;
}
.merit-content .content .col p {
  font-size:20px;
  line-height:1.6;
  height:100px;
  font-weight: bold;
}
.merit-content .content .col img {
  width:100%;
  height:auto;
  display: block;
  margin-top:20px;
}
@media screen and (max-width: 768px) {
  .merit-content .content {
    display: block;
    width:250px;
  }
  .merit-content .content .col {
    margin-bottom: 40px;
  }
  .merit-content .content .col p {
    height:auto;
  }
  .merit-content .title {
    font-size: 17px;
  }
  .merit-content .title span {
    font-size: 40px;
  }
  .merit-content {
    padding: 70px 0;
  }
}
.how-to-use {
  background: #F8F8F8;
  width:100%;
  overflow: hidden;
}
.how-to-use .title {
  padding-bottom:80px;
}
.how-to-use .use-list {
  margin-top:0;
  background: none!important;
}
.how-to-use .use-content {
  max-width: 1150px;
  margin: 0 auto;
}
.how-to-use .use-content p {
  font-size:28px;
  color:#0382CC;
  height: 150px;
  text-align: left;
  font-weight: bold;
}
.how-to-use .use-content p.only-phone {
  display: none;
}
.how-to-use .use-content .each {
  margin:0 auto;
  position: relative;
}
.how-to-use .use-content .each .xs-text {
  display: block;
  padding-top:5px;
  font-size: 15px;
  font-weight: normal;
  font-style: normal;
}
.how-to-use .use-content .each img {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 20px;
}
.how-to-use .use-item {
  margin-bottom:0!important;
}
.how-to-use .slick-prev {
  width:24px;
  height:24px;
  left:5%;
  top:60%;
  z-index: 9;
}
.how-to-use .slick-prev:before {
  position: absolute;
  left:0;
  top:0;
  content: ' ';
  width: 0;
  height: 0;
  border-right: 20px solid #0382CC;
  border-left: 0px solid transparent;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}
.how-to-use .slick-next {
  width:24px;
  height:24px;
  right:5%;
  top:60%;
  z-index: 9;
}
.how-to-use .slick-next:before {
  position: absolute;
  right:0;
  top:0;
  content: ' ';
  width: 0;
  height: 0;
  border-right: 0px solid transparent;
  border-left: 20px solid #0382CC;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}
@media screen and (max-width: 768px) {
  .how-to-use .use-content p {
    font-size: 18px;
    height:auto;
  }
  .how-to-use .use-content p.only-pc {
    display: none;
  }
  .how-to-use .use-content p.only-phone {
    display:block;
  }
  .how-to-use .use-content .each {
    width: 250px;
  }
}
.oneday-choose {
  background: #fff;
  position: relative;
  padding:40px 20px 80px 20px;
  overflow: hidden;
  font-weight:normal;
  font-family: Roboto, "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
}
.oneday-choose .content {
width:100%;
max-width:550px;
margin:0 auto;
}
.oneday-choose .title {
font-size:20px;
padding-bottom:50px;
color:#0382CC;
text-align: center;
font-weight: bold;
margin-top:50px;
}
.oneday-choose .title span {
font-size:50px;
color:#0382CC;
display: block;
}
@media screen and (max-width: 768px) {
.oneday-choose {
padding:20px 20px 50px 20px;
}
.oneday-choose .title {
font-size: 17px;
margin-top:35px;
padding-bottom:25px;
}
.oneday-choose .title span {
font-size: 40px;
}
}
.oneday-choose .top-search {
position: relative;
}
.oneday-choose .arrow {
width: 0;
height: 0;
padding:0;
border-right: 8px solid transparent;
border-left: 8px solid transparent;
border-top: 12px solid #0382CC;
border-bottom: 12px solid transparent;
transform: none;
}
.oneday-choose .arrow.up {
transition: none;
margin-top: -4px;
transform: rotate(180deg);
}
.oneday-choose .arrow.down {
transition: none;
margin-top:10px;
transform: rotate(0);
}
.oneday-choose .top-search .arrow {
display: none;
}
.oneday-choose .top-search .search-btn {
position: absolute;
top: 12px;
right: 20px;
width: 40px;
border: 0;
background: none;
z-index: 3;
}
.new-top-search .typeahead__field {
border: 1px solid #0382CC;
border-radius:40px;
height:64px;
display: flex;
align-items: center;
padding: 0 15px 0 5px;
background: #fff;
}
.new-top-search .typeahead__filter .typeahead__filter-button {
border: 0;
background: none;
font-size: 20px;
padding: 0;
font-weight: bold;
height: auto;
}
.new-top-search .typeahead__field input {
border:0;
background: none;
color: #535353;
font-size:20px;
font-weight: bold;
border-radius: 40px;
}
.new-top-search .search-btn {
background: none!important;
border:0;
padding: 0;
height: auto;
margin-left:10px;
}
.new-top-search .search-btn:hover,.new-top-search .search-btn:focus {
background: none!important;
}
.new-top-search .search-btn img {
width:46px;
height:46px;
display: block;
}
.new-top-search .typeahead__list {
border: 0;
background: #F2F2F2;
padding:0;
padding-bottom:15px;
}
.new-top-search .typeahead__list > li.typeahead__group {
margin-top: 15px;
font-size: 20px;
background: none;
border-top: 0;
font-weight: bold;
line-height: 46px;
position: relative;
}
.new-top-search .typeahead__list > li.typeahead__group:after {
border-bottom: 2px dashed #ccc;
position: absolute;
bottom: 0;
left: 15px;
right: 15px;
content: ' ';
}
.new-top-search .typeahead__list > li.typeahead__group:first-child {
border-top:0;
}
.new-top-search .typeahead__list > li.typeahead__group > a {
background: none;
color: #353535;
padding:0 15px;
}
.new-top-search .typeahead__list > li.typeahead__group > a:hover {
background: none;
color: #353535;
opacity: 1;
}
.new-top-search .typeahead__list > li.typeahead__group + li.typeahead__item {
border:0;
}
.new-top-search .typeahead__list > .typeahead__item {
font-size:18px;
line-height: 46px;
border: 0;
}
.new-top-search .typeahead__list > .typeahead__item a {
color: #353535;
padding:0 15px;
}
.new-top-search .typeahead__list > .typeahead__item a:hover {
background: #EEEEEE;
color: #353535;
opacity: 1;
}
@media screen and (max-width: 768px) {
.new-top-search .typeahead__field {
height:42px;
}
.new-top-search .search-btn img {
width:32px;
height:32px;
}
.new-top-search .typeahead__field input {
font-size:16px;
}
.new-top-search .typeahead__list > li.typeahead__group {
font-size:18px;
}
.new-top-search .typeahead__list > .typeahead__item {
font-size:14px;
}
}

.oneday-choose .bv_mainselect {
padding:0;
border-radius:0;
}
.oneday-choose .bv_mainselect .bv_atual {
font-size: 20px;
padding: 16px 20px;
border: 1px solid #0382CC;
border-radius: 0;
font-weight: bold;
}
.oneday-choose .top-search .bv_mainselect .bv_atual {
border-radius: 40px;
}
.oneday-choose .select-wrap, .oneday-choose .bv_mainselect {
position: relative;
}
.oneday-choose .select-guy, .oneday-choose .select-num {
margin-top:20px;
}
.oneday-choose .select-guy, .oneday-choose .select-holiday {
margin-top:20px;
}
.oneday-choose .btn-group {
margin-top:50px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.oneday-choose .btn-group .ec-blockBtn--action {
max-width: 230px;
width: 45%;
font-size: 20px;
margin-bottom:30px;
height: 64px;
line-height: 64px;
border:0!important;
letter-spacing: 1px;
}
.oneday-choose .btn-group .ec-blockBtn--action.blue {
background: #0382CC!important;
}
.oneday-choose .btn-group .ec-blockBtn--action[disabled] {
background: #CBCBCB!important;
}
.select-field-img {
width:100%;
display: flex;
align-items: center;
justify-content: center;
height: 300px;
overflow: hidden;
margin-top: 20px;
border: 1px solid #ddd;
}
.select-field-img img {
display: block;
width:100%;
height:auto;
}
.select-field-name {
margin-top: 15px;
font-size: 18px;
padding-bottom:10px;
}
.select-field-price {
display: flex;
align-items: flex-end;
justify-content: left;
margin-top: 25px;
line-height: 1;
font-size: 18px;
}
.select-field-price .underline {
  text-decoration: line-through;
  padding: 0 5px;
}
.select-field-price .big-off {
  color: #ff0000;
  font-weight: bold;
}
.select-field-price strong {
font-size:26px;
color:red;
padding-right:10px;
}
.select-field-price-deposit {
margin-top: 10px;
background: #f6f6f6;
border-radius: 4px;
padding: 10px;
color: #666;
font-size: 14px;
}
.oneday-choose .bv_ul_inner li.bv_separator {
position: relative;
margin-top: 15px;
font-size: 20px;
font-weight: bold;
}
.oneday-choose .bv_ul_inner li.bv_separator:after {
border-bottom: 2px dashed #ccc;
position: absolute;
bottom:0;
left: 15px;
right: 15px;
content:' ';
}
.oneday-choose .bv_ul_mobile {
top: 10% !important;
height: 80% !important;
}
.oneday-choose .select-guy .bv_ul_mobile {
top: 40% !important;
height: 20% !important;
}
.oneday-choose .select-num .bv_ul_mobile {
top: 33% !important;
height: 220px !important;
}
.oneday-choose .select-holiday .bv_ul_mobile {
top: 40% !important;
height: 90px !important;
}
.select-guy .bv_ul_bg,
.select-num .bv_ul_bg,
.select-factory .bv_ul_bg {
background-color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 768px) {
.oneday-choose {
width: 100%;
overflow: hidden;
padding: 40px 20px 40px 20px;
}
.oneday-choose .bv_mainselect .bv_atual {
font-size: 16px;
padding: 8px 15px;
}
.oneday-choose .top-search .search-btn {
top: 7px;
right: 15px;
width: 28px;
}
.oneday-choose .arrow.up {
margin-top: -6px;
}
.oneday-choose .arrow.down {
margin-top:7px;
}
.oneday-choose .bv_ul_inner li {
padding: 12px 28px 10px 10px!important;
font-size: 14px;
}
.oneday-choose .bv_ul_inner li.bv_separator {
font-size:18px;
}
.oneday-choose .btn-group .ec-blockBtn--action {
font-size: 16px;
height: 46px;
line-height: 46px;
margin-bottom:20px;
}
}
@media only screen and (min-width: 769px) {
.select-field-price strong {
font-size:32px;
}
.oneday-choose .bv_mainselect .bv_background.bv_ul_inner {
bottom: 0;
top: 66px !important;
height: 400px;
position: absolute !important;
margin-top: 0;
border-radius: 0;
border: 0;
background: #F2F2F2;
}
.oneday-choose .select-guy .bv_mainselect .bv_background.bv_ul_inner {
height: 95px;
}
.oneday-choose .select-num .bv_mainselect .bv_background.bv_ul_inner {
height: 240px;
}
.oneday-choose .select-holiday .bv_mainselect .bv_background.bv_ul_inner {
height: 100px;
}
.oneday-choose .innerinput {
padding:0;
}
.oneday-choose .bv_ul_inner {
border:0;
border-radius:0;
margin-top:0;
background: #F2F2F2;
}
.oneday-choose .bv_ul_inner li {
font-size: 18px;
padding: 10px 28px 10px 15px;
font-weight: normal;
}
.oneday-choose .bv_ul_inner li input {
font-size:18px;
}
.oneday-choose .nofocus {
padding: 10px 28px 10px 15px!important;
}
}
.field-detail-modal .ec-modal-wrap {
transition: all 0.6s;
top: -120%;
height: 80%;
padding:0!important;
overflow: hidden;
}
.field-detail-modal .ec-modal-wrap .ec-modal-box {
height:100%;
padding:30px 40px;
overflow: auto;
}
.field-detail-modal .ec-modal-wrap.active {
top:0;
}
.ec-modal.field-detail-modal .ec-modal-overlay {
position: relative;
}
.field-detail-modal .ec-modal-wrap > .ec-inlineBtn--cancel {
cursor: pointer;
border-radius: 30px;
width: 36px;
height: 36px;
display: flex;
justify-content: center;
align-items: center;
padding: 0;
overflow: hidden;
color: #fff;
font-weight: normal;
position: absolute;
right: 7px;
top: 7px;
}
.field-detail-modal .ec-modal-wrap > .ec-inlineBtn--cancel img {
width:14px;
display: block;
}

@media only screen and (max-width: 767px) {
.field-detail-modal .ec-modal-wrap .ec-modal-box {
padding: 25px 20px;
}
.m-field-main-title {
font-size: 20px;
}
}
@media only screen and (min-width: 768px) {
.field-detail-modal .ec-modal-wrap {
width:100%;
max-width:850px;
}
}

.m-field-heading {
border-bottom: solid 2px #0382cc;
color: #0382cc;
text-align: center;
font-size: 24px;
letter-spacing: 0.4px;
padding-bottom: 10px;
margin-bottom: 24px;
font-weight: bold;
}
.m-field-main-title {
font-weight: bold;
font-size: 34px;
line-height: 1.6;
text-align: left;
color: #000;
}
.m-field-desc {
display: flex;
align-items: center;
margin-bottom: 50px;
text-align: left;
font-size:22px;
font-family: '游ゴシック体', serif;
}
.m-field-desc p {
margin-right:10px;
}
.m-field-title {
font-size: 40px;
font-weight: bold;
text-align: left;
}
.m-field-info-list {
margin-top: 50px;
margin-bottom:50px;
border-top: dashed 1px #0382cc;
}
.m-field-info-item {
border-bottom: dashed 1px #0382cc;
display: flex;
align-items: center;
width: 100%;
font-size: 24px;
padding: 10px 0;
text-align: left;
font-family: '游ゴシック体', serif;
}
.m-field-info-item dt {
width: 35%;
font-weight: normal;
}
.m-field-info-item dd {
margin-left: 20px;
margin-bottom:0;
}
.m-field-course-image {
margin-top: 30px;
margin-bottom:40px;
}
.m-field-access-list {
margin-top: 20px;
}
.m-field-access-item {
width: 100%;
font-size: 24px;
text-align: left;
margin-bottom: 35px;
font-family: '游ゴシック体', serif;
}
.m-field-access-item dt {
font-weight: bold;
}
.m-field-access-item dd {
margin-top: 5px;
margin-bottom: 0;
}
.field-detail-modal .btn-footer {
margin-top: 60px;
}
.field-detail-modal .btn-footer .ec-inlineBtn--cancel {
max-width: 300px;
display: block;
margin: 0 auto;
border-radius: 40px;
padding: 0;
height: 56px;
line-height: 56px;
}
.field-detail-modal .btn-footer .ec-blockBtn--action {
max-width: 300px;
margin: 0 auto;
margin-top: 20px;
font-size: 20px;
}
@media only screen and (max-width: 767px) {
.m-field-heading {
font-size:12px;
}
.m-field-main-title {
font-size:24px;
}
.m-field-desc {
font-size:16px;
}
.m-field-info-item, .m-field-access-item {
font-size:16px;
}
.m-field-title {
font-size: 20px;
}
.m-field-course-image {
margin-top: 20px;
margin-bottom:30px;
}
.m-field-info-list {
margin-top: 30px;
margin-bottom: 30px;
}
.field-detail-modal .btn-footer {
margin-top: 30px;
}
.field-detail-modal .btn-footer .ec-inlineBtn--cancel {
max-width: 200px;
height: 46px;
line-height: 46px;
}
.field-detail-modal .btn-footer .ec-blockBtn--action {
max-width: 200px;
font-size:18px;
height: 46px;
line-height: 46px;
}
.m-field-access-item {
margin-bottom:15px;
}
}
/*------oneDay shopping step-------*/
.one-shopping-head .ec-pageHeader h1 {
  padding-bottom:16px;
}
.one-shopping-cartRole .ec-progress {
  padding: 0 40px 24px;
}
.one-orderRole {
  padding: 0;
}
.one-orderRole .ec-orderRole__detail {
  padding: 32px;
  background: rgba(255, 255, 255, 0.52);
  width: 60%;
}
.one-orderRole .ec-orderRole__price {
  width: 40%;
  margin-left: 16px;
}
.one-orderRole .ec-orderRole__price .ec-totalBox.sidebar__container,
.one-orderRole .ec-orderRole__price .ec-totalBox.sidebar__inner {
  padding: 32px;
  background: rgba(255, 255, 255, 0.52);
}
.one-orderRole .ec-rectHeading h2 {
  margin-top: 0;
  border-left: 5px solid #0071BC;
  background: none;
}
.one-orderRole .ec-borderedList .ec-heading-bold {
  font-size: 16px;
  margin-top: 16px;
  margin-bottom: 12px;
  padding: 0;
  background: none;
  color: #000000;
}
.one-orderRole .ec-imageGrid {
  border-top: none;
}
.one-orderRole .ec-imageGrid .ec-imageGrid__content {
  padding: 16px;
  background: #fff;
}
.one-orderRole .ec-orderRole__detail .ec-borderedList {
  border-top: 1px solid #e3e1dc;
}
.one-orderRole .ec-ticket-info {
  display: block;
}
.one-orderRole .ec-totalBox .ec-totalBox__pointBlock {
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  .one-orderRole .ec-orderRole__detail {
    width:100%;
    padding: 40px 24px;
  }
  .one-orderRole .ec-orderRole__price {
    width: 100%;
    margin-left: 0;
  }
}
/*-----赛季结束隐藏模块按钮-----*/
.ticket-list .ticket-price-button,
.oneday-choose .btn-group,
.top-ticket-upgrade .action,
.top-ticket-upgrade .content .link {
  display: none!important;
}


