@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

/* ------------------------------
	基本情報
------------------------------ */
html{overflow-y: scroll;}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
blockquote, q {
	quotes:none;
}
h1, h2, h3, h4, h5, h6, p {margin:0; font-weight:inherit; display:block; font-size: 100%;}
ul,li {list-style:none; padding:0;margin:0;}
dl,dt,dd {padding:0; margin:0;}
table,tr,td {border:0;padding: 0 ; margin:0;}
table {
	border-collapse:collapse;
	border-spacing:0;
}
a {
  text-decoration:none;
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
a:focus {
  cursor: pointer;
}
.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}
a:hover {cursor: pointer;}

input, textarea, select {
	vertical-align:middle;
}
button{
	 background-color: transparent;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
}

img {
	vertical-align:bottom; border:0; padding:0; margin:0 auto;line-height:0;
	display: block;
}
div {margin:0;padding:0;}

caption, th{
	font-weight: inherit;
}


input,select,button,textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: none;
	border-radius: 0;
	padding: 0;
	font-family:inherit;font-size:inherit;font-weight:inherit;
}
select::-ms-expand {
	display: none;
}
*,*:after,*:before{
	box-sizing: border-box;
}

a{
	color: inherit;
	text-decoration: none;
}
html,body{	height:100%;}
html{
	font-size:62.5%;
	overflow-y: scroll;
}
body{
	-webkit-text-size-adjust: 100%;
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.8;
	font-family:  'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
	word-wrap : break-word;
	overflow-wrap : break-word;
	-webkit-text-size-adjust: 100%;
	color: #333;
	font-weight: 700;
	margin: 0;
	padding: 0;
	border: none;
	letter-spacing: 0.05em;
}
img{
	-webkit-backface-visibility: hidden;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	body{
		font-size:3.2vw;
		font-weight: 500;
		padding-top: 50px;
		letter-spacing: normal;
		line-height: 1.7;
	}

}

/*============================
共通
============================*/

/* ------------------------------
	汎用
------------------------------ */

.flex{
	display: flex;
}

.flex_wrap{
	flex-wrap: wrap;
}
.jc_start{
	justify-content:flex-start!important;
}
.jc_end{
	justify-content:flex-end!important;
}
.jc_space{
	justify-content:space-between!important;
}
.jc_center{
	justify-content:center!important;
}
.item_center{
	align-items: center;
}
.item_end{
	align-items: flex-end;
}
.flex_prev{
	flex-flow: row-reverse;
}
@media screen and (min-width: 769px) {
	.flex_pc{
		display:flex;
		flex-wrap: nowrap;
		justify-content:space-between;
	}
}
@media screen and (max-width: 768px) {
	.flex_sp{
		display:flex;
		justify-content:space-between;
	}
}

.wrap{
	position: relative;
	width:1000px;
	margin: 0 auto;
}
.contents{
	min-height: calc(100% - 227px);
}
@media screen and (min-width:769px) {

	body{
		min-width: 1200px;
	}
	.pc{
		display:block!important;
	}
	.sp{
		display:none!important;
	}
	a,a:before,a:after{
		transition: all .5s ease;
	}
	.hover {
		display: inline-block;
	}
	.hover:hover {
		opacity: 0.7;
	}
	a,a * {
		outline: 1px solid transparent;
	}

	@-webkit-keyframes modify{
		  0% { padding-top: 80px; margin-top: -80px; }
		100% { padding-top: 0; margin-top: 0; }
	}
	@keyframes  modify{
		  0% { padding-top: 80px; margin-top: -80px; }
		100% { padding-top: 0; margin-top: 0; }
	}
	#link01:target,
	#link02:target,
	#link03:target,
	#link04:target,
	#link05:target,
	#link06:target,
	#link07:target,
	#link08:target,
	#link09:target{
		-webkit-animation: modify 0.1s;
		animation: modify 0.1s;
}

}

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

	body.fixed{
		position: fixed;
	}
	.pc{
		display:none!important;
	}
	.sp{
		display:block!important;
	}

	.wrap{
		width:90%;
	}
	.contents{
		min-height: calc(100% - 24vw);
	}
	@-webkit-keyframes modify{
		  0% { padding-top: 50px; margin-top: -50px; }
		100% { padding-top: 0; margin-top: 0; }
	}
	@keyframes  modify{
		  0% { padding-top: 50px; margin-top: -50px; }
		100% { padding-top: 0; margin-top: 0; }
	}

}


/*============================
header
===========================*/

