@charset "utf-8";
/* =reset
-------------------------------------------------------------- */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,
sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,
tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,
footer,header,hgroup,menu,nav,section {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

ol li ol,
ul li ul,
ol li ul,
ul li ol,
li {
    margin: 0;
    list-style: none;
}

*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    padding: 0;
    margin: 0;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
    color: #FFF;
    background-color:#131316;
    font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight:500;
}

body {
    font-size: 1.5rem;
	line-height: 180%;
	position: relative;
 }
img{
	width: 100%;
	height: auto;
}

a{
	transition: all 0.3s ease;
}

a img:hover {
    opacity: 0.8;
}
.pc_only{
	display:inline-block;
}
.sp_show,
.sp_show2{
    display: none;
}
.sp_hide,
.sp_hide2{
    display: block;
}
strong {
    font-weight: bold;
}

input:not(.sub-bgcolor),textarea{
    font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
/* input,textarea{
    font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
} */

.inner-full {
    width: 100%;
    padding: 45px 0;
}

.inner {
	width: 90%;
    max-width: 1200px;
    margin: 0 auto;
	position: relative;
}

#wrapper{
	width: 100%;
	/*min-width: 1280px;*/
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	background:none !important;
}

#wrapper section{
	width: 100%;
	position: relative;
}

#wrapper strong{
	font-size: 1.9rem;
}

.flex_box{
	display:flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}
/*btn*/
.link_btn {
	display: inline-block;
	padding: 15px 30px;
	max-width: 320px;
	border: 1px solid #FFF;
	text-align: center;
	background-image: url("../images/icon_arrow01.png");
	background-position:95% 50%;
	background-repeat: no-repeat;
	background-size: 6px 12px;
	font-size: 1.5rem;
	transition: all 0.2s ease;
	font-weight: bold;
}
.link_btn:hover {
	background-color:#4D4D54;
}
.link_btn.btn_ex {
	background-image: url("../images/icon_ex_link.png");
	background-position:95% 40%;
	background-repeat: no-repeat;
	background-size: 19px 19px;
}

.link_btn.btn_gl {
	border: none;
	background-image: url("../images/icon_arrow04.png");
	background-position:95% 50%;
	background-repeat: no-repeat;
	background-size: 7px 10px;
	background-color: #73E5B1;
	color:#102830;
}
.link_btn.btn_gl:hover {
	background-color:#B0F3D5;
}

/*============================
 start animation setting
==============================*/

/*----------
keyframes
------------*/

/* scroll down */
@keyframes floating{
	0% { transform: translateY(0); }
	35% { transform: translateY(-10px); }
	65% { transform: translateY(0); }
	100% { transform: translateY(0); }
}

/* brush */
@keyframes ani_brushstroke{
	0% { left:-100%; transform: scale(0%);}
	100% {left:-23%; transform: scale(100%);}
}
@keyframes ani_brushstroke2{
	0% { left:-110%; opacity: 0;}
	82% { left:-110%; opacity: 0;}
	100% {left:-23%; opacity: 1;}
}

/* header > h1 ani_fade_down */
@keyframes ani_h1_fade_down{
	0% { transform: translateY(-30px); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}

/* header > head_bg_green ani_bg_green */
@keyframes ani_bg_green{
	0% { transform: translate3D(80%,-110%,0); opacity: 0; }
	50% { transform: translate3D(80%,-110%,0); opacity: 0; }
	100% { transform: translate3D(0,0,0); opacity: 1; }
}

/* header > head_bg_gray ani_bg_gray
@keyframes ani_bg_gray{
	0% { transform: translate3D(-105%,0,0); opacity: 0; }
	70% { transform: translate3D(-105%,0,0); opacity: 0; }
	100% { transform: translate3D(0%,0,0); opacity: 1; }
} */

/* header > head_bg_gray ani_bg_gray */
@keyframes ani_bg_gray{
	0% { left:-105%; opacity: 0; }
	82% { left:-105%; opacity: 0; }
	100% { left:-17%; opacity: 1; }
}

/* header > p ani_fade_down */
@keyframes ani_p_fade_down{
	0% { transform: translateY(30px); opacity: 0; }
	80% { transform: translateY(30px); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}

/* sub_nav ani_subnav */
@keyframes ani_subnav{
	0% { opacity: 0; }
	80% { opacity: 0; }
	100% { opacity: 1; }
}

/* sub_nav ani_map_fade */
@keyframes ani_map_fade{
	0% { opacity: 0; }
	100% { opacity: 1; }
}


/*----------
css
------------*/

/*fade*/
.fadein_down {
  opacity : 0;
  transform: translateY(-80px);
  transition: all 0.5s;
}
.fadein_up {
  opacity : 0;
  transform: translateY(80px);
  transition: all 0.5s;
}
.fadein_down2 {
  opacity : 0;
  transform: translateY(-80px);
  transition: all 0.5s;
}
.fadein_up2 {
  opacity : 0;
  transform: translateY(80px);
  transition: all 1s ease-out;
}
.fadein_up3 {
  opacity : 0;
  transform: translateY(80px);
  transition: all 1.2s ease;
}


/*============================
 end animation setting
==============================*/

/*----------------------------------------*/

/*wrapper brush animation*/

#wrapper header .brush,
#wrapper section .brush{
	width: 137%;
	height:256px;
	position: absolute;
	bottom:-114px;
	left:-23%;
	z-index: 2;
	background: url("../images/brush.png")no-repeat center center;
	background-size: 100% 256px;
	opacity: 0;
}

section .brush_top{
	width: 137%;
	height:256px;
	position: absolute;
	top:-114px;
	left:-23%;
	z-index: 2;
	background: url("../images/brush.png")no-repeat center center;
	background-size: 100% 256px;
}


/*-----------------------------
slide
----------------------------- */

/* pagenation */
.swiper-my-pagination .swiper-pagination-bullet {
    width: auto;
    height: auto;
    border-radius: 0;
}
.swiper-container-horizontal > .swiper-my-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 24px 0 0 0;
}

.swiper-my-pagination {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-justify-content: center; /* Safari */
	justify-content: center;
}
/* arrow */
.swiper-button-prev, .swiper-button-next {
    width: 22px;
    height: 45px;
}
.swiper-button-prev {
    background: url("../images/icon_slide_arrow_l.png") no-repeat center center / contain;
    left: 0%;
}
.swiper-button-next {
    background: url("../images/icon_slide_arrow_r.png") no-repeat center center / contain;
	right: 0%;
}

.swiper-button-prev:hover {
    opacity: .7;
}
.swiper-button-next:hover {
    opacity: .7;
}
span.swiper-pagination-bullet:hover {
    opacity: .6;
}
.swiper-button-disabled {
    display: none;
}


/*-----------------------------
header
----------------------------- */

#wrapper .mv_area{
	width: 100%;
	height: 460px;
	position: relative;
	overflow: hidden;
}

#wrapper .mv_area .inner{
	height: 100%;
	z-index: 5;
}

#wrapper .mv_area h2{
	width:335px;
	height: 37px;
	position: absolute;
	top: 30px;
	left:4.76%;
	z-index: 6;
}
.lang{
    position: absolute;
    top: 38px;
    right: 120px;
    width: 120px;
    z-index: 6;
    font-size: 1.2rem;
    font-weight: bold;
}
.lang .title {
    display: block;
    background-image: url(../images/arrow_down_white.svg);
    background-position: right 10px top 12px;
    background-repeat: no-repeat;
    background-size: 12px 12px;
    line-height: 100%;
    padding: 12px 10px 12px 12px;
    box-sizing: border-box;
    background-color: #180E01;
}
.lang .title:hover{
    cursor: pointer;
}
.lang .title img{
    width: 102px;
    height: 21px;
}
.lang .arrow {
    display: block;
    background-image: url(../images/arrow_up_white.svg);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 12px 12px;
    line-height: 100%;
    padding: 12px 10px 12px 12px;
    box-sizing: border-box;
    background-color: #180E01;
}
.lang .lang_menu {
    display: none;
    width: 100%;
    margin: 0px 0 20px 0;
}
.lang .lang_menu li {
    text-align: center;
    font-size: 1.1rem;
}
.lang .lang_menu a {
    display: block;
    background-color: #404040;
    border-bottom: solid #858585 1px;
    padding: 2px 4px !important;
    text-decoration: none;
    color: white;;
}
.lang .lang_menu li:last-child a{
    border-bottom: none;
} 
.lang .lang_menu li a:hover {
    background-color: #73E5B1;
    color: #202020;
    opacity: 1;
    font-weight: bold;
}
@media screen and (max-width: 812px) {
    .lang{
        position: absolute;
        top: 20%;
        left: 17px;
        width: 120px;
        z-index: 6;
        font-size: 1.2rem;
        font-weight: bold;
    }
}

