<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

/*
共通
========================================================= */
.lowerHeadline01 {
	color: #285ba0;
	font-weight: bold;
	font-size: 28px;
}

.youtubeWrap {
	padding-top: 24px;
}

.youtubeWrap iframe {
	width: 80%;
	height: auto;

	aspect-ratio: 16/9;
}

@media screen and (max-width: 767px) {
	.youtubeWrap iframe {
		width: 100%;
	}
}

.btnType01 {
	position: relative;
	display: inline-flex;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	font-size: 20px;
	border: 1px solid #285ba2;
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.btnType01 {
		max-width: 100%;
		padding: 1.5em 2.5em;
		font-size: 16px;
	}
}

.btnType01.btnType01-small {
	padding: 0.75em 2.5em 0.8em;
}

.btnType01::after {
	position: absolute;
	top: 50%;
	right: 24px;
	width: 0;
	height: 0;
	content: "";
	border-width: 8px 0 8px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #285ba2;
	transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
	.btnType01::after {
		position: absolute;
		top: 50%;
		right: 20px;
		content: "";
		border-width: 6px 0 6px 10px;
	}
}

/*
企業情報
========================================================= */
/*スクロール出来るよボタン*/
.page-image {
	position: relative;
	margin-top: 240px;
}

@media screen and (max-width: 768px) {
	.page-image {
		position: relative;
		margin-top: 0;
	}
}

.scroll-down {
	position: absolute;
	top: -40%;
	left: -5%;
}

@media screen and (max-width: 768px) {
	.scroll-down {
		position: absolute;
		top: -60%;
		left: 5%;
	}
}

@media screen and (max-width: 767px) {
	.pageMain-head {
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 50px;
	}

	.page-index ul {
		width: 100%;
	}
}

/*企業理念*/
#motto .idea {
	margin-bottom: 100px;
	padding: 50px;
	text-align: center;
	border-right: 1px solid #285ba2;
	border-left: 1px solid #285ba2;
}

#motto .idea .motto {
	color: #285ba2;
	font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
	font-size: 42px;
}

#motto .philosophy p {
	text-align: center;
	font-size: 20px;
}

#motto .philosophy ul {
	margin: 0 auto;
	padding: 50px;
}

#motto .philosophy ul li {
	position: relative;
	padding: 0.5em 1.5em;
	line-height: 1.6;
}

#motto .philosophy ul li:before {
	position: absolute;
	top: 0.5em;
	left: 0;
	content: "1.";
}

@media screen and (max-width: 768px) {
	#motto .idea {
		margin: 0 20px 50px;
	}

	#motto .philosophy ul {
		padding: 20px;
	}

	#motto .philosophy ul li {
		padding: 0.5em 0 0.5em 1.5em;
	}
}

/*トップメッセージ*/
#message .txt {
	width: 48%;
}

#message .txt p {
	line-height: 2.2em;
}

#message .image {
	width: 48%;
}

#message .image p {
	margin: 10px 0;
	line-height: 1.4;
}

#message .image p span {
	font-size: 24px;
}

@media screen and (max-width: 767px) {
	#message .txt,
	#message .image {
		width: 100%;
		margin-bottom: 20px;
	}
}

/*沿革*/
#history table {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 50px;
	padding: 0;
	table-layout: fixed;
	border-collapse: collapse;
}

#history table tr {
	padding: 0.35em;
	border-bottom: 1px solid #333;
	background-color: #fff;
}

#history tbody th {
	width: 15%;
	padding: 35px;
	color: #285ba2;
	text-align: right;
	font-size: 36px;
}

#history table td {
	width: 85%;
	padding: 35px;
	line-height: 36px;
}

#history .txt {
	text-align: left;
}

@media screen and (max-width: 767px) {
	#history table {
		width: 100%;
		margin-bottom: 0;
		border: 0;
	}

	#history table th {
		display: block;
		width: 100%;
		margin-bottom: 0.2em;
		padding: 20px;
		padding-bottom: 0.6em;
		text-align: center;
		border-right: none;
		border-bottom: 1px solid #333;
	}

	#history table tr {
		display: block;
		margin-bottom: 2em;
		border-bottom: 1px solid #333;
	}

	#history table td {
		position: relative;
		display: block;
		width: 100%;
		padding: 0.625em;
		text-align: right;
		font-size: 1em;
		border-right: none;
		border-bottom: 1px solid #333;
	}

	#history table td::before {
		position: absolute;
		left: 10px;
		content: attr(data-label);
		font-weight: bold;
	}

	#history table td:last-child {
		border-bottom: 0;
	}
}

#history .history-image01,
#history .history-image02,
#history .history-image03,
#history .history-image01-en,
#history .history-image02-en,
#history .history-image03-en {
	position: absolute;
}

#history .history-image01 {
	top: 5%;
	right: -10%;
}

