/*============================
会社概要
============================*/
#comapny_about {
	margin-bottom: 1.2rem;
}

@media screen and (max-width: 599px) {
	#comapny_about {
		margin-bottom: 0.60rem;
	}
}

/* MV */
#comapny #lower_mv {
	background-image: url(../img/company_mv.jpg);
}


/* リード */
#comapny_about .lead {
	color: #003554;
	font-size: 0.36rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-align: center;
	margin-bottom: 0.45rem;
}

@media screen and (max-width: 599px) {
	#comapny_about .lead {
		font-size: 0.20rem;
		line-height: 1.45;
		letter-spacing: 0.10em;
		margin-bottom: 0.25rem;
	}
}

/* コンテンツ */
#comapny_about .cont_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 0.65rem;
}

/* 写真 */
#comapny_about .cont_box .ph_wrap {
	width: 100%;
	max-width: 4.3rem;
	height: 3.00rem;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 599px) {
	#comapny_about .cont_box .ph_wrap {
		height: 60vw;
	}
}

#comapny_about .cont_box .ph_wrap img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
	z-index: 0;
}

/* テキスト */
#comapny_about .cont_box .text_wrap {
	width: calc(100% - 4.3rem);
	box-sizing: border-box;
	padding-left: 0.50rem;
}

@media screen and (max-width: 599px) {
	#comapny_about .cont_box .text_wrap {
		width: 100%;
		padding-left: 0;
	}
}

#comapny_about .cont_box .text_wrap .cont_title {
	font-size: 0.24rem;
	font-weight: 500;
	color: #003554;
	line-height: 1.66;
	letter-spacing: 0.13em;
	margin-bottom: 0.20rem;
}

@media screen and (max-width: 599px) {
	#comapny_about .cont_box .text_wrap .cont_title {
		font-size: 0.18rem;
		font-weight: 600;
		line-height: 1.66;
		letter-spacing: 0.075em;
		padding-top: 0.15rem;
		margin-bottom: 0.10rem;
	}
}

#comapny_about .cont_box .text_wrap .text {
	font-size: 0.16rem;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: justify;
}

@media screen and (max-width: 599px) {
	#comapny_about .cont_box .text_wrap .text {
		font-size: 0.15rem;
		line-height: 1.86;
	}
}

/* テーブル */
#comapny_about .table_box {
	display: flex;
	flex-wrap: wrap;
}

#comapny_about .table_box dl {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #003554;
	width: 50%;
}

@media screen and (max-width: 599px) {
	#comapny_about .table_box dl {
		width: 100%;
	}
}

#comapny_about .table_box dl:last-child {
	border-bottom: 1px solid #003554;
}

#comapny_about .table_box dl.w_100 {
	width: 100%;
}

#comapny_about .table_box dt {
	width: 1.40rem;
	background: #F2F2F2;
	font-size: 0.16rem;
	letter-spacing: 0.05em;
	padding: 0.12rem 0.15rem;
	box-sizing: border-box;
	line-height: 2;
}

@media screen and (max-width: 599px) {
	#comapny_about .table_box dt {
		width: 100%;
		font-size: 0.15rem;
		font-weight: 700;
		padding: 0.10rem;
		line-height: 1.5;
		border-bottom: 1px solid #003554;
	}
}

#comapny_about .table_box dd {
	width: calc(100% - 1.40rem);
	font-size: 0.16rem;
	letter-spacing: 0.05em;
	padding: 0.12rem 0.20rem;
	line-height: 2;
	box-sizing: border-box;
}

@media screen and (max-width: 599px) {
	#comapny_about .table_box dd {
		width: 100%;
		font-size: 0.14rem;
		padding: 0.10rem;
		line-height: 1.75;
	}
}

#comapny_about .table_box dd a {
	color: #111;
	text-decoration: none;
}

@media screen and (max-width: 599px) {
	#comapny_about .table_box dd .address_box {
		padding-bottom: 0.20rem;
	}

	#comapny_about .table_box dd a {
		font-weight: 700;
		text-decoration: underline;
	}
}

