@charset "UTF-8";

.company--btn {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 40px;
}

.company--btn a.btn {
	border: 1px solid #f39b4e;
	color: #f39b4e;
	font-weight: 700;
}

.company--btn a.btn:hover {
	background: #f39b4e;
	color: #fff;
	font-weight: 700;
}

.company--btn a {
	color: #f39b4e;
	font-weight: 700;
}

.company__color {
	color: #f39b4e;
}

a:hover {
	color: #f39b4e;
}

main article section {
	margin: 0 auto;
	max-width: initial;
	padding: 80px 20px;
}

main article section:nth-child(odd) {
	background-color: #fff;
	padding: 0 auto;
}

main article section:nth-child(even) {
	background-color: #fefaf6;
	padding: 0 auto;
}

main article section > div {
	margin: 0 auto;
	max-width: 900px;
}

main article section:first-child div.bg__line {
	height: 100%;
	margin: 0 auto;
	max-width: initial;
	padding: 0 20px;
	position: relative;
}

main article section:first-child div.bg__line::before {
	background: #f6af71;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: calc(50% - 0.5px);
	width: 100%;
}

main article section:first-child > div h2 {
	background-color: #fff;
	color: #f6af71;
	display: initial;
	font-family: "Zen Old Mincho", serif;
	padding: 0 20px;
	position: relative;
}

main article section h3 {
	border-bottom: solid 2px #fce6d3;
	line-height: 1.6em;
	margin-bottom: 1.5em;
	position: relative;
}

main article section h3::after {
	border-bottom: solid 2px #f39b4e;
	bottom: -2px;
	content: " ";
	display: block;
	position: absolute;
	width: 45%;
}

main article section h4 {
	counter-reset: number3;
	line-height: 1.6em;
	margin-bottom: 1em;
	margin-top: 2em;
}

main article section h4:first-child {
	margin-top: 0;
}

main article section h5 {
	counter-reset: number4;
	margin-bottom: 1em;
	margin-left: 1.2em;
	position: relative;
	text-indent: -0.95em;
}

main article section h5::before {
	content: counter(number3) ".";
	counter-increment: number3 1;
}

main article section h5::after {
	border-bottom: 2px solid #eeebe9;
	bottom: -6px;
	content: "";
	left: -1.2em;
	position: absolute;
	width: calc(100% + 1.2em);
}

main article section h6 {
	line-height: 1.6em;
	margin-bottom: 0.5em;
	padding-left: 3.2em;
	text-indent: -3.2em;
}

main article section h6::before {
	content: "（" counter(number4) "）";
	counter-increment: number4 1;
	margin-left: 0.8em;
}

main article section > div p {
	margin-bottom: 2em;
}

main article section > div > h5 + p,
main article section > div > h5 + p + p {
	margin-left: 1.4em;
	margin-left: 1.8em;
}

main article section > div > h6 + p {
	margin-bottom: 1em;
	margin-left: 4em;
}

main article section > div > ul {
	list-style-type: disc;
	margin-bottom: 1em;
	margin-left: 2.75em;
}

main article section > div > ul > li {
	line-height: 2em;
	margin-bottom: 0.25em;
	margin-left: 2.25em;
	text-indent: 0;
}

main article section > div > ol {
	counter-reset: cnt;
	margin-bottom: 2em;
}

main article section > div > ol > li {
	counter-increment: cnt;
	line-height: 2em;
	list-style-type: none;
	margin-bottom: 0.25em;
	margin-left: 2em;
	text-indent: -2.65em;
}

main article section > div > ol > li > p {
	margin-left: -1.65em;
	text-indent: 0;
}

main article section > div > ol > li::before {
	content: "（" counter(cnt) "）";
}

aside {
	margin: 0 auto;
	max-width: initial;
}

.company {
	width: 100%;
}

.company__title {
	margin: 40px auto 0;
	max-width: 1010px;
	width: 100%;
}

.president {
	padding: 0 20px;
}

.president__flex {
	align-items: center;
	display: flex;
	flex-direction: column-reverse;
	gap: 40px;
	margin-bottom: 1em;
	margin-top: 40px;
}

.president img {
	border-radius: 50%;
	height: 160px;
	max-height: 160px;
	max-width: 160px;
	-o-object-fit: cover;
	object-fit: cover;
	width: 160px;
}

.president__name {
	margin-top: 0.5em;
}

.company_dl {
	margin: 0;
}

dl {
	display: flex;
	flex-direction: row;
	gap: 20px;
}

dl dt {
	line-height: 2em;
	min-width: 6em;
	-moz-text-align-last: justify;
	text-align-last: justify;
}

dl dd {
	line-height: 2em;
}

.address {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 40px 0;
}

.address__image {
	align-self: center;
}

.address__image img {
	height: 250px;
	max-height: 250px;
	max-width: 300px;
	-o-object-fit: cover;
	object-fit: cover;
	width: 300px;
}

.certification {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 40px 0;
}

.adreess__text,
.certification--text {
	width: 100%;
}

.adreess__text p,
.certification--text p {
	line-height: 1.5em;
}

.adreess__text ul {
	margin-top: 10px;
}

@media print, screen and (min-width: 768px) {
	.president__flex {
		align-items: center;
		flex-direction: row;
		margin-top: 40px;
	}

	.company_dl {
		margin: 0 3em;
	}

	.address,
	.certification {
		flex-direction: row;
	}

	.company--btn {
		align-items: flex-start;
	}

	.address__image {
		align-self: flex-start;
	}
}
