@charset "utf-8";
/*--------------------------------------------------
  body
--------------------------------------------------*/
.sp {
    display: none;
}
#main {
    font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 14px;
    line-height: 1.3;
    overflow: hidden;
    width: 100%;
    color: #333;
    -webkit-font-smoothing: antialiased;
}
    @font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
.hide {
    margin: 0 auto;
   overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: 0;
}
.text {
    margin: 0 auto;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: 0;
}
body {
    overflow-x: hidden;
}
#main a:link {
    color: #000000;
    text-decoration: none
}
#main a:visited {
    color: #000000;
    text-decoration: none
}
#main a:hover {
    color: #000000;
    text-decoration: none
}
#main a:active {
    color: #000000;
    text-decoration: none
}
#main a:hover {
    opacity: 0.8;
}
#main .box {
    line-height: 1.4;
    width: 1100px;
    margin: 0 auto;
    position: relative;
}
#main .linebox {
    display: block;
    line-height: 1.4;
    width: 1100px;
    margin: 0 auto;
    position: relative;
}
.hide {
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}
.min {
    font-family: "ヒラギノ明朝 ProN",  "HG明朝E",  "MS P明朝",  "MS 明朝",  serif;
}
#main h3 {
    font-size: initial;
    text-shadow: initial;
    font-weight: initial;
    line-height: initial;
    width: initial;
    height: initial;
    margin: 0;
    padding: 0;
}
#main p {
    font-size: 16px;
    line-height: 1.3;
}
#main .t_red {
    color: #ff4040;
}
#main .t_blue {
    color: #2e6be5;
}
#main .t_yellow {
    color: #ffffff;
}
#main .t_black {
    color: #000;
}
/*--------------------------------------------------
#slider
--------------------------------------------------*/

#slider .sp-slide {
    background-color:#84bfea;
}
#slider .sp-slide:nth-child(even) {
    background-color:#4377bf;
}
#slider .box {
    line-height: 1.4;
}
#slider h3 {
    width: 140px;
    height: 100px;
    float: left;
    padding-left: 20px!important;
}
#slider ul {
    height: 100px;
    float: left;
    padding: 14px 0 0 0 !important;
    box-sizing: border-box;
}
#slider .li01 {
    color: #333;
    font-size: 20px;
    font-weight: bold;
}
#slider .sp-slide:nth-child(even) .li01 {
    color: #fff940;
}
#slider .li02 {
    font-size: 15px;
    color: #333;
}
#slider .sp-slide:nth-child(even) .li02 {
    color: #fff940;
}
#slider .text_01 {
    font-size: 35px;
    font-weight: bold;
}
#slider .br_btn{
    float: right;
    display: block;
    width: 160px;
    height: 40px;
    line-height: 40px;
    padding: 0 0 0 15px;
    box-sizing: border-box;
    font-weight: bold;
    background: #fff;
    font-size: 16px;
    color: #333;
    position: relative;
    margin: 30px 15px 0 0;
    border: solid 2px #333;
}

/*--------------------------------------------------
mv contents01
--------------------------------------------------*/