#comapny_about .table_box dd .list {
	list-style: outside disc;
	margin-left: 0.15rem;
}

#comapny_about .table_box .w_100 dd .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#comapny_about .table_box .w_100 dd .list .item {
	width: 50%;
}

@media screen and (max-width: 599px) {
	#comapny_about .table_box .w_100 dd .list .item {
		width: 100%;
	}
}

#comapny_about .table_box dd .note {
	display: block;
	text-align: right;
}

@media screen and (max-width: 599px) {
	#comapny_about .table_box dd .note {
		font-size: 0.12rem;
	}
}

/*============================
代表挨拶
============================*/
#comapny_greet {
	background: #F2F2F2;
	padding-bottom: 0.9rem;
}

@media screen and (max-width: 599px) {
	#comapny_greet {
		padding-bottom: 0.40rem;
	}
}

#comapny_greet .cont_box {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}

@media screen and (max-width: 599px) {
	#comapny_greet .cont_box {
		flex-direction: row;
	}
}

/* テキスト */
#comapny_greet .cont_box .text {
	width: calc(100% - 1.75rem);
	box-sizing: border-box;
	padding-right: 0.4rem;
	font-size: 0.16rem;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: justify;
}

@media screen and (max-width: 599px) {
	#comapny_greet .cont_box .text {
		width: 100%;
		padding-right: 0;
		font-size: 0.15rem;
		line-height: 1.85;
		letter-spacing: 0.05em;
	}
}

/* 画像 */
#comapny_greet .cont_box .ph_box {
	width: 1.75rem;
}

@media screen and (max-width: 599px) {
	#comapny_greet .cont_box .ph_box {
		width: 100%;
		text-align: center;
	}
}

#comapny_greet .cont_box .ph_box .ph_wrap {
	width: 100%;
	height: 2.10rem;
}

@media screen and (max-width: 599px) {
	#comapny_greet .cont_box .ph_box .ph_wrap {
		width: 1.20rem;
		height: auto;
		margin: auto;
	}
}

/* 名前 */
#comapny_greet .cont_box .ph_box .name_box {
	font-size: 0.14rem;
	text-align: center;
	margin-top: 0.15rem;
}

@media screen and (max-width: 599px) {
	#comapny_greet .cont_box .ph_box .name_box {
		font-size: 0.14rem;
		text-align: center;
		margin-top: 0.10rem;
		padding-bottom: 0.20rem;
	}
}

#comapny_greet .cont_box .ph_box .name_box .yakushoku {
	display: block;
	padding: 0.20rem 0 0.10rem;
}

@media screen and (max-width: 599px) {
	#comapny_greet .cont_box .ph_box .name_box .yakushoku {
		display: inline-block;
		padding: 0.10rem 0.10rem 0 0;
	}
}

#comapny_greet .cont_box .ph_box .name_box .name {
	font-size: 0.18rem;
}

@media screen and (max-width: 599px) {
	#comapny_greet .cont_box .ph_box .name_box .name {
		font-size: 0.16rem;
	}
}

/*============================
沿革
============================*/
#company_enkaku {
	padding: 1.3rem 0;
}

@media screen and (max-width: 599px) {
	#company_enkaku {
		padding: 0.40rem 0;
	}
}

#company_enkaku .cont_box {
	display: flex;
	justify-content: space-between;
	background: #003554;
	position: relative;
}

@media screen and (max-width: 599px) {
	#company_enkaku .cont_box {
		display: block;
	}
}

#company_enkaku .cont_box::before {
	content: "";
	width: 2.00rem;
	height: 2.10rem;
	background-image: url(../img/history_logo.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	left: -0.20rem;
	bottom: -0.20rem;
	z-index: 0;
}

@media screen and (max-width: 599px) {
	#company_enkaku .cont_box::before {
		width: 1.00rem;
		height: 1.05rem;
		left: auto;
		bottom: auto;
		right: -0.10rem;
		top: -0.10rem;
	}
}

/* タイトル */
#company_enkaku .cont_box .text_box {
	width: 45%;
	height: 3.00rem;
	padding: 0.40rem 0 0.40rem 0.70rem;
	box-sizing: border-box;
}

