@charset "utf-8";
@media screen and (min-width:681px){
body{
font-size: 16px;
line-height: 1.9;
}
/*SPパーツ非表示*/
.spmode{display:none;}
#modal-nav, .right_sp{ display: none;}
#reservation_area .btn_submit.sp input { display: none;}
.pcbr{display:none;}

/*
--------------------------------------------------
Container
-------------------------------------------------- */
.container {
padding-top: 0 !important;
}

/*
--------------------------------------------------
header
-------------------------------------------------- */
header {
width: 1040px;
margin: 0 auto;
position: relative;
height: 80px;
}
.header-inner {
width: 1040px;
margin: 0 auto;
}
.header_right {
float: right;
}
header h1 {
width: 230px;
height: 60px;
float: left;
margin-top: 10px;
}
header h1 a#logo {
background: url(../img/logo.png)no-repeat;
background-size: 230px;
height: 60px;
}
header h1 a:hover{opacity:0.8;}
.header_right ul {
margin-right: 150px;
margin-top: 10px;
}
.header_right li {
float: left;
margin-right: 20px;
line-height: 40px;
}
.header_right li a {
display: block;
background: url(../img/headerArrow.png)no-repeat left center;
font-size: 12px;
padding-left: 12px;
}
.reserve a {
display: block;
background: #00a0a6 url(../img/arrow_w.png)no-repeat center right 8px;
float: right;
width: 150px;
height: 40px;
line-height: 40px;
text-align: center;
color: #fff;
background-size: 8px;
}
.reserve a:hover {
opacity: 0.8;
}

/*外国語リンク*/
header .langnav {
float: right;
position: absolute;
top: 10px;
right: 530px;
z-index: 9998;
}
header .langnav li {
float: left;
margin: 0 0 0 20px;
}
header .langnav li a{
background: url(../img/langnav_arrow.png)no-repeat left center;
display:block;
padding: 0 0 0 12px;
}
header .langnav li a:hover{opacity:0.5;}

/*パーツボタン*/
.cnav {
position: absolute;
top: 10px;
right: 0;
}
header .cnav li {
float: left;
margin-left: 10px;
}
header .cnav li a {
display: block;
padding: 0 10px;
color: #fff;
font-size: 14px;
background: #1d3767;
height: 45px;
line-height: 45px;
}
header .cnav li a:hover {
opacity:0.8;
}

header .right{text-align: right;}
header .hnav li{
float:left;
margin-bottom: 20px;
}
header .hnav li a {
width: 120px;
background: black;
margin-left: 10px;
display: block;
text-align: center;
color: #fff;
height: 30px;
line-height: 30px;
}
header .hnav li a:hover{background:gray;}
header .header_tel {
background: url(../img/header_tel.png)no-repeat bottom left;
background-size: 24px;
padding-left: 30px;
font-size: 26px;
line-height: 24px;
position: absolute;
left: 530px;
top: 13px;
}
header .header_mail {
position: absolute;
left: 530px;
top: 38px;
font-size: 18px;
}
header .hnavSP{display:none;}
#headerMenu{width:100%;}
#headerMenu ul{letter-spacing: -.4em; }
#headerMenu nav{margin: 0 auto;width: 1040px;}
#headerMenu nav li{letter-spacing: normal;}
#headerMenu nav li a{
margin:0 auto;
float:left;
display: block;
width: 120px;
height: 80px;
line-height: 80px;
text-align: center;
transition: initial;
}
#headerMenu nav li a:hover{background:url(../img/navArrow.png)no-repeat center bottom;translate:0s;}



/*
--------------------------------------------------
Navigation
-------------------------------------------------- */
.nav_wrap {
}
nav {
width: 100%;
margin: 0;
height: 80px;
line-height: 80px;
}
nav a {
}
.nav-inner {
width: 1040px;
margin: 0 auto;
}
nav ul {
letter-spacing: -.4em;
}
nav ul:after {
content: "";
clear: both;
display: block;
}
nav.gnav li a {
float: left;
width: 120px;
text-align: center;
display:block;
letter-spacing: normal;
transition: ease-in-out 0.4s;
}
nav.gnav li a:hover {
text-decoration: none;
}
nav.gnav li.nav01 a {width: 110px;}
nav.gnav li.nav02 a {width: 90px;}
nav.gnav li.nav03 a {width: 150px;}
nav.gnav li.nav04 a {width: 130px;}
nav.gnav li.nav05 a {width: 150px;}
nav.gnav li.nav06 a {width: 110px;}
nav.gnav li.nav07 a {width: 160px;}
nav.gnav li.nav08 a {width: 140px;}

