/*--------------------
全体の設定
-----------------------*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;400;600&display=swap');
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html{font-size: 62.5%;}
body{
    font-size:1.5rem;
    line-height: 1.5;
	font-family: 'Hiragino Kaku Gothic Pro W3','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
	/*丸文字にする場合
font-family: "Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
*/
	color:#666;
}
h1 {
    font-size: 36px;
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));
}
h2 {
    font-size: 24px;
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));
}
h3,h4 {line-height:1.5 !important;}
p{line-height:2.0;}
@media (min-width: 1200px) {
h1 {font-size: 3.6rem;}
h2 {font-size: 2.4rem;}
}
@media screen and (max-width: 640px) {
body{line-height: 2;}
h1{font-size: 3.6rem;}
h2{font-size: 2rem;}
}
/*--------------------
リンクの設定
-----------------------*/
a{
	cursor:pointer !important;
	transition: all 1s ease;
}
a:hover{text-decoration:none !important;}
a img:hover{outline:none !important;}
a:focus, *:focus { outline:none !important; }
/*--------------------
個別の設定
-----------------------*/
#map iframe {/*googlemapの下の余白削除*/
    vertical-align: bottom;
}
.indent li{/*2行目を1文字下げる 要調整*/
    padding-left: 1.0em;
    text-indent: -1.4em;
	list-style:none;
	margin-left:1em;
}
/*棒矢印*/
.stickarrow {
	display:inline-block;
	width: 65px;
	height: 8px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: skew(45deg);
	vertical-align: middle !important;
}
/*マーカー*/
.marker-bottom {
background: linear-gradient(transparent 55%, #ddd 0%);
}
/*グレースケール*/
.grayscale-img80{filter: grayscale(0.8);}
.grayscale-img100{filter: grayscale(1);}
/*--------------------
ボーダーの設定
-----------------------*/
@media screen and (max-width: 991px) {/*タブレット以下表示*/
.border-bottom-small{
	border-bottom:0.2px dotted rgba(0,0,0,.8) !important;
}
}
@media screen and (min-width: 992px) {/*タブレット以下非表示*/
.border-right-lg{
	border-right: 1px solid rgba(0,0,0,.15) !important;
}
.border-left-lg{
	border-left: 1px solid rgba(0,0,0,.15) !important;
}
.padding-5-lg{padding:5em !important;}
}
@media screen and (min-width: 768px) {/*md用以下非表示*/
.border-right-md{
	border-right: 1px solid rgba(0,0,0,.15) !important;
}
.border-left-md{
	border-left: 1px solid rgba(0,0,0,.15) !important;
}
}
.border-bold{/*文字の長さに合わせたアンダーライン*/
	border-bottom:3px solid #666;
	display:inline-block !important;
	padding-bottom:0.5em;
}
.inside-border{
	outline: 1px solid #B2DDFF;
	outline-offset: -0.9em;
}
/*--------------------
ナビを途中から固定
-----------------------*/
.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
/*--------------------
navbarカラーチェンジ
-----------------------*/
/*--------------------
navbar背景
-----------------------*/
nav{z-index:999 !important;}
.navbar-change{/*チェンジ前*/
  transition:500ms ease;
  background:linear-gradient(-180deg,rgba(171,218,236,0.5),rgba(230,243,246,0.5), rgba(255,255,255,0.5));
}
.navbar-change.scrolled{/*チェンジ後*/
  background:#fff !important;
  box-shadow: 0px 4px 3px -3px rgba(0,0,0,0.25);
}
/*--------------------
navbar-active
-----------------------*/
nav .active,
.navbar-change .nav-link.active,
.navbar-change .nav-link:hover{/*チェンジ前*/
	color:#224B8B !important;
	font-weight:600 !important;
}
.scrolled.navbar-change .nav-link.active,
.scrolled.navbar-change .nav-link:hover{/*チェンジ後*/
	color:#6DC1FF !important;
}
/*--------------------
navbar-brand
-----------------------*/
.navbar-brand{
	color:#224B8B !important;
	font-family: 'Domine', serif;
	font-weight:400;
	margin-left:1em !important;
	font-size:2em;
}/*チェンジ前*/
.scrolled.navbar-change .navbar-brand{color:#6DC1FF !important;}/*チェンジ後*/
/*--------------------
navbar-link
-----------------------*/
.nav-link{/*チェンジ前*/
	color:#000 !important;
	font-family: 'Montserrat', sans-serif;
	margin-right:0.5em;
	font-size:1em !important;
	font-weight:400;
}
.scrolled .nav-link{/*チェンジ後*/
	color:#999 !important;
}
/*--------------------
toggleカラー
-----------------------*/
.custom-text {/*toggleの色とサイズ*/
	width: 30px;
	height: 20px;
	position: relative;
	margin: 0px;
}
.navbar-toggler{
	border:none !important;
}
@media screen and (max-width: 991px) {/*ハンバーガーメニューのバック*/
.bg-toggler{
	padding-top:1em;
}
}
.scrolled .custom-text span{
background-color: #666;
}
.custom-text span{
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	border-radius: 9px;
	opacity: 1;
	left: 0;
	background-color: #666;
}
.custom-text span:nth-of-type(1) {
  top: 0;
}
.custom-text span:nth-of-type(2) {
  top: 12px;
}
.custom-text span:nth-of-type(3) {
  top: 24px;
}
/*--------------------
ドロップダウン
-----------------------*/
.dropdown-item:focus,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu a:active,
.dropdown-menu a:focus,
.dropdown-menu a:hover,
.dropdown-menu a:hover:active {/*ホバー時の背景色*/
	box-shadow: 0 4px 4px 0 rgba(0,0,0,.14);
    background-color: #000;
    color: #fff;
}
 .dropdown-item.active{/*アクティブ時の背景色*/
  color: #fff !important;
  text-decoration: none;
  background-color: #666 !important;
}
.dropdown-menu{
	font-size:1.0em !important;
	line-height:2.5 !important;
	border:none !important;
	text-align:center !important;
	background-color:#F7F7F7;/*ドロップダウンの背景色*/
}
/* デスクトップ表示ではホバー操作でドロップダウンを表示 */
.dropdown:hover .dropdown-menu {display: block;}
/*--------------------
フェードの設定変更
-----------------------*/
@keyframes fadeInUpMin {
from {
	opacity: 0;
    transform: translate3d(0, 30%, 0);
    transition: all 1s ease;
}
to {
    opacity: 1;
    transform: none;
}
}
.fadeInUpMin {animation-name: fadeInUpMin;}
/*--------------------
スライド表示アニメーション設定
-----------------------*/
/*left*/
@keyframes slideshow-horizontal {
from {
    transform: scale(0, 1);
	transform-origin: left top;
    transition: all 0.3s ease !important;
	
}
to {
	transform: scale(1, 1);
	transform-origin: left top;
}
}
.slideshow-horizontal {animation-name: slideshow-horizontal;}
/*right*/
@keyframes slideshow-horizontal-right {
from {
    transform: scale(0, 1);
	transform-origin: right top;
    transition: all 0.3s ease;
	
}
to {
	transform: scale(1, 1);
	transform-origin: right top;
}
}
.slideshow-horizontal-right {animation-name: slideshow-horizontal-right;}
/*縦*/
@keyframes slideshow-vertical {
from {
    transform: scale(1, 0);
	transform-origin:bottom;
    transition: all 0.5s ease;
	
}
to {
	transform: scale(1, 1);
	transform-origin:bottom;
}
}
.slideshow-vertical{animation-name: slideshow-vertical;}
/*--------------------
ボタンのベース
-----------------------*/
.btn-base{
	display: inline-block;
	background-color:transparent;
	text-decoration: none;
	padding:0.5em 1.5em;
}
/*--------------------
背景の設定
-----------------------*/
/*トップ画像デバイスの高さに揃える設定*/
.top-page-img{
    background:center center / cover no-repeat fixed;
    background-size: cover;
    text-align: center;
	object-fit: cover;
	height: 100vh;/*調整*/
	width:100%;
	/*斜めにする場合
	clip-path: polygon(0 0, 100% 0, 100% 95vh, 0 100%);
	-webkit-clip-path:polygon(0 0, 100% 0, 100% 95vh, 0 100%);*/
}
@media screen and (max-width: 768px) {
.top-page-img{height:100vh;}/*調整*/
}
.sub-page-img{
    background:center center / cover no-repeat fixed;
    background-size: cover;
    height:50vh;
    text-align: center;
	object-fit: cover;
}
/*画像を追随させる場合*/
.sticky{
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index:-3 !important;
}
/*-------------------------
画像のオーバーレイ
---------------------------*/
.overlay-gradi:after{
	background:linear-gradient(-45deg, rgba(252,233,201, .5), rgba(182,221,244, .5));
	content:"";
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
}
.overlay-gradi2:after{
	background:linear-gradient(-45deg, rgba(255,255,255, .9), rgba(182,221,244, .9));
	content:"";
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
}
/*-------------------------
キャプション設定
---------------------------*/
.caption-box{position:relative;}
.heading {/*中央大*/
  position: absolute;
  width:60%;
  height:auto;
  top: 50%;
  left: 50%;
  text-align:center;
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
}
.topic {/*中央中*/
  position: absolute;
  top: 50%;
  left: 50%;
  text-align:center;
  transform: translate(-50%,-50%);
  margin:0;
  padding:3em !important;
  width:80%;
}
.topic-left{/*左ボーダー*/
	position:absolute;
	top:50%;
	left:-75px;
	transform: translateY(-50%);
	width:150px;
	display: inline-block;
	height: 2px;
	background-color:rgba(0,0,0,0.15);
	border-radius: 2px;
}
.topic-right{/*右ボーダー*/
	position:absolute;
	top:50%;
	right:-75px;
	transform: translateY(-50%);
	width:150px;
	display: inline-block;
	height: 2px;
	background-color: rgba(0,0,0,0.15);
	border-radius: 2px;
}
.topic-contact{
	position:absolute;
	top:50%;
	left:0;
	width:50%;
	transform: translateY(-50%);
	background:linear-gradient(-45deg, rgba(255,255,255, .9), rgba(182,221,244, .9));
	padding:2rem;
	z-index:2 !important;
}
.topic-contact-img{
	margin-left:20% !important;
	opacity:0.8;
}
@media screen and (max-width: 991px) {
.topic-left,.topic-right{
	top:-75px;
	left: 50% !important;
	transform: translateX(-50%);
	width: 2px;
	height: 150px;
	background-color:rgba(0,0,0,0.15);
}
}


/*-------------------------
センター揃え左寄せ文字
---------------------------*/
.left-text {
	text-align: left !important;
	display: inline-block;
}
/*--------------------
フォントサイズ
-----------------------*/
.size06{font-size:0.6em !important;}
.size09{font-size:0.9em !important;}
.size1{font-size:1.0em !important;}
.size11{font-size:1.1em !important;}
.size12{font-size:1.2em !important;}
.size13{font-size:1.3em !important;}
.size14{font-size:1.4em !important;}
.size15{font-size:1.5em !important;}
.size16{font-size:1.6em !important;}
.size17{font-size:1.7em !important;}
.size18{font-size:1.8em !important;}
.size2{font-size:2.0em !important;}
.size25{font-size:2.5em !important;}
.size3{font-size:3.0em !important;}
.size4{font-size:4.0em !important;}
.size5{font-size:5.0em !important;}
/*--------------------
ライン
-----------------------*/
.line1{line-height:1.0 !important;}
.line15{line-height:1.5 !important;}
.line2{line-height:2.0 !important;}
/*--------------------
テキストシャドウ設定
-----------------------*/
.tex-shadow{text-shadow: 1px 1px 2px #000;}
.tex-shadow2{text-shadow:2px 2px 10px #000;}
.tex-shadow-white{text-shadow: 1px 1px 2px #fff;}
.tex-shadow-bold{
	text-shadow: 
    black 2px 0px 0px, black -2px 0px 0px,
    black 0px -2px 0px, black 0px 2px 0px,
    black 2px 2px 0px, black -2px 2px 0px,
    black 2px -2px 0px, black -2px -2px 0px,
    black 1px 2px 0px, black -1px 2px 0px,
    black 1px -2px 0px, black -1px -2px 0px,
    black 2px 1px 0px, black -2px 1px 0px,
    black 2px -1px 0px, black -2px -1px 0px,
    black 1px 1px 0px, black -1px 1px 0px,
    black 1px -1px 0px, black -1px -1px 0px;
}
.tex-shadow-bold2{
	text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
              -1px 1px 0 #000, 1px -1px 0 #000,
              0px 1px 0 #000,  0-1px 0 #000,
              -1px 0 0 #000, 1px 0 0 #000;

}
/*--------------------
ページのトップへスクロール
-----------------------*/
#pageTop {
  width: 40px;
  height: 40px;
  position: fixed;
  line-height:50px;
  text-align:center;
  right: 10px;
  bottom: 15px;
  background: #6DC1FF;
  opacity: 0.6;
  border-radius: 50%;
}
#pageTop a {
	color:#fff;
	font-size:1.5em;
 }
#pageTop a:hover{
	color:#ddd;
}
/*--------------------
socialボタン
-----------------------*/
.social-box{
	padding:0;
}
.social-button{
	display:inline-block;
	width:50px;
	height:50px;
	line-height:50px;
	background-color:transparent;
	color:transparent;
	text-align:center;
	margin-right:5px;
	border-radius:50%;
	font-size:1.2em !important;
	transition: all  0.5s ease;
}
/*snsボタン各カラー*/
/*ホバー前のカラー*/
.sns-original{
	color:#fff !important;
	background-color:#6DC1FF;
}
/*sns各ブラントボタンからー*/
.social-button:hover{
	border-radius:50%;
	border:none;
	box-shadow: 0px 3px 10px rgba(0,0,0,.25);
}
.facebook-btn:hover{
	background-color:#3B5998;
}
.twitter-btn:hover{
	background-color:#1DA1F2;
}
.instagram-btn:hover{
	background: #d6249f;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
}
.youtube-btn:hover{
	background-color:#FF0000;
}
.mail-btn:hover{background-color:#224B8B;}/*イメージカラーに合わせる*/
/*--------------------
シェアボタン
-----------------------*/
.sns{
	margin-top:1em;
} 
.sns li {
    display: inline-block;
    line-height: 2.0;
    vertical-align: top;
    margin: 0 2px;
	margin-bottom:0.5em;
}
.custom-sns-btn{
	background-color:rgba(102,102,102,0.7);
	padding:0.5em 0.7em;
	border-radius:5px;
	font-size:0.9em;
	color:#fff !important;
}
.custom-sns-btn:hover{
	background-color:rgba(255,255,255,0.7);
}
/*--------------------
instafeedの設定
-----------------------*/
.insta-box{
	display: inline-block;
	margin:0 !important;
	padding:0 0.1em 0 0.1em !important;
	text-align:center !important;
	overflow:hidden !important;
	width:100% !important;
}
.insta-box img{
    transition: transform 0.5s linear;
	width:100%;
	height:auto;
	object-fit: cover;
}
.insta-box img:hover{
    filter:grayscale(1.0);
	transform: scale(1.1);
}
/*--------------------
フォーム設定
-----------------------*/
.booking-form {
	position: relative;
	max-width: 912px;
	width: 100%;
	margin:4em auto;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0px 5px 10px -5px rgba(0, 0, 0, 0.1);
}
/*フォーム左部分写真とタイトル*/
.booking-form .booking-bg {
	position: absolute;
	left: 25px;
	top: -25px;
	bottom: -25px;
	width: 400px;
	background-image: url('../img/form-bg.jpg');
	background-size: cover;
	background-position: center;
	padding: 25px;
	border-radius: 6px;
	box-shadow: 0px 5px 10px -5px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}
.booking-form>form {
	margin-left: 425px;
	padding: 30px;
}
.booking-form .form-header {
	margin-bottom: 30px;
	margin-top: 60px;
	position: relative;
	z-index: 20;
}
.booking-form .form-header h2 {
	margin-top: 0;
	margin-bottom: 15px;
	font-weight: 900;
	color: #fff;
	font-size: 32px;
	text-transform: capitalize;
}
.booking-form .form-header p {
	color: #fff;
	font-size: 14px;
}
/*フォーム部分*/
.booking-form .form-group {
	position: relative;
	margin-bottom: 20px;
}
.booking-form .form-control {
	margin-top:0.3em;
	background-color: #fff;
	height: 45px;
	padding: 0px 15px;
	color: #151515;
	border: 1px solid rgba(0,0,0,0.3);
	font-size: 1.1em !important;
	font-weight: 700;
	box-shadow: none;
	-webkit-box-shadow: none;
	border-radius: 40px;
	transition: 0.2s all;
}
.booking-form .form-control::-webkit-input-placeholder {color: #e5e5e5;}
.booking-form .form-control:-ms-input-placeholder {color: #e5e5e5;}
.booking-form .form-control::placeholder {color: #e5e5e5;}
.booking-form .form-control:focus {background: #f8f8f8;}
.booking-form input[type="date"].form-control:invalid {color: #e5e5e5;}
.booking-form select.form-control {/*ディフォルト解除*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.booking-form select.form-control:invalid {color: #e5e5e5;}
.booking-form select.form-control option {color: #151515;}
.booking-form select.form-control+.select-arrow {
	position: absolute;
	right: 3px;
	bottom: 5px;
	width: 32px;
	line-height: 32px;
	height: 32px;
	text-align: center;
	pointer-events: none;
	color: #e5e5e5;
	font-size: 14px;
}
.booking-form select.form-control+.select-arrow:after {
	content: '\279C';
	display: block;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
input[type="date"]::-webkit-calendar-picker-indicator{
	cursor: pointer;
}
.booking-form .form-label {
	color: #666;
	text-transform: uppercase;
	line-height: 24px;
	height: 24px;
	font-size: 1em !important;
	font-weight: 400;
	margin-left: 20px;
}
.booking-form .form-btn {
	margin: 30px 0 0 0 ;
}
.booking-form .submit-btn {
	display: block;
	width: 100% !important;
	color: #fff;
	background-color: #000;
	font-weight: 700;
	font-size: 18px;
	border: none;
	border-radius: 40px;
	height: 55px;
	transition: 0.2s all;
}
.booking-form .submit-btn:hover,
.booking-form .submit-btn:focus {
	background-color: #8B1338;
}
@media only screen and (max-width: 768px) {
.booking-form .booking-bg {
		position: relative;
		left: 0;
		right: 0;
		bottom: 0;
		top: -15px;
		width: 95%;
		margin: auto;
	}
.booking-form>form {
		margin-left: 0px;
	}
}
/*--------------------
テーブル
-----------------------*/
table {width:100%;}
.table-res tr {
	border-bottom:1px solid rgba(0,0,0,0.15);
}
.table-res th{
	padding:10px;
	font-size:1em;
	border-right:5px solid rgba(0,0,0,0.15);
	width:60%;
}
.table-res td {
	padding: 10px 20px 10px 10px ;
	font-size:1.3em;
}
.first{border-top:1px solid rgba(0,0,0,0.15) !important;}
@media screen and (max-width: 992px) {
.last{
    width: 100%;
}
.table-res {
    width: 100%;
	text-align:center;
}
.table-res th{
	display: block;
    width: 100%;
	border:none !important;
	background-color:#ddd;
}
.table-res td {
    width: 100%;
	text-align: center;
	display: inline-block;
  }
}
/*--------------------
フッターLOGO
-----------------------*/
.footer-logo{
	font-family: 'Montserrat', sans-serif;
	font-size:1em;
	letter-spacing:0.2em;
}
.footer-logo:hover{
	font-weight:600;
	letter-spacing:0;
}
	