/*
Theme Name: morineko
Description: oneway-hd.com WordPress Block Theme
Version: 1.0.0
Author: oneway-hd.com
Theme URI: https://oneway-hd.com
Author URI: https://oneway-hd.com
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.2
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: morineko
Tags: block-theme, responsive-design, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==== HP/top.css クライアント提供素材 ==== */

/*全体
--------------------------------------------------------------------------*/
body {
	margin: 0;
	padding: 0;
	color: #181f59;
	font-size: 20px;
	font-family: "Noto Sans JP", "Noto Serif", sans-serif;
	font-weight: 400;
	line-height: 150%;
	text-align: center;
	background: #f4f2e5;
}

/*paddingとborderをwidthに含める*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

#con {
	width: 100%;
	max-width: 2000px;
	height: auto;
	margin: 0 auto;
	padding: 0;
	position: relative;
	text-align: center;
}

/* WordPress wp-site-blocks フォールバック対応
   PHPでの置換が失敗した場合のバックアップとして#conと同じスタイルを適用 */
.wp-site-blocks {
	width: 100%;
	max-width: 2000px;
	height: auto;
	margin: 0 auto;
	padding: 0;
	position: relative;
	text-align: center;
}

/*page-top用*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0;
	line-height: 0;
}

img {
	border: 0;
}
@media screen and (max-width: 1280px) {
	img {
		max-width: 100%;
		height: auto;
		width: auto;
	}
}

a:link,
a:visited {
	outline: 0;
	color: #406ec8;
	font-weight: 500;
}

a:hover {
	outline: 0;
	color: #ba9434;
}

a:hover img {
	opacity: 0.8;
	-ms-filter: "alpha(opacity=80)";
}

br.sp,
br.spt,
br.spt2,
.nsp {
	display: inherit;
}
br.sm,
br.smt,
br.smm,
br.smm2,
br.spm,
.nst,
.nss,
br.smm3 {
	display: none;
}
@media only screen and (max-width: 1280px) {
	br.sp,
	br.spm,
	br.smm,
	.smm,
	br.smm2,
	.nsp,
	.nss,
	.nsm,
	br.smm3 {
		display: none;
	}
	br.spt,
	br.sm,
	br.smt,
	.nst {
		display: inherit;
	}
}
@media only screen and (max-width: 640px) {
	br.spt,
	br.smt,
	br.smm2,
	.nsp,
	.nst,
	.nsm,
	.nsm2,
	br.smm3 {
		display: none;
	}
	br.spm,
	br.smm,
	.nss {
		display: inherit;
	}
}
@media only screen and (max-width: 480px) {
	br.spt,
	br.smt,
	.nsp,
	.nst,
	.nsm,
	br.spt2,
	br.smm3 {
		display: none;
	}
	br.spm,
	br.smm,
	br.smm2,
	.nss {
		display: inherit;
	}
}
@media only screen and (max-width: 414px) {
	br.spt,
	br.smt,
	.nsp,
	.nst,
	.nsm,
	br.spt2 {
		display: none;
	}
	br.spm,
	br.smm,
	br.smm2,
	.nss,
	br.smm3 {
		display: inherit;
	}
}

/*ヘッダ
--------------------------------------------------------------------------*/
header {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	position: sticky;
	top: 0;
	background-color: transparent; /* 初期背景色 */
	transition: background-color 0.6s ease-in-out; /* ヘッダー背景色のトランジション */
	z-index: 9999;
}
/* スクロール後のヘッダーのスタイル */
header.scrolled {
	background-color: #fff;
}
header img {
	float: left;
	margin: 15px 0 15px 3%;
	max-width: 15%;
}
@media only screen and (max-width: 1280px) {
	header img {
		float: left;
		margin: 15px 0 15px 3%;
		max-width: 20%;
	}
}
@media only screen and (max-width: 835px) {
header img{
float: left;
margin: 15px 0 15px 3%;
max-width: 25%;
}
}
@media only screen and (max-width: 640px) {
	header img {
		float: left;
		margin: 15px 0 15px 3%;
		max-width: 30%;
	}
}
@media only screen and (max-width: 480px) {
	header img {
		float: left;
		margin: 15px 0 15px 3%;
		max-width: 35%;
	}
}
@media only screen and (max-width: 414px) {
	header img {
		float: left;
		margin: 15px 0 15px 3%;
		max-width:40%;
	}
}

#menu-box {
	float: right;
	width: 60%;
	height: auto;
	margin: 40px 3% 0 0;
	padding: 0;
}
@media only screen and (max-width: 1280px) {
	#menu-box {
		float: right;
		width: 70%;
		height: auto;
		margin: 40px 3% 0 0;
		padding: 0;
	}
}

menu {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

menu ul {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 17px;
	line-height: 100%;
	flex: 1 0 auto;
}
menu li a:link,
menu li a:visited {
	height: auto;
	text-decoration: none;
	color: #fff; /* 初期の色 */
	font-weight: 400;
	line-height: 100%;
	transition: color 0.3s ease-in-out; /* 文字色のトランジション */
}
menu li.mb {
	background: #408753;
	border-radius: 30px;
	margin: -15px 0 0;
	padding: 15px 0;
}
/* スクロール後のメニューリンクのスタイル */
header.scrolled menu li a:link,
header.scrolled menu li a:visited {
	color: #111; /* スクロール後の色 */
}
header.scrolled menu li.mb a:link,
header.scrolled menu li.mb a:visited {
	color: #fff;
}
menu li a:hover {
	text-decoration: underline;
}

@media only screen and (max-width: 1080px) {
	#menu-box {
		clear: both;
		float: none;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	menu {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		height: 100vh;
		margin: 0;
		padding: 0;
		text-align: center;
		position: fixed;
		top: 0;
		background: rgba(12, 54, 56, 0.9);
	}
	menu ul {
		display: inherit;
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		border-top: 1px solid #fff;
	}
	menu li a:link,
	menu li a:visited {
		float: none;
		display: block;
		text-decoration: none;
		color: #fff;
		padding: 25px 0 25px;
		text-align: center;
		line-height: 100%;
		font-size: 17px;
		border-bottom: 1px solid #fff;
	}
	menu li a:hover {
		text-decoration: underline;
	}
	menu li.mb {
		width: 60%;
		background: #408753;
		border-radius: 30px;
		margin: 15px 20% 15px;
		padding: 0;
	}
	menu li.mb a:link,
	menu li.mb a:visited {
		border-bottom: none;
	}
	/* スクロール後のメニューリンクのスタイル */
	header.scrolled menu li a:link,
	header.scrolled menu li a:visited {
		color: #fff; /* スクロール後の色 */
	}
	header.scrolled menu li.mb a:link,
	header.scrolled menu li.mb a:visited {
		color: #fff;
	}
	@media only screen and (max-width: 640px) {
		menu li a:link,
		menu li a:visited {
			float: none;
			display: block;
			text-decoration: none;
			color: #fff;
			padding: 25px 0 25px;
			text-align: center;
			line-height: 100%;
			font-size: 17px;
			background: url(assets/images/menu-li2.png) no-repeat center 10px/2%;
		}
	}
	@media only screen and (max-width: 480px) {
		menu li a:link,
		menu li a:visited {
			float: none;
			display: block;
			text-decoration: none;
			color: #fff;
			padding: 20px 0 20px;
			text-align: center;
			line-height: 100%;
			font-size: 17px;
			background: url(assets/images/menu-li2.png) no-repeat center 10px/3%;
		}
	}
	@media only screen and (max-width: 414px) {
		menu li a:link,
		menu li a:visited {
			float: none;
			display: block;
			text-decoration: none;
			color: #fff;
			padding: 20px 0 20px;
			text-align: center;
			line-height: 100%;
			font-size: 17px;
			background: url(assets/images/menu-li2.png) no-repeat center 10px/4%;
		}
	}

	/*==================================================
　5-2-4 MENUがCLOSEに
===================================*/

	/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
	.openbtn4 {
		float: right;
		position: fixed; /*ボタン内側の基点となるためrelativeを指定*/
		background: #181f59;
		cursor: pointer;
		width: 50px;
		height: 50px;
		border-radius: 5px;
		top: 10px;
		right: 10px;
		z-index: 999;
		border: 2px solid #fff;
	}
	/*ボタン内側*/
	.openbtn4 span {
		display: inline-block;
		transition: all 0.4s; /*アニメーションの設定*/
		position: absolute;
		left: 13px;
		height: 2px;
		border-radius: 5px;
		background: #fff;
		width: 45%;
	}
	.openbtn4 span:nth-of-type(1) {
		top: 11px;
	}
	.openbtn4 span:nth-of-type(2) {
		top: 17px;
	}
	.openbtn4 span:nth-of-type(3) {
		top: 23px;
	}
	.openbtn4 span:nth-of-type(3)::after {
		content: "Menu"; /*3つ目の要素のafterにMenu表示を指定*/
		position: absolute;
		top: 0px;
		left: -5px;
		color: #fff;
		font-size: 0.7rem;
		text-transform: uppercase;
		font-family: "メイリオ", Osaka, "ヒラギノ丸ゴ Pro W4", "ＭＳ Ｐゴシック";
	}
	@media only screen and (max-width: 640px) {
		.openbtn4 span:nth-of-type(3)::after {
			content: "Menu"; /*3つ目の要素のafterにMenu表示を指定*/
			position: absolute;
			top: 0px;
			left: -5px;
			color: #fff;
			font-size: 0.7rem;
			text-transform: uppercase;
			font-family: "メイリオ", Osaka, "ヒラギノ丸ゴ Pro W4", "ＭＳ Ｐゴシック";
		}
	}

	/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
	.openbtn4.active span:nth-of-type(1) {
		top: 12px;
		left: 16px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}
	.openbtn4.active span:nth-of-type(2) {
		opacity: 0;
	}
	.openbtn4.active span:nth-of-type(3) {
		top: 24px;
		left: 16px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}

	.openbtn4.active span:nth-of-type(3)::after {
		content: "Close"; /*3つ目の要素のafterにClose表示を指定*/
		transform: translateY(0) rotate(-45deg);
		top: -1px;
		left: -0px;
		font-size: 0.8rem;
		font-family: "メイリオ", Osaka, "ヒラギノ丸ゴ Pro W4", "ＭＳ Ｐゴシック";
	}
	/*.doneクラスがついたヘッダー*/
	.dnone {
		display: none;
	}
	/*メニューボタンをクリックした際に付与されるpanelactiveクラスがついたら*/
	.dnone.panelactive {
		display: inherit;
	}
}

/*メイン
--------------------------------------------------------------------------*/
.movie_blk,
.movie_blk2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	z-index: 0;
}
.movie_blk video,
.movie_blk2 video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.movie_blk2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50vh;
	overflow: hidden;
	z-index: 0;
}
@media only screen and (max-width: 1440px) {
	.movie_blk2 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 40vh;
		overflow: hidden;
		z-index: 0;
	}
}
@media only screen and (max-width: 835px) {
	.movie_blk2 {
		position: absolute;
		top: 0;
		/* left: -25%; */
		left: 0;
		width: 100%;
		height: 30vh;
		overflow: hidden;
		z-index: 0;
	}
}
@media only screen and (max-width: 640px) {
	.movie_blk2 {
		position: absolute;
		top: 0;
		/* left: -25%; */
		left: 0;
		width: 100%;
		height: 25vh;
		overflow: hidden;
		z-index: 0;
	}
}
@media only screen and (max-width: 480px) {
	.movie_blk2 {
		position: absolute;
		top: 0;
		/* left: -25%; */
		left: 0;
		width: 100%;
		height: 20vh;
		overflow: hidden;
		z-index: 0;
	}
}

