@charset "UTF-8";

html {
	scroll-behavior: smooth;
}

:not(span) {
	margin: 0;
	padding: 0;
	line-height: 1;
	box-sizing: border-box;
}
* {
	letter-spacing: calc(1em / 12);
	font-feature-settings: "palt";
	max-height: 99999px;
	scroll-margin-top: 4.5rem;
}
li {
	list-style: none;
}
label, button {
	cursor: pointer;
}

#wrap {
	background: white;
	margin: 0;
	padding: 0;
}
body {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	color: #222;
	animation: fadeIn 0.5s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

::-webkit-full-page-media, :future, :root body {
	-webkit-font-smoothing: antialiased;
}

a:any-link {
	text-underline-offset: calc(1em / 8);
	text-decoration: none;
	color: #222;
}


/*======================================================================*/
/*======================================================================*/
/*==============================    ヘッダー    ==============================*/
/*======================================================================*/
/*======================================================================*/

@media (min-width: 70.001rem) {
	header {
		width: 100%;
		height: 5.5rem;
		position: fixed;
		top: 0;
		left: 0;
		border-bottom: solid thin #130B66;
		background: white;
		z-index: 2;
		transition: .5s;
	}
	header h1 {
		height: 3rem;
		position: absolute;
		top: 1.25rem;
		left: 3rem;
		transition: .5s;
	}
	header h1 img {
		height: 100%;
		width: auto;
	}
	header h1 + input,
	header h1 + input + label,
	header nav > label,
	#header_navi,
	#header_navi + label {
		display: none;
	}
	
	header nav > ul {
		display: flex;
		position: absolute;
		top: 0;
		right: 0;
		align-items: center;
	}
	header nav > ul > li {
		position: relative;
	}
	header nav > ul > li:first-child {
		display: none;
	}
	header nav > ul > li > a,
	header nav > ul > li > label {
		color: #222;
		padding: 1rem 1rem;
		transition: .2s;
	}
	header nav > ul > li > label > a:any-link {
		padding: 1rem 0;
	}
	header nav > ul > li:hover,
	header nav > ul > li:hover > a,
	header nav > ul > li:hover > label {
		color: white;
		background: #130B66;
	}
	header nav > ul > li:hover > label > a:any-link {
		color: white;
	}
	header nav > ul > li:hover > label {
		cursor: default;
	}
	header nav > ul > li:last-child {
		width: 9rem;
		height: 8rem;
		background: #130B66;
		margin-left: 1rem;
		transition: .5s;
	}
	header nav > ul > li:last-child a:any-link {
		color: white;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	header nav > ul > li input[type=checkbox] {
		display: none;
	}
	header nav > ul > li > ul { /*プルダウンメニュー */
		position: absolute;
		top: 2rem;
		left: 0;
		background: #130B66;
		width: 13rem;
		transform: rotateY(90deg);
		transition: .2s;
	}
	@media (hover: hover) {
		header nav > ul > li:hover input + ul {
			transform: rotateY(0deg);
		}
	} 
	@media (hover: none) {
		header nav > ul > li input:checked + ul {
			transform: rotateY(0deg);
		}
	} 
	
	header nav > ul > li > ul > li + li {
		border-top: solid thin white;
	}
	header nav > ul > li > ul > li a:any-link {
		display: block;
		color: white;
		padding: 0.75rem 1rem;
		line-height: 1.5;
	}
	#h_tel {
		display: none;
	}
	/* 変形 ここから */
	header.is-animation {
		height: 3rem;
	}
	header.is-animation h1 {
		height: 2rem;
		top: 0.5rem;
	}
	header.is-animation nav > ul > li:last-child {
		height: 3rem;
		padding-top: 0.5rem;
	}
	header nav > ul > li:nth-child(n+1):nth-child(-n+6) > a,
	header nav > ul > li:nth-child(n+1):nth-child(-n+6) > label {
		position: relative;
		top: 0rem;
	}
	header.is-animation nav > ul > li:nth-child(n+1):nth-child(-n+6) > a,
	header.is-animation nav > ul > li:nth-child(n+1):nth-child(-n+6) > label {
		padding: 1rem 1rem 0.75rem;
		position: relative;
		top: 0.25rem;
	}
	header nav > ul > li:hover:nth-child(n+1):nth-child(-n+6) > a,
	header nav > ul > li:hover:nth-child(n+1):nth-child(-n+6) > label {
		background: linear-gradient(to bottom, white, white 0.2499rem, #130B66 0.25rem, #130B66);
	}
	header.is-animation nav > ul > li:hover:nth-child(n+1):nth-child(-n+6) > a,
	header.is-animation nav > ul > li:hover:nth-child(n+1):nth-child(-n+6) > label {
		background: linear-gradient(to bottom, white, white 0.2499rem, #130B66 0.25rem, #130B66);
	}
}
@media (max-width: 70rem) {
	header {
		width: 100%;
		height: 3.5rem;
		border-bottom: solid thin #130B66;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background-color: white;
		z-index: 9;
		transition: .2s;
	}
	header.is-animation {
		height: 2.75rem;
	}
	header h1 img {
		display: block;
		width: auto;
		height: 2.25rem;
		position: absolute;
		top: calc((3.5rem - 2.25rem) / 2);
		left: 0.5rem;
		transition: .2s;
	}
	header.is-animation h1 img {
		height: 2rem;
		top: calc((2.75rem - 2rem) / 2);
	}
	header > label,
	header > form > label { /* プルダウメニュー 三本線ボタン */
		display: block;
		width: 2.75rem;
		height: 2.75rem;
		overflow: hidden;
		position: absolute;
		top: 0;
		right: 0;
		color: rgba(0,0,0,0);
		background: url(./images/menu_open.svg) center center no-repeat #130B66;
		background-size: 50% 50%;
	}
	header input {
		position: absolute;
		top: 1.125rem;
		right: 1.125rem;
		transform: scale(2);
		opacity: 0;
		z-index: 10;
	}

	header nav {
		position: fixed;
		top: 0;
		left: -100%;
		width: 100%;
		min-height: 100vh;
		background: #130B66;
		z-index: 100;
		transition: .2s;
	}
	header input:checked + label + nav {
		left: 0;
	}
	header nav > label {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 2rem;
		color: white;
		transform: rotate(45deg);
		margin: 0 0 0 auto;
		width: 3rem;
		height: 3rem;
	}
	header nav > ul {
		display: flex;
		width: 35rem;
		max-height: calc(100vh - 9rem);
		margin: 0 auto;
		max-width: 100%;
		flex-direction: column;
		border-bottom: solid thin white;
		overflow: auto;
	}
	header nav > ul > li {
		border-top: solid thin white;
		position: relative;
		width: 100%;
	}
	header nav > ul > li > a:any-link,
	header nav > ul > li > label {
		display: block;
		color: white;
		padding: 1rem;
	}
	header nav > ul > li > label > a:any-link {
		color: white;
		padding: 0;
	}
	header nav > ul > li > label {
		cursor: default;
	}
	header nav > ul > li input + ul::before {
		content: '┼';
		position: absolute;
		top: 1rem;
		right: 1rem;
		color: white;
		display: block;
		width: 1rem;
		height: 1rem;
	}
	header nav > ul > li input:checked + ul::before {
		content: '';
		width: 0.75rem;
		height: 0.75rem;
		top: 1.5rem;
		right: 1.125rem;
		border-top: solid thin white;
		border-right: solid thin white;
		transform: rotate(-45deg);
	}
	header nav > ul > li input + ul {
		margin-bottom: 0;
		transition: .2s;
	}
	header nav > ul > li input:checked + ul {
		margin-bottom: 1rem;
	}
	header nav > ul > li input + ul li a:any-link {
		display: block;
		height: 0;
		overflow: hidden;
		color: white;
		font-size: 0.95rem;
		padding: 0 1rem;
		transition: .2s;
	}
	header nav > ul > li input + ul li a:any-link::before {
		content: '-';
		display: inline-block;
		margin-right: 0.5rem;
	}
	header nav > ul > li input:checked + ul li a:any-link {
		height: calc(0.75rem + 0.75rem + 0.95rem);
		padding: 0.75rem 1rem;
	}

	header nav > ul > li:nth-child(1) { /* トップページ */
		order: 1;
	}
	header nav > ul > li:nth-child(2) { /* A.R.Mの強み */
		order: 2;
	}
	header nav > ul > li:nth-child(3) { /* 業務事例 */
		order: 3;
	}
	header nav > ul > li:nth-child(4) { /* 会社情報 */
		order: 4;
	}
	header nav > ul > li:nth-child(5) { /* 採用情報 */
		order: 5;
	}
	header nav > ul > li:nth-child(6) { /* スタッフ日記 */
		order: 6;
	}
	header nav > ul > li:nth-child(7) { /* お問い合わせ */
		order: 7;
	}

	#h_tel a:any-link {
		display: flex;
		margin: 1.5rem auto;
		padding: 1rem 0;
		width: 16rem;
		font-size: 1rem;
		color: white;
		border: solid thin white;
		justify-content: center;
		a;ign-items: center;
	}
	#h_tel a::before {
		content: '';
		display: block;
		width: 1rem;
		height: 1rem;
		margin-right: 0.5rem;
		background: url(./images/icon_tel_w.svg) center center no-repeat;
		background-size: contain;
		transform: scale(1.25);
	}
}


/*======================================================================*/
/*======================================================================*/
/*==============================    フッター    ==============================*/
/*======================================================================*/
/*======================================================================*/

footer {
	position: relative;
}

/*------------------------------ フッター 第1セクション ------------------------------*/
footer section:nth-child(1) {
	background: #83B9E4;
	border: solid thin #83B9E4;
}
footer section:nth-child(1) a:any-link,
footer section:nth-child(1) label {
	color: white;
}
footer section:nth-child(1) input[type=checkbox] {
	display: none;
}

