/*------------------------------------------------------------
	2カラム：レイアウト
------------------------------------------------------------*/

@media only screen and (min-width: 813px) {
	
	div#mainLeft {
		min-height: 1210px;
	}
	
}

/*------------------------------------------------------------
	1カラム：About TOP
------------------------------------------------------------*/

#aboutTop {
	background: url('../img/about/bg_about_top.svg') center top no-repeat;
	background-size: 1080px 38px;
	padding-top: 58px;
	margin-bottom: 50px;
}

#aboutTop p.leadTtl {
	font-size: 1.6rem;
	font-weight: 300;
	letter-spacing: 0.15rem;
	color: #40674B;
	text-align: center;
	margin-bottom: 10px;
}

#aboutTop h2 {
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
	text-align: center;
	color: #000;
	position: relative;/* reset */
	top: auto;
	margin: 0 0 30px;
}

#aboutTop h2:after {
	background: #000;
	left: 50%;
	margin-left: -20px;
}

#aboutTop figure.mainVis {
	position: relative;
	z-index: 1;
	padding-top: 10px;
	padding-right: 15px;
	margin-bottom: 30px;
}

#aboutTop figure.mainVis:before {
	content: '';
	background: #ECEFF1;
	width: 50%;
	height: 80%;
	position: absolute;
	bottom: -15px;
	right: 0;
	z-index: -1;
}

/*本校の教育方針*/
#aboutTop .grnBoxArea {
	margin: 20px 0 80px;
}

#aboutTop .grnBoxArea .grnBox02 {
	width: 100%;
	padding: 10px 20px 15px;
	border: #4A895C solid 2px;
	position: relative;
}

#aboutTop .grnBoxArea .grnBox02:not(:last-child) {
	border-bottom: none;
}

#aboutTop .grnBoxArea .grnBox02 p {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.15rem;
	color: #40674B;
	text-align: center;
	border-bottom: 1px solid #40674B;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

#aboutTop .grnBoxArea .grnBox02 img {
	width: 100%;
	height: auto;
	margin: 0 auto 10px;
}

#aboutTop .grnBoxArea ul li {
	text-align: justify;
	padding-left: 12px;
	position: relative;
}

#aboutTop .grnBoxArea .grnBox02 ul li:before {
	font-family: 'fontawesome';
	content: '\f0da';
	color: #40674B;
	position: absolute;
	top: 0;
	left: 2px;
}

#aboutTop .grnBoxArea .grnBox02 ul li:not(:last-child) {
	margin-bottom: 5px;
}


#aboutTop .grnBoxArea .grnBox02 a.button {
	display: block;
	margin: 20px auto 10px;
}

#aboutTop dl.grnBox03 {
	text-align: center;
	position: relative;
}

#aboutTop dl.grnBox03:before {
	content: '';
	background: url('../img/about/down_arrow_l.svg')center top no-repeat;
	background-size: 68px 36px;
	width: 68px;
	height: 36px;
	position: absolute;
	top: -55px;
	left: 50%;
	margin-left: -34px;
}

#aboutTop dl.grnBox03 dt {
	background: #40674B;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	color: #fff;
	padding: 8px 15px;
}

#aboutTop dl.grnBox03 dd {
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	color: #000;
	border: #40674B 2px solid;
	padding: 8px 15px;
}

/*筑波大学の附属校として*/
#aboutTop section#attachedArea {
	margin-top: 20px;
}

#aboutTop section .oneHalf {
	background: #ECEFF1;
	padding: 25px 20px 30px;
}

#aboutTop section .oneHalf dl {
	text-align: center;
	margin-bottom: 15px;
}

#aboutTop section .oneHalf dl dt {
	font-size: 1.3rem;
	color: #1E88E5;
	position: relative;
	margin-bottom: 20px;
}

#aboutTop section .oneHalf dl dt:after {
	content: '';
	background: #1E88E5;
	width: 30px;
	height: 1px;
	letter-spacing: 0.1rem;
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin-left: -15px;
}

#aboutTop section .oneHalf dl dd {
	font-size: 1.4rem;
	color: #000;
}

#aboutTop section .oneHalf p {
	text-align: justify;
}

#aboutTop section .oneHalf a.button {
	background: #1E88E5;
	border: none;
	color: #fff;
	margin: 20px auto 0;
}

