@charset "UTF-8";

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
@media screen and (min-width:768px), print {
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

/* マップエリア */
/*------------------------------------------------*/
.tab-item.tab01 .imgBox {
  background-image: url(../img/map_btn01_off_pc.png);
}
.tab-item.tab02 .imgBox {
  background-image: url(../img/map_btn02_off_pc.png);
}
.tab-item.tab03 .imgBox {
  background-image: url(../img/map_btn03_off_pc.png);
}
.tab-item.tab04 .imgBox {
  background-image: url(../img/map_btn04_off_pc.png);
}
.tab-item.tab05 .imgBox {
  background-image: url(../img/map_btn05_off_pc.png);
}
.tab-item.tab01.curr .imgBox ,
.tab-item.tab01:hover .imgBox {
  background-image: url(../img/map_btn01_on_pc.png);
}
.tab-item.tab02.curr .imgBox ,
.tab-item.tab02:hover .imgBox {
  background-image: url(../img/map_btn02_on_pc.png);
}
.tab-item.tab03.curr .imgBox ,
.tab-item.tab03:hover .imgBox {
  background-image: url(../img/map_btn03_on_pc.png);
}
.tab-item.tab04.curr .imgBox ,
.tab-item.tab04:hover .imgBox {
  background-image: url(../img/map_btn04_on_pc.png);
}
.tab-item.tab05.curr .imgBox ,
.tab-item.tab05:hover .imgBox {
  background-image: url(../img/map_btn05_on_pc.png);
}
/*................*/
.panel-skin {
  aspect-ratio: 4380/3800;
}
.panel-fig figure {
  background-position: 0 0;
  background-size: 100% auto;
}
/*................*/
.panel-control {
  right: 2vw;
  bottom: 2vw;
  width: 2.5vw;
}
.panel-control .zoom .wrap .char {
}
.panel-control .zoom.active .hitelm:hover .wrap {
  opacity: 0.5;
}
/*................*/
.panel-button .select-all {
}
.panel-button .select-all:not(.curr):hover {
  opacity: 0.5;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
} @media screen and (min-width:768px) and (max-width:1180px) {
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

.area_wrap {
  width:calc(80.292vw + 12.5vw);
}
.area_wrap .flowArea .flowicon{
  left:calc(24.9vw + 6vw);
}
#area02.area_wrap::after {
  right: -3.8%;
}
#area01.area_wrap::after {
  left: -5.2%;
}
.area_wrap .flow .flowBox .box02 .txtBox04{
  padding-top: 1vw;
  letter-spacing: 0.1em;
}
.area_wrap .flowBox.flow01 .box02 .txtBox04{
  padding-top: 2.8vw;
}
.area_wrap .flow .flowBox.flow03 .box02 .inner{
  width: 44.4%;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
} @media screen and (max-width: 767px) {
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

/* 調整 */
/*------------------------------------------------*/
#local_header #localmenu_wrapper{
  margin-bottom: 0;
}

/* 共通 */
/*------------------------------------------------*/
#contents{
  padding-bottom: 13.2vw;
}
.switch_pc{
  display:none;
}
.switch_sp{
  display: block;
}
.ancArea{
  width:66.8vw;
  height:38.95vw;
}
.ancArea .ancBox{
  display: block;
}
.ancArea .ancBox .box{
  margin-bottom:4.2vw;
}
.ancArea .ancBox .box .ancBtn{
  width: 100%;
  height: 15vw;
  font-size: 4vw;
  line-height:1.27;
  letter-spacing: 0.17em;
  border-width: 0.8vw;
  box-shadow:0 2.5vw 0 -1.2vw #62BB46, 0 2vw 0 0 #231F20;
}
  .ancArea .ancBox .box .ancBtn::after {
  right: 5.9vw;
  width: 2vw;
  height: 2vw;
  margin: auto;
  border-top: 0.6vw solid #231F20;
  border-right: 0.6vw solid #231F20;
  }

/* topArea */
/*------------------------------------------------*/
.topArea .pageicon {
  /*
  width: 70.3vw;
  margin: 0 auto;
  padding-top: 4vw;
  */
  margin: 0 auto;
  width: 69.7435897436vw;
  height: 43.0769230769vw;
  padding-top:2.102564vw;
  box-sizing: content-box;
}
.topArea .pageTtl{
  /*
  margin-top: -3vw;
  font-weight: 700;
  font-size: 6.4vw;
  line-height: 1.72;
  letter-spacing: 0.22em;
  */
  margin-top: -2.0512820513vw;
  font-size: 6.1538461538vw;
  letter-spacing: 0.22em;
}
.topArea .ttl_exp{
  margin-top:7.1794871795vw;
  font-size:4.358974359vw;
  line-height:2;
  letter-spacing: 0.26em;
}
.topArea .ancArea{
  margin:6.9vw auto 0 auto;
}