/*カレント表示*/
#page-home li.nav01 .navline, 
#page-room li.nav02 .navline, 
#page-onsen li.nav03 .navline, 
#page-restaurant li.nav04 .navline, 
#page-airterminal li.nav05 .navline, 
#page-access li.nav06 .navline, 
#page-question li.nav07 .navline, 
#page-information li.nav08 .navline{
border-bottom: 2px solid #444; padding-bottom: 8px;
}
nav.gnav li a:hover span {
border-bottom: 2px solid #444444;
padding-bottom: 8px;
}

/*fixed*/
nav.fixed {
position: inherit !important;
}

/*
--------------------------------------------------
Reservation Area
-------------------------------------------------- */
#reservation_area h3.search_title {
width: 180px;
height: 110px;
float: left;
background: url(../img/reserveTitle.png)no-repeat center right;
text-indent: -9999px;
margin-right: 50px;
}
#reservation_area .inner {
width: 1040px;
margin: 0 auto;
height: 110px;
}
.search_btn01 ul { width: 200px;}
.search_btn02 ul { width: 70px;}
search_btn03 ul{ width: 70px;}
.search_btn04 ul { width: 80px;}
.search_btn05 {
padding-right: 0;
margin-top: 19px;
}
#reservation_area input.button {
width: 180px;
height: 72px;
background-size: 8px;
font-size: 20px;
background: #253f6a url(../img/arrow_w.png)no-repeat center right 8px;
background-size: 8px;
color: #fff;
letter-spacing: 0.2em;
transition: ease-in-out 0.2s;
border: none;
}

/*
--------------------------------------------------
バナーエリア
-------------------------------------------------- */
.banner {
width: 1040px;
margin: 10px auto;
}
.banner:after {
content: "";
clear: both;
display: block;
}
.banner img:last-child {
margin: 0;
}
.banner img {
vertical-align: bottom;
float: left;
margin-right: 26px;
}


/*
--------------------------------------------------
Main Image
-------------------------------------------------- */
photo{width:100%;text-align: center;}
photo img{ width: 100%; vertical-align:bottom;}
.main-photo{}

/*
--------------------------------------------------
Bread crumbs
-------------------------------------------------- */
.breadcrumbs {
margin: 0 auto 30px;
font-size: 13px;
width: 960px;
}
.breadcrumbs ul { }
.breadcrumbs ul li {}
.breadcrumbs ul li:before { }
.breadcrumbs ul li:first-child:before { }

/*
--------------------------------------------------
Page structure
-------------------------------------------------- */
.content{
width:1040px ;
margin: 0 auto;
}
.content .inner {
width: 100%;
margin: 0 auto;
}
.wrapper {
width: 960px;
margin: 20px 0 0 0;
}
.maincol {
padding: 20px 0 0 0;
}
.content h2 {
text-align: center;
margin: 30px 0 20px 0;
letter-spacing: 0.1em;
height: 50px;
line-height: 40px;
font-size: 26px;
font-weight: bold;
color: #345c9f;
/*border-bottom: 1px dotted #345c9f;*/
}
#page-home .wrapper {
width: 100%;
margin: 0 auto;
}
#page-home .content, #page-airterminal .content, #page-onsen .content{width:100%;margin: 0 0 40px 0;}
#page-onsen .wrapper {
width: 960px;
margin: 0 auto;
}
#page-access{} 


/*
--------------------------------------------------
記事
-------------------------------------------------- */
.column { width: 100%; margin: 0; padding: 0; clear: both;}
.column-inner {
margin: 0 0 20px;
padding: 0 0 20px;
}
.column-inner h3 {
font-size: 18px;
}
.column-inner h4 {
font-size: 16px;
}
.column-inner p { margin: 0; padding: 0; line-height: 1.6;}
.column-inner span { margin: 0 0 15px; padding: 0; line-height: 1.6;}
.column-inner:after { content: ""; display: block; clear: both;}

