/* www.nsb-setouchi.nipponsteel.com ------------------------------------------------------------
	Last Update: 2021/01/27
	1: 基本設定・共通設定
		1-1: 基本設定
		1-2: レイアウト
		1-3: ヘッダ
		1-4: フッタ
		1-5: 全ページ共通設定
		1-6: 詳細ページ共通設定
	2: ホーム index.html
		2-1: ホーム index.html / slider
		2-2: ホーム index.html / main
	3: 会社概要 company.html
	4: 電子公告 publicnotice.php
	5: お問い合わせ contact.html / contact-form.php / contact-sended.html
	6: プライバシーポリシー privacy.html
	7: 合併告知関連 .merge
*/


/* 1: 基本設定・共通設定 ------------------------------------------------------------ */

/* 1-1: 基本設定 ------------------------------ */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	height: 100%;
}

body {
	height: 100%;
	font-family: "Open Sans", "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: #3f3f3f;
	background-color:#fff;
	-moz-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	/* justify-content: center;
	flex-wrap: wrap; */
}
@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	body {
		font-size: 14px;
		-webkit-text-size-adjust: 100%;
	}
}

body > * {
	flex-shrink: 0;
}

sup,sub {
	font-size: 0.7rem;
	font-weight:normal;
	text-decoration:none;
}

div {
	border:0;
}

img {
	border:0;
}

br {
	letter-spacing: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}

a:link {
	color: #2ca6e0;
	text-decoration: none;
	transition: color 0.2s ease 0s;
}

a:visited {
	color: #3e63a2;
	text-decoration: none;
}

a:hover {
	color: #71bbe8;
	text-decoration: none;
}

a object {
	transition: opacity 0.2s ease 0s;
}

a:hover object {
	opacity: 0.5;
}

ul li {
	list-style: none;
}


/* 1-2: レイアウト ------------------------------ */

header {
	width: 100%;
	height: 135px;
	display: flex;
	justify-content: space-between;
}

main {
	width: 100%;
	flex-grow: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: nowrap;
}

main > * {
	flex-shrink: 0;
}

article {
	width: 1080px;
	max-width: calc(100% - 80px);
}

footer {
	padding: 35px 0;
}

@media screen and (max-width: 1080px) and (orientation: portrait) and (hover: none) {
	article {
		width: calc(100% - 80px);
	}
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 800px) and (hover: hover) {
	header {
		height: 40px;
	}

	article {
		width: calc(100% - 40px);
	}

	footer {
		padding: 15px 0;
	}
}


/* 1-3: ヘッダ ------------------------------ */

header > div {
	width: calc(60% - 20px);
	max-width: calc(100% - 320px);
	margin-left: 50px;
	margin-top: 50px;
}

header > div a {
	display: block;
}

header > div a object {
	/*
	width: 720px;
	max-width: 720px;
	*/
	height: 35px;
	pointer-events: none;
}

header nav div {
	display: none;
}

header nav {
	padding-right: 40px;
	max-width: 480px;
	min-width: 320px;
	width: 40%;
}

header nav ul {
	display: flex;
	justify-content: space-between;
	height: 135px;
}

header nav ul li {
	list-style: none;
	text-align: center;
	position: relative;
	height: 135px;
}

@media screen and (hover: hover) {
	header nav ul li::before {
		content: " ";
		display: block;
		position: absolute;
		width: 140%;
		height: 2px;
		top: 85px;
		left: 0px;
		background-color: #2ca6e0;
		z-index: 0;
		transform: translateX(-14.3%) scaleX(0);
		transform-origin: left;
		transition: transform 0.2s ease 0s;
	}

	header nav ul li:hover::before {
		transform: translateX(-14.3%) scaleX(1);
	}
}

header nav ul a {
	display: block;
	height: 135px;
	max-width: 120px;
	line-height: 135px;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 1080px) and (orientation: portrait) and (hover: none),
