@charset "UTF-8";
/*
	BASE
*******************************/

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Ubuntu', sans-serif;
*/
* {
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,'Hiragino Kaku Gothic Pro',Osaka, "ＭＳ Ｐゴシック", "MS PGothic",sans-serif;
	margin: 0;
	padding: 0;
	box-sizing:border-box;
	font-feature-settings: "palt";
	line-height:1;
}

html {
	font-size:62.5%;
	line-height:1;
}
body {
	font-size:1.6rem;
	background-color:#ffffff;
}

img {
	-webkit-backface-visibility: hidden;
	vertical-align:bottom;
	line-height:0;
}


p,th,td,dt,dd,li,h1,h2,h3,h4,h5,h6,label { color:#000000;}

a,
a:link,
a:visited {
	color:#000000;
	text-decoration:none;
	outline:none;
	border:none;
}
a:hover {
	text-decoration:none;
}

a img {
	outline:none;
	border:none;
	-webkit-backface-visibility: hidden;
}
area {
	border:none;
	outline:none;
}

.clear { clear:both;}

* img {
	max-width: 100%;
	height: auto;
}

/*//////////////////////////////////////////////////////////////////////////*/



/*
	BASE LAYOUT
******************/

body {
/*	min-width:1080px;*/
}

#main {
	width:100%;
	margin:0;
	padding:0;
	position:relative;
}


/*//////////////////////////////////////////////////////////////////////////*/


/*基本：左右配置　上下センター　折り返しなし*/
.fbox {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
}

/*折り返しなし*/
.fbox.nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

/*左寄せ*/
.fbox.bxstart {
  -webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;
}

/*右寄せ*/
.fbox.bxend {
  -webkit-box-pack: end;
     -ms-flex-pack: end;
   justify-content: flex-end;
}

/*中央寄せ*/
.fbox.bxcenter {
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}

/*上寄せ*/
.fbox.alstart {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
	align-content: flex-start;
}

/*下寄せ*/
.fbox.alend {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
	align-content: flex-end;
}

/*上下中央*/
.fbox.alcenter {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	align-content: center;
}

/*上下端*/
.fbox.albt {
  -ms-flex-line-pack: justify;
       align-content: space-between;
}

/*上下均等*/
.fbox.linedist {
  -ms-flex-line-pack: distribute;
       align-content: space-around;
}



/*子要素に設定　順番を1番目に*/
.pos0 {
  -webkit-box-ordinal-group: 1;
             -ms-flex-order: -1;
                      order: -1;
}

/*//////////////////////////////////////////////////////////////////////////*/

.grid {
	display: grid;
}
.grid.fbox.al_items_center {
	align-items: center;
}
.grid.fbox.al_content_center {
	align-content: center;
}
.grid.fbox.al_self_center {
	align-self: center;
}
.grid.fbox.js_item_center {
	justify-items: center;
}
.grid.fbox.js_content_center {
	justify-content: center;
}
.grid.fbox.js_self_center {
	justify-self: center;
}


.btn {
	display: grid;
	justify-content: center;
	align-items: center;
	grid-column-gap: .5em;
}

/*//////////////////////////////////////////////////////////////////////////*/

/*
	Header LAYOUT
******************/
#header {
	position:fixed;
	width:100%;
	left:0;
	top:0;
	z-index:98;
}
#header .header {
	width:100%;
	transition:.3s;
}
#header.fitmenu .header {
	background-color: rgba(0,65,78,.33);
}
#header .header_inner {
	display: grid;
	grid-template-columns: 175px 1fr 140px;
	grid-column-gap: 45px;
	align-items: center;
	padding-left: 30px;
}
#header .header_inner .logo {
	width:175px;
}
#header .header_inner .gmenu {
	display: grid;
	grid-template-columns: repeat(5,auto);
	grid-column-gap: 2em;
	justify-self: end;
}
#header .header_inner .gmenu li {
	letter-spacing:.05em;
}
#header .header_inner .gmenu li a {
	color:#FFFFFF;
	font-size:1.5rem;
	font-weight: 600;
	transition:.3s;
}
#header .header_inner .gmenu li a:hover {
	color:#0a5d6e;
}
#header .header_inner .reservation {
	font-size: 1.6rem;
	line-height: 1;
	height: 120px;
	background-color: #f8efaf;
	border-radius:0 0 0 10px;
	color:#0a5d6e;
	display: grid;
	grid-template-rows: auto auto;
	align-content: center;
	justify-content: center;
	justify-items: center;
	grid-row-gap: .75em;
	transition:.3s;
}
#header .header_inner .reservation::before {
	content:'';
	width: 1.8em;
	height: 1.8em;
	background: url(../img/icon_cal2.png) no-repeat center center/contain;
}
#header .header_inner .reservation:hover {
	filter: brightness(1.2);
}

/*
	Footer LAYOUT
******************/

#footer .footer {
	background-color: #0a5d6e;
	padding-bottom:80px;
}
#footer .footer_inner {
	width:calc(100% - 60px);
	max-width:1100px;
	margin:0 auto;
	padding:60px 0;
	display:grid;
	grid-template-columns:200px auto;
	justify-content:space-between;
	align-items:end;
	border-top:2px solid #085565;
}
#footer .footer_inner .logo {
	width:200px;
}
#footer .footer_inner .detail {
	font-size:1.5rem;
	text-align:right;
}
#footer .footer_inner .detail p {
	color:#FFFFFF;
	margin-bottom:1.75em;
}
#footer .footer_inner .detail a {
	color:#FFFFFF;
	transition:.3s;
}
#footer .footer_inner .detail a:hover {
	opacity:.75;
}
#footer .copyright {
	width:calc(100% - 60px);
	max-width:1100px;
	margin:0 auto;
}
#footer .copyright p {
	color:#FFFFFF;
	font-size:1.2rem;
	color:#2e7f90;
}

