@charset "utf-8";
/* =======================================

	CommonElements

======================================= */
body {
	font-size: 16px;
	color: #000;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	line-height: 1.6;
	display: flex;
	align-items: center;
	min-width: 980px;
	min-height: 100vh;
	flex-direction: column;
	position: relative;
}
@media all and (-ms-high-contrast: none) {
	body {
		letter-spacing: 0.1em;
		font-feature-settings: normal;
	}
}

a:link { text-decoration:none; color: #017b37;}
a:visited { text-decoration:none; color: #017b37;}
a:active { text-decoration:none; color: #017b37;}
@media only screen and (min-width: 769px){
	a {
		transition: color 0.2s ease-out,
					opacity 0.2s ease-out,
					background-color 0.2s ease-out,
					border-color 0.2s ease-out;
	}
	a:hover { text-decoration:none; color: #017b37;}
}

img {
	max-width: 100%;
	height: auto;
}

video {
	width: 500px;
	max-width: 100%;
	height: auto;
}

.left { float: left; }
.right { float: right; }

.sp { display: none; }

@media only screen and (max-width: 768px) {
	body {
		font-size: 12px;
		min-width: 320px;
	}
	.sp { display: block; }
	.pc { display: none; }
}

.cont_base_wrap {
	width: 1180px;
	margin: 0 auto;
}
.cont_base_wrap.short {
	width: 980px;
}

/* スクロールバーの分のバッファで1200 */
@media only screen and (max-width: 1200px) {
	.cont_base_wrap {
		width: 100%;
		padding: 0 30px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 980px) {
	.cont_base_wrap {
		width: 980px;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 768px) {
	.cont_base_wrap,
	.cont_base_wrap.short {
		width: 88%;
		margin: 0 6%;
		padding: 0 0;
	}
}

.serif {
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

/*	site search
------------------------------------ */
.search {
	width: 260px;
	max-width: 260px;
}
.search form {
	position: relative;
	padding: 0 42px 0 0;
	height: 42px;
}
.search input,
.search input:focus {
	-webkit-appearance: none;
	appearance: none;
	max-width: 100%;
	height: 42px;
	padding: 0 1em;
	border-radius: 0;
	border: none;
	font-size: 14px;
	background: none;
}
.search input::-webkit-input-placeholder {color: #848484;}
.search input:-ms-input-placeholder {color: #848484;}
.search input::-moz-placeholder {color: #848484; opacity: 1;}
.search input::-placeholder {color: #848484;}

.search button {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 42px;
	height: 42px;
	vertical-align: middle;
	line-height: 0;
	color: rgba(255,255,255,0);
	overflow: hidden;
}
.search button:before {
	display: flex;
	font-family: 'sannoclc';
	content: '\e919';
	font-size: 18px;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #222;
}

@media only screen and (max-width: 768px) {
	.search input,
	.search input:focus {
		font-size: 16px;
	}
}


/* slick Slider css */
.slick-slider {
	position: relative;

	display: block;
	box-sizing: border-box;

	-webkit-user-select: none;
	   -moz-user-select: none;
		-ms-user-select: none;
			user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
		touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;

	display: block;
	overflow: hidden;

	margin: 0;
	padding: 0;
}
.slick-list:focus {
	outline: none;
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
		-ms-transform: translate3d(0, 0, 0);
		 -o-transform: translate3d(0, 0, 0);
			transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;

	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track:before,
.slick-track:after {
	display: table;

	content: '';
}
.slick-track:after {
	clear: both;
}
.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;

	height: 100%;
	min-height: 1px;
}
[dir='rtl'] .slick-slide {
	float: right;
}
.slick-slide img {
	display: block;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;

	height: auto;

	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}
/* Dots */
.slick-dotted.slick-slider
{
	margin-bottom: 30px;
}

.slick-dots
{
	position: absolute;
	bottom: -25px;

	display: block;

	width: 100%;
	padding: 0;
	margin: 0;

	list-style: none;

	text-align: center;
}
.slick-dots li
{
	position: relative;

	display: inline-block;

	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;

	cursor: pointer;
}
.slick-dots li button
{
	font-size: 0;
	line-height: 0;

	display: block;

	width: 20px;
	height: 20px;
	padding: 5px;

	cursor: pointer;

	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
	outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
	opacity: 1;
}
.slick-dots li button:before
{
	font-family: 'slick';
	font-size: 6px;
	line-height: 20px;

	position: absolute;
	top: 0;
	left: 0;

	width: 20px;
	height: 20px;

	content: '•';
	text-align: center;

	opacity: .25;
	color: black;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
	color: black;
}
.slider {
	display: none;
}
.slider.slick-initialized {
	display: block;
}



/* ------------------------------------
	HEADER
------------------------------------ */
body > header {
	width: 100%;
	/*height: 150px;*/
	background: #fff;
	position: relative;
	display: table;
	table-layout: fixed;
}

body > header a:link,body > header a:visited,body > header a:active,body > header a:hover {
	color: #000;
	text-decoration: none;
}

body > header h1 {
	width: 24%;
	height: 150px;
	padding-left: 3%;
	margin-bottom: 0;
	display: table-cell;
	vertical-align: middle;
	line-height: 1;
}
body > header h1 img {
	max-width: 100%;
}

body > header nav {
	position: absolute;
	right: 20px;
}
body > header nav ul li {
	display: inline-block;
	vertical-align: middle;
}

#global_nav {
	bottom: 35px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	line-height: 1.2;
}
#global_nav > ul > li {
	position: relative;
}
#global_nav > ul > li.current:after {
	font-family: 'sannoclc'!important;
	content: '\e905';
	color: #017b37;
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin-left: -9px;
	opacity: 1;
}
#global_nav > ul > li a {
	display: block;
	padding: 0 1.6em;
	border-right: 1px dotted #000;
	font-size: 1.125em;
	letter-spacing: 0.1em;
}
#global_nav > ul > li:first-child a {
	border-left: 1px dotted #000;
}
#global_nav > ul > li ul {
	display: none;
}

body > header .sub_nav {
	top: 20px;
}
body > header .sub_nav ul li {
	padding: 0 0 0 1.5em;
}
body > header .sub_nav ul li:first-child {
	padding: 0;
}
body > header .sub_nav ul li:before {
	color: #8b744d;
	font-family: 'sannoclc'!important;
	font-size: 0.85em;
	margin-right: 0.2em;
}
body > header .sub_nav ul li.department::before { content: '\e90d'; }
body > header .sub_nav ul li.access::before { content: '\e916'; }
body > header .sub_nav ul li.faq::before { content: '\e917'; }
body > header .sub_nav ul li.contact::before { content: '\e915'; }
body > header .sub_nav ul li.english::before,
body > header .sub_nav ul li.japanese::before,
body > header .sub_nav ul li.mc::before { content: '\e90e'; }


/*	site search (header)
------------------------------------ */
body > header .sub_nav .search {
	width: 230px;
}
body > header .search input {
	border: 1px solid #e2e2e2!important;
	border-right: none;
	background: #f4f4f4;
}
body > header .search button {
	background: #017b37;
}
body > header .search button:before {
	color: #fff;
}

/*	header responsive
------------------------------------ */
@media only screen and (max-width: 1360px) {
	#global_nav > ul > li a {
		padding: 0 0.8em;
	}
	body > header .sub_nav ul li {
		padding: 0 0 0 1em;
		font-size: 0.9em;
	}
}
@media only screen and (max-width: 1210px) {
	#global_nav,
	body > header .sub_nav {
		font-size: 0.9em;
	}
	body > header {
		/*height: 120px;*/
	}
	body > header h1 {
		height: 120px;
	}
	#global_nav {
		bottom: 25px;
	}
	body > header .sub_nav {
		top: 15px;
	}
}
@media only screen and (max-width: 1130px) {
	body > header h1 {
		margin-left: 2%;
	}
	#global_nav,
	body > header .sub_nav {
		font-size: 0.8em;
	}
	body > header .sub_nav .search {
		max-width: 170px;
	}
}
@media only screen and (max-width: 768px) {
	body > header {
		height: 60px;
		padding: 0 5%;
	}
	body > header h1 {
		display: block;
		max-width: 100%;
		width: 132px;
		height: 60px;
		margin-left: 0;
		padding: 15px 0 0;
		line-height: 1;
	}
	body > header .sub_nav ul li {
		display: none;
	}
}

/*	:hover
------------------------------------ */
#global_nav > ul > li a:after {
	content: "";
	width: 0;
	height: 2px;
	display: block;
	background: #017b37;
	position: absolute;
	bottom: -35px;
	left: 50%;
	transition: all 0.2s ease-out;
}
body.pc_view #global_nav > ul > li a:hover {
	color: #017b37;
}
body.pc_view #global_nav > ul > li a:hover:after {
	width: 100%;
	left: 0;
}
body.pc_view > header .sub_nav ul li a:hover {
	color: #8b744d;
}
body.pc_view #global_nav > ul > li.current a:hover:after {
	width: 0;
}