@media (min-width: 56.001rem) {
	footer section:nth-child(1) > ul {
		display: grid;
		grid-template-rows: 0 3rem 3rem 3rem  auto;
		grid-template-columns: auto auto auto auto;
		width: 70rem;
		max-width: calc(100% - 5vw);
		margin: 3.5rem auto;
	}
	footer section:nth-child(1) > ul > li {
		padding: 0.5rem 1rem;
	}
	footer section:nth-child(1) > ul > li:nth-child(1) {
		grid-area: 1 / 1 / 6 / 2;
	}
	footer section:nth-child(1) > ul > li:nth-child(2) {
		grid-area: 1 / 2 / 6 / 3;
	}
	footer section:nth-child(1) > ul > li:nth-child(3) {
		grid-area: 1 / 3 / 6 / 4;
	}
	footer section:nth-child(1) > ul > li:nth-child(4) {
		grid-area: 1 / 4 / 2 / 5;
		grid-area: 1 / 1 / 2 / 2;
		padding-left: 15.235rem;
	}
	footer section:nth-child(1) > ul > li:nth-child(5) {
		grid-area: 2 / 4 / 3 / 5;
	}
	footer section:nth-child(1) > ul > li:nth-child(6) {
		grid-area: 3 / 4 / 4 / 5;
	}
	footer section:nth-child(1) > ul > li:nth-child(7) {
		grid-area: 4 / 4 / 5 / 5;
	}
	footer section:nth-child(1) > ul > li:nth-child(8) {
		grid-area: 5 / 4 / 6 / 5;
	}
	footer section:nth-child(1) > ul > li > a,
	footer section:nth-child(1) > ul > li > label {
		display: block;
		padding: 0.5rem 0;
	}
	footer section:nth-child(1) > ul > li > label {
		padding-bottom: 1rem;
	}
	footer section:nth-child(1) > ul > li > ul > li a:any-link {
		display: flex;
		font-size: 0.95rem;
		line-height: 1.5;
		padding: 0.5rem 0;
	}
	footer section:nth-child(1) > ul > li > ul > li a::before {
		content: '-';
		margin-right: 0.5rem;
	}
}
@media (max-width: 56rem) {
	footer section:nth-child(1) > ul {
		display: flex;
		flex-direction: column;
		width: 35rem;
		max-width: 100%;
		margin: 0 auto;
	}
	footer section:nth-child(1) > ul > li:nth-child(1) {
		order: 1;
		border-top: none;
	}
	footer section:nth-child(1) > ul > li:nth-child(2) {
		order: 3;
	}
	footer section:nth-child(1) > ul > li:nth-child(3) {
		order: 4;
	}
	footer section:nth-child(1) > ul > li:nth-child(4) {
		order: 2;
	}
	footer section:nth-child(1) > ul > li:nth-child(5) {
		order: 5;
	}
	footer section:nth-child(1) > ul > li:nth-child(6) {
		order: 6;
	}
	footer section:nth-child(1) > ul > li:nth-child(7) {
		order: 7;
	}
	footer section:nth-child(1) > ul > li:nth-child(8) {
		order: 8;
	}


	footer section:nth-child(1) > ul > li {
		border-top: solid thin white;
		position: relative;
	}
	footer section:nth-child(1) > ul > li:first-child {
	}
	footer section:nth-child(1) > ul > li > a,
	footer section:nth-child(1) > ul > li > label {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1rem;
	}
	footer section:nth-child(1) input[type=checkbox] {
		display: block;
		position: absolute;
		top: 1.125rem;
		right: 1.125rem;
		transform: scale(3.5);
		opacity: 0;
		z-index: 2;
		cursor: pointer;
	}
	footer section:nth-child(1) input + ul::before {
		content: '┼';
		position: absolute;
		top: 1rem;
		right: 1rem;
		color: white;
		display: block;
		width: 1rem;
		height: 1rem;
	}
	footer section:nth-child(1) input:checked + ul::before {
		content: '';
		width: 0.75rem;
		height: 0.75rem;
		top: 1.5rem;
		right: 1.125rem;
		border-top: solid thin white;
		border-right: solid thin white;
		transform: rotate(-45deg);
	}

	footer section:nth-child(1) input + ul {
		margin-bottom: 0;
		transition: .2s;
	}
	footer section:nth-child(1) input:checked + ul {
		margin-bottom: 1rem;
	}

	footer section:nth-child(1) input + ul li a:any-link {
		display: block;
		height: 0;
		padding: 0 0 0 1rem;
		font-size: 0.95rem;
		overflow: hidden;
		transition: .2s;
	}
	footer section:nth-child(1) input:checked + ul li a:any-link {
		height: calc(2.5rem - 0.05rem);
		padding: 0.75rem 0 0.75rem 1rem;
	}
	footer section:nth-child(1) input + ul li a::before {
		content: '-';
		display: inline-block;
		margin-right: 0.5rem;
	}
}

/*------------------------------ フッター 第2セクション ------------------------------*/
footer section:nth-child(2) {
	width: 70rem;
	max-width: calc(100% - 10vw);
	padding: 3rem 0;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
footer section:nth-child(2) > div h1 {
	font-size: 1.125rem;
	margin-bottom: 1rem;
}
footer section:nth-child(2) > div address {
	font-style: normal;
}
footer section:nth-child(2) > div address p {
	font-size: 0.95rem;
	margin: 1rem 0 0.25rem;
	line-height: 1.5;
	word-break: keep-all;
}
footer section:nth-child(2) > div address ul {
	display: flex;
}
footer section:nth-child(2) > div address ul li + li {
	margin-left: 2rem;
}
footer section:nth-child(2) > * + * {
	margin-left: 5vw;
}
footer section:nth-child(2) > p img {
	display: block;
	width: 13.75rem;
	max-width: 60vw;
	height: auto;
}
@media (max-width: 56rem) {
	footer section:nth-child(2) {
		max-width: calc(100% - 5vw);
		flex-direction: column;
		align-items: center;
	}
	footer section:nth-child(2) > * + * {
		margin-left: 0;
		margin-top: 2rem;
	}
	footer section:nth-child(2) > div {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	footer section:nth-child(2) > div h1 {
		margin-bottom: 0;
		font-size: clamp(1rem, 3.5vw, 1.125rem);
		word-break: keep-all;
		text-align: center;
		line-height: 1.25;
	}
	footer section:nth-child(2) > div address p {
		text-align: center;
		font-size: 0.95rem;
	}
	footer section:nth-child(2) > div ul {
		justify-content: center;
		flex-wrap: wrap;
	}
	footer section:nth-child(2) > div ul li {
		margin: 0.25rem 1rem !important;
		font-size: 0.95rem;
	}
}

/*------------------------------ フッター 第3セクション ------------------------------*/
footer section:nth-child(3) {
	border-top: solid thin #222;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 2rem 2rem;
}

footer section:nth-child(3) p.copy {
	display: flex;
	align-items: center;
		font-size: clamp(10px, 1.3vw, 0.8rem);
	line-height: 1.5;
}
footer section:nth-child(3) p.copy img {
	height: 2.5rem;
	width: auto;
	margin-right: 1rem;
}
footer section:nth-child(3) p:last-child {
	font-size: 0.95rem;
	white-space: nowrap;
	margin-left: 2rem;
}
@media (max-width: 56rem) {
	footer section:nth-child(3) {
		justify-content: center;
		padding: 2rem 2.5vw;
	}
	footer section:nth-child(3) p.copy {
		flex-direction: column;
	}
	footer section:nth-child(3) p.copy img {
		height: 3rem;
		margin-bottom: 3rem;
		margin-right: 0;
	}
	footer section:nth-child(3) p:last-child {
		display: none;
	}

}


#back_to_top2 {
	position: absolute;
	bottom: 7rem;
	right: 0.5rem;
}
#back_to_top2 img {
	width: 3rem;
	height: 3rem;
	object-fit: contain;
}
@media (max-width: 56rem) {
	#back_to_top2 {
		bottom: 6rem;
	}
	#back_to_top2 img {
		width: 2.5rem;
		height: 2.5rem;
	}
}


/*======================================================================*/
/*======================================================================*/
/*============================== トップページ ==============================*/
/*======================================================================*/
/*======================================================================*/

/* メイン画像 */
#top_page_main_image {
	margin-top: 5.5rem;	
	width: 100%;
	height: calc(100vh - 5.5rem);
	background: url(./images/mainphoto.jpg) center center;
	background-size: cover;
}
@media(max-width: 70rem) {
	#top_page_main_image {
		margin-top: 3.5rem;
		height: calc(100vh - 3.5rem);
	}
}

#top_page_main_image p {
	width: calc(100% - 5vw);
	margin: 0 auto;
	font-size: clamp(1.5rem, 8.5vw, 4rem);
	font-family: serif;
	font-weight: 400;
	text-align: center;
	line-height: 1.5;
	color: white;
	padding-top: calc(25vh - 5.5rem);
	text-shadow: 0.05em 0.05em 0.09em rgba(0,0,0,0.5);
	word-break: keep-all;
	animation: fadeIn2 2s ease 0s 1 normal;
	position: relative;
}


@keyframes fadeIn2 {
	0% { opacity: 0; top: 8rem; }
	33.333% { opacity: 0; }
	100% { opacity: 1; top: 0; }
}


/* 箱型ナビ */
#top_page_navi {
	background: #EDF5FB;
	padding: 3rem 0 4rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#top_page_navi p {
	font-size: clamp(1rem, 4vw, 1.5rem);
	line-height: 1.5;
	font-weight: 700;
	font-family: serif;
	text-align: center;
	word-break: keep-all;
	max-width: calc(100% - 5vw);
}

#top_page_navi ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 2rem;
}
#top_page_navi ul li {
	margin: 0.5rem;
	width: 11rem;
	height: 11rem;
	position: relative;
	background: white;
}
#top_page_navi ul li a:any-link {
	display: block;
	width: 100%;
	height: 100%;
	border: solid thin #130B66;
}