@media screen and (max-width: 599px) {
	#company_enkaku .cont_box .text_box {
		width: 100%;
		height: auto;
		padding: 0;
		padding-bottom: 0.20rem;
	}
}

#company_enkaku .cont_box .text_box .title {
	font-size: 0.36rem;
	font-weight: 600;
	line-height: 1.66;
	letter-spacing: 0.13em;
	color: #fff;
	margin-bottom: 0.28rem;
}

@media screen and (max-width: 599px) {
	#company_enkaku .cont_box .text_box .title {
		font-size: 0.20rem;
		letter-spacing: 0.10em;
		padding: 0.20rem;
		margin-bottom: 0;
	}

	#company_enkaku .cont_box .text_box .btn_common {
		margin: 0.20rem auto 0;
	}
}

/* 写真 */
#company_enkaku .cont_box .ph_box {
	width: 60%;
	height: 3.00rem;
}

#company_enkaku .cont_box .ph_box .ph_wrap {
	width: 100%;
	height: 100%;
}

#company_enkaku .cont_box .ph_box .ph_wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left;
}

/*============================
CSR
============================*/
#company_csr {}

/* MV */
#company_csr .csr_mv {
	width: 100%;
	height: 6.30rem;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 599px) {
	#company_csr .csr_mv {
		height: 45vw;
	}
}

#company_csr .csr_mv img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: relative;
	z-index: 0;
}

#company_csr .in {
	background: #fff;
	margin-top: -1.5rem;
	z-index: 1;
}

@media screen and (max-width: 599px) {
	#company_csr .in {
		margin-top: 0;
	}
}

/* タイトル */
#company_csr .title {
	font-size: 0.24rem;
	font-weight: 600;
	text-align: center;
	padding-top: 0.55rem;
	padding-bottom: 0.40rem;
}

@media screen and (max-width: 599px) {
	#company_csr .title {
		font-size: 0.20rem;
		padding-top: 0.25rem;
		padding-bottom: 0.20rem;
	}
}

#company_csr .cont_box {
	padding: 0 0.70rem;
}

@media screen and (max-width: 599px) {
	#company_csr .cont_box {
		padding: 0;
	}
}

/* チェック */
#company_csr .check {
	margin-bottom: 0.40rem;
}

@media screen and (max-width: 599px) {
	#company_csr .check {
		margin-bottom: 0.20rem;
	}
}

#company_csr .check .list .item {
	font-family: 'Noto Serif JP', serif;
	color: #003554;
	font-size: 0.21rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.13em;
	position: relative;
	box-sizing: border-box;
	padding-left: 0.25rem;
}

@media screen and (max-width: 599px) {
	#company_csr .check .list .item {
		font-size: 0.15rem;
		line-height: 1.75;
		letter-spacing: 0.05em;
		padding-left: 0.25rem;
		padding-bottom: 0.10rem;
	}
}

#company_csr .check .list .item::before {
	content: '';
	position: absolute;
	width: 0.18rem;
	height: 0.18rem;
	display: inline-block;
	background: url(../img/company_csr_icon_check.svg);
	background-size: contain;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

@media screen and (max-width: 599px) {
	#company_csr .check .list .item::before {
		width: 0.16rem;
		height: 0.16rem;
		top: 0.06rem;
		transform: none;
	}
}

/* リンク */
#company_csr .link {
	padding-bottom: 1.2rem;
}

@media screen and (max-width: 599px) {
	#company_csr .link {
		padding-bottom: 0.50rem;
	}
}

#company_csr .link .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 0.2rem;
}

#company_csr .link .list .item {
	width: 32%;
	margin-bottom: 0.30rem;
}

@media screen and (max-width: 599px) {
	#company_csr .link .list .item {
		width: 100%;
		margin-bottom: 0.10rem;
	}
}

#company_csr .link .list .item a {
	width: 100%;
	max-width: 3.00rem;
	font-size: 0.16rem;
	font-weight: 500;
	color: #fff;
	background: #003554;
	border: 1px solid #003554;
	display: block;
	padding: 0.18rem 0.15rem;
	text-decoration: none;
	position: relative;
	box-sizing: border-box;
}

