@charset 'utf-8';

body {
background: #fff;
font-family: 'メイリオ', sans-serif;
-webkit-touch-callout: default;
-webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
}
.wrapper {
color: #444;
}
.wrapper a {
color: #444;
}
ul {
list-style: none;
padding: 0;
}
h1{margin: 0;}


.no-gutter > [class*='col-'] {
padding-right: 0;
padding-left: 0;
}
.row.no-gutter {
margin-left: 0;
margin-right: 0;
}
header .icon {
display: inline-block;
text-align: left;
text-indent: -9999px;
overflow: hidden;
}
*:first-child + html body header .icon {
display: inline;
zoom: 1;
}
header .icon-arw {
width: 12px;
height: 18px;
margin-top: -9px;
background: url(../images/symbol_arw_right.png) 0 0 no-repeat;
}
header .icon-arw-small {
width: 7px;
height: 10px;
margin-top: -5px;
background: url(../images/symbol_arw_right_small2.png) 0 0 nno-repeat;
}
@media screen and (min-width: 481px) and (max-width: 768px) {
header .icon-arw-small {
width: 10px;
height: 15px;
margin-top: -8px;
background: url(../images/symbol_arw_right_small.png) 0 0 no-repeat;
}
}
header .icon-arw-down {
width: 10px;
height: 6px;
margin-top: -3px;
background: url(../images/symbol_arw_down.png) 0 0 no-repeat;
}
@media screen and (min-width: 481px) and (max-width: 768px) {
header .icon-arw-down {
width: 17px;
height: 11px;
margin-top: -6px;
background: url(../images/sm_symbol_arw_down.png) 0 0 no-repeat;
}
}
header .icon-arw-up {
width: 10px;
height: 6px;
margin-top: -3px;
background: url(../images/symbol_arw_up.png) 0 0 no-repeat;
}
@media screen and (min-width: 481px) and (max-width: 768px) {
header .icon-arw-up {
width: 17px;
height: 11px;
margin-top: -6px;
background: url(../images/sm_symbol_arw_up.png) 0 0 no-repeat;
}
}
header .icon-box {
width: 21px;
height: 17px;
margin-top: -9px;
background: url(../images/symbol_box.png) 0 0 no-repeat;
}
header .icon-outer-small {
width: 10px;
height: 8px;
margin-top: -4px;
background: url(../images/icon_outer_small.png) 0 0 no-repeat;
}
@media screen and (min-width: 481px) and (max-width: 768px) {
header .icon-outer-small {
width: 13px;
height: 11px;
margin-top: -6px;
background: url(../images/sm_icon_outer_small.png) 0 0 no-repeat;
}
}
header .icon-outer-mid {
width: 16px;
height: 13px;
margin-top: -7px;
background: url(../images/icon_outer_mid.png) 0 0 no-repeat;
}
@media screen and (min-width: 481px) and (max-width: 768px) {
header .icon-outer-mid {
width: 21px;
height: 17px;
margin-top: -9px;
background: url(../images/sm_icon_outer_mid.png) 0 0 no-repeat;
}
}


/*=========================================

COMMON

=========================================*/


.caption{font-size:12px;}

.tLeft{text-align:left;}
.tCenter{text-align:center;}
.tRight{text-align:right;}

@media screen and (max-width: 481px) {

.caption{font-size:10px;}

}


/*=========================================

HEADER

=========================================*/


.header__langList {
position: relative;
height: 20px;
}

