.table dl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	border-top: 1px solid #c8c8c8
}
@media only screen and (max-width: 767px) {
	.table dl {
		display: block
	}
}
.table dl dt, .table dl dd {
	padding: min(20px, 1.6666666667vw) min(20px, 1.6666666667vw);
	background-color: #fff;
	color: dimgray
}
@media only screen and (max-width: 767px) {
	.table dl dt, .table dl dd {
		padding: min(12px, 3.2vw)
	}
}
.table dl dt {
	padding: min(20px, 1.6666666667vw) min(50px, 4.1666666667vw);
	white-space: nowrap;
	background-color: #e5ecee;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
@media only screen and (max-width: 767px) {
	.table dl dt {
		border-bottom: 1px solid #c8c8c8;
		padding: min(12px, 3.2vw)
	}
}
.solution.pageDescription {
	background-color: #fff;
	padding: min(100px, 8.3333333333vw) min(50px, 4.1666666667vw);
	letter-spacing: 1.8px
}
@media only screen and (max-width: 767px) {
	.solution.pageDescription {
		padding: min(100px, 16.6666666667vw) min(0px, 0vw)
	}
}
.solution.pageDescription h2, .solution.pageDescription p {
	max-width: 844px;
	font-size: min(1.6vw, 16px);
	margin: 0 auto;
	line-height: 2
}
@media only screen and (max-width: 767px) {
	.solution.pageDescription h2, .solution.pageDescription p {
		font-size: min(14px, 3.7333333333vw)
	}
}
.solution.pageDescription h2 {
	font-size: min(26px, 2.1666666667vw);
	margin-bottom: min(20px, 1.6666666667vw)
}
@media only screen and (max-width: 767px) {
	.solution.pageDescription h2 {
		font-size: min(24px, 4.8vw);
		margin-bottom: min(40px, 6.6666666667vw)
	}
}
.solution h3 {
	font-size: min(2.3vw, 26px);
	letter-spacing: 1.8px;
	text-align: center
}
@media only screen and (max-width: 767px) {
	.solution h3 {
		display: block;
		font-size: min(22px, 5.8666666667vw)
	}
}
.solution .data {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	gap: 60px min(20px, 1.5325670498vw);
	letter-spacing: min(1.8px, 0.1379310345vw);
	padding: min(110px, 8.4291187739vw) 0
}
.solution .data.library {
	padding: min(55px, 4.214559387vw) 0 min(110px, 8.4291187739vw)
}
@media only screen and (max-width: 767px) {
	.solution .data {
		display: block;
		padding: min(110px, 14.3229166667vw) 0 min(80px, 10.4166666667vw)
	}
	.solution .data.library {
		padding: min(55px, 7.1614583333vw) 0 min(110px, 14.3229166667vw)
	}
}
.solution .data a {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 calc((100% - min(40px, 3.0651340996vw))/3);
	-ms-flex: 1 1 calc((100% - min(40px, 3.0651340996vw))/3);
	flex: 1 1 calc((100% - min(40px, 3.0651340996vw))/3);
	max-width: calc((100% - min(40px, 3.0651340996vw))/3);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #585757;
	color: #fff;
	text-align: left;
	text-decoration: none
}
@media only screen and (max-width: 767px) {
	.solution .data a {
		display: block;
		max-width: 100%;
		margin-bottom: 30px
	}
	.solution .data a:last-child {
		margin-bottom: 0
	}
}
.solution .data a dt {
	overflow: hidden
}
.solution .data a dt img {
	width: 100%;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out
}
.solution .data a strong {
	color: #fff;
	font-size: min(22px, 1.6858237548vw);
	font-weight: normal;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	background: url(../../img/common/icon/bg_arrow_w_b.png) no-repeat calc(100% - 5px) center;
	margin-bottom: min(20px, 1.5325670498vw);
	line-height: 1.4;
	height: 3em;
	padding-right: 20px;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition-duration: 200ms;
	transition-duration: 200ms
}
@media only screen and (max-width: 767px) {
	.solution .data a strong {
		font-size: min(18px, 4.8vw);
		background-size: 12px
	}
}
.solution .data a dd {
	padding: min(50px, 3.8314176245vw) min(25px, 1.8450184502vw);
	line-height: 2;
	position: relative;
	font-size: min(1.6vw, 16px)
}
@media only screen and (max-width: 767px) {
	.solution .data a dd {
		padding: min(50px, 6.5104166667vw) min(42px, 5.46875vw);
		font-size: min(14px, 3.7333333333vw);
		line-height: 2
	}
}
.solution .data a dd span.pdf {
	position: absolute;
	right: min(30px, 2.2988505747vw);
	bottom: min(30px, 2.2988505747vw);
	width: min(30px, 2.2988505747vw);
	height: min(30px, 2.2988505747vw)
}
@media only screen and (max-width: 767px) {
	.solution .data a dd span.pdf {
		width: min(40px, 5.2083333333vw);
		height: min(40px, 5.2083333333vw);
		right: min(30px, 3.90625vw);
		bottom: min(50px, 6.5104166667vw)
	}
}
.solution .data a:hover dt img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1)
}
.solution .data a:hover strong {
	background-position: 100% center
}
.solution .attention {
	font-size: min(1.6vw, 16px);
	padding-bottom: min(50px, 3.8314176245vw)
}
@media only screen and (max-width: 767px) {
	.solution .attention {
		font-size: min(12px, 3.2vw);
		padding-bottom: min(50px, 6.5104166667vw)
	}
}
.solutionChild {
	background-color: #fff
}
.solutionChild .Container {
	max-width: 1100px
}
.solutionChild.pageDescription {
	background-color: #fff;
	padding: min(100px, 8.3333333333vw) min(0px, 0vw);
	letter-spacing: 1.8px
}
@media only screen and (max-width: 767px) {
	.solutionChild.pageDescription {
		padding: min(60px, 16vw) min(0px, 0vw)
	}
}
.solutionChild.pageDescription h2, .solutionChild.pageDescription p {
	font-size: min(1.6vw, 16px);
	margin: 0 auto;
	line-height: 2
}
@media only screen and (max-width: 767px) {
	.solutionChild.pageDescription h2, .solutionChild.pageDescription p {
		font-size: min(14px, 3.7333333333vw)
	}
}
.solutionChild.pageDescription h2 {
	font-size: min(26px, 2.1666666667vw);
	margin-bottom: min(20px, 1.6666666667vw)
}
@media only screen and (max-width: 767px) {
	.solutionChild.pageDescription h2 {
		font-size: min(24px, 4.8vw);
		margin-bottom: min(40px, 10.6666666667vw)
	}
}
.solutionChild .pseItem {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: start;
	-ms-flex-align: start;
	align-items: start;
	margin-bottom: min(60px, 4.5977011494vw);
	letter-spacing: min(2px, 0.153256705vw)
}
.solutionChild .pseItem img {
	width: 250px;
	margin-right: min(40px, 3.0651340996vw)
}
.solutionChild .pseItem dt {
	font-size: min(22px, 2.2vw);
	margin-bottom: min(20px, 1.5325670498vw)
}
.solutionChild .pseItem dd p {
	font-size: min(1.6vw, 16px);
	line-height: 2
}
@media only screen and (max-width: 767px) {
	.solutionChild .pseItem {
		display: block;
		text-align: center
	}
	.solutionChild .pseItem dt {
		font-size: min(18px, 4.8vw);
		margin-bottom: min(20px, 2.6041666667vw);
		text-align: left
	}
	.solutionChild .pseItem dd p {
		font-size: min(14px, 3.7333333333vw);
		line-height: 2;
		text-align: left
	}
}
.solutionChild.childCategory h2 {
	font-size: min(28px, 2.3333333333vw);
	letter-spacing: min(2px, 0.1666666667vw);
	padding: 10px 0;
	border-bottom: 1px solid #727171;
	position: relative;
	margin-bottom: min(40px, 3.0651340996vw)
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory h2 {
		font-size: min(18px, 4.8vw);
		margin-bottom: min(40px, 5.2083333333vw)
	}
}
.solutionChild.childCategory h2::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 110px;
	height: 2px;
	background-color: #c63431
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory h2::before {
		width: 50px
	}
}
.solutionChild.childCategory h3 {
	font-size: min(20px, 1.6666666667vw);
	margin-bottom: 1.5em;
	color: #282828;
	letter-spacing: 1.8px
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory h3 {
		font-size: min(16px, 4.2666666667vw)
	}
}
.solutionChild.childCategory p {
	line-height: 2;
	font-size: min(16px, 1.3333333333vw);
	margin-bottom: 1.5em;
	letter-spacing: 1.8px
}
.solutionChild.childCategory p.ImgOnlyStyle {
	text-align: center;
	margin-bottom: 3em
}
.solutionChild.childCategory p.pdf img {
	width: 26px;
	margin-bottom: 8px
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory p {
		font-size: min(14px, 3.7333333333vw)
	}
}
.solutionChild.childCategory ul {
	margin-bottom: 1.5em
}
.solutionChild.childCategory ul li {
	font-size: min(16px, 1.3333333333vw);
	letter-spacing: 1.8px;
	text-indent: -1em;
	padding-left: 1em
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory ul li {
		font-size: min(14px, 3.7333333333vw)
	}
}
.solutionChild.childCategory img {
	margin-bottom: 2em
}
.solutionChild.childCategory .documents img {
	margin-bottom: .5em
}
.solutionChild.childCategory section {
	padding-bottom: min(70px, 5.3639846743vw)
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory section {
		padding-bottom: min(70px, 9.1145833333vw)
	}
}
.solutionChild.childCategory .issue {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: min(50px, 3.8314176245vw)
}
.solutionChild.childCategory .issue:last-child {
	margin-bottom: min(0px, 0vw)
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory .issue {
		display: block;
		margin-bottom: min(100px, 13.0208333333vw)
	}
}
.solutionChild.childCategory .issue .arrow {
	width: min(60px, 4.5977011494vw);
	padding: 0 10px
}
.solutionChild.childCategory .issue .arrow img {
	margin-bottom: 0
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory .issue .arrow {
		width: 100%;
		text-align: center;
		padding: 0
	}
	.solutionChild.childCategory .issue .arrow img {
		width: 50px;
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg)
	}
}
.solutionChild.childCategory .issue dl {
	width: 48%;
	background-color: #737272;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding: min(30px, 2.2988505747vw)
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory .issue dl {
		width: 100%;
		padding: min(30px, 3.90625vw) 0
	}
}
.solutionChild.childCategory .issue dl dt {
	font-size: min(18px, 1.5vw);
	width: min(80px, 6.1302681992vw);
	padding: 30px 0;
	letter-spacing: min(10px, 0.7662835249vw);
	border-right: 1px solid #fff
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory .issue dl dt {
		width: min(65px, 17.3333333333vw);
		text-align: center;
		font-size: min(15px, 4vw)
	}
}
.solutionChild.childCategory .issue dl dd {
	padding: 0 0 0 5%;
	font-size: min(16px, 1.3333333333vw);
	letter-spacing: min(1.8px, 0.1379310345vw)
}
@media only screen and (max-width: 767px) {
	.solutionChild.childCategory .issue dl dd {
		font-size: min(14px, 3.7333333333vw);
		padding: 0 0 0 10px
	}
}
.solutionChild.childCategory .issue dl.answer {
	background-color: #de8987
}
.innovation {
	background: url(/img/solution/bg_innovation.png) no-repeat top center/cover;
	color: #fff
}
.innovation h2 {
	text-align: center;
	font-size: min(48px, 3.6781609195vw);
	padding: min(180px, 13.7931034483vw) 0 min(100px, 7.662835249vw)
}
.innovation h2 em {
	font-style: normal;
	font-size: min(24px, 1.8390804598vw)
}
@media only screen and (max-width: 767px) {
	.innovation h2 {
		font-size: min(20px, 5.3333333333vw)
	}
	.innovation h2 em {
		font-size: min(13px, 3.4666666667vw)
	}
}
.innovation p {
	letter-spacing: min(1.8px, 0.1636363636vw)
}
.innovation .Container.Wide {
	max-width: 1100px;
	padding-bottom: min(120px, 10.9090909091vw)
}
@media only screen and (max-width: 767px) {
	.innovation .Container.Wide {
		padding-bottom: min(80px, 21.3333333333vw)
	}
}
.innovation .picture {
	position: relative;
	margin-bottom: min(80px, 7.2727272727vw)
}
.innovation .picture .description {
	font-size: min(20px, 1.8181818182vw);
	padding: min(20px, 1.8181818182vw) min(20px, 1.8181818182vw) min(20px, 1.8181818182vw) min(90px, 8.1818181818vw);
	background: url(/img/solution/bg_innovation_pic.png) no-repeat left center/cover;
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 0;
	letter-spacing: min(1.8px, 0.1636363636vw)
}
@media only screen and (max-width: 767px) {
	.innovation .picture {
		margin-bottom: min(50px, 13.3333333333vw)
	}
	.innovation .picture .description {
		font-size: min(12px, 3.2vw);
		padding: min(10px, 2.6666666667vw) min(10px, 2.6666666667vw) min(10px, 2.6666666667vw) min(50px, 13.3333333333vw)
	}
}
.innovation .text {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: start;
	-ms-flex-align: start;
	align-items: start;
	padding-bottom: min(100px, 9.0909090909vw)
}
.innovation .text h3 {
	width: min(250px, 22.7272727273vw);
	height: min(280px, 25.4545454545vw);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	color: #fff;
	background: url(/img/solution/bg_innovation_title.svg) no-repeat center/cover;
	margin-right: min(100px, 9.0909090909vw);
	font-size: min(22px, 2vw);
	letter-spacing: min(5px, 0.4545454545vw);
	position: relative;
	line-height: 2
}
.innovation .text h3 span {
	position: absolute;
	top: 33%;
	left: 14%
}
.innovation .text dl {
	width: calc(100% - 350px);
	letter-spacing: min(1.8px, 0.1636363636vw)
}
.innovation .text dl dt {
	font-size: min(26px, 2.3636363636vw);
	margin-bottom: min(40px, 3.6363636364vw);
	line-height: 2
}
.innovation .text dl dd {
	font-size: min(18px, 1.6363636364vw);
	line-height: 2
}
@media only screen and (max-width: 767px) {
	.innovation .text {
		display: block
	}
	.innovation .text h3 {
		display: block;
		width: 100%;
		height: auto;
		background: url(/img/solution/bg_innovation_title_sp.svg) no-repeat center/cover;
		margin-right: 0;
		font-size: min(18px, 4.8vw);
		letter-spacing: min(5px, 1.3333333333vw);
		text-align: center;
		padding: 10px 0;
		margin-bottom: min(30px, 8vw)
	}
	.innovation .text h3 span {
		position: static
	}
	.innovation .text dl {
		width: 100%;
		letter-spacing: min(1.8px, 0.1636363636vw)
	}
	.innovation .text dl dt {
		font-size: min(18px, 4.8vw);
		margin-bottom: min(20px, 5.3333333333vw);
		line-height: 2
	}
	.innovation .text dl dd {
		font-size: min(14px, 3.7333333333vw);
		line-height: 2
	}
}
.products {
	position: relative
}
.products h1, .products h2, .products p {
	max-width: 800px;
	margin: 0 auto;
	color: #fff
}
.products h1 {
	font-size: min(36px, 2.7586206897vw);
	padding-top: min(172px, 13.1800766284vw);
	padding-bottom: min(30px, 2.2988505747vw);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: bold;
	letter-spacing: min(4px, 0.30651341vw)
}
@media only screen and (max-width: 767px) {
	.products h1 {
		font-size: min(20px, 5.3333333333vw);
		margin-bottom: min(20px, 5.3333333333vw)
	}
}
.products p {
	font-size: min(18px, 1.8vw);
	text-align: center;
	line-height: 2;
	margin-bottom: min(60px, 4.5977011494vw);
	letter-spacing: min(2px, 0.153256705vw)
}
@media only screen and (max-width: 767px) {
	.products p {
		font-size: min(12px, 3.2vw);
		margin-bottom: min(50px, 6.5104166667vw)
	}
}
.products .textArea {
	position: absolute;
	top: 0vw;
	left: 0;
	right: 0;
	z-index: 1
}
.products .picArea img {
	width: 100%
}
.products .field {
	position: absolute;
	z-index: 2
}
.products .field dt {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background: #1b6896;
	color: #fff;
	font-size: min(14px, 1.0727969349vw);
	padding: min(10px, 0.7662835249vw) min(8px, 0.6130268199vw);
	line-height: 1.6em;
	position: relative;
	cursor: pointer;
	letter-spacing: min(2px, 0.153256705vw)
}
.products .field dt span {
	-webkit-align-self: flex-start;
	-ms-flex-item-align: start;
	align-self: flex-start;
	background: #0090d5;
	font-size: min(8px, 0.6130268199vw);
	padding: min(6px, 0.4597701149vw) min(5px, 0.3831417625vw);
	margin-right: min(10px, 0.7662835249vw)
}
.products .field dt span.hard {
	background: #389638
}
.products .field dt.orange {
	background: #d67266
}
.products .field dt::before, .products .field dt::after {
	content: "";
	display: inline-block;
	width: min(16px, 1.2260536398vw);
	height: min(2px, 0.153256705vw);
	background-color: #fff;
	position: absolute;
	right: min(10px, 0.7662835249vw);
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: opacity .2s;
	transition: opacity .2s
}
.products .field dt::after {
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
	-webkit-transition: -webkit-transform .2s;
	transition: -webkit-transform .2s;
	transition: transform .2s;
	transition: transform .2s, -webkit-transform .2s
}
.products .field dd {
	padding: min(12px, 0.9195402299vw);
	color: #595757;
	font-size: min(14px, 1.0727969349vw);
	display: none;
	background: #fff
}
.products .field dd a {
	display: block;
	background: #1b6896;
	font-size: min(12px, 0.9195402299vw);
	color: #fff;
	text-decoration: none;
	padding: min(10px, 0.7662835249vw);
	-webkit-transition: none;
	transition: none;
	margin-top: 10px
}
.products .field.show dt::before {
	opacity: 0
}
.products .field.show dt::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg)
}
.products .field.n1 {
	top: 25.5%;
	right: 75%;
	width: min(253px, 19.3869731801vw);
	z-index: 20
}
.products .field.n2 {
	top: 28.5%;
	left: 30%;
	width: min(270px, 20.6896551724vw);
	z-index: 19
}
.products .field.n3 {
	top: 37%;
	left: 30%;
	width: min(255px, 19.5402298851vw);
	z-index: 18
}
.products .field.n4 {
	top: 41%;
	right: 79%;
	width: min(210px, 16.091954023vw);
	z-index: 17
}
.products .field.n5 {
	top: 34.5%;
	left: 52%;
	width: min(220px, 16.8582375479vw);
	z-index: 16
}
.products .field.n6 {
	top: 44%;
	right: 45.5%;
	width: min(285px, 21.8390804598vw);
	z-index: 15
}
.products .field.n7 {
	top: 42%;
	left: 60%;
	width: min(285px, 21.8390804598vw);
	z-index: 14
}
.products .field.n8 {
	top: 45%;
	right: 10%;
	width: min(300px, 22.9885057471vw);
	z-index: 13
}
.products .field.n9 {
	top: 35%;
	left: 70%;
	width: min(305px, 23.3716475096vw);
	z-index: 17
}
.products .field.n10 {
	top: 57%;
	right: 3%;
	width: min(250px, 19.1570881226vw);
	z-index: 11
}
.products .field.n11 {
	top: 57.5%;
	left: 56%;
	width: min(260px, 19.9233716475vw);
	z-index: 10
}
.products .field.n12 {
	top: 63.5%;
	left: 51%;
	width: min(190px, 14.5593869732vw);
	z-index: 9
}
.products .field.n13 {
	top: 56%;
	right: 62%;
	width: min(320px, 24.5210727969vw);
	z-index: 8
}
.products .field.n14 {
	top: 61%;
	right: 74%;
	width: min(285px, 21.8390804598vw);
	z-index: 7
}
.products .field.n15 {
	top: 70%;
	right: 77%;
	width: min(255px, 19.5402298851vw);
	z-index: 6
}
.products .field.n16 {
	top: 73%;
	left: 33%;
	width: min(272px, 20.8429118774vw);
	z-index: 5
}
.products .field.n17 {
	top: 67%;
	left: 80%;
	width: min(190px, 14.5593869732vw);
	z-index: 4
}
.products .field.n18 {
	top: 78.5%;
	left: 52%;
	width: min(223px, 17.0881226054vw);
	z-index: 3
}
.products .field.n19 {
	top: 71%;
	right: 21%;
	width: min(190px, 14.5593869732vw);
	z-index: 5
}
.products .field.n20 {
	top: 77.5%;
	right: 2%;
	width: min(300px, 22.9885057471vw);
	z-index: 2
}
@media only screen and (max-width: 767px) {
	.products .field dt {
		font-size: min(12px, 2.8571428571vw);
		padding: min(8px, 1.9047619048vw) min(6px, 1.4285714286vw);
		line-height: 1.6em;
		letter-spacing: 1px
	}
	.products .field dt span {
		display: inline-block;
		font-size: min(8px, 1.9047619048vw);
		padding: min(8px, 2.1333333333vw) min(5px, 1.1904761905vw);
		margin-right: min(10px, 2.380952381vw);
		letter-spacing: 1px
	}
	.products .field dt::before, .products .field dt::after {
		width: min(16px, 3.8095238095vw);
		height: min(2px, 0.4761904762vw);
		right: min(10px, 2.380952381vw)
	}
	.products .field dd {
		padding: min(12px, 2.8571428571vw) min(12px, 2.8571428571vw);
		font-size: min(12px, 3.2vw)
	}
	.products .field dd a {
		font-size: min(9px, 2.4vw);
		padding: min(5px, 1.3333333333vw) min(8px, 2.1333333333vw)
	}
	.products .field.n1 {
		top: 12.5%;
		left: 3%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n2 {
		top: 13.5%;
		left: auto;
		right: 3%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n3 {
		top: 20%;
		left: auto;
		right: 6%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n4 {
		top: 22%;
		right: auto;
		left: 3%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n5 {
		top: 25.5%;
		left: auto;
		right: 6%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n6 {
		top: 28.5%;
		left: 3%;
		right: auto;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n7 {
		top: 32.1%;
		left: auto;
		right: 3%;
		width: min(210px, 48.8372093023vw)
	}
	.products .field.n8 {
		top: 35%;
		left: 3%;
		right: auto;
		width: min(220px, 51.1627906977vw)
	}
	.products .field.n9 {
		top: 38.2%;
		left: auto;
		right: 3%;
		width: min(220px, 51.1627906977vw);
		z-index: 12
	}
	.products .field.n10 {
		top: 43.5%;
		left: auto;
		right: 3%;
		width: min(210px, 48.8372093023vw)
	}
	.products .field.n11 {
		top: 46%;
		left: 3%;
		right: auto;
		width: min(230px, 53.488372093vw)
	}
	.products .field.n12 {
		top: 51.4%;
		left: auto;
		right: 3%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n13 {
		top: 54%;
		left: 3%;
		right: auto;
		width: min(230px, 53.488372093vw)
	}
	.products .field.n14 {
		top: 59%;
		left: auto;
		right: 3%;
		width: min(200px, 46.511627907vw)
	}
	.products .field.n15 {
		top: 63.5%;
		left: 6%;
		right: auto;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n16 {
		top: 66.6%;
		left: auto;
		right: 3%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n17 {
		top: 72.7%;
		left: 6%;
		right: auto;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n18 {
		top: 75%;
		left: auto;
		right: 3%;
		width: min(190px, 44.1860465116vw)
	}
	.products .field.n19 {
		top: 79.5%;
		left: 3%;
		right: auto;
		width: min(190px, 44.1860465116vw);
		z-index: 2
	}
	.products .field.n20 {
		top: 82%;
		left: 21%;
		right: auto;
		width: min(270px, 62.7906976744vw);
		z-index: 1
	}
}
main.products2 {
	background-color: #f3f3f4;
	padding-bottom: min(100px, 7.662835249vw)
}
main.products2 p {
	padding: min(60px, 4.5977011494vw) 0 min(100px, 7.662835249vw)
}
main.products2 table {
	width: 100%;
	margin: 0
}
main.products2 table thead th {
	background-color: #585757;
	text-align: center;
	letter-spacing: .2em;
	color: #fff;
	font-weight: bold
}
main.products2 table thead .area {
	width: 10%
}
main.products2 table thead .defense {
	width: 20%
}
main.products2 table thead .societies {
	width: 20%
}
main.products2 table thead .summary {
	width: 40%
}
main.products2 table tbody th {
	text-align: center;
	font-weight: bold;
	letter-spacing: .2em
}
main.products2 table th, main.products2 table td {
	border: solid 1px #818181;
	padding: min(20px, 1.5325670498vw)
}
main.products2 table .item {
	width: 38%
}
main.products2 table .year1 {
	width: 16%
}
main.products2 table td {
	text-align: left
}
main.products2 table .universe th {
	background: #305496;
	color: #fff
}
main.products2 table .universe td {
	background: #d6ddea
}
main.products2 table .airlines th {
	background: #bdd7ee
}
main.products2 table .airlines td {
	background: #f2f7fc
}
main.products2 table .land th {
	background: #c6e0b4
}
main.products2 table .land td {
	background: #f4f9f0
}
main.products2 table .onwater th {
	background: #2f75b5;
	color: #fff
}
main.products2 table .onwater td {
	background: #d5e3f0
}
main.products2 table .underwater th {
	background: #203764;
	color: #fff
}
main.products2 table .underwater td {
	background: #d2d7e0
}
@media only screen and (max-width: 767px) {
	main.products2 table {
		margin-bottom: min(40px, 5.2083333333vw)
	}
	main.products2 table thead .area {
		width: 14%
	}
}
.activity {
	background-color: #f3f3f4
}
.activity .pageDescription {
	padding: min(50px, 4.1666666667vw) min(0px, 0vw) min(110px, 9.1666666667vw);
	letter-spacing: 1.8px
}
@media only screen and (max-width: 767px) {
	.activity .pageDescription {
		padding: min(60px, 10vw) min(0px, 0vw)
	}
}
.activity .pageDescription h2, .activity .pageDescription p {
	font-size: min(1.6vw, 16px);
	margin: 0 auto;
	line-height: 2
}
@media only screen and (max-width: 767px) {
	.activity .pageDescription h2, .activity .pageDescription p {
		font-size: min(14px, 3.7333333333vw)
	}
}
.activity h3 {
	font-size: min(2.3vw, 26px);
	letter-spacing: 1.8px;
	text-align: center
}
@media only screen and (max-width: 767px) {
	.activity h3 {
		display: block;
		font-size: min(22px, 5.8666666667vw)
	}
}
.activity .data {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	gap: 60px 20px;
	letter-spacing: 1.8px;
	padding: min(0px, 0vw) 0 min(110px, 8.4291187739vw)
}
.activity .data.library {
	padding: min(55px, 4.214559387vw) 0 min(110px, 8.4291187739vw)
}
@media only screen and (max-width: 767px) {
	.activity .data {
		display: block;
		padding: 0 0 min(110px, 14.3229166667vw) 0
	}
	.activity .data.library {
		padding: min(55px, 7.1614583333vw) 0 min(110px, 14.3229166667vw)
	}
}
.activity .data dl {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 calc((100% - 40px)/3);
	-ms-flex: 1 1 calc((100% - 40px)/3);
	flex: 1 1 calc((100% - 40px)/3);
	max-width: calc((100% - 40px)/3);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #fff;
	color: #2d2d2d;
	text-align: left
}
@media only screen and (max-width: 767px) {
	.activity .data dl {
		display: block;
		max-width: 100%;
		margin-bottom: 30px
	}
	.activity .data dl:last-child {
		margin-bottom: 0
	}
}
.activity .data dl dt img {
	width: 100%
}
.activity .data dl strong {
	font-size: min(1.9vw, 22px);
	font-weight: normal;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: min(20px, 1.5325670498vw);
	line-height: 1.4;
	padding-right: 20px;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
@media only screen and (max-width: 767px) {
	.activity .data dl strong {
		font-size: min(18px, 4.8vw);
		background-size: 12px
	}
}
.activity .data dl dd {
	padding: min(50px, 3.8314176245vw) min(30px, 2.2988505747vw);
	line-height: 2;
	position: relative;
	font-size: min(1.6vw, 16px)
}
@media only screen and (max-width: 767px) {
	.activity .data dl dd {
		padding: min(50px, 6.5104166667vw) min(42px, 5.46875vw);
		font-size: min(14px, 3.7333333333vw);
		line-height: 2
	}
}
.activity .data dl dd span.pdf {
	position: absolute;
	right: min(30px, 2.2988505747vw);
	bottom: min(30px, 2.2988505747vw);
	width: min(30px, 2.2988505747vw);
	height: min(30px, 2.2988505747vw)
}
@media only screen and (max-width: 767px) {
	.activity .data dl dd span.pdf {
		width: min(40px, 5.2083333333vw);
		height: min(40px, 5.2083333333vw);
		right: min(30px, 3.90625vw);
		bottom: min(50px, 6.5104166667vw)
	}
}
.activity .attention {
	font-size: min(1.6vw, 16px);
	margin-bottom: min(100px, 7.662835249vw)
}
main.company {
	background-color: #fff;
	padding-bottom: min(100px, 7.662835249vw)
}
@media only screen and (max-width: 767px) {
	main.company {
		padding-bottom: min(100px, 13.0208333333vw)
	}
}
main.company p.pdflink {
	margin-bottom: min(30px, 2.2988505747vw)
}
@media only screen and (max-width: 767px) {
	main.company p.pdflink {
		margin-bottom: min(30px, 3.90625vw)
	}
}
main.company p.pdflink img {
	width: 26px;
	vertical-align: middle
}
@media only screen and (max-width: 767px) {
	main.company p.pdflink img {
		width: 22px
	}
}
main.company .data {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	gap: 50px;
	letter-spacing: 1.8px;
	padding: min(110px, 8.4291187739vw) 0 min(50px, 3.8314176245vw)
}
@media only screen and (max-width: 767px) {
	main.company .data {
		display: block;
		padding: min(110px, 14.3229166667vw) 0 min(50px, 6.5104166667vw)
	}
}
main.company .data a {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 calc((100% - 50px)/2);
	-ms-flex: 1 1 calc((100% - 50px)/2);
	flex: 1 1 calc((100% - 50px)/2);
	max-width: calc((100% - 50px)/2);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: left;
	text-decoration: none;
	color: #282828
}
@media only screen and (max-width: 767px) {
	main.company .data a {
		display: block;
		max-width: 100%;
		margin-bottom: 30px
	}
	main.company .data a:last-child {
		margin-bottom: 0
	}
}
main.company .data a dt {
	overflow: hidden
}
main.company .data a dt img {
	width: 100%;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out
}
main.company .data a strong {
	color: #282828;
	font-size: min(24px, 1.8390804598vw);
	font-weight: 500;
	display: block;
	margin-bottom: min(16px, 1.2260536398vw);
	line-height: 1.4
}
@media only screen and (max-width: 767px) {
	main.company .data a strong {
		font-size: min(18px, 4.8vw)
	}
}
main.company .data a dd {
	padding: min(36px, 2.7586206897vw) 0;
	line-height: 1.8;
	position: relative;
	font-size: min(1.6vw, 16px);
	background: url(../../img/common/icon/bg_arrow.png) no-repeat calc(100% - 15px) center;
	-webkit-transition-duration: 200ms;
	transition-duration: 200ms
}
@media only screen and (max-width: 767px) {
	main.company .data a dd {
		font-size: min(14px, 3.7333333333vw);
		padding: min(36px, 4.6875vw) 0;
		background-size: min(20px, 2.6041666667vw)
	}
}
main.company .data a dd span.pdf {
	position: absolute;
	right: min(30px, 2.2988505747vw);
	bottom: min(30px, 2.2988505747vw);
	width: 30px;
	height: 30px
}
main.company .data a:hover dt img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1)
}
main.company .data a:hover dd {
	background-position: calc(100% - 10px) center
}
main.company .attention {
	padding: min(20px, 1.5325670498vw);
	background: #f2f2f2
}
@media only screen and (max-width: 767px) {
	main.company .attention {
		padding: min(20px, 2.6041666667vw)
	}
}
.about.headerTitle {
	text-align: center;
	height: min(400px, 30.6513409962vw);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
@media only screen and (max-width: 767px) {
	.about.headerTitle {
		height: min(400px, 52.0833333333vw)
	}
}
.about.headerTitle h1 {
	font-size: min(32px, 2.4521072797vw);
	letter-spacing: 5px;
	color: #fff
}
@media only screen and (max-width: 767px) {
	.about.headerTitle h1 {
		font-size: min(20px, 5.3333333333vw);
		letter-spacing: 2px
	}
}
.about.headerTitle.outline {
	background: url(../../img/about/outline/head.png) no-repeat center/cover
}
.about.headerTitle.education {
	background: url(../../img/about/education/head.png) no-repeat center/cover
}
.about.headerTitle.health {
	background: url(../../img/about/health/head.png) no-repeat center/cover
}
.about.headerTitle.history {
	background: url(../../img/about/history/head.png) no-repeat center/cover
}
.about.navigation {
	background-color: #fff;
	padding-bottom: min(110px, 8.4291187739vw)
}
.about.navigation h2 {
	font-size: min(2.6vw, 26px);
	color: #282828;
	text-align: center;
	padding: min(110px, 8.4291187739vw) 0 min(50px, 3.8314176245vw)
}
@media only screen and (max-width: 767px) {
	.about.navigation h2 {
		font-size: min(20px, 5.3333333333vw);
		padding: min(90px, 11.71875vw) 0 min(90px, 11.71875vw)
	}
}
.about.navigation .link {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 15px;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center
}
@media only screen and (max-width: 1000px) {
	.about.navigation .link {
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between
	}
}
@media only screen and (max-width: 767px) {
	.about.navigation .link {
		display: block
	}
}
.about.navigation .link a {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 calc((100% - 45px)/4);
	-ms-flex: 1 1 calc((100% - 45px)/4);
	flex: 1 1 calc((100% - 45px)/4);
	max-width: calc((100% - 45px)/4);
	text-decoration: none;
	display: block
}
@media only screen and (max-width: 1000px) {
	.about.navigation .link a {
		-webkit-box-flex: 1;
		-webkit-flex: 1 1 calc((100% - 20px)/2);
		-ms-flex: 1 1 calc((100% - 20px)/2);
		flex: 1 1 calc((100% - 20px)/2);
		max-width: calc((100% - 20px)/2)
	}
}
@media only screen and (max-width: 767px) {
	.about.navigation .link a {
		max-width: 100%;
		margin-bottom: min(30px, 3.90625vw)
	}
	.about.navigation .link a:last-child {
		margin-bottom: 0
	}
}
.about.navigation .link a dl dt {
	margin-bottom: 5px;
	overflow: hidden
}
.about.navigation .link a dl dt img {
	width: 100%;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out
}
.about.navigation .link a dl dd {
	line-height: 1.4;
	font-size: min(15px, 1.1494252874vw);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background: #b1000e url(../../img/common/icon/bg_arrow_w.png) no-repeat calc(100% - 15px) center;
	color: #fff;
	padding: min(0px, 0vw) min(15px, 1.1494252874vw);
	height: min(60px, 4.5977011494vw);
	text-decoration: none;
	-webkit-transition-duration: 200ms;
	transition-duration: 200ms
}
@media only screen and (max-width: 767px) {
	.about.navigation .link a dl dd {
		padding: min(15px, 4vw) min(15px, 4vw);
		font-size: min(16px, 4.2666666667vw);
		height: min(60px, 7.8125vw)
	}
}
.about.navigation .link a dl dd:hover {
	background-position: calc(100% - 10px) center
}
.about.navigation .link a:hover dt img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1)
}
.about.navigation .link a:hover dd {
	background-position: calc(100% - 10px) center
}
.about.his {
	padding-bottom: min(80px, 6.1302681992vw)
}
@media only screen and (max-width: 767px) {
	.about.his {
		padding: min(90px, 11.71875vw) 0 min(0px, 0vw)
	}
}
.vision .data {
	background: url(../../img/about/vision/background.png) no-repeat center bottom;
	background-size: cover;
	text-align: center;
	padding-bottom: min(110.1305px, 29.3681333333vw)
}
.vision .data .Container {
	padding: 0 25px
}
.vision .data h1, .vision .data h2, .vision .data p {
	max-width: 700px;
	margin: 0 auto;
	color: #fff
}
.vision .data h1 {
	font-size: min(32px, 2.4521072797vw);
	height: min(400px, 30.6513409962vw);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
@media only screen and (max-width: 767px) {
	.vision .data h1 {
		font-size: min(20px, 5.3333333333vw);
		height: min(400px, 52.0833333333vw)
	}
}
.vision .data h2 {
	font-size: min(26px, 1.9923371648vw);
	text-align: left;
	line-height: 2;
	margin-bottom: min(50px, 3.8314176245vw)
}
@media only screen and (max-width: 767px) {
	.vision .data h2 {
		font-size: min(18px, 4.8vw)
	}
}
.vision .data p {
	font-size: min(18px, 1.8vw);
	text-align: left;
	line-height: 2;
	margin-bottom: min(60px, 4.5977011494vw)
}
@media only screen and (max-width: 767px) {
	.vision .data p {
		font-size: min(14.4px, 3.84vw);
		margin-bottom: min(50px, 6.5104166667vw)
	}
}
.vision .data img {
	width: 100%;
	max-width: 700px;
	margin-bottom: min(30px, 2.2988505747vw)
}
main.outline {
	background-color: #f3f3f4
}
main.outline .data {
	padding-bottom: min(110px, 8.4291187739vw)
}
main.outline h2 {
	font-size: min(2.6vw, 26px);
	color: #282828;
	text-align: center;
	padding: min(110px, 8.4291187739vw) 0 min(50px, 3.8314176245vw)
}
@media only screen and (max-width: 767px) {
	main.outline h2 {
		font-size: min(18px, 4.8vw);
		padding: min(90px, 11.71875vw) 0 min(90px, 11.71875vw)
	}
}
main.outline .table {
	max-width: 950px;
	margin: 0 auto;
	font-size: min(1.6vw, 16px)
}
main.outline .table dl:last-child {
	border-bottom: 1px solid #c8c8c8
}
@media only screen and (max-width: 767px) {
	main.outline .table dl {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		font-size: 12px
	}
}
main.outline .table dt {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 170px;
	min-width: 170px;
	letter-spacing: 2px
}
@media only screen and (max-width: 767px) {
	main.outline .table dt {
		max-width: 90px;
		min-width: 90px;
		border-bottom: 0;
		padding: min(12px, 3.2vw)
	}
}
main.outline .table dd {
	width: 100%;
	padding: min(35px, 2.6819923372vw) min(65px, 4.9808429119vw);
	line-height: 2
}
main.outline .table dd.officer {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex
}
main.outline .table dd.officer div {
	width: 50%
}
main.outline .access {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	max-width: 950px;
	margin: 0 auto min(110px, 8.4291187739vw)
}
@media only screen and (max-width: 767px) {
	main.outline .access {
		display: block
	}
}
main.outline .access .map {
	max-width: 530px
}
@media only screen and (max-width: 767px) {
	main.outline .access .map {
		max-width: none;
		width: 100%
	}
}
main.outline .access dl {
	background: #fff;
	padding: 42px
}
@media only screen and (max-width: 767px) {
	main.outline .access dl {
		padding: min(30px, 3.90625vw)
	}
}
main.outline .access dl dt {
	margin-bottom: 30px
}
main.outline .access dl dt img {
	width: 100%
}
main.outline .access dl dd {
	line-height: 1.8
}
main.education {
	background-color: #f3f3f4
}
main.education .description {
	padding: min(60px, 4.5977011494vw) 0;
	font-size: min(1.6vw, 16px)
}
@media only screen and (max-width: 767px) {
	main.education .description {
		font-size: min(14px, 3.7333333333vw)
	}
}
main.education h2 {
	background: #75788c;
	color: #fff;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: min(84px, 6.4367816092vw);
	font-size: min(26px, 1.9923371648vw);
	letter-spacing: 5px
}
@media only screen and (max-width: 767px) {
	main.education h2 {
		height: min(100px, 13.0208333333vw);
		font-size: min(16px, 4.2666666667vw)
	}
}
main.education p {
	padding: min(55px, 4.214559387vw) min(40px, 3.0651340996vw) min(70px, 5.3639846743vw);
	font-size: min(1.6vw, 16px);
	line-height: 2
}
@media only screen and (max-width: 767px) {
	main.education p {
		font-size: min(14px, 3.7333333333vw);
		padding: min(35px, 4.5572916667vw) 0 min(60px, 7.8125vw)
	}
}
main.education h3 {
	background: #a3a5b4;
	color: #fff;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: min(65px, 4.9808429119vw);
	font-size: min(18px, 1.8vw);
	letter-spacing: 5px;
	margin: 0 min(40px, 3.0651340996vw)
}
@media only screen and (max-width: 767px) {
	main.education h3 {
		height: min(100px, 13.0208333333vw);
		font-size: min(16px, 4.2666666667vw);
		margin: 0
	}
}
main.education section.program {
	margin: 0 min(40px, 3.0651340996vw) min(90px, 6.8965517241vw);
	background: #ececec;
	padding: min(0px, 0vw) min(40px, 3.0651340996vw) min(80px, 6.1302681992vw)
}
@media only screen and (max-width: 767px) {
	main.education section.program {
		margin: 0;
		padding: 0;
		background: rgba(0, 0, 0, 0)
	}
}
main.education section.program p {
	padding: min(55px, 4.214559387vw) 0 min(90px, 6.8965517241vw)
}
@media only screen and (max-width: 767px) {
	main.education section.program p {
		font-size: min(14px, 3.7333333333vw);
		padding: min(35px, 4.5572916667vw) 0 min(60px, 7.8125vw)
	}
}
main.education section.program h4 {
	font-size: min(18px, 1.3793103448vw);
	text-align: center;
	margin-bottom: min(40px, 3.0651340996vw)
}
@media only screen and (max-width: 767px) {
	main.education section.program h4 {
		font-size: min(14px, 3.7333333333vw)
	}
}
main.education section.program table.first {
	width: 100%;
	border: 0px solid #ececec;
	margin-bottom: min(90px, 6.8965517241vw)
}
main.education section.program table.first th, main.education section.program table.first td {
	border: 5px solid #ececec;
	font-size: min(1.6vw, 16px);
	padding: 20px
}
@media only screen and (max-width: 767px) {
	main.education section.program table.first th, main.education section.program table.first td {
		font-size: min(11.5px, 3.0666666667vw);
		padding: 10px 5px;
		border: 3px solid #f3f3f4
	}
}
main.education section.program table.first th {
	background-color: #303030;
	color: #fff;
	text-align: center
}
main.education section.program table.first th.offjt {
	width: 20%
}
main.education section.program table.first th.year {
	width: 40%;
	background-color: #b1000e;
	padding: 5px;
	letter-spacing: 3px
}
main.education section.program table.first th.tra {
	background: rgba(0, 0, 0, 0)
}
main.education section.program table.first td {
	line-height: 2.5;
	vertical-align: top
}
main.education section.program table.first td ul {
	padding-left: 2em
}
main.education section.program table.first td ul li {
	list-style: disc;
	margin-bottom: .7em
}
main.education section.program table.first td ul li:last-child {
	margin-bottom: 0
}
main.education section.program table.second {
	width: 100%;
	border: 0px solid #ececec;
	margin-bottom: min(80px, 10.4166666667vw)
}
main.education section.program table.second th, main.education section.program table.second td {
	border: 5px solid #ececec;
	font-size: min(1.6vw, 16px);
	padding: 15px 5px
}
@media only screen and (max-width: 767px) {
	main.education section.program table.second th, main.education section.program table.second td {
		font-size: min(11.5px, 3.0666666667vw);
		padding: 10px 5px;
		border: 3px solid #f3f3f4
	}
}
main.education section.program table.second th {
	width: 180px;
	background-color: #303030;
	color: #fff;
	text-align: center
}
main.education section.program table.second td {
	text-align: center
}
main.education section.program table.second td.level {
	width: 160px
}
main.education .implementation {
	margin: 0 min(40px, 3.0651340996vw) min(90px, 6.8965517241vw);
	padding: min(60px, 4.5977011494vw) min(40px, 3.0651340996vw) 0
}
@media only screen and (max-width: 767px) {
	main.education .implementation {
		margin: 0;
		padding: 0;
		background: rgba(0, 0, 0, 0)
	}
}
main.education .implementation dl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 30px
}
@media only screen and (max-width: 767px) {
	main.education .implementation dl {
		display: block
	}
}
@media only screen and (max-width: 767px) {
	main.education .implementation dl dt img {
		width: 100%;
		padding: min(35px, 4.5572916667vw) 0
	}
}
main.education .implementation dl dd {
	max-width: 768px;
	line-height: 2;
	font-size: min(1.6vw, 16px)
}
@media only screen and (max-width: 767px) {
	main.education .implementation dl dd {
		margin-bottom: min(80px, 10.4166666667vw);
		font-size: min(14px, 3.7333333333vw)
	}
}
main.education .welfare {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: 15px;
	padding: 0 min(40px, 3.0651340996vw) min(70px, 5.3639846743vw)
}
@media only screen and (max-width: 767px) {
	main.education .welfare {
		display: block;
		padding: 0 0 min(70px, 9.1145833333vw)
	}
}
main.education .welfare .block {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 calc((100% - 15px)/2);
	-ms-flex: 1 1 calc((100% - 15px)/2);
	flex: 1 1 calc((100% - 15px)/2);
	max-width: calc((100% - 15px)/2);
	background: #fff;
	position: relative;
	padding: min(30px, 2.2988505747vw);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start
}
@media only screen and (max-width: 767px) {
	main.education .welfare .block {
		max-width: 100%;
		margin-bottom: 20px;
		padding: min(40px, 5.2083333333vw)
	}
}
main.education .welfare .block img {
	max-width: 90px
}
@media only screen and (max-width: 767px) {
	main.education .welfare .block img {
		max-width: 16%
	}
}
main.education .welfare .block dl {
	padding-left: 30px
}
@media only screen and (max-width: 767px) {
	main.education .welfare .block dl {
		max-width: 100%;
		margin-bottom: 20px;
		font-size: lp(14, 768)
	}
}
main.education .welfare .block dl dt {
	color: #b1000e;
	padding-top: min(25px, 1.9157088123vw);
	margin-bottom: min(40px, 3.0651340996vw);
	font-size: min(25px, 1.9157088123vw)
}
@media only screen and (max-width: 767px) {
	main.education .welfare .block dl dt {
		max-width: 100%;
		margin-bottom: 20px;
		font-size: min(32px, 4.1666666667vw)
	}
}
main.education .welfare .block dl dd {
	line-height: 2.2;
	font-size: min(1.6vw, 16px)
}
@media only screen and (max-width: 767px) {
	main.education .welfare .block dl dd {
		font-size: min(14px, 3.7333333333vw)
	}
}
main.education .welfare .block dl dd span {
	display: block;
	color: #b1000e;
	font-size: min(25px, 1.9157088123vw);
	line-height: 1.5;
	margin-bottom: min(20px, 1.5325670498vw)
}
@media only screen and (max-width: 767px) {
	main.education .welfare .block dl dd span {
		font-size: min(32px, 4.1666666667vw)
	}
}
main.education .welfare .block dl dd span strong {
	color: #b1000e;
	font-size: min(40px, 3.0651340996vw)
}
@media only screen and (max-width: 767px) {
	main.education .welfare .block dl dd span strong {
		font-size: min(48px, 6.25vw)
	}
}
.health {
	background-color: #f3f3f4
}
.health .description {
	padding: min(60px, 4.5977011494vw) 0
}
.health .description p {
	padding: 0 0 min(100px, 7.662835249vw)
}
.health .description .block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start
}
@media only screen and (max-width: 767px) {
	.health .description .block {
		display: block
	}
}
.health .description .block img {
	width: 50%
}
@media only screen and (max-width: 767px) {
	.health .description .block img {
		width: 100%;
		margin-bottom: 25px
	}
}
.health .description .block dl {
	width: 50%;
	padding-left: 30px
}
@media only screen and (max-width: 767px) {
	.health .description .block dl {
		width: 100%;
		padding: 0
	}
}
.health .description .block dl dt {
	font-size: min(26px, 1.9923371648vw);
	margin-bottom: min(20px, 1.5325670498vw);
	letter-spacing: 5px
}
@media only screen and (max-width: 767px) {
	.health .description .block dl dt {
		font-size: min(18px, 4.8vw);
		margin-bottom: min(20px, 5.3333333333vw)
	}
}
.health .description .block dl dd {
	font-size: min(1.6vw, 16px);
	line-height: 2;
	margin-bottom: min(40px, 3.0651340996vw)
}
.health .description .block dl dd.name {
	font-size: min(1.4vw, 14px)
}
@media only screen and (max-width: 767px) {
	.health .description .block dl dd {
		font-size: min(14px, 3.7333333333vw)
	}
	.health .description .block dl dd.name {
		font-size: min(12px, 3.2vw)
	}
}
.health h2 {
	background: #75788c;
	color: #fff;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: min(84px, 6.4367816092vw);
	font-size: min(26px, 1.9923371648vw);
	letter-spacing: 5px
}
@media only screen and (max-width: 767px) {
	.health h2 {
		height: min(100px, 13.0208333333vw);
		font-size: min(16px, 4.2666666667vw);
		letter-spacing: 2px
	}
	.health h2.interrogation {
		letter-spacing: 0px
	}
}
.health p {
	padding: min(55px, 4.214559387vw) min(40px, 3.0651340996vw) min(70px, 5.3639846743vw);
	font-size: min(1.6vw, 16px);
	line-height: 2
}
@media only screen and (max-width: 767px) {
	.health p {
		font-size: min(14px, 3.7333333333vw);
		padding: min(35px, 4.5572916667vw) 0 min(60px, 7.8125vw)
	}
}
.health h3 {
	background: #a3a5b4;
	color: #fff;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: min(65px, 6.5vw);
	font-size: min(18px, 1.8vw);
	letter-spacing: 5px;
	margin: 0 min(40px, 3.0651340996vw)
}
@media only screen and (max-width: 767px) {
	.health h3 {
		height: min(100px, 13.0208333333vw);
		font-size: min(16px, 4.2666666667vw);
		margin: 0
	}
}
.health .organization {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: min(80px, 6.1302681992vw)
}
@media only screen and (max-width: 767px) {
	.health .organization {
		display: block;
		margin-bottom: min(80px, 10.4166666667vw)
	}
}
.health .organization dl {
	background-color: #fff;
	height: auto
}
.health .organization dl dt {
	background: #a3a5b4;
	color: #fff;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: min(65px, 6.5vw);
	font-size: min(18px, 1.8vw);
	letter-spacing: 2px
}
@media only screen and (max-width: 767px) {
	.health .organization dl dt {
		font-size: min(20px, 3.125vw);
		height: min(65px, 10.15625vw);
		letter-spacing: 1px
	}
}
.health .organization dl dd {
	padding: min(40px, 3.0651340996vw) min(26px, 1.9923371648vw)
}
@media only screen and (max-width: 767px) {
	.health .organization dl dd {
		padding: min(20px, 2.6041666667vw)
	}
}
.health .organization dl dd ul {
	padding-top: min(110px, 8.4291187739vw)
}
@media only screen and (max-width: 767px) {
	.health .organization dl dd ul {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		gap: 10px;
		padding: 0
	}
}
.health .organization dl dd ul li {
	padding: min(20px, 1.5325670498vw) 0
}
.health .organization .cooperation {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center
}
@media only screen and (max-width: 767px) {
	.health .organization .cooperation {
		display: block
	}
	.health .organization .cooperation div {
		position: relative
	}
	.health .organization .cooperation div span {
		position: absolute;
		top: 50%;
		left: 61%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		margin: auto
	}
	.health .organization .cooperation br {
		display: none
	}
	.health .organization .cooperation img {
		width: 12%;
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg)
	}
}
.health .split {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 50px
}
@media only screen and (max-width: 767px) {
	.health .split {
		display: block
	}
}
.health .split div {
	width: 50%
}
@media only screen and (max-width: 767px) {
	.health .split div {
		width: auto
	}
}
.health .issues {
	padding: min(55px, 4.214559387vw) min(40px, 3.0651340996vw) min(70px, 5.3639846743vw);
	font-size: min(1.6vw, 16px);
	line-height: 2
}
@media only screen and (max-width: 767px) {
	.health .issues {
		font-size: min(14px, 3.7333333333vw);
		padding: min(35px, 4.5572916667vw) 0 min(60px, 7.8125vw)
	}
}
.health .issues ul {
	padding-left: 2.5em;
	margin-bottom: min(30px, 2.2988505747vw)
}
.health .issues ul li {
	list-style-type: disc;
	margin-bottom: min(5px, 0.3831417625vw)
}
.health .singleImg {
	margin-bottom: min(80px, 6.1302681992vw)
}
@media only screen and (max-width: 767px) {
	.health .singleImg {
		margin-bottom: min(80px, 10.4166666667vw)
	}
}
.health .record {
	width: 100%;
	margin-bottom: min(40px, 3.0651340996vw)
}
.health .record th {
	background-color: #e5e5e5
}
.health .record th.ind {
	padding-left: 25px
}
.health .record .th2 {
	background-color: #f2f2ec
}
.health .record th, .health .record td {
	border: solid 1px #818181
}
.health .record thead th {
	text-align: center
}
.health .record .item {
	width: 38%
}
.health .record .year1 {
	width: 16%
}
.health .record td {
	text-align: center
}
@media only screen and (max-width: 767px) {
	.health .record {
		margin-bottom: min(40px, 5.2083333333vw)
	}
	.health .record th.ind {
		padding-left: 1.8em
	}
}
.health ul.attention {
	padding-bottom: min(80px, 6.1302681992vw);
	padding-left: 2.6em;
	text-indent: -2.6em
}
@media only screen and (max-width: 767px) {
	.health ul.attention {
		padding-bottom: min(80px, 10.4166666667vw)
	}
}
.termofuse .data.first, .privacy .data.first {
	margin-bottom: 0
}
.termofuse h2, .privacy h2 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: min(270px, 22.5vw);
	padding-top: min(30px, 2.5vw);
	font-size: min(34px, 2.8333333333vw);
	font-weight: 400;
	letter-spacing: .1em
}
@media only screen and (max-width: 767px) {
	.termofuse h2, .privacy h2 {
		font-size: min(18px, 4.8vw)
	}
}
.termofuse dl, .privacy dl {
	margin-bottom: min(90px, 7.5vw)
}
.termofuse dl dt, .privacy dl dt {
	font-size: min(24px, 2vw);
	letter-spacing: 2px;
	text-align: center;
	padding: 10px 0;
	border-bottom: 1px solid #666;
	margin-bottom: min(30px, 2.5vw)
}
@media only screen and (max-width: 767px) {
	.termofuse dl dt, .privacy dl dt {
		font-size: min(16px, 4.2666666667vw)
	}
}
.termofuse dl dd, .privacy dl dd {
	line-height: 1.8;
	padding: 0 1em
}
.termofuse dl dd strong, .privacy dl dd strong {
	display: block;
	font-weight: normal
}
.termofuse dl dd em, .privacy dl dd em {
	font-style: normal;
	font-weight: bold
}
.termofuse dl dd ul, .privacy dl dd ul {
	margin-left: 1.5em;
	margin: .5em 0 .5em 2.5em
}
.termofuse dl dd ol, .privacy dl dd ol {
	margin-left: 1.5em;
	list-style: decimal
}
.termofuse dl dd ol ul, .privacy dl dd ol ul {
	margin: 1em 0 1em 2.5em;
	margin-left: 2.5em;
	list-style: lower-alpha
}
.termofuse dl dd ol ul li, .privacy dl dd ol ul li {
	list-style-type: unset
}
.termofuse dl dd+dd, .privacy dl dd+dd {
	padding-top: 2em
}
.termofuse dl:last-child, .privacy dl:last-child {
	margin-bottom: 0
}
.termofuse .InqueryBlock, .privacy .InqueryBlock {
	text-align: center
}
.termofuse .InqueryBlock .c-btn02, .privacy .InqueryBlock .c-btn02 {
	margin: 0 auto 40px;
	max-width: min(400px, 57.1428571429vw);
	text-align: center
}
.news .table dl:last-child {
	border-bottom: 1px solid #c8c8c8
}
@media only screen and (max-width: 767px) {
	.news .table dl:last-child {
		border-bottom: 0
	}
}
.news .table dl dt {
	max-width: 130px;
	min-width: 130px
}
@media only screen and (max-width: 767px) {
	.news .table dl dt {
		max-width: 100%
	}
}
.news .table dl dd.NewWin a {
	background: url(../../image/jp/r1/icon/icon_new_window_hd.gif) no-repeat right center;
	background-size: 16px;
	padding: 0 17px 0 0
}
.inquiry .line {
	border: 4px solid #e6e6e6;
	padding: min(30px, 2.5vw) min(30px, 2.5vw);
	margin-bottom: min(50px, 4.1666666667vw)
}
@media only screen and (max-width: 767px) {
	.inquiry .line {
		border: 2px solid #e6e6e6
	}
}
.inquiry .line dl {
	margin-bottom: min(50px, 4.1666666667vw)
}
.inquiry .line dl dt {
	text-align: center;
	font-size: min(24px, 2.4vw);
	padding: min(30px, 2.5vw) min(30px, 2.5vw)
}
@media only screen and (max-width: 767px) {
	.inquiry .line dl dt {
		font-size: min(16px, 4.2666666667vw)
	}
}
.inquiry .line .btnBlock {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.inquiry .line .btnBlock div {
	width: 49%
}
@media only screen and (max-width: 767px) {
	.inquiry .line .btnBlock div {
		width: 100%;
		margin-bottom: 1em
	}
}
@media only screen and (max-width: 767px) {
	.inquiry .line .btnBlock {
		display: block
	}
}
.sitemap .flexbox {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between
}
@media only screen and (max-width: 767px) {
	.sitemap .flexbox {
		display: block
	}
}
.sitemap .flexbox dl {
	width: 49%
}
@media only screen and (max-width: 767px) {
	.sitemap .flexbox dl {
		width: 100%
	}
}
.sitemap .flexbox dl dt {
	background: #e8e8e8
}
@media only screen and (max-width: 767px) {
	.sitemap .flexbox dl dt {
		padding: 12px
	}
}
.sitemap .flexbox dl dt a {
	display: block;
	padding: min(12px, 1vw) min(30px, 2.5vw);
	background: #e8e8e8 url(../../img/common/icon/bg_arrow.png) no-repeat 97% center;
	background-size: 10px;
	color: #000;
	text-decoration: none
}
@media only screen and (max-width: 767px) {
	.sitemap .flexbox dl dt a {
		background-position: right center
	}
}
.sitemap .flexbox dl dd {
	padding: min(24px, 2vw) min(10px, 0.8333333333vw)
}
@media only screen and (max-width: 767px) {
	.sitemap .flexbox dl dd {
		padding: min(30px, 3.90625vw) min(10px, 1.3020833333vw)
	}
}
.sitemap .flexbox dl dd ul {
	padding-left: 8px
}
.sitemap .flexbox dl dd ul li {
	position: relative;
	padding-left: 12px;
	margin-bottom: 10px
}
.sitemap .flexbox dl dd ul li a:link, .sitemap .flexbox dl dd ul li a:visited {
	color: #000;
	text-decoration: none
}
.sitemap .flexbox dl dd ul li a:hover, .sitemap .flexbox dl dd ul li a:focus, .sitemap .flexbox dl dd ul li a:active {
	color: #b1000e;
	text-decoration: underline
}
.sitemap .flexbox dl dd ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: 4px;
	height: 1px;
	background-color: #000;
	border-radius: 2px
}
.sitemap .flexbox div {
	width: 49%
}
@media only screen and (max-width: 767px) {
	.sitemap .flexbox div {
		width: 100%
	}
}
.sitemap .flexbox div dl {
	width: 100%
}
@media only screen and (max-width: 767px) {
	.sitemap .flexbox div dl {
		width: 100%
	}
}
body.history {
	background: #fff;
	letter-spacing: 1.5px;
	position: relative
}
body.history main {
	background: #2d2d2d
}
body.history .description {
	padding: min(60px, 6vw) 0 min(120px, 12vw);
	font-size: min(1.6vw, 16px)
}
@media only screen and (max-width: 767px) {
	body.history .description {
		font-size: min(14px, 3.7333333333vw)
	}
}
body.history .start {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	z-index: 10;
	left: 0;
	right: 0;
	margin: 0 auto
}
@media only screen and (max-width: 767px) {
	body.history .start {
		left: 15px;
		right: auto
	}
}
body.history .start h2 {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #c63431;
	font-size: min(24px, 2.4vw);
	color: #fff;
	border-radius: 250px;
	width: min(250px, 25vw);
	height: min(250px, 25vw);
	margin-top: max(-50px, -3.8314176245vw);
	text-align: center
}
@media only screen and (max-width: 767px) {
	body.history .start h2 {
		width: min(80px, 21.3333333333vw);
		height: min(80px, 21.3333333333vw);
		font-size: min(12px, 3.2vw)
	}
}
body.history .start h2::before {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 50%;
	-webkit-transform: translate(-50%, -25%);
	transform: translate(-50%, -25%);
	border-radius: 30px;
	width: min(30px, 3vw);
	height: min(30px, 3vw);
	background-color: #fff
}
@media only screen and (max-width: 767px) {
	body.history .start h2::before {
		width: min(15px, 4vw);
		height: min(15px, 4vw)
	}
}
body.history .line {
	position: absolute;
	top: min(50px, 3.8314176245vw);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 2px;
	height: 1px;
	background: #fff;
	z-index: 9
}
@media only screen and (max-width: 767px) {
	body.history .line {
		top: 50px;
		left: min(54px, 14.4vw);
		right: auto
	}
}
body.history .inner {
	overflow: hidden;
	position: relative;
	padding-top: min(300px, 30vw)
}
@media only screen and (max-width: 767px) {
	body.history .inner {
		padding-top: min(200px, 26.0416666667vw)
	}
}
body.history .background {
	position: absolute;
	width: 100%;
	height: 100vh;
	top: 0;
	z-index: 2
}
body.history .background div:nth-child(even) {
	height: 55%;
	background-color: #2d2d2d;
	z-index: 2;
	min-height: min(680px, 75.5555555556vw);
	position: relative
}
body.history .background div:nth-child(even) span {
	position: absolute;
	top: max(-130px, -9.9616858238vw);
	right: min(10px, 0.7662835249vw);
	color: #fff
}
@media only screen and (max-width: 767px) {
	body.history .background div:nth-child(even) span {
		top: max(-100px, -13.0208333333vw)
	}
}
@media only screen and (max-width: 767px) {
	body.history .background div:nth-child(even) {
		min-height: min(800px, 222.2222222222vw)
	}
}
body.history .background div:nth-child(even)::after {
	content: "";
	width: 50%;
	height: min(75px, 5.7471264368vw);
	background: #2d2d2d;
	position: absolute;
	top: max(-74.6px, -5.7164750958vw);
	right: 0;
	z-index: 2;
	-webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
	clip-path: polygon(100% 0, 100% 100%, 0 100%)
}
body.history .background div:nth-child(even)::before {
	content: "";
	width: 50%;
	height: min(75px, 5.7471264368vw);
	background: #2d2d2d;
	position: absolute;
	top: max(-74.6px, -5.7164750958vw);
	left: 0;
	z-index: 2;
	-webkit-clip-path: polygon(0% 0, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0, 100% 100%, 0% 100%)
}
body.history .background .pic {
	position: relative
}
body.history .background .pic::before {
	content: "";
	width: 100%;
	height: min(75px, 5.7471264368vw);
	background: #2d2d2d;
	position: absolute;
	top: -0.5px;
	left: 0;
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%)
}
body.history .background .bg1 {
	height: 70%;
	min-height: min(900px, 90vw)
}
@media only screen and (max-width: 767px) {
	body.history .background .bg1 {
		max-height: min(400px, 111.1111111111vw)
	}
}
body.history .background .bg3 {
	height: 70%;
	min-height: min(770px, 77vw)
}
@media only screen and (max-width: 767px) {
	body.history .background .bg3 {
		max-height: min(400px, 111.1111111111vw)
	}
}
body.history .background .bg5 {
	height: 70%;
	min-height: min(770px, 77vw)
}
@media only screen and (max-width: 767px) {
	body.history .background .bg5 {
		max-height: min(400px, 111.1111111111vw)
	}
}
body.history .background .bg7 {
	height: 70%;
	min-height: min(770px, 77vw)
}
@media only screen and (max-width: 767px) {
	body.history .background .bg7 {
		max-height: min(400px, 111.1111111111vw)
	}
}
body.history .end {
	position: relative;
	background: #c63431;
	height: min(100px, 10vw);
	margin-bottom: 100px;
	z-index: 20
}
@media only screen and (max-width: 767px) {
	body.history .end {
		margin-bottom: 40px
	}
}
body.history .end span {
	display: block;
	width: 100%;
	height: min(75px, 5.7471264368vw);
	background: #c63431;
	position: absolute;
	bottom: max(-74px, -5.6704980843vw);
	left: 0;
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%)
}
body.history .end::after {
	content: "";
	width: 50%;
	height: min(75px, 5.7471264368vw);
	background: #c63431;
	position: absolute;
	top: max(-74.6px, -5.7164750958vw);
	right: 0;
	-webkit-clip-path: polygon(100% 0, 100% 100%, 0% 100%);
	clip-path: polygon(100% 0, 100% 100%, 0% 100%)
}
body.history .end::before {
	content: "";
	width: 50%;
	height: min(75px, 5.7471264368vw);
	background: #c63431;
	position: absolute;
	top: max(-74.6px, -5.7164750958vw);
	left: 0;
	-webkit-clip-path: polygon(0% 0, 100% 100%, 0 100%);
	clip-path: polygon(0% 0, 100% 100%, 0 100%)
}
body.history .data {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	z-index: 10
}
@media only screen and (max-width: 767px) {
	body.history .data {
		-webkit-box-pack: end;
		-webkit-justify-content: flex-end;
		-ms-flex-pack: end;
		justify-content: flex-end
	}
}
body.history .data section {
	width: 50%;
	color: #fff;
	position: relative
}
@media only screen and (max-width: 767px) {
	body.history .data section {
		width: calc(100% - 40px)
	}
}
body.history .data section .in {
	padding-right: min(50px, 5vw)
}
@media only screen and (max-width: 767px) {
	body.history .data section .in {
		padding-right: min(70px, 9.1145833333vw);
		padding-left: min(50px, 6.5104166667vw);
		padding-bottom: min(70px, 9.1145833333vw)
	}
}
body.history .data section strong {
	color: #fff;
	font-weight: normal
}
body.history .data section .year {
	font-size: min(48px, 6.25vw);
	margin-bottom: 10px
}
body.history .data section .year::before {
	content: "";
	width: min(34px, 3.4vw);
	height: min(34px, 3.4vw);
	border-radius: 35px;
	background: #c63431;
	position: absolute;
	top: min(16px, 1.6vw);
	right: max(-17px, -1.7vw);
	z-index: 2
}
body.history .data section .year::after {
	content: "";
	width: min(330px, 33vw);
	height: 2px;
	background: #fff;
	position: absolute;
	top: min(32px, 3.2vw);
	right: max(-10px, -1vw)
}
@media only screen and (max-width: 767px) {
	body.history .data section .year {
		font-size: min(28px, 7.7777777778vw);
		text-align: right
	}
	body.history .data section .year::before {
		width: min(18px, 4.8vw);
		height: min(18px, 4.8vw);
		top: min(12px, 3.2vw);
		left: max(-9px, -2.4vw)
	}
	body.history .data section .year::after {
		width: min(440px, 57.2916666667vw);
		top: min(20px, 5.3333333333vw);
		left: max(-5px, -1.3333333333vw)
	}
}
body.history .data section.dark .year::before {
	background: #3e3a39;
	outline: 2px solid #fff;
	outline-offset: -2px
}
body.history .data section img {
	margin-bottom: min(30px, 3vw)
}
@media only screen and (max-width: 767px) {
	body.history .data section img {
		margin-bottom: min(20px, 5.5555555556vw)
	}
}
body.history .data section dl {
	line-height: 2
}
body.history .data section dl dt {
	font-size: min(24px, 2.4vw);
	margin-bottom: min(20px, 2vw)
}
@media only screen and (max-width: 767px) {
	body.history .data section dl dt {
		font-size: min(14px, 3.7333333333vw);
		margin-bottom: min(20px, 5.5555555556vw)
	}
}
body.history .data section dl dt strong {
	font-weight: bold
}
body.history .data section dl dd {
	margin-bottom: min(30px, 3vw)
}
@media only screen and (max-width: 767px) {
	body.history .data section dl dd {
		font-size: min(12px, 3.2vw);
		margin-bottom: min(20px, 5.5555555556vw)
	}
}
body.history .data section .c_data {
	border: 1px solid #fff;
	display: inline-block;
	padding: min(15px, 1.5vw);
	margin-bottom: min(30px, 3vw)
}
@media only screen and (max-width: 767px) {
	body.history .data section .c_data {
		padding: min(10px, 2.7777777778vw)
	}
}
body.history .data section .item {
	max-width: 370px;
	margin-bottom: min(30px, 3vw)
}
body.history .data section a {
	font-size: min(15px, 1.5vw);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #c63431 url(../../img/common/icon/bg_arrow_w.png) no-repeat calc(100% - 25px) center;
	color: #fff;
	padding: min(0px, 0vw) min(15px, 1.5vw);
	height: min(60px, 6vw);
	text-decoration: none;
	-webkit-transition-duration: 200ms;
	transition-duration: 200ms
}
@media only screen and (max-width: 767px) {
	body.history .data section a {
		padding: min(12px, 3.2vw) min(12px, 3.2vw);
		font-size: min(12px, 3.2vw);
		height: min(60px, 7.8125vw)
	}
}
body.history .data section a:hover {
	background-position: calc(100% - 20px) center
}
body.history .data section.section10 {
	margin-bottom: min(300px, 30vw)
}
body.history .data:nth-child(even) {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end
}
body.history .data:nth-child(even) section .year {
	text-align: right
}
body.history .data:nth-child(even) section .year::before {
	left: max(-17px, -1.7vw)
}
body.history .data:nth-child(even) section .year::after {
	left: max(-10px, -1vw)
}
@media only screen and (max-width: 767px) {
	body.history .data:nth-child(even) section .year {
		font-size: min(28px, 7.7777777778vw);
		text-align: right
	}
	body.history .data:nth-child(even) section .year::before {
		width: min(18px, 4.8vw);
		height: min(18px, 4.8vw);
		top: min(12px, 3.2vw);
		left: max(-9px, -2.4vw)
	}
	body.history .data:nth-child(even) section .year::after {
		width: min(440px, 57.2916666667vw);
		top: min(20px, 5.3333333333vw);
		left: max(-5px, -1.3333333333vw)
	}
}
body.history .data:nth-child(even) section .in {
	padding-right: 0;
	padding-left: min(50px, 5vw)
}
@media only screen and (max-width: 767px) {
	body.history .data:nth-child(even) section .in {
		padding-right: min(70px, 9.1145833333vw);
		padding-left: min(50px, 6.5104166667vw)
	}
}
.source-section .Container {
	padding-top: min(24px, 1.6vw);
	padding-bottom: min(59px, 3.9333333333vw)
}
@media only screen and (max-width: 767px) {
	.source-section .Container {
		padding-top: min(20px, 5.3333333333vw);
		padding-bottom: min(40px, 10.6666666667vw)
	}
}
.source-section .link-list li {
	font-size: min(13px, 0.8666666667vw);
	letter-spacing: .18em
}
@media only screen and (max-width: 767px) {
	.source-section .link-list li {
		font-size: min(12px, 3.2vw);
		letter-spacing: .1em
	}
}
.source-section .link-list li+li {
	margin-top: min(2px, 0.1333333333vw)
}
@media only screen and (max-width: 767px) {
	.source-section .link-list li+li {
		margin-top: min(2px, 0.5333333333vw)
	}
}
.source-section .link-list a {
	color: #282828;
	text-decoration: none
}
@media only screen and (min-width: 768px) {
	.source-section .link-list a:hover {
		color: #d82531;
		text-decoration: underline
	}
}
.fadeup {
	opacity: 0
}
.fadeup.is-animated {
	-webkit-animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards
}
@-webkit-keyframes fadeup {
	0% {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
		opacity: 0
	}
	80% {
		opacity: 1
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}
}
@keyframes fadeup {
	0% {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
		opacity: 0
	}
	80% {
		opacity: 1
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}
}
/*# sourceMappingURL=other.min.css.map */