#wrapper .mv_area > div p{
	position: absolute;
	top:31.08%;
	left:50%;
	transform: translateX(-50%);
}

#wrapper .mv_area .head_bg_green{
	width:539px;
	height: 1076px;
	position: absolute;
	top:0;
	right: 0;
	z-index: 3;
	transition: all 3s ease-out;
}
#wrapper .mv_area .head_bg_gray{
	width:137%;
	height:707px;
	position: absolute;
	bottom:-420px;
	left: -17%;
	z-index:4;
	transition: all 3s ease-out;
	background: url("../images/head_bg_brush_ms.png")no-repeat center center;
	background-size: 100% 707px;
}

/*----------------------------------------------------
header_navi
----------------------------------------------------*/
.header_navi {
    position: absolute;
    top: 0;
    z-index:11;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    box-shadow: 0px 6px 3px rgba(0,0,0,1);
}

.bottombar{
    position: fixed;
    z-index: 5;
    top: 35px;
    right:40px;
    margin-left:550px;
	cursor: pointer;
}
.bottombar ul li {
    float: right;
    display: block;
    content: '';
    width: 50px;
    background-size: contain;
}
.icon-animation {
    width: 50px;
    height: 35px;
    float: left;
    display: block;
    position: relative;
    z-index: 11;
}
.icon-animation span {
    width: 50px;
    height: 3px;
    display: block;
    background: #fff;
    position: absolute;
    left: 0%;
    top: 50%;
}
.icon-animation span {
    transition: all 0.3s;
    transform: rotate(0deg);
}
.icon-animation .top {
    transform: translateY(-18px);
}
.icon-animation .bottom {
    transform: translateY(18px);
}
.icon-animation.is-open .middle {
    background: rgba(255, 255, 255, 0);
}
.icon-animation.is-open .top {
    transform: rotate(-45deg) translateY(0px);
}
.icon-animation.is-open .bottom {
    transform: rotate(45deg) translateY(0px);
}

.header_navi nav {
    display: none;
    position: fixed;
    top: 0px;
    z-index: 3;
    width: 100%;
    background:#232323;
}
.header_navi nav .inner{
    margin: 45px auto;
}
.header_navi nav h1{
    display: inline-block;
}
.header_navi nav h1 a img{
    width: 250px;
    height: auto;
    vertical-align: middle;
}
.header_navi nav ul{
    margin: 0 80px 0 0;
}
.header_navi nav ul li{
    display: inline-block;
    margin-left: 40px;
	line-height: 1;
}
.header_navi nav ul li:first-child{
    margin-left: 0px;
}
.header_navi nav ul li img{
    vertical-align: middle;
}

/*-----------------------------
reservation_box
----------------------------- */
#wrapper section.reservation_box {
	background: #131316;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 4;
}

#wrapper section.reservation_box .inner {
	position: relative;
	z-index: 4;
	top: 40px;
}
/*tab*/
.reservation_box .group{
    /*display: flex;
    justify-content:space-between;
	align-content: stretch;
	align-items: stretch;*/
	
	min-height: 130px;
}
.reservation_box .tab-group{
    display: flex;
	align-content: stretch;
	align-items: stretch;
	width: 610px;
	height: 100%;
}
.reservation_box.tab_04 .tab-group{
	width: 810px;
}
.reservation_box .tab{
	width: 100%;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	flex-grow: 1;
	text-align: center;
    list-style:none;
    cursor:pointer;
	position: relative;
	background: #585858;
    border-right: 2px solid #324F59;
	line-height: 38px;
	font-size: 1.2rem;
	font-weight: bold;
}
.reservation_box .tab img{
    width: 14px;
    display: inline-block;
    margin-right: 5px;
}
.reservation_box .tab img.jr{
    width: 18px;
}
.reservation_box .tab:last-of-type{
	border: 0;
	/*! line-height: 40px; */
}
.reservation_box .tab.tab-active{
	background: #232323;}

.reservation_box .panel-group{
	/*width: calc(100% - 160px );*/
    height:auto;
}

.reservation_box .panel{
    display:none;
	opacity: 0;
    transition: all 0.2s ease-out;
	width: 100%;
}

.reservation_box .panel_content{
	height: 100%;
	padding: 30px 25px 30px 60px;
	background: #232323;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.5);
}

.reservation_box .tab.tab-active p,
.reservation_box .tab:hover p{
	width: 100%;
	height: 100%;
	z-index: 1;
	position: absolute;
	top:0;
	left:0;
    display: flex;
    justify-content:center;
	align-items: center;
	align-content: center;
}
.reservation_box .tab.tab-active img,
.reservation_box .tab:hover img{
	opacity: 0.7;
}

.reservation_box .tab.tab-active p:before,
.reservation_box .tab:hover p:before{
	content: "";
	display: block;
	width: 105%;
	height: 105%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%,-50%,0);
	background: rgba(255,255,255,0.7);
	border-radius:105%;
	z-index:-1;
}

.reservation_box .panel.tab-show{
    display:block;
	opacity: 1;
}

.reservation_box h4:before {
	content:"";
	display: inline-block;
	background: url("../images/icon_point01.png") no-repeat;
	width: 7px;
	height: 7px;
	margin-right: 5px;
}

/*best_rate*/

.reservation_box .best_rate.panel_content{
	height: calc(100% - 40px);
	padding: 20px 30px;
}
.reservation_box .best_rate{
	display:flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}
.reservation_box .best_rate > img{
	width: 82px;
	height: 78px;
}


.reservation_box .best_rate .best_rate_txt{
	width:570px;
}

.reservation_box .panel:nth-of-type(1) .best_rate h2 img{
	width: 410px;
	height: auto;
}
.reservation_box .panel:nth-of-type(2) .best_rate h2 img{
	width: 227px;
	height: 35px;
}
.reservation_box .best_rate ul{
	width:400px;
}
.reservation_box .best_rate li{
	width: 48%;
}



.reservation_box .best_rate .link_btn{
	width: 100%;
	font-size: 1.2rem;
	height: 50px;
	line-height: 1em;
	padding: 20px 30px 20px 15px;
}

.reservation_box .best_rate .link_btn.btn_ex{
	line-height: 1.2em;
	padding: 10px 0;
	font-size: 1.2rem;
}
.reservation_box .best_rate h2{ line-height: 1;}

/*airplane*/
.reservation_box .airplane .SP{
    display: none;
}
.reservation_box .airplane.panel_content{
    height: calc(100% - 40px);
    padding: 20px 30px;
}
.reservation_box .airplane{
    display:flex;
    align-content: center;
    align-items: center;
}
.reservation_box .airplane > img{
    width: 283px;
    height: auto;
    margin-right: 14px;
}
/*
.reservation_box .airplane .airplane_txt{
    width:224px;
}*/
.reservation_box .panel:nth-of-type(4) .airplane h2 img{
    width: 224px;
    height: 50px;
}
.reservation_box .airplane .PC{
    display: block;
    width:calc(100% - 300px);
    max-width: 712px;
    margin-left: auto;
}
.reservation_box .airplane ul{
    display: flex;
}
.reservation_box .airplane li{
  margin-left: 10px;
}
.reservation_box .airplane li img{
    vertical-align: bottom;
    display: inline-block;
}
.reservation_box .airplane li button{
    border: none;
    background: none;
}
.reservation_box .airplane li button:hover{
    opacity: 0.8;
    cursor: pointer;
}
.reservation_box .airplane h2{ line-height: 1;}

/*jr_train*/
.reservation_box .jr_train .SP{
    display: none;
}
.reservation_box .jr_train.panel_content{
    height: calc(100% - 40px);
    padding: 20px 30px;
}
.reservation_box .jr_train{
    display:flex;
    align-content: center;
    align-items: center;
}
.reservation_box .jr_train > img{
    width: 283px;
    height: auto;
    margin-right: 14px;
}
/*
.reservation_box .jr_train .jr_train_txt{
    width:224px;
}*/
.reservation_box .panel:nth-of-type(4) .jr_train h2 img{
    /*! width: 224px; */
    height: 50px;
}
.reservation_box .jr_train .PC{
    display: block;
    /*! width:calc(100% - 300px); */
    /*! max-width: 712px; */
    /*! margin-left: auto; */
}
.reservation_box .jr_train ul{
    display: flex;
}
.reservation_box .jr_train li{
  margin-left: 10px;
}
.reservation_box .jr_train li img{
    vertical-align: bottom;
    display: inline-block;
}
.reservation_box .jr_train .PC li img{
    width: 100%;
    max-width: 184px;
    box-sizing: border-box;
}
.reservation_box .jr_train li button{
    border: none;
    background: none;
}
.reservation_box .jr_train li button:hover{
    opacity: 0.8;
    cursor: pointer;
}
.reservation_box .jr_train h2{ line-height: 1;}