#fv {
	clear: both;
	float: left;
	width: 100%;
	height: calc(100vh - 100px);
	margin: 0px 0 0;
	padding: 100px 0 0 3%;
	background: url(assets/images/fv.png) no-repeat left top;
	z-index: 9998;
	position: relative;
}
@media only screen and (max-width: 1080px) {
	#fv {
		clear: both;
		float: left;
		width: 100%;
		height: calc(100vh - 100px);
		margin: 0px 0 0;
		padding: 100px 0 0 3%;
		background: url(assets/images/fv.png) no-repeat left top/70%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 640px) {
	#fv {
		clear: both;
		float: left;
		width: 100%;
		height: calc(100vh - 100px);
		margin: 0px 0 0;
		padding: 30px 0 0 3%;
		background: url(assets/images/fv.png) no-repeat left top/80%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 480px) {
	#fv {
		clear: both;
		float: left;
		width: 100%;
		height: calc(100vh - 100px);
		margin: 0px 0 0;
		padding: 40px 0 0 3%;
		background: url(assets/images/fv.png) no-repeat left top/90%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 414px) {
	#fv {
		clear: both;
		float: left;
		width: 100%;
		height: calc(100vh - 100px);
		margin: 0px 0 0;
		padding: 20px 0 0 3%;
		background: url(assets/images/fv.png) no-repeat left top/95%;
		z-index: 9998;
		position: relative;
	}
}

#fv p {
	font-size: 70px;
	font-weight: 500;
	line-height: 150%;
	margin: 0 0 30px;
	text-align: left;
	color: #fff;
	opacity: 1;
	transform: translateY(0);
}
@media only screen and (max-width: 1280px) {
	#fv p {
		font-size: 60px;
		font-weight: 500;
		line-height: 150%;
		margin: 0 0 30px;
		text-align: left;
		color: #fff;
		opacity: 1;
		transform: translateY(0);
	}
}
@media only screen and (max-width: 1080px) {
	#fv p {
		font-size: 50px;
		font-weight: 500;
		line-height: 150%;
		margin: 0 0 30px;
		text-align: left;
		color: #fff;
		opacity: 1;
		transform: translateY(0);
	}
}
@media only screen and (max-width: 480px) {
	#fv p {
		font-size: 40px;
		font-weight: 500;
		line-height: 130%;
		margin: 0 0 25px;
		text-align: left;
		color: #fff;
		opacity: 1;
		transform: translateY(0);
	}
}

#fv p.js-letter-wrap {
	/* overflow: hidden; */
}
#fv p.js-letter-wrap span {
	opacity: 0;
	display: inline;
}
#fv p.js-letter-wrap br {
	display: block;
}
@keyframes letter-appear {
	to {
		opacity: 1;
	}
}
#fv p.js-letter-wrap.appear span {
	animation: letter-appear 0.45s ease-out forwards;
}

#fv img {
	max-width: 30%;
	position: absolute;
	bottom: 30px;
	right: 0px;
}
@media only screen and (max-width: 1280px) {
	#fv img {
		max-width: 40%;
		position: absolute;
		bottom: 30px;
		right: 0px;
	}
}
@media only screen and (max-width: 1080px) {
	#fv img {
		max-width: 50%;
		position: absolute;
		bottom: 30px;
		right: 0px;
	}
}
@media only screen and (max-width: 640px) {
	#fv img {
		max-width: 80%;
		position: absolute;
		bottom: 0px;
		right: 0px;
	}
}
@media only screen and (max-width: 480px) {
	#fv img {
		max-width: 90%;
		position: absolute;
		bottom: 0px;
		right: 0px;
	}
}

main {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 100px 0 0;
}
main.sub-p {
	padding: 50px 0 0;
}
@media only screen and (max-width: 1080px) {
	main.sub-p {
		padding: 20px 0 0;
	}
}
@media only screen and (max-width: 640px) {
	main.sub-p {
		padding: 0;
	}
}

#about {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 0 50px;
	text-align: left;
	background:
		url(assets/images/about-back.png) no-repeat left top/25% 100%,
		url(assets/images/about-back2.png) no-repeat right 200px/40%;
}
@media only screen and (max-width: 1080px) {
	#about {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0 50px;
		text-align: left;
		background:
			url(assets/images/about-back.png) no-repeat left top/20% 100%,
			url(assets/images/about-back2.png) no-repeat right 200px/40%;
	}
}
@media only screen and (max-width: 835px) {
	#about {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0 30px;
		text-align: left;
		background:
			url(assets/images/about-back-sm.png) no-repeat left top/15% 100%,
			url(assets/images/about-back2.png) no-repeat right 150px/50%;
	}
}
@media only screen and (max-width: 640px) {
	#about {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0 30px;
		text-align: left;
		background:
			url(assets/images/about-back-sm2.png) no-repeat left top/10% 100%,
			url(assets/images/about-back2.png) no-repeat right 100px/60%,
			url(assets/images/about-back2.png) no-repeat right 95%/60%;
	}
}

#about img.about-top {
	float: left;
	max-width: 70%;
}
@media only screen and (max-width: 1080px) {
	#about img.about-top {
		float: left;
		max-width: 80%;
	}
}
@media only screen and (max-width: 835px) {
	#about img.about-top {
		float: left;
		max-width: 90%;
	}
}

#about-title {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 100px 0 0;
	padding: 0 5% 0 30%;
	text-align: left;
}
#about-title img {
	max-width: 55%;
}
@media only screen and (max-width: 1280px) {
	#about-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 80px 0 0;
		padding: 0 5% 0 30%;
		text-align: left;
	}
	#about-title img {
		max-width: 65%;
	}
}
@media only screen and (max-width: 1080px) {
	#about-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 60px 0 0;
		padding: 0 5% 0 25%;
		text-align: left;
	}
	#about-title img {
		max-width: 70%;
	}
}
@media only screen and (max-width: 835px) {
	#about-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 60px 0 0;
		padding: 0 5% 0 20%;
		text-align: left;
	}
	#about-title img {
		max-width: 80%;
	}
}
@media only screen and (max-width: 640px) {
	#about-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 50px 0 0;
		padding: 0 5% 0 15%;
		text-align: left;
	}
}
@media only screen and (max-width: 414px) {
	#about-title img {
		max-width: 90%;
	}
}

#about-title h1 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0 30px;
	padding: 0;
	font-size: 60px;
	line-height: 120%;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
}
#about-title h1.h1s{
font-size: 50px;
}
#about-title p {
	font-size: 40px;
	line-height: 150%;
margin: 0 0 15px;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
}
@media only screen and (max-width: 1860px) {
#about-title h1.h1s{
font-size: 43px;
}
}
@media only screen and (max-width: 1600px) {
#about-title h1.h1s{
font-size: 38px;
}
}
@media only screen and (max-width: 1440px) {
#about-title h1.h1s{
font-size: 32px;
}
}
@media only screen and (max-width: 1280px) {
	#about-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 40px 0 25px;
		padding: 0;
		font-size: 50px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#about-title p {
		font-size: 35px;
		line-height: 150%;
margin: 0 0 15px;
		font-family: "Noto Serif JP", serif;
		font-weight: 600;
	}
}
@media only screen and (max-width: 1080px) {
	#about-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 40px 0 25px;
		padding: 0;
		font-size: 40px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#about-title p {
		font-size: 30px;
		line-height: 150%;
margin: 0 0 15px;
		font-family: "Noto Serif JP", serif;
		font-weight: 600;
	}
}
@media only screen and (max-width: 640px) {
	#about-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 30px 0 20px;
		padding: 0;
		font-size: 32px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#about-title p {
		font-size: 24px;
		line-height: 150%;
margin: 0 0 15px;
		font-family: "Noto Serif JP", serif;
		font-weight: 600;
	}
}
@media only screen and (max-width: 480px) {
	#about-title p {
		font-size:17px;
		line-height: 150%;
margin: 0 0 15px;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
}
@media only screen and (max-width: 414px) {
	#about-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 15px 0 20px;
		padding: 0;
		font-size: 29px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
#about-title p{
font-size: 13px;
line-height: 150%;
margin: 0 0 15px;
font-family: "Noto Serif JP", serif;
font-weight: 700;
}
}

.about-text {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0 0;
	padding: 0 5% 0 30%;
	text-align: left;
}
.about-text p {
	font-size: 20px;
	line-height: 200%;
	margin: 0 0 50px;
	text-align: left;
}
@media only screen and (max-width: 1280px) {
	.about-text p {
		font-size: 17px;
		line-height: 200%;
		margin: 0 0 40px;
		text-align: left;
	}
}
@media only screen and (max-width: 1080px) {
	.about-text {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 50px 0 0;
		padding: 0 5% 0 25%;
		text-align: left;
	}
	.about-text p {
		font-size: 16px;
		line-height: 200%;
		margin: 0 0 35px;
		text-align: left;
	}
}
@media only screen and (max-width: 835px) {
	.about-text {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 40px 0 0;
		padding: 0 5% 0 20%;
		text-align: left;
	}
	.about-text p {
		font-size: 16px;
		line-height: 180%;
		margin: 0 0 30px;
		text-align: left;
	}
}
@media only screen and (max-width: 640px) {
	.about-text {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 30px 0 0;
		padding: 0 5% 0 15%;
		text-align: left;
	}
}
@media only screen and (max-width: 480px) {
	.about-text p {
		font-size: 15px;
		line-height: 180%;
		margin: 0 0 25px;
		text-align: left;
	}
}