/*photo*/
.photos-left-headline { float: left;margin-right: 20px;}
.photos-right-headline { float: right;margin-left: 20px;}
.photos-top-headline { }

/* List */
.column-inner ul {
}
.column-inner ul {
}

/*.column-inner ul li { margin: 0; padding: 0; list-style: disc;}*/
.column-inner ol li { list-style: decimal;}

/* Detail */
.plandetail { overflow: hidden;}
.plandetail-left { overflow: hidden;}
.plandetail-right { overflow: hidden;}
.plandetail-center{ overflow: hidden; clear: both;}

.plandetail-conformity { padding-top: 10px; overflow: hidden; clear: both;}
.plandetail-conformity-left { overflow: hidden; width: auto;}
.plandetail-conformity-right { 10px; overflow: hidden; width: auto;}
.plandetail-conformity-center{ padding-top: 10px; overflow: hidden; clear: both;}

p.statement_link{width:300px;margin:0 auto;}
p.statement_link a {
display: block;
background-size: 10px;
color: #253f6a;
width: 100%;
height: 40px;
line-height: 40px;
text-align: center;
margin: 20px 0;
text-decoration:none ;
transition:ease-in 0.2s;
}
p.statement_link a:hover{
background-size: 10px;
text-decoration:none;
background:#253f6a;
color:#fff;
}

/*Banner Area*/
.bannerArea{ width: 1040px;margin: 0 auto;}
.bannerArea li{float:left;}
.bannerArea li{margin-right:26px;}
.bannerArea li:last-child{margin-right:0px;}

/*バナーエリア*/
#bannerArea .inner {
width: 730px;
margin: 0 auto;
}
#bannerArea li{margin-right:50px;width: 210px;}
#bannerArea li:nth-of-type(-n+3) {
margin-bottom: 26px;
}
#bannerArea li:nth-of-type(3n+3) {
margin: 0;
}

/*
--------------------------------------------------
footer
-------------------------------------------------- */
footer {
width: 100%;
padding: 40px 0 0 0;
border-top: 1px solid #253f6a;
}
#page-home footer{border:none;}

footer h4 {
font-size: 20px;
height: 40px;
}
footer p.hotelname {
margin-top: 60px;
}
.information {
width: 1040px;
margin: 0 auto;
}
.information-inner {
margin: 10px 0 30px 0;
}
.information-inner:after {
content: "";
clear: both;
display: block;
}
footer p.tel {
font-size: 20px;
display: inline-block;
background-size: 20px;
padding-left: 28px;
line-height: 24px;
margin: 20px 0 0 0;
}
footer .copyright {
line-height: 40px;
font-size: 12px;
}
p.catchcopy {
margin-top: 60px;
}

/*
--------------------------------------------------
go pagetop
-------------------------------------------------- */
.pagetop {
position: fixed;
right: 50%;
bottom: 0;
z-index: 80;
margin-right: -680px;
z-index:1;
}
.pagetop a {
background: #333;
color: #fff;
width: 80px;
height:80px;
line-height: 80px;
text-align: center;
display: block;
border-radius: 5px;
}
.pagetop a:hover {
text-decoration: none;
background: #999;
}
/*フッタに固定時*/
.pagetop.stop a {
border-radius: 6px 6px 0 0;
}

/*hover.css*/
/* Underline From Center */
.hvr-underline-from-center {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
position: relative;
overflow: hidden;
}
.hvr-underline-from-center:before {
content: "";
position: absolute;
z-index: -1;
left: 50%;
right: 50%;
bottom: 0;
background: #000;
height: 2px;
-webkit-transition-property: left, right;
transition-property: left, right;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
}
.hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before {
left: 0;
right: 0;
}

/*
--------------------------------------------------
News
-------------------------------------------------- */
#news {
width: 820px;
margin: 0 auto;
}
#news h2 {
border: none;
}
#news .column_wrap {
margin: 0 0 40px 0;
}
article.news{ width:1040px; margin:0 auto; padding-bottom: 90px; }