#contents01 .mv {
    /*height:450px; 
    overflow:hidden;*/
    background:url("../images/main_bg.jpg") center center;
    background-size: cover;
    z-index:-999;
}
#contents01 .mv_wrapper {
    width: 1100px;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
    text-align: center;
}
#contents01 .mv_wrapper img{
    margin: 30px auto 15px;
}
#contents01 .txt_wrap {
    font-size: 24px;
    color: #1d53bf;
    text-align: center;
    background: #ffffffbf;
    width: 65%;
    padding: 10px 0!important;
    margin: 0 auto!important;
}
#contents01 h2 {
    font-weight: bold;
    line-height: 1.3;
}
#contents01 p {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3;
}
#contents01 .op_area {
    background-color: #fff;
    margin: 0 auto;
    padding: 20px 0;
}
#contents01 .op_wrapper {
    width: 1100px;
    margin: 0 auto;
    position: relative;
}
#contents01 .op_btn {
    display: block;
    position: relative;
    background: url(../images/btn_bg.jpg);
    background-color: #ffd83d;
    margin: 0 auto;
    text-align: center;
    font-size: 1.75em;
    padding: 0.75em 0;
    color: #333 !important;
    font-weight: bold;
    border-radius: 35px;
    width: 760px;
    border: solid 2px #fff;
}
#contents01 .op_wrapper a:after{
position: absolute;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 8px 0 8px 8px;
border-color: #0000 #0000 #0000 #ff1a40;
top: 25px;
right: 25px;
}
#contents01 .op_btn span{
    font-weight: bold;
    color: #ff1a40;
}
#contents01 .op_area img{
    position: absolute;
    top: -14px;
    left: 100px;
    width: 122px;
}
#contents01 li {
    position: absolute;
    text-align: center;
    font-size: 19px;
    color: #4b301e;
    width: 280px;
    left: 40px;
    bottom: 50px;
    letter-spacing: -0.5px;
}
#contents01 .li01 {
    left: 90px;
    bottom: 90px;
}
#contents01 .li02 {
    left: 410px;
    bottom: 90px;
}
#contents01 .li03 {
    left: 725px;
    bottom: 90px;
}
/*--------------------------------------------------
 contents02
--------------------------------------------------*/
#contents02 .text_01 {
    font-size: 35px;
    font-weight: bold;
}
#contents02 .li01 {
    font-size: 20px;
    color: #fff;
}
#contents02 .li02 {
    font-size: 14px;
}
#contents02 ul {
    float: left;
    padding: 10px 0 0 0 !important;
    box-sizing: border-box;
}
#contents02 .inner03 {
    background-color: #00b900;
    background-image: url(../images/line_bg.gif);
    height: 102px;
}
#contents02 .inner03 p {
    width: 102px;
    height: 102px;
    margin: 0 13px;
    background: url("../images/img_info.png") 0 0 no-repeat;
    float: left;
}
#contents02 .inner03 .li01 {
    line-height: 1.2;
}
#contents02 .inner03 .li02 {
    font-size: 16px;
    line-height: 1.2;
}
#contents02 .inner03 .text_y {
    color: #fffc04;
}
/*--------------------------------------------------
 add_con
--------------------------------------------------*/
#add_con {
    width: 800px;
    margin: 40px auto !important;
    padding: 14px 20px 20px 20px !important;
    border: #f94f50 solid 5px;
}
#add_con dt {
    font-size: 22px;
    font-weight: bold;
    color: #f94f50;
    margin: 0 0 5px 0 !important;
}
#add_con dd {
    font-size: 18px;
    font-weight: bold;
}
/*--------------------------------------------------
 contents03
--------------------------------------------------*/
#contents03 {
    position: relative;
    background-color: #fff;
}
#contents03 #nav{
    border-bottom: solid 8px #2e6be5;
}
#contents03 .tab_box {
    padding: 0;
    width: 100%;
    background: rgba(255,255,255,0);
    overflow: hidden;
}
#contents03 .box01 {
    line-height: 1.4;
    width: 1100px;
    margin: 40px auto 0;
    position: relative;
}
#contents03 .tab_box li a {
    display: block;
    width: 158px;
    height: 80px;
    float: left;
    margin: 0 6px;
    font-size: 26px;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    line-height: 2.6;
}
#contents03 .tab_box .on a {
    background: #2e6be5;
    border: 6px solid #2e6be5;
    color: #fff940;
    border-bottom: none;
    opacity: 1;
}
#contents03 .tab_box .off a {
    border: 6px solid #2e6be5;
    border-bottom: none;
    color: #2e6be5;
    height: 60px;
    margin-top: 20px;
    transition: all 400ms 0s ease;
}
#contents03 .tab_box .off a:hover {
    color: #fff;
    background: #2e6be5;
    opacity: 1;
    height: 80px;
    margin-top: 0;
}
#contents03 .map_box {
    background: url("../images/map_pc.png") center no-repeat;
    height: 500px;
    position: relative;
    margin-bottom: 20px;
}
#contents03 .map_box h3 {
    color: #333;
    font-size: 24px;
    border-bottom: #2e6be5 solid 4px;
    position: absolute;
    top: 34px;
    left: 5px;
    font-weight: bold;
}
#contents03 .map_box li a {
    display: block;
    line-height: 34px;
    padding: 2px 30px 0 25px;
    box-sizing: border-box;
    background: #4c4c4c;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    position: absolute;
    border-radius: 20px;
    border: solid 2px #4c4c4c;
    transition: all 400ms 0s ease;
}
#contents03 .map_box li a:hover {
    color: #2e6be5;
    background: #fff940;
    border: solid 2px #fff940;
    opacity: 1;
}
#contents03 .map_box .li {
    position: relative;
}
#contents03 .map_box li a:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 6px 0 6px;
    border-color: #fff transparent transparent transparent;
    top: 13px;
    right: 10px;
}
#contents03 .map_box .li01 a {
    top: 216px;
    left: 100px;
}
#contents03 .map_box .li02 a {
    top: 140px;
    left: 390px;
}
#contents03 .map_box .li03 a {
    top: 144px;
    left: 670px;
}
#contents03 .map_box .li04 a {
    top: 255px;
    left: 480px;
}
#contents03 .map_box .li05 a {
    top: 310px;
    left: 564px;
}
#contents03 .map_box .li06 a {
    top: 366px;
    left: 564px;
}
#contents03 .map_box .li07 a {
    top: 420px;
    left: 260px;
}
#main .departure_box{
/*    background: url(../images/map_bg01.gif) repeat;*/
}
#main .departure_box h3 {
    color: #333333;
    font-size: 24px;
    font-weight: bold;
    position: absolute;
    top: 20px;
    left: 5px;
    border-bottom: #2e6be5 solid 4px;
}
#main .date_select_16 {
	overflow:hidden;
	padding:20px 24px 20px;
    margin: 0;
    /*background-color: #fff;
    border: solid  #805500 4px;*/
}
#main .date_select_17 {
	overflow:hidden;
	padding:0px 24px 0px;
    margin: 0;
}
#main .date_select_16_tit,
#main .date_select_17_tit {
	margin:5px 15px 0 0;
	float: left;
}
#main .departure .box{
    line-height: 1.4;
    width: 1100px;
    margin: 0 auto;
    padding: 56px 0 10px;
}
#main .departure_tit {
	margin:0 0 10px 34px;
}
#main .date_select_16 li,
#main .date_select_17 li{
	float:left;
	width:73px;
	margin:0px 20px 0 0;
}
#main .date_select_16 li:last-child,
#main .date_select_17 li:last-child{
	margin:0px 0 0 0;
}
#main .recommend_box{
    background: url(../images/map_bg01.gif) repeat;
    padding-top: 15px;
}
#main .recommend_box h3 {
    color: #333333;
    font-size: 24px;
    font-weight: bold;
}