#history .history-image02 {
	top: 36%;
	right: 22%;
}

#history .history-image03 {
	top: 55%;
	right: -10%;
}

#history .history-image01-en {
	top: 5%;
	right: -30%;
}

#history .history-image02-en {
	top: 45%;
	right: 0;
}

#history .history-image03-en {
	top: 75%;
	right: -20%;
}

@media screen and (max-width: 768px) {
	#history .history-image01,
	#history .history-image02,
	#history .history-image03,
	#history .history-image01-en,
	#history .history-image02-en,
	#history .history-image03-en {
		display: none;
	}
}

#history .history-btn a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	width: 500px;
	margin: 0 auto;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	font-size: 20px;
	border: 1px solid #285ba2;
	background-color: #fff;
}

#history .history-btn a::after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 0;
	height: 0;
	content: "";
	border-width: 8px 0 8px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #285ba2;
	transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
	#history .history-btn a {
		width: 100%;
	}
}

/*沿革詳細*/
.history::after {
	display: block;
	clear: both;
	content: "";
}

.history .left {
	float: left;
	width: 30%;
}

.history .left p {
	width: 100%;
	margin: 0 0 5% 0;
	text-align: center;
}

.history .right {
	float: right;
	width: 66%;
}

.history .right dl {
	width: auto;
	overflow: auto;
	font-size: 20px;
	line-height: 1.6;
}

.history .right dl dt {
	float: left;
	clear: left;
	width: 5em;
	padding: 30px 20px;
	color: #35649a;
	text-align: center;
	border-top: 1px solid #afafaf;
}

.history .right dl dd {
	margin: 0 0 0 6em;
	padding: 30px 10px;
	border-top: 1px solid #afafaf;
}

@media screen and (max-width: 767px) {
	.history {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		-webkit-box-orient: vertical;
	}

	.history .left {
		float: none;
		width: 100%;
	}

	.history .right {
		float: none;
		width: 100%;
	}

	.history .right dl dt {
		float: none;
		width: 100%;
		padding: 5%;
		text-align: left;
	}

	.history .right dl dd {
		margin: 0;
		padding: 5%;
		border-top: none;
	}
}

/*企業概要*/
#overview table {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	table-layout: fixed;
	border-collapse: collapse;
}

#overview table tr {
	padding: 0.35em;
	background-color: none;
}

#overview table th,
#overview table td {
	padding: 1.5em;
}

#overview table th {
	text-align: center;
	font-size: 120%;
}

#overview table tbody th {
	width: 30%;
	color: #285ba2;
	border-right: 1px solid #285ba2;
	background-color: none;
}

#overview .txt {
	padding-top: 2em;
	text-align: left;
	font-size: 100%;
}

#overview .price {
	color: #167f92;
	text-align: right;
	font-weight: bold;
}

#overview .non {
	background: #fff;
}

#overview span {
	color: #285ba2;
}

@media screen and (max-width: 767px) {
	#overview table {
		width: 100%;
		border: 0;
	}

	#overview table tr {
		display: block;
	}

	#overview table tbody th {
		display: block;
		width: 100%;
		padding: 1em 1em 0.5em;
		text-align: left;
		border-top: 1px solid #285ba2;
		border-right: none;
		background-color: none;
	}

	#overview table tbody th.free {
		display: none;
	}

	#overview table td {
		position: relative;
		display: block;
		padding: 1em 1em 0.5em;
		text-align: right;
		font-size: 0.8em;
		border-right: none;
		border-bottom: 1px solid #bbb;
	}

	#overview table td {
		border-bottom: 0;
	}
}

/*
グループ
========================================================= */
@media screen and (max-width: 767px) {
	.pageMain-head {
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 50px;
	}

	.page-index ul {
		width: 100%;
	}
}

/* 石﨑HDグループ / base01,02,03 */
.topContents {
	padding-bottom: 100px;
}

.BaseList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.BaseList .txt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.BaseList .txt p {
	line-height: 2;
}

.BaseList .txt,
.BaseList .image {
	width: 48%;
}

.BaseList .base-btn a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	margin: 0 auto;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	font-size: 20px;
	border: 1px solid #285ba2;
	background-color: #fff;
}

.BaseList .base-btn a::after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 0;
	height: 0;
	content: "";
	border-width: 8px 0 8px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #285ba2;
	transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
	.BaseList {
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		-webkit-box-orient: vertical;
	}

	.BaseList .txt,
	.BaseList .txt p {
		margin: 20px 0;
	}

	.BaseList .txt,
	.BaseList .image,
	.BaseList .image img {
		width: 100%;
	}

	.BaseList .base-btn a {
		width: 100%;
	}
}