screen and (max-width: 800px) and (hover: hover) {
	header nav {
		min-width: initial;
		padding-right: 0;
		position: relative;
		z-index: 21;
	}

	header nav div {
		display: block;
		width: 60px;
		height: 60px;
		position: absolute;
		right: 0;
		top: 0;
		background-color: rgba(207, 207, 207, 0);
		transition: background-color 0.2s ease 0s;
	}

	header nav div #nav-icon-horizontal {
		transition: opacity 0.2s ease 0s;
		opacity: 1;
	}
	
	header nav div #nav-icon-cross1 {
		transition: transform 0.2s ease 0s;
		transform-origin: center;
	}

	header nav div #nav-icon-cross2 {
		transition: transform 0.2s ease 0s;
		transform-origin: center;
		opacity: 0;
	}

	header nav.show div {
		background-color: rgba(207, 207, 207, 1);
	}

	header nav.show div #nav-icon-horizontal {
		opacity: 0;
	}
	
	header nav.show div #nav-icon-cross1 {
		transform: rotate(45deg) scale(1.3);
	}
	
	header nav.show div #nav-icon-cross2 {
		transform: rotate(-45deg) scale(1.3);
		opacity: 1;
	}

	header nav ul {
		display: none;
		flex-direction: column;
		justify-content: flex-start;
		position: absolute;
		width: 200px;
		height: auto;
		right: 0;
		top: 60px;
		border-top: 1px solid #cfcfcf;
	}

	header nav ul a {
		max-width: initial;
	}

	@keyframes show {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}
	
	header nav.show ul {
		display: block;
	}

	header nav ul li,
	header nav ul li a {
		width: auto;
		height: 40px;
		line-height: 40px;
	}
	
	header nav ul li {
		border-bottom: 1px solid #cfcfcf;
		background-color: rgba(255, 255, 255, 0.8);
	}

	header nav.show ul li {
		animation: show 0.2s ease 0s;
	}
}

@media screen and (hover: none) {
	header nav ul li::before {
		display: none;
	}
}

@media screen and (max-width: 800px) and (orientation: portrait) and (hover: hover) {
	header nav ul li::before {
		height: 100%;
		top: 0;
		opacity: 0.2;
		transform: translateX(0) scaleX(0);
	}

	header nav ul li:hover::before {
		transform: translateX(0) scaleX(1);
	}
}