#main .date_select_19,#main .date_select_20 {
	overflow:hidden;
	padding:20px 24px 20px;
    margin: 0;
}
#main .date_select_19_tit,
#main .date_select_20_tit {
	margin:5px 15px 0 0;
	float: left;
}
#main .date_select_19 li,
#main .date_select_20 li{
	float:left;
	width:83px;
	margin:0px 10px 0 0;
}
#main .date_select_19 li:last-child,
#main .date_select_20 li:last-child{
	margin:0px 0 0 0;
}
#main .date_select_19 a,
#main .date_select_20 a{
    display: block;
    border: solid 4px #000;
    text-align: center;
    transition: all 400ms 0s ease;
}
#main .date_select_19 a:hover,
#main .date_select_20 a:hover{
    background-color: #fef841;
    opacity: 1;
}
#main .date_select_19 a.red,
#main .date_select_20 a.red{
    border: solid 4px #ff4040;
}
#main .date_select_19 a.blue,
#main .date_select_20 a.blue{
    border: solid 4px #2e6be5;
}
#main .date_select_19 .day,
#main .date_select_20 .day{
    font-size: 18px;
    color: #fff;
    background: #000;
}
#main .date_select_19 .day.red,
#main .date_select_20 .day.red{
    background: #ff4040;
}
#main .date_select_19 .day.blue,
#main .date_select_20 .day.blue{
    background: #2e6be5;
}
#main .date_select_19 p,
#main .date_select_20 p{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: -1px;
}
#main .date_select_19 span,
#main .date_select_20 span{
    font-size: 36px;
    font-weight: bold;
    letter-spacing: -2px;
}

/*--------------------------------------------------
 contents04
--------------------------------------------------*/
#block01,#block02,#block03,#block04,#block05,#block06,#block07{
    /*background: url(../images/bg.gif);*/
    padding: 0 0 60px 0 !important;
    background-color: #e6e6e6;
}