#aboutTop section .oneHalf a.button:after {
	background: #1976C7;
}

#aboutTop section figure.oneHalf {
	height: 260px;
	position: relative;
}
	
#aboutTop section figure.oneHalf:first-of-type {
	background: url('../img/about/img_top_05@2x.jpg') center center no-repeat;
	background-size: cover
}

#aboutTop section figure.oneHalf:before {
	content: '';
    border: 20px solid transparent;
    border-bottom: 20px solid #ECEFF1;
	position: absolute;
	bottom: -1px;
	left: 50%;
	margin-left: -20px;
}

#aboutTop section figure.oneHalf:nth-of-type(2) {
	background:url('../img/about/img_top_06@2x.jpg') center center no-repeat;
	background-size: cover
}

#aboutTop section figure.oneHalf:nth-of-type(3) {
	background: url('../img/about/img_top_07@2x.jpg') center center no-repeat;
	background-size: cover
}


@media only screen and (min-width: 812px) {
	
	#aboutTop {
		padding-top: 78px;
		margin-bottom: 70px;
	}

	#aboutTop p.leadTtl {
		font-size: 2rem;
		margin-bottom: 25px;
	}
	
	#aboutTop h2 {
		font-size: 2.6rem;
		margin: 0 0 50px;
	}
	
	#aboutTop figure.mainVis {
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		padding-right: 20px;
		margin-bottom: 40px;
	}
	
	#aboutTop figure.mainVis:before {
		width: 43.5vw;
		height: 25vw;
		max-height: 300px;
		bottom: -20px;
	}
	
	#aboutTop p.txt14 {
		font-size: 1.4rem;
		line-height: 2.2;
		text-align: center;
	}
	
	/*本校の教育方針*/
	#aboutTop .grnBoxArea {
		margin: 30px 0 100px;
	}

	#aboutTop .grnBoxArea .grnBox02 {
		width: calc(100% / 3);
		padding: 20px 30px 100px 30px;
	}	
		
	#aboutTop .grnBoxArea .grnBox02:not(:last-child) {
		border-right: none;
		border-bottom: #4A895C solid 2px;
	}
	
	#aboutTop .grnBoxArea .grnBox02 p {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
	
	#aboutTop .grnBoxArea .grnBox02 img {
		margin-bottom: 15px;
	}
	
	#aboutTop dl.grnBox03 {
		width: 600px;
		margin: 0 auto;
	}
	
	#aboutTop dl.grnBox03:before {
		top: -65px;
	}
	
	#aboutTop dl.grnBox03 dt {
		font-size: 1.9rem;
		letter-spacing: 0.15rem;
		padding: 10px 0;
	}
	
	#aboutTop dl.grnBox03 dd {
		font-size: 1.5rem;
		padding: 15px 0;
	}

	#aboutTop .grnBoxArea ul li {
		font-weight: 300;
	}
	
	#aboutTop .grnBoxArea .grnBox02 a.button {
		position: absolute;
		left: 50%;
		bottom: 30px;
		margin: 0 0 0 -140px;
	}
	
	/*筑波大学の附属校として*/
	
	#aboutTop section#attachedArea {
		width: 1000px;
		margin: 30px auto 0;
	}

	#aboutTop section .oneHalf {
		width: 50%;
		margin: 0;/*reset*/
		padding: 35px 40px 40px;
	}
	
	#aboutTop section .oneHalf dl {
		margin-bottom: 20px;
	}

	#aboutTop section .oneHalf dl dt {
		font-size: 1.5rem;
		margin-bottom: 30px;
	}

	#aboutTop section .oneHalf dl dd {
		font-size: 1.7rem;
/* 		letter-spacing: 0.1rem; */
	}
	
	#aboutTop section figure.oneHalf {
		height: auto;
	}
	
	#aboutTop section figure.oneHalf:before {
	    border: 20px solid transparent;
	    border-bottom: 20px solid transparent;
		bottom: 50%;
		margin: 0 0 -20px;
		
	}
	
	#aboutTop section figure.oneHalf:not(:nth-of-type(2)):before {
	    border-left: 20px solid #ECEFF1;
		left: -1px;
	}
	
	#aboutTop section figure.oneHalf:nth-of-type(2):before {
	    border-right: 20px solid #ECEFF1;
		left: auto;
		right: -1px;
	}


}