#about ul {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 0;
	padding: 0 5% 0 30%;
	text-align: left;
}
#about li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	text-align: left;
	font-size: 25px;
	line-height: 200%;
	font-weight: 700;
}
@media only screen and (max-width: 1080px) {
	#about ul {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 0;
		padding: 0 5% 0 25%;
		text-align: left;
	}
}
@media only screen and (max-width: 835px) {
	#about ul {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 0;
		padding: 0 5% 0 20%;
		text-align: left;
	}
	#about li {
		list-style-type: none;
		margin: 0;
		padding: 0;
		text-align: left;
		font-size: 20px;
		line-height: 200%;
		font-weight: 700;
	}
}
@media only screen and (max-width: 640px) {
	#about ul {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 0;
		padding: 0 5% 0 15%;
		text-align: left;
	}
}
@media only screen and (max-width: 480px) {
	#about li {
		list-style-type: none;
		margin: 0;
		padding: 0;
		text-align: left;
		font-size: 18px;
		line-height: 200%;
		font-weight: 700;
	}
}
@media only screen and (max-width: 414px) {
	#about li {
		list-style-type: none;
		margin: 0;
		padding: 0;
		text-align: left;
		font-size: 16px;
		line-height: 200%;
		font-weight: 700;
	}
}

.marker-container {
	display: inline-block; /* span要素を内包するためinline-blockに変更 */
}
.marker-line {
	background: linear-gradient(transparent 60%, rgba(180, 207, 158) 40%);
	padding: 0 10px 0px;
	display: inline;
	background-repeat: no-repeat;
	background-size: 0% 100%;
	transition: background-size 0.8s ease-in-out var(--delay); /* 遅延を適用 */
}
.marker-line.on {
	background-size: 100% 100%;
}

#what {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 100px 0 0;
padding: 100px 13% 150px 0;
	background:
		url(assets/images/what-back.png) no-repeat right 100px/25% 90%,
		url(assets/images/what-back2.png) no-repeat left top/40%;
}
@media only screen and (max-width: 1440px) {
#what{
padding: 100px 18% 150px 0;
}
}
@media only screen and (max-width: 1280px) {
	#what {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 100px 0 0;
padding: 100px 18% 120px 0;
		background:
			url(assets/images/what-back.png) no-repeat right 100px/25% 90%,
			url(assets/images/what-back2.png) no-repeat left top/40%;
	}
}
@media only screen and (max-width: 1080px) {
	#what {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 70px 0 0;
padding: 100px 18% 120px 0;
		background:
			url(assets/images/what-back.png) no-repeat right 100px/20% 90%,
			url(assets/images/what-back2.png) no-repeat left top/40%;
	}
}
@media only screen and (max-width: 835px) {
	#what {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 70px 0 0;
padding: 100px 13% 80px 0;
		background:
			url(assets/images/what-back-sm2.png) no-repeat right 100px/15% 94%,
			url(assets/images/what-back2.png) no-repeat left top/50%;
	}
}
@media only screen and (max-width: 640px) {
	#what {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 70px 0 0;
padding: 100px 7% 50px 0;
		background:
			url(assets/images/what-back-sm.png) no-repeat right 100px/10% 94%,
			url(assets/images/what-back2.png) no-repeat left top/60%;
	}
}
@media only screen and (max-width: 480px) {
	#what {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 40px 0 0;
padding: 70px 7% 50px 0;
		background:
			url(assets/images/what-back-sm3.png) no-repeat right 70px/10% 94%,
			url(assets/images/what-back2.png) no-repeat left top/60%;
	}
}

#what-title {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 30% 0 5%;
	text-align: left;
}
#what-title img {
	max-width: 70%;
}
@media only screen and (max-width: 1280px) {
	#what-title img {
		max-width: 80%;
	}
}
@media only screen and (max-width: 1080px) {
	#what-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 25% 0 5%;
		text-align: left;
	}
	#what-title img {
		max-width: 90%;
	}
}
@media only screen and (max-width: 835px) {
	#what-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 20% 0 5%;
		text-align: left;
	}
	#what-title img {
		max-width: 95%;
	}
}
@media only screen and (max-width: 640px) {
	#what-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 15% 0 5%;
		text-align: left;
	}
	#what-title img {
		max-width: 100%;
	}
}
@media only screen and (max-width: 480px) {
	#what-title {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 10% 0 5%;
		text-align: left;
	}
}

#what-title h1 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0 10px;
	padding: 0;
	font-size: 60px;
	line-height: 120%;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
}
#what-title p {
	font-size: 40px;
	line-height: 150%;
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
}
@media only screen and (max-width: 1280px) {
	#what-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 50px 0 10px;
		padding: 0;
		font-size: 50px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#what-title p {
		font-size: 35px;
		line-height: 150%;
		margin: 0;
		font-family: "Noto Serif JP", serif;
		font-weight: 600;
	}
}
@media only screen and (max-width: 1080px) {
	#what-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 20px 0 10px;
		padding: 0;
		font-size: 40px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#what-title p {
		font-size: 30px;
		line-height: 150%;
		margin: 0;
		font-family: "Noto Serif JP", serif;
		font-weight: 600;
	}
}
@media only screen and (max-width: 835px) {
	#what-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 20px 0 10px;
		padding: 0;
		font-size: 35px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#what-title p {
		font-size: 25px;
		line-height: 150%;
		margin: 0;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
}
@media only screen and (max-width: 640px) {
	#what-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 20px 0 10px;
		padding: 0;
		font-size: 33px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#what-title p {
		font-size: 24px;
		line-height: 150%;
		margin: 0;
		font-family: "Noto Serif JP", serif;
		font-weight: 600;
	}
}
@media only screen and (max-width: 480px) {
	#what-title h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 20px 0 10px;
		padding: 0;
		font-size: 30px;
		line-height: 120%;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
	#what-title p {
		font-size: 22px;
		line-height: 150%;
		margin: 0;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
}
@media only screen and (max-width: 414px) {
	#what-title p {
		font-size: 20px;
		line-height: 150%;
		margin: 0;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}
}

#fut {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 80px 0 60px;
	padding: 0 15% 0 5%;
	display: flex;
}
@media only screen and (max-width: 1440px) {
	#fut {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 80px 0 60px;
		padding: 0 10% 0 5%;
		display: flex;
	}
}
@media only screen and (max-width: 1080px) {
	#fut {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 60px 0 0px;
		padding: 0 5% 0 5%;
		display: flex;
	}
}
@media only screen and (max-width: 835px) {
	#fut {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 50px 0 0px;
		padding: 0 5% 0 5%;
		display: inherit;
	}
}

.fut-box {
	margin: 0;
	padding: 0;
	flex: 1;
}
.fut-box img {
	max-width: 100%;
	border-bottom: 50px solid #181f59;
}
.fut-box img.bno {
	border-bottom: 50px solid #2e6215;
}
.fut-box img.bb {
	display: none;
}
@media only screen and (max-width: 1080px) {
	.fut-box img {
		max-width: 100%;
		border-bottom: 40px solid #181f59;
	}
	.fut-box img.bno {
		border-bottom: 40px solid #2e6215;
	}
}
@media only screen and (max-width: 835px) {
	.fut-box {
		margin: 0;
		padding: 0;
		display: inherit;
		text-align: left;
	}
	.fut-box img {
		display: none;
		max-width: 70%;
		border-bottom: 30px solid #181f59;
	}
	.fut-box img.bno {
		border-bottom: 30px solid #2e6215;
	}
	.fut-box img.bb {
		display: inherit;
		max-width: 100%;
	}
}

.fut-text {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: -6px 0 0;
	padding: 15px 0 15px;
	text-align: left;
	background: #f4f2e5;
}
.fut-box .fut-text img {
	border-bottom: none;
	max-width: 60%;
	margin: 0 0 20px;
}
@media only screen and (max-width: 835px) {
	.fut-text {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 15px 0 15px;
		text-align: left;
		background: #f4f2e5;
	}
	.fut-box .fut-text img {
		display: inherit;
		border-bottom: none;
		max-width: 60%;
		margin: 0 0 20px;
	}
}

#fut h2 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	text-align: left;
	font-size: 32px;
	line-height: 120%;
	font-weight: 700;
}
@media only screen and (max-width: 1440px) {
	#fut h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0;
		text-align: left;
		font-size: 30px;
		line-height: 120%;
		font-weight: 700;
	}
}
@media only screen and (max-width: 1280px) {
	#fut h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0 2% 0 0;
		text-align: left;
		font-size: 25px;
		line-height: 120%;
		font-weight: 700;
	}
}
@media only screen and (max-width: 1080px) {
	#fut h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0 2% 0 0;
		text-align: left;
		font-size: 22px;
		line-height: 120%;
		font-weight: 700;
	}
}
@media only screen and (max-width: 835px) {
	#fut h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 10px;
		padding: 0;
		text-align: left;
		font-size: 30px;
		line-height: 120%;
		font-weight: 700;
	}
}
@media only screen and (max-width: 640px) {
	#fut h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 10px;
		padding: 0;
		text-align: left;
		font-size: 25px;
		line-height: 120%;
		font-weight: 700;
	}
}
@media only screen and (max-width: 414px) {
	#fut h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 10px;
		padding: 0;
		text-align: left;
		font-size: 22px;
		line-height: 120%;
		font-weight: 700;
	}
}

#fut p {
	font-size: 20px;
	line-height: 200%;
margin: 0 10% 0 0;
	text-align: left;
}
#fut p.pt{
min-height: 260px;
}
@media only screen and (max-width: 1440px) {
	#fut p {
		font-size: 16px;
		line-height: 200%;
margin: 0 10% 0 0;
		text-align: left;
	}
#fut p.pt{
min-height: 230px;
}
}
@media only screen and (max-width: 1280px) {
	#fut p {
		font-size: 16px;
		line-height: 180%;
margin: 0 10% 0 0;
		text-align: left;
	}
}
@media only screen and (max-width: 835px) {
	#fut p {
		font-size: 18px;
		line-height: 180%;
		margin: 0 5% 0 0;
		text-align: left;
	}
#fut p.pt{
min-height: auto;
}
}
@media only screen and (max-width: 640px) {
	#fut p {
		font-size: 16px;
		line-height: 180%;
		margin: 0 5% 0 0;
		text-align: left;
	}
}
@media only screen and (max-width: 414px) {
	#fut p {
		font-size: 15px;
		line-height: 180%;
		margin: 0 5% 0 0;
		text-align: left;
	}
}