@media only screen and (max-width: 1210px) {
	#global_nav > ul > li a:after {
		bottom: -25px;
	}
}

/* =====================================
	RWD MENU
===================================== */
@media only screen and (max-width: 768px) {
	#global_nav { display: none; }

	/*	global menu
	------------------------------------ */
	#rwd_menu_wrap {
		width: 100%;
		min-width: 320px;
		position: absolute;
		top: 60px;
		left: 0;
	}
	#rwd_menu_wrap #switch_btn_area {
		width: 100%;
		height: 0;
		overflow: visible;
		position: relative;
		top: 0;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn {
		position: absolute;
		height: 60px;
		top: -60px;
		right: 5%;
		z-index: 1001;
		padding: 45px 0 0;
		text-decoration: none;
		font-weight: bold;
		font-size: 0.66em;
		text-align: center;
		line-height: 0;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn:before,
	#rwd_menu_wrap #switch_btn_area #switch_btn:after {
		display: block;
		transition: all 0.2s linear;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn:before {
		content: 'MENU';
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn.btn_close:before {
		opacity: 0;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn:after {
		content: 'CLOSE';
		opacity: 0;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn.btn_close:after {
		opacity: 1;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn span {
		width: 26px;
		height: 2px;
		background-color: #000;
		transition: all 0.2s linear;
		position: absolute;
		left: 50%;
		margin-left: -13px;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn,
	#rwd_menu_wrap #switch_btn_area #switch_btn span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn span:nth-of-type(1) {
		top:15px;
		transform: rotate(0);
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn span:nth-of-type(2) {
		top:23px;
		transform: scale(1);
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn span:nth-of-type(3) {
		top: 31px;
		transform: rotate(0);
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn.btn_close span:nth-of-type(1) {
		top: 12px !important;
		transform: translateY(15px) rotate(-45deg);
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn.btn_close span:nth-of-type(2) {
		top:27px;
		transform: translateY(0) rotate(45deg);
	}
	#rwd_menu_wrap #switch_btn_area #switch_btn.btn_close span:nth-of-type(3) {
		opacity: 0;
	}
	#rwd_menu_wrap .menu {
		width: 100%;
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 999;
		background: #fff;
	}
	#rwd_menu_wrap .menu > ul {
		position: relative;
		border-bottom: 1px solid #e2e2e2;
	}
	#rwd_menu_wrap .menu > ul > li {
		position: relative;
		border-top: 1px solid #e2e2e2;
	}
	#rwd_menu_wrap .menu > ul > li > a,
	#rwd_menu_wrap .menu > ul > li > div {
		display: inline-block;
		font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
		font-size: 1.58em;
		padding: 0.5em 4%;
		margin: 0;
	}
	#rwd_menu_wrap .menu > ul > li > a:before,
	#rwd_menu_wrap .menu > ul > li > div:before {
		font-family: 'sannoclc';
		content: '\e907';
		color: #017b37;
	}
	#rwd_menu_wrap .menu > ul > li > a:after,
	#rwd_menu_wrap .menu > ul > li > div:after {
		bottom: auto;
		top: 0;
	}
	#rwd_menu_wrap .menu > ul > li.plus .switch {
		position: absolute;
		display: block;
		font-size: 1.58em;
		width: 2em;
		height: 2.6em;
		line-height: 2.6;
		display: inline-block;
		top: 0;
		right: 4%;
		z-index: 5;
		text-align: right;
		cursor: pointer;
	}
	#rwd_menu_wrap .menu > ul >  .plus .switch:before {
		font-family: 'sannoclc';
		content: '\e91c';
		opacity: 0.4;
	}
	#rwd_menu_wrap .menu > ul >  .plus.open .switch:before {
		content: '\e91b';
	}
	#rwd_menu_wrap .menu > ul > li ul {
		display: none;
		padding: 0 4% 0.5em;
	}
	#rwd_menu_wrap .menu > ul > li ul li {
		display: inline-block;
		font-size: 1.17em;
		padding: 0 0 0.5em 0.4em;
		width: 48%;
		vertical-align: top;
	}
	#rwd_menu_wrap .menu > ul > li ul li a:before {
		content: '\30fb';
		display: inline-block;
		width: 0.8em;
		text-align: center;
	}
	#rwd_menu_wrap .menu > ul > li ul li a[target="_blank"]:after {
		font-family: 'sannoclc';
		display: inline-block;
		content: '\e90e';
		text-indent: 0;
		margin-left: 0.2em;
	}

	/*	search
	------------------------------------ */
	#rwd_search {
		position: absolute;
		top: 60px;
		left: 0;
		width: 100%;
		z-index: 1000;
	}
	#search_btn {
		position: absolute;
		top: -60px;
		right: calc(7% + 40px);
		color: #017b37;
		width: 40px;
		height: 60px;
		font-size: 0.67em;
		padding: 45px 0 0;
		line-height: 0;
		text-align: center;
		cursor: pointer;
	}
	#search_btn:before {
		position: absolute;
		font-family: 'sannoclc';
		content: '\e919';
		font-size: 20px;
		display: block;
		top: 15px;
		left: 50%;
		line-height: 1;
		margin-left: -0.5em;
	}
	#rwd_search .search {
		position: absolute;
		top: 0;
		right: 0;
		padding: 1em;
		background: #fff;
		display: none;
		width: 100%;
		max-width: 100%;
	}
	#rwd_search .search input[type=text] {
		width: 100%;
	}
}
@media only screen and (max-width: 480px) {
	#rwd_menu_wrap .menu > ul li ul li {
		width: 100%;
	}
}


/* ------------------------------------
	WRAPPER
------------------------------------ */
#wrapper {
	width: 100%;
}

/* ------------------------------------
	FOOTER
------------------------------------ */
body > footer {
	width: 100%;
}
footer .ft_body {
	width: 100%;
	background: #017b37;
	color: #fff;
}
footer .ft_body > .cont_base_wrap:first-child {
	padding-top: 80px;
}
footer .ft_body a:link,footer .ft_body a:visited,footer .ft_body a:active,footer .ft_body a:hover {
	color: #fff;
	text-decoration: none;
}

@media only screen and (max-width: 768px) {
	footer .ft_body > .cont_base_wrap:first-child {
		padding: 40px 0 0;
	}
	footer .ft_body .cf {
		text-align: center;
	}
}