header{
	width:100%;
	height: 80px;
	background: #333;
}
header.org{
	background: transparent;
}
header.clone{
	position: fixed;
	top:0;
	left:0;
	z-index: 9999;
	background: #333;
	color: #fff;
}
header .wrap.flex{
	height: 100%;
	align-items: center;
}
header .logo{
	width: 187px;
}
.top header.clone .logo{
	width: 150px;
}
header .logo svg{
	width: 187px;
	height: 31px;
}
.safari header .logo a,
.safari header .logo a *{
	-webkit-backface-visibility:hidden;
	overflow:hidden;
	visibility:visible;
	will-change: transform;
}
.safari header .logo a:after{

}
.top header.clone .logo svg{
	width: 150px;
	vertical-align: middle;
}

header .nav_header_pc li:not(:last-of-type){
	margin-right: 35px;
}
header .nav_header_pc li a{
	font-size: 1.6rem;
	font-weight: bold;
}
.top header.clone .nav_header_pc li:not(:last-of-type){
	margin-right: 30px;
}
.top header.clone .nav_header_pc li a{
	font-size: 1.4rem;
}

header .btn_inquiry_pc,
header .btn_reservation_pc{
	display: none;
}
.top header.clone .btn_inquiry_pc,
.top header.clone .btn_reservation_pc{
	display: block;
}
.top header.clone .btn_inquiry_pc a{
	display: block;
	width: 156px;
	height: 40px;
	background: #FF5824;
	border-radius: 20px;
	box-shadow: 0 5px #CF5A24;
	transition: all .3s ease;
	line-height: 43px;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: -0.5px;
	font-weight: bold;
	text-align: center;
}
.ie11 .top header.clone .btn_inquiry_pc a{
	border: 1px solid #FF5824;
}
.top header.clone .btn_reservation_pc a{
	display: block;
	width: 156px;
	height: 40px;
	background: #00C185;
	border-radius: 20px;
	box-shadow: 0 5px #00A36D;
	transition: all .3s ease;
	line-height: 43px;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: -0.5px;
	font-weight: bold;
	text-align: center;
}
.ie11 .top header.clone .btn_reservation_pc a{
	border: 1px solid #00C185;
}

.logo_top{
	display: none;
}
@media screen and (min-width: 769px) {
	header .wrap{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	header.org .logo_top{
		display: block;
	}
	header.org .logo_normal{
		display: none;
	}

	.top header.clone .wrap{
		width: 100%;
		max-width: 1360px;
		padding: 0 20px;
	}

	.top header.clone .menu_box{
		display: flex;
		align-items: center;
	}

	.top header.clone .btn_inquiry_pc{
		margin-left: 10px;
	}
	.top header.clone .btn_reservation_pc{
		margin-left: 30px;
	}

	.top header.clone .btn_inquiry_pc a:hover{
		box-shadow: 0 3px #CF5A24;
		transform: translate(0, 2px);
	}
	.top header.clone .btn_reservation_pc a:hover{
		box-shadow: 0 3px #00A36D;
		transform: translate(0, 2px);
	}

}


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

	header{
		position: fixed;
		top:0;
		left:0;
		z-index: 9999;
		width:100%;
		height: 50px;
	}
	header.org{
		background: #333;
	}
	header .logo{
		width:120px;
		height: 31px;
	}
	header .logo svg{
		width:120px;
	}

	header .toggle{
		width: 25px;
		height: 18px;
		top: 17px;
		right: 0;
		position: absolute;
		overflow: hidden;
	}
	header .toggle span{
		position:absolute;
		width:25px;
		height:2px;
		background-color: #fff;
		border-radius: 1px;
		transition: all 0.5s ease-out;
	}
	header .toggle span:nth-child(1){
		top: 0;
		left: 0;
	}
	header .toggle span:nth-child(2){
		top: 8px;
		left: 0;
	}
	header .toggle span:nth-child(3){
		top: 16px;
		left: 0;
	}
	header .toggle.toggle_action span:nth-child(1){
		top:8px;
		transform: rotate(45deg);
	}
	header .toggle.toggle_action span:nth-child(2){
		background-color:rgba(255,255,255,0);
	}
	header .toggle.toggle_action span:nth-child(3){
		top:8px;
		transform: rotate(-45deg);
	}
	header .nav_header_sp{
		position: fixed;
		top: 50px;
		left: 0;
		display: none;
		width: 100%;
		height: auto;
		background: #4F4F4F;
		overflowinstafeed:auto;
		z-index: 9999;
		overflow-y: scroll!important;
		-webkit-overflow-scrolling: touch;
	}
	header .nav_header_sp li a {
		display: block;
		width: 100%;
		height: 50px;
		padding: 0 5%;
		color: #fff;
		line-height:50px;
		font-size:1.2rem;
		font-weight: bold;
	}
	header .nav_header_sp li + li a{
		border-top: 1px solid #fff;
	}

	header .btn_inquiry_sp a{
		position: absolute;
		top:9px;
		right: 40px;
		display: block;
		width: 90px;
		height: 30px;
		background: #FF5824;
		border-radius: 15px;
		box-shadow: 0 3px #CF5A24;
		line-height: 32px;
		color: #fff;
		font-size: 1.2rem;
		letter-spacing: -0.5px;
		font-weight: bold;
		text-align: center;
	}
	header .btn_reservation_sp a{
		position: absolute;
		top:9px;
		right: 140px;
		display: block;
		width: 90px;
		height: 30px;
		background: #00C185;
		border-radius: 15px;
		box-shadow: 0 3px #00A36D;
		line-height: 32px;
		color: #fff;
		font-size: 1.2rem;
		letter-spacing: -0.5px;
		font-weight: bold;
		text-align: center;
	}

}