#top_page_navi ul li img {
	display: block;
	height: 6rem;
	margin: 1.5rem auto 0;
	transition: .2s;
}
@media (hover: hover) {
	#top_page_navi ul li a:hover figure img {
		transform: scale(1.05);
	}
}
#top_page_navi ul li:nth-child(1) img {
	
}
#top_page_navi ul li:nth-child(2) img {
	height: 5rem;
	position: relative;
	top: 1rem;
}
#top_page_navi ul li:nth-child(3) img {
	
}
#top_page_navi ul li:nth-child(4) img {
	
}
#top_page_navi ul li:nth-child(5) img {
	height: 5rem;
	position: relative;
	top: 0.5rem;
	left: 0.4rem;
}

#top_page_navi ul li figure figcaption {
	position: absolute;
	bottom: 1.5rem;
	left: 0;
	width: 100%;
	text-align: center;
}
@media (max-width: 40rem) {
	#top_page_navi ul li {
		margin: 1.5vw;
		width: 26vw;
		height: 26vw;
	}
	#top_page_navi ul li figure figcaption {
		bottom: 4vw;
		font-size: 0.9rem;
	}
	#top_page_navi ul li img {
		height: 12vw;
		margin: 4vw auto 0;
	}
	#top_page_navi ul li:nth-child(2) img {
		height: 10vw;
		top: 2.5vw;
	}
	#top_page_navi ul li:nth-child(5) img {
		height: 10vw;
		top: 2vw;
		left: 1.5vw;
	}
}

/* ニュース小窓 */
#top_page_news div {
	width: 56rem;
	max-width: calc(100% - 10vw);
	margin: 3rem auto 1rem;
	display: flex;
	align-items: flex-start;
}
#top_page_news div h3 {
	flex: none;
}
#top_page_news div ul {
	border-bottom: solid thin #222;
	padding-top: 2.667rem;
	width: 100%;
	flex: 1;
}
#top_page_news div ul li {
	padding: clamp(1.5rem, 4vw, 2rem) 0;
	border-top: solid thin #222;
}
#top_page_news div ul li p:first-child {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}
#top_page_news div ul li p:first-child .date {
	font-size: calc(0.95rem, 3vw, 1rem);
	font-weight: 700;
	letter-spacing: 0;
	margin-right: 1rem;
}
#top_page_news div ul li p:first-child .category {
	font-size: 0.85rem;
	padding: 0.25rem 0;
	width: 7.5rem;
	border: solid thin #222;
	text-align: center;
	border-radius: 1rem;
}
#top_page_news div ul li p:first-child .category.red {
	color: white;
	background: #E00;
	border: solid thin #E00;
}
#top_page_news div ul li h4 {
	font-size: clamp(1rem, 3.5vw, 1.125rem);
	line-height: 1.25;
	margin-bottom: 0.5rem;
	font-weight: 700;
}
#top_page_news div ul li h4 ~ p {
	line-height: 1.75;
	font-size: calc(0.95rem, 3vw, 1rem);
}
#top_page_news div ul li h4 ~ p a:any-link {
	display: inline;
	text-decoration: underline #999;
	text-underline-offset: 3px;
}
#top_page_news div ul li h4 ~ p + p {
	margin-top: 0.75rem;
}

#top_page_news div ul li p.pdf {
	margin-top: 1rem;
}
#top_page_news div ul li p.pdf a:any-link {
	display: flex;
	align-items: center;
}
#top_page_news div ul li h4 ~ p a[href$=".pdf"]::before {
	content: '';
	display: block;
	margin-right: 0.25rem;
	background: url(./images/icon_pdf.svg) center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	height: 1.5rem;
}

#top_page_news > p {
	width: 56rem;
	max-width: calc(100% - 10vw);
	margin: 2rem auto 4rem;
	text-align: right;
}
#top_page_news > p a:any-link {
	display: inline-block;
	background: #83B9E4;
	color: white;
	padding: 1rem 2.5rem;
}
@media (max-width: 56rem) {
	#top_page_news div {
		flex-direction: column;
		align-items: center;
		width: 40rem;
		max-width: calc(100% - 10vw);
		margin-right: 0 auto;
	}
	#top_page_news div h3.typeA {
		text-align: center;
		margin-right: 0;
	}
	#top_page_news > p {
		text-align: center;
	}
}


/*======================================================================*/
/*======================================================================*/
/*============================== 各ページ共通 ==============================*/
/*======================================================================*/
/*======================================================================*/

/* 見出しタイプA */
h3.typeA {
	width: 8rem;
	font-size: 1.25rem;
	line-height: 1.25;
	position: relative;
	text-indent: 0.25em;
	letter-spacing: 0.25em;
	margin-right: 3rem;
}
h3.typeA::after {
	content: '';
	display: block;	
	width: 100%;
	height: 0.333rem;
	background: #83B9E4;
	border-radius: 0.25rem;
	margin-top: 1rem;
}
/* 見出しタイプB */
h3.typeB {
	font-size: 1.25rem;
	line-height: 1.25;
	position: relative;
	text-indent: 0.25em;
	letter-spacing: 0.25em;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto 2rem;
	word-break: keep-all;
	text-align: center;
}
h3.typeB.narrow {
	text-indent: 0.125em;
	letter-spacing: 0.125em;
}
h3.typeB::after {
	content: '';
	display: block;	
	width: 8rem;
	height: 0.333rem;
	background: #83B9E4;
	border-radius: 0.25rem;
	margin-top: calc(1rem - 0.125rem);
}


/* パンくずリスト */
#pankuzu {
	margin-top: 5.5rem;
	height: 2.5rem;
}
#pankuzu ul {
	height: 2.5rem;
	display: flex;
	align-items: center;
	margin: 0 12rem 0 3rem;
}
#pankuzu ul li:nth-child(n+2)::before {
	content: '>';
	display: inline-block;
	margin: 0 0.75rem;
	color: #999;
}
#pankuzu ul li a {
	color: #999;
	font-size: 0.9rem;
}
#pankuzu ul li:last-child a {
	pointer-events: none;
	cursor: default;
}
@media (max-width: 70rem) {
	#pankuzu {
		display: none;
	}
}

section.heading {
	width: 100%;
	height: 25rem;
	background: #999;
}
section.heading.narrow {
	height: 10rem;
}
@media (max-width: 70rem) {
	section.heading {
		margin-top: 3.5rem;
		height: clamp(16rem, 40vw, 20rem);
	}
}

/* タイトル部分 */
section.heading hgroup {
	font-family: serif;
	width: 75rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	padding-bottom: 1rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
section.heading hgroup > * + * {
	margin-top: 0.75rem;
}
section.heading hgroup p {
	color: white;
	font-size: clamp(1rem, 3vw, 1.25rem);
	letter-spacing: 0;
}
section.heading hgroup h2 {
	font-size: clamp(2rem, 5vw, 2.5rem);
	font-weight: 400;
	letter-spacing: 0.2em;
	width: fit-content;
	line-height: 1.125;
	padding: 0.125em 0.25em;
	background: rgba(255,255,255,0.8);
	word-break: keep-all;
}

section.heading hgroup h2.middle {
	font-size: clamp(1.75rem, 5vw, 2.5rem);
}
section.heading hgroup h2.small {
	font-size: clamp(1.5rem, 5vw, 2.5rem);
}
section.heading hgroup h2 ~ p  {
	display: flex;
	flex-wrap: wrap;
	max-width: 40rem;
	font-family: sans-serif;
	font-size: clamp(0.9rem, 2vw, 1.125rem) !important;
}
section.heading hgroup h2 ~ p  span {
	color: #222;
	background: rgba(255,255,255,0.75);
	padding: 0.25rem 0.25rem;
	margin: 0.25rem 0;
	letter-spacing: calc(1rem / 12);
}

/* ページャー */
#pager {
	display: flex;
	justify-content: center;
	max-width: calc(100% - 5vw);
	margin: 0 auto;
	padding: 5rem 0;
	align-items: center;
}
#pager ul {
	display: flex;
	justify-content: center;
	margin: 0 0.5rem
}
#pager ul li a:any-link {
	display: flex;
	width: 2rem;
	height: 2rem;
	justify-content: center;
	align-items: center;
	border: solid thin #222;
	margin: 0.25rem;
	letter-spacing: 0;
	transition: .2s;
}
#pager ul li a.here {
	color: white;
	background: #130B66;
	border: none;
	pointer-events: none;
	cursor: default;
}
#pager ul li a:hover {
	color: white;
	background: #130B66;
	border: none;
	opacity: 0.5;
}
#pager ul li a.no_way {
	pointer-events: none;
	cursor: default;
}
#pager ul:nth-child(2) {
	max-width: calc(100% - 8rem);
	flex-wrap: wrap;
	flex-shrink: 1;
}


/*======================================================================*/
/*======================================================================*/
/*============================== A.R.Mの強み ==============================*/
/*======================================================================*/
/*======================================================================*/