/*	site search (footer)
------------------------------------ */
footer .ft_body .search {
	float: right;
	height: 60px;
	padding: 18px 0 0;
}
footer .ft_body .search form {
	background: rgba(255,255,255,0.2);
	color: #fff;
}
footer .ft_body .search input,
footer .ft_body .search input:focus {
	color: #fff;
}
footer .ft_body .search input::-webkit-input-placeholder {color: #f1f1f1;}
footer .ft_body .search input:-ms-input-placeholder {color: #f1f1f1;}
footer .ft_body .search input::-moz-placeholder {color: #f1f1f1;}
footer .ft_body .search input::-placeholder {color: #f1f1f1;}

footer .ft_body .search button {
	background: rgba(255,255,255,0.8);
}
footer .ft_body .search button:before {
	color: #017b37;
}

@media only screen and (max-width: 768px) {
	footer .ft_body .search {
		float: none;
		margin: 0 auto;
	}
}

/*	footer_nav
------------------------------------ */
#footer_nav {
	display: flex;
	justify-content: space-between;
	padding: 80px 0;
}
#footer_nav > ul {
	flex-basis: 23.7%;
}
#footer_nav > ul > li:nth-child(n + 2) {
	padding: 2.5em 0 0;
}
#footer_nav > ul > li > div {
	position: relative;
	font-size: 1.125em;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	padding: 0 0 0.5em;
	margin: 0 0 0.5em;
}
#footer_nav > ul > li > div:after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	border-top: 1px solid rgba(0,0,0,0.2);
	border-bottom: 1px solid rgba(255,255,255,0.1);
	position: absolute;
	bottom: 0;
	left: 0;
}
#footer_nav > ul > li > div > * {
	display: inline-block;
	padding-left: 1em;
	text-indent: -1em;
}
#footer_nav > ul > li > div > *:before {
	font-family: 'sannoclc';
	content: '\e907';
}
#footer_nav > ul > li > div > .switch:before {
	content: '';
}
#footer_nav > ul > li.link_list > div > *:before {
	content: '';
}
#footer_nav > ul > li ul li {
	line-height: 2em;
	padding: 0 0 0 0.4em;
}
#footer_nav > ul > li ul li a {
	display: inline-block;
	padding-left: 1.8em;
	text-indent: -0.8em;
}
#footer_nav > ul > li ul li a:before {
	content: '\30fb';
	display: inline-block;
	width: 0.8em;
	text-align: center;
}
#footer_nav > ul > li ul li a[target="_blank"]:after {
	font-family: 'sannoclc';
	display: inline-block;
	content: '\e90e';
	text-indent: 0;
	margin-left: 0.2em;
}

@media only screen and (max-width: 768px) {
	#footer_nav {
		display: block;
		padding: 40px 0 0;
		margin: 0 0 15px;
		position: relative;
	}
	#footer_nav:after {
		content: '';
		display: block;
		width: 100%;
		height: 2px;
		border-top: 1px solid rgba(0,0,0,0.2);
		border-bottom: 1px solid rgba(255,255,255,0.1);
		position: absolute;
		bottom: 0;
		left: 0;
	}
	#footer_nav > ul > li:nth-child(n + 2) {
		padding: 0;
	}
	#footer_nav > ul > li > div {
		font-size: 1.58em;
		padding: 0.9em 0 0.7em;
		margin: 0;
	}
	#footer_nav > ul > li > div:after {
		bottom: auto;
		top: 0;
	}
	#footer_nav .plus div .switch {
		display: inline-block;
		text-align: right;
		cursor: pointer;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		position: absolute;
		top: 50%;
		right: 0;
	}
	#footer_nav .plus div .switch:before {
		font-family: 'sannoclc';
		content: '\e91c';
		opacity: 0.4;
	}
	#footer_nav .plus.open div .switch:before {
		content: '\e91b';
	}
	#footer_nav > ul > li ul {
		display: none;
		padding: 0 0 0.5em;
	}
	#footer_nav > ul > li ul li {
		display: inline-block;
		font-size: 1.17em;
		padding: 0 0 0.5em 0.4em;
		width: 48%;
		vertical-align: top;
	}
}
@media only screen and (max-width: 480px) {
	#footer_nav > ul > li ul li {
		width: 100%;
	}
}

/*	footner .sub_nav
------------------------------------ */
footer .ft_body .sub_nav {
	text-align: center;
	padding: 30px 0;
	position: relative;
}
footer .ft_body .sub_nav:before {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	border-top: 1px solid rgba(0,0,0,0.2);
	border-bottom: 1px solid rgba(255,255,255,0.1);
	position: absolute;
	top: 0;
	left: 0;
}
footer .ft_body .sub_nav ul {
	letter-spacing: -1em;
	line-height: 1;
}
footer .ft_body .sub_nav ul li {
	display: inline-block;
	letter-spacing: 0.1em;
	padding: 0 1.5em;
	font-size: 0.875em;
	border-right: 1px solid #fff;
}
footer .ft_body .sub_nav a[target="_blank"]:after {
	font-family: 'sannoclc';
	display: inline-block;
	content: '\e90e';
	text-indent: 0;
	margin-left: 0.2em;
}
footer .ft_body .sub_nav ul li:first-child {
	border-left: 1px solid #fff;
}
@media only screen and (max-width: 768px) {
	footer .ft_body .sub_nav {
		padding: 0 0 30px;
	}
	footer .ft_body .sub_nav:before {
		content: none;
	}
	footer .ft_body .sub_nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		letter-spacing: 0.05em;
		line-height: 1.6;
	}
	footer .ft_body .sub_nav ul li {
		width: 48.5%;
		border-right: none;
		margin-bottom: 2.5vw;
		font-size: 1em;
		padding: 0;
	}
	footer .ft_body .sub_nav ul li:first-child {
		border-left: none;
	}
	footer .ft_body .sub_nav ul li a {
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
		text-align: left;
		padding: 0.5em 0.5em 0.5em 1.5em;
		background: rgba(255,255,255,0.2);
		text-indent: -1em;
	}
	footer .ft_body .sub_nav ul li a span:before {
		font-family: 'sannoclc';
		content: '\e907';
	}
}


footer .ft_body .copy {
	background: rgba(0,0,0,0.3);
	font-size: 0.875em;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 75px;
}


/* ------------------------------------
	PAGE TOP
------------------------------------ */
#page_top {
	position: fixed;
	bottom: 40px;
	right: 40px;
	width: 110px;
	background: rgba(0,0,0,0.8);
	color: #fff;
	border-radius: 10px;
	display: block;
	text-align: center;
	z-index: 999;
	font-family: serif;
	font-size: 0.75em;
	line-height: 1.2;
	padding: 12px 0 15px;
}
#page_top:before {
	font-family: 'sannoclc'!important;
	content: '\e904';
	display: block;
	font-size: 22px;
	padding: 0 0 0.3em;
}
#page_top:link, #page_top:hover, #page_top:active, #page_top:visited {
	text-decoration: none;
}
@media only screen and (max-width: 768px) {
	#page_top {
		right: 4%;
		width: 80px;
	}
}

/*	:hover
------------------------------------ */
body.pc_view #page_top:hover {
	background: rgba(0,0,0,1);
}

/* ------------------------------------
	common parts
------------------------------------ */
main {
	padding: 5em 0 0;
}
main section,
.type_main_section {
	padding: 0 0 2.5em;
}