/*search*/
.reservation_box h4 {
	padding		 : 0;
	font-size	 : 1.4rem;
	line-height : 1em;
	margin:0 0 10px;
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
}
.reservation_box #booking_inner {
	width		 : 100%;
	margin		 : 0;
	padding		 : 0;
	line-height	 : 1.5em;
	font-size: 1.5rem;
	display: flex;
	justify-content: flex-start;
}

.reservation_box .bookingengine {
	color		 : #D6D6D6;
}
.reservation_box .booking {
	font-size	 : 14px;
	font-weight	 : bold;
}
.reservation_box .booking_date {
	margin		 : 0;
	padding		 : 0 5px;
	float		 : left;
	display		 : block;
}
.reservation_box .booking_date_2col {
	float		 : left;
	display		 : block;
	width		 : 80px;
	margin-right	 : 5px;
	padding		 : 0 5px;
}
/*.reservation_box input,
.reservation_box select {
	margin		 : 0;
	padding		 : 0;
}
*/

.reservation_box input,
.reservation_box select{
	background: none;
	border: 1px solid #7D7D7D;
	color: #FFF;
	padding: 5px;
	text-align: center;
	margin: 0 10px;
}

select::-ms-expand {
    display: none;
}

.reservation_box option{
    background:white;
    color: #232323
}

.reservation_box input[disabled]{
	background:#7D7D7D;
}

.reservation_box #nitteiarea{
	border-right: 2px solid #707070;
	padding:0 30px 0 0;
	margin: 0 30px 0 0;
}
	
.reservation_box #nitteiarea > input:first-of-type{
	margin: 0 10px 0 0;
}
.reservation_box #nitteiarea .cal_icon{
	display: inline-block;
	width: 20px;
	height: 22px;
	margin: 0 10px;
	position: relative;
	top: 5px;
}
/*calender*/
.reservation_box #calid{
	width: 280px!important;
}

.reservation_box #ninzuarea{
	padding-right:80px;
}

.reservation_box .btn_area{
	width: 450px;
	font-size:1.2rem;
}

.reservation_box .btn_area span{
	display: inline-block;
	text-align: center;
	margin: 0 auto;
}
.reservation_box .btn_area span:before{
	content: "";
	width: 6px;
	height: 9px;
	margin: 0 5px 0 0;
	display: inline-block;
	background: url("../images/icon_arrow03.png") no-repeat top center;
	background-size:6px 9px;
}

.reservation_box input.button {
	margin		 : 0 20px 0 0;
	padding      :0;
	text-align	 : center;
	border:none;
    vertical-align: middle;
}
.reservation_box select{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding:5px 30px 5px 5px;
	background:url("../images/icon_arrow02.png") no-repeat 90% 50%;
	background-size: 10px 5px;
}

.reservation_box hr {
	clear		 : both;
	width		 : 98%;
	height		 : 0;
	margin		 : 0;
	padding		 : 0;
	border		 : none;
	border-bottom	 : 1px dotted #CCCCCC;
}

/*.reservation_box #nitteiarea,
.reservation_box #ninzuarea,
.reservation_box #ryokinarea,
.reservation_box #searchtypearea {
	width		 : 100%;
	margin		 : 0;
	padding		 : 5px;
	border		 : none;
}*/
.reservation_box #searchtypearea label {
}

.reservation_box input#chkymd,
.reservation_box input#chkpsn {
	margin		 : 0;
	padding		 : 0;
}

.reservation_box #calidif,
.reservation_box #apple_overlayif {
	width		 : 0;
	height		 : 0;
	position	 : absolute;
	display		 : block;
}
/*-----------------------------
.reservation_box .optima_reserve(add.2022_02)
----------------------------- */
.optima_reserve.reservation_box .panel .best_rate.panel_content{
	padding: 11px 30px;
}
.optima_reserve.reservation_box .best_rate .best_rate_txt.optima_ttl h2{
	width: 215px; 
	padding-top: 53px;
	background-image: url("../images/txt_bestrate_resolcard-3.png");
	background-repeat: no-repeat;
	background-size: contain;
}

.optima_reserve.reservation_box input:not(.sub-bgcolor),
.optima_reserve.reservation_box select{
	background: none;
	border: 1px solid #7D7D7D;
	color: #FFF;
	padding: 5px;
	text-align: center;
	margin: 0 10px;
}
.optima_reserve.reservation_box select{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding:5px 30px 5px 5px;
	background:url("../images/icon_arrow02.png") no-repeat 90% 50%;
	background-size: 10px 5px;
}

.optima_reserve.reservation_box .best_rate .best_rate_txt.optima_ttl{
	width:initial;
	/* min-width: 300px; */
	padding: 0;
}
.optima_reserve.reservation_box .panel .best_rate .best_rate_02{
	display:flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}
.optima_reserve.reservation_box .panel .best_rate .best_rate_02 .best_rate_logo{
	width: 82px;
	height: 78px;
	margin: 9px 20px 9px 0;
}
@media all and (-ms-high-contrast: none) {
	.optima_reserve.reservation_box .panel:nth-of-type(1) .best_rate .best_rate_02{
		display:flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		width: 33% !important;
	}
	.optima_reserve.reservation_box .panel:nth-of-type(1) .best_rate .best_rate_02 .best_rate_logo{
		width:192px;
		height: 78px;
		margin: 9px 20px 9px 0;
		box-sizing: border-box;
	}
}

.optima_reserve.reservation_box .panel:nth-of-type(1)  .best_rate .best_rate_02 h2 img{
	width: 100%;
	height: auto;
}
.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate h2 img{
	width: 227px;
	height: 35px;
}
/* jr_train (tab4) */
.optima_reserve.reservation_box .panel .jr_train .text{
	display:flex;
	align-content: center;
	align-items: center;
    width: calc(100% - 404px);
}
.optima_reserve.reservation_box .panel .jr_train .text img.best_rate_logo{
    display:block;
	width: 292px;
    height: 70px;
    margin:7px 15px 0 0;
}
@media all and (-ms-high-contrast: none) {
	.optima_reserve.reservation_box .panel .jr_train .text{
		display:flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		/* width: 33% !important; */
	}
	.optima_reserve.reservation_box .panel .jr_train .text .best_rate_logo{
		width:192px;
		height: 78px;
		margin: 9px 20px 9px 0;
		box-sizing: border-box;
	}
}

.optima_reserve.reservation_box .panel .jr_train .text h2 img{
	width: unset;
	height: auto;
}
.optima_reserve.reservation_box .panel .jr_train .text h2{
	display:inline-block;
    width: 212px; 
	padding-top: 40px;
	background-image: url("../images/txt_jr01.png");
	background-repeat: no-repeat;
	background-size: contain;
}
.optima_reserve.reservation_box .panel .jr_train .text h3{
		display:inline-block;
    width: 327px; 
	padding-top: 21px;
	background-image: url("../images/txt_jr02.png");
	background-repeat: no-repeat;
	background-size: contain;
}

.optima_reserve.reservation_box .best_rate .reserve_area li{
	width: initial;
}
.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_gl {
	font-weight:bold;
	background-size: 8px 11px;
}
.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_ex{
	line-height: 1.2em;
	text-align: left;
	font-size: 1.2rem;
	background-size: 19px 19px;
}
@media all and (-ms-high-contrast: none) {
	.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_gl,
	.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_ex{
		width: 230px;
	}
}
.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_ex:hover {
	background-color:#4D4D54;
}
.optima_reserve.reservation_box .best_rate .reserve_area .link_btn{
	width: 100%;
	height:27px;
	display:block;
	font-size: 1.6rem;
	line-height: 1em;
	padding: 6px 12px;
}
.optima_reserve.reservation_box .best_rate > img{
	width: 82px;
	height: 78px;
}
.optima_reserve.reservation_box .reserve_area{
	position:relative;
	width: 50%;
	min-width: 700px;
	padding: 12px;
	box-sizing:border-box;
}
.optima_reserve.reservation_box .reserve_area .flexbox{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.optima_reserve.reservation_box .reserve_area legend{
	font-size: 12px;
	padding: 3px 0 0;
	color: #fff;
}
.optima_reserve.reservation_box .reserve_area legend:before{
	content: '■';
	color: #73e5b1;
	margin-right: 5px;
}
.optima_reserve.reservation_box .reserve_area fieldset{
	padding: 0;
	margin: 0;
	border: none;
	display: flex;
	align-items: flex-end;
}
@media all and (-ms-high-contrast: none) {
	.optima_reserve.reservation_box .reserve_area fieldset{
		display: block;
	}
}
.optima_reserve.reservation_box .reserve_area fieldset.children{
	display:none !important;
}
.optima_reserve.reservation_box .reserve_area fieldset input,
.optima_reserve.reservation_box .reserve_area fieldset select{
	border: solid #7D7D7D 1px;
	border-radius: 3px;
	color: #fff;
	text-align: left;
}
.optima_reserve.reservation_box .reserve_area fieldset:nth-of-type(1) select{
	width: 240px;
}
.optima_reserve.reservation_box .reserve_area #checkin_date{
	width: 168px;	
}
.optima_reserve.reservation_box .reserve_area input,
.optima_reserve.reservation_box .reserve_area select{
	border: 1px solid #7D7D7D;
	padding: 10px;
	margin: 0;
	width: 70px;
	height: 40px;
}

