@charset "UTF-8";

/* =============================== common =============================== */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'游ゴシック Medium','Yu Gothic Medium','游ゴシック体', YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;/*font-size:62.5%;*/ /*font-size: 1em!important; line-height: 1em!important; text-align:center;*/ -webkit-text-size-adjust:100%; color: #000; 	overflow-y:auto;
	overflow-x:hidden!important;}
fieldset,table,img,a img{border:0;}
address,em{font-style:normal;}
strong,dt,h1,h2,h3,h4,h5,h6,th{font-weight:normal;}
ul,ol{list-style:none;}
input::-ms-clear{visibility:hidden;display:none;}
.clearfix{zoom:1;}
.clearfix:after{content:"";display:block;clear:both;}
.text_min{ font-family: 'Noto Serif JP', serif;}
a:hover{ cursor: pointer;}
@media only screen and (min-width: 651px) { .pc_none{ display: none;} }
@media only screen and (max-width: 650px) { .sp_none{ display: none;} }
section{border-bottom:none!important;}

/* =============================== header =============================== */

.header{ box-sizing: border-box; padding: 10px; border-bottom: 1px solid #f2f2f2;}
.header .header-container .header-menu-list li a{ font-size: 1.5rem;}
.breadcrumbs{ box-sizing: border-box; padding: 10px!important;}
@media only screen and (max-width: 650px) { .breadcrumbs{padding:5px!important;} }

/* =============================== page =============================== */

.wrapper{text-align:center;}
section h1{font-size:1px!important; color:transparent!important;}
section{background:none!important; position:static!important;}
section .inner{padding:80px 60px;text-align:center;}
section .inner h2{font-size:34px; margin-bottom:40px; line-height:1.4; letter-spacing:2px; font-weight:500;}
section .inner h2 span{font-size:22px;}
section .inner p{text-align:center;}

@media screen and (max-width:940px){
	section .inner{padding:60px 40px;}
	section .inner h2{font-size:26px;}
	section .inner h2 span{font-size:18px;}
}

@media screen and (max-width: 650px){
	section .inner{padding:40px 20px;}
	section .inner h2{font-size:22px; margin-bottom:30px;}
	section .inner h2 span{font-size:16px;}
}



/* 共通（スマホ含む） */
.block01 .main_pic{width:100%;}
.block01 .main_pic img{width:100%;}
.block02 .inner{background-color:#F4F4F4;}
.block04 .inner{background-color:#F4F4F4;}
.block05 .inner{}


.table {
  display: flex;
  justify-content: center; /* 中のブロックを中央寄せ */
  max-width: 1100px !important;
  margin: 0 auto;          /* ← .table 自体を中央寄せ */
}

.table dl{display:flex; justify-content:start; flex-flow:column; width:calc((100% - 40px) / 2); margin:0 20px; border: 1px solid #0F1350; border-radius:5px; overflow:hidden;}
.table dl dt{display:flex; justify-content:center; align-items:center; padding:20px; font-size:18px; color:#FFFFFF; background-color:#0F1350;}
.table dl dd{display:flex; justify-content:center; align-items:center; flex-grow:1; padding:20px; font-size:18px; font-weight:500; line-height:1.8; background-color:#FFFFFF;}
.table dl dd a{display:contents; text-decoration:underline;}

@media screen and (max-width: 940px){
	.table dl{width:calc((100% - 30px) / 2); margin:0 10px;}
	.table dl dt{padding:15px;font-size:16px;}
	.table dl dd{padding:15px;font-size:16px;}
}

@media screen and (max-width: 650px){
	.table{display:block;}
	.table dl{display:flex; justify-content:start; flex-flow:row; width:100%; margin:0 auto 15px;}
	.table dl dt{padding:10px;font-size:14px;}
	.table dl dd{width:calc(100% - 100px); padding:10px;font-size:14px;}
}

.fukidashi{position:relative; display:inline-block; margin:10px auto 40px; padding:30px; min-width:300px; max-width:100%; color:#555; font-size:16px; background:#ffdbdb; border-radius:10px;}
.fukidashi:before{content:""; position:absolute; top:-30px; left:50%; margin-left:-15px; border:15px solid transparent; border-bottom:15px solid #ffdbdb;}
.fukidashi .tour_list_code{width:100%; text-align:center; font-size:16px; margin-bottom:10px; line-height:1.4;}
.fukidashi .tour_list_code span{display:block; color:#D10215; font-size:28px; font-weight:bold;}
.fukidashi .tour_list_code_box{display:flex; justify-content:center; width:90%; margin:3px auto;}
.fukidashi .tour_list_code_box .tour_list_no{display:flex; justify-content:center; align-items:center; flex-grow:1; width:calc(100% - 90px);  text-align:center; font-size:18px; color:#D10215; font-weight:600; line-height:1; letter-spacing:1.5px; padding:10px; border:1px solid #666666; margin-right:5px; background-color:#FFFFFF;}
.fukidashi .copy_btn{display:flex; justify-content:center; align-items:center; flex-grow:1; text-align:center; font-size:14px; padding:5px; color:#ffffff; background:#666666; border-radius:5px; transition:.3s;}
.fukidashi .tour_list_code_box .copy_btn:hover{opacity:0.6; cursor: pointer;}

@media screen and (max-width: 650px){
	.fukidashi{padding:25px;}
	.fukidashi .tour_list_code{font-size:15px;}
	
}

.tour_list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  max-width:1100px; /* ← 追加 */
  margin:0 auto 40px; /* ← 中央寄せ＋下マージン */
}
.tour_list li{display:block; width:calc((100% - 40px) / 2); width:-webkit-calc((100% - 40px) / 2); margin:0 10px 20px; background-color:#FFFFFF; transition:.3s; border:solid #0F1350; border-width: 5px 1px 1px 1px; /*box-shadow: 5px 5px 0 rgba(15,19,80,0.65);*/}
.tour_list li .tour_list_inner{padding-bottom:15px; width:100%;}
.tour_list li .tour_list_inner .tour_list_img{width:100%; height:230px; overflow:hidden;}
.tour_list li .tour_list_inner .tour_list_img img{width:100%;}
.tour_list li .tour_list_inner h3{display:block; text-align:left; font-size:20px; color:#333333; line-height:1.4; font-weight:600; padding:15px 0 0;}
.tour_list li .tour_list_inner .tour_list_lead{text-align:center; width:100%; padding:10px 15px;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_text{font-size:17px; text-align:left; color:#333333; margin:10px 0; line-height:1.6;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_text span{background:linear-gradient(transparent 60%, #ff6 60%);}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box{margin-top:10px;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_olprice{position:relative; text-align:center; text-decoration:line-through; font-size:18px; color:#D10215; font-weight:400; line-height:1; letter-spacing:1.5px; margin-top:20px!important; padding-bottom:5px;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_olprice::after{display:inline-block; content:"↓"; font-size:15px; font-weight:400; color:#0F1350; position:absolute; left:50%; bottom:-15px; transform:translateX(-50%);}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_price{text-align:center; font-size:24px; color:#D10215; font-weight:600; line-height:1; letter-spacing:1.5px; margin:20px auto 0 !important;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_price span{font-size:14px; color:#666666; font-weight:normal;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_code{width:100%; text-align:center; font-size:15px; margin:20px auto 5px;font-weight: 800;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_code_box{display:flex; justify-content:center; width:90%; margin:3px auto;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_code_box .tour_list_no{display:flex; justify-content:center; align-items:center; flex-grow:1; width:calc(100% - 90px); text-align:center; font-size:18px; color:#7b5544; font-weight:600; line-height:1; letter-spacing:1.5px; padding:10px; border:1px solid #666666; margin-right:5px; background-color:#F4F4F4;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_code_box .copy_btn{display:flex; justify-content:center; align-items:center; flex-grow:1; text-align:center; font-size:14px; padding:5px; color:#ffffff; background:#666666; border-radius:5px; transition:.3s;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_code_box .copy_btn:hover{opacity:0.6; cursor: pointer;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_djlink{text-align:center; width:90%; margin:20px auto 5px !important;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_djlink a{display:block; font-size:15px; color:#FFFFFF; padding:10px; position:relative; box-shadow:1px 1px 3px #CCCCCC; border-radius:5px; background-color:#0F1350; text-decoration:none;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_djlink a:hover{opacity:0.6;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_djlink a::after{display:inline-block; content:"〉"; font-size:15px; font-weight:400; color:#FFFFFF; position:absolute; right:5px; top:50%; transform:translateY(-50%); transition:.3s;}
.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_djlink a:hover::after{right: 0;}
p.text{width:100%; text-align:center; margin:20px auto;}



@media screen and (max-width: 1150px){
	.tour_list li .tour_list_inner .tour_list_img{height:200px;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_price{font-size:22px;}
}

@media screen and (max-width: 940px){
	.tour_list li{width:calc((100% - 30px) / 2); width:-webkit-calc((100% - 30px) / 2); margin:0 10px 20px;}
	.tour_list li:nth-child(3n){margin-right:10px;}
	.tour_list li:nth-child(2n){margin-right:0;}
	.tour_list li .tour_list_inner .tour_list_img{height:200px}
	.tour_list li .tour_list_inner .tour_list_lead{padding:15px;}
}

@media screen and (max-width: 650px){
	.tour_list{display:block; margin-bottom:60px;}
	.tour_list li{width:100%; margin:0 auto 20px!important;}
	.tour_list li .tour_list_inner{display:flex; flex-wrap:wrap;}
	.tour_list li .tour_list_inner .tour_list_img{width:38%; height:80px; display:flex; justify-content:center; align-items:center;}
	.tour_list li .tour_list_inner h3{width:calc(100% - 38%); padding:5px 10px; font-size:14px; text-align:left; display:flex; justify-content:center; align-items:center; flex-grow:1; border-bottom:1px solid #EEEEEE;}
	/*.tour_list li .tour_list_inner .tour_list_lead h3{font-size:13px;}*/
	.tour_list li .tour_list_inner .tour_list_lead{width:100%; padding:10px;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_text{font-size:13px; margin:0;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_price{font-size:17px; margin:10px auto!important;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_price span{font-size:12px; margin:10px 0;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_code{font-size:12px; margin:0;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_code_box .tour_list_no{font-size:14px; padding:10px;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_djlink{margin:10px auto 0 !important;}
	.tour_list li .tour_list_inner .tour_list_lead .tour_list_box .tour_list_djlink a{padding:10px; font-size:14px;}
}

.special{
  display:flex;
  justify-content:start;
  flex-wrap:wrap;
  max-width:1100px; /* ← 追加 */
  width:100%;
  margin:0 auto 40px; /* ← 中央寄せ＋下マージン */
}
.special li{display:block; width:calc((100% - 40px) / 3); width:-webkit-calc((100% - 40px) / 3); margin:0 20px 40px 0;}
.special li:nth-child(3n){margin-right:0;}
.special li a {
  display: block;
}
.special li img {
  width: 100%;
  height: auto !important;      /* ← 縦は自動 */
  display: block !important;    /* ← 余白・ズレ防止 */
}
.special li p{margin:5px 0; text-align:left; font-size:15px;}

@media screen and (max-width: 650px){
	.special li{display:block; width:calc((100% - 10px) / 2); width:-webkit-calc((100% - 10px) / 2); margin:0 10px 20px 0;}
	.special li:nth-child(3n){margin-right:10px;}
	.special li:nth-child(2n){margin-right:0;}
	.special li p{font-size:13px;}
}

.coupon_info{
  display:flex;
  justify-content:start;
  flex-flow:column;
  max-width:1100px; /* ← 追加 */
  width:100%;
  margin:0 auto;    /* ← 中央寄せ */
}
.coupon_info dl{display:flex; width:100%; margin-bottom:40px; padding:20px; border:1px solid #666666; background-color:#FFFFFF;}
.coupon_info dl dt{display:flex; justify-content:center; align-items:center;width:calc(100% - 45% - 40px); float:left;}
.coupon_info dl dt img{width:100%;}
.coupon_info dl dd{display:flex; justify-content:center; flex-flow:column; flex-grow:1; width:45%; margin-left:40px; float:right;}
.coupon_info dl dd h3{font-size:26px; padding-left:90px; text-align:left; position:relative; color:#0F1350; margin-bottom:20px;}
.coupon_info dl dd h3::before{display:inline-block; content:''; position:absolute; width:80px; height:80px; background-size:contain;left:0; top:50%; transform:translateY(-50%);}
.coupon_info dl:nth-child(1) dd h3::before{background-image:url("../images/icon_step1.png");}
.coupon_info dl:nth-child(2) dd h3::before{background-image:url("../images/icon_step2.png");}
.coupon_info dl:nth-child(3) dd h3::before{background-image:url("../images/icon_step3.png");}
.coupon_info dl dd p{font-size:16px; margin:5px 10px 5px 0;text-align:left;}

@media screen and (max-width: 940px){
	.coupon_info dl dt{width:calc(100% - 45% - 10px);}
	.coupon_info dl dd{margin-left:10px;}
	.coupon_info dl dd h3{font-size:18px; padding-left:60px; margin-bottom:10px;}
	.coupon_info dl dd h3::before{width:50px; height:50px;}
	.coupon_info dl dd p{font-size:14px;}
}
@media screen and (max-width: 650px){
	.coupon_info dl{display:block; padding:15px; border:0; margin-bottom:25px;}
	.coupon_info dl dt{display:block; width:100%; clear:both;}
	.coupon_info dl dd{display:block; width:100%; clear:both; padding:10px 10px 0 10px;}
	.coupon_info dl dd h3{font-size:16px; padding-left:50px;}
	.coupon_info dl dd h3::before{width:40px; height:40px;}
}



/*=======================================
	JR新幹線＋宿泊プラン（検索ボックス）
=======================================*/
.lodging .inner {
  background: none;
}
.lodging {
	background: #2d4198 !important;
}
.lodging .ttl-head {
	text-align: center;
	margin: 0 0 20px 0;
	color: #FFF;
}
.lodging h2 {
	color: #FFF;
}
.lodging .lead-txt {
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 180%;
	color: #FFF;
}
.lodging .lead-txt strong {
  color: #ffeb3b;
  font-weight: 700;
}
/*検索ボックス（外部ファイル読み込み・CSS上書き対応）*/
.rdrCalendarWrapper {
  width: 100%;
}
.rdrMonth {
  width: 100%;
}
.lodging .search-box {
  background: #212e72;
  padding: 30px 40px 20px 40px;

  max-width: 1100px;   /* ← 他と同じ幅 */
  margin: 0 auto;     /* ← 中央寄せ */
  width: 100%;
}
.lodging .search-box h2 {
  color: #FFF;
  text-shadow: none;
  font-size: 28px;
}
.fw-top .fw-mv-search {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
/* fw-search-top__ttl を強制的に上書き */
.student .fw-search-top__ttl {
  text-align: left !important;
  color: #ffeb3b !important; /* 明るい黄色 */
}

.fw-top .fw-mv-search .fw-search-top__item-data input {
  font-size: 20px;
  padding: 0;
}
.fw-top .fw-mv-search .fw-search-top__item-data input[type="text"] {
  width: 100%;
  max-width: none;
  padding: 10px;
  font-size: 16px;
}
.fw-top .fw-search-top__item-label {
  font-size: 16px;
  font-weight: 500;
  color: #FFF;
  margin: 0 10px 0 0;
}
/* 出発地タイトルを白文字に */
.student .fw-departure-ttl {
  color: #ffffff !important;
  text-align: left !important;
}
.student .fw-checkbox__label {
  color: #ffffff !important;
}

.fw-top .fw-search-top__item--date .fw-checkbox--icon .fw-checkbox__label {
  color: #FFF;
}
.fw-top .fw-search-top--train .fw-change-route-ttl, .student .fw-train-list-time-search-ttl, .student .fw-top .fw-radio--normal .fw-radio__input:checked + .fw-radio__label, .student .fw-top .fw-search-top--train .fw-radio__label, .student .fw-top .fw-search-top--train .fw-search-top__sub-label {
  color: #FFF;
  font-size: 16px;
  font-weight: 500;
}
.fw-train-list-time-search-ttl {
  margin: 0 10px 0 0;
}
.fw-top .fw-radio--normal .fw-radio__input:checked + .fw-radio__label:before {
  background-color: #d7000f;
}
.fw-top .fw-search-top--train .fw-train-list-time-search-col {
  justify-content: flex-start;
}
.fw-train-list-time-select-txt, .student .fw-train-list-time-select-minute {
  color: #FFF;
  font-size: 16px;
  font-weight: 500;
}
/*チェックボックスの色*/
.student .fw-top .fw-checkbox--icon .fw-checkbox__input:checked + .fw-checkbox__label:before {
  background-color: #8fd3f4 !important;
}
.student .fw-top .fw-checkbox--icon .fw-checkbox__input:checked + .fw-checkbox__label:before {
  background-color: #8fd3f4 !important;
  border-color: #8fd3f4 !important;
}
.student .fw-top .fw-checkbox--icon .fw-checkbox__input:checked + .fw-checkbox__label:after {
  color: #212e72 !important;
}
.fw-top .fw-search-top--train .fw-train-list-time-search-accordion-wrap {
  text-align: left;
  font-size: 16px;
  font-weight: 500;
  background: #FFF;
  padding: 0 0 3px 10px;
  margin: 0;
}
.fw-top .fw-search-top--train .fw-train-list-time-search-accordion {
  font-size: 14px;
  color: #2d4198;
  width: 100%;
}
.fw-top .fw-search-top--train .fw-train-list-time-select .fw-select select {
  color: #000;
}
.fw-top .fw-search-top--train .fw-train-list-time-search-wrap.fw-is-open {
  border: 1px solid #FFF;
  padding: 10px 20px;
}
.w-train-list-time-search-col {
  margin-bottom: 0;
}
.fw-top .fw-search-top--train .fw-change-route {
  margin: 0 0 10px 0;
}
.fw-top .fw-search-top--train .fw-search-top__btn {
  margin: 20px 0 0 0;
}
@media screen and (max-width:768px) {
  .lodging .inner {
    padding: 20px 0 50px 0;
  }
  .lodging h2 {
	  font-size: 30px;
    margin: 0 0 30px 0;
    padding: 0 16px; /* ← 追加 */
  }
  .lodging .lead-txt {
    text-align: left;
    padding: 0 16px; /* ← 追加 */
  }
  .lodging .search-box {
    padding: 20px 20px 15px 20px;
  }
  .fw-top .fw-select--area-set:nth-child(2n-1) {
    width: 100%;
    max-width: 500px;
  }
  .fw-top .fw-select--area-set:nth-child(2n) {
    width: 100%;
    max-width: 500px;
    margin: 5px 0 0 0;
  }
  .fw-top .fw-select--area-set:nth-child(n+3) {
    margin: 5px 0 0 0;
  }
  .fw-top .fw-search-top--train .fw-train-list-time-search {
    flex-wrap: wrap;
  }
  .fw-top .fw-search-top__item-label {
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    margin: 0 0 10px 0;
  }
}