/* heading
------------------------------------ */
/*h1, h2, h3, h4, h5, h6 {
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	margin-bottom: 40px;
}

main h1 {
	text-align: center;
	font-size: 2.375em;
}
*/
h2 {
	font-size: 1.625em;
	border-bottom: 1px solid #e2e2e2;
	position: relative;
}
h2 span {
	display: inline-block;
	padding: 0 0 0.5em;
	border-bottom: 4px solid #017b37;
	margin-bottom: -1px;
}

h3 {
	font-size: 1.375em;
	background: #e7f4ec;
	padding: 0.5em;
	line-height: 1.2;
}
h2 + h3 {
	margin-top: 1.8em;
}

h4 {
	font-size: 1.25em;
}
h4 span {
	display: inline-block;
	padding: 0 0 0.5em;
	border-bottom: 1px solid #017b37;
}

@media only screen and (max-width: 768px) {
	h1, h2, h3, h4, h5, h6 {
		margin-bottom: 30px;
	}
	main h1 {
		font-size: 2em;
	}
}

hr {
	width: 100%;
	height: 0;
	margin: 0 0 60px;
	padding: 20px 0 0;
	line-height: 0;
	border: none;
	border-bottom: 1px solid #e2e2e2;
}

@media only screen and (max-width: 720px) {
hr {
	margin: 0 0 50px;
	padding: 10px 0 0;
}
}

/* .cont_list
------------------------------------ */
.cont_list {
	width: 100%;
	border-top: 1px solid #e2e2e2;
	padding: 2.5em 0 0;
	margin: 0 0 1.25em;
	letter-spacing: -1em;
	line-height: 0;
}
.cont_list li {
	display: inline-block;
	width: 23.7%;
	margin: 0 1.7% 1.25em 0;
	position: relative;
	overflow: hidden;
	line-height: 1.6;
	vertical-align: top;
}
.cont_list li:nth-child(4n) {
	margin-right: 0;
}
.cont_list li a {
	display: block;
	letter-spacing: 0;
}
.cont_list li a:link, .cont_list li a:visited { text-decoration: none; }
.cont_list li.current a {
	background: #e7f4ec;
	color: #000;
}
.cont_list li a > div {
	display: table;
	width: 100%;
	height: 70px;
	margin-top: 64.286%;
	position: relative;
	border: 1px solid #e2e2e2;
	border-top: none;
	font-size: 1.125em;
}
.cont_list li a > div > span {
	display: table-cell;
	vertical-align: middle;
	padding: 0 0.6em 0 2em;
	text-indent: -1em;
}
.cont_list li a > div > span:before {
	font-family: 'sannoclc';
	content: '\e907';
}
.cont_list.anchor_list li a > div > span:before {
	content: '\e901';
}
.cont_list li a[target="_blank"] > div > span:before {
	content: '\e90e';
	margin-right: 0.2em;
}
.cont_list li a[href$=".pdf"] > div > span:before {
	display: inline-block;
	content: '';
	background: transparent url(/img/ico_pdf.png) center center no-repeat;
	background-size: 100%;
	margin-top: -0.2em;
	margin-bottom: -0.3em;
	width: 1.5em;
	height: 1.5em;
	max-width: 24px;
	max-height: 24px;
}
.cont_list li a > div > span span {
	display: inline-block;
}
.cont_list li a > img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	height: auto;
}

/*	:hover
------------------------------------ */
body.pc_view .cont_list li a > div:after {
	content: "";
	width: 0;
	height: 100%;
	display: block;
	background: #e7f4ec;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
}

body.pc_view .cont_list li a:hover > div:after {
	width: 100%;
}

