/*** structure ***/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/*** header ***/
#header {
	padding: 10px 0 0 0;
	width: 100%;
	background : -moz-linear-gradient(50% 100% 90deg,rgba(4, 14, 29, 1) 0%,rgba(12, 42, 86, 1) 100%);
	background : -webkit-linear-gradient(90deg, rgba(4, 14, 29, 1) 0%, rgba(12, 42, 86, 1) 100%);
	background : -webkit-gradient(linear,50% 100% ,50% 0% ,color-stop(0,rgba(4, 14, 29, 1) ),color-stop(1,rgba(12, 42, 86, 1) ));
	background : -o-linear-gradient(90deg, rgba(4, 14, 29, 1) 0%, rgba(12, 42, 86, 1) 100%);
	background : -ms-linear-gradient(90deg, rgba(4, 14, 29, 1) 0%, rgba(12, 42, 86, 1) 100%);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#040E1D', endColorstr='#0C2A56' ,GradientType=0)";
	background : linear-gradient(0deg, rgba(4, 14, 29, 1) 0%, rgba(12, 42, 86, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0C2A56',endColorstr='#040E1D' , GradientType=0);
	z-index: 999;
	box-shadow: 0 0 8px 0 rgba(0,0,0,0.8);
	color: #ffffff;
	border-bottom: #a58e45 2px solid;
	z-index: 99;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	transition: .3s;
}
	@media screen and (max-width:768px) {
		#header{
			padding: 10px 20px 0 20px;
			width:calc(100% - 40px);
			max-height:100%;
			overflow-y: scroll;
		}
	}

	#header::-webkit-scrollbar{
	display:none;
	}
	#header{
	-ms-overflow-style:none;
	}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

.logo_wrap {
	width: 960px;
	margin: 0 auto;
	padding: 10px 0px 25px 0px;
}
	@media screen and (max-width:768px) {
	.logo_wrap {
		width: 80%;
		float: left;
		}
}

.header_logo {
	float: left;
}
.header_logo img{
	width: 300px;
}

.header_logo .header_text{
	display: inline-block;
	padding: 10px 30px;
}

@media screen and (max-width:480px) {
	.header_logo .header_text{
		display: block;
		padding: 5px 20px;
	}
}


	@media screen and (max-width:785px) {
		.header_logo img{
			width: 250px;
		}
	}
	.logo_wrap .header_contact {
		width: 260px;
		float: right;
	}
	@media screen and (max-width: 785px) {
			div.header_contact{
				display: none;
			}
		}
	.logo_wrap .header_contact ul {
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin: 0 auto;
		}
		.logo_wrap .header_contact ul li a{
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			color: #a58e45;
			font-size: 14px;
			padding: 15px 20px 15px 30px;
			background: url("../images/ico_arrow01.png") no-repeat 15px center;
			border: #a58e45 1px solid;
}

.pagetop {
	position: fixed;
	bottom: 50px;
	right: 50px;
}
.pagetop a img {
	width: 60px;
}
	@media screen and (max-width:768px) {
		.pagetop {
			position: fixed;
			bottom:120px;
			right: 20px;
			opacity: 0.8 ;
		}
	}
	@media screen and (max-width:480px) {
		.pagetop {
			bottom:90px;
			right: 0px;
		}
	}