@media screen and (min-width: 481px) {
.header__langList {
height: 22px;
}
}
@media screen and (min-width: 769px) {
.header__langList {
height: 17px;
}
}
.langList {
position: absolute;
right: 0;
top: 0;
z-index: 2;
width: 80px;
min-height: 22px;
overflow: hidden;
font-size: 11px;
margin-left: auto;
background: #1db3cb;
color: #fff;
-webkit-border-radius: 0 0 2px 2px;
-moz-border-radius: 0 0 2px 2px;
border-radius: 0 0 2px 2px;
-webkit-transition: opacity height 0.1s linear;
-moz-transition: opacity height 0.1s linear;
transition: opacity height 0.1s linear;
cursor: pointer;
}
.langList:hover {
filter: alpha(opacity=80);
opacity: 0.8;
}
.langList.is-open:hover {
opacity: 1;
filter: none;
}
.langList ul {
margin: 0;
}
.langList li {
line-height: 2;
display: none;
height: 22px;
text-align: center;
-webkit-transition: opacity 0.1s linear;
-moz-transition: opacity 0.1s linear;
transition: opacity 0.1s linear;
}
.langList li:hover {
background: #38cbe3;
}
.langList li a {
display: block;
width: 100%;
height: 100%;
color: #fff;
text-decoration: none;
}
.langList li.is-current {
display: block;
}
.langList .iconContainer {
position: absolute;
right: 10px;
top: 11px;
z-index: 0;
}
.langList .iconContainer .icon {
vertical-align: top;
}
.langList li {
text-indent: -12px;
}
@media screen and (min-width: 481px) {
.langList {
width: 159px;
min-height: 35px;
font-size: 20px;
}
.langList .iconContainer {
right: 15px;
top: 18px;
}
.langList li {
height: 35px;
text-indent: -15px;
}
}
@media screen and (min-width: 769px) {
.langList {
width: 150px;
min-height: 29px;
font-size: 14px;
}
.langList .iconContainer {
right: 16px;
top: 14px;
}
.langList li {
height: 29px;
text-indent: -16px;
}
}
.titleLogo {
position: relative;
height: 40px;
}
.titleLogo:before {
content: "";
display: inline-block;
width: 0;
height: 100%;
vertical-align: bottom;
}
.titleLogo img {
min-width: 120px;
max-width: 100%;
height: auto;
vertical-align: bottom;
margin-left: -10px;
}
@media screen and (min-width: 481px) {
.titleLogo {
height: 56px;
}
.titleLogo img {
margin-left: 0;
}
}
.header__nav {
height: 40px;
margin-right: -10px;
}
@media screen and (min-width: 481px) {
.header__nav {
height: 56px;
}
}
.header__nav ul {
/*clear float by parent div tag*/
zoom: 100%;
display: block;
position: relative;
height: 100%;
font-size: 0;
text-align: right;
}
.header__nav ul:after {
content: " ";
clear: both;
height: 0;
display: block;
visibility: hidden;
}
.header__nav ul:before {
content: "";
display: inline-block;
width: 0;
height: 100%;
vertical-align: bottom;
}
.header__nav li {
position: relative;
padding-left: 1px;
display: inline-block;
vertical-align: bottom;
width: 50%;
padding: 0;
line-height: 1.1;
font-size: 12px;
font-weight: bold;
text-align: center;
white-space: nowrap;
}
*:first-child + html body .header__nav li {
display: inline;
zoom: 1;
}
.header__nav li [class*='icon-'] {
margin-left: 2px;
}
@media screen and (min-width: 481px) {
.header__nav li [class*='icon-'] {
margin-left: 4px;
}
}
.header__nav li span {
display: inline-block;
text-align: left;
}
.header__nav li br {
line-height: 2px;
}
@media screen and (min-width: 481px) {
.header__nav li {
text-align: center;
}
.header__nav li.nav__long_1 {
width: 60%;
}
.header__nav li.nav__long_2 {
width: 40%;
}
}
@media screen and (min-width: 481px) and (max-width: 700px) {
.header__nav li {
font-size: 15px;
}
}
@media screen and (min-width: 701px) and (max-width: 768px) {
.header__nav li {
font-size: 20px;
}
}
@media screen and (min-width: 769px) {
.header__nav li {
font-size: 14px;
}
}
@media screen and (min-width: 769px) {
.header__nav li {
width: 14.68189233%;
}
.header__nav li.nav__long_1 {
width: 28.54812398%;
}
.header__nav li.nav__long_2 {
width: 19.57585644%;
}
}
.header__nav li a {
position: relative;
display: block;
}
.header__nav li a:hover {
text-decoration: none;
}
.header__nav li a:after {
content: "";
display: block;
background: #444;
margin-top: 3px;
margin-right: 1px;
height: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-transition: background 0.2s linear;
-moz-transition: background 0.2s linear;
transition: background 0.2s linear;
}
@media screen and (min-width: 481px) {
.header__nav li a:after {
margin-top: 4px;
}
}
@media screen and (min-width: 769px) {
.header__nav li a:after {
margin-top: 6px;
}
}
.header__nav li a:hover:after {
background: #1db3cb;
}