.fut-text a:link,.fut-text a:visited{
display: block;
width: 90%;
margin: 30px 10% 0 0;
border: 1px solid #181f59;
background: #fff;
border-radius: 50px;
text-decoration: none;
text-align: center;
color: #181f59;
}
@media only screen and (max-width: 480px) {
.fut-text a:link,.fut-text a:visited{
display: block;
width: 95%;
margin: 30px 5% 0 0;
border: 1px solid #181f59;
background: #fff;
border-radius: 50px;
text-decoration: none;
text-align: center;
color: #181f59;
}
}

#news-back {
	clear: both;
	float: left;
	width: 70%;
	height: auto;
	margin: 80px 15% 100px;
	padding: 50px 0 0;
	background: url(assets/images/news-title-back.png) no-repeat 10% top/30%;
}
#news {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 0 60px;
	background: #fff;
	text-align: left;
}
#news img {
	max-width: 30%;
	margin: -80px 0 0 5%;
}
@media only screen and (max-width: 1600px) {
	#news-back {
		clear: both;
		float: left;
		width: 70%;
		height: auto;
		margin: 80px 15% 100px;
		padding: 50px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 10% top/25%;
	}
	#news img {
		max-width: 25%;
		margin: -50px 0 0 5%;
	}
}
@media only screen and (max-width: 1440px) {
	#news-back {
		clear: both;
		float: left;
		width: 80%;
		height: auto;
		margin: 60px 10% 80px;
		padding: 30px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 10% top/25%;
	}
	#news img {
		max-width: 25%;
		margin: -50px 0 0 5%;
	}
}
@media only screen and (max-width: 1280px) {
	#news-back {
		clear: both;
		float: left;
		width: 90%;
		height: auto;
		margin: 60px 5% 80px;
		padding: 30px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 10% top/20%;
	}
	#news img {
		max-width: 20%;
		margin: -40px 0 0 5%;
	}
}
@media only screen and (max-width: 1080px) {
	#news-back {
		clear: both;
		float: left;
		width: 90%;
		height: auto;
		margin: 60px 5% 80px;
		padding: 25px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 10% top/25%;
	}
	#news {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0 40px;
		background: #fff;
		text-align: left;
	}
	#news img {
		max-width: 25%;
		margin: -35px 0 0 5%;
	}
}
@media only screen and (max-width: 835px) {
	#news-back {
		clear: both;
		float: left;
		width: 90%;
		height: auto;
		margin: 30px 5% 60px;
		padding: 25px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 10% top/30%;
	}
	#news img {
		max-width: 30%;
		margin: -35px 0 0 5%;
	}
}
@media only screen and (max-width: 640px) {
	#news-back {
		clear: both;
		float: left;
		width: 90%;
		height: auto;
		margin: 30px 5% 60px;
		padding: 30px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 10% top/35%;
	}
	#news img {
		max-width: 35%;
		margin: -15px 0 0 5%;
	}
}
@media only screen and (max-width: 480px) {
	#news-back {
		clear: both;
		float: left;
		width: 90%;
		height: auto;
		margin: 10px 5% 50px;
		padding: 30px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 12% top/40%;
	}
	#news img {
		max-width: 40%;
		margin: -15px 0 0 5%;
	}
}
@media only screen and (max-width: 414px) {
	#news-back {
		clear: both;
		float: left;
		width: 90%;
		height: auto;
		margin: 10px 5% 50px;
		padding: 25px 0 0;
		background: url(assets/images/news-title-back.png) no-repeat 12% top/40%;
	}
}

#news ul {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0 30px;
	padding: 0 10%;
}
#news li {
	list-style-type: none;
	margin: 0 0 15px;
	padding: 0 0 15px;
	text-align: left;
	font-size: 20px;
	line-height: 120%;
	border-bottom: 1px solid #181f59;
}
#news li a:link,
#news li a:visited {
	text-decoration: none;
	color: #181f59;
	font-weight: 400;
}
#news li a:hover {
	color: #2e6215;
}
@media only screen and (max-width: 1080px) {
	#news ul {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 50px 0 20px;
		padding: 0 5%;
	}
	#news li {
		list-style-type: none;
		margin: 0 0 15px;
		padding: 0 0 15px;
		text-align: left;
		font-size: 17px;
		line-height: 120%;
		border-bottom: 1px solid #181f59;
	}
}
@media only screen and (max-width: 835px) {
	#news ul {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 30px 0 20px;
		padding: 0 5%;
	}
	#news li {
		list-style-type: none;
		margin: 0 0 15px;
		padding: 0 0 15px;
		text-align: left;
		font-size: 16px;
		line-height: 120%;
		border-bottom: 1px solid #181f59;
	}
}
@media only screen and (max-width: 640px) {
	#news li {
		list-style-type: none;
		margin: 0 0 15px;
		padding: 0 0 15px;
		text-align: left;
		font-size: 15px;
		line-height: 120%;
		border-bottom: 1px solid #181f59;
	}
}
@media only screen and (max-width: 480px) {
	#news ul {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 20px 0 20px;
		padding: 0 5%;
	}
	#news li {
		list-style-type: none;
		margin: 0 0 15px;
		padding: 0 0 15px;
		text-align: left;
		font-size: 14px;
		line-height: 120%;
		border-bottom: 1px solid #181f59;
	}
}

#news h3 {
	display: inline;
	clear: none;
	margin: 0 0 0 3%;
	padding: 0;
	text-align: left;
	line-height: 120%;
	font-weight: 400;
	font-size: 20px;
}
@media only screen and (max-width: 1080px) {
	#news h3 {
		display: inline;
		clear: none;
		margin: 0 0 0 3%;
		padding: 0;
		text-align: left;
		line-height: 120%;
		font-weight: 400;
		font-size: 17px;
	}
}
@media only screen and (max-width: 835px) {
	#news h3 {
		clear: both;
		display: inherit;
		margin: 0;
		padding: 0;
		text-align: left;
		line-height: 120%;
		font-weight: 400;
		font-size: 16px;
	}
}
@media only screen and (max-width: 640px) {
	#news h3 {
		clear: both;
		display: inherit;
		margin: 0;
		padding: 0;
		text-align: left;
		line-height: 120%;
		font-weight: 400;
		font-size: 15px;
	}
}
@media only screen and (max-width: 480px) {
	#news h3 {
		clear: both;
		display: inherit;
		margin: 0;
		padding: 0;
		text-align: left;
		line-height: 120%;
		font-weight: 400;
		font-size: 14px;
	}
}

#news p {
	clear: both;
	margin: 0;
	font-size: 17px;
	text-align: center;
	line-height: 100%;
}
#news p a:link,
#news p a:visited {
	border: 1px solid #181f59;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 400;
	padding: 5px 30px;
	color: #181f59;
}
#news p a:hover {
	background: #181f59;
	color: #fff;
}
@media only screen and (max-width: 1080px) {
	#news p {
		clear: both;
		margin: 0;
		font-size: 15px;
		text-align: center;
		line-height: 100%;
	}
}

#contact {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 120px 0 120px;
	background: #181f59;
	text-align: center;
}
@media only screen and (max-width: 1280px) {
	#contact {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 100px 0 100px;
		background: #181f59;
		text-align: center;
	}
}
@media only screen and (max-width: 835px) {
	#contact {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 80px 0 80px;
		background: #181f59;
		text-align: center;
	}
}
@media only screen and (max-width: 640px) {
	#contact {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 60px 0 60px;
		background: #181f59;
		text-align: center;
	}
}

#contact-box {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 20%;
	text-align: center;
}
#contact img {
	max-width: 60%;
	margin: 0 0 10px;
}
@media only screen and (max-width: 835px) {
	#contact-box {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 5%;
		text-align: center;
	}
	#contact img {
		max-width: 60%;
		margin: 0 0 10px;
	}
}
@media only screen and (max-width: 414px) {
	#contact img {
		max-width: 70%;
		margin: 0 0 10px;
	}
}

#contact h4 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 0;
	text-align: center;
	line-height: 100%;
	color: #fff;
	font-size: 50px;
	font-weight: 700;
	font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 1280px) {
	#contact h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 50px;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 40px;
		font-weight: 700;
		font-family: "Noto Serif JP", serif;
	}
}
@media only screen and (max-width: 1080px) {
	#contact h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 50px;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 35px;
		font-weight: 700;
		font-family: "Noto Serif JP", serif;
	}
}
@media only screen and (max-width: 835px) {
	#contact h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 50px;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 30px;
		font-weight: 700;
		font-family: "Noto Serif JP", serif;
	}
}
@media only screen and (max-width: 640px) {
	#contact h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 25px;
		font-weight: 700;
		font-family: "Noto Serif JP", serif;
	}
}

#contact p {
	clear: both;
	margin: 0;
	font-size: 35px;
	text-align: center;
	line-height: 100%;
}
#contact p a:link,
#contact p a:visited {
	border-radius: 50px;
	text-decoration: none;
	font-weight: 400;
	padding: 0px 80px 5px;
	color: #fff;
	background: #28733c;
}
#contact p a:hover {
	background: #b4cf9e;
	color: #28733c;
}
@media only screen and (max-width: 1280px) {
	#contact p {
		clear: both;
		margin: 0;
		font-size: 30px;
		text-align: center;
		line-height: 100%;
	}
}
@media only screen and (max-width: 1080px) {
	#contact p {
		clear: both;
		margin: 0;
		font-size: 25px;
		text-align: center;
		line-height: 100%;
	}
}
@media only screen and (max-width: 414px) {
	#contact p {
		clear: both;
		margin: 0;
		font-size: 20px;
		text-align: center;
		line-height: 100%;
	}
}

#map {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
#map iframe {
	display: block;
	clear: both;
	width: 100%;
	height: 400px;
	margin: 0;
	padding: 0;
}
@media only screen and (max-width: 835px) {
	#map iframe {
		clear: both;
		width: 100%;
		height: 350px;
		margin: 0;
		padding: 0;
	}
}
@media only screen and (max-width: 640px) {
	#map iframe {
		clear: both;
		width: 100%;
		height: 300px;
		margin: 0;
		padding: 0;
	}
}
@media only screen and (max-width: 480px) {
	#map iframe {
		clear: both;
		width: 100%;
		height: 250px;
		margin: 0;
		padding: 0;
	}
}