.more.long a {
width: 600px;
margin: 0 auto;
color: #fff;
}
span.new {
font-size: 12px;
padding: 4px;
}

/*
--------------------------------------------------
トップページテンプレート以外
-------------------------------------------------- */
/*
--------------------------------------------------
下層　テンプレート
------------------------------------------------- */
.heading h3.category {
font-size:24px;
}


/*
--------------------------------------------------
トップ組み合わせ画像エリア
-------------------------------------------------- */
.topinfo {
width: 1040px;
margin: 60px auto 20px;
}
.topinfo img:hover {
opacity:0.8;
}
.area01 span, .area02 span, .area03 span, .area04 span, .area05 span, .area06 span, .area07 span, .area08 span, .area09 span, .area10 span{
font-size: 20px;
}
/*area01-03*/
.area01 {
margin-bottom: 10px;
background: url(../img/area01.jpg);
height: 250px;
background-size: cover;
}
.area02 {
margin-bottom: 10px;
background: url(../img/area02.jpg);
height: 250px;
background-size: cover;
}
.area03 {
margin-bottom: 10px;
background: url(../img/area03.jpg);
height: 250px;
background-size: cover;
}
.area04 {
margin-bottom: 10px;
background: url(../img/area04.jpg);
height: 510px;
background-size: cover;
}
.area05 {
margin-bottom: 10px;
background: url(../img/area05.jpg);
height: 250px;
background-size: cover;
}
.area06 {
margin-bottom: 10px;
background: url(../img/area06.jpg);
height: 250px;
background-size: cover;
}
.area07 {
margin-bottom: 10px;
background: url(../img/area07.jpg);
height: 250px;
background-size: cover;
}
.area08 {
margin-bottom: 10px;
background: url(../img/area08.jpg);
height: 250px;
background-size: cover;
}
.area09 {
margin-bottom: 10px;
background: url(../img/area09.jpg);
height: 250px;
background-size: cover;
}
.area10 {
margin-bottom: 10px;
background: url(../img/area10.jpg);
height: 250px;
background-size: cover;
}
.area01-03, .area04-06 {
width: 512px;
float:left;
vertical-align: top;
}
.area01-03{
margin-right:12px;
}
.area02, .area03 {
float: left;
width: 250px;
height: 250px;
}
.area02 {
margin-right: 12px;
}
.area01, .area05 {
margin-bottom: 10px;
}
/*area04-06*/
.area04 {
width: 250px;
float: left;
margin-right:12px;
}
.area05, .area06 {
width: 250px;
float: left;
}
.area06 a:hover {
opacity: 0.2;
background: #000;
}

/*area07-10*/
.area07-08, .area09-10 {
width: 512px;
float: left;
}
.area07-08 {
margin-right: 12px;
}
.area07, .area09 {
margin-right: 12px;
}
.area07, .area08, .area09, .area10 {
width: 250px;
float: left;
}
/*プライバシーポリシー*/
.pp a:hover {
background: #c2c2c2 url(../img/arrow_b.png)no-repeat center right 6px;
background-size: 10px;
border: 1px solid #c2c2c2;
}








/*
--------------------------------------------------
バナーエリア
------------------------------------------------- */
#bannerArea {
padding: 40px 0;
margin: 80px 0 0 0;
}

/*
--------------------------------------------------
客室(room)
-------------------------------------------------- */
img.wifiicon {
width: 80px !important;
height: auto;
}

.pagenavi {
width: 800px;
margin: 0 auto;
}
.pagenavi .left, .pagenavi .right {
text-align: center;
width: 400px;
}
#page-room .content {
width: 100%;
}
#page-room .content .column {
width: 960px;
margin: 0 auto;
}
#page-room .wrapper {
width: 100%;
}
#page-room .intro {
position: relative;
}

