@import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap');

/* --------------------------------------------------------------------------
   common
-------------------------------------------------------------------------- */

.cover { position: relative; width: 100%; height: 300px; }
.cover h2 {
	position: absolute; bottom: 36px; left: 50%; width: 1000px; font-size: 6.0rem;
	transform: translateX(-50%); color: #fff; font-weight: 700;
}
.cover h2 span {
	display: inline-block; margin-left: 16px; font: 500 2.0rem/1.6 'Zen Old Mincho';
}

section { width: 100%; padding: 80px 0; }
article { width: 1000px; margin: 0 auto; }
a.btn, a.out {
	position: relative; display: block; width: 200px; margin: 0 auto; padding: 0 30px;
	background: #fff; border: solid 1px #1f4873; border-radius: 999px;
	font-size: 1.8rem; line-height: 3.0; text-align: left; color: #1f4873;
}
a.btn::after {
	content: ''; position: absolute; top: 50%; right: 15px; width: 28px; height: 28px;
	background: 80% 0/600% auto no-repeat url(../img/ico.svg); transform: translateY(-50%);
}
a.btn.below::after { transform: translateY(-50%) rotate(90deg); }
a.out::after {
	content: ''; position: absolute; top: 50%; right: 15px; width: 28px; height: 28px;
	background: 100% 0/600% auto no-repeat url(../img/ico.svg); transform: translateY(-50%);
}
a.btn:hover::after { background-position: 80% 100%; }
a.out:hover::after { background-position: 100% 100%; }
h2.tag { margin: 0 0 48px; font: 500 3.6rem/1.6 'Zen Old Mincho'; text-align: center; }
h2.tag::before {
	content: ''; display: inline-block; width: 26px; height: 24px; margin-right: 10px;
	background: #f7cf7c; transform: skew(0,-10deg); 
}
h2.tag::after { content: ''; display: inline-block; width: 36px; height: 24px; }
h3.tag { font: 500 3.0rem/1.8 'Zen Old Mincho'; }
h3.tag::before {
	content: ''; display: inline-block; width: 26px; height: 22px; margin-right: 10px;
	background: #9dc1ed; transform: skew(0,-10deg);
}
.mov { position: relative; width: 100%; height: 0; padding: 0 0 56.25%; }
.mov iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.note { margin-left: 1.0em; text-indent: -1.0em each-line; }

@media screen and (min-width:769px) {
	.wrap { width: 100%; min-width: 1100px; margin: 80px 0 0; }
	header,footer,.cover,section { min-width: 1100px; }
}
@media screen and (max-width:768px) {
	.wrap { width: 100%; margin: 60px 0 0; }
	.cover { height: 24vh; }
	.cover h2 { bottom: 5vw; width: 90%; font-size: 4.0rem; }
	.cover h2 span { display: block; margin: 0; font-size: 2.0rem; }
	section { padding: 48px 0; }
	article { width: 90%; }
	a.btn, a.out { width: 70%; padding: 0 5vw; }
	h2.tag { margin: 0 0 24px; font-size: 2.6rem; }
	h2.tag::before { width: 22px; height: 20px; }
	h2.tag::after { width: 32px; height: 20px; }
	h3.tag { font-size: 2.4rem; }
	h3.tag::before { width: 24px; }
}

/* --------------------------------------------------------------------------
   about
-------------------------------------------------------------------------- */

#about .cover { background: center/cover no-repeat url(../img/cover_about.jpg); }
.board .greeting {
	position: relative; width: 948px; margin: 160px auto 64px; padding: 72px 56px 48px;
	border: solid 1px #1f4873;
}
.board .greeting::before {
	content: ''; position: absolute; top: -34px; left: -26px; width: 96px;
	background: 0 0/200% auto no-repeat url(../img/about.svg); aspect-ratio: 1 / .6;
}
.board .greeting::after {
	content: ''; position: absolute; bottom: -20px; right: -26px; width: 80px;
	background: 100% 0/200% auto no-repeat url(../img/about.svg); aspect-ratio: 1 / .6;
}
.board .greeting h3 { margin: 0 0 48px; font: 500 3.0rem/1.6 'Zen Old Mincho'; }
.board .greeting p { margin: 0 0 1.0em; }
.board .greeting .sign { margin: 0; text-align: right; }
.board .greeting .sign span { font-size: 2.2rem; }
.board .greeting .photo { position: absolute; top: -130px; right: -26px; width: 460px; }
.board .member ul { display: flex; justify-content: space-between; width: 948px; margin: 0 auto; }
.board .member li { display: block; width: 300px; }
.board .member li p { margin: 12px 0 0; font-size: 2.0rem; }
.board .member li span { display: block; font-size: 1.6rem; }

