@charset 'utf-8';

@import url('https://fonts.googleapis.com/css?family=Oswald');

.main {
	overflow: hidden;
}
.main-visual {
	position: relative;
	width: 100%;
	height: 404px;
	background: url(/images/about/main-pc.jpg) 50% 0 no-repeat;
	background-size: cover;
}
.main-visual .container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 1000px;
	height: 100%;
	margin: auto;
}
.main-visual h2 {
	position: absolute;
	top: 60px;
	left: -60px;
	font-family: inherit;
	font-size: 40px;
	font-weight: bold;
	line-height: 64px;
	color: #790029;
	text-indent: -.5em;
	letter-spacing: .5px;
	-webkit-text-shadow: 0 0 100px #fff;
	-moz-text-shadow: 0 0 100px #fff;
	text-shadow: 0 0 30px #fff;
}
.section-about .container {
	width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}
.section-about {
	font-size: 16px;
	line-height: 2;
	padding: 0 0 70px;
}
.section-about ol {
	list-style-type: decimal;
	margin: 0 0 0 30px;
}
.section-about ol li {
	margin: 10px 0 0 0;
}
.section-about ol li:first-child {
	margin: 0;
}
.section-about h3 {
	font-size: 25px;
	line-height: 4;
	padding: 0;
	margin: 0 0 30px;
}
.section-about table {
	width: 100%;
}
.section-about th, .section-about td {
	border: 1px solid #fff;
	padding: 10px;
	box-sizing: border-box;
}
.section-about th {
	background: #e4e4e4;
	width: 110px;
}
.section-about td {
	background: #f1f1f1;
}
.section-about table.history th {
	width: 220px;
}
.section-about .map-wrapper {
	position: relative;
	margin: 0 0 60px;
}
.section-about .map {
	margin: 20px 0 0 0;
	width: 100%;
	height: 386px;
}
.section-about .btn-googlemap {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	background: url(/images/btn_googlemap@2x.png) no-repeat top left;
	background-size: 100%;
	width: 273px;
	height: 0;
	padding: 50px 0 0 0;
	overflow: hidden;
}
.section-about .haat {
	border: 1px solid #898989;
	padding: 36px;
}
.section-about .haat li {
	display: inline-block;
}
.section-about .haat li.head {
	display: block;
}
.section-about .haat li:nth-child(n + 3)::before {
	content: "、";
}
.section-about .haat h4 {
	background: url(/images/about/haat.png) no-repeat top left;
	font-size: 23px;
	line-height: 1.5;
	font-weight: bold;
	font-family: inherit;
	padding: 0 0 0 140px;
	margin: 0 0 40px;
	background-size: 92px;
}
.section-about .haat dt {
	color: #000;
	font-weight: bold;
}
.section-about .haat dd a, 
.section-about .haat dd {
	color: #004986;
}
.section-about .haat dd a:hover {
	text-decoration: underline;
}