/* price */
section.price {
	padding: 35px 0 50px;
	background-color: #DCF8FF;
	background-image: url(../images/icl/bg_price.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

section.price picture {
	display: block;
	margin: 0 auto 30px;
	text-align: center;
}

@media screen and (min-width: 960px) and (max-width: 980px) {
section.price picture.headerPrice img {
	width: 100%;
}
}

section.price img.msgPrice {
	display: block;
	margin: 0 auto 20px;
}

section.price .msgetc {
	display: block;
	margin: 0 auto 20px;
	text-align: center;
	font-size: 1.4rem;
}


section.price .content {
	margin: 0 1px 40px;
	background-color: #FFFFFF;
}

section.price .chart h3 {
	padding: 12px 2px;
	color: #FFFFFF;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	background-color: #3a4bac;
}

section.price .chart article {
	display: flex;
}

@media screen and (max-width: 768px) {
section.price .content {
	background: linear-gradient(90deg, #E8E8E8 0%, #E8E8E8 100px, #FFFFFF 100px, #FFFFFF 100%);
}

section.price .chart h3:first-child {
	display: none;
}

section.price .chart article {
	flex-wrap: wrap;
}
}

section.price .articleBox {
	width: 50%;
	border-right: 2px solid #D2D2D2;
	box-sizing: border-box;
}
section.price .articleBox_w {
	width: 100%;
	border-right: 2px solid #D2D2D2;
	box-sizing: border-box;
}

section.price .articleBox:last-child {
	border-right: none!important;
}

@media screen and (max-width: 768px) {
section.price .articleBox,
section.price .articleBox_w {
	display: flex;
	align-items: center;
	width: 100%;
	border-right: none;
	border-bottom: 2px solid #D2D2D2;
}

section.price .articleBox:last-child {
	border-bottom: none;
}
}

section.price .articleBox h5 {
	padding: 10px 2px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.25;
	text-align: center;
	box-sizing: border-box;
}

section.price .articleBox h5 span {
	display: block;
	font-size: 0.6em;
	line-height: 1.25;
}

section.price .articleBox h5 span.cat {
	margin: 0.5em 0 0;
	color: #F79B11;
	font-weight: bold;
}

section.price article.header {
	align-items: center;
}

@media screen and (max-width: 768px) {
section.price article.header {
	display: none;
}
}

section.price article p {
	flex-wrap: wrap;
	text-align: center;
	box-sizing: border-box;
}

section.price article.cost p {
	padding: 20px 5px;
}

section.price article.costInst p {
	padding: 20px 10px 0;
}

section.price article.costInst p:last-of-type {
	margin: 0 0 20px;
}

section.price article.security p {
	padding: 20px 5px;
}

section.price article p span.price {
	display: inline-block;
	padding: 0 0.2em 0.2em;
	color: #EC4E59;
	font-size: 180%;
	font-weight: bold;
	vertical-align: -3px;
}

section.price article.costInst p span.marking {
	display: block;
	margin: 0 0 5px 25px;
	padding: 10px 5px;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: bold;
	background-color: #F8B551;
	border-radius: 18px;
}


/* step */
section.step {
	padding: 50px 0 60px;
}

section.step h3 {
	display: flex;
	align-items: center;
	min-height: 60px;
	margin: 0 0 15px;
	padding: 0 0 0 80px;
	color: #3a4bac;
	font-size: 2.2rem;
	line-height: 1.25;
	font-weight: bold;
	background-position: 0 0;
	background-repeat: no-repeat;
}

section.step inner sidePad h3 {
	display: flex;
	align-items: center;
	min-height: 60px;
	margin: 0 0 15px;
	padding: 0 0 0 80px;
	color: #3a4bac;
	font-size: 2.2rem;
	line-height: 1.25;
	font-weight: bold;
	background-position: 0 0;
	background-repeat: no-repeat;
}

section.step h3:nth-of-type(1) {
	background-image: url(../images/icl/leader_step01.png);
}

section.step h3:nth-of-type(2) {
	background-image: url(../images/icl/leader_step02.png);
}

@media screen and (max-width: 768px) {
section.step h3:nth-of-type(2) {
	display: block;
}
}

section.step h3:nth-of-type(3) {
	background-image: url(../images/icl/leader_step03.png);
}

section.step h3:nth-of-type(4) {
	background-image: url(../images/icl/leader_step04.png);
}

section.step h3 span {
	display: block;
	margin: 0 0 0 0.5em;
	font-size: 50%;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
section.step h3:nth-of-type(2) span {
	margin: 0;
	font-size: 45%;
}
}

section.step article {
	margin: 0 0 20px 28px;
	padding: 0 0 0 50px;
	border-left: 5px solid #3a4bac;
}

section.step article p {
	float: right;
	width: calc(100% - 280px - 20px);
	line-height: 1.6;
}

section.step article picture {
	float: left;
}

@media screen and (max-width: 768px) {
section.step article {
	padding: 0 0 10px 50px;
}

section.step article p {
	float: none;
	width: auto;
	margin: 10px 0 0;
}

section.step article picture {
	float: none;
}
}

section.step article p strong {
	background: linear-gradient(transparent 70%, #FFEA34 70%);
}


/* form */
section.form {
	padding: 60px 0 70px;
	background-color: #EBEAE7;
}

section.form h2 {
	margin: 0 0 45px;
	text-align: center;
}

section.form form {
	margin: 0 0 45px;
	padding: 60px calc(50% - 360px);
	background-color: #FFFFFF;
	box-sizing: border-box;
}

section.form form p:nth-child(1) {
	margin: 0 0 25px;
}

section.form form p.caption {
	margin: 0 0 20px calc(100% - 450px);
	padding: 8px 2px 0;
	font-size: 0.9rem;
}

section.form form p:nth-child(4) {
	margin: 0 0 40px;
}

@media screen and (max-width: 860px) {
section.form form {
	margin: 0 0 30px;
	padding: 20px 20px;
}

section.form form p.caption, section.form form p:nth-child(4) {
	margin: 0 0 20px;
}
}

section.form form label {
	float: left;
	width: 140px;
	margin: 20px 10px 10px 0;
	font-size: 1.1rem;
	font-weight: bold;
}

section.form form span.marking {
	float: left;
	margin: 15px 10px 10px 0;
	display: inline-block;
	padding: 4px 2px;
	color: #FFFFFF;
	font-size: 0.9rem;
	text-indent: 0.3rem;
	letter-spacing: 0.3rem;
	background-color: #EC576B;
}

section.form form .tLine, section.form form .tArea {
	float: right;
	width: 450px;
	padding: 10px;
	font-size: 1.2rem;
	background-color: #EAEAEA;
	border: none;
	border-top: 3px solid #D2D2D2;
	border-left: 3px solid #D2D2D2;
	box-sizing: border-box;
}

@media screen and (max-width: 860px) {
section.form form label {
	float: none;
	width: auto;
	margin: 0 10px 10px 0;
}

section.form form span.marking {
	float: none;
	margin: 0 0 10px ;
}

section.form form .tLine, section.form form .tArea {
	float: none;
	clear: both;
	width: 100%;
}
}

section.form form .btnConfirm {
	display: block;
	width: 350px;
	margin: 0 auto;
	padding: 20px 10px;
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: bold;
	text-indent: 0.5rem;
	letter-spacing: 0.5rem;
	background-color: #18CBA7;
	background-image: url(images/arrow_btn_fb.png);
	background-position: calc(100% - 20px) center;
	background-repeat: no-repeat;
	background-size: 12px auto;
	border: none;
	border-radius: 10px;
	box-sizing: border-box;
	cursor: pointer;
}

@media screen and (max-width: 860px) {
section.form form .btnConfirm {
	width:  auto;
	padding: 20px 40px;
}
}

section.form form .btnConfirm:hover {
	opacity: 0.7;
}

section.form p.btnNavi a {
	color: #EC576B;
}


/* doctor */
section.doctor {
	padding: 50px 0 50px;
	background-image: url(../images/icl/bg_doctor.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

@media screen and (max-width: 860px) {
section.doctor {
	background-image: url(../images/icl/bg_doctor_s.jpg);
	background-position: center calc(100% + 50vw);
}
}

@media screen and (max-width: 600px) {
section.doctor {
	background-image: url(../images/icl/bg_doctor_s.jpg);
	background-position: center bottom;
}
}

section.doctor picture {
	display: block;
	margin: 0 auto 40px;
	text-align: center;
}

section.doctor article.safety, section.doctor article.doctor {
	margin: 0 0 20px;
}

section.doctor article.safety h3, section.doctor article.doctor h3 {
	margin: 0 0 20px;
	padding: 10px 2px 10px;
	font-size: 2.2rem;
	line-height: 1.25;
	font-weight: bold;
	text-align: center;
	color: #3a4bac;
	border-top: 4px solid #3a4bac;
	border-bottom: 4px solid #3a4bac;
}

section.doctor article.safety img {
	float :left;
	margin: 0 20px 10px 0;
}

@media screen and (max-width: 768px) {
section.doctor article.safety h3, section.doctor article.doctor h3 {
	font-size: 5.6vw;
}

section.doctor article.safety img {
	float: none;
	display: block;
	margin: 0 auto 10px;
}
}

section.doctor article.safety p {
	font-size: 1rem;
	line-height: 1.5;
}

section.doctor article.doctor p {
	font-size: 1rem;
	line-height: 1.5;
	text-align: center;
}

section.doctor article.doctor p span {
	display: block;
	line-height: 1.5;
}

@media screen and (max-width: 600px) {
section.doctor article.doctor p {
	text-align: left;
}

section.doctor article.doctor p span {
	display: inline;
}
}

section.doctor article.prof {
	width: calc(50% - 0px);
	margin: 0 auto 20px auto;
	box-sizing: border-box;
}



section.doctor article.doctor02 {
	float: right;
}

@media screen and (max-width: 860px) {
section.doctor article.prof {
	width: 100%;
	float: none!important;
}
}

section.doctor article.prof h3 {
	height: 200px;
	padding: 25px 0 0;
	background-position: right bottom, right 35px;
	background-repeat: no-repeat, no-repeat;
	background-size: auto, auto;
	box-sizing: border-box;
}

@media screen and (max-width: 860px) {
section.doctor article.prof h3 {
	background-size: auto, cover;
}
}

@media screen and (max-width: 434px) {
section.doctor article.prof h3 {
	background-position: 150px bottom, right 35px;
}
}

section.doctor article.doctor01 h3 {
	background-image: url(../images/icl/header_figure_doctor01.png), url(../images/icl/header_bg_doctor01.jpg);
}

section.doctor article.doctor02 h3 {
	background-image: url(../images/icl/header_figure_doctor02.png), url(../images/icl/header_bg_doctor02.jpg);
}

section.doctor article.prof h3 span:nth-child(1) {
	display: inline-block;
	padding: 5px 15px 5px 40px;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: bold;
	background-color: #3a4bac;
}

section.doctor article.prof h3 span:nth-child(2) {
	display: block;
	font-size: 0.9rem;
	line-height: 1.4;
}

section.doctor article.doctor01 h3 span:nth-child(2) {
	padding: 1rem 0 0.6rem 40px;
}

section.doctor article.doctor02 h3 span:nth-child(2) {
	padding: 1.6rem 0 1.2rem 40px;
}

section.doctor article.prof h3 span:nth-child(3) {
	display: block;
	padding: 0 0 0 40px;
	font-size: 2rem;
	font-weight: bold;
}

@media screen and (max-width: 860px) {
section.doctor article.prof h3 span:nth-child(1) {
	padding: 5px 15px 5px 20px;
}

section.doctor article.doctor01 h3 span:nth-child(2) {
	padding: 1rem 0 0.6rem 20px;
}

section.doctor article.doctor02 h3 span:nth-child(2) {
	padding: 1.6rem 0 1.2rem 20px;
}

section.doctor article.prof h3 span:nth-child(3) {
	padding: 0 0 0 20px;
}
}

section.doctor article.prof p {
	min-height: 180px;
	padding: 30px 30px;
	line-height: 1.5;
	background-color: #FFFFFF;
}

@media screen and (max-width: 860px) {
section.doctor article.prof p {
	min-height: 0;
	padding: 20px 20px;
}
}



/* merit */
section.merit {
	padding: 50px 0 0;
	text-align: center;
/*	background-color: #E3E3E3; */
	background-image: url(../images/icl/bg_merit.jpg);
	background-position: center 0;
	background-repeat: repeat;
}

section.merit article img.imgMerit {
	margin: -30px 0 0;
}

@media screen and (max-width: 768px) {
section.merit article img.imgMerit {
	margin: -10px 0 0;
}
}

/* about */
section.about {
	padding: 50px 0 50px;
	background-image: url(../images/icl/bg_about.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: cover;
}

section.about h2 {
	text-align: center;
}

section.about article p {
	float: right;
	width: calc(100% - 230px - 30px);
	margin: 20px 0 50px;
	font-size: 1rem;
	line-height: 1.8;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
section.about article img {
	display: block;
	margin: 0 auto;
}

section.about article p {
	float: none;
	width: auto;
}
}

section.about article a.bannerCartoon {
	display: block;
	margin: 0 auto;
	text-align: center;
}

/* feature */
section.feature {
	padding: 50px 0 50px;
	background-image: url(../images/icl/bg_feature.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

section.feature article {
	margin: 0 0 30px;
	padding: 20px 30px 30px;
	background-color: #EEEEEE;
}

section.feature article .content {
	float: left;
	width: calc(100% - 280px - 30px);
}

section.feature article h3 {
	display: flex;
	align-items: center;
	min-height: 70px;
	margin: 0 0 5px;
	padding: 0 0 0 50px;
	color: #3a4bac;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.1;
	background-position: 0 0;
	background-repeat: no-repeat;
}

section.feature article:nth-of-type(1) h3 {
	background-image: url(../images/icl/leader_feature01.png);
}

section.feature article:nth-of-type(2) h3 {
	background-image: url(../images/icl/leader_feature02.png);
}

section.feature article:nth-of-type(3) h3 {
	background-image: url(../images/icl/leader_feature03.png);
}

section.feature article p {
	font-size: 1rem;
	line-height: 1.8;
}

section.feature article img.imgFeature {
	float: right;
	width: 280px;
}

@media screen and (max-width: 768px) {
section.feature article .content {
	float: none;
	width: auto;
	margin: 0 0 10px;
}

section.feature article img.imgFeature {
	float: none;
	width: auto;
	display: block;
	margin: 0 auto;
}
}

#search_box {/*全体*/
	margin: 0 0;
	display: inline-block;
	position: relative;
	height: 46px;
	float: left;
	padding: 0;
	position: relative;
}

	#search_box input[type="text"] {
		height: 44px;
		font-size: 75%;
		display: inline-block;
		font-weight: 100;
		border: none;
		outline: none;
		color: #c0c0c0;
		padding: 0px 3px 0 3px;
		padding-right: 40px;
		width: 0px;
		position: absolute;
		top: 0;
		right: 0;
		background: none;
		z-index: 3;
		transition: width .4s cubic-bezier(0.000, 0.795, 0.000, 1.000);
		cursor: pointer;
		border: #a58e45 1px solid;
	}
	#search_box input[type="text"]:focus:hover {
		background: #011737;
	}
	#search_box input[type="text"]:focus {
		padding: 0 0 0 10px;
		width: 200px;
		z-index: 1;
		background: #011737;
		cursor: text;
	}
	#search_box input[type="submit"] {
		height: 44px;
		width: 44px;
		display: inline-block;
		color:red;
		float: right;
		background: url("../images/ico_search.png") center center no-repeat;
		text-indent: -10000px;
		border: none;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		cursor: pointer;
		opacity: 1;
		cursor: pointer;
		transition: opacity .4s ease;
	}
	#search_box input[type="submit"]:hover {
		opacity: 0.8;
	}


.pagetop {
	position: fixed;
	bottom: 50px;
	right: 50px;
}
.pagetop a img {
	width: 60px;
}
	@media screen and (max-width:768px) {
		.pagetop {
			position: fixed;
			bottom:120px;
			right: 20px;
			opacity: 0.8 ;
		}
	}
	@media screen and (max-width:480px) {
		.pagetop {
			bottom:90px;
			right: 0px;
		}
	}

/*** group ***/
section.group {
	padding: 30px 0 50px 0;
	text-align: center;
	border-top : 1px solid #0c2a56;
}
	@media screen and (max-width:768px) {
		section.group {
			width: 100%;
			padding: 30px 0 ;
			text-align: center;
			border-top : 1px solid #0c2a56;
		}
	}
section.group h3 {
	width: 960px;
	margin: 0 auto 30px auto;
	text-align: center;
}
	@media screen and (max-width:768px) {
		section.group h3 {
			width: 100%;
			margin: 0 auto 30px auto;
			text-align: center;
		}
		section.group h3 img {
			width: 70%;
		}
	}
section.group .group_wrap {
	display: flex;
	margin: 0 auto;
	width: 960px;
	text-align: left;
	justify-content: center;
}

	@media screen and (max-width:768px) {
		section.group .group_wrap {
			flex-direction: column;
			margin: 0 auto;
			padding: 0 0 20px 0;
			width: 100%;
			text-align: left;
		}
	}

section.group .group_wrap .nagoya {
	width: 50%;
	padding: 0 20px;
	/* border-left : 1px solid #eeeeee; */
}
	@media screen and (max-width:768px) {
		section.group .group_wrap .nagoya {
			margin: 0 auto 30px auto;
			padding: 0 0 20px 0;
			width: calc(100% - 40px);
			/* border-left : 0; */
			/* border-bottom : 1px solid #eeeeee; */
		}
	}
section.group .group_wrap .nagahama {
	width: 50%;
	padding: 0 20px;
	/* border-left : 1px solid #eeeeee;
	border-right : 1px solid #eeeeee; */
}
	@media screen and (max-width:768px) {
		section.group .group_wrap .nagahama {
			margin: 0 auto 0px auto;
			width: calc(100% - 40px);
			border-left : 0;
			border-right : 0;
		}
	}
	section.group .group_wrap p.nearest {
		margin: 0 0 10px 0;
		font-size: 90%;
		color: #4680b2;
	}
	section.group .group_wrap h4 {
		margin: 0 0 10px 0;
		font-size: 125%;
		font-weight: bold;
	}
	section.group .group_wrap ul {
		display: flex;
		margin: 0 0 10px 0;
	}
	/*
	section.group .group_wrap ul li {
		margin-right: 10px;
		padding: 5px;
		background: #6b86b5;
		color: #ffffff;
		font-size: 90%;
	}
	*/
	section.group .group_wrap address {
		font-style: normal;
		line-height: 1.5;
	}
	section.group .group_wrap iframe {
		margin: 10px 0;
		width: 100%;
		height: 150px;
	}
	section.group .group_wrap table {
		margin: 10px 0;
		width: 100%;
		border: 3px solid #b2b2b2;
	}
	section.group .group_wrap table tr th {
	padding: 10px;
	}
	section.group .group_wrap table tr th,
	section.group .group_wrap table tr td {
		width: 9%;
		border: 1px solid #b2b2b2;
		text-align: center;
		font-size: 90%;
		font-weight: bold;
	}
	section.group .group_wrap table tr td.tal {
		width: 32%;
		padding: 10px;
		border: 1px solid #b2b2b2;
		color: #333333;
	}
	section.group .group_wrap table tr td {color: #6b86b5;}
	section.group .group_wrap table tr td.close {color: #808080;}
	section.group .group_wrap table tr th.sat {color: #1b5380;}
	section.group .group_wrap table tr th.sun {color: #7c2d2d;}
	section.group .group_wrap p.closed {
		padding: 0 0 10px 0;
		font-size: 80%;
	}
	section.group .group_wrap p.attention {
		padding: 0 1em;
		text-indent: -1em;
		line-height: 1.4;
		font-size: 80%;
		color: #6b6b6b;
	}

	section.group .group_wrap p.attention1 {
		padding: 0 0 10px 0;
		color:#ff0000;
		font-weight:bold;
		font-size: 15px;
	}

	section.group .group_wrap p.attention2, p.attention3{
		padding: 0 0 10px 0;
		font-size: 80%;
		font-weight:bold;
		font-size: 15px;
	}
	@media screen and (max-width: 768px) {
		section.group .group_wrap p.attention1 {
			padding: 0 0 10px 0;
			color:#ff0000;
			font-weight:bold;
			font-size: 15px;
		}

		section.group .group_wrap p.attention2 {
			padding: 0 0 10px 0;
			font-weight:bold;
			font-size: 13px;
		}
		section.group .group_wrap p.attention3 {
			padding: 0 0 10px 0;
			font-weight:bold;
			font-size: 12px;
		}
		section.group .group_wrap img.line {
			width:50%;
			height:50%;
			align-self: center;
		}
	}
/*** footer ***/
footer{
	width: 100%;
	margin: 30px 0 0 0;
	background: #0c2a56;
	color: #ffffff;
}
	footer .sitemap_category_wrap {
		display: flex;
		width: 960px;
		margin: 0 auto;
		padding: 30px 0;
	}
	footer .sitemap_category_wrap a{
		color: #ffffff;
	}
	footer .footer_sitemap .sitemap_category {
		width: 25%;
	}
	footer .footer_sitemap .sitemap_category h3 {
		padding: 0 0 20px 0px;
	}
	footer .footer_sitemap .sitemap_category h3 a{
		font-weight: bold;
	}
	footer .footer_sitemap .sitemap_category h3 a::before{
		content: "";
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 8px 0 0;
		background-image: url("../images/ico_arrow02.png");
		background-size: contain;
		vertical-align: middle;
	}
	footer .footer_sitemap .sitemap_category h3 span.small {
				font-size: 75%;
	}
	footer .footer_sitemap ul {
		margin: 0 0 20px 0;
	}
	footer .footer_sitemap li {
		padding: 0 0 15px 14px;
		font-size: 90%;
	}
	@media screen and (max-width:768px) {
		footer{
			padding: 20px 0 0 0;
			background: #0c2a56;
			color: #ffffff;
		}
		footer .sitemap_category_wrap {
			width: 100%;
			margin: 0;
		}
		footer .footer_sitemap .sitemap_category {
			display: flex;
			flex-direction: column;
			width: 100%;

		}
		footer .footer_sitemap .sitemap_category h3 {
			position: relative;
			border-top: 1px solid #436580;
			padding: 0;
		}
		footer .footer_sitemap .sitemap_category h3:last-child {
			border-bottom: 1px solid #436580;
		}
		footer .footer_sitemap .sitemap_category h3 a{
			display: block;
			padding: 20px;
			width: 100%;
			height: 100%;
			width: calc(100% - 40px);
		}
	}
	footer .footer_copyright {
		margin: 0 auto;
		padding: 20px 0 ;
		width: 960px;
		text-align: center;
		border-top: #436580 1px solid;
		font-size: 75%;
	}
		footer .footernavi {
			display: none;
		}

@media screen and (max-width:768px) {
		footer .footer_copyright {
			margin: 0 auto;
			padding: 20px 0 150px 0;
			width: 100%;
			text-align: center;
			border-top: none;
			font-size: 75%;
		}
		footer .footernavi {
			display: inline;
		}
		footer .footernavi ul.naviOuter{
			position: fixed;
			z-index: 10;
			top: auto;
			bottom: 0;
			right: auto;
			width: 100%;
			text-align: center;
		}

		footer .footernavi ul.naviOuter li {
			float: left;
			width: 33%;
			height: 110px;
			margin: 0;
			color: #ffffff;
			border-right: 1px solid #eeeeee;
		}
		footer .footernavi ul.naviOuter li:last-child{
			border-right: 0;
			width: calc(34% - 2px);
		}
		footer .footernavi ul.naviOuter li a {
			display: block;
			height: 110px;
			padding: 85px 0 0 0;
			border-top: #a58e45 3px solid;
			background: #ffffff;
			background-position:center 10%;
			background-repeat:no-repeat;
			background-size: 25%;
			font-size: 80%;
		}

		footer .footernavi ul.naviOuter li.inquiry a {
			background-image: url(../images/img_footerbtn01sp.png);
		}

		footer .footernavi ul.naviOuter li.reserve a {
			background-image: url(../images/img_footerbtn02sp.png);
		}

		footer .footernavi ul.naviOuter li.access a {
			background-image: url(../images/img_footerbtn03sp.png);
		}
	}


	@media screen and (max-width:480px) {
		footer .footer_copyright {
			margin: 0 auto;
			padding: 20px 0 150px 0;
			width: 100%;
			text-align: center;
			border-top: none;
			font-size: 75%;
		}
		footer .footernavi {
			display: inline;
		}
		footer .footernavi ul.naviOuter{
			position: fixed;
			z-index: 20;
			top: auto;
			bottom: 0;
			right: auto;
			width: 100%;
			text-align: center;
		}

		footer .footernavi ul.naviOuter li {
			float: left;
			width: 33%;
			height: 80px;
			margin: 0;
			color: #ffffff;
			border-right: 1px solid #eeeeee;
		}
		footer .footernavi ul.naviOuter li:last-child{
			border-right: 0;
			width: calc(34% - 2px);
		}
		footer .footernavi ul.naviOuter li a {
			display: block;
			height: 80px;
			width: 100%;
			padding: 53px 0 0 0;
			border-top: #a58e45 3px solid;
			background: #ffffff;
			background-position:center 10px ;
			background-repeat:no-repeat;
			background-size: 25%;
			font-size: 80%;
		}
	}

/* 2019.12.20 */
@media screen and (max-width:420px) {
    .youtube {
        width: 98%;
    }
}
/*** contents ***/
div.contents {
	padding: 30px 0 0 0;
}

.contents_wrap article.base{
	padding: 40px;
	margin: 0 auto;
}
.contents_wrap article.supplement{
	padding: 40px;
	margin: 0 auto;
	background: #f2eee9;
}

@media screen and (max-width:768px) {
	.contents_wrap article.base{
	padding: 20px;
	margin: 0 auto;
	}
	.contents_wrap article.supplement{
		padding: 20px;
		margin: 0 auto;
		background: #f2eee9;
	}
}
div.contents .title {
	margin: 0 auto 50px auto;
	padding: 0 0 30px 0;
	width: 960px;
	background: url("../images/bg_line01.png") no-repeat bottom center;
}

div.contents .title .cat{
	margin: 0;
	font-size: 100%;
	text-align: center;
	line-height: 2;
}

	@media screen and (max-width:768px) {
		div.contents .title {
			margin: 0 auto 50px auto;
			padding: 0 0 30px 0;
			width: 100%;
			background: url("../images/bg_line01.png") no-repeat bottom center;
		}
		div.contents .title .cat{
			text-align: left;
		}
	}

div.contents .inner {
	width: 800px;
	margin: 60px auto;
	box-sizing: border-box;
	border-bottom: 1px #eeeeee solid;
}
	div.contents .w960 {
		width: 960px;
	}
	@media screen and (max-width:768px) {
		div.contents .inner {
			width: 100%;
		}
			div.contents .w960 {
				width: 99%;
			}
	}
	div.contents .inner:first-child {
		margin: 0px auto;
	}
	div.contents .inner:last-child {
		border-bottom: 0;
	}

.contents_wrap .contents_category{
	margin: 20px 0;
	border: 1px solid #eeeeee;
}

.contents_wrap .contents_category ul{
	display: flex;
	margin: 0 auto;
	width: 960px;
}
.contents_wrap .contents_category li{
	width: 50%;
	padding: 15px;
	border-left: 1px solid #eeeeee;
	text-align: center;
}

	@media screen and (max-width:768px) {
		.contents_wrap .contents_category ul{
			width: 100%;
		}
		.contents_wrap .contents_category li{
			width: 100%;
		}
	}

.contents_wrap .contents_category li:last-child{
	border-right: 1px solid #eeeeee;
}

.contents_wrap .category_list {
	display: flex;
	flex-wrap: wrap;
}

.contents_wrap .category_list li {
	padding: 0 40px 40px 0;
	width: calc(50% - 20px);
}

@media screen and (max-width:768px) {
.contents_wrap .category_list li {
	padding: 0 0 40px 0;
	width: 100%;
}
}

.contents_wrap .category_list li:nth-child(even){
	padding: 0 0 40px 0;
}
.contents_wrap .inner .category_list li img {
	margin: 0 0 20px 0;
	width: 100%;
}
.contents_wrap .inner .category_list li p{
	margin: 0 0 10px 0;
}

.contents_wrap .inner .category_list p.cat {
	font-size: 90%;
	color: #4680b2;
}
.contents_wrap .inner .category_list table {
	margin: 0 0 20px 0;
	width: 70%;
}
.contents_wrap .inner .category_list table th {
	width: 30%;
}
.contents_wrap .inner .category_list table td {
	/* width: 70%; */
	width: 60%;
	text-align: left;
}


div.contents h1 {
	padding: 0 0 40px 0;
	text-align: center;
	font-size: 230%;
	font-weight: bold;
	color: #0c2a56;
	line-height: 1.5;
}
div.contents h2 {
	padding: 0 0 40px 0;
	text-align: center;
	font-size: 180%;
	font-weight: bold;
	color: #333333;
	line-height: 1.5;
}
div.contents h3 {
	padding: 0 0 20px 0;
	text-align: left;
	font-size: 150%;
	font-weight: bold;
	color: #0c2a56;
	line-height: 1.5;
}
div.contents h4 {
	margin: 0 0 30px 0;
	padding: 0 0 0 0;
	text-align: left;
	font-size: 120%;
	font-weight: bold;
	color: #333333;
	border-bottom: #a58e45 2px solid;
	line-height: 1.5;
}
div.contents h5 {
	padding: 0 0 20px 0;
	text-align: left;
	font-size: 120%;
	font-weight: bold;
	color: #333333;
	line-height: 1.5;
}

div.contents .liner p {
	/* padding: 25px 20px; */
	width: 100%;
	padding: 25px 0;
	text-align: center;
	background: linear-gradient(to right, #a4a5d1 0%,#3a45ac 100%);
}

div.contents .inner p {
	margin: 0 0 40px 0;
	line-height: 1.5;
}

div.contents .inner p.mb00 {
	margin: 0;
	padding: 0;
}

div.contents .inner p.mb01 {
	margin: 0;
	padding:20px 0px 0px 200px;
}

div.contents .inner img {
	margin: 0 0 40px 0;
}

div.contents .inner a {
	/*color: #a58e45;*/
	color: #191970; /* 2019.12.20 */
	text-align: center;
	text-decoration: underline;
}
div.contents .inner a.button {
    padding: 13px 50px 13px 30px;
    border: 2px solid #a58e45;
    color: #a58e45;
    background: url(../images/ico_arrow01.png) no-repeat 120px center;
}



/* 2019.12.20 */
div.contents .inner a.button:hover {
    padding: 13px 50px 13px 30px;
	/* display: inline-block; */
	/* color: #ff0000; 2019.12.20 */
	color: #ffffff; /* 2019.12.20 */
	background-color: #a58e45;
	text-decoration: none;
}

div.contents .inner a.arrow {
	padding: 0 10px;
	color: #a58e45;
	text-align: center;
	text-decoration: underline;
}
	div.contents .inner a.arrow::before {
		content: "";
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 8px 0 0;
		background-image: url("../images/ico_arrow01.png");
		background-size: contain;
		vertical-align: middle;
	}

div.contents .inner .layout_text{
	width: 400px;
	float: left;
}

div.contents .w960 .layout_text{
	width: 580px;
	float: left;
}

div.contents .w960 .img_layout {
	margin: 40px 0 0 0;
	border-bottom: 1px solid #eeeeee;
}

div.contents .inner .img_layout img{
	float: right;
}

@media screen and (max-width:768px) {
	div.contents .inner .layout_text{
		width: 100%;
		float: left;
	}
	div.contents .inner .img_layout{
		margin: 0 0 40px 0;
		text-align: center;
	}
	div.contents .inner .layout_text{
		float: none;
		text-align: left;
	}
	div.contents .inner .img_layout img{
		margin: 20px auto 40px auto;
		width: 80%;
		float: none;
		text-align: center;
	}
	div.contents .inner p.mb01 {
		margin: 0;
		padding:0;
	}

	div.contents .inner p {
		font-size: smaller;
	}
}


div.contents p.btn {
	margin: 0;
	text-align: left;
}
	div.contents p.btn a {
		display: block;
		width: 30%;
		margin: 0;
		padding: 13px 37px 13px 50px;
		border: 2px solid #a58e45;
		color: #a58e45;
		text-decoration: none;
	}
	div.contents p.btn a::before {
		content: "";
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 8px 0 0;
		background-image: url("../images/ico_arrow01.png");
		background-size: contain;
		vertical-align: middle;
		font-weight:bold;
	}

	@media screen and (max-width:768px) {
		div.contents p.btn a {
			display: block;
			width: calc(100% - 89px);
			margin: 20px 0;
			padding: 13px 37px 13px 50px;
			border: 2px solid #a58e45;
			color: #a58e45;
			text-align: center;
			text-decoration: none;
		}
		div.contents p.btn a::before {
			content: "";
			display: inline-block;
			width: 5px;
			height: 8px;
			margin: 0 8px 0 0;
			background-image: url("../images/ico_arrow01.png");
			background-size: contain;
			vertical-align: middle;
		}
	}


div.contents ul {
	margin: 0 0 20px 0;
}
div.contents ul.text-list li {
	padding: 0 0 10px 15px;
	line-height: 1.5;
	background: url("../images/ico_list01.png") no-repeat 0px 7px;
}
div.contents ul.link-list li {
	padding: 0 0 10px 15px;
	line-height: 1.5;
	background: url("../images/ico_arrow01.png") no-repeat 0px 7px;
}

/*ここのborderをコメントアウトする*/
div.contents table {
	margin: 10px 0;
	width: 100%;
	border: 3px solid #b2b2b2;

}

div.contents table tr th {
	font-weight: bold;
	padding: 10px;
}
div.contents table tr th,
div.contents table tr td {
	width: 9%;
	padding: 10px;
	border: 1px solid #b2b2b2;
	text-align: center;
	font-size: 90%;
}
div.contents table tr td.close {color: #808080;}
div.contents table tr th.sat {color: #1b5380;}
div.contents table tr th.sun {color: #7c2d2d;}
section.group .group_wrap p.closed {
	padding: 0 0 10px 0;
	font-size: 80%;

}

div.contents .reserve_link {
	display: flex;
	justify-content: center;
}
	div.contents .reserve_link ul {
		width: 50%;
	}
	div.contents .reserve_link li {
		width: 100%;
		float: left;
		/*float: left;*/
	}

	div.contents .reserve_link li a {
		display: block;
		margin: 40px 40px;
		padding: 13px 38px 13px 50px;
		color: #ffffff;
		background: #a58e45;
		text-align: center;
		text-decoration: none;
		width:-webkit-fill-available;

	}
	div.contents .reserve_link li a::before {
		content: "";
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 8px 0 0;
		background-image: url("../images/ico_arrow02.png");
		background-size: contain;
		vertical-align: middle;
	}

	@media screen and (max-width:768px) {
div.contents .reserve_link {
	display: flex;
}
	div.contents .reserve_link ul {
		width: 100%;
	}
	div.contents .reserve_link li {
		width: 50%;
		float: left;
		/*float: left;*/
	}


		div.contents .reserve_link li a {
		margin: 0;
		display: block;
		color: #ffffff;
		background: #a58e45;
		text-align: center;
		}
		div.contents .reserve_link li {
			margin: 20px 0 20px 0;
			width: 100%;
			float: none;
		}
	}

/*予約一つ用*/
div.contents .reserve_link1 {
	display: flex;
}
	div.contents .reserve_link1 ul {
		width: 100%;
	}
	div.contents .reserve_link1 li {
		width: 50%;
		float: center;
		/*float: left;*/
	}

	div.contents .reserve_link1 li a {
		display: block;
		margin: 40px 40px;
		padding: 13px 38px 13px 50px;
		color: #ffffff;
		background: #a58e45;
		text-align: center;
		text-decoration: none;
		width:-webkit-fill-available;
}
	div.contents .reserve_link1 li a::before {
		content: "";
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 8px 0 0;
		background-image: url("../images/ico_arrow02.png");
		background-size: contain;
		vertical-align: middle;
	}

	@media screen and (max-width:768px) {
		div.contents .reserve_link1 li a {
		margin: 0;
		display: block;
		color: #ffffff;
		background: #a58e45;
		text-align: center;
		}
		div.contents .reserve_link1 li {
			margin: 20px 0 20px 0;
			width: 100%;
			float: none;
		}
	}

div.contents .pagenation {
	margin: 40px auto 40px auto;
	display: block;
	text-align: center;
	width: 60%;
	border: 2px solid #a58e45;
}

div.contents .pagenation {
	margin: 40px auto 40px auto;
	display: block;
	text-align: center;
	width: 60%;
	border: 2px solid #a58e45;
}

	@media screen and (max-width:768px) {
		div.contents .pagenation {
			width: 100%;
		}
	}

	div.contents .pagenation a {
		padding: 15px 0;
		color: #000;
		text-decoration: none;

	}
		div.contents .pagenation a img {
			margin: 0 0 3px 0;
		}
	div.contents .pagenation .pagenation_inner {
		margin: 0;
		position: relative;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
}
	div.contents .pagenation .page_num {
		display: block;
		padding: 15px 0;
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 2;
		-webkit-order: 2;
		order: 2;
		width: 12%;
		font-weight: bold;
		font-size: 100%;
		border-right: 2px solid #a58e45;
		color: #a58e45;
	}
	div.contents .pagenation .page-of {
		display: none;
	}
	@media screen and (max-width:768px) {
		div.contents .pagenation a {
			padding: 20px 0;
		}
		div.contents .pagenation .page_num {
		display: none;
		}
		div.contents .pagenation .page-of {
			display: block;
			padding: 22px 0;
			-webkit-box-ordinal-group: 2;
			-ms-flex-order: 2;
			-webkit-order: 2;
			order: 2;
			left: 37%;
			width: 26%;
			font-weight: bold;
			font-size: 80%;
			color: #ffffff;
			background: #a58e45;
		}
		div.contents .pagenation .pn-prev {
			border: 0;
		}
	}
	div.contents .pagenation .m-prev {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: 0;
		-webkit-order: 0;
		order: 0;
		width: 15%;
		left: 0%;
		border-right: 2px solid #a58e45;
	}
	div.contents .pagenation .pn-prev {
		-webkit-box-ordinal-group: 1;
		-ms-flex-order: 1;
		-webkit-order: 1;
		order: 1;
		width: 22%;
		left: 15%;
		color: #a58e45;
		border-right: 2px solid #a58e45;
	}
	div.contents .pagenation .pn-prev::before {
		content: "";
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 8px 0 0;
		background-image: url("../images/ico_arrow03.png");
		background-size: contain;
		vertical-align: middle;
	}

	div.contents .pagenation .pn-next {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 3;
		-webkit-order: 3;
		order: 3;
		width: 22%;
		left: 63%;
		color: #a58e45;
		border-right: 2px solid #a58e45;
	}

	div.contents .pagenation .pn-next::after {
		content: "";
		display: inline-block;
		width: 5px;
		height: 8px;
		margin: 0 0 0 8px;
		background-image: url("../images/ico_arrow01.png");
		background-size: contain;
		vertical-align: middle;
	}

	div.contents .pagenation .m-next {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 4;
		-webkit-order: 4;
		order: 4;
		width: 15%;
		left: 85%;
	}
	/* 2019.12.24 画像を中央にする
	   HTMLには以下を記載する。
	   <p class="tac">イメージ</p>
	*/
	div.contents .inner p strong {
		font-weight: bold;
	}
	div.contents .inner p.tac {
		text-align: center;
	}

@media screen and (min-width:768px) {
.hide {	display: none!important;}
}

/* アンカーリンクのずれ解消 */
#access {
	margin-top:-200px;
	padding-top:200px;
}

#nagahama1 {
	margin-top:0px;
	padding-top:0px;
}

/* br.sp_brはタブレット以上のサイズでは非表示にする */
@media screen and (min-width: 768px) {
	.sp_br{
	  margin-right: -.333em;
	  display: none;
	}
  }