.philosophy { background: #1f4873; color: #fff; }
.philosophy .mission { background: center/contain no-repeat url(../img/about_base1.png); }
.philosophy h3 { margin: 0 auto 36px; font-size: 5.0rem; font-weight: 500; text-align: center; }
.philosophy h3 span { display: block; font: 2.0rem/1.6 'Zen Old Mincho'; }
.philosophy .mission p { width: 720px; margin: 0 auto; }
.philosophy .film { margin: 48px auto 0; }

.history article { display: flex; flex-wrap: wrap; width: 800px; margin: 0 auto; }
.history h3 { position: relative; width: 140px; font-size: 4.0rem; font-weight: 500; }
.history h3::after {
	content: ''; position: absolute; top: 0.8em; right: -4px; width: 7px; height: 7px;
	background: #1f4873; border-radius: 10px; z-index: 88; 
}
.history .detail { width: 660px; padding: 0.5em 0 36px 40px; border-left: solid 1px #1f4873; }
.history .detail.start,.history .detail.end { position: relative; }
.history .detail.start::before {
	content: ''; position: absolute; top: 0; left: -1px; width: 2px;
	height: 2.0em; background: #fff;
}
.history .detail.end { padding: 0.5em 0 0 40px; }
.history .detail.end::before {
	content: ''; position: absolute; top: 2.4em; left: -1px; width: 2px;
	height: calc(100% - 2.4em); background: #fff;
}
.history .detail h4 { font-size: 2.0rem; font-weight: 500; }
.history .detail p { margin: 0 0 1.0em; }
.history .detail p:last-of-type { margin: 0; }

@media screen and (max-width:768px) {
	.board .greeting { width: 90%; margin: 48px auto 48px; padding: 5vw 4vw 36px; }
	.board .greeting::before { left: -3vw; }
	.board .greeting::after { bottom: -24px; right: -3vw; }
	.board .greeting h3 { margin: 0 0 24px; font-size: 2.4rem; }
	.board .greeting .photo {
		position: relative; top: auto; right: auto; left: -7vw; width: 96vw;
	}
	.board .member ul { display: block; width: 80%; }
	.board .member li { width: 100%; margin: 0 0 24px; }
	.philosophy .mission {
		background: top center/contain no-repeat url(../img/about_base1_s.png);
	}
	.philosophy h3 { font-size: 2.4rem; }
	.philosophy .mission p { width: 100%; margin: 0 auto; }
	.philosophy .film { margin: 24px auto 0; }
	.history article { width: 90%; }
	.history h3 { width: 3.0em; font-size: 3.0rem; }
	.history h3::after { top: 0.75em; }
	.history .detail { width: calc(100% - 9.0rem); padding: 0.5em 0 24px 2.0em; }
	.history .detail.end { padding: 0.5em 0 0 2.0em; }
	.history .detail.start::before { height: 1.4em; }
	.history .detail.end::before { top: 1.8em; height: calc(100% - 1.8em); }
	.history .detail p { margin: 0 0 0.8em; }
}

/* --------------------------------------------------------------------------
   feature
-------------------------------------------------------------------------- */

#feature .cover { position: relative; height: 600px; margin: 0 0 100px; }
#feature .cover h2 { top: 36px; bottom: auto; }
#feature .cover.vol1 {
	background: linear-gradient(rgba(31,72,115,.7),transparent 40%),
				center/cover no-repeat url(/feature/image/vol01_main.jpg);
}
#feature .title {
	position: absolute; bottom: 0; left: 50%; width: 1000px; margin: 0 auto;
	padding: 40px 50px 30px; transform: translate(-50%,50%);
	background: linear-gradient(to right,#e9f2f9,#f0f5f9,#cce7fa);
}
#feature .title h3 { font: 500 3.8rem/1.6 'Zen Old Mincho'; }
#feature .title p { margin: 24px 0 0; font-size: 2.4rem; font-weight: 500; text-align: right; }
#feature .title span { display: inline-block; font-size: 75%; margin-right: 10px; }
#feature .chapter h2 { font: 500 3.2rem/1.6 'Zen Old Mincho'; }
#feature .chapter h2::after {
	content: ''; display: block; width: 80px; height: 10px; margin: 30px auto;
	background: #f7cf7c; transform: skew(0,-10deg);
}
#feature .chapter article { width: 800px; margin: 0 auto 64px; }
#feature .chapter .photo {
	display: block; width: 100%; margin: 64px auto 0;
	box-shadow: 12px 12px 0 rgba(247,207,124,.7);
}
#feature .chapter article p { margin: 1.0em 0 0; }
#feature .chapter article p:first-of-type { margin: 0; }
#feature .navi { padding: 20px 0 100px; text-align: center; }
#feature .navi a { display: inline-block; width: 260px; margin: 0 20px; line-height: 3.4; }
#feature .navi .prev::before, #feature .navi .next::after {
	content: ''; position: relative; display: inline-block; width: 26px; height: 26px;
	background: 80% 0/600% auto no-repeat url(../img/ico.svg); transform: translateY(7px);
}
#feature .navi .prev::before { margin-right: 12px; transform: translateY(7px) rotate(180deg); }
#feature .navi .next::after { margin-left: 12px; }
#feature .navi .prev:hover::after, #feature .navi .next:hover::after {
	background-position: 80% 100%;
}

@media screen and (max-width:768px) {
	#feature .cover { height: 100vw; margin: 0 0 30vw; }
	#feature .cover h2 { top: 5vw; }
	#feature .title { width: 90%; padding: 16px 4vw; }
	#feature .title h3 { font-size: 2.4rem; }
	#feature .title p { font-size: 1.8rem; }
	#feature .title span { font-size: 80%; }
	#feature .chapter h2 { font-size: 2.1rem; }
	#feature .chapter article { width: 90%; margin: 0 auto 48px; }
	#feature .chapter .photo {
		width: 100%; margin: 48px auto 0; box-shadow: 5px 5px 0 rgba(247,207,124,.7);
	}
	#feature .navi { padding: 0 0 48px; }
	#feature .navi a { display: block; width: 80%; margin: 0 auto; }
	#feature .navi .next { margin: 16px auto 0; }
}

/* --------------------------------------------------------------------------
   business
-------------------------------------------------------------------------- */

#business .cover { background: center/cover no-repeat url(../img/cover_business.jpg); }
.team { text-align: center; }
.team .cycle { position: relative; width: 726px; margin: 64px auto 48px; }
.team h3 { margin: 0 0 10px; font: 500 2.4rem/1.6 'Zen Old Mincho'; }
.team .cycle .center {
	position: absolute; bottom: 40px; left: 50%; width: 294px; aspect-ratio:1/.95;
	padding: 70px 0 0; background: center/contain no-repeat url(../img/business_arr.svg);
	transform: translateX(-50%); font-size: 2.0rem; 
}
.team .cycle .box { display: flex; justify-content: space-around; }
.team .cycle .sec {
	position: relative; display: flex; flex-direction: column; justify-content: center;
	width: 200px; height: 200px; background: #1f4873; border-radius: 999px;
	color: #fff; white-space: nowrap;
}
.team .cycle .sec::before {
	content: ''; position: absolute; aspect-ratio: 1/1;
	background: 0 0/300% auto no-repeat url(../img/business_ill.png);
}
.team .cycle .sec.act { margin: 0 auto 88px; }
.team .cycle .sec.act::before { top: -30px; right: -110px; width: 160px; }
.team .cycle .sec.des::before {
	top: -40px; right: -82px; width: 124px; background-position: 100% 0; 
}
.team .cycle .sec.dev::before {
	top: -40px; left: -46px; width: 110px; background-position: 50% 0;
}
.team .sector { display: flex; justify-content: space-between; width: 1000px; margin: 0 auto; }
.team .sector li { width: 300px; text-align: left; }
.team .sector li h3 { margin: 16px 0 10px; }