.optima_reserve.reservation_box .reserve_area ul.f_btn{
	width: 230px;
}
.optima_reserve.reservation_box .reserve_area ul.f_btn li {
	border: none;
	margin: 0 0 5px;
	padding: 0;
}
.optima_reserve.reservation_box .reserve_area ul.f_btn li:last-of-type {
    margin:0;
}
.optima_reserve.reservation_box .reserve_area ul.f_btn li input.sub-bgcolor {
	height: 40px;
	font: inherit;
	font-size: 1.0em;
	font-weight: 500;
	margin: 0;
	padding: 0;
	color: #333;
	border: none;
	background-color: #73E5B1;
	color:#102830;
}
.optima_reserve.reservation_box .reserve_area .field-button input:hover{
	cursor: pointer;
	opacity: 0.8;
}
.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_ex{
	background-color:unset;
	background-image: url("../images/icon_ex_link.png");
	background-position: 97% 40%;
	background-repeat: no-repeat;
	background-size: 19px 19px;
}

@media screen and (max-width: 1300px) {
	.optima_reserve.reservation_box .panel .best_rate{
		flex-wrap: wrap;
		justify-content: space-around;
	}	
	.optima_reserve.reservation_box .panel .best_rate .best_rate_02,
	.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate .flex_box{
		display:flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		width: 50%;
		min-width: 700px;
		margin-bottom:10px;}
		.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate .flex_box{
		justify-content:space-between;}
	
	.optima_reserve.reservation_box .panel .best_rate .best_rate_txt{
		width: initial;
		min-width:unset;
	}	
	.optima_reserve.reservation_box .best_rate .best_rate_txt.optima_ttl h2{
	width: 434px;
	padding-top: 25px;
	background-image: url("../images/txt_bestrate_resolcard-2.png");
	background-repeat: no-repeat;
	background-size: contain;
	}
	.optima_reserve.reservation_box .best_rate ul{
		width:100%;
	}
	.optima_reserve.reservation_box .best_rate li{
		width: 48%;
	}	
	.optima_reserve.reservation_box .best_rate li a.link_btn{
		width: 100%;
		max-width: 320px;
		/* display:block; */
		margin: 0;
	}	
	.optima_reserve.reservation_box .reserve_area legend{
		padding: 0;
	}	

	.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate .reserve_area ul{
        height:100%;
		width:100%;
	}	
	.optima_reserve.reservation_box .reserve_area fieldset	{
		justify-content: center;
		align-content: flex-end;
		align-items: flex-end;
		margin-right:10px;	
	}

	.optima_reserve.reservation_box .reserve_area ul.f_btn{
		margin: 0;
		justify-content: center;
		align-content: center;
		align-items: center;
	}	

	.optima_reserve.reservation_box .reserve_area ul.f_btn li:nth-of-type(2){
		margin-top:5px;
	}
	.optima_reserve.reservation_box .reserve_area ul.f_btn .link_btn.btn_ex{
		height:27px; 
		padding: 6px 12px;
	}
}

@media screen and (max-width: 1300px) and (-ms-high-contrast: none) {
	.optima_reserve.reservation_box .panel:nth-of-type(1) .best_rate .best_rate_02{
		width: 50% !important;
		margin: 0 auto;
		min-width: 50%;
	}
	.optima_reserve.reservation_box .panel:nth-of-type(1) .best_rate .best_rate_02 .best_rate_logo{
		width:82px;
		height: 78px;
	}
}

/*-------------------------------
page
------------------------------- */

section .intro_txt{
	padding: 140px 0 120px;
	position:relative;
	width: 100%;
	height: auto;
}

section .intro_txt h2{
	font-weight: bold;
	font-size: 2.4rem;
	margin: 0 0 40px;
	text-align:center;
}

section .intro_txt p{
	text-align: center;
	font-size: 1.5rem;
}

/*-------------------------------
footer
------------------------------- */

/*============================
 start pararax setting
==============================*/

section#access{
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* IE11 PC */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, section#access { justify-content:flex-start; }
	*::-ms-backdrop, #wrapper .scroll_icon { justify-content:flex-start; }
}

.bgA{
	background-color: #131316;
	/*background-image: url("https://www.resol-ueno.com/common/css/images/bg01.jpg");*/
}
.bgB{
	background-color: #131316;
	/*background-image: url("https://www.resol-ueno.com/common/css/images/bg02.jpg");*/
}
.bgC{
	background-image: url("../images/footer_bg.jpg");
}


/*============================
 end pararax setting
==============================*/
/*-----------
access
-------------*/

footer #access .inner{
	display: flex;
	justify-content:center;
	padding:125px 0;
	color:#FFF;
	text-align: center;
}

footer #access .inner .txt_area{
	text-align: center;
	width: 100%;
}

footer #access .inner h2{
	width: 280px;
	height: 63px;
	margin:0 auto 35px;
}

footer #access .inner h2 img,
footer #access .inner .tel img{
	width:100%;
	height: auto;
}

footer #access .inner address{
	margin: 0 0 10px;
	font-size: 1.4rem;
}

footer #access .inner .tel{
	width: 283px;
	height: 26px;
	margin: 0 auto 30px auto;
}
footer #access .link_btn.btn_gl {
	width: 26.66%;
	border: none;
	background-image: none;
	background-position:initial;
	background-repeat: initial;
	background-size: initial;
	background-color: #73E5B1;
	color:#102830;
}

footer #access .link_btn.btn_gl:hover {
	background-color:#B0F3D5;
}

footer #access .link_btn.btn_gl:before {
	content: "";
	background: url("../images/icon_mail.png") no-repeat center center;
	background-size: contain;
	width: 23px;
	height: 31px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 15px 0 0;
}
footer #access .sns{
    margin-bottom: 30px;
}
footer #access .sns img{
    width: 40px;
    height: 40px;
    margin: 0 10px;
}


/*footer_link_list*/

footer .footer_link_list{
	padding: 40px 0;
}

footer .footer_link_list ul.flex_box{
	justify-content:center;
	align-content: center;
	align-items: center;
}

footer .footer_link_list li{
	margin: 0 0 0 40px;
}
footer .footer_link_list li a{
	display: inline-block;
	text-indent: -12px;
	margin-left: 12px;
	line-height: 130%;
}
footer .footer_link_list li:first-child{
	margin: 0;
}

footer .footer_link_list li a:before{
	content: "";
	background: url("../images/icon_arrow03.png") no-repeat center center;
	background-size: contain;
	width: 6px;
	height: 9px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px 0 0;
}
footer .footer_link_list .bnr_recruit {
    margin: 15px 0 0 0;
    text-align: center;
}
footer .footer_link_list .bnr_recruit a{
    display: inline-block;
}
footer .footer_link_list .bnr_recruit img{
    margin: 0 auto 0 auto;
    width: 436px;
}
/*---------------------
footer_cont
-----------------------*/
footer .footer-cont{
  border-top:1px solid #4E4E4E;
	padding: 75px 0 80px;
}

footer .footer-cont .inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: flex-end;
}


footer .footer-cont .footer-group {
  width: 58.33%;
}

footer .footer-cont .footer-group h3 {
	width: 312px;
	height: 26px;
  margin: 0 0 10px 0;
}
footer .footer-cont .footer-group h3 img{
	width: 100%;
	height: auto;
}

footer .footer-cont .footer-group table {
	table-layout: fixed;
  width: 100%;
  border: 0;
  border-collapse: collapse;
  font-family: "YuGothic","Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
}