/*=========================================

CONTENTS

=========================================*/


.promoArea{
width: 100%;
text-align:left;
color:#FFF;
background:#92e5ba url(../images/header_img_001.jpg) 50% 50% no-repeat;
margin-top:20px;
margin-bottom:50px;

}
.promoBlock{
width:755px;
text-align:left;
color:#FFF;
margin:0 auto;
padding-top:130px;
padding-bottom:130px;

}

.promoArea .lead{
font-size:28px;
color:#FFF;
font-weight:bold;
line-height:1.3;
margin-bottom:25px;
text-align: center;
}
.promoArea h2{
font-size:60px;
color:#ffe400;
padding-bottom:25px;
line-height:1.4;
font-family: "Yu Gothic";
  color: rgb(255, 228, 0);
  font-weight: bold;
  text-align: center;
  text-shadow: 0px 0px 17.1px rgba(0, 51, 101, 0.35);

}
.promoArea h2 img{
width:9%;
vertical-align:middle;
display:inline-block;
margin-bottom:-2px;

}
.ko .promoArea h2 img,
.cn .promoArea h2 img,
.tw .promoArea h2 img{
width:11%;
margin-bottom:-11px;
margin-right:5px;

}
.ko .promoBlock h2,
.cn .promoBlock h2,
.tw .promoBlock h2{
letter-spacing:12px;
font-weight:bold;
font-size:58px;

}
.promoArea p.txt{
font-size:32px;
background-color:#27a793;
padding:10px;
text-align:center;
opacity:0.9;
width:630px;
margin:0 auto;

}
.ko .promoBlock p.txt,
.cn .promoBlock p.txt,
.tw .promoBlock p.txt{
letter-spacing:.5px;
font-size:28px;

}

@media screen and (max-width: 481px) {

.promoArea{
width: 100%;
text-align:left;
color:#FFF;
background:url(../images/header_img_001.jpg) 50% 0 no-repeat;
background-size:auto 200px;
margin-top:10px;
margin-bottom:20px;

}
.promoBlock{
width:auto;
text-align:left;
color:#FFF;
margin:0 auto;
padding-top:15px;
padding-bottom:15px;

}
.ko .promoBlock,
.cn .promoBlock,
.tw .promoBlock{
padding-top:30px;
padding-bottom:30px;

}
.promoArea .lead{
text-align:center;
font-size:14px;
color:#FFF;
font-weight:bold;
line-height:1.3;
margin-bottom:10px;
margin-left:10px;
text-shadow: 2px 1px 7px rgba(0, 51, 101, 0.5);

}
.ko .promoBlock p.lead,
.cn .promoBlock p.lead,
.tw .promoBlock p.lead{
font-size:14px;
margin-bottom:30px;

}
.promoArea h2{
font-size:24px;
padding-bottom:10px;
text-align:center;
text-shadow:
2px 2px 4px #FFF,
-2px 2px 4px #FFF,
2px -2px 4px #FFF,
-2px -2px 4px #FFF;
line-height:1.2;
font-family:ArialHebrew-Bold, Helvetica, sans-serif;
font-weight:bold;

}
.ko .promoBlock h2,
.cn .promoBlock h2,
.tw .promoBlock h2{
letter-spacing:2px;
font-size:24px;

}

.promoArea h2 img{
width:30px;
vertical-align:bottom;
display:inline-block;
margin-bottom:-3px;

}
.promoArea p.txt{
font-size:14px;
background-color:#27a793;
padding:10px;
text-align:center;
opacity:0.9;
width:auto;
margin:0 auto;
margin-left:20px;
margin-right:20px;

}
.ko .promoBlock p.txt,
.cn .promoBlock p.txt,
.tw .promoBlock p.txt{
letter-spacing:2px;
font-size:14px;

}
}