@media screen and (max-width: 1080px) and (orientation: portrait) and (hover: none) {
	header > div {
		width: calc(100% - 80px);
		max-width: initial;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 1080px) and (orientation: portrait) and (hover: none),
screen and (max-width: 800px) and (hover: hover) {
	header > div {
		width: calc(100% - 60px);
		max-width: calc(100% - 60px);
		margin-left: 20px;
		margin-top: 13px;
	}

	header > div a object {
		/*
		width: 288px;
		max-width: 288px;
		*/
		height: 14px;
	}

	header nav ul {
		top: 40px;
	}

	header nav div {
		width: 40px;
		height: 40px;
	}
}


/* 1-4: フッタ ------------------------------ */

footer {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #7f7f7f;
	text-align: center;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	footer {
		font-size: 0.8rem;
	}
}


/* 1-5: 全ページ共通設定 ------------------------------ */

ol {
	counter-reset: olcnt;
}

ol > li {
	list-style: none;
	padding-left: 1.1em;
}

ol > li::before {
	margin-left: -1.1em;
	padding-right: 0.2em;
	counter-increment: olcnt;
	content: counter(olcnt)".";
}

ol > li > ul > li::before {
	counter-increment: none;
}

br.sp,
br.spv {
	display: none;
}

br.pctb {
	display: inline;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	br.sp {
		display: inline;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait) {
	br.spv {
		display: inline;
	}

	br.pctb {
		display: none;
	}
}

/* フォーム */
input, button, textarea, select, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	outline: none;
	border: none;
	font-size: inherit;
	color: inherit;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button {
	font-size: 1.5rem;
	min-width: 200px;
	padding: 0.5em 2em;
	border-radius: 5px;
	background-color: #00a8e5;
	transition: background-color 0.2s ease 0s;
	color: white;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover {
	background-color: #54bdec;
}

input[type="text"],
textarea {
	width: 100%;
	background-color: #eee;
	line-height: 1.3;
	padding: 0.35em 0.5em;
	transition: background-color 0.2s ease 0s,
				color 0.2s ease 0s;
}

input[type="text"]:focus,
textarea:focus {
	background-color: #e0efff;
	color: #3f4f9f;
}

input[type="checkbox"],
input[type="radio"] {
	width: 1em;
	height: 1em;
	border: 0.25em solid #ddd;
	background: #ddd;
	margin-right: 0.5em;
	transition: border-color 0.5s ease 0s,
				background-color 0.2s ease 0s;
}

input[type="radio"] {
	border-radius: 0.5em;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
	border-color: #00a8e5;
	background-color: white;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button {
		font-size: 1rem;
		padding: 0.5em 1.5em;
		min-width: intrinsic;
	}
}


/* 1-6: 詳細ページ共通設定 ------------------------------ */
/* .title ------------------------------ */

.details main .title {
	width: 100%;
	height: 200px;
	display: flex;
	background-color: #eee;
	justify-content: center;
	align-items: center;
}

.details main .title h1 {
	font-weight: bold;
	font-size: 3rem;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	.details main .title {
		height: 150px;
	}
	
	.details main .title h1 {
		font-weight: bold;
		font-size: 2rem;
	}
}

/* 見出し */
.details main article section h1 {
	font-weight: bold;
	font-size: 2.25rem;
	margin: 35px 0;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	.details main article section h1 {
		font-size: 1.5rem;
		margin: 20px 0;
	}
}

/* リスト */
.details ul.kome {
	padding-left: 1em;
}

.details ul.kome > li::before {
	content: '※';
	margin-left: -1em;;
}

/* レスポンシブテーブル */
.details main article section .rtbl {
	font-size: 1.25rem;
	line-height: 2;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.details main article section .rtbl dt {
	flex-basis: 23%;
	margin-bottom: 1em;
	font-weight: bold;
	min-height: 2em;
	border-bottom: 1px solid #9f9f9f;
}

.details main article section .rtbl dd {
	flex-basis: 75%;
	margin-bottom: 1em;
	min-height: 2em;
	border-bottom: 1px solid #9f9f9f;
}

.details main article section .rtbl h2 {
	font-size: 1.25rem;
	line-height: 2;
	font-weight: 500;
	border-bottom: 1px solid #9f9f9f;
}

.details main article section .rtbl p,
.details main article section .rtbl li {
	border-bottom: 1px solid #9f9f9f;
}

.details main article section .rtbl p.short,
.details main article section .rtbl ul.short,
.details main article section .rtbl li.short {
	border-bottom: none;
	line-height: 1.6; /* 4行を5行取り */
}

.details main article section .rtbl p.small,
.details main article section .rtbl ul.small,
.details main article section .rtbl li.small {
	border-bottom: none;
	font-size: 1rem;
	line-height: 1.6; /* 4行を5行取り */
}

.details main article section .rtbl p.tall,
.details main article section .rtbl ul.tall,
.details main article section .rtbl li.tall {
	line-height: 2.5;
}

.details main article section .rtbl p:last-child,
.details main article section .rtbl li:last-child {
	border-bottom: none;
}

/* アニメーション */
.details main article section.anim {
	transform: translateY(20%) scale(1.03);
	opacity: 0;
	transition: transform 0.5s ease 0s,
				opacity 0.5s ease 0s;
}

.details main article section.anim.show {
	transform: translateY(0) scale(1);
	opacity: 1;
}

@media print {
	.details main article section.anim {
		transform: translateY(0) scale(1);
		opacity: 1;
	}	
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	.details main article section .rtbl {
		font-size: 1rem;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait) {
	.details main article section .rtbl {
		display: block;
		line-height: 1.5;
	}
	
	.details main article section .rtbl dt {
		margin-bottom: 0.5em;
	}
	
	.details main article section .rtbl dd {
		padding-bottom: 0.5em;
	}
	
	.details main article section .rtbl p,
	.details main article section .rtbl li {
		border-bottom: none;
	}

	.details main article section .rtbl p.short,
	.details main article section .rtbl ul.short,
	.details main article section .rtbl li.short {
		line-height: 1.5;
	}

	.details main article section .rtbl p.small,
	.details main article section .rtbl ul.small,
	.details main article section .rtbl li.small {
		font-size: 0.9rem;
		line-height: 1.5;
	}

	.details main article section .rtbl p.tall,
	.details main article section .rtbl ul.tall,
	.details main article section .rtbl li.tall {
		line-height: 1.5;
	}
}



/* 2: ホーム index.html ------------------------------------------------------------ */

/*
#home::before {
	background-image: url(../images/slider-00-small.jpg),
		url(../images/slider-01-small.jpg),
		url(../images/slider-02-small.jpg),
		url(../images/slider-03-small.jpg),
		url(../images/slider-04-small.jpg),
		url(../images/slider-05-small.jpg),
		url(../images/slider-06-small.jpg);
}
*/

/* 2-1: ホーム index.html / slider ------------------------------ */
#home .bx-wrapper {
	border: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

#home .slider > div {
	max-width: 100%;
	height: 700px;
	background-color: #555;
	display: flex;
	align-items: center;
	justify-content: center;
}

#home .slider > div > div {
	width: 1080px;
	position: relative;
}

#home .slider p {
	font-size: 1.75rem;
	font-weight: bold;
	color: white;
}

#home .slider p:first-child {
	font-size: 5rem;
}

#home .slider p .normal {
	font-weight: normal;
}

#home .slider .slider-00 {
	background: url(../images/slider-00.jpg) center/cover,
				#f7ffef url(../images/slider-00-small.jpg) center/cover;
}

#home .slider .slider-00 p {
	font-size: 3rem;
	line-height: 1.8;
	font-weight: bold;
	text-align: center;
	color: #5f5f5f;
}

#home .slider .slider-01 {
	background: url(../images/slider-01.jpg) center/cover,
				url(../images/slider-01-small.jpg) center/cover;
}