/*------------------------------ タイトル背景画像 ------------------------------*/
#our_service_00 {
	background: url(./images/h2_bg_service.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#our_service_10 {
	background: url(./images/h2_bg_service_1.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#our_service_20 {
	background: url(./images/h2_bg_service_2.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#our_service_30 {
	background: url(./images/h2_bg_service_3.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#our_service_40 {
	background: url(./images/h2_bg_service_4.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#our_service_50 {
	background: url(./images/h2_bg_service_5.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}

/*------------------------------ 目次ページ ------------------------------*/

#our_service_01 {
	padding-top: clamp(2rem, 10vw, 4rem);
	padding-bottom: clamp(1.5rem, 7.5vw, 3rem);
}
#our_service_01 > p:first-child strong {
	display: block;
	font-family: serif;
	font-size: clamp(1.5rem, 6.25vw, 3.25rem);
	margin: 0 auto 2rem;
	text-align: center;
}
#our_service_01 > p:nth-child(n+2) {
	font-size: clamp(0.95rem, 3vw, 1.125rem);
	line-height: 1.75;
	width: 45rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	text-align: justify;
}

#our_service_02::before {
	content: '';
	display: blck;
	width: 20rem;
	height: 3rem;
	position: absolute;
	top: 0;
	left: calc(50% - 10rem);
	border-top: solid 3rem white;
	border-right: solid 10rem rgba(255,255,255,0);
	border-bottom: solid 0 rgba(255,255,255,0);
	border-left: solid 10rem rgba(255,255,255,0);
	box-sizing: border-box;
}

#our_service_02 {
	background: url(./images/service_top_bg.jpg) center center no-repeat #CEF;
	background-size: cover;
	padding-top: 5rem;
	padding-bottom: clamp(2rem, 10vw, 4rem);
	position: relative;
}
#our_service_02 > figure {
	width: 27rem;
	height: 27rem;
	margin: 0 auto 2rem;
}
#our_service_02 > figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
@media (max-width: 30rem) {
	#our_service_02 > figure {
		width: 80vw;
		height: 80vw;
	}
}

#our_service_02 > div {
	display: flex;
	width: 50rem;
	align-items: center;
	max-width: calc(100% - 10vw);
	margin: 3rem auto 0;
	background: #130B66;
	color: white;
	padding: 1.5rem;
}
/* CM コンストラクションマネジメント ⬜︎ */
#our_service_02 > div img {
	display: block;
	width: 9rem;
	height: 9rem;
	border: solid thin white;
	flex: none;
	margin-right: 1rem;
	padding: 0.75rem;
}
#our_service_02 > div p {
	line-height: 1.75;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
@media (max-width: 40rem) {
	#our_service_02 > div {
		flex-direction: column;
		align-items: center;
	}
	#our_service_02 > div img {
		margin-right: 0;
		margin-bottom: 1.25rem;
		margin-top: 0.5rem;
	}
}

#our_service_02 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 50rem;
	max-width: calc(100% - 10vw);
	margin: 2.5rem auto 0;
}
#our_service_02 ul li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 24.5rem;
	height: 4.5rem;
	border: solid calc(1rem / 8) #130B66;
	margin: 0.5rem 0;
	line-height: 1.25;
	padding: 0 1.25rem;
	background: white;
	border-radius: 1.75rem;
	font-size: clamp(1.125rem, 3vw, 1.25rem);
	font-weight: 400;
}
#our_service_02 ul li:first-child a {
	width: 50rem;
}
@media (max-width: 56rem) {
	#our_service_02 ul {
		flex-direction: column;
		align-items: center;
		width: 30rem;
		max-width: calc(100% - 10vw);
	}
	#our_service_02 ul li {
		width: 100%;
	}
	#our_service_02 ul li a,
	#our_service_02 ul li:first-child a {
		width: 100%;
	}
}

#our_service_02 ul li a::after {
	content: '';
	display: block;
	width: 2.25rem;
	height: 2.25rem;
	background: white;
	border: solid thin #130B66;
	border-radius: 50%;
	background: url(./images/icon_yajirushi_b.svg) center center no-repeat;
	background-size: 45% 45%;
	transition: .2s;
}
#our_service_02 ul li a:hover::after {
	background: url(./images/icon_yajirushi_w.svg) center center no-repeat#130B66;
	background-size: 45% 45%;
}

/*------------------------------ 「A.R.Mの強み」下部ページ共通レイアウト ------------------------------*/

/* 可変ナビ */
#our_service_11 ul {
	display: flex;
	flex-wrap: wrap;
	width: calc(56rem + 0.5rem);
	max-width: calc(100% - 5vw + 0.5rem);
	margin: 1rem auto;
}
#our_service_11 ul li {
	background: #130B66;
	margin: 0.25rem;
	min-height: 3.25rem;
	flex-grow: 1;
}
#our_service_11 ul li a:any-link {
	color: white;
	display: block;
	text-align: center;
	padding: 0 0.5rem;
	line-height: 1.25;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(0.9rem, 3vw, 1rem);
}
/* 3均等割ナビ */
#our_service_21 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 56rem;
	max-width: calc(100% - 5vw);
	margin: 1rem auto;
}
#our_service_21 ul li {
	background: #130B66;
	margin: 0.25rem 0;
	width: calc((55.5rem - 1rem) / 3);
}
@media (max-width: 59rem) {
	#our_service_21 ul li {
		width: calc((100% - 0.5rem) / 2);
	}
}
#our_service_21 ul li a:any-link {
	color: white;
	display: block;
	text-align: center;
	padding: 0.75rem 0;
	font-size: clamp(0.9rem, 3vw, 1rem);
}

/* 4均等割ナビ */
#our_service_41 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 56rem;
	max-width: calc(100% - 5vw);
	margin: 1rem auto;
}
#our_service_41 ul li {
	background: #130B66;
	margin: 0.25rem 0;
	width: calc((55.5rem - 1.5rem) / 4);
}
@media (max-width: 59rem) {
	#our_service_41 ul li {
		width: calc((100% - 0.5rem) / 2);
	}
}
#our_service_41 ul li a:any-link {
	color: white;
	display: block;
	text-align: center;
	padding: 0.75rem 0;
	font-size: clamp(0.9rem, 3vw, 1rem);
}

/* コンテンツ */
#our_service_12 ul {
	width: 56rem;
	max-width: calc(100% - 10vw);
	margin: 2rem auto;
	padding-bottom: 1rem;
}

#our_service_12 ul li {
	display: grid;
	grid-template-rows: 5.5rem auto;
	grid-template-columns: 3rem auto 20rem;
	gap: 1rem;
	margin: 3rem 0 4rem;
}
#our_service_12 ul li::before {
	grid-area: 1 / 1 / 3 / 2;
	content: '';
	display: block;
	width: 3rem;
	height: 3rem;
	border: solid thin #130B66;
	background: url(./images/icon_yajirushi_b.svg) center center no-repeat;
	background-size: 45% 45%;
	border-radius: 50%;
}
#our_service_12 ul li h3 {
	grid-area: 1 / 2 / 2 / 3;
	font-size: 1.5rem;
	font-weight: 400;
	position: relative;
	padding-top: 3rem;
}
#our_service_12 ul li h3::before {
	content: '';
	display: block;
	position: absolute;
	top: calc(1.5rem - (3px / 2));
	left: 0;
	width: 3rem;
	height: 3px;
	background: #130B66;
}
#our_service_12 ul li h3::after {
	content: '';
	display: block;
	position: absolute;
	top: calc(1.5rem - (1px / 2));
	left: 0;
	width: 100%;
	height: 1px;
	background: #130B66;
}
#our_service_12 ul li p {
	grid-area: 2 / 2 / 3 / 3;
	line-height: 1.75;
}
#our_service_12 ul li div {
	grid-area: 1 / 3 / 3 / 4;
}
#our_service_12 ul li div img {
	display: block;
	width: 20rem;
	height: auto;
	position: relative;
	top: 1.5rem;
	background: #EEE;
	object-fit: cover;
}

@media (max-width: 56rem) {
	#our_service_12 ul {
		width: 40rem;
		padding-bottom: 0;
	}
	#our_service_12 ul li {
		grid-template-rows: 3.5rem auto auto;
		grid-template-columns: 2rem auto;
		gap: 1rem 0.5rem;
	}
	#our_service_12 ul li::before {
		width: 2rem;
		height: 2rem;
	}
	#our_service_12 ul li h3 {
		padding-top: 2rem;
		font-size: clamp(1.125rem, 4.25vw, 1.5rem);
		line-height: 1.25;
	}
	#our_service_12 ul li h3::before {
		top: calc(1rem - (3px / 2));
	}
	#our_service_12 ul li h3::after {
		top: calc(1rem - (1px / 2));
	}
	#our_service_12 ul li div {
		grid-area: 3 / 2 / 4 / 3;
	}
	#our_service_12 ul li div img {
		width: 100%;
		height: auto;
		position: static;
	}
}

#our_service_12 figure {
	width: 56rem;
	max-width: calc(100% - 5vw);
	margin: 2rem auto 5rem;
	background: #9C9;
}
#our_service_12 figure img {
	display: block;
	width: 100%;
	height: auto;
}

/*======================================================================*/
/*======================================================================*/
/*=============================== 業務事例 ================================*/
/*======================================================================*/
/*======================================================================*/

#works00 {
	background: url(./images/h2_bg_works.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}

#works01 > ul {
	width: 77rem;
	max-width: calc(100% - 5vw);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#works01 > ul li {
	width: calc((77rem - 6rem) / 3);
	margin: 5rem 1rem 0;
	padding-bottom: 0.5rem;
	border-bottom: solid thin #222;
}

#works01 > ul li div img {
	display: block;
	width: calc((77rem - 6rem) / 3);
	height: calc((77rem - 6rem) / 3);
	background: #EEE;
	object-fit: cover;
}
#works01 > ul li div h3 {
	font-size: clamp(1rem, 3vw, 1.125rem);
	margin: 0.75rem 0;
	line-height: 1.25;

	height: 2.667rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
#works01 > ul li div p {
	line-height: 1.5;
	font-size: 0.95rem;
}
#works01 > ul li div h3 + p {
	height: 4rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
#works01 > ul li div:nth-child(2) {
	border-bottom: solid thin #222;
	margin-bottom: 0.5rem;
	padding-bottom: 0.5rem;
}
#works01 > ul::before,
#works01 > ul::after {
	content: '';
	display: block;
	width: calc(77rem / 3);
	height: 0;
	order: 1;
}

@media (max-width: 55rem) {
	#works01 > ul {
		width: 100%;
	}
	#works01 > ul li {
		width: 42vw;
		margin: calc(10vw + 1rem) 2vw 0;
	}
	#works01 > ul li div img {
		width: 100%;
		height: 42vw;
	}
	#works01 > ul::before,
	#works01 > ul::after {
		width: 46vw;
	}

}