/* フェードイン(基本) */
.js-fadeUp {
	opacity: 0;
	transform: translateY(50px);
	transition:
		opacity 0.8s,
		transform 1.2s;
}
.js-fadeUp.is-inview {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.4s;
}

/* フェードイン(マーカー下の文章) */
.js-fadeUp2 {
	opacity: 0;
	transform: translateY(50px);
	transition:
		opacity 0.8s,
		transform 1.2s;
}
.js-fadeUp2.is-inview {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 2.5s;
}

/* フェードイン(FV画像) */
.js-fadeUp3 {
	opacity: 0;
	transform: translateY(150px);
	transition:
		opacity 0.8s,
		transform 1.2s;
}
.js-fadeUp3.is-inview {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 1s;
}

/* フロントページ 追加 */
#news .ohd-p-news--front .ohd-p-news__list li {
	display: flex;
	gap: 0;
}

@media only screen and (max-width: 835px) {
	#news .ohd-p-news--front .ohd-p-news__list li {
		flex-direction: column;
	}
}

#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__date,
#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__title {
	font-size: 20px;
	width: 15%;
	line-height: 1.5;
	margin: 0;
}

@media only screen and (max-width: 1080px) {
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__date,
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__title {
		font-size: 17px;
	}
}

@media only screen and (max-width: 835px) {
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__date,
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__title {
		font-size: 16px;
	}
}

@media only screen and (max-width: 640px) {
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__date,
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__title {
		font-size: 15px;
	}
}

@media only screen and (max-width: 480px) {
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__date,
	#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__title {
		font-size: 14px;
	}
}

#news .ohd-p-news--front .ohd-p-news__list li .ohd-p-news__title {
	width: 85%;
}

/*下層ページ
--------------------------------------------------------------------------*/
#sub-title {
	clear: both;
	float: left;
	width: 100%;
	height: 300px;
	margin: 0px 0 0;
	padding: 0px 0 0;
	background: url(assets/images/fv.png) no-repeat left bottom/33%;
	z-index: 9998;
	position: relative;
}
@media only screen and (max-width: 1440px) {
	#sub-title {
		clear: both;
		float: left;
		width: 100%;
		height: 250px;
		margin: 0px 0 0;
		padding: 0px 0 0;
		background: url(assets/images/fv.png) no-repeat left bottom/33%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 1280px) {
	#sub-title {
		clear: both;
		float: left;
		width: 100%;
		height: 200px;
		margin: 0px 0 0;
		padding: 0px 0 0;
		background: url(assets/images/fv.png) no-repeat left bottom/33%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 1080px) {
	#sub-title {
		clear: both;
		float: left;
		width: 100%;
		height: 150px;
		margin: 0px 0 0;
		padding: 0px 0 0;
		background: url(assets/images/sub-title.png) no-repeat left center/80%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 835px) {
	#sub-title {
		clear: both;
		float: left;
		width: 100%;
		height: 120px;
		margin: 0px 0 0;
		padding: 0px 0 0;
		background: url(assets/images/sub-title.png) no-repeat left center/80%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 640px) {
	#sub-title {
		clear: both;
		float: left;
		width: 100%;
		height: 100px;
		margin: 0px 0 0;
		padding: 0px 0 0;
		background: url(assets/images/sub-title.png) no-repeat left center/90%;
		z-index: 9998;
		position: relative;
	}
}
@media only screen and (max-width: 414px) {
	#sub-title {
		clear: both;
		float: left;
		width: 100%;
		height: 100px;
		margin: 0px 0 0;
		padding: 0px 0 0;
		background: url(assets/images/sub-title.png) no-repeat left center/100%;
		z-index: 9998;
		position: relative;
	}
}

#sub-title h1 {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 110%;
	font-size: 100px;
	font-weight: 600;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#sub-title h1 span {
	font-size: 30px;
	font-weight: 400;
	line-height: 110%;
}
@media only screen and (max-width: 1440px) {
	#sub-title h1 {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 110%;
		font-size: 80px;
		font-weight: 600;
		color: #fff;
	}
	#sub-title h1 span {
		font-size: 25px;
		font-weight: 400;
		line-height: 110%;
	}
}
@media only screen and (max-width: 1080px) {
	#sub-title h1 {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 110%;
		font-size: 60px;
		font-weight: 600;
		color: #fff;
	}
	#sub-title h1 span {
		font-size: 20px;
		font-weight: 400;
		line-height: 110%;
	}
}
@media only screen and (max-width: 640px) {
	#sub-title h1 {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 120%;
		font-size: 45px;
		font-weight: 600;
		color: #fff;
	}
	#sub-title h1 span {
		font-size: 15px;
		font-weight: 400;
		line-height: 120%;
	}
}
@media only screen and (max-width: 480px) {
	#sub-title h1 {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 130%;
		font-size: 30px;
		font-weight: 600;
		color: #fff;
	}
	#sub-title h1 span {
		font-size: 13px;
		font-weight: 400;
		line-height: 130%;
	}
}

#sub-page {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 20px 10% 0;
	text-align: left;
	background: #f4f2e5;
	z-index: 9998;
	position: relative;
}
@media only screen and (max-width: 1440px) {
	#sub-page {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 20px 5% 0;
		text-align: left;
		background: #f4f2e5;
		z-index: 9998;
		position: relative;
	}
}

#sub-page-nav {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
}
#sub-page-nav ul {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
#sub-page-nav li {
	float: left;
	list-style-type: none;
	text-align: left;
	margin: 0 1% 0 0;
	padding: 0;
	font-size: 15px;
	line-height: 100%;
}
#sub-page-nav li a:link,
#sub-page-nav li a:visited {
	text-decoration: underline;
	color: #181f59;
}
@media only screen and (max-width: 835px) {
	#sub-page-nav li {
		float: left;
		list-style-type: none;
		text-align: left;
		margin: 0 1% 0 0;
		padding: 0;
		font-size: 13px;
		line-height: 100%;
	}
}
@media only screen and (max-width: 640px) {
	#sub-page-nav li {
		float: left;
		list-style-type: none;
		text-align: left;
		margin: 0 1% 0 0;
		padding: 0;
		font-size: 13px;
		line-height: 150%;
	}
}

#sub-main {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 15% 50px;
}
@media only screen and (max-width: 1280px) {
	#sub-main {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 10% 50px;
	}
}
@media only screen and (max-width: 1080px) {
	#sub-main {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 5% 50px;
	}
}
@media only screen and (max-width: 835px) {
	#sub-main {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0% 40px;
	}
}

/*ブログ
--------------------------------------------------------------------------*/
#blog {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 50px 2% 50px 3%;
	background: #fff;
}
@media only screen and (max-width: 835px) {
	#blog {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 30px 3% 0 3%;
		background: #fff;
	}
}

.blog-archive ul,
.blog-news {
	clear: both;
	float: left;
	width: 70%;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
}

.blog-news {
	flex-direction: column;
}

@media only screen and (max-width: 835px) {
	.blog-archive ul,
	.blog-news {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 50px;
		padding: 0;
		text-align: left;
		display: flex;
		flex-wrap: wrap;
	}

	.blog-news {
		flex-direction: column;
	}
}

.blog-archive ul li {
	flex: 1 0 45%;
	float: left;
	margin: 0 5% 50px 0;
	padding: 0;
	height: auto;
	flex-grow: 0;
}
.blog-archive ul li.post-single {
	flex: 1 0 100%;
	float: left;
	margin: 0 0% 50px 0;
	padding: 0;
	height: auto;
	flex-grow: 0;
}
#blog img {
	max-width: 100%;
	height: auto;
	margin: 0 0 15px;
}
#blog .blog-news img {
	max-width: 100%;
	margin: 0 0 50px;
}
@media only screen and (max-width: 835px) {
	.blog-archive ul li {
		flex: 1 0 44%;
		float: left;
		margin: 0 3% 50px;
		padding: 0;
		height: auto;
		flex-grow: 0;
	}
}
@media only screen and (max-width: 640px) {
	.blog-archive ul li {
		flex: 1 0 100%;
		float: left;
		margin: 0 0% 50px;
		padding: 0;
		height: auto;
		flex-grow: 0;
	}
}

#blog article.post {
	flex: 1 0 45%;
	float: left;
	margin: 0 5% 50px 0;
	padding: 0;
	height: auto;
	flex-grow: 0;
}
#blog article.post-single {
	flex: 1 0 100%;
	float: left;
	margin: 0 0% 50px 0;
	padding: 0;
	height: auto;
	flex-grow: 0;
}
#blog img {
	max-width: 100%;
	margin: 0 0 15px;
}
.blog-news img,
#blog .blog-news img {
	max-width: 100%;
	margin: 0 0 50px;
}
@media only screen and (max-width: 835px) {
	#blog article.post {
		flex: 1 0 44%;
		float: left;
		margin: 0 3% 50px;
		padding: 0;
		height: auto;
		flex-grow: 0;
	}
}
@media only screen and (max-width: 640px) {
	#blog article.post {
		flex: 1 0 100%;
		float: left;
		margin: 0 0% 50px;
		padding: 0;
		height: auto;
		flex-grow: 0;
	}
}

.blog-date {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 5px;
	padding: 0;
	text-align: left;
	font-size: 15px;
	display: flex;
	gap: 10px;
}
#blog-main ul li.post-single .blog-date {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
	text-align: left;
	font-size: 15px;
}
.blog-date a:link,
.blog-date a:visited {
	text-decoration: none;
	color: #181f59;
}
.blog-date a:hover {
	color: #408753;
	text-decoration: underline;
}
.blog-date span {
	margin: 0 0 5px;
}
.blog-date span a:link,
.blog-date span a:visited,
.blog-date .taxonomy-category a:link,
.blog-date .taxonomy-category a:visited {
	display: inline-block;
	width: max-content;
	border: 1px solid #181f59;
	font-size: 12px;
	line-height: 100%;
	padding: 3px 10px 4px;
	margin: 0 0 0 2%;
}
.blog-date span a:hover {
	background: #408753;
	color: #fff;
	text-decoration: none;
	border: 1px solid #408753;
}
@media only screen and (max-width: 1280px) {
	.blog-date span {
		margin: 0 0 5px;
	}
	.blog-date span a:link,
	.blog-date span a:visited {
		display: inline-block;
		width: auto;
		border: 1px solid #181f59;
		font-size: 11px;
		line-height: 100%;
		padding: 1px 3px 2px;
		margin: 0 0 0 2%;
	}
}
@media only screen and (max-width: 1080px) {
	article.post-single .blog-date {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 15px;
		padding: 0;
		text-align: left;
		font-size: 15px;
	}
}