#home .slider .slider-02 {
	background: url(../images/slider-02.jpg) center/cover,
				url(../images/slider-02-small.jpg) center/cover;
}

#home .slider .slider-03 {
	background: url(../images/slider-03.jpg) center/cover,
				url(../images/slider-03-small.jpg) center/cover;
}

#home .slider .slider-04 {
	background: url(../images/slider-04.jpg) center/cover,
				url(../images/slider-04-small.jpg) center/cover;
}

#home .slider .slider-05 {
	background: url(../images/slider-05.jpg) center/cover,
				url(../images/slider-05-small.jpg) center/cover;
}

#home .slider .slider-06 {
	background: url(../images/slider-06.jpg) center/cover,
				url(../images/slider-06-small.jpg) center/cover;
}

#home .slider .slider-01 p,
#home .slider .slider-03 p,
#home .slider .slider-05 p {
	text-align: right;
}

#home .slider .slider-03 p:first-child,
#home .slider .slider-05 p:first-child,
#home .slider .slider-06 p:first-child {
	font-size: 4.5rem;
}

#home .bx-wrapper .bx-controls-direction a {
	margin-top: 0;
}

#home .bx-wrapper .bx-prev,
#home .bx-wrapper .bx-next {
	position: absolute;
	display: flex;
	width: 40px;
	height: 100%;
	top: 0;
	z-index: 10;
	background: rgba(113, 187, 232, 0);
	transition: background-color 0.5s ease 0s;
	flex-direction: column;
	justify-content: center;
}
#home .bx-wrapper .bx-prev {
	left: 0;
}
#home .bx-wrapper .bx-next {
	right: 0;
}

#home .bx-wrapper .bx-prev .arrow,
#home .bx-wrapper .bx-next .arrow {
	color: white;
	font-family: "Inter", sans-serif;
	font-weight: 100;
	font-size: 2.5rem;
	text-align: center;
	text-indent: 0;
}

#home .bx-wrapper .bx-prev:hover,
#home .bx-wrapper .bx-next:hover {
	background-color: rgba(113, 187, 232, 0.5);
}

/* アニメーション */
#home .slider .slider-00.anim p span {
	display: inline-block;
	transform: translateY(-50%) scale(1.03);
	opacity: 0;
	transition: transform 1s ease-out 0.5s,
				opacity 1s ease-out 0.5s;
}
#home .slider .slider-00.anim p span:nth-child(2n) {
	transform: translateY(-80%) scale(1.05);
	opacity: 0;
	transition: transform 1s ease-out 0.7s,
				opacity 1s ease-out 0.7s;
}
#home .slider .slider-00.anim p span:nth-child(3n) {
	transform: translateY(-65%) scale(1.04);
	opacity: 0;
	transition: transform 1s ease-out 1s,
				opacity 1s ease-out 1s;
}

#home .slider .slider-00.anim.show p span {
	transform: translateY(0) scale(1);
	opacity: 1;
}

#home .slider .slider-01.anim p:first-child,
#home .slider .slider-03.anim p:first-child,
#home .slider .slider-05.anim p:first-child {
	transform: translateX(20%);
	opacity: 0;
	transition: transform 0.5s ease-out 0s,
				opacity 0.4s ease-out 0.2s;
}

#home .slider .slider-01.anim p:last-child,
#home .slider .slider-03.anim p:last-child,
#home .slider .slider-05.anim p:last-child {
	transform: translateX(20%);
	opacity: 0;
	transition: transform 0.5s ease-out 0.1s,
				opacity 0.4s ease-out 0.3s;
}

#home .slider .slider-02.anim p:first-child,
#home .slider .slider-04.anim p:first-child,
#home .slider .slider-06.anim p:first-child {
	transform: translateX(-20%);
	opacity: 0;
	transition: transform 0.5s ease-out 0s,
				opacity 0.4s ease-out 0.2s;
}

#home .slider .slider-02.anim p:last-child,
#home .slider .slider-04.anim p:last-child,
#home .slider .slider-06.anim p:last-child {
	transform: translateX(-20%);
	opacity: 0;
	transition: transform 0.5s ease-out 0.1s,
				opacity 0.4s ease-out 0.3s;

}

#home .slider .slider-01.anim.show p:first-child,
#home .slider .slider-03.anim.show p:first-child,
#home .slider .slider-05.anim.show p:first-child,
#home .slider .slider-01.anim.show p:last-child,
#home .slider .slider-03.anim.show p:last-child,
#home .slider .slider-05.anim.show p:last-child,
#home .slider .slider-02.anim.show p:first-child,
#home .slider .slider-04.anim.show p:first-child,
#home .slider .slider-06.anim.show p:first-child,
#home .slider .slider-02.anim.show p:last-child,
#home .slider .slider-04.anim.show p:last-child,
#home .slider .slider-06.anim.show p:last-child {
	transform: translateX(0);
	opacity: 1;
}