body.pc_view .cont_list li a > img {
	transition: opacity 0.2s ease-out;
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

body.pc_view .cont_list li a:hover > img {
	opacity: 0.65;
}

@media only screen and (max-width: 768px) {
	.cont_list {
		margin-bottom: 2.5em;
	}
	.cont_list li {
		display: block;
		width: 100%;
		margin: 0 0 5px;
	}
	.cont_list li a {
		position: relative;
		border: 1px solid #e2e2e2;
		height: 80px;
	}
	.cont_list li a > div {
		margin-top: 0;
		height: 100%;
		border: none;
		padding-right: 130px;
	}
	.cont_list li a > img {
		left: auto;
		right: 0;
		width: auto;
		height: 100%;
	}
	.cont_list li a > div span small {
		display: none;
	}
}

/* triple_list
--------------------------------------- */
.triple_list li {
	width: 31.3%;
	margin: 0 3% 1.25em 0;
}
.triple_list li:nth-child(3n) {
	margin: 0 0 1.25em;
}

@media only screen and (max-width: 768px) {
	.triple_list li {
			width: 100%;
			margin: 0 0 5px;
	}
}

/* .cont_list.triple
------------------------------------ */
.cont_list.triple > li {
	width: 32.2%;
	margin-right: 1.7%;
}
.cont_list.triple > li:nth-child(4n) {
	margin-right: 1.7%;
}
.cont_list.triple > li:nth-child(3n) {
	margin-right: 0;
}

@media only screen and (max-width: 768px) {
	.cont_list.triple > li {
		width: 100%;
		margin: 0 0 5px;
	}
}

/* .cont_list.txt
------------------------------------ */
.cont_list.txt li {
	text-align: left;
}
.cont_list.txt li:last-child {
	margin-right: 0;
}
.cont_list.txt li a > div {
	display: table;
	margin-top: 0;
	position: relative;
	border-top: 1px solid #e2e2e2;
}

/*	:hover
------------------------------------ */
body.pc_view .cont_list.txt li a > div:after,
body.pc_view .cont_list_nopic li a > div:after {
	content: "";
	width: 0;
	height: 100%;
	display: block;
	background: #e7f4ec;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
}

body.pc_view .cont_list.txt li a:hover > div:after,
body.pc_view .cont_list_nopic li a:hover > div:after {
	width: 100%;
}

body.pc_view .cont_list.txt li a > img,
body.pc_view .cont_list_nopic li a > img {
	transition: opacity 0.2s ease-out;
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

body.pc_view .cont_list.txt li a:hover > img,
body.pc_view .cont_list_nopic li a:hover > img  {
	opacity: 0.65;
}

@media only screen and (max-width: 768px) {
	.cont_list.txt {
		margin-bottom: -5px;
	}
	.cont_list.txt li {
		display: block;
		width: 100%;
		margin: 0 0 5px;
	}
	.cont_list.txt li a {
		position: relative;
		border: 1px solid #e2e2e2;
		height: 80px;

	}
	.cont_list.txt li a > div {
		margin-top: 0;
		height: 100%;
		border: none;
		padding-right: 0;
	}
	.cont_list.txt li a > img {
		left: auto;
		right: 0;
		width: auto;
		height: 100%;
	}
}



dl dt {
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

/*	dl.notice
------------------------------------ */
dl.notice {
	position: relative;
	padding: 0 0 1em 6em;
}
dl.notice > dt {
	position: absolute;
	top: 0;
	left: 0;
	width: 6em;
}


/* two_column
------------------------------------ */
/* flex ver */
.two_clm, .three_clm {
	display: flex;
	width: 100%;
	justify-content: space-between;
}
.two_clm > * {
	width: 48.3%;
}


/* three_column
------------------------------------ */
.three_clm > * {
	width: 31.1%;
}
.three_clm > *:nth-child(3n-1):last-child {
	margin-right: 34.45%;
}

@media only screen and (max-width: 768px) {
	.two_clm, .three_clm,
	.two_clm > *, .three_clm > * {
		flex-direction: column;
		width: 100%!important;
	}
	.two_clm > *, .three_clm > * {
		padding-bottom: 2.5em;
		margin-bottom: 0;
	}
	.two_clm > table, .three_clm > table {
		margin-bottom: 2.5em;
	}
}

/* .cont_list_nopic
------------------------------------ */

.cont_list_nopic {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #e2e2e2;
	padding: 2.5em 0 0;
	margin: 0;
}
.cont_list_nopic li a:link, .cont_list_nopic li a:visited {
	text-decoration: none;
}
.cont_list_nopic > * {
	vertical-align: top;
}
.cont_list_nopic > li {
	display: inline-block;
	width: 31.2%;
	margin: 0 3.2%;
	position: relative;
	overflow: hidden;
}
.cont_list_nopic > li:first-child,
.cont_list_nopic > li:nth-child(3n),
.cont_list_nopic > li:nth-child(4),
.cont_list_nopic > li:nth-child(7) {
	margin: 0;
}
.cont_list_nopic > li > ul {
	margin: 0 0 2.5em;
}
.cont_list_nopic > li span.reservation {
	font-size: 0.875em;
	color: #8b744d;
}
.cont_list_nopic li {
	height: 100%;
	margin-bottom: 0.625em;
}
.cont_list_nopic li a {
	height: 100%;
	display: block;
	letter-spacing: 0;
}
.cont_list_nopic li a > div {
	display: table;
	margin-top: 0;
	position: relative;
	border: 1px solid #e2e2e2;
	display: table;
	width: 100%;
	height: 70px;
	font-size: 1.125em;
}
.cont_list_nopic li a > div > span {
	display: table-cell;
	vertical-align: middle;
	padding: 0 1em 0 2em;
	text-indent: -1em;
}
.cont_list_nopic li a > div > span::before {
	font-family: 'sannoclc';
	content: '\e907';
}
.cont_list_nopic li a[target="_blank"] > div > span:before {
	content: '\e90e';
	margin-right: 0.2em;
}
.cont_list_nopic li a[href$=".pdf"] > div > span:before {
	display: inline-block;
	content: '';
	background: transparent url(/img/ico_pdf.png) center center no-repeat;
	background-size: 100%;
	margin-top: -0.2em;
	margin-bottom: -0.3em;
	width: 1.5em;
	height: 1.5em;
	max-width: 24px;
	max-height: 24px;
}
.cont_list_nopic li.current a {
	background: #e7f4ec;
	color: #000;
}
.cont_list_nopic h3 {
	margin: 0 0 0.5em;
}
.cont_list_nopic.li_two_clm li {
	width: 49.2%;
	margin: 0 0 1em;
}
.cont_list_nopic.li_two_clm li:nth-child(2n) {
	margin-left: 1.6%;
}
.cont_list_nopic.li_four_clm li {
	width: 23.8%;
	margin: 0 1.6% 1em 0;
}
.cont_list_nopic.li_four_clm li:nth-child(4n) {
	margin-right: 0;
}

.cont_list_nopic .btn_area a {
	width: 100%;
	text-align: left;
	padding: 1.1em 1em 0.9em;
	font-size: 1.125em;
}
.cont_list_nopic .btn_area li {
	margin: 0 0 0.5em;
}

@media only screen and (max-width: 768px) {
	.cont_list_nopic > li,
	.cont_list_nopic.li_two_clm li,
	.cont_list_nopic.li_four_clm li {
		width: 100%;
		margin: 0 0 -1px;
	}
	.cont_list_nopic > li:first-child,
	.cont_list_nopic > li:nth-child(3n),
	.cont_list_nopic > li:nth-child(4),
	.cont_list_nopic > li:nth-child(7) {
		margin: 0 0 -1px;
	}
	.cont_list_nopic.li_two_clm li:nth-child(2n) {
		margin-left: 0;
	}
	.cont_list_nopic li a > div {
		height: 50px;
	}
}

/* ul.basic
------------------------------------ */
ul.basic {
	margin: 0 0 2.5em;
}
ul.basic > li {
	position: relative;
	padding: 0 0 0.5em 1.5em;
}
ul.basic > li:last-child {
	padding-bottom: 0;
}
ul.basic > li:before {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #017b37;
	position: absolute;
	top: 0.8em;
	margin: -2.5px 0 0 -1em;
}
ul.basic li > ul.basic {
	margin-bottom: 0;
}


/* main ol
------------------------------------ */
/*main ol {
	counter-reset: num;
	list-style-type: none;
	margin: 0 0 2.5em;
}
main ol > li {
	position: relative;
	padding: 0 0 0.5em 1.5em;
}
main ol > li:last-child {
	padding-bottom: 0;
}
main ol > li:before {
	display: flex;
	justify-content: center;
	align-items: center;
	counter-increment: num;
	content: counter(num);
	color: #fff;
	background: #017b37;
	font-size: 0.75em;
	width: 1.7em;
	height: 1.7em;
	line-height: 1.7;
	position: absolute;
	top: 0.2em;
	left: 0;
	padding: 0;
	letter-spacing: 0;
}

main ol.alpha_list > li:before {
	content: counter(num, lower-alpha);
}*/

/* ul.double, triple
------------------------------------ */
ul.double, ul.triple {
	letter-spacing: -1em;
}
ul.double > li,
ul.triple > li {
	display: inline-block;
	vertical-align: top;
	position: relative;
	letter-spacing: 0.1em;
}
ul.double > li {
	width: 48%;
	margin-right: 3%;
}
ul.double > li:nth-child(even) {
	margin-right: 0;
}
ul.triple > li {
	width: 32%;
	margin-right: 2%;
}
ul.triple > li:nth-child(3n) {
	margin-right: 0;
}

@media only screen and (max-width: 768px) {
	ul.double > li,
	ul.triple > li {
		display: block;
		width: 100%;
		margin-right: 0;
	}
}

/* ul.double_exp
------------------------------------ */
ul.double_exp {
	letter-spacing: -1em;
}
ul.double_exp > li {
	display: inline-block;
	vertical-align: top;
	position: relative;
	letter-spacing: 0.1em;
}
ul.double_exp > li {
	min-width: 48%;
	margin-right: 2%;
}

@media only screen and (max-width: 768px) {
	ul.double_exp > li {
		display: block;
		width: 100%;
		margin-right: 0;
	}
}


/* table (basic)
------------------------------------ */
main table {
	width: 100%;
	margin: 0 0 2.5em;
}
main th, main td {
	padding: 1em;
	border-bottom: 1px solid #e2e2e2;
	border-right: 1px solid #e2e2e2;
}
main th {
	vertical-align: middle;
}
main .th_nowrap th {
	white-space: nowrap;
}
main thead th {
	background: #017b37;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
main thead th:last-child {
	border-right: 1px solid #017b37;
}
main tbody {
	border-top: 1px solid #e2e2e2;
}
main tbody th {
	background: #1c884c;
	color: #fff;
}
main tbody td:first-child {
	border-left: 1px solid #e2e2e2;
}
main table td > *:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}
main table.pc_fixed_width th {
	width: 20%;
}

@media only screen and (max-width: 720px) {
	main table.pc_fixed_width th {
		width: auto;
	}
	main table.sp_block_table tbody {
		border: none;
		border-bottom: 1px solid #e2e2e2;
	}
	main table.sp_block_table tbody th,
	main table.sp_block_table tbody td {
		display: block;
		border: none;
	}
	main table.sp_block_table tbody td {
		border-left: 1px solid #e2e2e2;
		border-right: 1px solid #e2e2e2;
		border-bottom: 1px solid #e2e2e2;
	}
	main table.sp_block_table tbody td:last-child {
		border-bottom: none;
	}
}

/* .cap, ul.cap_list
------------------------------------ */
ul.cap_list {
	padding: 0 0 2.5em;
	margin-top: 5px;
}
ul.cap_list li {
	padding: 0 0 0.5em 1.5em;
}
ul.cap_list li:last-child {
	padding-bottom: 0;
}
.cap {
	display: inline-block;
}
.cap,
ul.cap_list li {
	padding-left: 1.2em;
	position: relative;
	color: #5f5f5f;
	line-height: 1.6;
}
.cap:before,
ul.cap_list li:before {
	content: '\203b';
	position: absolute;
	top: 0;
	left: 0;
}

ul li ul.cap_list:last-child {
	padding-bottom: 0;
}

/* .caution
------------------------------------ */
.caution {
	color: #f75d00;
	padding-left: 2em;
	position: relative;
}
.caution:before {
	content: '\3010\ff01\3011';
	position: absolute;
	top: 0;
	left: 0;
}
span.caution {
	padding: 0;
}
span.caution:before {
	content: '';
}
/* IE hack */
@media all and (-ms-high-contrast: none) {
	.caution {
		padding-left: 3em;
	}
}

/* .tel
------------------------------------ */
.tel:before {
	font-family: 'sannoclc';
	content: '\e91d';
	color: #8b744d;
	margin-right: 0.2em;
}
@media only screen and (max-width: 768px) {
	.tel > span,
	.tel a > span {
		color: #017b37;
		text-decoration: underline;
	}
}
/* .mail
------------------------------------ */
.mail:before {
	font-family: 'sannoclc';
	content: '\e915';
	color: #017b37;
	margin-right: 0.2em;
}

/* .btn
------------------------------------ */
.btn_area {
	margin: 0 0 1.875em;
}
.btn_area a,
a.button {
	display: inline-block;
	position: relative;
	border: 1px solid #e2e2e2;
	text-indent: -0.55em;
	padding: 0.7em 1.8em 0.5em 2.8em;
	margin: 0 0.313em 0.625em 0;
}
.btn_area a:link,
.btn_area a:visited,
a.button:link,
a.button:visited { text-decoration: none; }
.btn_area a:before,
a.button:before {
	font-family: 'sannoclc';
	content: '\e907';
	display: inline-block;
	line-height: 1;
}
.btn_area a[target="_blank"],
a.button[target="_blank"] {
	text-indent: -0.65em;
}
.btn_area a[target="_blank"]:before,
a.button[target="_blank"]:before {
	content: '\e90e';
	margin-right: 0.2em;
}
.btn_area a[href$=".pdf"],
a.button[href$=".pdf"] {
	text-indent: -28px;
}
.btn_area a[href$=".pdf"]:before,
.btn_area a[href$=".pdf"]:before {
	content: '';
	background: transparent url(/img/ico_pdf.png) center center no-repeat;
	background-size: 100%;
	margin-top: -0.2em;
	margin-bottom: -0.3em;
	width: 1.5em;
	height: 1.5em;
	max-width: 24px;
	max-height: 24px;
}
.btn_area.vertical {
	width: 10px;
}
.btn_area.vertical a {
	white-space: nowrap;
}
.btn_area.vertical a:last-child {
	margin-bottom: 0;
}

/* .btn_area a.large
------------------------------------ */
.btn_area.large a {
	border: none;
	max-width: 100%;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.15);
	font-size: 1.375em;
	margin: 0 0 20px;
}

@media only screen and (max-width: 768px) {
	.btn_area a {
		margin-bottom: 10px;
	}
	.btn_area.large a {
		width: 100%;
	}
	.btn_area.vertical {
		display: block;
		width: 100%;
	}
	.btn_area.vertical a {
		white-space: normal;
	}
}


/*	:hover
------------------------------------ */
body.pc_view .btn_area a:after {
	content: "";
	width: 0;
	height: 100%;
	display: block;
	background: #e7f4ec;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
}

body.pc_view .btn_area a:hover:after {
	width: 100%;
}


/* .attn
------------------------------------ */
.attn {
	background: #e7f4ec;
	padding: 2.5em 2.5em 0;
	margin: 0 0 2.5em;
}
.attn dt {
	font-size: 1.375em;
	padding: 0 0 0.5em;
}

/*	memo (dog ear area)
--------------------------------------- */
.memo {
	position: relative;
	border: 1px solid #e2e2e2;
	padding: 2.5em 2.5em 0;
	margin: 0 0 2.5em;
}
.memo dt {
	font-size: 1.375em;
	padding: 0 0 0.5em;
}
.memo::before {
	content: '';
	display: block;
	position: absolute;
	right: -1px;
	top: -1px;
	width: 0;
	height: 0;
	border-right: 30px solid transparent;
	border-bottom: 30px solid #e7f4ec;
	background: #fff;
}
.memo .cap {
	padding: 0 0 0 1.2em;
}

li .attn, li .memo {
	margin: 0.5em 0;
}

@media only screen and (max-width: 768px) {
	.attn, .memo {
		padding: 2.5em 5% 0;
	}
	li .attn, li .memo {
		padding-right: 40px;
	}

}


/* ------------------------------------
	information
------------------------------------ */
#information {
	margin: 0 0 2.5em;
}
#information .name {
	font-size: 1.875em;
	background: none;
	border-bottom: 1px solid #e2e2e2;
	padding: 0 0 0.3em;
	margin: 0 0 0.4em;
}
#information .name small {
	display: block;
	font-size: 0.533em;
}
#information dl {
	padding-bottom: 0.5em;
}
#information .btn_area {
	margin-top: 10px;
}