.quality article { display: flex; justify-content: space-between; }
.quality article:nth-of-type(even) {
	margin: 48px auto; padding: 48px 0; border: solid 1px #1f4873; border-width: 1px 0 1px 0;
}
.quality .text { width: 500px; }
.quality .photo { width: 460px; }
.quality h3 {
	position: relative; margin: 0 0 48px; padding-left: 100px;
	font: 500 2.4rem/1.8 'Zen Old Mincho';
}
.quality h3 span {
	position: absolute; top: 50%; left: 0; width: 66px; height: 64px; display: flex;
	flex-direction: column; justify-content: center; background: #1f4873; 
	clip-path: polygon(0 15%,100% 0,100% 85%,0 100%); transform: translateY(-50%);
	font-size: 3.0rem; color: #fff; text-align: center;
}

.flow { background: #e8ebf0; border: solid 2px #1f4873; border-width: 2px 0 2px 0; }
.flow article { padding: 50px; background: #fff; }
.flow .step {
	position: relative; display: flex; justify-content: space-between; flex-wrap: wrap;
}
.flow .step::before {
	content: ''; position: absolute; top: 60px; left: 29px; width: 2px; height: 88%;
	background: #3278c8; z-index: -1; 
}
.flow .step .num {
	display: flex; flex-direction: column; justify-content: center; width: 60px; height: 60px;
	background: #3278c8; border-radius: 99px; font: 500 2.4rem/1.2 'Zen Old Mincho';
	text-align: center; color: #fff;
}
.flow .step .detail { display: flex; width: 810px; padding: 16px 0 48px; }
.flow .step .detail:last-of-type { padding: 16px 0 0; }
.flow .step h3 { width: 200px; font-size: 2.0rem; font-weight: 500; }
.flow .step p { width: 620px; }
.flow .step .dot { display: block; margin-left: 1.0em; text-indent: -1.0em; }
.flow .inquiry {
	width: 660px; margin: 64px auto 0; padding: 48px 0; background: #1f4873; color: #fff;
	border-radius: 999px; text-align: center;
}
.flow .inquiry .btn, .product .inquiry .btn { margin: 16px auto 0; }

.product .achieve > li { border-bottom: solid 1px #1f4873; }
.product button {
	position: relative; display: block; width: 100%; padding: 16px 20px; background: #fff;
	border: none; appearance: none; outline: none; font: 500 2.0rem/1.6 'Zen Kaku Gothic New';
	color: #1f4873; text-align: left; cursor: pointer;
}
.product button i {
	position: absolute; top: 50%; right: 30px; width: 16px; height: 16px;
	transform: translateY(-50%); transition: all .5s ease;
	text-indent: 200%; white-space: nowrap; overflow: hidden;
}
.product button i::before, .product button i::after {
	content: ''; position: absolute; top: 50%; left: 50%; background: #1f4873;
	border-radius: 5px; transform: translate(-50%,-50%); transition: all .5s ease;
}
.product button i::before { width: 100%; height: 2px; }
.product button i::after { width: 2px; height: 100%; }
.product button.open i::after {
	transform-origin: 50% 50%; transform: translate(-50%,-50%) rotate(90deg);
}
.product .item { display: none; padding: 24px 0 0; }
.product .item .list { display: flex; flex-wrap: wrap; }
.product .item .list > li { width: 220px; margin: 0 40px 40px 0; }
.product .item .list li p { margin: 12px 0 0; text-align: center; }
.product .note { text-align: right; padding: 24px 0; }
.product .inquiry {
	width: 660px; margin: 72px auto 0; padding: 48px 0; background: #1f4873; color: #fff;
	border-radius: 999px; text-align: center;
}

@media screen and (min-width:769px) {
	.product .item .list > li:nth-of-type(4n) { margin: 0 0 40px; }
}
@media screen and (max-width:768px) {
	.team { text-align: left; }
	.team .cycle { width: 90%; margin: 48px auto 36px; text-align: center; }
	.team h3 { margin: 0 0 5px; font-size: 2.0rem; }
	.team .cycle .center {
		bottom: auto; top: 30vw; width: 60vw; padding: 15vw 0 0;
		background: center/contain no-repeat url(../img/business_arr_s.svg);
	}
	.team .cycle .box { justify-content: space-between; }
	.team .cycle .sec { width: 44vw; height: 44vw; }
	.team .cycle .sec.act { margin: 0 auto 30vw; }
	.team .cycle .sec.act::before { right: -14vw; width: 30vw; }
	.team .cycle .sec.des::before { top: -12vw; right: 0; width: 20vw; }
	.team .cycle .sec.dev::before { top: -12vw; left: 0; width: 20vw; }
	.team .cycle .sec span { letter-spacing: -.08em; }
	.team .sector { display: block; width: 90%; }
	.team .sector li { width: 100%; }
	.team .sector li:nth-child(even) { margin: 36px 0; }
	.quality article { display: block; }
	.quality article:nth-of-type(even) { margin: 36px auto; padding: 36px 0; }
	.quality .text { width: 100%; }
	.quality .photo { width: 100%; margin: 16px 0 0; }
	.quality h3 { margin: 0 0 24px; padding-left: 60px; font-size: 2.0rem; }
	.quality h3 span { width: 48px; height: 48px; font-size: 2.6rem; }
	.flow article { padding: 24px 4vw; }
	.flow .step::before { top: 20px; left: 20px; height: 92%; }
	.flow .step .num { width: 42px; height: 42px; font-size: 2.2rem; }
	.flow .step .detail { display: block; width: calc(100% - 60px); padding: 6px 0 24px; }
	.flow .step .detail:last-of-type { padding: 6px 0 0; }
	.flow .step h3 { width: 100%; }
	.flow .step p { width: 100%; }
	.flow .inquiry { width: 90%; margin: 36px auto 0; padding: 24px 0; border-radius: 40px; }
	.product button { padding: 16px 10px; font-size: 1.7rem; }
	.product button i { right: 10px; }
	.product .item .list > li { width: 48%; margin: 0 4% 20px 0; }
	.product .item .list > li:nth-of-type(even) { margin: 0 0 24px; }
	.product .inquiry { width: 90%; margin: 64px auto 0; padding: 24px 0; border-radius: 40px; }
}

/* --------------------------------------------------------------------------
   factory
-------------------------------------------------------------------------- */

#factory .cover { background: center/cover no-repeat url(../img/cover_factory.jpg); }
.lead article::before {
	content: ''; display: block; width: 60px; height: 12px; margin: 0 auto 36px;
	background: #f7cf7c; transform: skew(0,-10deg);
}
.lead h2 { margin: 0 0 24px; font: 2.4rem/1.6 'Zen Old Mincho'; text-align: center; }
.lead .photo { display: block; margin: 64px auto 0; }

.technology article { display: flex; justify-content: space-between; }
.technology article:nth-of-type(even) {
	margin: 48px auto; padding: 48px 0; border: solid 1px #1f4873; border-width: 1px 0 1px 0;
}
.technology .text { width: 500px; }
.technology .photo { width: 460px; }
.technology h3 { margin: 0 0 24px; font: 500 2.4rem/1.6 'Zen Old Mincho'; }

.labo { background: #e8ebf0; border: solid 2px #1f4873; border-width: 2px 0 2px 0; }
.labo article {
	display: flex; margin: 0 auto 48px; background: #fff;
	box-shadow: 4px 4px  5px rgba(31,72,115,.26);
}
.labo .plus {
	position: relative; display: block; width: 40px; height: 40px; margin: 48px auto;
	text-indent: 200%; white-space: nowrap; overflow: hidden;
}
.labo .plus::before, .labo .plus::after {
	content: ''; display: block; position: absolute; top: 50%; left: 50%;
	background: #1f4873; border-radius: 4px; transform: translate(-50%,-50%);
}
.labo .plus::before { width: 100%; height: 4px; }
.labo .plus::after { width: 4px; height: 100%; }
.labo .photo { width: 500px; }
.labo .text {
	display: flex; flex-direction: column; justify-content: center; width: 500px; padding: 0 48px;
}
.labo .text h3 { margin: 0 0 16px; font: 500 2.4rem/1.6 'Zen Old Mincho'; }
.labo .machine { display: block; margin: 80px auto 0; background: none; box-shadow: none; }

.machine article:first-of-type { margin: 0 auto 64px; }
.machine h3 { margin: 0 0 24px; }
.machine .title { display: flex; margin: 0 0 24px; }
.machine .title h3 { width: 50%; }
.machine .title .mill { display: block; width: 50%; }
.machine ul { display: flex; flex-wrap: wrap; }
.machine .list li { width: 320px; margin: 0 20px 24px 0; }
.machine .list li p { margin: 12px 0 0; }

@media screen and (min-width:769px) {
	.labo article:nth-of-type(2) { flex-direction: row-reverse; }
	.machine .list li:nth-child(3n) { margin: 0 0 24px; }
}
@media screen and (max-width:768px) {
	.lead h2 { font-size: 2.0rem; }
	.lead .photo {
		position: relative; width: 100%; height: 160px; margin: 36px auto 0; overflow: hidden;
	}
	.lead .photo img {
		position: absolute; top: 50%; left: 0; width: auto; height: 100%;
		transform: translateY(-50%);
	}
	.technology article { display: block; }
	.technology article:nth-of-type(even) { margin: 24px auto; padding: 24px 0; }
	.technology .text { width: 100%; }
	.technology .photo { width: 100%; margin: 16px 0 0; }
	.technology h3 { font-size: 2.0rem; }
	.labo article { display: block; margin: 0 auto 24px; }
	.labo .plus { margin: 24px auto; }
	.labo .photo { width: 100%; }
	.labo .text { display: block; width: 100%; padding: 24px 4vw; }
	.labo .text h3 { font-size: 2.0rem; }
	.labo .machine { margin: 48px auto 0; }
	.machine article:first-of-type { margin: 0 auto 48px; }
	.machine .title { display: block; }
	.machine .title h3 { width: 100%; margin: 0 0 16px; }
	.machine .title .mill { width: 100%; }
	.machine ul { width: 100%; }
	.machine .list li { width: 48%; margin: 0 2% 20px 0; }
	.machine .list li:nth-child(even) { margin: 0 0 20px; }
}

/* --------------------------------------------------------------------------
   recruit
-------------------------------------------------------------------------- */

#recruit .cover { background: center/cover no-repeat url(../img/cover_recruit.jpg); }
#recruit .lead { background: #1f4873; text-align: center; color: #fff; }
#recruit .lead .btn { display: inline-block; width: 300px; margin: 36px 10px 0; }

.jobs,#entry { background: #e8ebf0; border: solid 2px #1f4873; border-width: 2px 0 2px 0; }
.jobs article { display: flex; width: 1100px; }
.jobs h4 {
	margin: 48px 0 0; background: #e8ebf0; font-size: 2.4rem; font-weight: 500;
	line-height: 2.4; text-align: center;
}
.jobs i {
	display: block; width: 240px; height: 240px; margin: 24px 0 0 -50px;
	background: 0 0/300% auto no-repeat url(../img/business_ill.png);
}
.jobs i.dev { background-position: 50% 0; }
.jobs .place { position: relative; width: 350px; padding: 50px 0 0 50px; }
.jobs .place p { margin: 16px 0 0; }
.jobs .list { width: 750px; margin: 0 0 50px; padding: 1px 50px 50px; background: #fff; }
.jobs .list.dev { margin: 0; }
.jobs .list dl { display: flex; padding: 36px 0; border-bottom: solid 1px #1f4873; }
.jobs .list dl:last-child { margin: 0 0 24px; padding: 36px 0 0; border: none; }
.jobs .list dt { width: 200px; font-size: 2.0rem; font-weight: 500; }
.jobs .list dd { width: 450px; }

.enchant h2 { margin: 0 0 24px; }
.enchant .intro { text-align: center; font-size: 2.0rem; }
.enchant article {
	display: flex; justify-content: space-between; align-items: center;
	width: 1100px; margin: 36px auto; padding: 50px;
}
.enchant article:nth-of-type(odd) { background: #e8ebf0; flex-direction: row-reverse; }
.enchant h3 { margin: 0 0 16px; font: 2.4rem/1.6 'Zen Old Mincho'; }
.enchant .period {
	margin: 0 0 24px; padding: 0 0 24px; border-bottom: solid 1px #1f4873; font-size: 1.8rem;
}
.enchant .text { width: 500px; }
.enchant .photo { width: 450px; filter: drop-shadow(10px 10px 0 rgba(251,191,86,.35)); }
.enchant .photo img { clip-path: polygon(0 10%,100% 0,100% 90%,0 100%); }
.enchant article .btn { width: 280px; margin: 24px 0 0; }
.enchant .employee {
	display: flex; justify-content: space-between; width: 1100px; margin: 80px auto;
}
.enchant .employee li { width: 200px; }
.enchant .employee li h4 { font: 400 2.8rem/1.6 'Zen Old Mincho'; }
.enchant .employee li p:first-of-type { margin: 16px 0 0; }
.enchant .more {
	position: relative; width: 1000px; margin: 0 auto; padding: 36px 0;
	background: #1f4873; border-radius: 999px; text-align: center; color: #fff;
}
.enchant .more::before {
	content: ''; position: absolute; top: 50%; left: 50px; width: 170px; height: 170px;
	background: 0 0/200% auto no-repeat url(../img/recruit_ill.png);
	transform: translateY(-50%);
}
.enchant .more::after {
	content: ''; position: absolute; bottom: -40px; right: 0; width: 280px; height: 280px;
	background: 100% 0/200% auto no-repeat url(../img/recruit_ill.png);
}
.enchant .more h3 { margin: 0 0 24px; font: 500 4.0rem/1.6 'Zen Old Mincho'; }
.enchant .more h3::before {
	content: ''; display: block; width: 200px; margin: 0 auto; aspect-ratio: 1/.32;
	background: center/contain no-repeat url(../img/recruit_more.svg);
}
.enchant .more span { display: inline-block; margin: 0 10px; border-bottom: solid 1px #fff; }
.enchant .more span::before {
	content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 4px;
	background: 40% 100%/600% auto no-repeat url(../img/ico.svg);
}
.enchant .btn { width: 280px; margin: 24px auto 0; }

#entry h3 { margin: 64px 0 36px; }
#entry h4 {
	margin: 48px 0 0; padding: 0 30px; background: #e8ebf0; font: 500 2.4rem/1.6 'Zen Old Mincho';
	line-height: 2.4; 
}
#entry .require { padding: 2px 50px 50px; background: #fff; }
#entry .newgrad {
	display: flex; justify-content: space-between; align-items: center; padding: 50px;
}
#entry .newgrad p { font-size: 2.0rem; font-weight: 500; }
#entry .require .guide { border-bottom: solid 1px #1f4873; }
#entry button {
	position: relative; display: block; width: 100%; padding: 20px 30px; background: #fff;
	border: none; appearance: none; outline: none; font: 500 2.0rem/1.6 'Zen Kaku Gothic New';
	color: #1f4873; text-align: left; cursor: pointer;
}
#entry button i {
	position: absolute; top: 50%; right: 30px; width: 20px; height: 20px;
	transform: translateY(-50%); transition: all .5s ease; 
}
#entry button i::before, #entry button i::after {
	content: ''; position: absolute; top: 50%; left: 50%; background: #1f4873;
	border-radius: 5px; transform: translate(-50%,-50%); transition: all .5s ease; 
}
#entry button i::before { width: 100%; height: 2px; }
#entry button i::after { width: 2px; height: 100%; }
#entry button.open i::after {
	transform-origin: 50% 50%; transform: translate(-50%,-50%) rotate(90deg);
}
#entry .detail { display: none; padding: 0 0 48px; }
#entry dl {
	display: flex; justify-content: space-between; flex-wrap: wrap; padding: 50px 50px 0;
}
#entry dt { width: 24%; font-size: 1.8rem; font-weight: 500; }
#entry dd { width: 76%; margin: 0 0 24px; }
#entry dd .note { display: block; }
#entry .out { width: 300px; margin: 24px auto 0; }

@media screen and (min-width:769px) {
	#recruit .lead article { background: center/contain no-repeat url(../img/recruit_base1.png); }
	#entry .newgrad .out { margin: 0; }
}
@media screen and (max-width:768px) {
	#recruit .cover { background-size: auto 130%; }
	#recruit .lead {
		background: center top/90% auto no-repeat url(../img/recruit_base1_s.png),#1f4873;
	}
	#recruit .lead p { text-align: left; }
	#recruit .lead .btn { width: 70%; }
	.jobs article { display: block; width: 90%; }
	.jobs h4 { margin: 24px 0 0; font-size: 2.0rem; }
	.jobs i { position: absolute; top: 0; right: 0; width: 40vw; height: 40vw; margin: 0; }
	.jobs .place { width: 100%; min-height: 40vw; padding: 0; margin: 0 0 16px; }
	.jobs .place p { margin: 0; font-size: 1.8rem; }
	.jobs .list { width: 100%; margin: 0 0 36px; padding: 1px 4vw 24px; }
	.jobs .list dl { display: block; padding: 24px 0; }
	.jobs .list dt { width: 100%; margin: 0 0 10px; font-size: 1.8rem; }
	.jobs .list dd { width: 100%; }
	.enchant .intro { font-size: 1.8rem; }
	.enchant article { display: block; width: 90%; margin: 24px auto; padding: 4vw 4vw 24px; }
	.enchant h3 { font-size: 2.1rem; letter-spacing: -0.02em; }
	.enchant .period { margin: 0 0 16px; padding: 0 0 16px; }
	.enchant .text { width: 100%; }
	.enchant .photo { width: 100%; margin: 0 auto 24px; }
	.enchant article .btn { width: 80%; margin: 16px auto 0; }
	.enchant .employee { width: 90%; margin: 48px auto; flex-wrap: wrap; }
	.enchant .employee li { width: 48%; margin: 0 0 24px; }
	.enchant .more { width: 90%; padding: 24px 0; border-radius: 40px; }
	.enchant .more::before {
		top: auto; bottom: -6vw; left: -3vw; width: 20vw; height: 20vw; transform: translateY(0);
	}
	.enchant .more::after { top: -8vw; bottom: auto; right: -3vw; width: 25vw; height: 25vw; }
	.enchant .more h3 { font-size: 2.6rem; }
	.enchant .more h3::before { width: 30vw; }
	.enchant .more .btn { width: 70%; }
	#entry h3 { margin: 48px 0 24px; }
	#entry h4 { margin: 24px 0 0; padding: 0 10px; font-size: 2.0rem; }
	#entry h4:last-of-type { margin: 36px 0 0; }
	#entry .require { padding: 1px 4vw 24px; }
	#entry .newgrad { display: block; padding: 24px 4vw; }
	#entry .newgrad p { font-size: 1.8rem; }
	#entry button { padding: 16px 0; font-size: 1.7rem; }
	#entry button i { right: 10px; }
	#entry .detail { padding: 0 0 36px; }
	#entry dl { display: block; padding: 16px 0 0; }
	#entry dt { width: 100%; font-size: 1.6rem; line-height: 2.0; }
	#entry dd { width: 100%; }
	#entry .out { width: 90%; margin: 24px auto 0; }
	#entry .newgrad .out { margin: 24px auto 0; }
}