#page-room .intro p.text {
position: absolute;
top: 110px;
text-align: center;
font-size: 24px;
line-height: 48px;
display: none;
}
#page-room .text {
position: absolute;
top: 30px;
text-align: center;
width: 100%;
font-size: 29px;
color: #fff;
text-shadow: 0px 0px 4px #000000, 0px 0px 10px #000000, 0px 0px 6px #000000;
display: none;
}
.reserveBtn li a {
float: left;
width: 49%;
margin-right: 10px;
height: 40px;
line-height: 40px;
}
.reserveBtn li:last-child a {
margin: 0;
}
.reserveBtn li.line01 a{
background: #253f6a url(../img/smork.png)no-repeat left 20px center;
}
.reserveBtn li.line02 a{
background: #253f6a url(../img/nsmork.png)no-repeat left 20px center;
}

/*
--------------------------------------------------
新千歳空港温泉(onsen)
-------------------------------------------------- */
#page-onsen .content {
width: 100%;
}
#page-onsen .content .column {
width: 960px;
margin: 0 auto;
}
#page-onsen .wrapper {
width: 100%;
}
#page-onsen .maincopy {
position: absolute;
top: 10%;
text-align: center;
width: 100%;
color: #fff;
text-shadow: 0px 0px 4px #000000, 0px 0px 10px #000000, 0px 0px 6px #000000;
font-size: 2vw;
display: none;
}
#page-onsen .intro{
color: #fff;
text-shadow: 0px 0px 4px #000000, 0px 0px 10px #000000, 0px 0px 6px #000000;
}

/*
--------------------------------------------------
レストラン(restaurant)
-------------------------------------------------- */

/*
--------------------------------------------------
新千歳空港直結(airterminal)
-------------------------------------------------- */
#page-airterminal .wrapper ,#page-onsen .wrapper {
width: 100%;
margin: 0 auto;
}
#page-airterminal .intro {
position: relative;
background-size: cover;
width: 100%;
margin-bottom: 20px;
}
#page-airterminal .intro p.text {
position: absolute;
top: 130px;
text-align: center;
font-size: 24px;
line-height: 64px;
color: #fff;
text-shadow: 0px 0px 4px #000000, 0px 0px 10px #000000, 0px 0px 6px #000000;
display: none;

}
#page-onsen .intro p.text {
position: absolute;
top: 30%;
text-align: center;
font-size: 1.2vw;
display: none;
}
#page-airterminal .column p.text, #page-onsen .column p.text {
font-size: 18px;
text-align: center;
margin: 20px 0;
}
#page-airterminal .column {
width: 960px;
margin: 0 auto;
}

/*
--------------------------------------------------
アクセス(access)
-------------------------------------------------- */

/*
--------------------------------------------------
FAQ(question)
-------------------------------------------------- */
#page-question h3:before {
content: "Q";
font-size: 19px;
font-weight: bold;
margin: 4px 6px 4px 0;
background: #253f6a;
color: #fff;
width: 26px;
height: 26px;
line-height: 26px;
display: inline-block;
text-align: center;
border-left:0;
}
#page-question ul.ans:before {
content: "A";
font-size: 19px;
font-weight: bold;
margin: 0;
background: #d1d6de;
color: #253f6a;
width: 26px;
height: 26px;
line-height: 26px;
display:inline-block;
text-align: center;
}
ul.ans li{
padding-left: 40px;
margin-top: -30px;
min-height: 30px;
}


/*
--------------------------------------------------
施設のご案内(information)
-------------------------------------------------- */

/*
--------------------------------------------------
プライバシーポリシー(privacy_policy)
-------------------------------------------------- */

/*
--------------------------------------------------
フォトギャラリー(photogallery)
-------------------------------------------------- */
#page-photogallery .column .column-inner {
margin: 0;
padding: 0;
}

/*
--------------------------------------------------
遅い時間に到着されるお客様へ(arrivelate)
-------------------------------------------------- */