#information .two_clm > div:last-child {
	position: relative;
	height: 335px;
}
#information dl dd dl {
	position: relative;
	padding: 0 0 0 4.2em;
}
#information dl dd dl dt {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	position: absolute;
	top: 0;
	left: 0;
}
#information dl dd dl dt:before { content: '[ '; }
#information dl dd dl dt:after { content: ' ]'; }
#information dl small {
	font-size: 0.75em;
	display: inline-block;
}

#information iframe {
	width: 100%;
	height: 100%;
	border: 8px solid #cfe6da;
}

@media only screen and (max-width: 768px) {
	#information .two_clm > div {
		padding-bottom: 0;
	}
	#information .two_clm > div:last-child {
		min-height: 0;
		height: auto;
		position: relative;
	}
	#information .two_clm > div:last-child:before {
		display: block;
		content: '';
		padding-top: 60%;
	}
	#information iframe {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
	}
}

/* ------------------------------------
	banner_slide
------------------------------------ */
#banner_slide {
	padding: 40px 0;
	border-top: 1px solid #e2e2e2;
	width: 100%;
}
#banner_slide ul {
	position: relative;
	line-height: 0;
}
#banner_slide a {
	border: 1px solid #e2e2e2;
	display: block;
	overflow: hidden;
}
#banner_slide a img {
	max-width: 100%;
}
#banner_slide .slick-list {
	margin: 0 -10px;
	z-index: 1;
}
#banner_slide .slick-slide {
	margin: 0 10px;
}
#banner_slide .slick-arrow {
	position: absolute;
	font-size: 1.4em;
	width: 1em;
	height: 1em;
	overflow: hidden;
	color: rgba(0,0,0,0);
	top: 50%;
	margin-top: -0.5em;
	text-align: center;
}
#banner_slide .slick-prev { left: -1.5em; }
#banner_slide .slick-next { right: -1.5em; }
#banner_slide .slick-arrow:before {
	font-family: 'sannoclc';
	color: #017b37;
}
#banner_slide .slick-prev:before { content: '\e906'; }
#banner_slide .slick-next:before { content: '\e907'; }