footer .footer-cont .footer-group table th {
  width: 80px;
  vertical-align: top;
  text-align: left;
  font-weight: bold;
  font-size: 1.2rem;
  padding: 7px 0;
}

footer .footer-cont .footer-group table td {
  vertical-align: top;
  padding: 7px 0;
  font-size: 1.2rem;
	width: calc(100% - 80px);
}

footer .footer-cont .footer-group table td ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

footer .footer-cont .footer-group table td ul li a {
  display: block;
  padding: 0 10px;
  position: relative;
}

footer .footer-cont .footer-group table td ul li a:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 12px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

footer .footer-cont .footer-group table td ul li:last-child a:after {
  display: none;
}

footer .footer-cont .footer-company {
  width: 41.67%;
	padding: 100px 0 0;
  display: flex;
  flex-wrap: wrap;
	align-items: center;
}

footer .footer-cont .footer-company #footer-logo {
  width: 130px;
  margin-right: 65px;
}

footer .footer-cont .footer-company ul li {
  
  font-size: 1.6rem;
  font-family: "YuGothic","Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
	width: 19em;
	margin: 0 auto 20px;
}

footer .footer-cont .footer-company ul li a {
  position: relative;
  padding-left: 12px;
	width: 19em;
	display: inline-block;
}

footer .footer-cont .footer-company ul li a:before {
  content: "";
  display: block;
  background: url("../images/icon_arrow03.png") 0 0 no-repeat;
  background-size: contain;
  width: 6px;
  height: 9px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

footer .footer-cont .footer-company ul li:last-child {
  margin: 0 auto;
}

footer .footer-cont .footer-company #copyright {
  width: 100%;
  margin: 73px 0 0;
  color: #989898;
  font-size: 1.2rem;
  padding: 0 0 7px;
}

/*-----------
sub_nav
-------------*/
.sub_nav{
	width:50px;
	height: auto;
	position: fixed;
	top: 100px;
	right: 0;
	z-index: 999;
}
.sub_nav a,
.sub_nav a img{
	display: block;
	line-height: 1;
}

.sub_nav li{
	height: auto;
	line-height: 1;
	margin-bottom: 5px;
}

.sub_nav li img{
	width: 100%;
	height:auto;
}

.sub_nav li.insta_icon a{
	background:#AF1A43;
	display: block;
	padding: 10px;
}

/*@media (max-width: 1023px) {
}

@media (max-width: 767px) {
}

@media (max-width: 374px) {
}*/
@media screen and (max-width: 1300px) and (-ms-high-contrast: none) {
	.optima_reserve.reservation_box .panel:nth-of-type(1) .best_rate .best_rate_02{
		width: 55% !important;
		margin: 0 auto;
		min-width: 550px;
	}
	.optima_reserve.reservation_box .panel:nth-of-type(1) .best_rate .best_rate_02 .best_rate_logo{
		width:112px;
		height: 78px;
	}
}
@media screen and (max-width: 1200px) {
	.pc_only{
		display:none;
	}
    .reservation_box #booking_inner{
        flex-wrap:wrap;
    }
    .reservation_box #ninzuarea{
        padding-right:25px;
    }
    .reservation_box #nitteiarea{
        padding:0 15px 0 0;
        margin: 0 15px 0 0;
    }
    .reservation_box .panel_content{
        height: 100%;
        padding: 20px;
    }
    .reservation_box .btn_area{
        width:100%;
        font-size:1.2rem;
        margin: 20px auto 0;
    }
    .reservation_box input.button {
        margin: 0 15px 0 0;
        padding: 0;
    }
    footer .footer-cont:last-of-type {
        padding-top: 42px;
    }
    footer .footer-cont .inner {
        display: block;
        padding: 0 15px;
    }
    footer .footer-cont .footer-group {
        width: 100%;
    }
    footer .footer-cont .footer-company {
        width: 100%;
        padding: 0;
    }
    footer .footer-cont .footer-company #footer-logo {
        width: 100px;
        margin-right: 30px;
    }
    footer .footer-cont .footer-company ul {
        display: flex;
    }
}


@media screen and (max-width: 960px) {
	
	
	.reservation_box .best_rate.panel_content{
		height: calc(100% - 40px);
		padding: 20px;
	}

	.reservation_box .btn_area span{
		display: inline-block;
		vertical-align: top;
		margin: 15px auto 0;
	}
	
	.reservation_box .best_rate{
		flex-wrap: wrap;
	}
	.reservation_box .best_rate .best_rate_txt{
		width: calc( 100% - 87px );
		margin: 0 0 0 5px;
	}
	.reservation_box .best_rate ul{
		width:100%;
		margin: 20px auto 0;
	}
	.reservation_box .best_rate li {
		width: 48%;
	}
	.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate .flex_box {
    min-width: 100%;
	}
	
	.optima_reserve.reservation_box .best_rate li {
		margin-bottom:10px;
		/* width:100%; */
	}	
	.optima_reserve.reservation_box .best_rate li a.link_btn{
		max-width:100%;
	}
	.optima_reserve.reservation_box .airplane > img,
	.optima_reserve.reservation_box .jr_train > img	{
	    margin:0 auto;
	}	
	.reservation_box .best_rate .link_btn{
		max-width:100%;
	}
	.reservation_box .best_rate_txt p{
		font-size:1.3rem;
	}
    
    /*airplane*/
    .reservation_box .airplane .PC{
        display: none;
    }
    .reservation_box .airplane.panel_content{
        height: calc(100% - 40px);
        padding: 20px;
    }
    .reservation_box .airplane{
        flex-wrap: wrap;
    }
    .reservation_box .airplane .SP{
        display: block;
        width: 100%;
    }
    .reservation_box .airplane .airplane_txt{
        width: calc( 100% - 150px );
        margin: 0 0 0 5px;
    }
    .reservation_box .airplane ul{
        display: block;
        margin: 0px auto 0 ;
        width: 100%;
    }
    .reservation_box .airplane li,
    .reservation_box .airplane li button{
        width: 100%;
        text-align: center;
        margin: 10px 0 0 0;
    }

    .reservation_box .airplane li a,
    .reservation_box .airplane li button{
        display: block;
        padding: 15px 0;
        background: -moz-linear-gradient(top, #FFFFFF, #EAE4EC);
        background: -webkit-linear-gradient(top, #FFFFFF, #EAE4EC);
        background: linear-gradient(to bottom, #FFFFFF, #EAE4EC);
    }
    .reservation_box .airplane li img{
       height: 30px;
        width: auto;
    }
    .reservation_box .airplane li img:hover{
        opacity: 1;
    }
    .reservation_box .airplane li a:hover,
    .reservation_box .airplane li button:hover{
        opacity: 0.8;
        cursor: pointer;
    }
    /*jr_train*/
    .optima_reserve.reservation_box .panel .jr_train .text{
        flex-direction:column;
        width:100%;
        padding: 5% 5% 0;
    }
    .optima_reserve.reservation_box .panel .jr_train .text h2,
    .optima_reserve.reservation_box .panel .jr_train .text h3{
	   display:block;
        width: 100%;
        background-position: center center;
    }
      .optima_reserve.reservation_box .panel .jr_train .text .best_rate_txt{
        width:100%;
          text-align: left;
    }  
      .optima_reserve.reservation_box .panel .jr_train .text img.best_rate_logo{
    margin: 0 22px 10px;
    }
    .reservation_box .jr_train .PC{
        display: none;
    }
    .reservation_box .jr_train.panel_content{
        height: calc(100% - 40px);
        padding: 20px;
    }
    .reservation_box .jr_train{
        flex-wrap: wrap;
    }
    .reservation_box .jr_train .SP{
        display: block;
        width: 100%;
    }
    .reservation_box .jr_train .jr_train_txt{
        width: calc( 100% - 150px );
        margin: 0 0 0 5px;
    }
    .reservation_box .jr_train ul{
        display: block;
        margin: 0px auto 0 ;
        width: 100%;
    }
    .reservation_box .jr_train li,
    .reservation_box .jr_train li button{
        width: 100%;
        text-align: center;
        margin: 10px 0 0 0;
    }

    .reservation_box .jr_train li a,
    .reservation_box .jr_train li button{
        display: block;
        padding: 15px 0;
        background: -moz-linear-gradient(top, #FFFFFF, #EAE4EC);
        background: -webkit-linear-gradient(top, #FFFFFF, #EAE4EC);
        background: linear-gradient(to bottom, #FFFFFF, #EAE4EC);
    }
    .reservation_box .jr_train li img{
       height: 30px;
        width: auto;
    }
    .reservation_box .jr_train li img:hover{
        opacity: 1;
    }
    .reservation_box .jr_train li a:hover,
    .reservation_box .jr_train li button:hover{
        opacity: 0.8;
        cursor: pointer;
    }

}

/* #jr_wrap, #nta_wrap */
#nta_wrap,#jr_wrap{
    background:#fff;
}
#nta_wrap.popupinnerfr,#jr_wrap.popupinnerfr{
	padding: 40px;
} 
#jrset_togo_wrap{
	margin-bottom: 20px
}
#nta_wrap h3,#jr_wrap h3{
	text-align: left;
	border-bottom: solid gray 1px;
	padding-bottom: 15px;
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: bold;
}
#nta_wrap h3 img{
	width:initial;
}
@media (max-width: 767px) {
    #nta_wrap h3,#jr_wrap h3{
        text-align: center;
        border-bottom: none;
        padding:0;
    }
}
.jrset_gadget_box{
	padding: 0 !important;
    font-size:14px !important;
}
.jrset_gadget_box .jrset_selectday,
.jrset_gadget_box #jrset_togo_wrap dd select, .jrset_gadget_box #jrset_pax_wrap dd select{
	border:solid #bcbdc2 1px !important;
}
.jrset_gadget_box #dojrsetSearch {
	height: 40px;
	padding: 0 0 0 0 !important;
	background-size: auto 14px;
}
.jrset_gadget_box #dojrsetSearch span{
	color: white;
}
.jrset_gadget_box #jrset_togo_wrap,
.jrset_gadget_box #jrset_pax_wrap{
    width: 100%;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
}
@media (min-width: 768px) {
    .jrset_gadget_box #jrset_togo_wrap dd,
    .jrset_gadget_box #jrset_pax_wrap dd{
        float:unset !important;
        margin:0!important;
    }
}
.jrset_gadget_box .linkList a{
	color:#000;
}
.cFix:after {
	content: unset !important;
	display: unset !important;
	clear: unset !important;
	height: unset !important;
	visibility: unset !important;
}
.jrset_gadget_box #jrset_togo_wrap dd .jrset_gadget_calendar_btn{
	width: 20px !important;
	height: 21px;
	right: 8px;
	top: 7px
}
.jrset_gadget_box #dojrsetSearch{
	margin: 5% 0 1% 0;

}