/* 株式会社石﨑 */
.ishizaki {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.ishizaki .txt p {
	margin-bottom: 25px;
	text-align: justify;
	line-height: 2;
}

.ishizaki .txt,
.ishizaki .image {
	width: 48%;
}

@media screen and (max-width: 767px) {
	.ishizaki {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.ishizaki .txt,
	.ishizaki .txt p {
		margin: 20px 0;
	}

	.ishizaki .txt,
	.ishizaki .image {
		width: 100%;
	}
}

.ishizaki .tsukigime {
	margin-top: 2em;
}

body#group #groupMain .base-btn a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	margin: 0 auto;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	font-size: 20px;
	border: 1px solid #285ba2;
	background-color: #fff;
}

body#group #groupMain .base-btn a::after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 0;
	height: 0;
	content: "";
	border-width: 8px 0 8px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #285ba2;
	transform: translateY(-50%);
}

/*
ブランド　コーポレートガバナンス
========================================================= */
#corporate_governance h4 {
	margin: 10px 0;
	color: #285ba2;
	font-weight: bold;
	font-size: 28px;
}

#corporate_governance .headerTxt p {
	padding-bottom: 3em;
}

#corporate_governance p {
	padding-bottom: 2em;
}

/*
ブランド　品質方針
========================================================= */
#Q-policy h4 {
	margin: 10px 0;
	color: #285ba2;
	font-weight: bold;
	font-size: 28px;
}

#Q-policy .iso img {
	display: table;
	margin: 0 auto;
	padding: 10px;
	border: 1px solid #333;
}

#Q-policy .iso p {
	text-align: center;
}

#Q-policy .jqa {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-bottom: 64px;
}

#Q-policy .jqa p {
	margin-left: 20px;
}

#Q-policy .tuv {
	max-width: 300px;
	margin-top: 0.5em;
}

#Q-policy p {
	margin-bottom: 50px;
	line-height: 2;
}

#Q-policy p span {
	font-weight: bold;
	font-size: 18px;
}

@media screen and (max-width: 767px) {
	#Q-policy .jqa {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	#Q-policy .jqa img {
		width: 70%;
		margin: 0 auto;
	}

	#Q-policy .jqa p {
		margin: 20px 0;
	}
}

/*
ニュース
========================================================= */
/* 最新情報 / 社内誌 */
#NewsMain h3 {
	margin-bottom: 0;
	padding: 30px 0;
	color: #285ba2;
	text-align: left;
	font-weight: bold;
}

#NewsMain .newsListBox {
	color: #285ba2;
	border-top: 1px solid #285ba2;
	border-bottom: 1px solid #285ba2;
}

#NewsMain .newsList {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none outside;
}

#NewsMain .newsList .item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 35px 0;
	text-decoration: none;
	border-bottom: 1px solid #ccc;
}

#NewsMain .newsList .item:last-child a {
	border-bottom: none;
}

#NewsMain .newsList .item .date,
#NewsMain .entry-meta .date {
	margin: 0;
	padding: 0 20px 0 0;
}

#NewsMain .newsList .item .category {
	margin: 0;
}

#NewsMain .newsList .item .category span,
#NewsMain .entry-meta span {
	display: inline-block;
	padding: 5px 20px;
	border-radius: 13px;
	text-align: center;
	font-size: 13px;
	line-height: 1;
}

#NewsMain .newsList .item .category span.label_group,
#NewsMain .entry-meta span.label_group {
	color: #285ba2;
	border: 1px solid #285ba2;
	background: #fff;
}

#NewsMain .newsList .item .category span.news-label-info,
#NewsMain .entry-meta span.news-label-info {
	color: #fff;
	border: 1px solid #18448e;
	background: #18448e;
}

#NewsMain .newsList .item .category span.news-label-release,
#NewsMain .entry-meta span.news-label-release {
	color: #285ba2;
	border: 1px solid #fff33f;
	background: #fff33f;
}

#NewsMain .newsList .item .category span.news-label-the-heart-of-glass,
#NewsMain .entry-meta span.news-label-the-heart-of-glass {
	color: #fff;
	border: 1px solid #2c811d;
	background: #2c811d;
}

#NewsMain .newsList .item .category span.news-label-blog,
#NewsMain .entry-meta span.news-label-blog {
	color: #285ba2;
	border: 1px solid #c8d92e;
	background: #c8d92e;
}

#NewsMain .newsList .item .category span.news-label-tech,
#NewsMain .entry-meta span.news-label-tech {
	color: #285ba2;
	border: 1px solid #a0d8ef;
	background: #a0d8ef;
}

#NewsMain .newsList .item .category span.news-label-csr,
#NewsMain .entry-meta span.news-label-csr {
	color: #fff;
	border: 1px solid #f08323;
	background: #f08323;
}

#NewsMain .newsList .item .title {
	width: 100%;
	margin: 0;
}

#NewsMain .news-images {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	margin: 20px 0;
}

#NewsMain .news-images img {
	height: min-content;
}