/*------------------------------------------------------------
	2カラム：校長写真＆プロフィール
------------------------------------------------------------*/

.principal img {
	width: 35%;
	float: left;
	margin-right: 5%;
}
.principal dl {
	width: 60%;
	float: left;
	color: #000;
}

.principal dl dt {
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1.8;
}

.principal dl dd {
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: 0.3rem;
}

@media only screen and (min-width: 813px) {

	.principal img {
		width: 100%;
		float: none;
		margin: 5px 0 8px;
	}
	
	.principal dl {
		width: 100%;
		float: none;
	}
	.principal dl dt {
		font-size: 1.2rem;
	}
	
	.principal dl dd {
		font-size: 1.9rem;
	}
	
}


/*------------------------------------------------------------
	2カラム：いじめ防止基本方針
------------------------------------------------------------*/

#bullying-prevention {
	border: 1px solid #ddd;
	padding: 15px;
	margin-bottom: 35px;
}

#bullying-prevention p {
	text-indent: 1.2rem;
	margin-bottom: 10px;
}

#bullying-prevention h5 {
	margin-bottom: 0;
}

#bullying-prevention div.downloadBox {
		margin-bottom: 0;
	}


@media only screen and (min-width: 813px) {
	
	#bullying-prevention {
		padding: 20px;
		margin-bottom: 50px;
	}
	
	#bullying-prevention h5 {
		margin-bottom: 5px;
	}
	
	#bullying-prevention div.downloadBox {
		padding: 15px 15px 1px;
	}
	
	#bullying-prevention div.downloadBox a {
		padding: 10px 15px;
	}
	
	#bullying-prevention div.downloadBox a:after {
		content: '';
		background: url('../common/img/bg_pdf_blk.svg') right top no-repeat;
		width: 16px;
		height: 16px;
		position: absolute;
		top: 16px;
		right: 15px;
	}
	
}


/*------------------------------------------------------------
	2カラム：筑波大学との連携
------------------------------------------------------------*/

.page-id-262 .blueBorderBox h5 {
	font-size: 1.3rem;
	margin-bottom: 8px;
	
}

@media only screen and (min-width: 813px) {
	
	.page-id-262 .blueBorderBox h5 {
		font-size: 1.5rem;
		margin-bottom: 10px;
	}

}



/*------------------------------------------------------------
	2カラム：生徒会・自治会
------------------------------------------------------------*/

.page-id-152 .grnBorderBox {
	font-size: 1.2rem;
}

.councilBox .oneHalf {
	margin-bottom: 30px;
	
}

@media only screen and (min-width: 813px) {
	
	.councilBox .oneHalf {
		margin-bottom: 50px;
	}
}


/*------------------------------------------------------------
	進路指導・進学状況
------------------------------------------------------------*/

/*国公立進学状況*/
table.status {
	width: 681px;
	font-size: 1rem;
}