#blog-main ul li h2 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	font-size: 20px;
	line-height: 130%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
#blog-main ul li.post-single h2 {
	overflow: inherit;
	margin: 0 0 50px;
	font-size: 30px;
}
#news-top .news-single h2 {
	overflow: inherit;
	margin: 0 0 20px;
	font-size: 30px;
}
#blog-main ul li h2 a:link,
#blog-main ul li h2 a:visited,
#aside-post .wpp-item h2 a:link,
#aside-post .wpp-item h2 a:visited {
	text-decoration: none;
	color: #181f59;
	font-weight: 700;
}
#blog-main ul li h2 a:hover,
#aside-post .wpp-item h2 a:hover {
	color: #408753;
	text-decoration: underline;
}
@media only screen and (max-width: 1280px) {
	#blog-main ul li h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: left;
		font-size: 17px;
		line-height: 130%;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	#blog-main ul li.post-single h2 {
		overflow: inherit;
		margin: 0 0 50px;
		font-size: 25px;
	}
	#news-top .news-single h2 {
		overflow: inherit;
		margin: 0 0 20px;
		font-size: 25px;
	}
}
@media only screen and (max-width: 640px) {
	#blog-main ul li.post-single h2 {
		overflow: inherit;
		margin: 0 0 50px;
		font-size: 20px;
	}
	#news-top .news-single h2 {
		overflow: inherit;
		margin: 0 0 20px;
		font-size: 20px;
	}
}

#blog-re {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
#blog-re h4 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 25px;
	padding: 0;
	text-align: center;
	background: none;
	border-radius: 0;
	font-weight: 700;
	font-size: 30px;
}
@media only screen and (max-width: 835px) {
	#blog-re h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0;
		text-align: center;
		background: none;
		border-radius: 0;
		font-weight: 700;
		font-size: 25px;
	}
}
@media only screen and (max-width: 480px) {
	#blog-re h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0;
		text-align: center;
		background: none;
		border-radius: 0;
		font-weight: 700;
		font-size: 20px;
	}
}

#blog-re-box > .crp_related {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

#blog-re-box > .crp_related > h2 {
	display: none;
}

#blog-re-box > .crp_related > ul {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	gap: 2%;
}
@media only screen and (max-width: 1280px) {
	#blog-re-box > .crp_related > ul {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 480px) {
	#blog-re-box > .crp_related > ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}
}

#blog-re-box > .crp_related > ul > li {
	margin: 0;
}

.crp_related .crp_link {
	text-decoration: none;
	color: inherit;
}

.crp_related .crp_link > br {
	display: none;
}

.crp_related .crp_link > figure {
	width: 100%;
	height: fit-content;
	margin: 0 0 10px;
}

#blog .crp_link > figure > img {
	margin: 0;
	width: 100%;
	height: 10rem;
	object-fit: cover;
	display: block;
}

.crp_related .crp_link + p {
	display: flex;
	flex-direction: column-reverse;
	margin: 0;
	gap: 10px;
}

#blog-main #blog-re article img {
	margin: 0 0 10px;
}
#blog-main #blog-re article h2 {
	font-size: 15px;
	border-bottom: none;
}

.blog-news p {
	font-size: 17px;
	line-height: 180%;
	text-align: left;
	margin: 0 0 50px;
	padding: 0;
}
@media only screen and (max-width: 1080px) {
	.blog-news p {
		font-size: 16px;
		line-height: 180%;
		text-align: left;
		margin: 0 0 40px;
		padding: 0;
	}
}
@media only screen and (max-width: 835px) {
	.blog-news p {
		font-size: 15px;
		line-height: 170%;
		text-align: left;
		margin: 0 0 35px;
		padding: 0;
	}
}

.blog-news h1 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 5px 2%;
	text-align: left;
	font-size: 30px;
	font-weight: 500;
	line-height: 120%;
	background: #0d3854;
	color: #fff;
	border-radius: 5px;
}
@media only screen and (max-width: 1080px) {
	.blog-news h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 5px 2%;
		text-align: left;
		font-size: 25px;
		font-weight: 500;
		line-height: 120%;
		background: #0d3854;
		color: #fff;
		border-radius: 5px;
	}
}
@media only screen and (max-width: 640px) {
	.blog-news h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 35px;
		padding: 5px 2%;
		text-align: left;
		font-size: 20px;
		font-weight: 500;
		line-height: 120%;
		background: #0d3854;
		color: #fff;
		border-radius: 5px;
	}
}
.blog-news h2,
#news-top .news-single .blog-news h2 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 0 0 10px;
	text-align: left;
	font-size: 30px;
	font-weight: 700;
	line-height: 120%;
	border-bottom: 1px solid #0d3854;
}
@media only screen and (max-width: 1080px) {
	.blog-news h2,
	#news-top .news-single .blog-news h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 50px;
		padding: 0 0 10px;
		text-align: left;
		font-size: 25px;
		font-weight: 700;
		line-height: 120%;
		border-bottom: 1px solid #0d3854;
		overflow: inherit;
		display: inherit;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 0;
	}
}
@media only screen and (max-width: 835px) {
	.blog-news h2,
	#news-top .news-single .blog-news h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 0 0 10px;
		text-align: left;
		font-size: 20px;
		font-weight: 700;
		line-height: 120%;
		border-bottom: 1px solid #0d3854;
		overflow: inherit;
		display: inherit;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 0;
	}
}
@media only screen and (max-width: 640px) {
	.blog-news h2,
	#news-top .news-single .blog-news h2 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 30px;
		padding: 0 0 10px;
		text-align: left;
		font-size: 17px;
		font-weight: 700;
		line-height: 120%;
		border-bottom: 1px solid #0d3854;
		overflow: inherit;
		display: inherit;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 0;
	}
}
.blog-news h3 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 5px 0 5px 10px;
	text-align: left;
	font-size: 25px;
	font-weight: 700;
	line-height: 120%;
	border-left: 10px solid #0d3854;
	background: #eee;
}
@media only screen and (max-width: 1080px) {
	.blog-news h3 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 50px;
		padding: 5px 0 5px 10px;
		text-align: left;
		font-size: 20px;
		font-weight: 700;
		line-height: 120%;
		border-left: 10px solid #0d3854;
		background: #eee;
	}
}
@media only screen and (max-width: 640px) {
	.blog-news h3 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 35px;
		padding: 5px 0 5px 10px;
		text-align: left;
		font-size: 17px;
		font-weight: 700;
		line-height: 120%;
		border-left: 10px solid #0d3854;
		background: #eee;
	}
}
.blog-news h4 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 5px 2%;
	text-align: left;
	font-size: 25px;
	font-weight: 500;
	line-height: 120%;
	background: #eee;
	border-radius: 5px;
}
@media only screen and (max-width: 1080px) {
	.blog-news h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 5px 2%;
		text-align: left;
		font-size: 20px;
		font-weight: 500;
		line-height: 120%;
		background: #eee;
		border-radius: 5px;
	}
}
@media only screen and (max-width: 640px) {
	.blog-news h4 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 35px;
		padding: 5px 2%;
		text-align: left;
		font-size: 17px;
		font-weight: 500;
		line-height: 120%;
		background: #eee;
		border-radius: 5px;
	}
}
.blog-news h5 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 5px 2%;
	text-align: left;
	font-size: 20px;
	font-weight: 500;
	line-height: 120%;
	border: 1px dotted #0d3854;
	border-radius: 5px;
}
.blog-news h6 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 0 2% 5px;
	text-align: left;
	font-size: 20px;
	font-weight: 500;
	line-height: 120%;
	border-bottom: 1px dashed #0d3854;
}
@media only screen and (max-width: 640px) {
	.blog-news h5 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 35px;
		padding: 5px 2%;
		text-align: left;
		font-size: 17px;
		font-weight: 500;
		line-height: 120%;
		border: 1px dotted #0d3854;
		border-radius: 5px;
	}
	.blog-news h6 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 35px;
		padding: 0 2% 5px;
		text-align: left;
		font-size: 17px;
		font-weight: 500;
		line-height: 120%;
		border-bottom: 1px dashed #0d3854;
	}
}

.blog-news ul,
.blog-news ol {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 0 0 0 5%;
}
.blog-news li {
	font-size: 17px;
	line-height: 120%;
	text-align: left;
	margin: 0 0 20px;
	padding: 0;
}
@media only screen and (max-width: 1080px) {
	.blog-news ul,
	.blog-news ol {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 0 0 0 5%;
	}
	.blog-news li {
		font-size: 16px;
		line-height: 120%;
		text-align: left;
		margin: 0 0 15px;
		padding: 0;
	}
}
@media only screen and (max-width: 835px) {
	.blog-news li {
		font-size: 15px;
		line-height: 120%;
		text-align: left;
		margin: 0 0 15px;
		padding: 0;
	}
}

#sub-page blockquote {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 20px 5%;
	background: #f8f8f7;
	border-radius: 7px;
	text-align: left;
	font-size: 17px;
	line-height: 120%;
	border: 1px solid #e7e3cd;
}
#sub-page blockquote.mail-block{
height: 200px;
overflow-y: scroll;
padding: 15px 3% 0;
}
#sub-page blockquote.mail-block h6{
clear: both;
float: left;
width: 100%;
height: auto;
margin: 0 0 30px;
padding: 0;
text-align: left;
font-weight: 500;
font-size: 20px;
line-height: 120%;
}
#sub-page blockquote.mail-block ol{
clear: both;
float: left;
width: 100%;
height: auto;
margin: 0 0 30px;
padding: 0;
text-align: left;
font-size: 15px;
line-height: 150%;
}
#sub-page blockquote.mail-block ol strong{
font-weight: 500;
font-size: 1.1em;
line-height: 250%;
}
#sub-page blockquote.mail-block ol li{
margin: 0 0 15px;
padding: 0;
font-size: 15px;
}
#sub-page blockquote.mail-block ol ol{
clear: both;
float: left;
width: 100%;
height: auto;
margin:20px 0 0;
padding: 0 0 0 5%;
text-align: left;
font-size: 15px;
line-height: 150%;
}
#sub-page blockquote.mail-block ol ol li{
margin: 0 0 15px;
padding: 0;
font-size: 15px;
}
@media only screen and (max-width: 1080px) {
	#sub-page blockquote {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 20px 5%;
		background: #f8f8f7;
		border-radius: 7px;
		text-align: left;
		font-size: 16px;
		line-height: 120%;
		border: 1px solid #e7e3cd;
	}