/*======================================================================*/
/*======================================================================*/
/*=============================== 会社情報 ================================*/
/*======================================================================*/
/*======================================================================*/

/*------------------------------ タイトル背景画像 ------------------------------*/
#company00 {
	background: url(./images/h2_bg_company.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#company10 {
	background: url(./images/h2_bg_company_outline.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#company20 {
	background: url(./images/h2_bg_company_vision.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#company30 {
	background: url(./images/h2_bg_company_access.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}

/*------------------------------ 経営理念・ご挨拶 ------------------------------*/

#company01 > div,
#company02 > div {
	width: 56rem;
	max-width: calc(100% - 10vw);
	margin: 3rem auto;
	display: flex;
}
#company02 {
	margin-top: 4rem;
}
#company01 > div h3,
#company02 > div h3 {
	flex: none;
}
#company01 > div p {
	flex-grow: 1;
}
#company01 > div p strong {
	display: block;
	font-family: serif;
	font-size: clamp(2rem, 4.5vw, 2.75rem);
	font-weight: 400;
	white-space: nowrap;
	padding-top: 2rem;
}
@media (min-width: 56.001rem) {
	#company01 > div p strong {
		position: relative;
		left: 2.75rem;
	}
}

@media (max-width: 56rem) {
	#company01 > div,
	#company02 > div {
		flex-direction: column;
		align-items: center;
	}
	#company01 > div h3,
	#company02 > div h3 {
		text-align: center;
		margin-right: 0;
	}
	#company01 > div p strong {
		font-size: clamp(1rem, 5.75vw, 2.75rem);
	}
}

#company02 {
	background: url(./images/company_top_bg.jpg) center top 9.25rem no-repeat white; /* 水中の泡の背景*/
	background-size: cover;
	padding-bottom: 2rem;
}
#company02 > div div {
	padding: 1.75rem 3rem 4rem;
	background: white;
	background: url(./images/company_top.svg) right top 3rem no-repeat white; /* Message */
	background-size: 12rem auto;
}
#company02 > div div p {
	line-height: 2;
	text-align: justify;
	font-family: serif;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
#company02 > div div p + p {
	margin-top: 2rem;
}
#company02 > div div p em {
	display: block;
	font-family: serif;
	font-size: 2rem;
	font-weight: 400;
	font-style: normal;
	white-space: nowrap;
	line-height: 1.25;
	text-align: left;
	letter-spacing: 0.25em;
}
#company02 > div div p:last-child {
	text-align: right;
	font-size: 1.25rem;
}
#company02 > div div p:last-child span {
	font-size: 1rem;
	padding-right: 1rem;
}
@media (max-width: 56rem) {
	#company02 > div div {
		background: white;
		padding: 2.5vw 5vw 5vw;
	}
	#company02 > div div p em {
		text-align: center;
		font-size: clamp(1.333rem, 4.5vw, 2rem);
	}

}


/*------------------------------ 会社概要・沿革 ------------------------------*/

#company11 > div,
#company12 > div {
	width: 60rem;
	max-width: calc(100% - 5vw);
	margin: 3rem auto 4rem;
	display: flex;
}
#company12 > div {
	margin-bottom: clamp(4rem, 10vw, 6rem);
}

#company11 > div > h3,
#company12 > div > h3 {
	flex: none;
}

#company11 > div > div,
#company12 > div > div {
	flex-grow: 1;
	padding-top: 2.667rem;
}
#company11 > div > div > table,
#company12 > div > div > table {
	border-collapse: collapse;
	border-top: solid thin #222;
	width: 100%;
}
#company11 th,
#company11 td,
#company12 th,
#company12 td {
	border-bottom: solid thin #222;
	padding: 1rem;
	line-height: 1.5;
	font-size: clamp(0.9rem, 2vw, 0.95rem);
}
#company11 td.dotted,
#company12 td.dotted {
	border-bottom: dotted thin #222;
}
#company11 th,
#company12 th {
	white-space: nowrap;
	background: #E6F1FA; /* 水色 */
	text-align: left;
}

#company11 dl div + div {
	margin-top: 0.75rem;
}
#company11 dl dt,
#company11 dl dd {
	line-height: 1.5;
}
td .disc li {
	list-style: disc outside;
	margin-left: 1.25rem;
}

#company11 td li,
#company12 td li {
	line-height: 1.5;
}
#company11 td li + li,
#company12 td li + li {
	margin-top: 0.25rem;
}

#company11 table table th,
#company11 table table td {
	border: none;
	padding: 0 1rem 0 0;
	vertical-align: top;
	font-weight: 400;
	background: white;
}
#company11 table table td li + li {
	margin-top: 0;
}


#company12 th {
	vertical-align: top;
	padding-top: 1.25rem;
}
#company12 td {
	padding: 0;
}
#company12 td dl div {
	display: flex;
}
#company12 td dl div + div {
	border-top: dotted thin #222;
}
#company12 td dl div dt {
	background: #F3F8FC; /* 薄い水色 */
	width: 3.5rem;
	flex: none;
	padding: 1.25rem 0;
	text-align: center;
	line-height: 1.5;
}
#company12 td dl div dd {
	display: flex;
	align-items: center;
	line-height: 1.5;
	padding: 0 1rem;
}
@media (min-width: 56.001rem) {
	#company11 th br {
		display: none;
	}
	#company12 th br {
		display: none;
	}
}
@media (max-width: 56rem) {
	#company11 > div,
	#company12 > div {
		flex-direction: column;
		align-items: center;
		width: 40rem;
	}
	#company11 > div > div ,
	#company12 > div > div {
		padding-top: 2rem;
	}
	#company11 > div h3,
	#company12 > div h3 {
		margin-right: 0;
		text-align: center;
	}
	#company11 th,
	#company11 td,
	#company12 th,
	#company12 td {
		padding-right: 2.5vw;
		padding-left: 2.5vw;
	}
	#company12 th {
		text-align: center;
		line-height: 1.25;
		padding-top: 0;
		padding-bottom: 0;
		vertical-align: middle;
	}
	#company12 td {
		padding: 0 0;
	}
}

/*------------------------------ 社会・環境ビジョン ------------------------------*/

#company21 > div,
#company22 > div {
	width: 60rem;
	max-width: calc(100% - 5vw);
	margin: 4rem auto clamp(2.5rem, 7.5vw, 4rem);
}

#company21 > div {
	background: #83B9E4;
	padding: 0 1rem 1rem;
}
#company21 > div h3 {
	text-align: center;
	font-size: clamp(1.125rem, 5vw, 2rem);
	font-weight: 400;
	padding: 0.75em 0;
	color: white;
}
#company21 > div div {
	display: flex;
	align-items: center;
	background: white;
}
#company21 > div div > * {
	display: block;
	width: 50%;
	border: solid 1rem white;
}
#company21 > div div > p {
	line-height: 1.75;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
@media (max-width: 56rem) {
	#company21 > div {
		width: 40rem;
	}
	#company21 > div div {
		flex-direction: column;
	}
	#company21 > div div > * {
		width: 100%;
	}
}

#company22 > div > p {
	line-height: 1.75;
	margin: 2rem 2.5vw;
}
#company22 > div ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#company22 > div ul li {
	width: calc((100% - 2rem) / 2);
	border: solid thin #222;
	margin-bottom: 2rem;
}
#company22 > div ul li h4 {
	background: #EEE;
	padding: 1.25rem 1rem;
	font-size: clamp(1.125rem, 3.5vw, 1.25rem);
}
#company22 > div ul li p {
	display: flex;
	margin: 1.5rem 1rem;
	line-height: 1.5;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
#company22 > div ul li img {
	width: 7rem;
	height: 7rem;
	flex: none;
	margin-right: 1rem;
}
@media (max-width: 56rem) {
	#company22 > div {
		width: 40rem;
	}
	#company22 > div ul {
		flex-direction: column;
	}
	#company22 > div ul li {
		width: 100%;
	}
}

/*------------------------------ アクセス ------------------------------*/

#company31 > div {
	display: flex;
	justify-content: space-between;
	width: 60rem;
	width: 1200px; /* ★ */
	max-width: calc(100% - 5vw);
	margin: 3rem auto 5rem;
}
#company31 > div > div {
	width: calc((100% - 3rem) / 2);
}

#company31 > div > div iframe {
	width: 100%;
	height: 29rem;
	max-height: 75vh;
	margin: 2rem 0 0.5rem;
}
#company31 > div > div p {
	margin: 0.5rem 0;
	line-height: 1.5;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
@media (max-width: 56rem) {
	#company31 > div {
		flex-direction: column;
		width: 40rem;
	}
	#company31 > div h3 {
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		
	}
	#company31 > div > div {
		width: 100%;
	}
	#company31 > div > div + div {
		margin-top: 3rem;
	}
}


/*======================================================================*/
/*======================================================================*/
/*=============================== 採用情報 ================================*/
/*======================================================================*/
/*======================================================================*/

/*------------------------------ タイトル背景画像 ------------------------------*/
#recruit00 {
	background: url(./images/h2_bg_recruit.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}

#recruit01,
#recruit02,
#recruit03,
#recruit04,
#recruit05 {
	padding: 3rem 0 0;
}
#recruit01 > div,
#recruit02 > div,
#recruit03 > div,
#recruit04 > div,
#recruit05 > div {
	width: 56rem;
	width: 75rem;
	max-width: calc(100% - 5vw);
	margin: 0 auto;
}
#recruit01 > div {
	width: 56rem;
	max-width: calc(100% - 10vw);
}
#recruit04 > div {
	width: 60rem;
}

/*------------------------------ メッセージ ------------------------------*/
#recruit01 > div p {
	line-height: 2;
	text-align: justify;
	font-size: clamp(1rem, 3vw, 1.125rem);
}


/*------------------------------ 社内風景 ------------------------------*/