table.status thead th {
	background: #4A895C;
	min-width: 32px;
	font-weight: 500;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	padding: 5px 0 3px;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

table.status thead th.w125 {
	width: 125px;
}

table.status thead th.w100 {
	width: 100px;
}

table.status thead th.w80 {
	width: 80px;
}

table.status tbody tr:nth-child(even) {
	background: #f9f9f9;
}

table.status tbody td {
	text-align: center;
	vertical-align: middle;
	padding: 5px 5px 3px;
	border-right: 1px solid #ddd;
	border-bottom: 1px dotted #ddd;
}

table.status thead th:first-child,
table.status tbody td:first-child {
	border-left: 1px solid #ddd;
}

table.status tbody td.university {
	background: #EBEDEB;
	font-weight: 500;
}

table.status tbody td.bgWht {
	background: #fff;
}

table.status tbody tr.borderSolid td {
	border-top: 1px solid #ddd;
}

table.status tbody tr.borderDouble td {
	background: #DBE7DE;
	font-weight: 500;
	color: #000;
	border-top: 1px solid #4A895C;
	border-bottom: 1px solid #4A895C;
	padding: 10px 0;
}

@media only screen and (min-width: 813px) {
	
	table.status {
		width: 100%;
		font-size: 1.2rem;
	}
	
	table.status thead th {
		padding: 5px 5x;
		min-width: 57px;
	}
	
	table.status thead th.w125 {
		width: 180px;
	}
	
	table.status thead th.w100 {
		width: 130px;
	}
	
	table.status thead th.w80 {
		width: 110px;
	}
	
	table.status tbody td {
		padding: 5px 15px;
		font-weight: 300;
	}
	
}

/*------------------------------------------------------------
	１カラム 総合学習
------------------------------------------------------------*/

.page-id-150 section.borderTB {
	padding: 30px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	
}

@media only screen and (min-width: 813px) {
	
	.page-id-150 section.borderTB {
		padding: 50px 0;
	}
	
}

/*------------------------------------------------------------
	2カラム 学校行事
------------------------------------------------------------*/

.calenderBox {
	border: 1px solid #4A895C;
	border-bottom: none;
	padding: 0;
}

.calenderBox:last-of-type {
	border-bottom: 1px solid #4A895C;
}

.calenderBox p.month {
	background: #f6f6f6;
	font-size: 1.5rem;
	font-weight: 500;
	color: #40674B;
	padding: 8px 0 5px 10px;
	margin-bottom: 0;/*reset*/
}

.calenderBox section {
	padding: 10px 10px 15px;
}

.calenderBox .oneThird ul {
	margin-bottom: 5px;
}

.calenderBox .oneThird ul li {
	color: #000;
}

.calenderBox .oneThird img {
	width: 100%;
	height: auto;
}

.calenderBox .oneThird p {
	font-size: 1.1rem;
	line-height: 1.8;
	margin-bottom: 10px;
}

@media only screen and (max-width: 812px) {

	.calenderBox section .oneThird:nth-child(2){
		width: 48.5%;
		margin-right: 3%;
	}
	
	.calenderBox section .oneThird:nth-child(3) {
		width: 48.5%;	
	}
}

@media only screen and (min-width: 813px) {
	
	.calenderBox section {
		padding: 23px 20px 20px;
	}
	
	.calenderBox p.month {
		font-size: 1.6rem;
		padding: 5px 0 5px 18px;
	}
	
	.calenderBox section .oneThird:nth-child(1) {
		padding-right: 10px;
	}
	
	.calenderBox .oneThird p {
		font-size: 1.2rem;
	}
		
}



/*------------------------------------------------------------
	１カラム 心の成長
------------------------------------------------------------*/

.page-id-198 #mainWide section {
	padding: 0 0 30px;
	border-bottom: 1px solid #ccc;
}

.page-id-198 #mainWide section:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}

.page-id-198 .blueBorderBox ul {
	margin-top: 20px;
}

.page-id-198 .blueBorderBox ul li {
	font-size: 0.9rem;
}

.page-id-198 .blueBorderBox ul li span {
	color: #1E88E5;
}

@media only screen and (min-width: 813px) {
		
	.page-id-198 #mainWide section {
		padding: 20px 0 60px;
	}
	
	.page-id-198 .blueBorderBox ul li {
		font-size: 1.1rem;
	}

	.page-id-198 .grid {
		margin-bottom: 0;
	}
	
}


/*------------------------------------------------------------
	１カラム 施設設備
------------------------------------------------------------*/