#sub-page blockquote.mail-block{
height: 200px;
overflow-y: scroll;
padding: 15px 3% 0;
}
}
@media only screen and (max-width: 835px) {
	#sub-page blockquote {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 40px;
		padding: 15px 3%;
		background: #f8f8f7;
		border-radius: 7px;
		text-align: left;
		font-size: 15px;
		line-height: 120%;
		border: 1px solid #e7e3cd;
	}
#sub-page blockquote.mail-block h6{
clear: both;
float: left;
width: 100%;
height: auto;
margin: 0 0 10px;
padding: 0;
text-align: left;
font-weight: 500;
font-size: 17px;
line-height: 120%;
}
#sub-page blockquote.mail-block{
height: 200px;
overflow-y: scroll;
padding: 15px 5% 0;
}
#sub-page blockquote.mail-block ol li{
margin: 0 0 15px;
padding: 0;
font-size: 13px;
}
#sub-page blockquote.mail-block ol ol li{
margin: 0 0 5px;
padding: 0;
font-size: 13px;
}
}
@media only screen and (max-width: 640px) {
	#sub-page blockquote {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 35px;
		padding: 10px 3%;
		background: #f8f8f7;
		border-radius: 7px;
		text-align: left;
		font-size: 14px;
		line-height: 120%;
		border: 1px solid #e7e3cd;
	}
#sub-page blockquote.mail-block{
height: 200px;
overflow-y: scroll;
padding: 15px 5% 0;
}
}

#sub-page table {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0;
	padding: 0;
	border-top: 1px solid #999;
	border-left: 1px solid #999;
	border-spacing: 0px;
	empty-cells: show;
	table-layout: auto;
}
#sub-page th {
	padding: 10px;
	background: #f8f8f7;
	font-weight: 500;
	font-size: 15px;
	line-height: 120%;
	text-align: center;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
}
#sub-page #sub-main table th {
	background: #0c3638;
	color: #fff;
}
#sub-page td {
	padding: 10px;
	font-size: 15px;
	line-height: 120%;
	text-align: center;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
}
#sub-page #sub-main table td {
	text-align: left;
}
#sub-page caption {
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 0 10px;
	text-align: center;
	font-size: 20px;
	line-height: 100%;
	font-weight: 500;
}
#sub-page #sub-main table ol {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 0 0 2%;
}
#sub-page #sub-main table li {
	text-align: left;
	line-height: 120%;
	margin: 0 0 10px;
	padding: 0;
}
@media only screen and (max-width: 1080px) {
	#sub-page table {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 40px 0;
		padding: 0;
		border-top: 1px solid #999;
		border-left: 1px solid #999;
		border-spacing: 0px;
		empty-cells: show;
		table-layout: auto;
	}
	#sub-page th {
		padding: 10px;
		background: #f8f8f7;
		font-weight: 500;
		font-size: 14px;
		line-height: 120%;
		text-align: center;
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
	}
	#sub-page td {
		padding: 10px;
		font-size: 14px;
		line-height: 120%;
		text-align: center;
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
	}
	#sub-page caption {
		clear: both;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0 10px;
		text-align: center;
		font-size: 18px;
		line-height: 100%;
		font-weight: 500;
	}
	#sub-page #sub-main table ol {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0 0 3%;
	}
}
@media only screen and (max-width: 835px) {
	#sub-page th {
		padding: 7px;
		background: #f8f8f7;
		font-weight: 500;
		font-size: 13px;
		line-height: 120%;
		text-align: center;
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
	}
	#sub-page #sub-main table th {
		background: #0c3638;
		color: #fff;
		width: 20%;
	}
	#sub-page td {
		padding: 7px;
		font-size: 13px;
		line-height: 120%;
		text-align: center;
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
	}
}
@media only screen and (max-width: 640px) {
	#sub-page #sub-main table th {
		background: #0c3638;
		color: #fff;
		width: 25%;
	}
	#sub-page #sub-main table ol {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0 0 0 4%;
	}
}
@media only screen and (max-width: 480px) {
	#sub-page #sub-main table th {
		clear: both;
		float: left;
		background: #0c3638;
		color: #fff;
		width: 100%;
	}
	#sub-page #sub-main table td {
		clear: both;
		float: left;
		width: 100%;
	}
}
@media only screen and (max-width: 414px) {
	#sub-page th {
		padding: 5px;
		background: #f8f8f7;
		font-weight: 500;
		font-size: 12px;
		line-height: 120%;
		text-align: center;
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
	}
	#sub-page td {
		padding: 5px;
		font-size: 12px;
		line-height: 120%;
		text-align: center;
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
	}
}

#sub-page dl {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0;
	padding: 0 10%;
	display: flex;
	flex-wrap: wrap;
}
#sub-page dt {
	clear: both;
	float: left;
	width: 25%;
	height: auto;
	margin: 0 0 15px;
	padding: 5px;
	background: #0c3638;
	color: #fff;
	font-weight: 500;
	font-size: 15px;
	line-height: 120%;
	text-align: center;
}
#sub-page dd {
	float: left;
	width: 75%;
	height: auto;
	margin: 0 0 15px;
	padding: 5px 5px 5px 3%;
	text-align: left;
	font-size: 15px;
	line-height: 120%;
}
@media only screen and (max-width: 1280px) {
	#sub-page dl {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 50px 0;
		padding: 0 5%;
		display: flex;
		flex-wrap: wrap;
	}
}
@media only screen and (max-width: 835px) {
	#sub-page dl {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 40px 0;
		padding: 0 0%;
		display: flex;
		flex-wrap: wrap;
	}
	#sub-page dt {
		clear: both;
		float: left;
		width: 30%;
		height: auto;
		margin: 0 0 15px;
		padding: 5px;
		background: #0c3638;
		color: #fff;
		font-weight: 500;
		font-size: 15px;
		line-height: 120%;
		text-align: center;
	}
	#sub-page dd {
		float: left;
		width: 70%;
		height: auto;
		margin: 0 0 15px;
		padding: 5px 5px 5px 3%;
		text-align: left;
		font-size: 15px;
		line-height: 120%;
	}
}
@media only screen and (max-width: 640px) {
	#sub-page dl {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 40px 0 10px;
		padding: 0 0%;
		display: flex;
		flex-wrap: wrap;
	}
	#sub-page dt {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 5px;
		padding: 5px;
		background: #0c3638;
		color: #fff;
		font-weight: 500;
		font-size: 15px;
		line-height: 120%;
		text-align: center;
	}
	#sub-page dd {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 25px;
		padding: 0;
		text-align: left;
		font-size: 15px;
		line-height: 120%;
	}
}

form {
	clear: both;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.hissu {
	font-size: 12px;
	border-radius: 5px;
	background: #5a8513;
	color: #fff;
	padding: 0 5px 1px;
	margin: 0 0 0 2%;
}
#mail-check {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 10px 0 50px;
	padding: 10px 0;
	text-align: center;
}
@media only screen and (max-width: 640px) {
	#mail-check {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 50px;
		padding: 0;
		text-align: center;
	}
}

textarea,
input[type="text"],
input[type="email"] {
	width: 100%;
}

input.btn_submit,
input.btn_submit2 {
	width: 150px;
	height: 50px;
	background: #408753;
	border-radius: 10px;
	box-shadow: 2px 2px 3px #aaa;
	border: 2px solid #fff;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 46px;
}
input.btn_submit2 {
	width: 100px;
	height: 40px;
	line-height: 36px;
	background: #dddddd;
	color: #555;
	font-size: 15px;
	margin: 0 0 0 2%;
}

input.btn_submit:hover {
	background: #181f59;
	cursor: pointer;
}

input.btn_submit2:hover {
	background: #ccc;
	cursor: pointer;
}

label {
	cursor: pointer;
}

aside {
	float: right;
	width: 30%;
	margin: 0;
	padding: 0 0 0 5%;
}
@media only screen and (max-width: 835px) {
	aside {
		clear: both;
		float: right;
		width: 100%;
		margin: 0;
		padding: 0;
	}
}

aside h1 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	text-align: left;
	font-weight: 900;
	font-size: 30px;
	line-height: 100%;
}
#blog aside article.post h2 {
	font-size: 15px;
}
@media only screen and (max-width: 1280px) {
	aside h1 {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0;
		text-align: left;
		font-weight: 900;
		font-size: 25px;
		line-height: 100%;
	}
}

aside ul {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 50px;
	padding: 0;
}
aside li {
	list-style-type: none;
	font-size: 15px;
	line-height: 120%;
	text-align: left;
	margin: 0 0 20px;
	padding: 0 0 20px 2%;
	border-bottom: 1px solid #ccc;
}
aside li a:link,
aside li a:visited {
	color: #181f59;
	text-decoration: none;
	font-weight: 400;
}

#aside-post > .wpp-shortcode.wpp-ajax {
	width: 100%;
}

@media only screen and (max-width: 1280px) {
	aside li {
		list-style-type: none;
		font-size: 13px;
		line-height: 120%;
		text-align: left;
		margin: 0 0 15px;
		padding: 0 0 15px 2%;
		border-bottom: 1px solid #ccc;
	}
}

@media only screen and (max-width: 835px) {
	#aside-post {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: left;
		display: flex;
		flex-wrap: wrap;
	}
	#blog #aside-post article.post {
		flex: 1 0 44%;
		float: left;
		margin: 0 3% 50px;
		padding: 0;
		height: auto;
		flex-grow: 0;
	}
}
@media only screen and (max-width: 480px) {
	#blog #aside-post article.post {
		flex: 1 0 44%;
		float: left;
		margin: 0 3% 30px;
		padding: 0;
		height: auto;
		flex-grow: 0;
	}
	#blog aside article.post h2 {
		font-size: 13px;
	}
	#blog aside img {
		max-width: 100%;
		margin: 0;
	}
	aside .blog-date {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: left;
		font-size: 13px;
	}

	#blog #aside-post article.ohd-p-related-blog {
		display: flex;
		width: 100%;
		margin: 0 auto 30px;
		float: none;
	}
}

/*ニュース
--------------------------------------------------------------------------*/
#news-top {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 80px 10% 60px 10%;
	background: #fff;
}
@media only screen and (max-width: 1080px) {
	#news-top {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 50px 5% 40px 5%;
		background: #fff;
	}
}
@media only screen and (max-width: 640px) {
	#news-top {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 30px 5% 10px 5%;
		background: #fff;
	}
}