#recruit02 > div > ul {
	margin: 2rem 0 4rem;
	display: flex;
	justify-content: space-between;
	width: 100%;
}
@media (max-width: 79rem) {
	#recruit02 > div > ul {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	#recruit02 > div > ul li + li {
		margin-top: 3rem;
	}
}
#recruit02 > div > ul > li {
	width: 36rem;
	display: grid;
	display: grid;
	grid-template-rows: auto auto auto;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem
}
#recruit02 > div > ul > li > h4 {
	grid-area: 1 / 1 / 2 / 4;
}
#recruit02 > div > ul > li div:nth-of-type(1) {
	grid-area: 2 / 1 / 3 / 4;
	width: 100%;
	height: calc((36rem / 4 * 3) + 2rem);
}
#recruit02 > div > ul > li div:nth-of-type(2) {
	grid-area: 3 / 1 / 4 / 2;
}
#recruit02 > div > ul > li div:nth-of-type(3) {
	grid-area: 3 / 2 / 4 / 3;
}
#recruit02 > div > ul > li div:nth-of-type(4) {
	grid-area: 3 / 3 / 4 / 4;
}


#recruit02 > div > ul > li div:nth-of-type(1) figure img {
	display: block;
	width: 100%;
	height: calc(36rem / 4 * 3);
	margin-bottom: 0.25rem;
	background: #CCC;
	object-fit: cover;
}
#recruit02 > div > ul > li div:nth-of-type(1) figure figcaption {
	margin-top: 0.5rem;
}
#recruit02 > div > ul > li div:nth-of-type(2) img,
#recruit02 > div > ul > li div:nth-of-type(3) img,
#recruit02 > div > ul > li div:nth-of-type(4) img {
	display: block;
	width: 100%;
	height: 9rem;
	margin-bottom: 0.25rem;
	background: #CCC;
	object-fit: cover;
}
#recruit02 > div > ul > li div p {
	line-height: 1.25;
}
#recruit02 > div > ul > li div:nth-of-type(2) p,
#recruit02 > div > ul > li div:nth-of-type(3) p,
#recruit02 > div > ul > li div:nth-of-type(4) p {
	font-size: 0.9rem;
}

@media (max-width: 40rem) {
	#recruit02 > div > ul > li {
		width: 90vw;
		gap: 2vw;
	}
	#recruit02 > div > ul > li div:nth-of-type(1)  {
		height: calc((90vw / 4 * 3) + 2rem);
	}
	#recruit02 > div > ul > li div:nth-of-type(1) figure img {
		display: block;
		height: calc(90vw / 4 * 3);
		object-fit: cover;
	}
	#recruit02 > div > ul > li div:nth-of-type(2) img,
	#recruit02 > div > ul > li div:nth-of-type(3) img,
	#recruit02 > div > ul > li div:nth-of-type(4) img {
		height: calc(86vw / 4);
		object-fit: cover;
	}
}





/* 画像切り替えシステム */
#recruit02 > div > ul > li div:nth-of-type(1) {
	position: relative;
}
#recruit02 > div > ul > li div:nth-of-type(1) input {
	display: none;
}
#recruit02 > div > ul > li div:nth-of-type(1) input + figure {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .2s;
}
#recruit02 > div > ul > li div:nth-of-type(1) input:checked + figure {
	opacity: 1;
}
#recruit02 > div > ul > li div:nth-of-type(1) input + figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}













/*------------------------------ スタッフインタビュー ------------------------------*/
#recruit03 {
	background: #E6F1FA; /* 水色 */
	padding: 3.5rem 0 1rem;
}
#recruit03 .personal_block {
	background: white;
	margin: 2.5rem 0;
}
#recruit03 .personal_block + .personal_block {
	margin-top: 5rem;
}

/* 個人データ 奇数レイアウト */
#recruit03 .personal_block:nth-of-type(odd) hgroup {
	display: grid;
	grid-template-rows: 1fr 1fr;
	grid-template-columns: 4rem calc((100% - 8rem) / 10 * 6)  calc((100% - 8rem) / 10 * 4) 4rem;
	grid-template-columns: 10% 45% 35% 10%;
	background: linear-gradient(to right, #F3F3F3, #F3F3F3 75%, #130B66 75.001%, #130B66);
}
#recruit03 .personal_block:nth-of-type(odd) hgroup h4 {
	grid-area: 1 / 2 / 2 / 3;
	display: flex;
	justify-content: flex-start;
	align-items: end;
	padding: 1rem 0.5rem;
	border-bottom: solid thin #222;
}
#recruit03 .personal_block:nth-of-type(odd) hgroup p:nth-of-type(1) {
	grid-area: 2 / 2 / 3 / 3;
	display: flex;
	padding: 1rem 0.5rem;
	line-height: 1.5;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
#recruit03 .personal_block:nth-of-type(odd) hgroup p:nth-of-type(2) {
	grid-area: 1 / 3 / 3 / 4;
}

/* 個人データ 偶数レイアウト */
#recruit03 .personal_block:nth-of-type(even) hgroup {
	display: grid;
	grid-template-rows: 1fr 1fr;
	grid-template-columns: 4rem calc((100% - 8rem) / 10 * 4)  calc((100% - 8rem) / 10 * 6) 4rem;
	grid-template-columns: 10% 35% 45% 10%;
	background: linear-gradient(to left, #F3F3F3, #F3F3F3 75%, #130B66 75.001%, #130B66);
}
#recruit03 .personal_block:nth-of-type(even) hgroup h4 {
	grid-area: 1 / 3 / 2 / 4;
	display: flex;
	justify-content: flex-end;
	align-items: end;
	padding: 1rem 0.5rem;
	border-bottom: solid thin #222;
}
#recruit03 .personal_block:nth-of-type(even) hgroup p:nth-of-type(1) {
	grid-area: 2 / 3 / 3 / 4;
	display: flex;
	justify-content: flex-end;
	padding: 1rem 0.5rem;
	line-height: 1.5;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
#recruit03 .personal_block:nth-of-type(even) hgroup p:nth-of-type(2) {
	grid-area: 1 / 2 / 3 / 3;
}

@media ( max-width: 45rem) {
	#recruit03 .personal_block:nth-of-type(odd) hgroup,
	#recruit03 .personal_block:nth-of-type(even) hgroup {
		grid-template-columns: 0 50%  50% 0;
		background: white;
	}
	#recruit03 .personal_block:nth-of-type(odd) hgroup h4 {
		flex-direction: column;
		justify-content: flex-end;
		align-items: start;
		line-height: 1.25;
		padding: 0.5rem 1rem;
	}
	#recruit03 .personal_block:nth-of-type(even) hgroup h4 {
		flex-direction: column;
		justify-content: flex-end;
		align-items: end;
		line-height: 1.25;
		padding: 0.5rem 1rem;
	}
	#recruit03 .personal_block:nth-of-type(odd) hgroup h4 span:first-child,
	#recruit03 .personal_block:nth-of-type(even) hgroup h4 span:first-child {
		padding-right: 0;
	}
	#recruit03 .personal_block:nth-of-type(odd) hgroup p:nth-of-type(1) {
		flex-direction: column;
		justify-content: flex-start;
		align-items: start;
		font-size: 0.95rem;
		line-height: 1.25;
		padding: 0.5rem;
	}
	#recruit03 .personal_block:nth-of-type(even) hgroup p:nth-of-type(1) {
		flex-direction: column;
		justify-content: flex-start;
		align-items: start;
		font-size: 0.95rem;
		line-height: 1.25;
		padding: 0.5rem;
		margin: 0 0 0 auto;
	}
}

/* テキストの大きさ */
#recruit03 .personal_block hgroup h4 {
	font-size: 1.25rem;
	font-weight: 400;
}
#recruit03 .personal_block hgroup h4 span:first-child {
	font-size: 1rem;
	padding-right: 3rem;
}
#recruit03 .personal_block hgroup h4 strong {
	font-size: 1.75rem;
	padding-right: 1rem;
	position: relative;
	top: 0.125rem;
}
#recruit03 .personal_block hgroup p:nth-of-type(1) span {
	margin-right: 1rem;
}


/* 画像 */
#recruit03 .personal_block hgroup p:nth-of-type(2) img {
	display: block;
	width:100%;
	height: auto;
}



#recruit03 .personal_block dl {
	padding: 2rem 10% 3rem;
}
@media ( max-width: 45rem) {
	#recruit03 .personal_block dl {
		padding: 2rem 2.5vw 3rem;
	}
}
#recruit03 .personal_block dl div + div {
	margin-top: 1.5rem;
}

/* 質問 */
#recruit03 .personal_block dl div dt {
	color: white;
	background: #83B9E4; /* 濃い水色 */
	display: flex;
	align-items: center;
	padding: 1rem 5%;
	font-size: 1.125rem;
	line-height: 1.25;
	border-radius: 1rem 1rem 0 0;
}
@media (max-width: 60rem) {
	#recruit03 .personal_block dl div dt {
		padding: 1rem 2.5vw;
	}
}
#recruit03 .personal_block dl div dt span {
	display: flex;
	width: 2.75rem;
	height: 2.75rem;
	justify-content: center;
	align-items: center;
	font-size: 1.25rem;
	border-radius: 50%;
	background: white;
	color: #83B9E4; /* 濃い水色 */
	letter-spacing: 0;
	line-height: 0;
	margin-right: 2.5%;
	flex: none;
	
}
/* 回答 */
#recruit03 .personal_block dl div dd {
	background: #E6F1FA; /* 水色 */
	display: flex;
	padding: 1rem 5%;
	line-height: 1.75;
	border-radius: 0 0 1rem 1rem;
}
@media (max-width: 60rem) {
	#recruit03 .personal_block dl div dd {
		padding: 1rem 2.5vw;
	}
}
#recruit03 .personal_block dl div dd span {
	display: flex;
	width: 2.75rem;
	height: 2.75rem;
	justify-content: center;
	align-items: center;
	font-size: 1.25rem;
	border-radius: 50%;
	background: #83B9E4; /* 濃い水色 */
	color: white; 
	letter-spacing: 0;
	line-height: 0;
	margin-right: 2.5%;
	flex: none;
	
}