#contents04 {
    background: #fff;
}
#contents04 .h3_bg {
    padding: 0 0 0 0;
    background-color: #4377bf;
    width: 100%;
    height: 145px;
    overflow: hidden;
    border-top: solid 8px #fff940;
    text-align: center;
    text-align: -webkit-center;
    text-align: -moz-center;
}
#contents04 h3 {
    display: table;
    font-weight: bold;
    font-size: 46px;
    position: relative;
    top: 25px;
    text-align: center;
    margin: 0 auto!important;
    color: #fff940;
    line-height: 1.5;
    width: 100%;
}
#contents04 h3 span {
    font-size: 20px;
    font-weight: 600;
    font-style: normal;
    color: #fff940;
    text-shadow: none;
}
#contents04 .wrapper {
    padding: 25px 20px;
    box-sizing: border-box;
    width: 1060px;
    margin: 15px auto 0;
    background: #fff;
}
/*#contents04 .wrapper:nth-child(even) {
    background: #f8f3d4;
}*/
#contents04 .wrapper .call_ttl{
    width: 360px;
    display: block;
    text-align: center;
    font-size: 22px;
    color: #758af0;
    font-weight: bold;
    margin: 0 auto 15px;
    background: linear-gradient(#0000 60%, #ff0 0%);
}
#contents04 .wrapper h4 {
    background: url("../images/tour_ttl_bg.gif");
    background-color: #1c61c4;
    width: 1020px;
    height: 62px;
    text-align: center;
    font-size: 30px;
    color: #fff;
    font-weight: bold;
    line-height: 66px;
    margin: 0 auto 12px;
}
#contents04 .wrapper .left img {
    margin: 0 0 10px 0;
    width: 350px;
}
#contents04 .left {
    float: left;
    width: 350px;
}
#contents04 .btn01 a {
    display: block;
    width: 100%;
    height: 70px;
    box-sizing: border-box;
    border: #2e6be5 solid 4px;
    position: relative;
    font-size: 18px;
    font-weight: bold;
    font-weight: 600;
    color: #2e6be5;
    text-align: center;
    line-height: 22px;
    background: #fff;
    padding: 10px 0;
    transition: all 400ms 0s ease;
}
#contents04 .btn01 a:after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    bottom: 5px;
    right: 5px;
    border-bottom: 15px solid #2e6be5;
    border-left: 15px solid transparent;
}
#contents04 .btn01 a:hover {
    background: #2e6be5;
    color: #fff;
    opacity: 1;
}
#contents04 .right {
    float: right;
    width: 650px;
}
#contents04 .right .sub, .sub02 {
    margin: 0 0 20px 0;
    height: 62px;
    background: url("../images/sub_bg.png") 0 bottom no-repeat;
}
#contents04 .right .sub p {
    font-size: 28px;
    line-height: 62px;
    font-weight: bold;
    text-align: center;
    color: #4b301e;
    margin: 0 0 0 0;
    box-sizing: border-box;
}
#contents04 .right .in_list {
    position: relative;
    background: #fff;
}
#contents04 .right .in_list .li03 {
    position: absolute;
    right: 20px;
    bottom: 90px;
}
#contents04 .right .in_list .li04 {
    position: absolute;
    left: 20px;
    bottom: 20px;
}
/*-------------------2行の場合------------------------*/
#contents04 .right .list {
    width: 315px;
    height: 343px;
    float: left;
    margin: 0 20px 0 0;
}
#contents04 .right .list:last-child {
    margin: 0 0 0 0;
}
#contents04 .right .in_list01 {
    border: #ff4040 4px solid;
    box-sizing: border-box;
    padding: 0 0 10px;
    height: 343px;
    background-color: #ffffd9;
}
#contents04 .right .list_01 h5 {
    width: 100%;
    height: 80px;
    background: #ff4040;
    font-size: 24px;
    font-weight: bold;
    padding: 8px 0 0 70px;
    box-sizing: border-box;
    color: #ffff00;
    position: relative;
    letter-spacing: 1px;
}
#contents04 .right .list_01 h5 span, #contents04 .right .list_02 h5 span, #contents04 .right .list_03 h5 span {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.8;
}
#contents04 .right .in_list02, #contents04 .right .in_list03{
    border: #2e6be5 4px solid;
    box-sizing: border-box;
    padding: 0 0 10px;
    height: 343px;
}
#contents04 .right .list_02 h5, #contents04 .right .list_03 h5{
    width: 100%;
    height: 80px;
    background: #2e6be5;
    font-size: 24px;
    font-weight: bold;
    padding: 8px 0 0 70px;
    box-sizing: border-box;
    color: #fff;
    position: relative;
    letter-spacing: 1px;
}
#contents04 .right .list_01 h5:after {
    position: absolute;
    content: "";
    width: 57px;
    height: 44px;
    background: url("../images/icon_a.png") 0 bottom no-repeat;
    background-size: contain;
    top: 14px;
    left: 8px;
}
#contents04 .right .list_03 h5:after {
    position: absolute;
    content: "";
    width: 36px;
    height: 44px;
    background: url("../images/icon_b.png") 0 bottom no-repeat;
    background-size: contain;
    top: 18px;
    left: 20px;
}
#contents04 .right .list_02 h5:after {
    position: absolute;
    content: "";
    width: 40px;
    height: 44px;
    background: url("../images/icon_c.png") 0 bottom no-repeat;
    background-size: contain;
    top: 10px;
    left: 10px;
}
#contents04 .right .li01 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    margin: 20px 20px 5px;
}
#contents04 .right .list_01 .li01 {
    color: #ff4040;
}
#contents04 .right .list_02 .li01, #contents04 .right .list_03 .li01 {
    color: #333;
}
#contents04 .right .li02 {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 20px;
}
@-webkit-keyframes tx-color {
    0% {
color: #cc0000;
}
    50% {
color: #ff4040;
}
    100% {
color: #cc0000;
}
}
@keyframes tx-color {
    0% {
color: #cc0000;
}
    50% {
color: #ff4040;
}
    100% {
color: #cc0000;
}
}
#contents04 .right .li03 {
    font-size: 38px;
    font-weight: 900;
    font-style: italic;
    color: #ff4040;
    /*margin:5px 0 10px 0;*/
    background: linear-gradient(#0000 70%, #ff0 0%);
    line-height: 0.9;
    animation: tx-color 2s infinite;
    -webkit-animation: tx-color 4s infinite;
}
#contents04 .right .text01 {
    font-size: 14px;
    font-weight: bold;
}
#contents04 .right .text02 {
    font-size: 20px;
    font-weight: bold;
    color: #333;
}
#contents04 .right .li04 a {
    display: block;
    /*background: url("../images/tour_btn.png") 0 bottom no-repeat;*/
    width: 267px;
    height: 52px;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;
    padding: 0 0 0 0px;
    line-height: 56px;
    background-color: #ff4040;
    border-radius: 6px;
    box-shadow: 0 6px 0 #cc0000;
    text-align: center;
}
/*-----------------------
カレンダー
-----------------------*/
.calendar {
    margin: 12px 0 0 0!important;
    float: right;
    width: 1020px;
    color: #805500;
}
.calendar_tit {
    display: block;
    line-height: 1.5;
    padding: 6px 8px 4px 20px;
    background-color: #e9e9e9;
    color: #805500;
    font-weight: bold;
    font-size: 16px;
}
.calender_cap {
    font-size: 13px;
}
table {
    color: #805500;
    text-align: center;
    font-size: 12px;
    line-height: 1.2;
    margin: 0px 0 0px 0;
    background: #fff;
    border: #e9e9e9 solid 1px;
}
table .month {
    font-size: 32px;
    line-height: 36px;
    font-weight: bold;
}
table .month .txt_s {
    font-size: 20px;
    font-weight: bold;
}
table .nosign {
    font-size: 22px;
}
table .sign {
    font-size: 22px;
    color: #ff4040;
    font-weight: bold;
}
table a {
    text-decoration: none;
    display: block;
}
table a:hover {
    text-decoration: none;
    background-color: #dceff5;
    border-radius: 3px;
}
table tr td {
    vertical-align: middle;
    padding: 10px 12px 8px!important;
    display: block;
    float: left;
    width: 66px;
    font-size: 14px;
}
table tr td .date {
    width: 35px;
}
table .under_line {
    border-bottom: 1px solid #d2d2d2;
}