.mainContent {
margin:0 auto;
width:940px;

}

@media screen and (max-width: 481px) {

.mainContent {
width:auto;

}
}

.mainContent a,
.mainContent a:hover,
.mainContent a:active,
.mainContent a:visited{
color:#243cd4;
text-decoration:none;

}
.mainContent h2{
background:url(../images/h2_bg_001.gif) 50% 100% no-repeat;
padding-bottom:17px;
margin-bottom:40px;

}
.mainContent h2 span{
background-color:#109d87;
color:#FFF;
font-size:28px;
text-align:center;
padding-top:20px;
padding-bottom:20px;
display:block;

}

@media screen and (max-width: 481px) {

.mainContent h2{
background-size:20px;
padding-bottom:8px;
margin-bottom:15px;

}
.mainContent h2 span{
font-size:16px;
padding-top:15px;
padding-bottom:15px;
display:block;

}
.mainContent h3{
font-size:16px;
padding-bottom:15px;
font-weight:bold;
margin-bottom:15px;

}
}

.conArea01{
width:919px;
margin: 0 auto 60px;
}
.conArea01 .attention{
text-align: right;
font-size: 14px;
margin: 15px 0;
}

.conArea01 ul li:last-child{
margin-bottom: 0;

}

@media screen and (max-width: 481px) {

.conArea01{
width:auto;
margin: 0 10px 15px 10px;

}
}


/*=========================================

PAGE LINK

=========================================*/


.pageLinkArea01 ul{
display:table;
width:100%;
margin-bottom:40px;

}
.pageLinkArea01 li{
display:table-cell;
width:50%;
text-align:center;
font-weight:bold;
font-size:18px;
border:1px solid #109d87;

}
.pageLinkArea01 li a{
display:block;
padding:25px 0;
background:url(../images/arrow_icon_003.png) 95% 50% no-repeat;

}
.pageLinkArea01 li:first-child{
border-right:none;

}
.pageLinkArea01 li a{
color:#109d87;

}
.pageLinkArea01 li a:hover{
color:#FFF;
background:#109d87 url(../images/arrow_icon_004.png) 95% 50% no-repeat;

}

@media screen and (max-width: 481px) {

.pageLinkArea01{
margin-left:10px;
margin-right:10px;

}
.pageLinkArea01 ul{
margin-bottom:20px;

}
.pageLinkArea01 li{
font-size:11px;

}
.pageLinkArea01 li a{
padding:15px 0;
background-size:8px;

}
}


/*=========================================

MAP

=========================================*/