.kkrs-horizontal {
 padding:0 !important;
 background:unset !important;
}

@media (max-width: 767px) {
    #nta_wrap.popupinnerfr,#jr_wrap.popupinnerfr{
        padding: 0;
    } 
    .jrset_gadget_box #jrset_togo_wrap dd,
.jrset_gadget_box #jrset_direction_pref_wrap dd,
.jrset_gadget_box #jrset_pax_wrap dd {
	width: 98%;
	text-align: left;
	margin: 0 1% 3%;
	box-sizing: border-box;
}
    .jrset_gadget_box #jrset_togo_wrap dd span, .jrset_gadget_box #jrset_direction_pref_wrap dd span, .jrset_gadget_box #jrset_pax_wrap dd span{
        font-size: 15px ;
        margin-bottom: 3px;
        display: block;
    }
    .jrset_gadget_box .linkList{
        font-size: 13px;
    }
}


@media screen and (max-width: 812px) {
	/*ナビ開閉時　要素固定*/
	body.fixed {
		position: fixed;
		width: 100%;
		height:100%;
		left: 0;
	}
	
	body {
	  font-size: 1.4rem;
	}
	#wrapper strong{
		font-size: 1.6rem;
	}

	
	.sp_show {
	  display: block;
	}
	.sp_hide {
	  display: none;
	}
	.inner-full {
		width: 96%;
	}
	.inner {
		width: 92%;
		margin: 0 auto;
	}
	
	.flex_box{
		flex-direction: column;
	}
	.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate .flex_box{
		width: 100%;
		min-width: initial;
	}
	.optima_reserve.reservation_box .best_rate li{
		width:100%;
	}	
	
	.bgC{
		background-image: url("../images/footer_bg_sp.jpg");
	}
	
	/*pagetop*/
	
	#btn_pagetop{
		position:fixed;
		bottom: 80px;
		right: 5%;
		width: 48px;
		height:29px;
		cursor: pointer;
		z-index: 5;
	}
	
	
	#wrapper .inner{
		max-width:90%;
		min-width: 90%;
		margin: 0 auto;
	}

	/*----------------------------------------------------
	header_mv
	----------------------------------------------------*/
	#wrapper .mv_area{
		width: 100%;
		height: 350px;
		position: relative;
	}

	#wrapper .mv_area .inner{
		height: 100%;
	}
	
	#wrapper .mv_area h2{
		width:58.87%;
		height: auto;
	}

	#wrapper .mv_area > div p{
		width:82.13%;
		height: auto;
		position: absolute;
		top:initial;
		left:initial;
		bottom:10px;
		right:0;
		transform: none;
	}
	
	#wrapper .mv_area .head_bg_gray{
		width:137%;
		height: 239px;
		position: absolute;
		bottom: -60px;
		background: url("../images/head_bg_brush_ms.png")no-repeat center center;
		background-size: 100% 239px;
	}

	#wrapper .mv_area .head_bg_green{
		width:200px;
		height: 100%;
		position: absolute;
		right: 0px;
	}
	
	#wrapper .mv_area .brush,
	#wrapper section .brush{
		width: 137%;
		height:128px;
		position: absolute;
		bottom:-57px;
		left:-23%;
		z-index: 2;
		background: url("../images/brush.png")no-repeat center center;
		background-size: 100% 114px;
	}
	#wrapper section .brush_top{
		width: 137%;
		height:128px;
		position: absolute;
		top:-57px;
		left:-23%;
		z-index: 2;
		background: url("../images/brush.png")no-repeat center center;
		background-size: 100% 114px;
		opacity: 0;
	}
	
	/*----------------------------------------------------
	header_navi
	----------------------------------------------------*/
	.header_navi {
		position: absolute;
		top: 0;
		z-index:11;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		box-shadow:none;
	}

	.bottombar{
		position: fixed;
		z-index: 5;
		top: 20px;
		right:5%;
		margin-left:initial;
	}
	.bottombar ul li {
		float: right;
		display: block;
		content: '';
		width: 30px;
		background-size: contain;
	}
	.icon-animation {
		width: 30px;
		height: 35px;
		float: left;
		display: block;
		position: relative;
		z-index: 11;
	}
	.icon-animation span {
		width: 30px;
		height: 3px;
		display: block;
		background: #fff;
		position: absolute;
		left: 0%;
		top: 50%;
	}
	.icon-animation span {
		transition: all 0.3s;
		transform: rotate(0deg);
	}
	.icon-animation .top {
		transform: translateY(-10px);
	}
	.icon-animation .bottom {
		transform: translateY(10px);
	}
	.icon-animation.is-open .middle {
		background: rgba(255, 255, 255, 0);
	}
	.icon-animation.is-open .top {
		transform: rotate(-45deg) translateY(0px);
	}
	.icon-animation.is-open .bottom {
		transform: rotate(45deg) translateY(0px);
	}

	.header_navi nav.sp_navi {
		display: none;
		position: fixed;
		top: 0px;
		z-index: 3;
		width: 100%;
		background:#010102;
		height: 100vh;
        overflow: auto;
	}
	.header_navi nav.sp_navi .inner{
		margin: 0 auto;
		padding: 30px 0;
	}
	.header_navi nav.sp_navi  h1{
		display: block;
	}
	
	.header_navi nav.sp_navi  h1 a img{
		width: 220px;
		height: auto;
		vertical-align: middle;
	}
	
	.header_navi nav.sp_navi ul{
		margin: 40px auto 0;
	}
	
	.header_navi nav.sp_navi ul:nth-of-type(1){
		border-bottom: 1px solid #707070;
	}
	
	.header_navi nav.sp_navi ul li{
		display: block;
		margin-left:0;
		line-height: 1;
	}
	
	.header_navi nav.sp_navi ul:nth-of-type(1) li{
		border-top: 1px solid #707070;
	}
	
	.header_navi nav.sp_navi ul li:first-child{
		margin-left: 0px;
	}
	.header_navi nav.sp_navi ul:nth-of-type(1) li a{
		padding: 15px 25px 15px 15px;
		display: block;
		font-weight: bold;
		position: relative;
		width: 100%;
		height: auto;
	}
	
	.header_navi nav.sp_navi ul:nth-of-type(1) li a:after{
		content: "";
		display: block;
		width: 6px;
		height: 12px;
		background: url("../images/navi_sp_icon.png") no-repeat center center;
		background-size: contain;
		position: absolute;
		top: 15px;
		right: 15px;
	}
	
	.header_navi nav.sp_navi ul:nth-of-type(1) li img{
		vertical-align: middle;
		margin-left: 15px;
	}
	
	.header_navi nav.sp_navi ul:nth-of-type(1) li:nth-of-type(1) img{
		width: 75px;
	}
	.header_navi nav.sp_navi ul:nth-of-type(1) li:nth-of-type(2) img{
		width: 54px;
	}
	.header_navi nav.sp_navi ul:nth-of-type(1) li:nth-of-type(3) img{
		width: 39px;
	}
	.header_navi nav.sp_navi ul:nth-of-type(1) li:nth-of-type(4) img{
		width: 20px;
	}
	.header_navi nav.sp_navi ul:nth-of-type(1) li:nth-of-type(5) img{
		width: 81px;
	}
	
	.header_navi nav.sp_navi ul.flex_box{
		flex-direction: row;
		flex-wrap: wrap;
	}
	
	.header_navi nav.sp_navi ul.flex_box li:nth-of-type(1),
	.header_navi nav.sp_navi ul.flex_box li:nth-of-type(2){
		width: 48.79%;
	}
	
	.header_navi nav.sp_navi ul.flex_box li:nth-of-type(3){
		width: 100%;
		margin: 10px 0 0;
	}

	/*-------------------------------
	page
	------------------------------- */

	section .intro_txt{
		padding: 60px 0;
		margin: 0 0 60px;
	}

	section .intro_txt h2{
		font-weight: bold;
		font-size: 2rem;
		margin: 0 0 30px;
		line-height: 1.8em;
	}

	section .intro_txt p{
		font-size: 1.4rem;
		text-align: left;
	}
	
	section .intro_txt:after{
		content: "";
		display: block;
		width: 25px;
		height: 2px;
		background: #BEBEBE;
		position: absolute;
		bottom:0;
		left: 50%;
		margin-left: -13px;
	}
	
	
	/*-----------
	sub_nav
	-------------*/

	.sub_nav{
		width:100%;
		height:64px;
		position: fixed;
		top:initial;
		bottom: 0;
		right: 0;
		z-index: 999;
		background:#030303;
		border-top: 1px solid #54545B;
	}
    .sub_nav h2{
        height: 24px;
        width: 100%;
        background-color: #000000;
        padding: 5px 0;
        box-sizing: border-box;
    }
    .sub_nav h2 img{
        height: 12px;
        width: auto;
        margin: 0 auto;
        display: block;
    }
	.sub_nav ul{
		width: 100%;
		height:40px;
		display: flex;
		justify-content:center;
		align-items: center;
		align-content: center;
	}
	
	.sub_nav li{
		height:100%;
		width:33.3%;
	}
	
	.sub_nav li a{
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	}
	
    .sub_nav li:nth-of-type(1){
        background:#B08C00;
        
    }
    .sub_nav li:nth-of-type(1) img{
        width: 74px;
        height: auto;
    }
    .sub_nav li:nth-of-type(2){
        background:#534C32;
    }
    .sub_nav li:nth-of-type(2) img{
        width: 74px;
        height: auto;
    }
	.sub_nav li:nth-of-type(3){
        background:#A59E85;
	}
	
	.sub_nav li:nth-of-type(3) img{
        width: 74px;
		height: auto;
	}

	
	/*footer*/
	footer #access{
		z-index: 1;
	}
	
	footer #access .inner{
		padding:75px 0;
	}

	footer #access .inner h2{
		width: 208px;
		height: 46px;
		margin:0 auto 25px;
	}

	footer #access .inner h2 img,
	footer #access .inner .tel img{
		width:100%;
		height: auto;
	}

	footer #access .inner address{
		margin: 0 0 15px;
		font-size: 1.4rem;
	}

	footer #access .inner .tel{
		width: 195px;
		height: 32px;
		margin: 0 auto 20px;
	}
	footer #access .link_btn.btn_gl {
		width: 100%;
		padding: 15px 30px;
	}
	
    footer #access .sns{
        margin-bottom: 30px;
    }
    footer #access .sns img{
        width: 40px;
        height: 40px;
        margin: 0 10px;
    }
    
	/*footer_link_list*/

	footer .footer_link_list{
		padding: 20px 0;
	}

	footer .footer_link_list ul.flex_box{
		flex-direction: row;
		justify-content:space-between;
		align-content: center;
		align-items:stretch;
		flex-wrap: wrap;
	}

	footer .footer_link_list li{
		margin: 10px 0 0;
		width: 48%;
		font-size: 1.1rem;
	}
	
	footer .footer_link_list li{
		margin: 10px 0 0;
		width: 48%;
		font-size: 1.1rem;
	}
	footer .footer_link_list li.long a{
		margin-top: 5px;
		line-height: 100%;
	}
	footer .footer_link_list li:first-child,
	footer .footer_link_list li:nth-child(2){
		margin: 0;
	}
    footer .footer_link_list .bnr_recruit a{
        background-color: inherit;
    }
    footer .footer_link_list .bnr_recruit img{
        width: 100%;
    }
	
  footer .footer-cont .inner {
	  padding: 0;
  }
  footer .footer-cont .footer-group table th {
    display: block;
    width: 100%;
    vertical-align: top;
    text-align: left;
    font-weight: bold;
    font-size: 1.2rem;
    padding: 5px 0;
  }
  footer .footer-cont .footer-group table td {
    display: block;
    width: 100%;
  }
	
  footer .footer-cont .footer-group h3 {
    text-align: center;
	  width: 100%;
  }
	footer .footer-cont .footer-group h3 img{
		margin: 0 auto;
		width: 234px;
		height: auto;
	}
  footer .footer-cont .footer-group table {
    margin-bottom: 30px;
  }
  footer .footer-cont .footer-company {
    width: 100%;
    display: block;
  }
  footer .footer-cont .footer-company #footer-logo {
    margin: 0 auto 20px;
  }
  footer .footer-cont .footer-company ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: distribute;
            justify-content: center;
	  align-content: center;
	  align-items: center;
	  flex-direction: column;
  }
  footer .footer-cont .footer-company ul li {
    
    font-size: 1.2rem;
  }
  footer .footer-cont .footer-company #copyright {
    display: block;
    text-align: center;
    margin-top: 40px;
  }

	
    .fadein {
        opacity : 0;
        transform: translateY(70px);
        transition: all 1s;
    }
}
@media (max-width: 767px) {
	.optima_reserve.reservation_box .tab-group{
		width: 100%;
	}
	.optima_reserve.reservation_box .tab{
		width: calc( calc( 100% - 50px ) / 3) !important;
        	line-height: 22px;
		padding: 2px 0;
	}
	.optima_reserve.reservation_box.tab_04 .tab{
		width: calc( calc( 100% - 50px ) / 4) !important;
	}	
    .reservation_box .tab img{
    margin-right: 10px;
    }
	.optima_reserve.reservation_box .panel .best_rate{
		flex-wrap: wrap;
		justify-content: space-around;
	}		
	.optima_reserve.reservation_box .panel .best_rate.panel_content{
		padding: 25px;
	}
	.optima_reserve.reservation_box .panel.panel:nth-of-type(1)  .best_rate .best_rate_02 .best_rate_logo,
	.optima_reserve.reservation_box .panel.panel:nth-of-type(2)  .best_rate .best_rate_02 .best_rate_logo{
		width:80px;
		margin-right: 10px;
	}
	.optima_reserve.reservation_box .best_rate_txt p{
		line-height: 1.3em;
		font-size: 1.2rem;
	}
	.optima_reserve.reservation_box .best_rate li{
		width:100%;
	}	
	.optima_reserve.reservation_box .best_rate li a.link_btn{
		max-width:100%;
	}	
	.optima_reserve.reservation_box .best_rate h2{
		margin-bottom: 7px;	
	}
	.optima_reserve.reservation_box .best_rate .best_rate_txt{
		width: initial;
	}
	.optima_reserve.reservation_box .panel:nth-of-type(1) .best_rate .best_rate_02,
	.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate .best_rate_02{
		display:flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		width: initial;
		min-width: initial;
		margin-bottom:10px;
		/* margin: 0 auto; */
	}
	.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate .flex_box{
		width: 100%;
		min-width: initial;
	}
	.optima_reserve.reservation_box .panel:nth-of-type(2) .best_rate h2 img{
		width: 227px;
		height: auto;
	}
	.optima_reserve.reservation_box .best_rate .best_rate_txt.optima_ttl h2{
		width: initial;
		padding-top: 53px;
		background-image: url("../images/txt_bestrate_resolcard-3.png");
		background-repeat: no-repeat;
		background-size: contain;
	}
	.optima_reserve.reservation_box .best_rate .link_btn{
		font-size: 1.0em;
		padding:0;
		width:100%;
		height: 40px;
		display: inline-flex;
		justify-content: center;
		align-items: center; 
	}
	
    .optima_reserve.reservation_box .reserve_area{
        width:100%;
        min-width: 100%;
		padding: 12px 0;
	}  
	
    .optima_reserve.reservation_box .text{
        width:initial;
    }     
    .optima_reserve.reservation_box .reserve_area fieldset{
        width:48%;
			margin-right:0;		
    }
    .optima_reserve.reservation_box .reserve_area legend{
        padding: 9px 0 5px;
    }    
    .optima_reserve.reservation_box .reserve_area fieldset input#checkin_date,
    .optima_reserve.reservation_box .reserve_area fieldset select{
        width:100%;
    }
    .optima_reserve.reservation_box .reserve_area ul.f_btn{
        width:100%;
    }  
    .optima_reserve.reservation_box .reserve_area ul.f_btn li {
        margin: 25px 0 0;
    }  
	.optima_reserve.reservation_box .reserve_area ul.f_btn li:nth-of-type(2){
		margin-top:25px;
	}
	.optima_reserve.reservation_box .reserve_area ul.f_btn .link_btn.btn_ex,
	.optima_reserve.reservation_box ul.f_btn .link_btn.btn_ex{
		height:40px;
		padding: 12px;
		text-align: center;
		font-size: 1.0em;
		max-width: 100%;
	}
}
@media screen and (max-width: 768px) and (-ms-high-contrast: none) {
	.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_gl,
	.optima_reserve.reservation_box .best_rate .reserve_area .link_btn.btn_ex{
		width: 100%;
	}
}