#news-top article.news-post {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid #181f59;
}
#news-top article.news-post p {
	clear: both;
	float: left;
	width: 10%;
	text-align: left;
	margin: 0;
	font-size: 17px;
	line-height: 150%;
}
#news-top article.news-post h2 {
	float: left;
	width: 90%;
	text-align: left;
	margin: 0;
	padding: 0;
	font-size: 17px;
	line-height: 150%;
}
@media only screen and (max-width: 1600px) {
	#news-top article.news-post p {
		clear: both;
		float: left;
		width: 15%;
		text-align: left;
		margin: 0;
		font-size: 17px;
		line-height: 150%;
	}
	#news-top article.news-post h2 {
		float: left;
		width: 85%;
		text-align: left;
		margin: 0;
		padding: 0;
		font-size: 17px;
		line-height: 150%;
	}
}
@media only screen and (max-width: 1280px) {
	#news-top article.news-post p {
		clear: both;
		float: left;
		width: 20%;
		text-align: left;
		margin: 0;
		font-size: 17px;
		line-height: 150%;
	}
	#news-top article.news-post h2 {
		float: left;
		width: 80%;
		text-align: left;
		margin: 0;
		padding: 0;
		font-size: 17px;
		line-height: 150%;
	}
}
@media only screen and (max-width: 1080px) {
	#news-top article.news-post p {
		clear: both;
		float: left;
		width: 20%;
		text-align: left;
		margin: 0;
		font-size: 16px;
		line-height: 150%;
	}
	#news-top article.news-post h2 {
		float: left;
		width: 80%;
		text-align: left;
		margin: 0;
		padding: 0;
		font-size: 16px;
		line-height: 150%;
	}
}
@media only screen and (max-width: 835px) {
	#news-top article.news-post p {
		clear: both;
		float: left;
		width: 100%;
		text-align: left;
		margin: 0 0 5px;
		font-size: 15px;
		line-height: 100%;
	}
	#news-top article.news-post h2 {
		clear: both;
		float: left;
		width: 100%;
		text-align: left;
		margin: 0;
		padding: 0;
		font-size: 15px;
		line-height: 150%;
	}
}
@media only screen and (max-width: 480px) {
	#news-top article.news-post p {
		clear: both;
		float: left;
		width: 100%;
		text-align: left;
		margin: 0 0 5px;
		font-size: 14px;
		line-height: 100%;
	}
	#news-top article.news-post h2 {
		clear: both;
		float: left;
		width: 100%;
		text-align: left;
		margin: 0;
		padding: 0;
		font-size: 14px;
		line-height: 130%;
	}
}

#news-top article a:link,
#news-top article a:visited {
	text-decoration: none;
	color: #181f59;
	font-weight: 400;
}
#news-top article a:hover {
	color: #408753;
}

#news-text {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0 0;
	padding: 0;
}

/* news, blog 共通追加スタイル */

.ohd-p-news__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ohd-p-news__list > li,
#blog-main:not(.blog-news) li {
	list-style: none;
}

#blog-main .post > figure {
	width: fit-content;
	margin: 0;
}

figure.wp-block-table {
	width: 100%;
	margin: 0;
}

.page-news {
	display: flex;
	flex-direction: column;
}

/* 問い合わせフォーム */
.ohd-p-form-contact p {
	margin: 0;
}

#top-last{
clear: both;
float: left;
width: 100%;
height: auto;
margin: 50px 0 50px;
padding: 0 3%;
}
#top-last p{
text-align: center;
margin: 0 0 30px;
font-size: 40px;
line-height: 150%;
font-weight: 700;
font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 835px) {
#top-last p{
margin: 0 0 30px;
font-size: 35px;
}
}
@media only screen and (max-width: 640px) {
#top-last{
margin: 50px 0 30px;
padding: 0 3%;
}
#top-last p{
margin: 0 0 30px;
font-size: 30px;
text-align: left;
}
}
@media only screen and (max-width: 480px) {
#top-last{
margin: 20px 0 30px;
padding: 0 3%;
}
#top-last p{
margin: 0 0 20px;
font-size: 25px;
}
}
@media only screen and (max-width: 414px) {
#top-last p{
margin: 0 0 20px;
font-size: 22px;
}
}

/*フッタ
--------------------------------------------------------------------------*/
#page-top {
	width: 40px;
	height: 40px;
	display: none;
	position: fixed;
	right: 16px;
	bottom: 16px;
	color: #fff;
}

#page-top p {
	margin: 0;
	padding: 0;
	text-align: center;
	background: #408753;
	transition: all 0.3s;
	color: #fff;
}

#page-top p:hover {
	background: #181f59;
	color: #fff;
}

#move-page-top {
	color: #fff;
	line-height: 40px;
	text-decoration: none;
	display: block;
	cursor: pointer;
}

footer {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 50px 0;
	text-align: center;
	background: #181f59;
}
@media only screen and (max-width: 1080px) {
	footer {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 40px 0;
		text-align: center;
		background: #181f59;
	}
}
@media only screen and (max-width: 835px) {
	footer {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 30px 0;
		text-align: center;
		background: #181f59;
	}
}
@media only screen and (max-width: 640px) {
	footer {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 20px 0;
		text-align: center;
		background: #181f59;
	}
}

footer ul {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
	display: flex;
	text-align: center;
	justify-content: center;
}
footer li {
	font-size: 17px;
	list-style-type: none;
	flex: 0 0 auto;
	margin: 0 2%;
}
footer li a:link,
footer li a:visited {
	text-decoration: none;
	color: #fff;
	font-weight: 400;
	line-height: 100%;
}
footer li a:hover {
	color: #b4cf9e;
}
@media only screen and (max-width: 1080px) {
	footer ul {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0;
display: none;
		text-align: center;
		justify-content: center;
	}
	footer li {
		font-size: 16px;
		list-style-type: none;
		flex: 0 0 auto;
		margin: 0 2%;
	}
}
@media only screen and (max-width: 640px) {
	footer li {
		font-size: 15px;
		list-style-type: none;
		flex: 0 0 auto;
		margin: 0 2%;
	}
}
@media only screen and (max-width: 480px) {
	footer li {
		font-size: 14px;
		list-style-type: none;
		flex: 0 0 auto;
		margin: 0 3%;
	}
}

address {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 100%;
	color: #fff;
	font-size: 17px;
	font-style: normal;
}
@media only screen and (max-width: 835px) {
	address {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 16px;
		font-style: normal;
	}
}
@media only screen and (max-width: 640px) {
	address {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 15px;
		font-style: normal;
	}
}
@media only screen and (max-width: 480px) {
	address {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 13px;
		font-style: normal;
	}
}
@media only screen and (max-width: 414px) {
	address {
		clear: both;
		float: left;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 100%;
		color: #fff;
		font-size: 12px;
		font-style: normal;
	}
}

/* ページネーション（お知らせ・ブログ） */
.ohd-p-pagination {
	margin: 50px 0;
	text-align: center;
}

.ohd-p-pagination .page-numbers {
	display: inline-block;
	margin: 0 5px;
	padding: 10px 15px;
	background: #f8f8f8;
	color: #333;
	text-decoration: none;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	transition: all 0.3s ease;
}

.ohd-p-pagination .page-numbers:hover,
.ohd-p-pagination .page-numbers.current {
	background: #006db3;
	color: #fff;
	border-color: #006db3;
}

.ohd-p-pagination .page-numbers.dots {
	background: transparent;
	border: none;
	cursor: default;
}

.ohd-p-pagination .page-numbers.dots:hover {
	background: transparent;
	color: #333;
}

.ohd-p-pagination .nav-links {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.ohd-p-pagination .nav-previous,
.ohd-p-pagination .nav-next {
	flex: 1;
	max-width: 250px;
}

.ohd-p-pagination .nav-center {
	text-align: center;
}

.ohd-p-pagination .nav-previous a,
.ohd-p-pagination .nav-next a,
.ohd-p-pagination .nav-center a {
	display: inline-block;
	padding: 10px 20px;
	background: #f8f8f8;
	color: #333;
	text-decoration: none;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	transition: all 0.3s ease;
}

.ohd-p-pagination .nav-previous a:hover,
.ohd-p-pagination .nav-next a:hover,
.ohd-p-pagination .nav-center a:hover {
	background: #006db3;
	color: #fff;
	border-color: #006db3;
}

/* スマートフォン対応 */
@media (max-width: 768px) {
	.ohd-p-pagination .nav-links {
		flex-direction: column;
		gap: 15px;
	}

	.ohd-p-pagination .nav-previous,
	.ohd-p-pagination .nav-next {
		max-width: 100%;
		width: 100%;
	}

	.ohd-p-pagination .page-numbers {
		margin: 0 3px;
		padding: 8px 12px;
		font-size: 13px;
	}
}

/* アイキャッチ画像のスタイル（シングル記事） */
.single .wp-block-post-featured-image {
	margin: 0 auto 50px;
}

.single .wp-block-post-featured-image > img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

/* テーブルブロック拡張スタイル */

/* テーブル見出しの基本スタイル */
.wp-block-table th[scope="col"],
.wp-block-table th[scope="row"] {
	text-align: center;
	font-size: 16px;
	font-weight: 600;
}

/* テーブル全体のスタイル調整 */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	margin: 20px 0;
}

.wp-block-table td {
	padding: 10px 12px;
	vertical-align: top;
}

/* レスポンシブ対応 */
@media only screen and (max-width: 768px) {
	.wp-block-table th,
	.wp-block-table td {
		padding: 8px;
		font-size: 14px;
	}

	.wp-block-table th[scope="col"] {
		font-size: 14px;
	}
}

@media only screen and (max-width: 480px) {
	.wp-block-table th,
	.wp-block-table td {
		padding: 6px;
		font-size: 13px;
	}

	.wp-block-table th[scope="col"] {
		font-size: 13px;
	}
}

/* 既存のテーブルスタイルとの統合 */
.wp-block-table.is-style-stripes th[scope="col"] {
	background-color: #004a7f;
}

.wp-block-table.is-style-stripes th[scope="row"] {
	background-color: #f0f8ff;
}

/* 引用ブロック拡張スタイル */
.wp-block-quote p {
	margin: 0;
}

.wp-block-quote p:not(:last-child) {
	margin-bottom: 20px;
}

/* Popular Posts */

#aside-post .post {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 50px;
}

#aside-post .post img {
	display: block;
	width: 100%;
}

#aside-post .post h2 {
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	font-size: 20px;
	line-height: 130%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