/*------------------------------ 募集要項 ------------------------------*/
#recruit04 table {
	border-collapse: collapse;
	border-top: solid thin #222;
	width: 100%;
}
#recruit04 th,
#recruit04 td {
	border-bottom: solid thin #222;
	padding: 1rem;
	line-height: 1.5;
	font-size: clamp(0.9rem, 2vw, 0.95rem);
}
#recruit04 th {
	white-space: nowrap;
	background: #E6F1FA; /* 水色 */
	text-align: left;
}

#recruit04 td li {
	line-height: 1.5;
}
#recruit04 td li + li {
	margin-top: 0.25rem;
}
@media (max-width: 56rem) {
	#recruit04 th,
	#recruit04 td {
		padding-right: 2.5vw;
		padding-left: 2.5vw;
	}
}



/*------------------------------ 採用に関するお問い合わせ ------------------------------*/
#recruit05 {
	padding: 5rem 0;
}
#recruit05 p {
	text-align: center;
	font-size: 1.25rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}
#recruit05 p::before {
	content: '';
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin-right: 0.5rem;
	background: url(./images/icon_tel_bk.svg) center center no-repeat;
	background-size: contain;
	transform: scale(1.25);
}


/*======================================================================*/
/*======================================================================*/
/*=========================== プライバシーポリシー ===========================*/
/*======================================================================*/
/*======================================================================*/

#privacy00 {
	background: url(./images/h2_bg_privacy.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}

#privacy01 > div {
	width: 56rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	padding: 3rem 0 2rem;
}
#privacy01 > div > p {
	line-height: 1.75;
	text-align: justify;
	margin: 3rem 0;
	font-weight: 700;
}
#privacy01 > div > dl  div {
	margin: clamp(2rem, 7vw, 2.5rem) 0;
}
#privacy01 > div > dl  div dt {
	line-height: 1.25;
	font-size: clamp(1.125rem, 3.5vw, 1.25rem);
	font-weight: 700;
}
#privacy01 > div > dl  div dd {
	line-height: 1.75;
	margin-top: 0.5rem;
	font-size: clamp(0.95rem, 3vw, 1rem);
	text-align: justify;
}
#privacy01 > div > dl  div dd ul li {
	margin: 0.5rem 0 0 0;
	display: flex;
	line-height: 1.5;
}
#privacy01 > div > dl  div dd ul li span {
	flex: none;
	margin-right: 0.5rem;
	margin-left: 0.5rem;
}

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

#contact00 {
	background: url(./images/h2_bg_contact.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#contact01 > div {
	width: 56rem;
	max-width: calc(100% - 5vw);
	margin: 0 auto;
	padding: 3rem 0 2rem;
}
#contact01 > div > p {
	line-height: 1.75;
	padding: 0 min(2.5vw, 1rem);
	text-align: justify;
}
#contact01 > div h3 {
	margin: 3rem 0 2rem;
}

#contact01 > div table {
	border-collapse: collapse;
	width: 100%;
}
/* テーブルth */
#contact01 > div table tr th {
	color: white;
	background: #83B9E4; /* 濃い水色 */
	width: 14rem;
	border-right: solid 0.5rem white;
	border-bottom: solid 0.5rem white;
	padding: 2rem 4rem 1.5rem 0;
	position: relative;
	text-align: right;
	vertical-align: top;
	line-height: 1.25;
	font-weight: 400;
}
#contact01 > div table tr th span.req { /* 必須マーク */
	font-size: 0.75rem;
	padding: 0.125rem 0;
	text-align: center;
	background: #130B66; /* 紺色 */
	width: 2.5rem;
	flex: none;
	margin-left: 0.5rem;
	position: absolute;
	top: 2rem;
	right: 1rem;
}
#contact01 > div table tr th.center {
	padding: 1.5rem 0 1.5rem 0;
	text-align: center;
}

/* テーブルtd */
#contact01 > div table tr td {
	background: #E6F1FA; /* 水色 */
	border-bottom: solid 0.5rem white;
	padding: 1.5rem;
}


#contact01 > div table tr td li + li {
	margin-top: 1rem;
}

#contact01 > div table tr td li {
	display: flex;
	align-items: center;
}
#contact01 > div table tr td li input[type=checkbox] {
	flex: none;
}
#contact01 > div table tr td li label {
	min-width: 3.75rem;
}
#contact01 > div table tr td li input + label + #box1ex { /* 選択肢「その他」のテキスト入力窓 */
	flex-grow: 1;
	opacity: 0;
	transition: .2s;
}
#contact01 > div table tr td li input:checked + label + #box1ex {
	opacity: 1;
}

#contact01 > div table tr td input + label {
	margin: 0 0.5rem;
	font-size: 1.125rem;
	line-height: 1.25;
}
#contact01 > div table tr td input[type=text],
#contact01 > div table tr td input[type=tel],
#contact01 > div table tr td input[type=email],
#contact01 > div table tr td textarea {
	font-size: 1.125rem;
	padding: 0.5rem;
	background: white;
	width: 100%;
	border: none;
}

#contact01 > div table tr td input[type=text]:focus,
#contact01 > div table tr td input[type=tel]:focus,
#contact01 > div table tr td input[type=email]:focus,
#contact01 > div table tr td textarea:focus {
	outline: solid medium #83B9E4; /* 濃い水色 */
}

#contact01 > div table tr td input#zip,
#contact01 > div table tr td input#zip3 {
	width: 9rem;
}
#contact01 > div table tr td textarea {
	display: block;
	height: 16rem;
	line-height: 1.5;
	font-family: sans-serif;
}
#contact01 #address {
	height: 4rem;
	line-height: 1.25;
}
#contact01 > div table tr td select { /* フォーム・セレクト */
	appearance: button;
	padding: 0.5rem;
	border: none;
	font-size: 1.125rem;
	background: white;
	
}
#contact01 > div table tr td dl div + div {
	margin-top: 1rem;
}
#contact01 > div table tr td dl div dt {
	padding-bottom: 0.25rem;
	font-size: 0.95rem;
}

#contact01 > div table tr td.white {
	background: white;
	padding: 0;
}
#contact01 > div table tr td.white p {
	line-height: 1.5;
	padding: 0.5rem 1.5rem;
	font-size: 0.95rem;
}
#contact01 > div table tr td.white p a:any-link {
	text-decoration: underline;
	text-underline-offset: calc(1em / 16 * 3);
}
#contact01 > div table tr td.white div {
	background: #E6F1FA; /* 水色 */
	padding: 1.5rem;
}
@media (max-width: 45rem) {
	#contact01 > div table tr th {
		display: block;
		width: 100%;
		border: none;
		padding: 0.75rem;
		text-align: left;
	}
	#contact01 > div table tr th br {
		display: none;
	}
	#contact01 > div table tr th.center {
		text-align: left;
		padding: 0.75rem;
	}
	#contact01 > div table tr th span.req { /* 必須マーク */
		position: static;
		display: inline-block;
		padding: 0.1rem 0.25rem;
	}
	#contact01 > div table tr td {
		display: block;
		width: 100%;
		border-bottom: solid 2rem white;
		padding: 2.5vw;
	}
}

.confirmation {
	font-size: 1.125rem;
}

/* 送信ボタン */
#submit {
	margin: 2rem 0 5rem;
}
#sbmt_btn,
#sbmt_btn2 {
	display: flex;
	justify-content: center;
	max-width: clac(100% - 10vw);
}
#sbmt_btn button,
#sbmt_btn2 button {
	font-size: 1.125rem;
	display: block;
	margin: 0.5rem;
	padding: 1.25rem 0;
	color: white;
	background: #83B9E4; /* 濃い水色 */
	border: none;
	text-align: center;
	transition: .2s;
}
#sbmt_btn button {
	width: 24rem;
}
#sbmt_btn2 button:nth-of-type(1) {
	width: 6rem;
	background: #CCC;
}
#sbmt_btn2 button:nth-of-type(2) {
	width: 20rem;
}
#sbmt_btn button:hover,
#sbmt_btn2 button:hover {
	filter: brightness(110%);
}


/* 送信OKメッセージ */
#att {
	padding: 2rem 0;
}

#allgreen_message {
	border: solid medium green;
	display: flex;
	padding: 1rem;
	color: green;
	align-items: center;
	line-height: 1.5;
}
#allgreen_message .blink {
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	font-weight: 700;
	font-size: 2rem;
	font-family: serif;
	letter-spacing: 0;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: green;
	margin-right: 1rem;
	flex: none;
}
#allgreen_message strong {
	display: block;
	margin-bottom: 0.25rem;
}

/* 送信NGメッセージ */
#alert_message {
	border: solid medium red;
	display: flex;
	padding: 1rem;
	color: red;
	align-items: center;
	line-height: 1.5;
}
#alert_message .blink {
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	font-weight: 700;
	font-size: 2rem;
	font-family: serif;
	letter-spacing: 0;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: red;
	margin-right: 1rem;
	flex: none;
}



/* 送信完了 */
#contact02 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 40rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	padding: min(20vw, 7.5rem) 0;
}
#contact02 p {
	font-size: 1.125rem;
	line-height: 1.75;
}
#contact02 p + p {
	margin-top: 2rem;
}
#contact02 p strong {
	font-size: clamp(1.25rem, 5vw, 1.75rem);
	font-weight: 400;
}
#contact02 p:nth-last-of-type(1) {
	margin-top: 5rem;
}

/* 電話番号・FAX番号 案内 */
#infobox {
	margin: 4rem 0 clamp(2rem, 10vw, 4rem);
	background: #8DC21F; /* 黄緑色 */
	padding: 1.5rem 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: white;
}
#infobox p {
	line-height: 1.5;
}
#infobox ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0.5rem 0;
}
#infobox ul li {
	width: 19rem;
}
#infobox ul li a:any-link,
#infobox ul li span {
	margin: 0.5rem;
	background: white;
	color: #8DC21F; /* 黄緑色 */
	font-weight: 700;
	font-size: 1.25rem;
	padding: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}