@media screen and (max-width: 599px) {
	#company_csr .link .list .item a {
		max-width: 100%;
		font-size: 0.15rem;
	}
}

#company_csr .link .list .item a::after {
	content: '';
	display: block;
	width: 0.11rem;
	height: 0.11rem;
	background: url(../common/img/icon_newwin_white.svg) no-repeat center;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0.15rem;
	transform: translateY(-50%);
	transition: all .3s;
}


#company_csr .link .list .item a:hover {
	opacity: 0.7;
}

/*==============================
沿革
==============================*/
#history .introduction {
	position: relative;
	max-width: 14.00rem;
	margin: 0 auto 0.80rem;
}

#history .introduction::before {
	content: "";
	width: calc(50% + 6.40rem);
	height: 4.75rem;
	background-color: #003554;
	position: absolute;
	right: 0;
	bottom: 0.35rem;
	z-index: 0;
}

@media screen and (max-width: 599px) {
	#history .introduction::before {
		content: "";
		width: 100%;
		height: calc(100% - 1.40rem);
		background-color: #003554;
		position: absolute;
		right: auto;
		left: 0;
		bottom: 0;
		z-index: 0;
	}
}

#history .introduction::after {
	content: "";
	width: 1.46rem;
	height: 1.48rem;
	background-image: url(../img/history_logo.svg);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 0.20rem;
	bottom: 0.10rem;
	z-index: 1;
}

@media screen and (max-width: 599px) {
	#history .introduction::after {
		right: -0.10rem;
		bottom: -0.10rem;
	}
}

#history .introduction .ph_wrap {
	width: 100%;
	max-width: 8.30rem;
	height: 5.50rem;
	position: absolute;
	left: calc(50% - 7.00rem);
	top: 0;
	z-index: 1;
}

@media screen and (max-width: 599px) {
	#history .introduction .ph_wrap {
		width: calc(100% - 0.40rem);
		height: 66vw;
		position: relative;
		left: 0;
		top: 0;
		z-index: 1;
	}
}

#history .introduction .ph_wrap .ph01 {
	width: 7.30rem;
	height: 4.70rem;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background-image: url(../img/history_main_ph01.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

@media screen and (max-width: 599px) {
	#history .introduction .ph_wrap .ph01 {
		width: calc(100% - 0.20rem);
		height: 60vw;
	}
}

#history .introduction .ph_wrap .ph02 {
	width: 2.13rem;
	height: 3.20rem;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	background-image: url(../img/history_main_ph02.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

@media screen and (max-width: 599px) {
	#history .introduction .ph_wrap .ph02 {
		width: 1.10rem;
		height: 44vw;
		position: absolute;
		right: -0.30rem;
		bottom: -0.40rem;
		z-index: 2;
		background-image: url(../img/history_main_ph02.jpg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
}

#history .introduction .in {
	position: relative;
	z-index: 2;
}

#history .introduction .textbox {
	width: 4.30rem;
	margin-left: auto;
	padding-top: 0.85rem;
	padding-bottom: 0.70rem;
	color: #FFF;
}

@media screen and (max-width: 599px) {
	#history .introduction .textbox {
		width: 100%;
		margin-left: 0;
		padding-top: 0;
		padding-bottom: 0.40rem;
	}
}

#history .introduction .textbox .title {
	font-size: 0.36rem;
	font-weight: 600;
	line-height: 1.66;
	letter-spacing: 0.13em;
	padding-bottom: 0.20rem;
}

@media screen and (max-width: 599px) {
	#history .introduction .textbox .title {
		font-size: 0.22rem;
		letter-spacing: 0.10em;
		padding-top: 0.10rem;
		padding-bottom: 0.15rem;
	}
}

#history .introduction .textbox .text {
	font-size: 0.16rem;
	letter-spacing: 0.05em;
	line-height: 2;
	text-align: justify;
}

@media screen and (max-width: 599px) {
	#history .introduction .textbox .text {
		font-size: 0.15rem;
		line-height: 1.86;
	}
}