/* --------------------------------------------------------------------------
   interview
-------------------------------------------------------------------------- */

#interview .title {
	padding: 0; 
	background: linear-gradient(transparent 90%,#fff 90%),
				center/cover no-repeat url(../img/recruit_base2.jpg);
}
#interview .title article {
	display: flex; width: 1100px; margin: 0 auto; padding: 64px 0 0 50px;
}
#interview .title .text { width: 600px; font-size: 1.8rem; }
#interview .title h2 { font-size: 6.0rem; font-weight: 700; }
#interview .title h2 span {
	display: inline-block; margin-left: 10px; font: 500 2.0rem/1.6 'Zen Old Mincho';
}
#interview .title h2::after {
	content: ''; display: block; width: 60px; height: 14px; margin: 12px 0 24px;
	background: #f7cf7c; transform: skew(0,-10deg);
}
#interview .title h3 { margin: 0 0 16px; font: 500 2.4rem/1.6 'Zen Old Mincho'; }
#interview .title .photo { width: 400px; filter: drop-shadow(10px 10px 0 rgba(251,191,86,.35)); }
#interview .title .photo img { clip-path: polygon(0 10%,100% 0,100% 90%,0 100%); }
#interview .chapter article { 
	display: flex; justify-content: space-between; align-items: center; margin: 0 auto 64px;
}
#interview .chapter article:nth-of-type(odd) { flex-direction: row-reverse; }
#interview .chapter .photo { width: 460px; }
#interview .chapter .text { width: 500px; }
#interview .chapter h2 { margin: 0 0 36px; font: 500 2.8rem/1.6 'Zen Old Mincho'; }
#interview .navi {
	display: flex; justify-content: space-evenly; background: #e8ebf0; width: 700px;
	margin: 80px auto 0; border-radius: 99px;
}
#interview .navi a { line-height: 3.4; text-align: center; }
#interview .navi .prev::before, #interview .navi .next::after {
	content: ''; position: relative; display: inline-block; width: 26px; height: 26px;
	background: 80% 0/600% auto no-repeat url(../img/ico.svg); aspect-ratio:1/1; 
	transform: translateY(7px);
}
#interview .navi .prev::before { margin-right: 12px; transform: translateY(7px) rotate(180deg); }
#interview .navi .next::after { margin-left: 12px; }
#interview .navi .prev:hover::before, #interview .navi .next:hover::after {
	background-position: 80% 100%;
}