#NewsMain .news-images img:not(:last-child) {
	margin-right: 20px;
}

@media screen and (max-width: 768px) {
	#NewsMain .news-images {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	#NewsMain .news-images img {
		width: 48%;
	}

	#NewsMain .news-images img:not(:last-child) {
		margin-right: 0;
	}
}

@media screen and (max-width: 767px) {
	#NewsMain .newsListBox {
		padding: 0;
	}

	#NewsMain .newsList {
		margin: 0;
	}

	#NewsMain .newsList .item a {
		padding: 20px 0;
	}

	#NewsMain .newsList .item .title {
		margin-top: 10px;
	}

	#NewsMain .news-images {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	#NewsMain .news-images img {
		width: 100%;
		margin: 0;
		margin-bottom: 20px;
	}
}

#NewsMain .arr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 20px;
	border-bottom: 1px solid #333;
}

#NewsMain .arr .later,
#NewsMain .arr .next {
	padding: 20px 10px;
}

/* 下層記事スタイル */
#NewsMain .txt {
	width: 75%;
}

#NewsMain .image {
	width: 20%;
}

#NewsMain .image img {
	width: 100%;
}

#NewsMain .entry-meta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#NewsMain .entry-meta .date {
	color: #285ba2;
}

#NewsMain .entry-title {
	margin-bottom: 70px;
	padding-top: 20px;
	padding-bottom: 24px;
	text-decoration: none;
	border-bottom: 1px solid #285ba2;
}

/* ページャースタイル */

.pager {
	display: flex;
	justify-content: center;
	padding-top: 50px;
	text-align: center;
}

.pager li {
	padding: 3px 6px;
}

.pager a,
.pager span.current {
	display: inline-block;
	margin: 0 12px;
	padding: 3px 6px;
	color: #cccccc;
	font-size: 20px;
}

.pager span.current {
	margin: 0 14px;
	padding: 3px 1px;
	color: #285ba2;
	border-bottom: 2px solid #285ba2;
}

@media screen and (max-width: 767px) {
	#NewsMain .txt,
	#NewsMain .txt p {
		margin: 20px 0;
	}

	#NewsMain .txt,
	#NewsMain .image,
	#NewsMain .image img {
		width: 100%;
	}
}

#NewsMain .movie {
	margin: 20px 0;
	text-align: center;
}

#NewsMain .movie video {
	width: 100%;
}

/*
CSR
========================================================= */
@media screen and (max-width: 767px) {
	.pageMain-head {
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 50px;
	}

	.page-index ul {
		width: 100%;
	}
}

#csr .center {
	text-align: center;
}

#csr h4 {
	margin: 10px 0;
	color: #285ba2;
	font-weight: bold;
	font-size: 24px;
}

/* 環境方針 */
#E-policy p {
	margin: 50px 0;
	line-height: 2;
}

#E-policy p span {
	font-weight: bold;
	font-size: 18px;
}

/* 社会貢献活動 */
#S-activity p {
	margin: 50px 0 25px;
	line-height: 2;
}

#S-activity p span {
	font-weight: bold;
	font-size: 18px;
}

#S-activity .activity-item {
	margin-bottom: 50px;
}

#S-activity .activity-image {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

#S-activity .activity-image img {
	margin-right: 20px;
}

#S-activity .activity-image img:last-child {
	margin-right: 0;
}

@media screen and (max-width: 767px) {
	#S-activity .activity-image {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	#S-activity .activity-image img {
		margin-right: 0;
		margin-bottom: 20px;
	}
}

/* 社会貢献活動 */
#compliance p {
	margin: 30px 0;
	line-height: 2;
}

#compliance p span {
	font-weight: bold;
	font-size: 18px;
}

#compliance .MailData {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#compliance .form-btn a,
#compliance .data-btn a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	width: 480px;
	margin-bottom: 20px;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	font-size: 20px;
	border: 1px solid #285ba2;
	background-color: #fff;
}

#compliance .form-btn a::after {
	position: absolute;
	right: 30px;
	display: inline-block;
	width: 20px;
	height: 20px;
	content: "";
	vertical-align: middle;
	background-image: url(../img/csr/form-icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

#compliance .data-btn a::after {
	position: absolute;
	right: 30px;
	display: inline-block;
	width: 20px;
	height: 20px;
	content: "";
	vertical-align: middle;
	background-image: url(../img/csr/download-icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
	#compliance .MailData {
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

@media screen and (max-width: 767px) {
	#compliance .form-btn a,
	#compliance .data-btn a {
		width: 100%;
	}
}

/*
サスティナビリティ
========================================================= */
#sustainability01 .iso {
	display: inline-block;
	margin-top: 1em;
	text-align: center;
}

#sustainability01 .iso img {
	padding: 10px;
	border: 1px solid #333;
}