.add_bottombnr {
    z-index: 100;
    position: fixed;
    right: 30px;
    bottom: 0px;
    display: block;
    transition: .5s;
}
.add_bottombnr.bnr_hide {
    transform: translateY(110%);
}
.add_bottombnr .bottom_img01 img{
    padding-bottom: 20px;
    margin-right: 10px;
}

/*----------------------------------------------------------------------------------------------------------------------------------------------------------
sp
----------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 736px) {
/*--------------------------------------------------
  body
--------------------------------------------------*/
#wrapper {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.pc {
    display: none;
}
.sp {
    display: block;
}
#main li, #main p, #main dl {
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 14px;
    line-height: 1.3;
    overflow: hidden;
}
#main img {
    width: 100%;
}
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
.text {
    margin: 0 auto;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: 0;
}
body {
    overflow-x: hidden;
    position: relative;
}
#main .box {
    line-height: 1.4;
    width: 100%;
    margin: 0 auto 0;
    position: relative;
    padding: 0 10px;
    box-sizing: border-box;
}
.hide {
    display: none;
}
.min {
    font-family: "ヒラギノ明朝 ProN",  "HG明朝E",  "MS P明朝",  "MS 明朝",  serif;
}
#main {
    overflow: hidden;
    margin-bottom: 0;
}
/*--------------------------------------------------
mv contents01
--------------------------------------------------*/