@media screen and (max-width:768px) {
	#interview .title article { display: block; width: 90%; padding: 24px 0 0; }
	#interview .title .text { width: 100%; }
	#interview .title h2 { font-size: 3.4rem; }
	#interview .title h2 span { display: block; margin: 0; font-size: 2.0rem; }
	#interview .title h3 { font-size: 2.0rem; }
	#interview .title .photo { width: 80%; margin-left: auto; }
	#interview .chapter article { display: block; margin: 0 auto 48px; }
	#interview .chapter .photo { width: 100%; margin: 20px auto 0; }
	#interview .chapter .text { width: 100%; }
	#interview .chapter h2 { margin: 0 0 12px; font-size: 2.0rem; }
	#interview .navi { display: block; width: 90%; margin: 48px auto 0; }
	#interview .navi a { display: block; }
}

/* --------------------------------------------------------------------------
   recruit
-------------------------------------------------------------------------- */

#environment .cover { background: center/cover no-repeat url(../img/cover_environment.jpg); }
#environment .benefit article { display: flex; justify-content: space-between; flex-wrap: wrap; }
.benefit p {
	display: flex; flex-direction: column; justify-content: center; width: 320px; height: 80px;
	margin: 20px 0 0; background: #e8ebf0; font-size: 2.0rem; text-align: center;
}
.benefit span { display: block; font-size: 1.6rem; }