@media (max-width: 424px) {
  .reservation_box .tab img{
    margin-right: 5px;
  }
  footer .footer-cont .footer-company ul {
    display: block;
  }
  footer .footer-cont .footer-company ul li {
   
    font-size: 1.2rem;
  }
  footer .footer-cont .footer-company #copyright {
    display: block;
    text-align: center;
    margin-top: 40px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 380px) {
	.sp_show2 {
	  display: block;
	}
	.sp_hide2 {
	  display: none;
	}
	/*.optima_reserve .tab*/
	.optima_reserve.reservation_box .tab:last-of-type{
		padding:5px 0 3px;
		line-height: 1.5em;
		/* vertical-align:bottom; */
	}

	/*footer*/
  footer .footer-cont .footer-group h3 {
    font-size: 1.4rem;
    letter-spacing: 4px;
  }
  footer .footer-cont .footer-company {
    width: 100%;
    display: block;
  }
  footer .footer-cont .footer-company #footer-logo {
    margin: 0 auto 20px;
  }
  footer .footer-cont .footer-company #copyright {
    font-size: .8rem;
  }
}

/* =clearfix
-------------------------------------------------------------- */
.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}


/*----------------------------------------------------
sidr-right
----------------------------------------------------*/
ul#searchDate {
    width: 60px;
    position: fixed;
    top: calc( 50% - 175px );
    right:0;
    z-index: 998;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}