#contents01 .mv {
    height:inherit; 
    margin-top: 10px;
  }
  #contents01 .mv_line {
    height:inherit; 
    overflow:inherit;
    background:none;
    background-size:none;
    z-index:-999;
    margin:0 0 0 0;
  }
  #contents01 .mv_wrapper {
      width: 100%;
      position: relative;
  }
  #contents01 .mv_wrapper img {
    margin: 4% 2% 3%;
    width: 86%;
}
#contents01 .txt_wrap {
    width: 100%;
    padding: 10px 0!important;
}
#contents01 h2 {
    /*padding: 0 3% 2%!important;*/
    font-size: 3.8vw;
    line-height: 1.4;
  }
  #contents01 p {
    font-size: 3.8vw;
    line-height: 1.4;
  }
  #contents01 h2.line {
    background:url("../images/sp_img01_archive.jpg") center no-repeat;
    height: 0;
    padding-top:66%;
    background-size:contain;
    z-index:999;
    position:relative;
    width:100%;
    margin:0 0 -1px 0;
  }

#contents01 .op_area {
    padding: 8px 0;
}
#contents01 .op_wrapper {
    width: 90%;
}
#contents01 .op_btn {
    text-align: left;
    font-size: 14px;
    padding: 0.5em 0 0.4em 58px;
    border-radius: 30px;
    width: auto;
    border: solid 1px #fff;
}
#contents01 .op_wrapper a:after{
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: #0000 #0000 #0000 #ff1a40;
    top: 37%;
    right: 19px;
}
#contents01 .op_area img{
    top: 0;
    left: -8px;
    width: 64px;
}

#contents01 h3 {
    position: absolute;
    top: 3%;
    left: 20%;
    font-size: 5.7vw;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
}
#contents01 li {
    position: absolute;
    text-align: left;
    font-size: 4.2vw;
    color: #4b301e;
    width: inherit;
    letter-spacing: -0.5px;
    line-height: 1.2;
    overflow: inherit;
}
#contents01 .li01 {
    left: 54%;
    top: 23%;
}
#contents01 .li02 {
    left: 54%;
    top: 50%;
}
#contents01 .li03 {
    left: 54%;
    top: 78.5%;
}
/*--------------------------------------------------
 contents02
--------------------------------------------------*/
#contents02 .text_01 {
    font-size: 35px;
    font-weight: bold;
}
#contents02 ul li {
    color: #4b301e;
    font-weight: bold;
}
#contents02 .li01 {
    font-size: 20px;
}
#contents02 .li02 {
    font-size: 14px;
}
#contents02 ul {
    margin: 0 auto;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: 0;
}
/*--------------------------------------------------
 add_con
--------------------------------------------------*/
#add_con {
    width: 90%;
    margin: 20px auto !important;
    padding: 10px !important;
    border: #f95050 solid 5px;
}
#add_con dt {
    font-size: 20px;
    font-weight: bold;
    color: #f95050;
    margin: 0 0 5px 0 !important;
}
#add_con dd {
    font-size: 16px;
    font-weight: bold;
}
/*--------------------------------------------------
 contents03
--------------------------------------------------*/
#contents03 .tab_box {
    padding: 0 0 0 0;
    width: 100%;
}
#contents03 .box01 {
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 3% 0 0 3%;
    box-sizing: border-box;
}
#contents03 .tab_box li {
    display: block;
    width: 30.333%;
    height: 40px;
    float: left;
    margin: 0 3% 10px 0;
}
#contents03 .tab_box li a {
    display: block;
    width: 100%;
    height: 40px;
    float: left;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #FFFFFF;
    line-height: 40px;
    margin: 0;
}
.fixed {
    position: static;
    top: 0;
}
#contents03 .tab_box .on a {
    border: none;
}
#contents03 .tab_box .off a {
    background: #979797;
    border: none;
    color: #fff;
    margin-top: 0;
    height: 40px;
}
#contents03 .tab_box .off a:hover {
    height: 40px;
}
#contents03 .map_box {
    background: none;
    height: auto;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 0;
}
#contents03 .map_box h3 {
    display: inline-block;
    font-size: 17px;
    border-bottom: none;
    position: static;
    margin: 15px 0 5px;
}
#contents03 .map_box li a {
    display: block;
    line-height: 30px;
    padding: 5px 30px 5px 10px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 18px;
    position: static;
    width: 100%;
    margin: 0 0 6px 0;
    border-radius: 0;
    background: #ff4040;
    border: solid 2px #ff4040;
}
#contents03 .map_box li {
    position: relative;
    width: 100%;
}
#contents03 .map_box .li01 a {
    top: 216px;
    left: 100px;
    border-radius: 0;
}
#contents03 .map_box li a:hover {
    color: #fff940;
    background: #2e6be5;
    border: solid 2px #2e6be5;
}
#contents03 .map_box .li02 a {
    top: 140px;
    left: 390px;
}
#contents03 .map_box .li03 a {
    top: 144px;
    left: 670px;
}
#contents03 .map_box .li04 a {
    top: 246px;
    left: 548px;
}
#contents03 .map_box .li05 a {
    top: 310px;
    left: 564px;
}
#contents03 .map_box .li06 a {
    top: 366px;
    left: 564px;
}
#contents03 .map_box li a:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 6px 0 6px;
    top: 20px;
    right: 10px;
}
#main .departure_box{
    background: none;
}
#main .departure_box h3 {
    display: inline-block;
    font-size: 17px;
    border-bottom: none;
    position: static;
    margin: 15px 0 5px;
    padding: 0 10px;
}
#main .date_select_16 select,
#main .date_select_17 select {
	width: 100%;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
	background: #eee;
	background: url(arrow01.png) right 50% no-repeat, -webkit-linear-gradient(top, #fff 0%,#efebe1 100%);
	background: url(arrow01.png) right 50% no-repeat, linear-gradient(to bottom, #fff 0%,#efebe1 100%);
	background-size: 20px, 100%;
	font-size: 16px;
}

#main .date_select_16 {
    padding: 0 10px;
    background: none;
    margin: 0;
    border: none;
}
#main .date_select_17 {
    padding: 0 10px;
    background: none;
    margin: 0;
}