#environment .style { background: #1f4873; color: #fff; }
.style h3.tag { margin: 0 0 24px; }
.style h4 { position: relative; font-size: 2.0rem; font-weight: 500; }
.style h4::before {
	content: ''; position: absolute; top: 5px; left: -30px; width: 20px; height: 20px;
	background: 60% 100%/600% auto no-repeat url(../img/ico.svg);
}
.style .time {
	position: relative; width: 100%; min-height: 140px; margin: 0 auto 48px;
	padding: 36px 24px 36px 50px; background: #fff; color: #1f4873;
}
.style .time::before {
	content: ''; position: absolute; top: 50%; right: 24px; width: 120px; height: 120px;
	background: 0 0/500% auto no-repeat url(../img/recruit_env.png); transform: translateY(-50%);
}
.style .balance { display: flex; justify-content: space-between; }
.style .balance li {
	position: relative; width: 320px; padding: 36px 24px 36px 50px; background: #fff;
	color: #1f4872;
}
.style .balance li::before {
	content: ''; position: absolute; top: 50%; right: 24px; width: 100px; height: 100px;
	background: 25% 0/500% auto no-repeat url(../img/recruit_env.png);
	transform: translateY(-50%);
}
.style .balance li:nth-of-type(2)::before { background-position: 50% 0; }
.style .balance li:last-of-type::before { background-position: 75% 0; }