ul#searchDate li{
    padding:0;
    margin:0;
    line-height:0;
}
ul#searchDate li a{
    background:url(../images/btn_sidebar_sidr.png) no-repeat;
    text-indent:100%;
    white-space: nowrap;
    overflow:hidden;
    display:block;
}
ul#searchDate li a#right-menu{ width:60px; height:220px; background-position:0 0;}
ul#searchDate li a#instagram{width:60px; height:60px; background-position:0 -220px; margin-top:10px;}
ul#searchDate li a,ul#searchDate li a img{line-height:0;}

.sidrwindow ul {
    width: 265px;
    overflow: hidden;
    text-align: left;
    margin: 0px auto 0px auto;
    padding: 0px 0px 0px 0px;
}
.sidrwindow ul li {
    margin: 0px 0px 15px 0px;
    padding: 0px 0px 15px 0px;
    border-bottom: solid #232323 1px;
}
.sidrwindow ul li:last-child{
    border-bottom: none;
}
.sidrwindow span.close {
    width: 20px;
    float: right;
    display: inline;
    margin: 20px 20px 0px 0px;
    padding: 0px 0px 0px 0px;
}
.sidrwindow span.close a:hover{
    cursor: pointer;
}
.sidrwindow h2 {
    width: auto;
    text-align:center;
    margin: 54px 24px 30px 24px;
    padding: 0px 0px 0px 0px;
}
.sidrwindow h2 img{
    width: 180px;
}
.sidrwindow h3 {
    width: auto;
    margin: 0px 0px 7px 0px;
    padding: 0px 0px 0px 0px;
	font-size: 1.4rem;
}
.sidrwindow ul li.air h3 img,
.sidrwindow ul li.jr h3 img{
    width: 12px;
    vertical-align: middle;
    margin-right: 5px;
}
.sidrwindow ul li.air button,
.sidrwindow ul li.jr button{

	border: none;
}
.sidrwindow ul li a,
.sidrwindow ul li.air button,
.sidrwindow ul li.jr button{

	display: block;
    width: 265px;
    height: 45px;
    line-height: 45px;
    border-radius: 3px;
    text-align: center;
    position: relative;
}
.sidrwindow ul li.jr a:nth-of-type(2){
	padding: 5px 0 20px 20px;
}

.sidrwindow ul li a:hover,
.sidrwindow ul li button:hover{
    opacity: 0.8;
    cursor: pointer;
}
.sidrwindow ul li.ippan a{
    background-color: #73e5b1;
    color: #111111;
    font-weight: bold;
}
.sidrwindow ul li.member a,
.sidrwindow ul li.teikei a{
    background-color: #324F59;
}
.sidrwindow ul li.air a,
.sidrwindow ul li.air button,
.sidrwindow ul li.jr a,
.sidrwindow ul li.jr button{
	
	background:-webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#fff),
        to(#DDD7DD)
    );
}
.sidrwindow ul li a:after,
.sidrwindow ul li.air button:after,
.sidrwindow ul li.jr button:after{

	content: '';
    display: inline-block;
    width: 8px;
    height: 15px;
    background: url(../images/arrow_black.png) ;
    background-size: 8px 15px;
    position: absolute;
    right: 10px;
    top:15px;
}
.sidrwindow ul li.member a:after,
.sidrwindow ul li.teikei a:after{
    content: '';
    display: inline-block;
    width: 8px;
    height: 15px;
    background: url(https://www.resol-ueno.com/common/images/arrow_white.png) ;
    background-size: 8px 15px;
    position: absolute;
    right: 10px;
    top:15px;
}
.sidrwindow ul li.air a img,
.sidrwindow ul li.jr a img{
	height: 18px;
    width: auto;
    vertical-align: middle;
}
.sidrwindow ul li.jr a:nth-of-type(2) img{
	display: block;
	height: 27px;
}
.sidrwindow ul li.air button img,
.sidrwindow ul li.jr button img{
	height: 20px;
    width: auto;
    vertical-align: middle;
}
.sidrwindow ul li.air a,
.sidrwindow ul li.air button,
.sidrwindow ul li.jr a,
.sidrwindow ul li.jr button{
	margin-bottom: 10px;
}


.skyticket_modal{
    z-index: 999;
    color: black !important
}

#optima_note{
	background-color: black;
	padding: 25px;
}
#optima_note dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.4rem !important;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
#optima_note dt{
	width: 300px;
	font-weight: bold;
}
#optima_note dd {
	width: calc(100% - 300px);
}
#optima_note dd a{
	color: #73e5b1 !important;
	text-decoration: underline;
	font-size: 1.4rem !important;
}
@media screen and (max-width: 1000px) {
	#optima_note dl{
		display: block;
		font-size: 1.4rem !important;
		width: 100%;
	}
	#optima_note dt{
		width: 100%;
		text-indent: -8px;
		margin-bottom: 10px;
	}
	#optima_note dd {
		width: 100%;
	}
}

#sidebar .note{
	color: white;
	font-size: 1.2rem;
	text-align: left;
	border: solid white 1px;
	padding: 15px;
	margin-bottom: 30px;
	line-height: 180%;
	width: 84%;
	margin: 0 auto 30px auto;
}
#sidebar .note strong{
	display: block;
	color: white;
	text-align: center;
	margin-bottom: 8px;
	font-size: 1.4rem;
}
#sidebar .note a{
	color: #73e5b1;
	text-decoration: underline;
	font-size: 12px;
}
@media(orientation: portrait)and (min-width: 600px),(orientation: landscape)and (min-width: 897px) {
    .kkrs-horizontal {
      margin:0 auto;
		width: 100% !important;
    }
}