#sustainability01 .iso p {
	margin-top: 0.5em;
}

.sustainability01__contents {
	margin-top: 40px;
}

.sustainability01__list {
	display: grid;
	align-content: start;
	margin-top: 24px;

	grid-template-columns: repeat(3, calc(33.33333% - 8px));
	gap: 24px;
	grid-auto-flow: dense;
}

@media screen and (max-width: 767px) {
	.sustainability01__list {
		grid-template-columns: repeat(1, 100%);
	}
}

.sustainability01__list li {
	position: relative;
	padding: 40px 32px 40px;
	overflow: hidden;
	border-radius: 8px;
	background-color: #f0f5fa;
}

.sustainability01__list li .num {
	position: absolute;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	padding: 10px 14px;
	color: #fff;
	font-weight: bold;
	font-size: 28px;
	background-image: linear-gradient(135deg, #bed1d7, #bed1d7 50%, transparent 50%);
}

.sustainability01__list li .headline {
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	min-height: calc(2em + 1.6em);
	color: #285ba0;
	text-align: center;
	font-weight: bold;
	font-size: 28px;
	line-height: 1.6;
}

.sustainability01__list li p {
	text-align: center;
	font-size: 16px;
	line-height: 2;
}

.sustainability03__block {
	padding-top: 56px;
}

.sustainability03__block-btn {
	margin-top: 16px;
}

.sustainability03__block p {
	margin-top: 1em;
}

.sustainability03__image {
	margin-top: 1em;
}

@media screen and (max-width: 767px) {
	.sustainability03__image img {
		width: 100%;
	}
}

#sustainability02 p {
	margin: 50px 0 25px;
	line-height: 2;
}

#sustainability02 p span {
	color: #285ba0;
	font-weight: bold;
	font-size: 28px;
}

#sustainability02 .activity-item {
	margin-bottom: 50px;
}

#sustainability02 .activity-image {
	display: flex;

	gap: 20px;
}

@media screen and (max-width: 767px) {
	#sustainability02 .activity-image {
		flex-direction: column;

		gap: 16px;
	}

	#sustainability02 .activity-image img {
		width: 100%;
	}
}

#sustainability04 p {
	margin: 30px 0;
	line-height: 2;
}

#sustainability04 p span {
	font-weight: bold;
	font-size: 18px;
}

#sustainability04 .MailData {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#sustainability04 .form-btn a,
#sustainability04 .data-btn a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	width: 480px;
	margin-bottom: 20px;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	font-size: 20px;
	border: 1px solid #285ba2;
	background-color: #fff;
}

#sustainability04 .form-btn a::after {
	position: absolute;
	right: 30px;
	display: inline-block;
	width: 20px;
	height: 20px;
	content: "";
	vertical-align: middle;
	background-image: url(../img/csr/form-icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

#sustainability04 .data-btn a::after {
	position: absolute;
	right: 30px;
	display: inline-block;
	width: 20px;
	height: 20px;
	content: "";
	vertical-align: middle;
	background-image: url(../img/csr/download-icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
	#sustainability04 .MailData {
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

@media screen and (max-width: 767px) {
	#sustainability04 .form-btn a,
	#sustainability04 .data-btn a {
		width: 100%;
	}
}

#sustainabilityPolicy {
	display: flex;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	#sustainabilityPolicy {
		padding: 0 30px;
	}
}

.sustainabilityPolicy__inner {
	max-width: 800px;
	margin-top: 64px;
	padding: 64px 0;
	text-align: left;
	border-top: 2px solid #005e9c;
	border-bottom: 2px solid #005e9c;
}

.sustainabilityPolicy__headline {
	color: #005e9c;
	letter-spacing: 0.05em;
	font-weight: 500;
	font-size: 28px;
	line-height: 1.8;
}

.sustainabilityPolicy__text {
	margin-top: 16px;
	letter-spacing: 0.05em;
	font-weight: 500;
	line-height: 2.3;
}

@media screen and (max-width: 768px) {
	.sustainabilityPolicy__inner {
		margin-top: 48px;
		padding: 32px 0;
	}

	.sustainabilityPolicy__headline {
		letter-spacing: 0;
		font-size: 30px;
	}

	.sustainabilityPolicy__text {
		margin-top: 8px;
		line-height: 2;
	}
}

.sustainabilityTocList {
	display: flex;
	flex-direction: column;

	gap: 80px;
}

@media screen and (max-width: 767px) {
	.sustainabilityTocList {
		gap: 40px;
	}
}

.sustainabilityTocList li {
	padding-top: 64px;
	border-top: 1px solid #aabac6;
}

@media screen and (max-width: 767px) {
	.sustainabilityTocList li {
		padding-top: 40px;
	}
}

.sustainabilityTocList li:first-child {
	padding-top: 0;
	border-top: none;
}