#environment .number { background: #e8ebf0; }
.number h3.tag { margin: 0 0 36px; font-size: 2.0rem; font-family: 'Zen Kaku Gothic New'; }
.number h3.tag.solo { margin: 0 0 48px; }
.number h3.tag::before { vertical-align: middle; }
.number h4 { font-size: 2.2rem; font-weight: 500; }
.number p { font-size: 2.8rem; font-weight: 500; }
.number span { font: 400 7.0rem/1.2 'Oswald'; }
.number ul { display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; }
.number li {
	position: relative; width: 485px; height: 250px; margin: 30px 0 0; padding: 30px;
	background: #fff; 
}
.number li:last-child { width: 100%; }
.number li::before {
	content: ''; position: absolute; top: 50%; right: 30px; width: 150px; height: 150px;
	background: 100% 0/500% auto no-repeat url(../img/recruit_env.png);
	transform: translateY(-50%);
}
.number li:nth-child(2)::before { background-position: 0 100%; }
.number li:nth-child(3)::before { background-position: 25% 100%; }
.number li:nth-child(4)::before { background-position: 50% 100%; }
.number li:nth-child(5)::before { background-position: 50% 0; }
.number li:nth-child(6)::before { background-position: 75% 100%; }
.number li:last-child::before { background-position: 100% 100%; }
.number li .multi { display: flex; }
.number li .multi div { display: block; margin-right: 40px; }
.number li .multi div:last-of-type { margin: 0; }
.number li:last-child .multi div { width: 190px; margin: 0; text-align: center; }
.number .date { text-align: right; margin: 10px 0 0; font-size: 1.6rem; font-weight: 400; }
.number .date span { font-size: 1.6rem; font-weight: 400; }
.number .btn { width: 240px; margin: 64px auto 24px; }
.number .back {
	display: block; width: 240px; margin: 0 auto; line-height: 3.4; text-align: center;
}
.number .back::before {
	content: ''; position: relative; display: inline-block; width: 26px; height: 26px;
	margin-right: 12px; background: 80% 0/600% auto no-repeat url(../img/ico.svg);
	transform: translateY(7px) rotate(180deg);
}
.number .back:hover::before { background-position: 80% 100%; }

@media screen and (max-width:768px) {
	#environment .benefit article { display: block; }
	.benefit p { margin: 10px auto 0; width: 100%; height: 7rem; font-size: 1.8rem; }
	.style h4 { font-size: 1.8rem; }
	.style h4::before { left: -20px; width: 18px; height: 18px; }
	.style .time { min-height: 100px; padding: 24px 100px 24px 32px; }
	.style .time::before { right: 10px; width: 80px; height: 80px; }
	.style .balance { display: block; }
	.style .balance li {
		width: 100%; min-height: 100px; margin: 16px auto 0; padding: 16px 100px 24px 32px;
	}
	.style .balance li::before { right: 10px; width: 80px; height: 80px; }
	.number h3.tag { margin: 0 0 24px; font-size: 1.8rem; }
	.number h3.tag.solo { margin: 0 0 16px; }
	.number h4 { font-size: 1.8rem; }
	.number p { font-size: 2.6rem; }
	.number span { font-size: 6.4rem; }
	.number ul { display: block; }
	.number li { width: 100%; height: auto; margin: 20px 0 0; padding: 24px 5vw; }
	.number li::before {
		top: 4vw; right: 4vw; width: 100px; height: 100px; transform: translateY(0);
	}
	.number li:last-child::before { width: 80px; height: 80px; }
	.number li .multi div { width: 40%; margin-right: 4%; }
	.number li:last-child .multi { flex-wrap: wrap; }
	.number li:last-child .multi div { width: 50%; margin: 16px 10% 0 0; text-align: left; }
	.number li:last-child .multi div:nth-of-type(even) { width: 40%; margin: 16px 0 0; }
	.number .date span { display: none; }
	.number .btn { width: 90%; margin: 36px auto 16px; }
	.number .back { margin: 36px auto 0; width: 100%; }
}

/* --------------------------------------------------------------------------
   csr
-------------------------------------------------------------------------- */

#csr .cover { background: center/cover no-repeat url(../img/cover_csr.jpg); }
#csr .lead p { text-align: center; }

#csr .sport {
	position: relative; padding: 120px 0; text-align: center; overflow: hidden;
	background: center/cover no-repeat url(../img/csr_base.jpg);
}
#csr .sport::before {
	content: ''; position: absolute; top: 50%; left: 50%; width: 800px; height: 800px;
	background: #fff; border-radius: 50%; filter: blur(80px);
	transform: translate(-50%,-50%);
}
#csr .sport h3 { margin: 0 auto 24px; font: 500 2.8rem/1.6 'Zen Old Mincho'; }
#csr .golfer article { display: flex; justify-content: space-between; }
#csr .golfer article:first-child {
	margin: 0 auto 48px; padding: 0 0 48px; border-bottom: solid 1px #1f4873;
}
#csr .golfer .photo { width: 460px; }
#csr .golfer .profile { width: 500px; }
#csr .golfer h2 { margin: 0 0 24px; font: 2.4rem/1.6 'Zen Old Mincho'; }
#csr .golfer .btn { width: 240px; margin: 16px 0 0; font-size: 1.6rem; }

@media screen and (max-width:768px) {
	#csr .lead p { text-align: left; }
	#csr .sport { padding: 48px 0; }
	#csr .sport::before { width: 130vw; height: 130vw; filter: blur(30px); }
	#csr .sport p { text-align: left; }
	#csr .sport { padding: 36px 0; }
	#csr .sport h3 { font-size: 2.0rem; }
	#csr .sport p { text-align: left; }
	#csr .golfer article { display: block; }
	#csr .golfer article:first-child { margin: 0 auto 24px; padding: 0 0 24px; }
	#csr .golfer .photo { width: 100%; margin: 0 auto 16px; }
	#csr .golfer .profile { width: 100%; }
	#csr .golfer h2 { margin: 0 0 16px; font-size: 2.0rem; }
	#csr .golfer .btn { width: 80%; }
}

/* --------------------------------------------------------------------------
   news
-------------------------------------------------------------------------- */

#news .cover { background: center/cover no-repeat url(../img/cover_news.jpg); }
#news .navi { width: 1000px; margin: 48px auto 0; }
#news .navi a { display: inline-block; font-size: 2.4rem; font-weight: 500; margin-right: 30px; }
#news .navi a::after {
	content: ''; display: inline-block; width: 22px; height: 22px; margin-left: 10px;
	background: 80% 0/600% auto no-repeat url(../img/ico.svg); aspect-ratio: 1/1;
	transform: translateY(2px) rotate(90deg);
}
#news .navi a:hover::after { background-position: 80% 100%; }
#news .year { padding: 24px 0 36px; }
#news .year h2 {
	width: 1000px; margin: 0 auto; border-bottom: solid 1px #1f4873;
	font-size: 3.6rem; font-weight: 500; line-height: 2.0;
}
#news .year h3 { margin: 0 0 24px; font: 2.8rem/1.6 'Zen Old Mincho'; }
#news .year h4 { font-size: 1.6rem; font-weight: 500; }
#news article { padding: 48px 0; border-bottom: solid 1px #c3d4e5; }
#news article:last-child { border: none; }
#news .folio { display: flex; flex-wrap: wrap; }
#news .folio .photo { width: 500px; }
#news .folio .text { width: 500px; padding: 0 36px; }
#news .txt { margin: 0 0 0.8em; }
#news .bull { margin-left: 1.0em; text-indent: -1.0em each-line; }
#news .box { display: flex; }
#news .box.contact li {
	width: 200px; margin: 16px 10px 0 0; padding: 10px; border: solid 1px #1f4873;
	text-align: center;
}
#news .btn,#news .out { width: 280px; margin: 16px 0 0; font-size: 1.6rem; }