@media screen and (max-width: 1080px) and (orientation: portrait) and (hover: none) {
	#home .slider > div > div {
		width: calc(100% - 80px);
	}

	#home .slider p {
		font-size: 1.5rem;
	}
	
	#home .slider p:first-child {
		font-size: 4rem;
	}
	
	#home .slider .slider-00 p {
		font-size: 3rem;
	}
	
	#home .slider .slider-03 p:first-child,
	#home .slider .slider-05 p:first-child,
	#home .slider .slider-06 p:first-child {
		font-size: 2.5rem;
	}

	#home .slider .slider-00 br.spv {
		display: block;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 800px) and (hover: hover) {
	#home .slider > div > div {
		width: calc(100% - 80px);
	}
}

@media screen and (max-width: 480px) and (orientation: portrait) {
	#home .slider > div {
		height: 400px;
	}

	#home .slider p {
		font-size: 1rem;
	}
	
	#home .slider p:first-child {
		font-size: 2rem;
	}
	
	#home .slider .slider-00 p {
		font-size: 1.5rem;
	}
	
	#home .slider .slider-03 p:first-child,
	#home .slider .slider-05 p:first-child,
	#home .slider .slider-06 p:first-child {
		font-size: 1.75rem;
	}
}

@media screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 800px) and (hover: hover) {
	#home .slider > div {
		height: 300px;
	}

	#home .slider p {
		font-size: 1.25rem;
	}
	
	#home .slider p:first-child {
		font-size: 3rem;
	}
	
	#home .slider .slider-00 p {
		font-size: 1.75rem;
	}
	
	#home .slider .slider-03 p:first-child,
	#home .slider .slider-05 p:first-child,
	#home .slider .slider-06 p:first-child {
		font-size: 2.5rem;
	}
}


/* 2-2: ホーム index.html / main ------------------------------ */

/* 2-2-0 ホーム index.html / main / セクション2〜4共通 --------------- */

#home main > article > section {
	display: flex;
	justify-content: space-around;
}

#home main > article > section > div {
	/* max-width: 540px; */
	width: 50%;
	margin: 30px 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	/* flex-wrap: wrap; */
}

#home main > article > section > div > * {
	max-width: 100%;
}

#home main > article > section h1 {
	font-weight: bold;
	font-size: 2.5rem;
	text-align: center;
}

#home main > article > section h1 + p {
	margin-bottom: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: center;
}

#home main > article > section ul {
	max-width: 360px;
}

#home main > article > section ul li {
	padding-left: 1em;
}

#home main > article > section ul li::before {
	margin-left: -1em;
	content: "●";
	color: #71bbe8;
}

#home main > article > section svg {
	margin-bottom: 15px;
	width: 200px;
	height: 200px;
}

/* アニメーション */
#home main > article > section:first-child.anim h1 {
	transform: translateY(50%) scale(1.03);
	opacity: 0;
	transition: transform 0.5s ease-out 0s,
				opacity 0.5s ease-out 0s;
}

#home main > article > section:first-child.anim p {
	transform: translateY(30%) scale(1.03);
	opacity: 0;
	transition: transform 0.7s ease-out 0.2s,
				opacity 0.7s ease-out 0.2s;
}

#home main > article > section .anim h1 {
	transform: translateY(100%) scale(1.03);
	opacity: 0;
	transition: transform 0.3s ease-out 0s,
				opacity 0.3s ease-out 0s;
}

#home main > article > section .anim p {
	transform: translateY(100%) scale(1.03);
	opacity: 0;
	transition: transform 0.4s ease-out 0.2s,
				opacity 0.4s ease-out 0.2s;
}

#home main > article > section .anim svg {
	transform: translateY(40%) scale(1.03);
	opacity: 0;
	transition: transform 0.5s ease-out 0.4s,
				opacity 0.5s ease-out 0.4s;
}

#home main > article > section .anim ul {
	transform: translateY(60%) scale(1.03);
	opacity: 0;
	transition: transform 0.6s ease-out 0.5s,
				opacity 0.6s ease-out 0.5s;
}

#home main > article > section:first-child.anim.show h1,
#home main > article > section:first-child.anim.show p,
#home main > article > section .anim.show h1,
#home main > article > section .anim.show p,
#home main > article > section .anim.show svg,
#home main > article > section .anim.show ul {
	transform: translateY(0) scale(1);
	opacity: 1;
}

@media print {
	#home main > article > section:first-child.anim h1,
	#home main > article > section:first-child.anim p,
	#home main > article > section .anim h1,
	#home main > article > section .anim p,
	#home main > article > section .anim svg,
	#home main > article > section .anim ul {
		transform: translateY(0) scale(1);
		opacity: 1;
	}
}