.sustainabilityTocList__headline .main {
	margin-bottom: 0;
	color: #285ba2;
	text-align: left;
	font-size: 28px;
}

@media screen and (max-width: 767px) {
	.sustainabilityTocList__headline .main {
		letter-spacing: 0em;
		font-size: 30px;
	}
}

.sustainabilityTocList__bnr {
	position: relative;
	display: inline-block;
	margin-top: 30px;
	font-family: "Noto Sans JP", sans-serif;
}

.sustainabilityTocList__bnr::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60%;
	content: "";
	background: linear-gradient(#23181500 10%, #231815 100%);
	opacity: 0.7;
}

.sustainabilityTocList__bnr .title {
	position: absolute;
	bottom: 16px;
	left: 16px;
	color: #fff;
	font-size: 40px;
}

@media screen and (max-width: 767px) {
	.sustainabilityTocList__bnr .title {
		bottom: 12px;
		left: 12px;
		font-size: 24px;
	}
}

.sustainabilityTocList__bnr .more {
	position: absolute;
	right: 8px;
	bottom: 16px;
	color: #fff;
	font-size: 16px;
}

@media screen and (max-width: 767px) {
	.sustainabilityTocList__bnr .more {
		right: 0px;
		bottom: 12px;
		font-size: 15px;
	}
}

.sustainabilityTocList__bnr .more .arrow {
	display: inline-block;
	margin-left: -0.25em;
	transform: scale(0.5, 0.8);
}

/*
将来ビジョン
========================================================= */
.visionSectionHeader {
	text-align: center;
}

.visionSectionHeader__headline {
	color: #285ba0;
	letter-spacing: 0.05em;
	font-weight: bold;
	font-size: 48px;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	.visionSectionHeader__headline {
		font-size: 26px;
	}
}

.visionSectionHeader__text {
	margin-top: 2.5em;
	line-height: 2.2;
}

.vision02Contents {
	margin-top: 120px;
}

* + .vision02Contents__block {
	margin-top: 64px;
}

.vision02Contents__list {
	margin-top: 0.5em;
	margin-left: 1em;
	list-style-type: decimal;
}

.vision02Contents__list &gt; li {
	line-height: 2;
}

.vision02Contents__list ol {
	list-style-type: none;
	counter-reset: custom-counter;
}

.vision02Contents__list ol &gt; li {
	position: relative;
	display: block;
	padding-left: 1.5em;
}

.vision02Contents__list ol &gt; li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: counter(custom-counter) " ) ";
	counter-increment: custom-counter;
}

/*
プライバシーポリシー
========================================================= */
#page-privacy .page-title h2 {
	color: #000;
}

#PrivacyMain h3 {
	margin-bottom: 10px;
	color: #285ba2;
	text-align: left;
	font-weight: bold;
}

#PrivacyMain h4 {
	display: inline-block;
	margin-top: 1.5em;
	margin-bottom: 10px;
	color: #285ba2;
	text-align: left;
	font-weight: bold;
}

#PrivacyMain .PrivacyList {
	margin-bottom: 80px;
}

#PrivacyMain .contact {
	padding: 50px;
	font-size: 18px;
	border-top: 1px solid #285ba2;
	border-bottom: 1px solid #285ba2;
}

#PrivacyMain .contact p {
	display: table;
	margin: 0 auto;
	line-height: 2.2em;
}

#PrivacyMain .contact span {
	font-size: 22px;
}

@media screen and (max-width: 767px) {
	#PrivacyMain .contact {
		padding: 20px 0;
	}
}

#PrivacyMain a {
	text-decoration: underline;
}

/*
社員専用
========================================================= */

#StaffMain h1.main {
	margin-bottom: 30px;
	padding-bottom: 15px;
	color: #285ba2;
	font-weight: bold;
	font-size: 28px;
	border-bottom: 1px solid #285ba2;
}

#StaffMain h2 {
	margin-bottom: 15px;
	color: #285ba2;
	text-align: left;
	font-weight: bold;
	font-size: 20px;
}

#StaffMain .movie {
	margin-bottom: 100px;
	text-align: center;
}

#StaffMain .movie video {
	width: 100%;
}

#StaffMain ul.btns {
	display: flex;
	flex-wrap: wrap;
}

#StaffMain ul.center-one {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#StaffMain ul.btns li {
	width: 48%;
	margin: 0 1% 20px;
}

#StaffMain a {
	position: relative;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	font-size: 20px;
	font-size: 20px;
	border: 1px solid #285ba2;
}

#StaffMain a::after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 0;
	height: 0;
	content: "";
	border-width: 8px 0 8px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #285ba2;
	transform: translateY(-50%);
}

#StaffMain .icon-new {
	display: inline-block;
	margin-right: 6px;
	padding: 2px 4px;
	color: #fff;
	vertical-align: text-top;
	font-size: 12px;
	background-color: #ff0000;
}