/* 共通 */
/*------------------------------------------------*/
.area_wrap{
  width:94.35vw;
  margin: 0 auto;
  padding:10.7vw 5.38vw;
  border-radius:7.69vw;
  background-color: #fff;
}
.area_wrap .areaTtl{
  font-size: 5.38vw;
  line-height: 1.81;
  }
.area_wrap .areaIcon{
  margin: 8.2vw auto 0 auto;
  width: 33.9vw;
  height: 8.82vw;
}
.area_wrap .areaIcon .icon{
  font-size: 3.846vw;
  margin-top:0.3vw;
  padding-left:0.9vw;
}
.area_wrap .area_exp{
  margin-top:4vw;
  font-size:4.1vw;
  line-height: 2.25;
  letter-spacing: 0.19em;
  padding: 0 2vw;
  text-align: justify;
}
.area_wrap .flowArea{
  margin-top:8.7vw;
  height: 445vw;
}
.area_wrap .flowArea .flow{
  display: block;
}
.area_wrap .flow .flowBox{
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  margin-right: 0;
  margin-bottom: 4vw;
}
.area_wrap .flow .flowBox.flow02 {
  margin-bottom: 3.4vw;
}
.area_wrap .flow .flowBox.flow03{
  width: 100%;
}
.area_wrap .flow .flowBox .box01{
  display: flex;
  width:10.25vw;
  height: auto;
  font-size: 3.59vw;
  line-height: 1.14;
  margin-left: 2vw;
  border-radius: 2.56vw;
  padding-right: 0.7vw;
}
.area_wrap .flow .flowBox .box01 p{
  margin-left: auto !important;
  margin-right: auto !important;
  writing-mode: vertical-rl
}
.area_wrap .flow .flowBox .box02{
  width: 71.025vw;
  height: auto;
  padding: 6.15vw 6.41vw 5.15vw 6.41vw;
  border-radius: 5.128vw;
  position: static;
}
.area_wrap .flow .flowBox .box02 .txtBox01{
  font-size:3.59vw;
  line-height: 1.54;
  letter-spacing: 0.19em;
  padding: 1.3vw 0 0.8vw 0;
  height: auto;
}
.area_wrap .flow .flowBox.flow01 .box02 .txtBox01{
  padding: 1.5vw 0;
}
.area_wrap .flow .flowBox .box02 .txtBox01 .note{
  font-size:3.075vw;
  line-height: 1.67;
  margin-top: -1vw;
}
.area_wrap .flow .flowBox .box02 .txtBox02{
  font-size: 3.33vw;
  margin-top: 4.4vw;
}
.area_wrap .flow .flowBox.flow03 .box02{
  display: block;
  padding-bottom: 7vw;
}
.area_wrap .flow .flowBox.flow03 .box02 .inner{
  width: 100%;
}
.area_wrap .flow .flowBox.flow03 .box02 .inner:nth-child(2n){
  padding: 0;
  border-left: none;
  margin-top: 7vw;
  border-top: 0.769vw solid #fff;
  padding-top: 6vw;
}
.area_wrap .flow .flowBox .box02 .txtBox03{
  font-size: 3.59vw;
  letter-spacing: 0.17em;
  margin-top: 4.5vw;
}
.case02 .flowArea .flow .flowBox .box02 .txtBox03.ft_adj {
  letter-spacing: 0.1em;
}
.area_wrap .flow .flowBox.flow01 .box02 .txtBox03{
  margin-top: 2.5vw;
}
.area_wrap .flow .flowBox .box02 .txtBox04{
  font-size: 2.56vw;
  letter-spacing: 0.17em;
  position: static;
  margin-top: 3vw;
  /*bottom: 4.6vw;*/
}
.area_wrap .flow .flowBox .box02 .imgBox01{
  width: 38.2vw;
  padding-top: 1.8vw;
  padding-left: 6.4vw;
}
.area_wrap .flow .flowBox.flow01 .box02 .imgBox01{
  width: 28.1vw;
  padding: 3.7vw 0 0 19.8vw;
}
.area_wrap .flow .flowBox.flow03 .box02 .imgBox01{
  width: 39.8vw;
  padding: 1.8vw 0 0 6.6vw;
}
.area_wrap .flowArea .flowicon{
  width: 29.4vw;
  position: absolute;
  top: 145.7vw;
  left: auto;
  z-index: 2;
  right: -3vw;
}
.area_wrap .flowArea .bg_arrow{
  width: 13.9vw;
  position: absolute;
  top: auto;
  right: 41.5vw;
  z-index: 0;
  bottom: 5vw;
}
.area_wrap .case02 .flowArea .bg_arrow{
  bottom: 8vw;
}