@media screen and (max-width: 1080px) and (orientation: portrait) and (hover: none) {
	#home main > article > section h1 {
		font-size: 2rem;
	}

	#home main > article > section h1 + p {
		font-size: 1.25rem;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 800px) and (hover: hover) {
	#home main > article > section h1 {
		font-size: 1.25rem;
	}
	
	#home main > article > section h1 + p {
		margin-bottom: 15px;
		font-size: 1rem;
		line-height: 1.5;
	}
	
	#home main > article > section ul {
		max-width: 80%;
	}

	#home main > article > section ul li {
		padding-left: 1em;
	}
	
	#home main > article > section svg {
		width: 50%;
		/* width: 37%;
		height: 37%; */
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait) {
	#home main > article > section {
		display: block;
	}
	#home main > article > section > div {
		width: 100%;
	}
}

@media screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 800px) and (hover: hover) {
	#home main > article > section > div {
		margin: 15px 0;
		width: 50%;
	}
}


/* 2-2-1 ホーム index.html / main / セクション1 --------------- */

#home main > article > section:nth-child(1) {
	height: 600px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
}

#home main > article > section:nth-child(1) h1 {
	width: 85%;
	font-size: 2.5rem;
	line-height: 1.8;
	font-weight: bold;
	text-align: center;
	margin-bottom: 70px;
}

#home main > article > section:nth-child(1) h1 span {
	font-weight: normal;
	font-size: 0.7em;
}

#home main > article > section:nth-child(1) h1 span.top {
	display: inline-block;
	vertical-align: top;
	line-height: 2.25;
}

#home main > article > section:nth-child(1) p {
	width: 80%;
	font-size: 1.4rem;
	line-height: 2;
	text-align: center;
}

@media screen and (max-width: 1080px) and (orientation: portrait) and (hover: none) {
	#home main > article > section:nth-child(1) h1 {
		width: 90%;
		font-size: 2rem;
	}

	#home main > article > section:nth-child(1) p {
		width: 85%;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	#home main > article > section:nth-child(1) {
		height: auto;
		padding: 20px 0;
	}
	
	#home main > article > section:nth-child(1) p {
		font-size: 1rem;
		text-align: center;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait) {
	#home main > article > section:nth-child(1) h1 {
		width: 90%;
		font-size: 1.25rem;
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 900px) and (orientation: landscape),
screen and (max-width: 800px) and (hover: hover) {
	#home main > article > section:nth-child(1) h1 {
		font-size: 1.75rem;
		margin-bottom: 30px;
	}
}


/* 2-2-3 ホーム index.html / main / セクション5 --------------- */

#home aside {
	width: 100%;
	height: 300px;
	background: linear-gradient(rgb(255 255 255 / 0.2), rgb(255 255 255 / 0.2)),
	url(../images/company-img.jpg) center/cover fixed;
	display: flex;
	justify-content: center;
	align-items: center;
}

#home aside > nav {
	width: 1080px;
	display: flex;
	justify-content: space-between;
}

#home aside > nav a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

#home aside > nav a > span {
	display: block;
	flex-shrink: 1;
	flex-grow: 1;
	font-weight: 600;
	white-space: nowrap;
}

#home aside > nav > div:last-of-type > a > span::first-line {
	font-size: 0.9rem;
	font-weight: normal;
}

#home aside > nav > div {
	position: relative;
	width: 350px;
	height: 100px;
	background-color: rgb(255 255 255 / 0.5);
}

@media screen and (hover: hover) {
	#home aside > nav > div::before,
	#home aside > nav > ul > li::before {
		content: " ";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background-color: #2ca6e0;
		opacity: 0.2;
		z-index: 0;
		transform-origin: left;
		transform: translateX(0) scaleX(0);
		transition: transform 0.2s ease;
	}
	
	#home aside > nav > div:hover::before,
	#home aside > nav > ul > li:hover::before {
		transform: translateX(0) scaleX(1);
	}	
}

#home aside > nav > ul {
	width: 360px;
	height: 100px;
	padding-right: 9px;
	border-right: 1px solid rgb(33 66 139 / 0.5);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#home aside > nav > ul > li {
	position: relative;
	flex-basis: 170px;
	height: 55px;
	background-color: rgb(255 255 255 / 0.5);
}

#home aside > nav > ul > li:last-of-type {
	flex-basis: 100%;
	height: 35px;
	margin-top: 10px;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 950px) and (orientation: landscape),