.mapArea01{
background:url(../images/map_bg_001.png) 0 0 repeat;
padding:0px;

}
.mapArea01 a:hover{
opacity:0.6;

}
.mapArea01 .map{
width:592px;
height:414px;
display:table-cell;
vertical-align:middle;
text-align:center;
position:relative;
background:url(../images/map_bg_002.png) 100% 50% no-repeat;

}
.mapArea01 .area li{
font-size:14px;
border-radius:6px;
position:absolute;
box-shadow:
2px 2px 2px #999;

}
.mapArea01 .area li a{
color:#FFF;
padding:8px 20px 8px 10px;
display:block;
background:url(../images/arrow_icon_001.png) 93% 50% no-repeat;
display:inline-block;
font-size:14px;
border-radius:6px;
min-width:90px;
}
.mapArea01 .area li.hokkaido{
top:110px;
right:170px;
background-color:#57b3db;

}
.mapArea01 .area li.sendai{
top:305px;
left:400px;
background-color:#3bb3aa;

}
.mapArea01 .area li.tokyo{
top:360px;
left:400px;
background-color:#64bc6e;
padding-right:0px;

}
.mapArea01 .area li.nagoya{
top:430px;
left:300px;
background-color:#c2c735;

}
.mapArea01 .area li.osaka{
top:430px;
left:200px;
background-color:#f4bb65;

}
.mapArea01 .area li.kyoto{
top:310px;
left:155px;
background-color:#f4bb65;

}
.mapArea01 .area li.hiroshima{
top:310px;
left:50px;
background-color:#eb4c47;
}
.mapArea01 .area li.hiroshima.noLink{
background-color:#cacaca !important;
}
.mapArea01 .area li.hiroshima span{
color:#FFF;
padding:8px 20px 8px 10px;
display:block;
display:inline-block;
font-size:14px;
border-radius:6px;
min-width:90px;
}
.mapArea01 .area li.fukuoka{
top:350px;
left:10px;
background-color:#ffaebf;

}
.mapArea01 .area li.okinawa{
top:490px;
right:40px;
background-color:#bb75ae;

}
.mapArea01 .spot{
width:328px;
display:table-cell;
background:url(../images/spot_bg_001.png) 0 0 repeat;
padding-bottom:10px;

}
.mapArea01 .spot h3{
text-align:center;
margin-top:15px;
margin-bottom:10px;
font-size:18px;
color:#414141;
font-weight:bold;

}
.mapArea01 .spot li a{
color:#FFF;
margin:0 12px 6px 12px;
border-radius:6px;
padding:6px 10px 3px 10px;
display:block;
font-size:14px;
background:#8f8f8f url(../images/arrow_icon_002.png) 97% 50% no-repeat;
background-size:10px;

}
.mapArea01 .spot li a .img{
width:22%;
display:table-cell;
padding-right:3%;

}
.mapArea01 .spot li a .img img{
width:100%;

}
.mapArea01 .spot li a .con{
width:55%;
display:table-cell;
vertical-align:middle;

}
.mapArea01 .spot li a .icon{
font-size:12px;
padding:2px 6px;
background-color:#57b3db;

}
.mapArea01 .spot li a .icon.kanto{
background-color:#64bc6e;

}
.mapArea01 .spot li a .icon.tokai{
background-color:#c2c735;

}
.mapArea01 .spot li a .icon.kansai{
background-color:#f4bb65;

}
.mapArea01 .spot li a .icon.kyushu{
background-color:#ffaebf;

}
.mapArea01 .spot li a .ttl{
display:block;
margin-top:8px;

}
.mapArea01 .spot li a .ttl sup{
font-size:8px;

}

@media screen and (max-width: 481px) {

.mapArea01{
background:url(../images/map_bg_001.png) 0 0 repeat;
padding:15px 0 0 0;

}
.mapArea01 .map{
background:none;
width:auto;
height:auto;
display:block;

}
.mapArea01 .map p{
display:none;

}

.mapArea01 .area li{
font-size:14px;
border-radius:6px;
position:static;
margin:0 8px 8px 8px;

}
.mapArea01 .area li a{
padding:16px 0;
display:block;

}
.mapArea01 .spot{
width:auto;
display:table-cell;
background:none;
padding-bottom:10px;

}
.mapArea01 .spot h3{
text-align:center;
margin-top:25px;
margin-bottom:0px;
font-size:18px;
color:#414141;
font-weight:bold;

}
.mapArea01 .spot li a{
padding:9px 10px 6px 10px;
margin-bottom:10px;

}
}


/*=========================================

HOTEL

=========================================*/