#history .history_box {
	padding-bottom: 0.80rem;
}

@media screen and (max-width: 599px) {
	#history .history_box {
		padding-bottom: 0.40rem;
	}
}

#history .history_box .title {
	font-size: 0.24rem;
	font-weight: 700;
	color: #003554;
	border-bottom: 3px solid #CCC;
	position: relative;
}

@media screen and (max-width: 599px) {
	#history .history_box .title {
		font-size: 0.20rem;
		border-bottom: 2px solid #CCC;
	}
}

#history .history_box .title span {
	display: inline-block;
	padding-bottom: 0.10rem;
	position: relative;
}

#history .history_box .title span::before {
	content: "";
	width: 2.80rem;
	height: 3px;
	background-color: #003554;
	position: absolute;
	left: 0;
	bottom: -3px;
}

@media screen and (max-width: 599px) {
	#history .history_box .title span::before {
		width: 1.00rem;
		height: 2px;
		bottom: -2px;
	}
}

#history .history_box table {
	font-size: 0.16rem;
	line-height: 2;
	letter-spacing: 0.05em;
	border-collapse: collapse;
	width: 100%;
}

@media screen and (max-width: 599px) {
	#history .history_box table {
		font-size: 0.14rem;
		line-height: 1.86;
	}
}

#history .history_box tr {
	border-top: 1px solid #CCC;
	position: relative;
}

@media screen and (max-width: 599px) {
	#history .history_box tr {
		min-height: 0.70rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

#history .history_box .year {
	text-align: left;
	font-size: 0.18rem;
	font-weight: 700;
	color: #003554;
	width: 1.00rem;
	padding: 0.20rem 0;
	vertical-align: top;
}

@media screen and (max-width: 599px) {
	#history .history_box .year {
		font-size: 0.14rem;
		width: 0.90rem;
		padding: 0.10rem 0;
	}
}

#history .history_box .jp_year {
	text-align: left;
	font-size: 0.18rem;
	font-weight: 700;
	color: #003554;
	width: 1.80rem;
	padding: 0.20rem 0;
	vertical-align: top;
}

@media screen and (max-width: 599px) {
	#history .history_box .jp_year {
		font-size: 0.12rem;
		font-weight: 500;
		width: 1.00rem;
		padding: 0.10rem 0;
		position: absolute;
		left: 0;
		top: 0.23rem;
		letter-spacing: 0;
	}
}

#history .history_box .textbox {
	padding: 0.20rem 0;
}

@media screen and (max-width: 599px) {
	#history .history_box .textbox {
		padding: 0.10rem 0;
		width: calc(100% - 1.00rem);
		line-height: 1.65;
	}
}

#history .history_box tr:first-child {
	border: 0;
}


/*==============================
フォトギャラリー
==============================*/
#gallery {
	background-color: #f2f2f2;
	padding-bottom: 1.00rem;
}

@media screen and (max-width: 599px) {
#gallery {
	padding-bottom: 0.50rem;
}
}

#gallery .lead {
	text-align: center;
	font-size: 0.18rem;
	letter-spacing: 0.05em;
	padding-bottom: 0.50rem;
}

@media screen and (max-width: 599px) {
#gallery .lead {
	font-size: 0.14rem;
	padding-bottom: 0.30rem;
}
}

#gallery .ph_list_wrap .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#gallery .ph_list_wrap .list .ph {
	width: 18.33%;
	margin-bottom: 0.30rem;
	position: relative;
}

@media screen and (max-width: 599px) {
#gallery .ph_list_wrap .list .ph {
	width: 48%;
	margin-bottom: 0.20rem;
	position: relative;
}
}

#gallery .ph_list_wrap .list .ph img {
	display: block;
}

#gallery .ph_list_wrap .list .ph a {
	display: block;
	position: relative;
}

#gallery .ph_list_wrap .list .ph a:hover {
	opacity: 0.7;
}

#gallery .ph_list_wrap .list .ph a::after {
	content: "";
	width: 0.24rem;
	height: 0.24rem;
	background-image: url(../img/zoom_icon.svg);
	background-position: center center;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