#infobox #contact_tel::before {
	content: '';
	displayu: block;
	width: 1.25rem;
	height: 1.25rem;
	background: url(./images/contact_tel.svg) center center no-repeat;
	background-size: contain;
	transform: scale(1.75);
	margin-right: 1rem;
}
#infobox #contact_fax::before {
	content: '';
	displayu: block;
	width: 1.25rem;
	height: 1.25rem;
	background: url(./images/contact_fax.svg) center center no-repeat;
	background-size: contain;
	transform: scale(1.75);
	margin-right: 1rem;
}


/*======================================================================*/
/*======================================================================*/
/*=============================== お知らせ ================================*/
/*======================================================================*/
/*======================================================================*/

#news00 {
	background: url(./images/h2_bg_news.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}

#news01 {
padding: 3rem 0 0rem;
}
/* カテゴリナビボタン */
#news01 > nav > ul {
	display: flex;
	justify-content: center;
	margin: 2rem 0;
}
#news01 > nav > ul li a {
	display: block;
	width: min(30vw, 11rem);
	padding: 0.5em 0;
	text-align: center;
	border: solid thin #222;
	border-radius: 1.5rem;
	margin: min(0.5vw, 0.75rem);
	font-size: clamp(0.9rem, 2.5vw, 1.125rem);
}
#news01 > nav > ul li a.red {
	color: white;
	background: #E00;
	border: solid thin #E00;
}
/* 記事一覧 */
#news01 > ul {
	border-top: solid thin #222;
	width: 60rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#news01 > ul > li {
	display: flex;
	padding: clamp(1.5rem, 4vw, 2rem) 0;
	border-bottom: solid thin #222;
}
#news01 > ul > li > div:first-child {
	flex: none;
}
#news01 > ul > li > div:first-child span.date {
	font-size: calc(0.95rem, 3vw, 1rem);
	font-weight: 700;
	letter-spacing: 0;
}
#news01 > ul > li > div:first-child span.category {
	font-size: 0.85rem;
	display: inline-block;
	width: 7.5rem;
	padding: 0.25rem 0;
	text-align: center;
	border: solid thin #222;
	border-radius: 1rem;
	margin: 0 2rem 0 0.5rem;
}
#news01 > ul > li > div:first-child span.category.red {
	color: white;
	background: #E00;
	border: solid thin #E00;
}
#news01 > ul > li > div:last-child h4 {
	font-size: clamp(1rem, 3.5vw, 1.125rem);
	line-height: 1.25;
	margin-bottom: 0.5rem;
	font-weight: 700;
}
#news01 > ul > li > div:last-child p {
	font-size: clamp(0.95rem, 3vw, 1rem);
	line-height: 1.75;
	margin-top: 0.75rem;
} 
@media (max-width: 50rem) {
	#news01 > ul > li {
		flex-direction: column;
	}
	#news01 > ul > li > div:first-child {
		margin-bottom: 0.75rem;
	}
}

#news01 > ul > li p a {
	text-decoration: underline #999;
	text-underline-offset: 3px;
}
#news01 > ul > li p.pdf {
	margin-top: 1rem;
}
#news01 > ul > li p.pdf a {
	display: flex;
	align-items: center;
}
#news01 > ul > li p a[href$=".pdf"]::before {
	content: '';
	display: block;
	margin-right: 0.25rem;
	background: url(./images/icon_pdf.svg) center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	height: 1.5rem;
}

/*======================================================================*/
/*======================================================================*/
/*============================== スタッフ日記 ==============================*/
/*======================================================================*/
/*======================================================================*/

#column00 {
	background: url(./images/h2_bg_column.jpg) center center no-repeat #F3F3F3;
	background-size: cover;
}
#column00 p {
color: #999;
}

/*------------------------------ 日記一覧 ------------------------------*/
#column01 {
	padding: 3rem 0 0;
}
#column01 > ul {
	width: calc(75rem + 2rem);
	margin: -3rem auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media (max-width: 80rem) {
	#column01 > ul {
		width: 57.75rem;
		max-width: calc(100% - 5vw);
		justify-content: center;
	}
}
#column01 > ul > li {
	width: calc(77rem / 4);
	margin: 4rem 0 0;
	padding: 0 1rem;
}
#column01 > ul::before,
#column01 > ul::after {
	content: '';
	width: calc(77rem / 4);
	height:0 ;
	order: 1;
}

#column01 > ul > li figure {
	display: block;
	width: calc((77rem /4) - 2rem);
	height: calc((77rem /4) - 2rem);
	background: #EEE;
	border: solid thin #EEE;
	overflow: hidden;
}
#column01 > ul > li figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .5s;
}

/* 画像が無い場合 */
#column01 > ul li figure img.noimage {
	border: solid 5rem #FFF;
	background: #FFF;
	object-fit: contain;
}
@media (hover: hover) {
	#column01 > ul > li figure img:hover {
		transform: scale(1.1);
	}
	#column01 > ul li figure img.noimage:hover {
		transform: scale(1);
	}
}


#column01 > ul li .date {
	font-size: 0.9rem;
	text-align: center;
	padding: 1rem 0 0.5rem;
	border-bottom: solid thin #222;
}
#column01 > ul li h4 {
	font-size: clamp(1rem, 3vw, 1.125rem);
	line-height: 1.25;
	margin: 0.75rem 0 1.25rem;
	height: calc(1.125rem * 1.25 * 2 - 0.25rem);
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
}
#column01 > ul li .hashtag {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
	position: relative;
	top: -0.5rem;
	left: -0.25rem;
}

#column01 > ul li .hashtag li {
	font-size: 0.9rem;
	color: #83B9E4; /* 濃い水色 */
	margin: 0.25rem;
}
#column01 .hashtag.large {
	margin-top: 3.5rem;
	display: flex;
	flex-wrap: wrap;
}
#column01 .hashtag.large li {
	font-size: 1rem;
	color: #83B9E4; /* 濃い水色 */
	margin: 0.5rem;
	text-indent: -0.5rem;
}

@media (max-width: 45rem) {
	#column01 > ul > li {
		width: 44vw;
		margin: calc(10vw + 1rem) 1vw 0;
		padding: 0;
	}
	#column01 > ul > li figure {
		width: 44vw;
		height: 44vw;
	}
	#column01 > ul::before,
	#column01 > ul::after {
		content: '';
		width: 46vw;
		height:0 ;
		order: 1;
	}
	#column01 > ul li figure img.noimage { /* 画像が無い場合 */
		border: solid 12vw white;
	}
}

/*------------------------------ 個別の記事 ------------------------------*/
#column01 article {
	padding: 3rem 0 0;
	width: 45rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto 3rem;
}
#column01 article h4 {
	font-size: clamp(1.25rem, 5vw, 2rem);
	line-height: 1.25;
	display: flex;
	justify-content: center;
	margin: 0 0 3rem 0;
}
#column01 article figure {
	margin: 3rem 0;
}
#column01 article figure img {
	display: block;
	width: 100%;
	height: auto;
	background: #EEE;
	box-shadow: 0.25rem 0.25rem 1rem rgba(0,0,0,0.05);
}

#column01 article figure iframe {
	width: 100%;
	height: calc(45rem / 16 * 9);
}
@media (max-width: 50rem) {
	#column01 article figure iframe {
		height: calc(90vw / 16 * 9);
	}
}

#column01 article figure figcaption {
	display: flex;
	justify-content: center;
	margin: 0.5rem 0;
	line-height: 1.25;
}

#column01 article p {
	margin: 2rem 0;
	line-height: 1.75;
}
#column01 article div.hashtag {
	margin: 4rem 0;
	color: #83B9E4; /* 濃い水色 */
}

/* 関連記事 */

#column01 aside {
	width: 60rem;
	max-width: calc(100% - 6rem);
	border-top: solid thin #222;
	margin: 3rem auto;
}
#column01 aside > h4 {
	font-size: 1.125rem;
	margin: 2rem 0 2rem;
}
#column01 aside ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#column01 aside ul li {
	width: calc((100% - 3rem) / 2);
	margin-bottom: 2rem;
}
#column01 aside ul li a {
	display: grid;
	grid-template-rows: 1.5rem auto auto;
	grid-template-columns: 8rem auto;
	gap: 0.5rem 1rem;
}
@media (max-width: 60rem) {
	#column01 aside {
		width: 45rem;
		max-width: calc(100% - 10vw);
	}
	#column01 aside ul {
		flex-direction: column;
	}
	#column01 aside ul li {
		width: 100%;
	}
}

#column01 aside ul li a img {
	grid-area: 1 / 1 / 4 / 2;
	display: block;
	width: 8rem;
	height: 8rem;
	background: #EEE;
	object-fit: cover;
}
#column01 aside ul li a .date {
	grid-area: 1 / 2 / 2 / 3;
	padding-top: 0.5rem;
}
#column01 aside ul li a h4 {
	grid-area: 2 / 2 / 3 / 3;
	line-height: 1.25;
}
#column01 aside ul li a .hashtag {
	grid-area: 3 / 2 / 4 / 3;
	display: flex;
	align-items: end;
	color: #83B9E4; /* 濃い水色 */
	padding-bottom: 0.5rem;
	font-size: 0.9rem;
}

 

/* 日記一覧に戻るボタン */
#back_button {
	text-align: center;
	margin-top: clamp(3rem, 10vw, 5rem);
	padding: 0 0 4rem;
}
@media (max-width: 60rem) {
	#back_button {
		padding-top: 0;
	}
}
#back_button a:any-link {
	display: inline-block;
	width: 12rem;
	font-size: calc(1rem, 3.5vw, 1.125rem);
	padding: 0.5rem 0;
	text-align: center;
	border: solid thin #222;
	
}