@media only screen and (max-width: 1300px) {
	#banner_slide .slick-slider {
		padding: 0 1.5em;
	}
	#banner_slide .slick-prev {
		left: -2%;
	}
	#banner_slide .slick-next {
		right: -2%;
	}
}

@media only screen and (max-width: 768px) {
	#banner_slide {
		padding: 30px 0;
	}
	#banner_slide .slick-slider {
		display: none;
	}
	#banner_slide ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		letter-spacing: 0;
	}
	#banner_slide ul li {
		width: 48.5%;
		margin-bottom: 2.5vw;
	}
	#banner_slide ul li:nth-last-child(2):nth-child(odd),
	#banner_slide ul li:last-child {
		margin-bottom: 0;
	}
}

/* ------------------------------------
	banner_slide_middle
------------------------------------ */
#banner_slide_middle {
	/*padding: 40px 0;*/
	/*border-top: 1px solid #e2e2e2;*/
	width: 100%;
   padding-top: 0;
    padding-bottom: 5em;
}
#banner_slide_middle ul {
	position: relative;
	line-height: 0;
}
#banner_slide_middle ul li{
	/*position: relative;*/
	display: inline-block;
	overflow: hidden;

/*	width: 20px;
	height: 20px;*/
	margin-right: 8px;
	/*padding: 0;*/

	cursor: pointer;
        	width: auto;
	height: auto;
}
/*#banner_slide_middle ul li a img {
	max-width: 100%;
}*/
#banner_slide_middle a:hover img{
	opacity: 0.7;
}

#banner_slide_middle a {
	border: 1px solid #e2e2e2;
	display: block;
	overflow: hidden;
}
#banner_slide_middle a img {
	max-width: 100%
}
#banner_slide_middle .slick-list {
	margin: 0 -10px;
	z-index: 1;
}
#banner_slide_middle .slick-slide {
	margin: 0 10px;
}
#banner_slide_middle .slick-arrow {
	position: absolute;
	font-size: 1.4em;
	width: 1em;
	height: 1em;
	overflow: hidden;
	color: rgba(0,0,0,0);
	top: 50%;
	margin-top: -0.5em;
	text-align: center;
}
#banner_slide_middle .slick-prev { left: -1.5em; }
#banner_slide_middle .slick-next { right: -1.5em; }
#banner_slide_middle .slick-arrow:before {
	font-family: 'sannoclc';
	color: rgba(146,107,84,1);
}
#banner_slide_middle .slick-prev:before { content: '\e906'; }
#banner_slide_middle .slick-next:before { content: '\e907'; }

/*@media only screen and (max-width: 1300px) {
	#banner_slide_middle .slick-slider {
		padding: 0 1.5em;
	}
	#banner_slide_middle .slick-prev {
		left: -2%;
	}
	#banner_slide_middle .slick-next {
		right: -2%;
	}
}*/
@media only screen and (max-width: 1300px) {
	#banner_slide_middle  {
		/*padding: 0 1.5em;*/
        width: 100%;
        padding-bottom: 3em;
	}
	#banner_slide_middle  {
		left: -2%;
	}
	#banner_slide_middle  {
		right: -2%;
	}
}

@media only screen and (max-width: 768px) {
	#banner_slide_middle {
		/*padding: 30px 0;*/
        width: 100%;
        padding-bottom: 3em;
	}
	#banner_slide_middle .slick-slider {
		display: none;
	}
	#banner_slide_middle ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		letter-spacing: 0;
	}
	#banner_slide_middle ul li {
		width: 48.5%;
		margin-bottom: 2.5vw;
        margin-right: 0px;
	}
	#banner_slide_middle ul li:nth-last-child(2):nth-child(odd),
	#banner_slide_middle ul li:last-child {
		margin-bottom: 0;
	}
}


/* ------------------------------------
	news
------------------------------------ */
.news .date {
	display: inline-block;
	font-size: 0.875em;
	color: #5f5f5f;
}
.news .label {
	display: inline-block;
	background: #f4f4f4;
	color: #017b37;
	width: 10em;
	font-size: 0.75em;
	text-align: center;
	padding: 0.3em 0 0.1em;
}

.news.list li > * {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 4em;
	overflow: hidden;
	border-bottom: 1px solid #e2e2e2;
	position: relative;
	padding: 1.2em 1.5em 1.2em 10em;
}
.news.list li > a:link, .news.list li > a:visited { text-decoration: none; }
.news.list li > a:after {
	font-family: 'sannoclc';
	content: '\e907';
	color: #017b37;
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -0.8em;
}
.news.list li .date {
	width: 11em;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -0.8em;
}
.news.list li .date:before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	vertical-align: middle;
	background: #fff;
	border: 3px solid #017b37;
	margin: -0.1em 0.5em 0 0;
}

.news.list.label li > * {
	padding-left: 20em;
}

.news.list.label li .label {
	position: absolute;
	top: 50%;
	left: 14em;
	margin-top: -1em;
	letter-spacing: 0.05em;
}
.news.list li p {
	color: #000;
	line-height: 1.6;
	padding-bottom: 0;
}

.fixed_height {
	position: relative;
	border: 1px solid #e2e2e2;
}

.fixed_height > div {
	max-height: 300px;
	padding: 0 20px;
	overflow: hidden;
	overflow-y: scroll;
}
.fixed_height:after{
	display: block;
	content: '';
	width: 100%;
	height: 20%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}

.fixed_height .news.list li:first-child a {
	border-top: none;
}

.fixed_height .news.list li:last-child a {
	border-bottom: none;
}


@media only screen and (max-width: 768px) {
	.news.list li > *,
	.news.list.label li > * {
		padding-left: 0!important;
	}
	.news.list li .date,
	.news.list.label li .label {
		position: relative;
		top: auto!important;
		left: auto!important;
	}
	.news.list li .date:before {
		width: 8px;
		height: 8px;
		border-width: 2px;
	}
	.news.list.label li p {
		padding: 0 0 0 1em;
	}
}

/* ------------------------------------
		consultation hour
------------------------------------ */
.consultation {
	display: table;
	width: 50%;
	background: #e7f4ec;
	margin-bottom: 1.125em;
}
.consultation:first-of-type {
	float: left;
}
.consultation > * {
	display: table-cell;
	border: 1px solid #e2e2e2;
	border-left: none;
	text-align: center;
	vertical-align: middle;
	padding: 0.7em 0;
	width: 70%;
}
.consultation > *:first-child {
	border-left: 1px solid #e2e2e2;
}
.consultation dt {
	background: #017b37;
	color: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	width: 30%;
	white-space: nowrap;
}
@media only screen and (max-width: 768px) {
	.consultation {
		width: 50%;
	}
}
@media only screen and (max-width: 480px) {
	.consultation {
		width: 100%;
	}
	.consultation:first-of-type > * {
		border-bottom: none;
	}
}

/* ------------------------------------
	.department_area
------------------------------------ */
.department_area {
	border: 1px solid #e2e2e2;
	background: #e7f4ec;
	padding: 2.5em 1.25em 1.25em;
	margin: 0 0 2.5em;
}
.department_area h3 {
	background: none;
	text-align: center;
	font-size: 1.625em;
	margin-bottom: 0;
}
.department_area p {
	width: 660px;
	max-width: 90%;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 1.875em;
}