.section-about .history {
	margin-left: 0;
	list-style: none;
}
.section-about .history li + li {
	list-style: none;
	margin-top: 1px;
}
.section-about .history dl {
	position: relative;
	height: 320px;
}
.section-about .history dl.large {
	height: 430px;
}
.section-about .history dt {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	width: 80px;
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-size: 22px;
	font-weight: lighter;
	letter-spacing: .1em;
	line-height: 320px;
	background: #790028;
	box-sizing: border-box;
}
.section-about .history li:last-child dt::before {
	content: "";
	position: absolute;
	bottom: 20px;
	left: 0;
	display: block;
	height: 1px;
	width: 100%;
	background-color: #fff;
}
.section-about .history li:last-child dt::after {
	content: "";
	position: absolute;
	bottom: 3px;
	left: 0;
	display: block;
	height: 5px;
	width: 100%;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.section-about .history dl.large dt {
	line-height: 430px;
}
.section-about .history dd {
	padding: 5px 0 20px;
	max-width: 460px;
	height: 100%;
	font-size: 16px;
	box-sizing: border-box;
}
.section-about .history li:nth-child(odd) dd {
	position: absolute;
	top: 0;
	left: 0;
}
.section-about .history li:nth-child(even) dd {
	position: absolute;
	top: 0;
	left: 62%;
}
.section-about .history dd .event {
	text-align: left;
	line-height: 1.75;
}
.section-about .history dd .event h4 {
	font-family: inherit;
	font-weight: bold;
}
.section-about .history dd .event p {
	margin-top: 10px;
}
.section-about .history .image {
	margin-top: 15px;
	display: block;
	width: 320px;
	height: 200px;
}
.section-about .history .image.wide {
	width: 400px;
}
.section-about .history .image img {
	width: 100%;
}

/* vision */
.section-about.-vision {
	padding-top: 64px;
	padding-bottom: 60px;
}
.section-about.-vision .image {
	position: relative;
	margin: 0 auto 20px;
	width: 984px;
	height: 281px;
	overflow: hidden;
	background: url(/images/about/bg_about-vision.jpg) 50% 0% no-repeat;
	background-size: cover;
}
.section-about.-vision h3 {
	display: none;
}
.section-about.-vision .action {
	position: relative;
	top: 200px;
}
.section-about.-vision .btn {
	width: 170px;
	height: 48px;
	font-size: 14px;
	line-height: 48px;
}
.section-about.-vision .btn-arrow-right:after {
	right: 12px;
	font-size: 11px;
}
.section-about.-vision p {
	text-align: center;
}

/* health */
.section-about.-health {
	padding-bottom: 60px;
}
.section-about.-health .image {
	position: relative;
	margin: 0 auto 20px;
	width: 984px;
	height: 281px;
	overflow: hidden;
	background: url(/images/health/banner_health_pc.jpg) 50% 0% no-repeat;
	background-size: cover;
}
.section-about.-health h3 {
	display: none;
}
.section-about.-health .action {
	position: relative;
	top: 200px;
}
.section-about.-health .btn {
	width: 170px;
	height: 48px;
	font-size: 14px;
	line-height: 48px;
}
.section-about.-health .btn-arrow-right:after {
	right: 12px;
	font-size: 11px;
}
.section-about.-health p {
	text-align: center;
}

.section-about#philosophy .container {
	padding-left: 310px;
}

@media screen and (max-width: 1280px) {
	.main-visual .container {
		width: 90%;
	}
	.main-visual h2 {
		left: 0;
	}
	.section-about .container {
		width: 90%;
	}
	.section-about .history .image.wide {
		width: 320px;
	}
	.section-about.-vision .image {
		width: 100%;
	}
}

