@charset "utf-8";

*{margin: 0;padding: 0;}

html {
	font-size: 62.5%;
}

body {
	font-family: "Klee One", cursive;
	margin: 0 auto;
	max-width: 1920px;
	font-size: 1.6em;/* 16px*/
	-webkit-text-size-adjust: 100%;
	font-style: normal;
}

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

input, select, button, textarea {font-family: inherit;}

header {
	top: 0;
	left: 0;
	transition: 0.6s;
	display: flex;
	z-index: 100;
	width: 100%;
	height: 60px;
	background-color: #FFFFFF;
}

.hide {transform: translateY(-60px);}

.head-left {
	display: flex;
	position: relative;
	flex-flow: row;
	justify-content: flex-start;
	align-items: flex-start;
	background-color: #FFFFFF;
	margin-left: 0;
	margin-right: auto;
}

.head-right {
	position: relative;
	background-color: #FFFFFF;
	display: flex;
	flex-flow: row;
}

.head-left a {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
}

.head-left img{
	padding-top: 10px;
	height: 42px;
	width: 39px;
	padding-left: 10px;
}

h1 {
	width: 100%;
	margin-top: 9px;
	margin-left: 8px;
	font-color: #000000;
	font-size: 15px;
	font-style: bold;
	white-space: nowrap;
}

.department p{
	font-color: #000000;
	font-size: 11px;
	padding-left: 11px;
	padding-top: 3px;
}

.tell {
	width: 48px;
	height: 48px;
	line-height: 48px;
	font-size: 1rem;
	margin-top: 6px;
	margin-right: 10px;
	text-decoration: none;
	display: block;
	position: relative;
	border: none;
	text-align: center;
	color: #000000;
	background: url("../images/calender_icon.svg") no-repeat;
	background-position: center 4px;
	background-size: 40px;
	background-color: #CAECF1;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}

.tell p {
	position: absolute;
	width: 100%;
	top: 12px;
	vertical-align: bottom;
}

nav.globalMenuSp {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 30%;
	background: #1A82AD;
    text-align: center;
    transform: translateX(+100%);
    transition: all 0.35s;
    width: 70%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto !important;
}

.navitop {
	position: absolute;
	top: 16px;
	left: 20%;
	font-size: 1.8rem;
	z-index: 1001;
}

.navitop a {color: #FFFFFF !important;}

.menu-title {
	position: absolute;
	top: 90px;
	left: 10px;
	display: block;
	font-size: 2.4rem;
	color: #FFFFFF;
}

.tate {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	user-select: none !important;
}

.navi-tell {
	margin-top: 20%;
	margin-bottom: 10px;
	margin-left: 14%;
	display: table;
	height: 60px;
	width: 75%;
	background: url("../images/tell_icon.svg") no-repeat;
	background-position: left 4% top 50%;
	background-size: 42px;
	background-color: #CAF1E4;
	z-index: 1002;
}

.navi-tell a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	padding-left: 25%;
	font-size: 1.2rem;
}

.navi-web {
	margin-bottom: 10px;
	margin-left: 14%;
	position: relative;
	display: table;
	height: 60px;
	width: 75%;
	background-color: #FFFFFF;
	font-size: 1.7rem;
}

.navi-web:after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	height: calc(100% - 8px);
	width: calc(100% - 8px);
	border: solid 2px #476557;
	pointer-events: none;
}

.navi-web a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	font-style: bold;
	color: #476557;
}

.navi-add {
	margin-bottom: 10px;
	margin-left: 14%;
	position: relative;
	display: table;
	height: 60px;
	width: 75%;
	font-size: 1.3rem;
}

.navi-add a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	font-style: bold;
	color: #FFFFFF;
}

.link {
	cursor: pointer;
}