.pagetop {
	display:block;
	width:60px;
	z-index: 96;
	position: fixed;
	right:30px;
	bottom: -70px;
	transition:.5s;
	opacity:0;
}
.pagetop.show {
	bottom: 30px;
	opacity:1;
}
.pagetop.show:hover {
	opacity:.75;
}


/*
	Contents LAYOUT
******************/
.wrap {
	width:100%;
	text-align:center;
}

.contents {
	width:calc(100% - 60px);
	max-width:1100px;
	margin:0 auto;
	box-sizing:border-box;
	text-align:left;
	position:relative;
}

.contents_inner {
	width:100%;
}


@media screen and (max-width:1024px){

/*
	Header LAYOUT
******************/
#header .header_inner {
	grid-template-columns: 150px 1fr 120px;
	grid-column-gap: 30px;
}
#header .header_inner .logo {
	width:150px;
}
#header .header_inner .gmenu {
	grid-column-gap: 1em;
}
#header .header_inner .gmenu li a {
	font-size:1.4rem;
}
#header .header_inner .reservation {
	font-size: 1.5rem;
	height: 100px;
}
	
}

@media screen and (max-width:768px){


/*
	Header LAYOUT
******************/
#header .header_inner {
	grid-template-columns: 1fr 60px 50px;
	grid-column-gap: 0;
	justify-content:space-between;
	padding-left: 15px;
}
#header .header_inner .logo {
	width:110px;
}
#header .header_inner .gmenu {
	display:none;
}
#header .header_inner .reservation {
	font-size: 1.2rem;
	height: 50px;
	border-radius:0 0 0 6px;
	grid-row-gap: .5em;
	transition:0s;
}
#header .header_inner .reservation::before {
	width: 1.25em;
	height: 1.25em;
}
#header .header_inner .reservation:hover {
	filter: brightness(1);
}
	
.header .spbtn {
	width:50px;
	height:50px;
	position:relative;
	background-color:#FFFFFF;
}
.header .spbtn::before {
	content:'';
	display:block;
	width:50%;
	height:3px;
	background-color:#0a5d6e;
	border-radius:2px;
	position:absolute;
	top:30%;
	left:25%;
	transition:.5s;
	transition-timing-function:ease-in-out;
	transform-origin:center center;
}
.header .spbtn::after {
	content:'';
	display:block;
	width:50%;
	height:3px;
	background-color:#0a5d6e;
	border-radius:2px;
	position:absolute;
	bottom:30%;
	left:25%;
	transition:.5s;
	transition-timing-function:ease-in-out;
	transform-origin:center center;
}
.header .spbtn span {
	display:block;
	width:50%;
	height:3px;
	background-color:#0a5d6e;
	border-radius:2px;
	position:absolute;
	transform:translateY(-50%);
	top:50%;
	left:25%;
	transition:.5s;
	transition-timing-function:ease-in-out;
}
body.menuopen {
	overflow: hidden;
}
body.menuopen .header .spbtn::before {
	transform:rotate(45deg);
	top:calc(50% - 1.5px);
}
body.menuopen .header .spbtn::after {
	transform:rotate(-45deg);
	bottom:calc(50% - 1.5px);
}
body.menuopen .header .spbtn span {
	opacity:0;
	transform:scaleX(0);
}
	
#spmenu {
	position:fixed;
	top:55px;
	right:-101vw;
	opacity:0;
	width:75%;
	max-width:300px;
	background-color:#FFFFFF;
	height:auto;
	z-index:97;
	text-align:center;
	transition:.5s;
	border-radius:10px 0 0 10px;
}
body.menuopen #spmenu {
	opacity:1;
	right:0;
	box-shadow: 0 0 5px rgba(0,0,0,.3);
}
.spmenu_inner {
	padding:50px;
}
#spmenu .gmenu li {
	font-size:1.5rem;
	line-height:1;
}
#spmenu .gmenu li:not(:last-child) {
	margin-bottom:1em;
}
#spmenu .gmenu li a {
	color:#0a5d6e;
	font-weight:600;
}


/*
	Footer LAYOUT
******************/

#footer .footer {
	padding-bottom:40px;
}
#footer .footer_inner {
	width:calc(100% - 40px);
	padding:30px 0;
	display:block;
	border-top:2px solid #085565;
}
#footer .footer_inner .logo {
	width:120px;
	margin:0 auto 20px;
}
#footer .footer_inner .detail {
	font-size:1.3rem;
	text-align:left;
	display:grid;
	grid-template-rows:auto auto;
	grid-row-gap:1.25em;
	justify-items:center;
}
#footer .footer_inner .detail p {
	margin-bottom:0;
	line-height:1.5;
}
#footer .footer_inner .detail a {
	transition:0s;
}
#footer .footer_inner .detail a:hover {
	opacity:1;
}
#footer .copyright {
	width:calc(100% - 40px);
}
#footer .copyright p {
	font-size:1.1rem;
	text-align:center;
}


.pagetop {
	width:40px;
	right:10px;
	bottom: -50px;
}
.pagetop.show {
	bottom: 30px;
	opacity:1;
}
.pagetop.show:hover {
	opacity:1;
}

/*
	Contents LAYOUT
******************/

.wrap {
}
.contents {
	width: calc(100% - 40px);
}
	
}

@media screen and (max-width:768px) {
    .pcOnly {
    	display:none !important;
    }
}
@media screen and (min-width:769px) {
    .spOnly {
    	display:none !important;
    }
}
@media screen and (min-width:1025px) {
    .sptbOnly {
    	display:none !important;
    }
}