@media screen and (max-width: 750px) {
	.main-visual {
		height: 394px;
		background-image: url(/images/about/main-sp.jpg);
		background-size: cover;
	}
	.main-visual h2 {
		top: 62px;
		left: 0;
		font-size: 38px;
		line-height: 1.7;
	}
	.section-about .container {
		width: 100%;
		padding: 0 30px;
		box-sizing: border-box;
	}
	.section-about h2 {
		font-size: 25px;
		font-weight: bold;
	}
	.section-about h3 {
		font-size: 42px;
		line-height: 135px;
		max-height: 100%;
	}
	.section-about ol, 
	.section-about p {
		font-size: 25px;
		max-height: 100%;
		line-height: 1.6;
	}
	.section-about p br {
		display: none;
	}
	.section-about table {
		font-size: 20px;
		max-height: 100%;
	}
	.anchor-nav ul {
		text-align: left;
	}
	.anchor-nav li {
		border-color: #650022;
	}
	.anchor-nav-about a {
		padding-left: 2em;
		text-indent: -1em;
	}
	.anchor-nav-about a::before {
		top: -2px;
		font-size: 16px;
		margin-right: 15px;
	}
	.section-about#access .container > p{
		display: none;
	}
	.section-about .map {
		border: 1px solid #b2b2b2;
	}
	.section-about .haat h4 {
		padding-left: 160px;
		font-size: 24px;
		max-height: 100%;
		line-height: 1.6;
		background-size: 140px;
	}
	.section-about .haat {
		font-size: 22px;
		max-height: 100%;
	}
	.section-about .haat dt {
		margin-bottom: 20px;
		text-indent: -.5em;
	}
	.section-about .haat li {
		display: block;
	}
	.section-about .haat li + li {
		margin-top: 20px;
	}
	.section-about .haat li.head > a {
		display: block;
		margin-bottom: 20px;
	}
	.section-about .haat li.head span {
		position: relative;
		left: -.5em;
	}
	.section-about .haat li:nth-child(n + 3)::before {
		content: none;
	}
	.section-about .haat li a::before {
		content: "▶︎";
		position: relative;
		top: -2px;
		padding-right: 5px;
		font-size: 13px;
		vertical-align: baseline;
	}
	.section-about .history dl {
		position: relative;
		height: auto;
		border-bottom: 2px solid #fff;
	}
	.section-about .history dl:after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		display: block;
		width: 100px;
		height: 100%;
		background: #790028;
	}
	.section-about .history li:last-child::after {
		content: "";
		position: absolute;
		z-index: 10;
		bottom: 20px;
		left: 0;
		display: block;
		height: 1px;
		width: 100%;
		background-color: #fff;
	}
	.section-about .history li:last-child dl::before {
		content: "";
		position: absolute;
		z-index: 10;
		bottom: 3px;
		left: 0;
		display: block;
		height: 5px;
		width: 100%;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}
	.section-about .history dl.large {
		height: auto;
	}
	.section-about .history dt {
		z-index: 2;
		font-size: 28px;
		max-height: 100%;
		text-align: center;
		line-height: 1em;
		left: 0;
		right: auto;
		width: 100px;
		padding: 20px 0 0 0;
	}
	.section-about .history li:last-child dt::before,
	.section-about .history li:last-child dt::after {
		content: none;
	}
	.section-about .history dd {
		background: #fff;
		position: static !important;
		height: auto;
		width: auto;
		max-width: none;
		padding: 35px 0 35px 160px;
		box-sizing: content-box;
	}
	.section-about .history dl.large dd {
		height: auto;
	}
	.section-about .history .event h4 {
		font-size: 25px;
	}
	.section-about .history .image {
		width: 400px;
		height: 250px;
	}
	.section-about .history .image.wide {
		width: 480px;
	}
	.section-about .history dl.large .image.wide {
		height: 360px;
	}
	.section-about.-vision {
		padding-top: 72px;
	}
	.section-about.-vision .image {
		margin: 0 auto 40px;
		width: 690px;
		height: 556px;
		background-image: url(/images/about/bg_about-vision-sp.jpg);
	}
	.section-about.-vision .action {
		top: 400px;
	}
	.section-about.-vision .btn {
		width: 90%;
		height: 100px;
		font-size: 32px;
		line-height: 100px;
	}
	.section-about.-vision .btn-arrow-right:after {
		right: 20px;
		font-size: 24px;
	}
	.section-about.-vision p br {
		display: block;
	}
	.section-about#philosophy .container {
		padding-left: 30px;
	}
	.section-about.-health .image {
		margin: 0 auto 40px;
		width: 690px;
		height: 556px;
		background-image: url(/images/health/banner_health_sp.jpg);
	}
	.section-about.-health .action {
		top: 400px;
	}
	.section-about.-health .btn {
		width: 90%;
		height: 100px;
		font-size: 32px;
		line-height: 100px;
	}
	.section-about.-health .btn-arrow-right:after {
		right: 20px;
		font-size: 24px;
	}
	.section-about.-health p br {
		display: none;
	}
	.section-about#philosophy .container {
		padding-left: 30px;
	}

}