/* ご乗車方法 */
/*------------------------------------------------*/
#area01.area_wrap{
  margin-top: 4vw;
  margin-bottom: 10vw;
  padding-bottom: 13.2vw;
  position: relative;
}
#area01.area_wrap::after{
  content: '';
  background-image: url(../img/chara_img01_sp.png) ;
  bottom: -16.7vw;
  left: -8.1vw;
  width: 41.5vw;
  height: 41.5vw;
}
.case02 .flowArea {
  height: 513vw;
}
.area_wrap .case02 .areaIcon{
  margin-top:11.2vw;
}
.area_wrap .case02 .flowArea .flowicon{
  top: 161.7vw;
  right: -2vw;
}
.area_wrap .case02 .flow .flowBox.flow02 .box02{
  padding-bottom: 3.15vw;
}
.area_wrap .case02 .flow .fukiBox{
  position: static;
  border-radius:2.56vw;
  background-color: #F35C5C;
  width: 100%;
  margin:4vw auto 0 auto;
  padding:2.99vw 2.653vw 2.8vw 3.653vw;
}
.area_wrap .case02 .flow .fukiBox::after{
  content: none;
}
.area_wrap .case02 .flow .fukiBox .txt{
  font-size: 3.59vw;
  letter-spacing: 0.1em;
}
.area_wrap .case02 .flow .fukiBox .note{
  font-size: 2.82vw;
  line-height:1.55;
  margin-top: 2vw;
}

/* ご注意ください */
/*------------------------------------------------*/
.attArea{
  border-width: 1.025vw;
  padding:6vw 6vw 7.4vw 6vw;
}
.attArea .ttlBox{
  margin-bottom:0;
}
.attArea .ttlBox .ttl{
  position: relative;
  display: inline-block;
  padding-left: 0;
  padding-top: 8vw;
  font-weight: 700;
  font-size: 4.358vw;
  line-height: 1.88;
  letter-spacing: 0.19em;
}
.attArea .ttlBox .ttl::before{
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 8.2vw;
  height: 7.2vw;
}
.attArea .txtBox{
  margin-top: 5vw;
  font-size:3.33vw;
  letter-spacing: 0.06em;
}

/* ご利用可能な新幹線の乗車区間 */
/*------------------------------------------------*/
#area02.area_wrap{
  padding:9.3vw 0 12.2vw 0;
  position: relative;
}
#area02.area_wrap::after {
  background-image: url(../img/chara_img02_sp.png);
  bottom: -17.4vw;
  right: -0.8vw;
  width: 42.5vw;
  height: 42.5vw;
}
.ttl_icon{
  margin-top: 3.2vw;
}
.ttl_icon .iconBox{
  width: 35.9vw;
  padding:1.5vw 0 2.3vw 1.2vw;
  border-radius:12.82vw;
  font-size: 3.59vw;
  line-height: 1.29; 
}
.ride_attArea{
  border-width: 1.025vw;
}
.ride_attArea.exArea02{
  margin:6.8vw 5.38vw 0 5.38vw;
  padding:6.3vw 4.64vw 7.2vw 4.64vw;
}
.ride_attArea.exArea02 a{
  text-underline-offset:1.6vw;
}
.ride_attArea .ttlBox .ttl{
  font-size:3.846vw;
  line-height: 1.47;
  letter-spacing: 0.18em;
  padding:2.8vw 0 2.88vw 9.6vw;
  text-indent: 4.4vw;
}
.ride_attArea.exArea01 {
  margin: 0 5.38vw;
  padding: 7.9vw 4.7vw 6.6vw 4.7vw;
}
.ride_attArea.exArea01 .ttlBox .ttl::before{
  top: 50%;
  left: 2vw;
  width: 11.2vw;
  height: 10.2vw;
}
.ride_attArea.exArea01 .detailBox{
  display: block;
  margin-top: 6.7vw;
}
.ride_attArea.exArea01 .detailBox .ex_box{
  width:100%;
}
.ride_attArea.exArea01 .detailBox .ex_box.box02{
  margin-top: 7.25vw;
  padding-top: 7.72vw;
  border-top: 1.025vw solid #EAEAEA;
}
.ride_attArea.exArea01 .detailBox .txtBox{
  font-size: 3.846vw;
  line-height:1.73;
  letter-spacing: 0.07em;
}
.ride_attArea.exArea01 .detailBox .txtBox .txt{
  text-indent: 0;
  padding-left: 0;
}
.ride_attArea.exArea01 .detailBox .imgBox{
  margin-top: 5.5vw;
}
.ride_attArea.exArea01 .detailBox .noteBox{
  font-size: 3.075vw;
  line-height: 2.17;
  letter-spacing: 0.07em;
  margin-top: 2.8vw;
}
.ride_attArea.exArea02 .detailBox{
  margin-top:4.7vw;
  font-size:3.33vw;
  line-height: 1.77;
  letter-spacing: 0.1em;
}
.ride_attArea.exArea02 .detailBox li{
  margin-bottom:3.3vw;
}
.ride_attArea.exArea02 .detailBox .note{
  margin-top: 0.2vw;
}
.ride_attArea.exArea02 .detailBox .note li{
  font-size:3.33vw;
  line-height:1.69;
  letter-spacing: 0.06em;
  margin-bottom: 0.2vw;
}
.ride_attArea.exArea02 .detailBox .inner{
  margin-top: 2.4vw;
  margin-bottom: 0.55vw;
  padding: 0 1vw 0 1.2vw;
}
.ride_attArea.exArea02 .detailBox .inner li{
  font-size: 3.33vw;
  line-height:1.54;
  letter-spacing: 0.06em;
  margin-bottom: 0.6vw;
  text-indent: -1em;
  padding-left: 1em;
}
.ride_attArea .yBox{
  font-size:3.075vw;
  line-height: 2.08;
  letter-spacing:0.027em;
  margin-top: 8.2vw;
  padding: 4.2vw 5.2vw 4vw 5.2vw;
}
.ride_attArea .yBox .ttl{
  font-size: 4.358vw;
  line-height: 1.88;
  letter-spacing: 0.26em;
  text-align: center;
}
.ride_attArea.exArea02 .yBox{
  margin-top: 6vw;
  padding:4.5vw 6vw 5vw 6vw;
  font-size: 3.33vw;
  line-height: 2;
  letter-spacing: 0.05em;
}
.ride_attArea.exArea02 .yBox .ttl{
  margin-bottom:2vw;
}