@media screen and (max-width:768px) {
	#news .navi { width: 90%; margin: 24px auto 0; }
	#news .navi a { font-size: 1.8rem; margin-right: 4vw; }
	#news .navi a::after { width: 16px; height: 16px; }
	#news .year { padding: 16px 0 24px; }
	#news .year h2 { width: 90%; font-size: 2.4rem; }
	#news .year h3 { margin: 0 0 16px; font-size: 2.0rem; }
	#news article { padding: 24px 0; }
	#news .folio { display: block; }
	#news .folio .photo { width: 100%; }
	#news .folio .text { width: 100%; padding: 16px 0 0; }
	#news .box { display: block; }
	#news .box.contact li { width: 100%; margin: 12px 0 0; }
	#news .btn,#news .out { width: 80%; margin: 16px auto 0; }
}

/* --------------------------------------------------------------------------
   contact
-------------------------------------------------------------------------- */

#contact .cover { background: center/cover no-repeat url(../img/cover_contact.jpg); }
#contact article {
	margin: 0 auto 24px; padding: 50px; background: #e8ebf0; border-radius: 30px;
	text-align: center;
}
#contact article h2 { margin: 0 0 16px; font: 500 2.4rem/1.6 'Zen Old Mincho'; }
#contact .note { margin: 24px 0 0 1.0em; text-align: left; }
#contact .btn { width: 280px; margin: 24px auto 0; }

@media screen and (max-width:768px) {
	#contact article { padding: 24px 4vw; text-align: left; }
	#contact .btn { width: 80%; }
}

/* --------------------------------------------------------------------------
   corporate
-------------------------------------------------------------------------- */

#corporate .cover { background: center/cover no-repeat url(../img/cover_corporate.jpg); }
#corporate .overview dl {
	display: flex; width: 800px; margin: 0 auto; padding: 24px 0;
	border-bottom: solid 1px #1f4873;
}
#corporate .overview dl:last-of-type { border: none; }
.overview dt { width: 240px; padding: 0 24px; font-weight: 500; }
.overview dd { width: 560px; }
.overview dd.contact p { display: flex; }
.overview .contact p:nth-of-type(even) { margin: 10px 0; }
.overview .contact p span { width: 220px; }
.overview .contact p span.uno { width: 440px; }
.overview .contact p span:first-child { width: 120px; }
.overview .access {
	display: flex; padding: 50px; align-items: center; border-bottom: solid 1px #1f4873; 
}
.overview .access.hq { margin: 36px auto 80px; background: #1f4873; color: #fff; }
.overview .access.cb { padding:  0 50px 50px; }
.overview .access:last-child { border: none; padding: 50px 50px 0; }
.overview .addrs { width: 400px; padding-right: 20px; }
.overview .area { width: 500px; }
.overview .map { position: relative; width: 100%; height: 0; padding: 0 0 62%; }
.overview .map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.overview h3 { margin: 0 0 16px; font: 500 2.4rem/1.6 'Zen Old Mincho'; }
.overview h3 span { display: block; font-size: 2.0rem; }
.overview .rail { margin: 24px 0 0; font-size: 1.8rem; font-weight: 500; }

.affiliate { background: #e8ebf0; border: solid 2px #1f4873; border-width: 2px 0 2px 0; }
.affiliate article {
	position: relative; width: 900px; margin: 50px auto 0; padding: 50px 100px; background: #fff;
}
.affiliate article::after {
	content: ''; position: absolute; bottom: -2px; right: 0; width: 25px; height: 25px;
	background: rgba(31,72,115,.65); transform: skew(0,-10deg);
}
.affiliate h3 {
	padding: 0 0 12px; border-bottom: solid 1px #1f4873; font: 700 2.4rem/1.6 'Zen Old Mincho';
	text-align: center;
}
.affiliate dl { display: flex; padding: 16px 0; }
.affiliate dt { width: 200px; padding: 0 50px; font-weight: 500; }
.affiliate dd { width: 500px; }
.affiliate dd span { display: inline-block; margin-left: 2.0em; }

@media screen and (max-width:768px) {
	#corporate .overview dl { display: block; width: 90%; padding: 16px 10px; }
	.overview dt { width: 100%; margin: 0 0 10px; padding: 0; }
	.overview dd { width: 100%; }
	.overview dd.contact p { display: block; }
	.overview .contact p span { display: block; width: 100%; }
	.overview .contact p span.uno { width: 100%; }
	.overview .access { display: block; padding: 24px 4vw; }
	.overview .access.hq { margin: 16px auto 48px; }
	.overview .access.cb { padding: 0 4vw 24px; }
	.overview .access:last-child { padding: 24px 4vw 0; }
	.overview .addrs { width: 100%; margin: 0 0 16px; padding: 0; }
	.overview .area { width: 100%; }
	.overview h3 { font-size: 2.0rem; }
	.overview h3 span { font-size: 1.8rem; }
	.affiliate article { width: 90%; margin: 36px auto 0; padding: 24px 5vw; }
	.affiliate h3 { font-size: 2.0rem; }
	.affiliate dl { display: block; padding: 16px 2vw 0; }
	.affiliate dt { width: 100%; padding: 0; line-height: 2.0; }
	.affiliate dd { width: 100%; }
	.affiliate dd span { display: block; margin: 0; }
}

/* --------------------------------------------------------------------------
   policy
-------------------------------------------------------------------------- */

#policy .cover { height: 200px; background: linear-gradient(0.45turn,#1f4873 50%,#5a7591 70%); }
#policy .deci { padding-left: 1.2em; }
#policy .deci > li { margin: 24px 0 0; list-style-type: decimal; }
#policy .deci > li span { font-size: 1.8rem; font-weight: 700; }
#policy .disc { padding-left: 1.0em; }
#policy .disc > li { list-style-type: disc; }

@media screen and (max-width:768px) {
	#policy .cover { height: 20vh; }
}