.link:after {
	content: "";
	position: absolute;
	top: 30px;
	right: 12%;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

.linkup.link:after {
	content: "";
	position: absolute;
	top: 30px;
	right: 12%;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

nav.globalMenuSp ul {
	margin-left: auto;
    padding-top: 5rem;
    width: 80%;
}
 
nav.globalMenuSp ul li {
	position: relative;
    font-size: 1.6rem;
	font-weight: 400;
    list-style-type: none;
	width: 100%;
    padding: 0.5rem;
    border-bottom: 1px dotted #FFFFFF;
}

nav.globalMenuSp ul li:last-child {border-bottom: none;}
 
nav.globalMenuSp ul li a {
    display: block;
    color: #FFFFFF !important;
    padding: 1em 0;
	text-decoration: none;	
}
 
nav.globalMenuSp.active {transform: translateX(0%); transform: translateZ(2px);}

nav.globalMenuSp .submenu{
	display: none;
	padding-top: 0;
}

nav.globalMenuSp ul li ul {
	left: 25%;
}

nav.globalMenuSp ul li ul li:first-child{border-top: 1px dotted #FFFFFF}

.navToggle {
    display: block;
    position: relative;
	margin-right: 10px;
	margin-top: 6px;
	margin-bottom: 6px;
    width: 42px;
    height: 48px;
	border-radius: 4px;
    cursor: pointer;
    z-index: 2001;
    background: #1A82AD;
    text-align: center;
}

.navToggle.active {
	transform: translateZ(3px);
}

.navToggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 3px #eee;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}
 
.navToggle span:nth-child(1) {top: 8px;}
.navToggle span:nth-child(2) {top: 16px;}
.navToggle span:nth-child(3) {top: 24px;}
.navToggle span:nth-child(4) {
	border: none;
	color: #eee;
	font-size: 9px;
	font-weight: bold;
	top: 32px;
}

.navToggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

.cover{
    position: fixed;
	top: 0;
	left: 0;
	height: 100%;
    width: 100%;
	overflow-x: hidden;
    visibility: hidden;
    z-index: -10;
    -webkit-transition: .3s;
    transition: .3s;
}
.cover.active{
    visibility: visible;
    background: rgba(0,0,0,0.6);
    z-index: 101;
	transform: translateZ(1px);
}

#pageTop {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 10;
	width: 42px;
	height: 48px;
	border-radius: 4px;
	border: solid 3px #577D6B;
	background-color: #FFFFFF;
	display: table;
}

#pageTop a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: #577D6B;
	font-size: 1.1rem;
	font-weight: bold;
	text-decoration: none;
}

.reserve {
	position: fixed;
	bottom: 10px;
	right: 66px;
	z-index: 20;
	width: 48px;
	height: 48px;
	line-height: 48px;
	font-size: 1rem;
	text-decoration: none;
	display: block;
	border: solid 3px #577D6B;
	text-align: center;
	color: #000000;
	background: url("../images/calender_icon.svg") no-repeat;
	background-position: center 2px;
	background-size: 40px;
	background-color: #CAECF1;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}

.reserve p {
	position: absolute;
	width: 100%;
	top: 9px;
	vertical-align: bottom;
}

@media screen and (max-width: 320px) { /*iPhone SE用クエリ*/
	body {font-size: 1.4em}
	header img {display: none}
	
	.navToggle {margin-right: 4px}
	.tell {margin-right: 4px}
	
	nav.globalMenuSp ul {width: 84%;}
} 

@media screen and (min-width: 481px) {} 

@media screen and (min-width: 769px) {

	html {
		position: relative;
		overflow: auto; /*iPadでのoverflow用*/
		height: 100%;
	}
	
	.navi-tell {
		background-position: left 10% top 50% !important;
	}

	.navi-tell a {
		padding-right: 26% !important;
	}
}
@media screen and (min-width: 1024px) {
	a:hover {opacity: 0.7;}
	
	#loading__wrapper {/*iOSでの右余白の打ち消し*/
		position: relative;
		overflow-x: hidden;
	}
	
	.navToggle {display: none;}

	.navitop {
		display: none;
		padding-top: 0;		
	}
	
	.menu-title {
		display: none;
		padding-top: 0;
	}
	
	nav.globalMenuSp {
		position: static;
		background: #FFFFFF;
		display: block !important;
		transform: translateX(0%);
		width: 100% !important;
		overflow: visible !important;
	}
	
	nav.globalMenuSp ul {
		list-style: none;
		display: flex;
		flex-direction: row;
		padding-top: 0;
		margin-left: 0;
		width: 100%;
	}
 
	nav.globalMenuSp ul li {
		position: relative;
		border-bottom: none;
		margin: 0 auto;
		width: 120px;
	}
 
	nav.globalMenuSp ul li a {
		font-size: 1.2rem;
		color: #000000 !important;
		text-decoration: none;
		white-space: nowrap
	}
	
	nav.globalMenuSp ul li ul {
		position: absolute;
		left: 0;
		background-color: rgba(255,255,255,0.9);
	}
	
	nav.globalMenuSp ul li ul li {border-bottom: dotted 1px rgba(129,129,129,0.80);}
	
	.link:after {display: none;}
	.navi-tell {display: none;}
	.navi-web {display: none;}
	.navi-web:after {display: none;}
	.navi-add {display: none;}
	.tell {display: none;}
}