/* マップエリア */
/*------------------------------------------------*/
.mapArea{
  width: 100%;
  padding: 2.8vw 0 11.0vw 0;
}
.mapArea .txtArea{
  width: 81.2vw;
  font-size: 2.82vw;
  letter-spacing: 0.16em;
  margin: 0 auto 0 auto;
}
/*................*/
.tab-wrap{
  margin: 5vw 0 0 0;
}
.tab-wrap .inner{
  overflow-x: auto;
  overflow-y: hidden;
}
.tab-wrap .inner::-webkit-scrollbar{
  display: none;
}
.tab-wrap .inner .tab-list{
  margin:0 5.38vw 2.7vw 5.38vw;
}
.tab-wrap .inner .tab-list::-webkit-scrollbar {
  display: none;
  height: 0 !important;
}
.tab-list{
  width: 129.487vw;
}
.tab-item {
  width: 23.846vw;
  aspect-ratio: 186/236;
}
.tab-item.tab01 .imgBox{
  background-image: url(../img/map_btn01_off_sp.png);
}
.tab-item.tab02 .imgBox{
  background-image: url(../img/map_btn02_off_sp.png);
}
.tab-item.tab03 .imgBox{
  background-image: url(../img/map_btn03_off_sp.png);
}
.tab-item.tab04 .imgBox{
  background-image: url(../img/map_btn04_off_sp.png);
}
.tab-item.tab05 .imgBox{
  background-image: url(../img/map_btn05_off_sp.png);
}
.tab-item.tab01.curr .imgBox {
  background-image: url(../img/map_btn01_on_sp.png);
}
.tab-item.tab02.curr .imgBox {
  background-image: url(../img/map_btn02_on_sp.png);
}
.tab-item.tab03.curr .imgBox {
  background-image: url(../img/map_btn03_on_sp.png);
}
.tab-item.tab04.curr .imgBox {
  background-image: url(../img/map_btn04_on_sp.png);
}
.tab-item.tab05.curr .imgBox {
  background-image: url(../img/map_btn05_on_sp.png);
}
/*................*/
.panel-list{
}
.panel-field {
}
.panel-item {
  border-radius: 5.128vw;
  padding: 3.33vw 3.59vw 14.358vw 3.59vw;
}
.panel-list{
  width: 83.4vw;
  margin: 0 auto 0 auto;
}
/*................*/
.panel-skin {
  aspect-ratio: 100/154;
}
.panel-fig figure {
  background-position: 40% 0;
  background-size: auto 100%;
}
/*................*/
.panel-control {
  right: 2vw;
  bottom: 2vw;
  width: 9vw;
}
/*................*/
.panel-button {
  bottom: 11vw;
}
.panel-button .select-all {
  width: 30.25vw;
  height: 7.18vw;
  border-radius: 7.18vw;
  font-size: 3.077vw;
  letter-spacing: 0.29em;
}

/*................*/
.sp_btn, .pageTop, #side .sidebar{
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
}
.sp_btn.js-appear, .pageTop.js-appear, #side .sidebar.js-appear{
  opacity: 1;
  visibility: visible;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
} /* end of media query */
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