@media only screen and (min-width: 813px) {
	
	.page-id-156 figure a img:hover {
		opacity:0.8;
	}

}
/* 「自由闊達」を支える環境と風土：既存1カラム内に限定 */
.environment-culture { color: #333; }
.environment-culture > p, .environment-culture .culture-section > p { line-height: 2; margin: 0 0 1.5em; text-indent: 1em; }
.environment-culture .culture-section { margin-top: 48px; padding-top: 32px; border-top: 1px solid #ddd; }
.environment-culture .culture-figure { margin: 30px 0; padding: 22px; border: 1px solid #bdcdd6; background: #fff; }
.environment-culture figcaption { font-size: 1.6rem; line-height: 1.7; font-weight: 500; margin-bottom: 20px; color: #40674b; }
.environment-culture img { display: block; width: 100%; height: auto; }
.environment-culture .culture-charts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.environment-culture .culture-image-scroll { overflow-x: auto; }
.environment-culture .culture-image-note { font-size: 1.2rem; color: #666; text-align: right; margin-top: 10px; }
.environment-culture > p.culture-source { font-size: 1.3rem; border: 0; padding: 0 0 48px 1em; margin: 36px 0 0; text-indent: -1em; }
@media only screen and (max-width: 812px) {
 .environment-culture .culture-charts { grid-template-columns: 1fr; gap: 24px; }
 .environment-culture .culture-figure { padding: 14px; margin: 24px 0; }
 .environment-culture .culture-section { margin-top: 32px; padding-top: 24px; }
}
#mainWide .environment-culture section.culture-section { display: block; }

/* 多様な特性：説明文と資料1を左右に配置 */
.environment-culture .culture-relationship-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; align-items: start; }
.environment-culture .culture-relationship-text p { line-height: 2; text-indent: 1em; margin: 0 0 1.5em; }
.environment-culture .culture-relationship-columns .culture-traits { margin: 0; padding: 0; min-width: 0; background: #fff; border: none; }
@media only screen and (max-width: 812px) {
 .environment-culture .culture-relationship-columns { grid-template-columns: 1fr; gap: 20px; }
}

/* 資料1：文章と並べて読みやすいコンパクトな表 */
#mainWide .environment-culture table.culture-traits-table { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; font-size: 1.2rem; line-height: 1.65; }
.environment-culture .culture-traits-table caption { text-align: left; color: #40674b; font-size: 1.5rem; font-weight: 500; caption-side: bottom; padding: 12px 0 0; }
.environment-culture .culture-traits-table caption span { display: block; color: #555; font-size: 1.2rem; font-weight: 400; margin-top: 8px; }
#mainWide .environment-culture .culture-traits-table th,
#mainWide .environment-culture .culture-traits-table td { border: 1px solid #d5dfd8; padding: 3px 9px; vertical-align: top; text-align: left; }
#mainWide .environment-culture .culture-traits-table th { width: 28%; background: #f0f5f1; color: #40674b; font-weight: 500; }
#mainWide .environment-culture .culture-traits-table thead th { background: #40674b; color: #fff; }

#mainWide .environment-culture .culture-traits-table tbody th { width: auto; }
@media only screen and (min-width: 813px) {
 .environment-culture .culture-relationship-columns { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
}

/* 図2：イラストと本文を分離して、端末に応じて組み替える */
.environment-culture .culture-spaces-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 24px; }
.environment-culture .culture-space-card { min-width: 0; }
.environment-culture .culture-space-card img { display: block; width: 100%; height: auto; }
.environment-culture .culture-space-card p { margin: 12px 0 0; font-size: 1.3rem; line-height: 1.85; text-indent: 0; overflow-wrap: anywhere; }
@media only screen and (max-width: 812px) {
 .environment-culture .culture-spaces-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
 .environment-culture figure.culture-spaces { padding: 12px; }
 .environment-culture .culture-space-card p { margin-top: 10px; font-size: 1.2rem; line-height: 1.8; }
}

.environment-culture .culture-space-card img { aspect-ratio: 640 / 470; object-fit: contain; }


/* 本文の段落間隔を既存サイトに揃える */
.environment-culture > p,
.environment-culture .culture-section > p,
.environment-culture .culture-relationship-text p {
 margin-bottom: 5px;
}
@media only screen and (min-width: 813px) {
 .environment-culture > p,
 .environment-culture .culture-section > p,
 .environment-culture .culture-relationship-text p {
  margin-bottom: 10px;
 }
}


/* 資料1：特性・割合・質問例を独立したセルで表示 */
#mainWide .environment-culture .culture-traits-table .culture-traits-ratio { text-align: center; }
#mainWide .environment-culture .culture-traits-table .culture-traits-example { overflow-wrap: anywhere; }

/* 割合を2段にし、質問例の幅を確保 */
#mainWide .environment-culture .culture-traits-table thead th:nth-child(1) { width: 23%; }
#mainWide .environment-culture .culture-traits-table thead th:nth-child(2) { width: 14%; }
#mainWide .environment-culture .culture-traits-table thead th:nth-child(3) { width: 63%; }
#mainWide .environment-culture .culture-traits-table td.culture-traits-ratio { padding-left: 2px; padding-right: 2px; }
#mainWide .environment-culture .culture-traits-table td.culture-traits-ratio span { display: block; margin: 0; white-space: nowrap; }

/* 資料1の表下：タイトルを左、説明を右に配置 */
.environment-culture .culture-caption-row { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; }
.environment-culture .culture-traits-table caption .culture-caption-title { flex: 0 0 auto; margin: 0; color: #40674b; font-size: 1.3rem; font-weight: 500; }
.environment-culture .culture-traits-table caption .culture-caption-note { flex: 1 1 auto; margin: 0; text-align: right; white-space: nowrap; font-size: 1.2rem; line-height: 1.65; }
@media only screen and (max-width: 812px) {
 .environment-culture .culture-traits-table caption .culture-caption-note { flex-basis: 100%; white-space: normal; text-wrap: wrap; text-align: left; }
}

/* 図1・図2・表1・表2のタイトルを資料1と同じ文字サイズに統一 */
.environment-culture figcaption.culture-figure-title,
.environment-culture .culture-table-one > figcaption,
.environment-culture .culture-table-two > figcaption { font-size: 1.3rem; }

/* スマートフォンの資料1：セル内に適度な余白を確保 */
@media only screen and (max-width: 812px) {
 #mainWide .environment-culture .culture-traits-table th,
 #mainWide .environment-culture .culture-traits-table td { padding: 8px; }
 #mainWide .environment-culture .culture-traits-table td.culture-traits-ratio { padding-left: 2px; padding-right: 2px; }
}

/* 表1・表2：スマートフォンでは縮小せず横スクロール */
.environment-culture .culture-scroll-hint { display: none; }
@media only screen and (max-width: 812px) {
 #mainWide .environment-culture :is(.culture-table-one, .culture-table-two) .culture-scroll-hint { display: block; margin: 0 0 10px; font-size: 1.2rem; color: #666; text-indent: 0; }
 #mainWide .environment-culture :is(.culture-table-one, .culture-table-two) .culture-image-scroll { width: 100%; max-width: 100%; overflow-x: auto; }
 #mainWide .environment-culture :is(.culture-table-one, .culture-table-two) .culture-image-scroll a { display: block; max-width: none; }
 #mainWide .environment-culture :is(.culture-table-one, .culture-table-two) .culture-image-scroll img { width: 100%; max-width: none; }
}

/* 図表上に重ねるスワイプ案内 */
.environment-culture .culture-scroll-wrap { position: relative; }
.environment-culture .culture-scroll-overlay { display: none; }
@media only screen and (max-width: 812px) {
 #mainWide .environment-culture .culture-scroll-overlay {
  display: flex; position: absolute; inset: 0; width: 100%; height: 100%;
  align-items: center; justify-content: center; border: 0; border-radius: 0;
  padding: 16px; background: rgba(0,0,0,.30); color: #fff;
  font: inherit; text-align: center; cursor: pointer; touch-action: pan-x pan-y;
 }
 #mainWide .environment-culture .culture-scroll-overlay > span { padding: 14px 18px; background: rgba(0,0,0,.7); border-radius: 6px; font-size: 13px; line-height: 1.7; }
 #mainWide .environment-culture .culture-scroll-overlay b { display: block; font-size: 32px; line-height: 1.2; }
 #mainWide .environment-culture .culture-scroll-overlay small { display: block; font-size: 11px; }
 #mainWide .environment-culture .culture-scroll-overlay.is-touched { opacity: 0; }
 #mainWide .environment-culture .culture-scroll-overlay[hidden] { display: none; }
}

/* スマホでは表1の3列目が少し見える幅にし、表2も原画像に対して同じ縮尺にする */
@media only screen and (max-width: 812px) {
 #mainWide .environment-culture .culture-table-one .culture-image-scroll a { width: 192%; }
 #mainWide .environment-culture .culture-table-two .culture-image-scroll a { width: 190.03365%; }
}

/* 新規ページのスマホ見出しを均等に折り返す */
@media only screen and (max-width: 812px) {
 body:has(.environment-culture) #ttlArea h2,
 .environment-culture h4,
 .environment-culture figcaption,
 .environment-culture .culture-caption-title { text-wrap: balance; }
}