.hotelArea01 li{
margin-bottom:25px;
box-shadow:
2px 2px 4px #DDD,
-2px 2px 4px #DDD,
2px -2px 4px #DDD,
-2px -2px 4px #DDD;

}
.hotelArea01 li:hover{
box-shadow:
2px 2px 4px #EEE,
-2px 2px 4px #EEE,
2px -2px 4px #EEE,
-2px -2px 4px #EEE;
}
.hotelArea01 li a{
color:#333;
padding:20px;
display:block;
background-color:#EEE;
position:relative;
overflow:hidden;

}
.hotelArea01 li a:hover{
color:#333;
background-color:#FFF;

}
.hotelArea01 li .img{
display:table-cell;
width:30%;
padding-right:2%;

}
.hotelArea01 li .ribbon{
position: absolute;
top: 30px;
left: 0;
width: 260px;
height: 40px;
line-height:40px;
color: white;
font-size: 16px;
text-align: center;
background:#c91842;
box-shadow: 0 0 3px #333;
text-shadow: 0 0 3px black;
-webkit-transform: rotate(-30deg) translate(-70px,-70px);
-moz-transform: rotate(-30deg) translate(-70px,-70px);
-ms-transform: rotate(-30deg) translate(-70px,-70px);
-o-transform: rotate(-30deg) translate(-70px,-70px);
transform: rotate(-30deg) translate(-70px,-70px);

}
.hotelArea01 li .img img{
width:100%;

}
.hotelArea01 li .con{
display:table-cell;
width:66%;
vertical-align:middle;
position:relative;

}
.hotelArea01 li .con span{
display:block;
margin-bottom:10px;

}
.hotelArea01 li .con .area{
display:inline-block;
border:1px solid #109d87;
padding:8px;
color:#109d87;
font-size:14px;
font-weight:normal;
font-family: 'メイリオ', sans-serif;
text-align:center;
margin-bottom:5px;

}
.hotelArea01 li .ttl{
font-size:24px;
font-weight:bold;
font-family:Arial Black, Helvetica, sans-serif;
padding-top:8px;
padding-bottom:8px;
color:#109d87;
text-decoration:underline;

}
.hotelArea01 li .con .txt{
margin-bottom:15px;
line-height:1.4;

}
.hotelArea01 li .a_period b{
font-weight: bold;
margin-bottom: 5px;
padding-right:10px;
}
.hotelArea01 li .price{
position:relative;
margin-bottom:0;

}
.hotelArea01 li .price strong{
font-size:32px;
font-weight:bold;
font-family:Arial, Helvetica, sans-serif;
margin-left:10px;

}
.hotelArea01 li .con .link{
font-size:18px;
padding:12px 50px;
color:#FFF;
background:#c91842 url(../images/arrow_icon_002.png) 92% 50% no-repeat;
display:inline-block;
float:right;

}

@media screen and (max-width: 481px) {


.hotelArea01 li a{
padding:12px;

}
.hotelArea01 li .img{
width:100%;
display:block;
margin-bottom:10px;
padding-right:0;

}

.hotelArea01 li .con{
display:block;
width:100%;
}
.hotelArea01 li .con .area{
display:block;
border:1px solid #109d87;
padding:8px;
color:#109d87;
font-size:14px;

}
.hotelArea01 li .ttl{
font-size:18px;
padding-top:4px;
padding-bottom:4px;
text-decoration:underline;

}
.hotelArea01 li .con .txt{
margin-bottom:15px;
line-height:1.4;
font-size:14px;

}
.hotelArea01 li .a_period{
font-size:14px;
}
.hotelArea01 li .price{
text-align:center;
display:block;
margin-bottom:0;

}
.hotelArea01 li .price strong{
font-size:24px;
margin-left:4px;

}
.hotelArea01 li .con .link{
font-size:14px;
padding:12px;
color:#FFF;
display:block;
float:none;
text-align:center;
margin-top:10px;

}

}

/*=========================================

PAGETOP

=========================================*/


.pageTop{position:fixed;bottom:40px;right:40px;}


@media screen and (max-width: 481px) {

.pageTop{position:fixed;bottom:5px;right:5px;text-align:right}
.pageTop img{width:50%;}

}


/*=========================================

FOOTER

=========================================*/


footer {
padding: 0 0 100px;
}
@media screen and (min-width: 481px) {
footer {
padding: 10px 0 100px;
}
}
@media screen and (min-width: 769px) {
footer {
padding: 20px 0 100px;
}
}
.footer__logo {
margin: 0 auto 10px;
text-align: center;
}
.footer__credit {
line-height: 2;
font-size: 9px;
text-align: center;
}
@media screen and (min-width: 481px) {
.footer__credit {
font-size: 16px;
}
}
@media screen and (min-width: 769px) {
.footer__credit {
font-size: 12px;
}
}
@media screen and (max-width: 320px) {
.wrapper__inner {
width: 320px;
margin: 0 auto;
}
}
@media screen and (min-width: 961px) {
.wrapper__inner {
width: 940px;
margin: 0 auto;
}
}