screen and (max-width: 800px) and (hover: hover) {
	#home aside {
		height: auto;
		padding: 20px 0;
	}
		
	#home aside > nav {
		width: 200px;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}

	#home aside > nav > ul {
		width: 100%;
		height: auto;
		padding-right: 0;
		border-right: none;
		margin-bottom: 3px;
		padding-bottom: 3px;
		border-bottom: 1px solid rgb(33 66 139 / 0.5);
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-wrap: nowrap;
	}

	#home aside > nav > div {
		width: 100%;
		height: 40px;
		margin-bottom: 3px;
	}
	#home aside > nav > div:last-of-type {
		height: 60px;
	}

	#home aside > nav > ul > li {
		flex-basis: auto;
		height: 30px;
		margin-top: 0;
		margin-bottom: 3px;
	}
	#home aside > nav > ul > li:last-of-type {
		flex-basis: auto;
		height: 25px;
		margin: 0;
	}
}

@media screen and (max-width: 800px) and (hover: hover) {
	#home aside > nav {
		width: 300px;
	}
}

/*
#home aside {
	width: 100%;
	height: 500px;
	background: url(../images/company-img.jpg) center/cover fixed;
	display: flex;
	justify-content: center;
	align-items: center;
}

#home aside a {
	display: block;
	width: 320px;
	height: 320px;
	font-weight: bold;
	font-size: 2.25rem;
	color: #3e63a2;
	text-align: center;
	position: relative;
	transition: color 0.2s ease 0s;
}

#home aside a::before {
	display: block;
	position: absolute;
	content: " ";
	top: 0px;
	left: 0px;
	width: 320px;
	height: 320px;
	border-radius: 160px;
	background-color: rgba(255, 255, 255, 0.7);
	z-index: 0;
	transition: background-color 0.2s ease 0s;
}

#home aside a:hover {
	color: #2ca6e0;
}

#home aside a:hover::before {
	background-color: rgba(255, 255, 255, 0.5);
}

#home aside span {
	display: block;
	position: relative;
	line-height: 320px;
	z-index: 2;
}

#home aside span::before {
	display: block;
	position: absolute;
	content: " ";
	left: 40px;
	top: 190px;
	width: 240px;
	height: 2px;
	background-color: #2ca6e0;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease 0s;
}

#home aside a:hover span::before {
	transform: scaleX(1);
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	#home aside {
		height: 200px;
		background-attachment: scroll;
	}
	
	#home aside a {
		width: 150px;
		height: 150px;
		font-size: 1.5rem;
	}
	
	#home aside a::before {
		width: 150px;
		height: 150px;
		border-radius: 75px;
	}
	
	#home aside span {
		line-height: 150px;
	}

	#home aside span::before {
		display: none;
	}
}
*/


/* 3: 会社概要 company.html  ------------------------------------------------------------ */

#company main .title {
	background: url(../images/company-img.jpg) center/cover;
}

#company #organization object {
	width: 100%;
}

@media screen and (max-width: 480px) and (orientation: portrait) {
	#company #organization {
		overflow: scroll;
	}

	#company #organization object {
		width: 200%;
	}
}



/* 4: 電子公告 publicnotice.php  ------------------------------------------------------------ */
#notice main .title {
	background: url(../images/notice-img.jpg) center/cover;
}

#notice main article section dl > dd:first-child {
	flex-basis: 100%;
}



/* 5: お問い合わせ contact.html / contact-form.php / contact-sended.html ------------------------------------------------------------ */
#contact main .title {
	background: url(../images/contact-img.jpg) center/cover;
}

#contact main h1 + p {
	margin-bottom: 1.5em;
}

#contact main .red {
	color: #df001f;
}

#contact main .required::after {
	content: "※";
	vertical-align: text-top;
	color: #df001f;
	font-size: 0.7em;
	line-height: 1rem;
}

#contact main .rtbl + div,
#contact main .rtbl + * + div {
	display: flex;
	justify-content: center;
}

#contact main .rtbl + div > *:first-child,
#contact main .rtbl + * + div > *:first-child {
	margin-right: 1em;
}

#contact main .form dd {
	line-height: 1;
}

#contact main .form dd:last-child {
	line-height: 2;
}

#contact main .form dd > * {
	vertical-align: bottom;
}

#contact main .form dd.zip {
	line-height: 2;
}

#contact main .rtbl .p-postal-code:first-child {
	width: 4em;
	margin-right: 0.5em;
}

#contact main .rtbl .p-postal-code:last-child {
	width: 5em;
	margin-left: 0.5em;
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	#contact main .rtbl dd {
		padding-bottom: 0;
	}
}

/* 6: プライバシーポリシー privacy.html  ------------------------------------------------------------ */
#privacy main .title {
	background: url(../images/privacy-img.jpg) center/cover;
}

#privacy main article section > ol > li {
	margin-bottom: 1em;
	font-weight: bold;
	line-height: 1.75;
}

#privacy main article section > ol > li:last-child {
	margin-bottom: 0;
}