/*
--------------------------------------------------
周辺観光(sightseeing)
-------------------------------------------------- */

}
/*
--------------------------------------------------
201911128 バナーエリア変更
-------------------------------------------------- */
#bannerArea ul em{font-weight:bold;}
@media screen and (min-width: 681px){

#bannerArea{text-align:center;padding: 65px 0 20px;}
.content #bannerArea h2{
  position: relative;
  display: inline-block;
  padding: 0 20%;
  height:87px;
  margin:0 auto 40px;
width:100%;
}
.content #bannerArea h2 img{margin:0 20px;width:auto;max-height:80px;}
.content #bannerArea h2:before ,
.content #bannerArea h2:after{
  content: '';
  position: absolute;
  top: 43%;
  display: inline-block;
  width: 20%;
  border: solid 1px #ccc;
}
.content #bannerArea h2:before {
  left:0;
}
.content #bannerArea h2:after {
  right: 0;
}
#bannerArea .inner{
width:100%;
}
#bannerArea li {
margin:0 0 0 45px;
}
#bannerArea li:nth-of-type(-n+3) {
	margin-bottom: 0;
}
#bannerArea li:nth-of-type(4n+3) {
margin:0 0 0 45px;
}
#bannerArea li:nth-of-type(-n+4) {
	margin-bottom: 26px;
}
#bannerArea ul{
display:inline-flex;
margin:0 auto;
}
#bannerArea li img{margin-bottom:10px;}

#bannerArea ul p.txt{font-size:15px;line-height:28px;}

}
@media screen and (max-width: 965px){
.content #bannerArea h2 img{width:90%;}
.content #bannerArea h2:before ,
.content #bannerArea h2:after{top:40%;}
#bannerArea ul{display:flex;}
}
/*sp*/
@media screen and (max-width: 680px){
.content #bannerArea h2 img{width:80%;}
#bannerArea ul{
margin-top:20px;
}
#bannerArea li:nth-of-type(2n+2){
margin-right:10px;
}
}
@media screen and (max-width: 295px){
#bannerArea ul{display:block;}
.content #bannerArea h2 img,
#bannerArea li{width: 100%;}
}

    /*--------------------------------------------------
    202112 バナーエリア変更
    -------------------------------------------------- */
    
    #bannerArea2 {
        background: #ececec;
        margin: 80px 0 0 0;
        padding: 65px 0 20px;
        text-align: center;
    }

    #bannerArea2 .cont .ttl {
        margin-bottom: 30px;
    }

    #bannerArea2 .cont ul {
        display: flex;
        justify-content: center;
        margin: 0 auto 30px;
        width: 90%;
    }

    #bannerArea2 .cont ul li + li {
        margin: 0 0 0 45px;
    }

    #bannerArea2 .cont ul li .img {
        margin-bottom: 10px;
        transition: ease-in 0.2s;
    }
    
    #bannerArea2 .cont ul li .txt {
        font-size: 13px;
        transition: ease-in 0.2s;
    }

    #bannerArea2 .cont ul li a:hover .img,
    #bannerArea2 .cont ul li a:hover .txt {
        opacity: 0.7;
    }

    #bannerArea2 .cont ul li .txt em {
        font-size: 14px;
    }
    
    @media screen and (max-width: 680px) {
        
        #bannerArea2 {
            margin: 50px 0 0 0;
            padding: 40px 0 20px;
        }
        
        #bannerArea2 img {
            width: 100%;
        }
        
        #bannerArea2 .cont .ttl {
            width: 80%;
            margin: 0 auto 30px;
        }
        
        #bannerArea2 .cont ul {
            display: block;
            width: 90%;
        }
        
        #bannerArea2 .cont ul li {
            position: relative;
        }
        
        #bannerArea2 .cont ul li:before {
            content: '';
            width: 6px;
            height: 6px;
            /*border: 0;*/
            border-top: solid 1px #333;
            border-right: solid 1px #333;
            position: absolute;
            top: 50%;
            right: 0;
            /*margin-top: -4px;*/
            transform: rotate(45deg);
        }
        
        #bannerArea2 .cont ul li a {
            display: flex;
            align-items: center;
        }

        #bannerArea2 .cont ul li + li {
            margin: 20px 0 0 0;
        }
        
        #bannerArea2 .cont ul li .img {
            margin-bottom: 0;
            width: 35%;
        }

        #bannerArea2 .cont ul li .txt {
            font-size: 12px;
            width: 65%;
        }

        #bannerArea2 .cont ul li .txt em {
            font-size: 13px;
        }
        
    }