@media screen and (max-width: 420px) {
	header > .wrap{
		width: 96%;
	}
	header .btn_inquiry_sp a{
		width: 68px;
		font-size: 1rem;
		right: 30px;
	}
	header .btn_reservation_sp a{
		width: 68px;
		font-size: 1rem;
		right: 104px;
	}
}

/*============================
contents
===========================*/

.contents{
	position: relative;
}
.nowrap{
	display: inline-block;
	text-indent: 0;
}
.hang1, .hangli1>li{
	padding-left: 1em!important;
	text-indent: -1em!important;
}
.hang1h, .hangli1h>li{
	padding-left: 1.5em!important;
	text-indent: -1.5em!important;
}
.txt_link{
	text-decoration: underline;
}

/*txt*/
.taC{text-align: center!important;}
.taR{text-align: right!important;}
.taL{text-align: left!important;}
.fw400{
	font-weight: 400;
}
.fw500{
	font-weight: 500;
}
.fw700{
	font-weight: 700;
}
.fw900{
	font-weight: 900;
}
.txt_w{
	color: #fff;
}
.txt_bl{
	color: #094073;
}
.txt_wbl{
	color: #3AB7F0;
}
.txt_or{
	color: #FF4031;
}
.txt_red{
	color: #ED1C24;
}
.txt_yl{
	color: #FFFF00;
}
.line_yellow{
	background: linear-gradient(transparent 73%, #FFF91D 73%,#FFF91D 97%,transparent 97%);
}
.txt_line{
	position: relative;
	text-align: center;
}
.txt_line:before,
.txt_line:after{
	content: "";
	display: inline-block;
	width: 4px;
	height: 30px;
}
.txt_line:before{
	margin-right: 20px;
	transform: translateY(5px) rotate(-22deg)
}
.txt_line:after{
	margin-left: 20px;
	transform: translateY(5px) rotate(22deg)
}

.uline{
	background: linear-gradient(transparent 87%, #FFFF00 0%);
	display:inline;
	padding: 0 0 0.4em;
}
.bg_wbl{
	background:#EDFAFF;
}
.bg_bl{
	background:#3AB7F0;
}
.bg_wh{
	background:#fff;
}

/*fontsize*/
.txt_large{
	font-size: 2.4rem;
}

/*btn*/
.btn{
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: bold;
	transition: all .3s ease;
	line-height: 1;
	position: relative;
	cursor: pointer;
}
.btn1{
	background: #3AB7F0;
	border-radius: 50px;
	box-shadow: 0 4px #2085B7;
	line-height: 1;
	color: #fff;
	font-size: 1.7rem;
	width: 191px;
	height: 44px;
}
.btn1:before{
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 7px;
	border-color: transparent transparent transparent #fff;
	top: 50%;
	transform: translateY(-50%);
	right: 12px;
}
.btn_gr{
	background: #00C185;
	border-radius: 50px;
	box-shadow: 0 7px #00A36D;
	line-height: 1;
	color: #fff;
	font-size: 2.6rem;
	width: 451px;
	height: 69px;
}

.btn_gr .ico{
	width: 28px;
	height: 22px;
	background: url(../img/ico_mail.png) no-repeat;
	background-size: contain;
	margin-right: 13px;
	margin-top: 5px;
}


/*.btn_pageup a{
	display: flex;
	justify-content: center;
	align-items: center;
	right:20px;
	opacity: 0;
	width: 60px;
	height: 60px;
	background: #333;
	transition: all .5s ease;
}
.btn_pageup a img{
	width: 25px;
}
.btn_pageup a.fadein{
	opacity: 1;
}*/

@media screen and (min-width: 769px) {
	.btn:hover{
		transform: translate(0, 3px);
		opacity: 0.7;
	}
	.btn_gr:hover{
		box-shadow: 0 4px #00A36D;
	}
	.btn1:hover{
		transform: translate(0, 2px);
		box-shadow: 0 2px #2085B7;
	}
}

@media screen and (max-width: 768px) {
	.fw700{
		font-weight: inherit;
	}
	.fw900{
		font-weight: inherit;
	}
	.uline{
		padding: 0 0 0.2em;
	}
	/*fontsize*/
	.txt_large{
		font-size: 4vw;
	}

	/*btn*/
	.btn{
		font-weight: 400;
	}
	.btn1{
		border-radius: 5vw;
		box-shadow: 0 2px #2085B7;
		font-size: 3.4vw;
		width: 32vw;
		height: 8vw;
	}
	.btn1:before{
		border-width: 1vw 0 1vw 1.4vw;
		right: 2.4vw;
	}
	.btn_gr{
		border-radius: 7vw;
		box-shadow: 0 4px #00A36D;
		font-size: 4.5vw;
		width: 100%;
		height: 12.5vw;
	}

	.btn_gr .ico{
		width: 5vw;
		height: 3.9vw;
		margin-right: 1.8vw;
		margin-top: 1vw;
	}

}

/*============================
footer
===========================*/

footer{
	width: 100%;
	background: #333;
	padding: 40px 0 22px;
	color: #fff;
}

footer .txt_copy{
	text-align: center;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}
footer ul{
	display: flex;
	justify-content: center;
	line-height: 1;
	color: #fff;
	font-weight: 400;
	margin-bottom: 30px;
}
footer ul li + li{
	margin-left: 11px;
	padding-left: 11px;
	border-left: 1px solid #fff;
}

footer ul li a{
	font-size: 1.4rem;
}
.contact_blk + footer{
	border-top: 1px solid #fff;
}
@media screen and (max-width: 768px) {
	footer{
		padding: 8vw 0 3vw;
	}
	footer .wrap{
		width: 100%;
	}

	footer .txt_copy{
		text-align: center;
		font-size: 2.6vw;
		letter-spacing: 0.05em;
	}
	footer ul{
		font-size: 2.8vw;
		margin-bottom: 6vw;
	}
	footer ul li + li{
		margin-left: 2.6vw;
		padding-left: 2.6vw;
	}
	footer ul li a{
		font-size: 2.8vw;
	}
}

/* ------------------------------
	ttl_sec
------------------------------ */
.ttl_sec{
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 130px;
	padding-top: 10px;
	margin-bottom: 40px;
	line-height: 1.3;
	background: url(../img/ttl_sec_ico01.svg) no-repeat center center;
}
.ttl_sec .txt{
	text-align: center;
	font-size: 4.0rem;
	width: 100%;
	font-weight: bold;
	letter-spacing: 0.03em;
	z-index: 2;
}
.ttl_sec.wh{
	color: #fff;
	background: url(../img/ttl_sec_ico02.svg) no-repeat center center;
}
@media screen and (max-width: 768px) {
	.ttl_sec{
		padding-top: 0.1em;
		margin-bottom: 8vw;
		height: 20vw;
		padding-top: 1vw;
		background-size: auto 100%;
	}
	.ttl_sec.wh{
		background-size: auto 100%;
	}
	.ttl_sec img{
		height: 13vw;
		width: auto;
	}
	.ttl_sec .txt{
		font-size: 6.4vw;
		font-weight: 700;
		line-height: 1.3;
	}
}

/* ------------------------------
	contact_blk
------------------------------ */
.contact_blk{
	background: #333;
	color: #fff;
}
.contact_blk .wrap{
	position: relative;
}
.contact_blk .ttl{
	text-align: center;
	font-size: 2.2rem;
	line-height: 1;
	padding-bottom: 13px;
	border-bottom: 3px solid #fff;
	margin-bottom: 18px;
}
.txt_opt{
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 17px;
}
.contact_box2{
	margin-top: 7px;
}
.contact_bg{
	position: absolute;
	bottom: 0;
	left: -88px;
}
@media screen and (min-width: 769px) {
	.contact_blk{
	}
	.contact_blk .wrap{
		padding: 40px 39px 42px 196px;
	}
}
@media screen and (max-width: 768px) {
	.contact_blk{
		padding: 5.4vw 0 6.4vw;
	}
	.contact_blk .wrap{
		position: relative;
	}
	.contact_blk .ttl{
		text-align: left;
		font-size: 3.7vw;
		line-height: 1.35;
		padding-bottom: 2vw;
		border-width: 2px;
		margin-bottom: 4.5vw;
	}
	.txt_opt{
		font-size: 4.5vw;
		letter-spacing: 0.1em;
		line-height: 1;
		margin-bottom: 2.6vw;
	}
	.txt_opt.txt_line:before, .txt_opt.txt_line:after{
		width: 2px;
		height: 6.4vw;
		margin-bottom: -1vw;
	}
	.contact_box2{
		margin-top: 5.5vw;
	}
}


/* ------------------------------
	contents
------------------------------ */
.contents table{}
.contents th{
	text-align: left;
}

.bg_grd{
	background: linear-gradient(to right, #0095c7 0%, #bafff5 94%, #bafff5 100%);
}
.bg_blue{
	background: #dff2f5;
}



/*txt*/
.align_center{
	text-align: center;
}

.font_bold{
	font-weight: bold;
}

.txt_yellow{
	color: #FFF91D;
}
.txt_orange{
	color: #FF5824;
}
.line_yellow{
	background: linear-gradient(transparent 73%, #FFF91D 73%,#FFF91D 97%,transparent 97%);
}
.txt_line{
	text-align: center;
}
.txt_line:before,
.txt_line:after{
	content: "";
	display: inline-block;
	width: 4px;
	height: 30px;
	border-radius: 2px;
}
.txt_line:before{
	margin-right: 20px;
	transform: translateY(5px) rotate(-22deg)
}
.txt_line:after{
	margin-left: 20px;
	transform: translateY(5px) rotate(22deg)
}


@media screen and (max-width: 768px) {
	.txt_line:before,
	.txt_line:after{
		content: "";
		display: inline-block;
		width: 2px;
		height: 5.4vw;
	}
	.txt_line:before{
		margin-right: 3vw;
		transform: translateY(0.6vw) rotate(-22deg)
		}
	.txt_line:after{
		margin-left: 3vw;
		transform: translateY(0.6vw) rotate(22deg)
	}
}


/*btn*/
.btn_orange{
	display: inline-block;
	width: 257px;
	height: 70px;
	background: #FF5824;
	border-radius: 35px;
	box-shadow: 0 7px #CF5A24;
	margin: 0 auto;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	font-weight: bold;
	line-height: 72px;
	transition: all .3s ease;
}
.ie11 .btn_orange{
	border: 1px solid #FF5824;
	line-height: 82px;
}
.btn_green{
	display: inline-block;
	width: 257px;
	height: 70px;
	background: #00C185;
	border-radius: 35px;
	box-shadow: 0 7px #00A36D;
	margin: 0 auto;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	font-weight: bold;
	line-height: 72px;
	transition: all .3s ease;
}
.ie11 .btn_green{
	border: 1px solid #00C185;
	line-height: 82px;
}

@media screen and (min-width: 769px) {
	.btn_orange:hover{
		box-shadow: 0 4px #CF5A24;
		transform: translate(0, 3px);
	}
	.btn_green:hover{
		box-shadow: 0 4px #00A36D;
		transform: translate(0, 3px);
	}
}


@media screen and (max-width: 768px) {
	.btn_orange{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 12.5vw;
		border-radius: 10vw;
		box-shadow: 0 5px #CF5A24;
		font-size: 4.7vw;
		line-height: 1;
	}

	.btn_green{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 12.5vw;
		border-radius: 10vw;
		box-shadow: 0 5px #00A36D;
		font-size: 4.7vw;
		line-height: 1;
		margin-right: 0;
	}
}



/*box*/
.box_shadow{
	padding: 50px;
	background: #fff;
	box-shadow:0px 0px 8px 0px rgba(0,0,0,0.1);
}
.box_shadow02{
	padding: 50px;
	background: #fff;
	box-shadow:0px 0px 5px 0px rgba(0,0,0,0.1);
}


@media screen and (max-width: 768px) {
	.box_shadow,.box_shadow02{
		padding: 8% 5%;
	}
}