#main .select2 {
	margin: 0 0 4px 12px;
color: #fff;
    font-size: 1.1em;
}
#main .recommend_box{
    background: none;
}
#main .recommend_box h3 {
    display: inline-block;
    font-size: 17px;
}
/*--------------------------------------------------
 contents04
--------------------------------------------------*/
#block01,#block02,#block03,#block04,#block05,#block06,#block07{
    padding: 0 0 0 0 !important;
    background: #FFF;
}

#contents04 .box {
    padding: 0;
}
#contents04 .h3_bg {
    height: 66px;
    border-top: solid 4px #fff940;
}
#contents04 h3 {
    font-size: 22px;
    padding: 6px 0 !important;
    position: relative;
    top: 0px;
    line-height: 25px;
}
#contents04 h3 span {
    font-size: 13px;
}
#contents04 .wrapper {
    padding: 20px 10px 10px;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
}
#contents04 .call_wrap {
    border-top: solid #758af0 2px;
}
#contents04 .wrapper:nth-child(even) {
    background: #f0f1f5;
}
#contents04 .wrapper .call_ttl {
    width: 90%;
    font-size: 16px;
    margin: 0 auto 10px;
}
#contents04 .wrapper h4 {
    width: 42%;
    height: auto;
    font-size: 17px;
    line-height: 20px;
    margin: 0;
    padding: 0.5em 0.25em 0.35em;
    position: absolute;
    top: 20px;
    right: 10px;
}
#contents04 .wrapper .call {
    top: 51px;
}
#contents04 .wrapper .left p {
    float: left;
    width: 50%;
}
#contents04 .wrapper .left img {
    margin: 0 0 10px 0;
    width: 100%;
}
#contents04 .left {
    float: none;
    width: 100%;
}
#contents04 .btn01 a {
    display: block;
    width: 95%;
    height: 55px;
    box-sizing: border-box;
    border: #2e6be5 solid 3px;
    line-height: 14px;
    margin-bottom: 10px;
    float: right;
    margin-top: 44%;
    font-size: 13px;
    font-weight: bold;
    padding: 0.3em 0;
}
#contents04 .btn01 a:hover {
    background: #fff;
    color: #2e6be5;
    opacity: 0.8;
}
#contents04 .btn01 a:after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    bottom: 3px;
    right: 3px;
    border-bottom: 10px solid #2e6be5;
    border-left: 10px solid transparent;
}
#contents04 .right {
    float: none;
    width: 100%;
}
#contents04 .right .sub {
    margin: 0 0 20px 0;
    height: auto;
    overflow: hidden;
    background: none;
}
#contents04 .right .sub p {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #2e6be5;
    margin: 20px 0 0 0;
    line-height: 1.2;
    box-sizing: border-box;
}
#contents04 .right .in_list {
    position: static;
    background: none;
}
#contents04 .right .in_list .li04, #contents04 .right .in_list .li03 {
    position: static;
    float: left;
    font-size: 1.5em;
    width: 50%;
}
/*-------------------2行の場合------------------------*/
#contents04 .right .sub02 {
    margin: 0 0 20px 0;
    height: auto;
    overflow: hidden;
    background: none;
}
#contents04 .right .sub02 p {
    margin: 20px 0 0 0;
    font-size: 20px;
}
#contents04 .right .list {
    width: 100%;
    height: auto;
    float: none;
    margin: 0;
}
#contents04 .right .in_list01 {
    box-sizing: border-box;
    padding: 10px 0 5px;
    height: auto;
    border: none;
    border-top: #2e6be5 2px dashed;
    overflow: hidden;
}
#contents04 .right .list_01 h5 {
    width: 28%;
    height: 3.0em;
    font-size: 12px;
    line-height: 1.3;
    font-weight: bold;
    padding: 0.2em 0 0.2em 33px;
    box-sizing: border-box;
    color: #fff;
    position: relative;
    float: left;
    /*text-align: center;*/
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    color: #ff0;
    letter-spacing: 0;
    /*background-image: -webkit-radial-gradient(#fc404e 0%, #fd71b9 100%);
    background-image: radial-gradient(#fc404e 0%, #fd71b9 100%); */
    }