#privacy main article section > ol > li * {
	font-weight: normal;
}

#privacy main article section ol.kakko li {
	padding-left: 1.1em;
}

#privacy main article section ol.kakko li::before {
	margin-left: -1.1em;
	padding-right: 0.2em;
	content: "("counter(olcnt)")";
	counter-increment: olcnt;
}

#privacy main article section ul.ccl > li {
	padding-left: 1em;
}

#privacy main article section ul.ccl > li::before {
	margin-left: -1em;
	content: "○";
	counter-increment: none;
}

#privacy main article section ul.kome > li {
	padding-left: 1em;
}

#privacy main article section ul.kome > li::before {
	margin-left: -1em;
	content: "※";
}

#privacy main article section dl.lblist {
	display: inline-flex;
	flex-wrap: none;
}

#privacy main article section dl.lblist > dt {
	width: 19em;
}

#privacy main article section dl.lblist > dt::after {
	content: ":";
}


/* 7: 合併告知関連 ------------------------------------------------------------ */

.merge header nav {
	max-width: 400px;
	min-width: 300px;
}

#home.merge main > article {
	flex-grow: 1;
}

.details.merge main > article > section.noh1 {
	margin-top: 35px;
}

.details.merge main > article > section.noh2 {
	margin-top: 15px;
}

.details.merge main > article > section > h2 {
	font-weight: bold;
	font-size: 1.5rem;
	margin: 15px 0;
}

#home.merge main > article > section:nth-child(1) {
	height: auto;
	display: block;
	margin: 0;
}

#home.merge main > article > section:nth-child(1) > div,
.details.merge main > article > section:nth-child(1) > div {
	width: auto;
	margin: 0;
	margin-bottom: 50px;
	display: block;
	border: 1px solid #9f9f9f;
	padding: 120px 150px;
}

.details.merge main > article > section:nth-child(1) > div {
	margin-top: 50px;
}

#home.merge main > article > section:nth-child(1) p,
.details.merge main > article > section:nth-child(1) p {
	width: auto;
	font-size: 1.4rem;
	line-height: 2;
	text-align: center;
	transform: translateY(0) scale(1);
}

.details.merge main article section .rtbl dt,
.details.merge main article section .rtbl dd {
	margin-bottom: 1.25rem;
	min-height: 2.5rem;
}

.details.merge main article section .rtbl dt.large {
	font-weight: bold;
	font-size: 2.25rem;
	border-bottom: none;
}

.details.merge main article section .rtbl dt.middle {
	font-weight: bold;
	font-size: 1.5rem;
	line-height: calc(1.25 / 1.5 * 2);
	/* border-bottom: none; */
}

/*
#home.merge aside > nav > ul {
	display: block;
}
*/

#home.merge aside > nav > div:nth-last-of-type(2)::after {
	content: " ";
	display: block;
	position: absolute;
	width: 1px;
	height: 100px;
	top: 0px;
	right: -8px;
	background-color: rgb(33 66 139 / 0.5);
}

@media screen and (max-width: 1080px) and (orientation: portrait) and (hover: none) {
	#home.merge main > article > section:nth-child(1) p {
		width: auto;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 480px) and (orientation: portrait),
screen and (max-width: 900px) and (orientation: landscape) {
	.merge header nav {
		min-width: initial;
	}

	.details.merge main > article > section.noh1 {
		margin-top: 20px;
	}

	.details.merge main > article > section.noh2 {
		margin-top: 10px;
	}

	.details.merge main > article > section > h2 {
		font-weight: bold;
		font-size: 1.25rem;
		margin: 10px 0;
	}

	#home.merge main > article > section:nth-child(1) > div,
	.details.merge main > article > section:nth-child(1) > div {
		margin-bottom: 25px;
		padding: 25px;
	}

	.details.merge main > article > section:nth-child(1) > div {
		margin-top: 25px;
	}

	#home.merge main > article > section:nth-child(1) p,
	.details.merge main > article > section:nth-child(1) p {
		width: auto;
		font-size: 1rem;
		text-align: center;
	}

	.details.merge main article section .rtbl dt,
	.details.merge main article section .rtbl dd {
		min-height: auto;
		margin-bottom: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.details.merge main article section .rtbl dt.large {
		font-size: 1.5rem;
		/* margin: 20px 0; */
	}

	.details.merge main article section .rtbl dt.middle {
		font-size: 1.25rem;
		/* margin: 20px 0; */
	}

	#home.merge aside > nav > div:nth-last-of-type(2) {
		margin-bottom: 6px;
	}

	#home.merge aside > nav > div:nth-last-of-type(2)::after {
		width: 100%;
		height: 1px;
		top: initial;
		right: initial;
		left: 0px;
		bottom: -3px;
	}
}