.department_area ul {
	letter-spacing: -1em;
	line-height: 0;
	padding: 0 0 5em;
	position: relative;
}
.department_area ul:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 6.25em;
	background: transparent url(/hospital/img/index/line_department.png) center center no-repeat;
}
.department_area ul:last-of-type {
	padding: 0;
	background: none;
}
.department_area ul:last-of-type:after { content: none; }
.department_area ul li {
	letter-spacing: 0.1em;
	line-height: 1.3;
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
	margin: 0 0.9% 1.25em;
	width: 23.2%;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.15);
	background: #fff;
	position: relative;
}
.department_area ul li.double {
	width: 48.2%;
}
.department_area ul li div {
	display: flex;
	width: 100%;
	height: 100%;
	min-height: 4em;
	align-items: center;
}
.department_area ul li div a {
	padding: 0.5em 1em;
	width: 100%;
}
.department_area ul li div a:link, .department_area ul li div a:visited { text-decoration: none; }

/* IE hack */
@media all and (-ms-high-contrast: none) {
	.department_area ul li div {
		display: table;
	}
	.department_area ul li div a {
		display: table-cell;
		vertical-align: middle;
	}
}

.department_area ul li div a {
	font-size: 1.125em;
}
.department_area ul li div a small {
	font-size: 0.777em;
	color: #8b744d;
	display: inline-block;
	padding: 0 0 0 0.3em;
}
.department_area ul li div a small:before {
	content: '\203b';
}
.department_area ul li.small div a {
	font-size: 1em;
}
.department_area ul li.small div a small {
	font-size: 0.875em;
}
.department_area ul li a span {
	font-size: 0.888em;
}
.department_area ul li a span:not(.inline) {
	display: inline-block;
}

@media only screen and (max-width: 768px) {
	.department_area .cont_base_wrap {
		width: 94%;
		margin: 0 3%;
	}
	.department_area ul:after {
		height: calc(5em + 1.5vw);
	}
	.department_area ul li {
		width: 48.2%;
		margin-bottom: 1.5vw;
	}
	.department_area ul li.double {
		width: 98.2%;
	}
	.department_area ul li div a {
		font-size: 1em;
	}
	.department_area ul li div a small {
		font-size: 0.58em;
	}
	.department_area ul li.small div a {
		font-size: 0.916em;
	}
	.department_area ul li.small div a small {
		font-size: 0.636em;
	}
	.department_area ul li a span {
		font-size: 0.667em;
	}
}

/* ---------------------------------------
	doctor list
--------------------------------------- */
.doctor_list > section {
	border-top: 1px solid #e2e2e2;
	padding: 2.5em 0 0!important;
}
.doctor_list .two_clm > figure {
	width: 260px;
	text-align: center;
}
.doctor_list .two_clm > div {
	width: calc(100% - 320px);
}
.doctor_list .profile span {
	color: #017b37;
	font-style: italic;
	display: block;
}
.doctor_list .profile h2,
.doctor_list .profile h3 {
	border-bottom: none;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 2.375em;
	margin: 0 0 0.6em;
	display: inline-block;
}
.doctor_list .profile h2 small,
.doctor_list .profile h3 small {
	font-size: 0.421em;
}
.doctor_list .profile .field {
	display: inline-block;
	background: #e7f4ec;
	padding: 0.2em 0.8em;
	margin-left: 1.5em;
}
.doctor_list .profile .field span {
	font-weight: bold;
	display: inline-block;
	font-style: normal;
}

.doctor_list .profile.field {
	display: flex;
	align-items: flex-end;
}
.doctor_list .profile.field > * {
	align-items: baseline;
}
.doctor_list .profile.field .name {
	white-space: nowrap;
}
.doctor_list .profile.field .field {
	display: inline-flex;
	margin-bottom: 2em;
}
.doctor_list .profile.field .field span {
	white-space: nowrap;
}

.doctor_list .profile + p {
	border-top: 1px solid #e2e2e2;
	padding-top: 2em;
}
.doctor_list .basic {
	border-bottom: 1px solid #e2e2e2;
	margin-bottom: 2em;
	padding: 0 0 1.5em;
}

.doctor_list .skill {
	background: #f4f4f4;
	padding: 2.5em;
	margin-bottom: 2.5em;
}
.doctor_list .btn_area + .skill {
	margin-top: 2.5em;
}
.doctor_list .skill dt {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: bold;
}
.doctor_list .skill ul li:before {
	content: '\30fb';
	display: block;
	position: absolute;
	width: 1em;
	top: 0.5em;
	left: 0;
}
.doctor_list .skill_two_clm {
	background: #f4f4f4;
	margin: 0 0 2.5em;
}
.doctor_list .skill_two_clm::after {
	content: " ";
	display: block;
	clear: both;
}
.doctor_list .skill_two_clm dl {
	width: 50%;
	background: transparent;
	float: left;
	margin-top: 0;
	margin-bottom: 0;
}
.doctor_list .skill_two_clm dl dd ul li {
	width: 100%;
}
.doctor_list .work {
	margin: 0 0 1.25em;
}
.doctor_list .work .basic {
	border-bottom: none;
	padding-bottom: 0;
}
.doctor_list .work ul li small {
	color: #5f5f5f;
	padding-left: 1em;
}
.doctor_list table.calendar {
	margin-bottom: 0.75em;
}
.doctor_list table.calendar thead th,
.doctor_list table.calendar tbody th {
	font-size: 1em;
}
.doctor_list table.calendar tbody th.time {
	font-size: 0.875em;
	width: 19%;
}
.doctor_list .btn_area {
	margin-bottom: 2.5em;
}
.medic_list .btn_area {
	margin-bottom: 0.625em;
}
@media only screen and (max-width: 768px) {
	.doctor_list .two_clm > figure img {
		width: auto;
	}
	.doctor_list .profile {
		text-align: center;
	}
	.doctor_list .profile h2 {
		display: block;
	}
	.doctor_list .profile .field {
		margin: 0 0 1.5em;
	}
	.doctor_list .profile.field {
		display: block;
	}
	.doctor_list .profile.field .name {
		display: block;
		white-space: normal;
	}
	.doctor_list .profile.field .name h2 {
		margin-bottom: 0.3em;
	}
	.doctor_list .profile.field .field {
		margin-bottom: 1.5em;
		text-align: left;
	}
	.doctor_list .profile + p {
		border-top:none;
		padding-top: 1em;
	}
	.doctor_list .basic {
		border-bottom: none;
		padding: 0;
	}

	.doctor_list .skill_two_clm dl {
		width: 100%;
	}
	.doctor_list .skill_two_clm dl:nth-child(2) {
		padding-top: 0;
	}
}

/* =====================================
	SYSTEM MESSAGE
===================================== */
.system_message {
	margin: 0 auto 80px;
	padding: 5em 1em 2.5em;
	width: 80%;
	text-align: center;
	border: 4px solid #e2e2e2;
	background: #f4f4f4;
}

.system_message .main_Message {
	padding: 0 0 0.5em;
	display: block;
	font-size: 5vw;
	font-style: italic;
	color: #5f5f5f;
	line-height: 1.1;
}

.system_message .main_Message small {
	display: block;
	font-size: 0.5em;
}

@media only screen and (max-width: 768px) {
.system_message {
	padding: 3em 1em 0.5em;
}
.system_message .main_Message {
	font-size: 8vw;
}
}

/* =====================================
	:hover Opacity Elements
===================================== */
body.pc_view > header .search button,
body.pc_view > footer .search button {
	transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
}
body.pc_view > header .search button:hover,
body.pc_view > footer .search button:hover,
body.pc_view #footer_nav ul li a:hover,
body.pc_view > footer .sub_nav ul li:hover,
body.pc_view #banner_slide a:hover,
body.pc_view .department_area ul li div a:hover,
body.pc_view .news.list li a:hover {
	opacity: 0.65;
}

/* =====================================
	ClearFixElements
===================================== */
.cf:after,
section:after {
	content: " ";
	display: block;
	clear: both;
}