@media screen and (max-width: 767px) {
	#StaffMain ul.btns {
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-orient: vertical;
	}

	#StaffMain ul.btns li {
		width: 100%;
		margin: 0 0 20px;
	}
}

/*
石窓会
========================================================= */

#SekisoukaiMain a.sekisoukai-top {
	padding: 1em;
	text-align: right;
}

#SekisoukaiMain h3 {
	margin-bottom: 0;
	padding: 30px 0;
	color: #285ba2;
	text-align: left;
	font-weight: bold;
	border-bottom: 1px solid #285ba2;
}

#SekisoukaiMain .ListBox {
	padding: 0;
	color: #285ba2;
	border-top: 1px solid #285ba2;
	border-bottom: 1px solid #285ba2;
}

#SekisoukaiMain .List {
	max-width: 650px;
	margin: 0 auto 50px;
	padding: 0;
	list-style: none outside;
}

#SekisoukaiMain .List .item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 35px;
	text-decoration: none;
	border-bottom: 1px solid #ccc;
}

#SekisoukaiMain .List .item:last-child a {
	border-bottom: none;
}

#SekisoukaiMain .List .item .date {
	margin: 0;
	padding: 0 20px 0 0;
}

#SekisoukaiMain .List .item .title {
	width: 100%;
	margin: 0;
}

@media screen and (max-width: 767px) {
	#SekisoukaiMain .List {
		margin: 0;
	}

	#SekisoukaiMain .List .item a {
		padding: 20px 0;
	}

	#SekisoukaiMain .List .item .title {
		margin-top: 10px;
	}
}

/* --- 年別リストボタン --- */

.year_all {
	display: grid;
	padding-top: 24px;

	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 16px;
}

@media screen and (max-width: 767px) {
	.year_all {
		padding-top: 0;

		grid-template-columns: 1fr 1fr 1fr;
		gap: 8px;
	}
}

.year_all li a {
	position: relative;
	display: block;
	padding: 20px 60px;
	border-radius: 9999px;
	color: #285ba2;
	font-size: 18px;
	border: 1px solid #285ba2;
}

@media screen and (max-width: 768px) {
	.year_all li a {
		padding: 12px 26px 12px 20px;
		font-size: 16px;
	}
}

.year_all li a::after {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 0;
	height: 0;
	content: "";
	border-width: 8px 0 8px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #285ba2;
	transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
	.year_all li a::after {
		right: 12px;
		border-width: 6px 0 6px 10px;
	}
}

/*
お問い合わせ
========================================================= */

.box_con {
	max-width: 900px;
	margin: 0 auto;
}

@media only screen and (max-width: 768px) {
	.box_con {
		width: 95%;
	}
}

.box_con form {
	width: 100%;
}

.box_con .formTable {
	width: 100%;
}

.box_con .formTable tr {
	position: relative;
}

.box_con .formTable tr th {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 30%;
	padding: 25px 0;
	vertical-align: middle;
	font-weight: normal;
}

@media only screen and (max-width: 768px) {
	.box_con .formTable tr th {
		display: block;
		width: 100%;
		padding: 1.5em 0.2em 0.8em;
		text-align: center;
		border-bottom: 1px solid #285ba2;
	}
}

.box_con .formTable tr th span {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: 0.5em;
	padding: 0 0.3em;
	color: red;
}

.box_con .formTable tr td {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 25px 0;
}

@media only screen and (max-width: 768px) {
	.box_con .formTable tr td {
		justify-content: center;
		width: 100%;
		padding: 1.5em 0.5em;
	}
}

.box_con .formTable tr .box_br {
	display: block;
}

.box_con .formTable tr select {
	border: 1px solid #97ae88;
}

.box_con .formTable tr label input {
	display: none;
	vertical-align: middle;
	cursor: pointer;
}

.box_con .formTable tr .radio02-input + label {
	position: relative;
	margin-right: 20px;
	padding-left: 23px;
}

.box_con .formTable tr .radio02-input + label:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	content: "";
	border: 1px solid #999;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.box_con .formTable tr .radio02-input:checked + label:after {
	position: absolute;
	top: 50%;
	left: 2px;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	content: "";
	background: #97ae88;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.box_con .formTable tr select,
.box_con .formTable tr input,
.box_con .formTable tr textarea {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	height: 72px;
	padding: 1em;
	font-size: 18px;
	border: 1px solid #999;
}

.box_con .formTable tr textarea {
	height: 10em;
}

/* --- プライバシーポリシーに同意する --- */
.privacy_check {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.privacy_check .box_agree {
	width: 30%;
}

.privacy_check .box_agree span {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: 0.5em;
	padding: 0 0.3em;
	color: red;
}

.privacy_check .box_check {
	width: 70%;
}

.privacy_check .box_check p.desc {
	margin-top: 1em;
	font-size: 14px;
}

.privacy_check .box_check span {
	margin-left: 0.3em;
}

.btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 10px auto 0;
}