#contents04 .right .list_01 h5:after {
    position: absolute;
    content: "";
    width: 28px;
    height: 22px;
    top: 6px;
    left: 3px;
    padding: 0;
    margin: 0;
}
#contents04 .right .in_list02, #contents04 .right .in_list03 {
    box-sizing: border-box;
    padding: 10px 0 5px;
    height: auto;
    border: none;
    border-top: #2e6be5 2px dashed;
    overflow: hidden;
}
#contents04 .right .list_02 h5, #contents04 .right .list_03 h5 {
    width: 28%;
    height: 3.0em;
    font-size: 12px;
    line-height: 1.3;
    font-weight: bold;
    padding: 0.2em 0 0.2em 33px;
    box-sizing: border-box;
    color: #fff;
    position: relative;
    float: left;
    /*text-align: center;*/
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    letter-spacing: 0;
}
#contents04 .right .list_02 h5:after {
    position: absolute;
    content: "";
    width: 35px;
    height: 27px;
    top: 7px;
    left: 9px;
    padding: 0;
    margin: 0;
}
#contents04 .right .list_03 h5:after {
    position: absolute;
    content: "";
    width: 20px;
    height: 24px;
    top: 6px;
    left: 7px;
    padding: 0;
    margin: 0;
}
#contents04 .right .list_02 .li01, #contents04 .right .list_03 .li01 {
    color: #333;
}
#contents04 .right .li01 {
    font-size: 16px;
    line-height: 1.3;
    float: right;
    margin: 7px 0 0 0;
    width: 71%;
    font-weight: bold;
}
#contents04 .right .li02 {
    float: right;
    width: 100%;
    font-size: 13px;
    margin: 0.4em 0 0.25em;
}
#contents04 .right .li03 {
    font-size: 28px;
    font-weight: bold;
    margin: 12px 0 0;
    background: none;
    line-height: 1;
    animation: tx-color none;
    -webkit-animation: tx-color none;
}
#contents04 .right .text01 {
    font-size: 12px;
    font-weight: bold;
}
#contents04 .right .text02 {
    font-size: 18px;
    font-weight: bold;
}
@-webkit-keyframes bg-color {
 0% {
background-color: #ffa601;
}
 50% {
background-color: #ff4040;
}
 100% {
background-color: #ffa601;
}
}
@keyframes bg-color {
 0% {
background-color: #ffa601;
}
 50% {
background-color: #ff4040;
}
 100% {
background-color: #ffa601;
}
}
#contents04 .right .li04 a {
    display: inline-block;
    background: #ff4040;
    animation: bg-color 6s infinite;
    -webkit-animation: bg-color 6s infinite;
    width: 100%;
    height: 44px;
    line-height: 44px;
    box-sizing: border-box;
    font-size: 16px;
    color: #fff;
    margin: 0;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    -o-border-radius: 22px;
    -ms-border-radius: 22px;
    box-shadow: none;
}
#main .add_bottombnr {
    right: 0px;
    left: 5px;
    bottom: -5px;
}
#main a.bottom_img01 {
    display: inline-block !important;
    width: 83%;
}
.add_bottombnr .bottom_img01 img {
    padding-bottom: 15px;
    margin-right: 0;
}
#main a.bottom_img02 {
    display: inline-block !important;
    width: 15%;
}
}

#return_top {
    text-align: center;
    margin: 10px;
}
#return_top a {
    background: url(//image.stworld.jp/images/common/tri01.gif) no-repeat scroll left 5px #0000;
    line-height: 1em;
    padding-left: 10px;
}
@media screen and (max-width: 736px) {
#return_top {
    padding: 30px 10px;
    margin: 0 0 -20px;
    background-color: #fff;
}
}