.btn .submit_wrap {
	position: relative;
	margin: 0 auto;
}

.btn input {
	display: inline-block;
	width: 500px;
	padding: 1.5em 2.5em;
	border-radius: 50vh;
	color: #285ba2;
	text-align: center;
	font-size: 20px;
	border: 1px solid #285ba2;
	background-color: #fff;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
}

.btn .submit_wrap::after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 0;
	height: 0;
	content: "";
	border-width: 8px 0 8px 12px;
	border-style: solid;
	border-color: transparent transparent transparent #285ba2;
	transform: translateY(-50%);
}

.btn input:hover {
	opacity: 0.7;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
}

@media only screen and (max-width: 768px) {
	.privacy_check .box_agree {
		display: block;
		margin-bottom: 1.5em;
		padding: 1.5em 0.2em 0.8em;
		text-align: center;
		border-bottom: 1px solid #285ba2;
	}

	.privacy_check {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.privacy_check .box_agree,
	.privacy_check .box_check,
	.btn .submit_wrap,
	.btn input {
		width: 100%;
	}
}

/* --- 確認画面 --- */
#ContactConfirm .btn input {
	width: 400px;
}

#ContactConfirm .btn .submit_wrap.btnback::after {
	display: none;
}

@media only screen and (max-width: 768px) {
	#ContactConfirm .btn input {
		width: 94%;
		text-align: center;
	}

	#ContactConfirm .btn input {
		padding: 1em;
	}
}

/*
健康経営
========================================================= */
.health_management01__contents * + .lowerHeadline01 {
	margin-top: 56px;
}

.health_management01__contents * + .lowerHeadline01.mt-large {
	margin-top: 120px;
}

@media only screen and (max-width: 768px) {
	.health_management01__contents * + .lowerHeadline01.mt-large {
		margin-top: 56px;
	}
}

.health_management__contents {
	margin-top: 24px;
}

.health_management__list {
	display: flex;
	flex-direction: column;
	padding: 48px 64px;
	border-top: 1px solid #285ba2;
	border-bottom: 1px solid #285ba2;

	gap: 1em;
}

@media only screen and (max-width: 768px) {
	.health_management__list {
		padding: 24px 1em;
	}
}

.health_management__list li {
	display: flex;
	font-size: 18px;
	line-height: 1.8;
}

.health_management__list li::before {
	content: "●";
}

.health_management__contents .sign {
	display: flex;
	justify-content: flex-end;
	margin-top: 1em;
}

.health_management__contents .sign p {
	font-weight: bold;
}

@media only screen and (max-width: 768px) {
	.health_management__contents .sign p {
		font-size: 14px;
	}
}

.health_management__contents * + .fig {
	margin-top: 80px;
}

@media only screen and (min-width: 768px) {
	.health_management__contents .fig a {
		pointer-events: none;
	}
}

@media only screen and (max-width: 768px) {
	.health_management__contents__table {
		overflow: auto;
	}
}

.scroll-hint {
	display: none;
}

@media only screen and (max-width: 768px) {
	.scroll-hint {
		display: block;
		font-weight: bold;
		font-size: 13px;
	}

	.scroll-hint + * {
		margin-top: 8px;
	}

	* + .scroll-hint {
		margin-top: 1em;
	}
}

.health_management__contents__table table {
	width: 100%;
	color: #285ba2;
	table-layout: fixed;
	text-align: center;
}

@media only screen and (max-width: 768px) {
	.health_management__contents__table table {
		width: 750px;
	}
}

.health_management__contents__table table :is(th, td) {
	padding: 0.3em 0.5em;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
	border-bottom: 1px solid #285ba2;
	line-height: 1.6;
}

@media only screen and (max-width: 768px) {
	.health_management__contents__table table :is(th, td) {
		font-size: 14px;
	}
}

.health_management__contents__table table :is(th, td):not(:first-child) {
	border-left: 1px solid #285ba2;
}

.health_management__contents__table table thead th {
	color: #fff;
	background-color: #285ba2;
}

.health_management__contents__table table thead th:first-child {
	width: 300px;
}

@media only screen and (max-width: 768px) {
	.health_management__contents__table table thead th:first-child {
		width: 250px;
	}
}

.health_management__contents__table table thead th:not(:first-child) {
	border-left: 1px solid #fff;
}

.health_management__contents__table table th {
	background-color: rgba(40, 91, 162, 0.1);
}

.health_management__contents__table table .sup {
	margin-left: 0.3em;
	font-weight: bold;
	font-size: 0.7em;
}

.health_management__contents__table .note {
	margin-top: 1em;
	font-size: 13px;
}
</pre></body></html>