@charset "utf-8";
/*
Theme Name: 株式会社榎本林業
Theme URI: https://www.superlog8.com/
Description: 株式会社榎本林業のテーマです
*/

/*全体スタイル
***************************************/
body {
	font-family: "Poppins", "Noto Sans JP", sans-serif;
	animation: BgfadeIn 2s ease 0s 1 normal;
	-webkit-animation: BgfadeIn 2s ease 0s 1 normal;
	font-weight: 400;
	letter-spacing: 1.5px;
	background-size: 100%;
	color: #333333;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dt,
dd,
li,
a,
th,
td {}

.font-noto_serif {
	font-family: "Noto Serif JP", serif;
}

.font-poppins {
	font-family: "Poppins", sans-serif;
	font-variant-numeric: tabular-nums;
}

/*リンク文字色のスタイル
***************************************/
a:link,
a:visited {
	text-decoration: none;
	overflow: hidden;
	color: #415c07;
}

a:hover {
	text-decoration: none;
}

/*構造部分
***************************************/
.base {
	padding-left: 0;
	padding-right: 0;
}

#wrapper {
	/*background:
			radial-gradient(290px 300px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(800px 780px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(1000px 990px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(400px 380px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(750px 750px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(100px 100px , rgba(247,219,226, 0.15) 20%, transparent 20%);
		background-size: 
			1230px 1280px,
			810px 910px,
			1470px 990px,
			1200px 1700px,
			1520px 1200px,
			1100px 1300px;
		background-position: 
			-300px -550px,
			-200px 100px,
			50px 510px,
			-200px -550px,
			-180px -250px,
			130px -150px;
			background-attachment:fixed;*/

}

#home #wrapper {}

#main {}

#main p {}

#primary {
	padding-bottom: 15rem;
	padding-top: 15rem;
	background: url(../../images/bg.jpg) #EEE no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
}

#home #primary {
	padding-top: 0;
	padding-bottom: 0;
	background: none;
	position: relative;
}

@media (max-width: 1680px) {
	.base {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}
}


@media (max-width: 1560px) {
	.base {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}
}

@media (max-width: 1260px) {
	.base {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	#wrapper {}

	#main {}
}

@media (max-width: 980px) {
	.base {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	#wrapper {}

	#main {}

	#primary {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
}

/*header
***************************************/
#header {
	width: 100%;
	padding: 2rem 7.5rem;
	position: fixed;
	z-index: 999;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s;
}

#header.fixedmenu {
	background: rgba(65, 92, 7, 0.85);
	padding: 1rem 7.5rem;
	height: auto;
}

#header #header_left {
	width: 26%;
	max-width: 475px;
	min-width: 240px;
}

#header #header_left p {
	color: #FFF;
	margin-bottom: 1rem;
	letter-spacing: 0.1px;
}

#header #header_right {
	display: flex;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
	-webkit-align-items: center;
	/* 縦方向中央揃え（Safari用） */
	align-items: center;
	/* 縦方向中央揃え */
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s;
	width: 74%;
}

#header.fixedmenu #header_right {}


#header #header_right #header_contact {
	width: 100%;
	margin-bottom: 1rem;
}

#header_contact ul {
	display: flex;
	justify-content: flex-end;
	/* 右寄せ */
	align-items: center;
	gap: 1.5rem;
}

#header #header_right #header_contact ul li {
	color: #FFF;
}

#header #header_right #header_contact ul li a {
	color: #FFF;
}

#header #header_right #header_contact ul li:nth-child(1) a {
	font-size: clamp(18px, 2.4vw, 32px);
	font-family: Arial, Helvetica, sans-serif;
}

#header #header_right #header_contact ul li:nth-child(1) a span {
	margin-left: -0.25rem;
	margin-right: 1rem;
}

#header #header_right #header_contact ul li:nth-child(1) small {
	position: relative;
	top: -0.5em;
}

#header #header_right #header_contact ul li:nth-child(1) a svg {
	position: relative;
	top: -5px;
	margin-right: 1rem;
}

#header #header_right #header_contact ul li:nth-child(2) a {
	border: 1px solid #FFF;
	padding: 0.45rem 4.5rem 0.15rem 4.5rem;
	border-radius: 6rem;
	transition: color .3s ease;
	position:relative;
	display: inline-block;
	line-height: 1.6;
}

#header #header_right #header_contact ul li:nth-child(2) a svg {
	position: relative;
	top: -2px;
	margin-right: 0.75rem;
	transition: color .3s ease;
}


#header #header_right #header_contact ul li:nth-child(2) a::before {
	content:"";
	position:absolute;
	top:0;
	left:-100%;
	width:100%;
	height:100%;
	background:#FFF;
	border-radius:inherit;
	transition:left .35s ease;
	z-index:-1;
}

/* hover */
#header #header_right #header_contact ul li:nth-child(2) a:hover {
	color:#415c07;
}

#header #header_right #header_contact ul li:nth-child(2) a:hover::before {
	left:0;
}



@media (max-width: 1280px) {

	#header,
	#header.fixedmenu {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (max-width: 980px) {

	#header,
	#header.fixedmenu {
		padding-left: 1rem;
		padding-right: 1rem;
		padding-top: 1rem;
		padding-bottom: 1rem;
		height: 60px;
	}
	
	#header #header_left {
	  width: 18%;
	  max-width: 200px;
	  min-width: 165px;
	}
	
	#header #header_left p {
		display:none;
	}

	#header_contact ul li:nth-child(1) {
		display: none;
	}

	#header_contact ul li:nth-child(2) {
		display: none;
	}

}

@media (max-width: 680px) {
	#header {}

	#header #header_left {}

	#header #header_left .site_logo {}
}

/*contact
***************************************/

#contact_box {
	background: url(../../images/contact_bg.jpg) no-repeat #fff9ef right bottom;
	background-size: cover;
	background-attachment: fixed;
}

#contact_box .box1480 {
	padding-top: 12rem;
	padding-bottom: 24rem;
	background: url(../../images/contact_img.png) no-repeat left bottom;
	background-size:52%;
}


#contact_box h2 {
	display: flex;
	align-items: flex-end;
	gap: 2rem;
	/* 英字と日本語の間隔 */
	justify-content: flex-start;
	/* 左詰め */
	margin-bottom: 3rem;
}

#contact_box h2:before {
	content: attr(data-eng);
	font-size: clamp(30px, 6vw, 84px);
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	color: #415c07;
	display: block;
	line-height: 0.8;
}

#contact_box h2 span {
	font-size: clamp(20px, 1.8vw, 24px);
	font-weight: 450;
	display: block;
}

#contact_box .title_box02 {
	margin-bottom: 4.5rem;
}

#contact_box .title_box02 p {
	line-height: 2.2;
}

#contact_box ul li:nth-child(1) {
	margin-right: 2rem;
}

#contact_box ul li:nth-child(1) a {
	font-size: clamp(36px, 3.6vw, 48px);
	font-family: Arial, Helvetica, sans-serif;
	color: #5e4b33;
	 line-height: 0.85;
}

#contact_box ul li:nth-child(1) a svg {
	position: relative;
	margin-right: 1rem;
}

#contact_box ul li:nth-child(1) small {
	display: block;
	text-align: center;
	color: #5e4b33;
	font-size: clamp(14px, 1.2vw, 16px);
	text-indent: 3em;
	margin-top: 0.5rem;
}

#contact_box ul li:nth-child(2) a {
	color: #5e4b33;
	border: 1px solid #5e4b33;
	padding: 1.35rem 9rem 1.35rem 9rem;
	border-radius: 6rem;
	font-size: clamp(18px, 1.8vw, 22px);
    display: inline-block;
}

#contact_box ul li:nth-child(2) a svg {
	position: relative;
	top: 3px;
	margin-right: 1rem;
}

#contact_box ul li a {
	display: block;
	position: relative;
	transition: transform .35s cubic-bezier(.34, 1.56, .64, 1);
}

#contact_box ul li a:hover {
	transform: translateY(-8px);
}

@media (max-width: 1280px) {

#contact_box h2,
#contact_box .title_box02 p,
#contact_box ul li:nth-child(1) small {
    text-shadow: 1px 1px 1px rgba(255, 255, 255,1);
}

#contact_box ul li:nth-child(1) a {
	 line-height: 1;
    text-shadow: 1px 1px 1px rgba(255, 255, 255,1);
}
#contact_box ul li:nth-child(1) a svg {
  width: 36px;
    text-shadow: 1px 1px 1px rgba(255, 255, 255,1);
}
#contact_box ul li:nth-child(2) a {
	background:rgba(255,255,255,0.8);
    line-height: 1.4;
}

}

@media (max-width: 980px) {
#contact_box {
	background: url(../../images/contact_bg_sp.jpg) no-repeat bottom center;
}

#contact_box .box1480 {
	padding-top: 9rem;
	padding-bottom: 9rem;
}

#contact_box h2 {
	display:block;
}

#contact_box h2::before {
	margin-bottom:1rem;
}

#contact_box .title_box02 p br {
	display:none;
}
}


@media (max-width: 680px) {
#contact_box {
	padding-bottom:0;
}

#contact_box h2.index_title02 {
	margin-bottom: 3rem;
}

#contact_box p {
	margin-bottom: 3rem;
}

#contact_box ul li {
	width:100%;
}

#contact_box ul li:nth-child(1) {
	margin-right:0;
	margin-bottom:2rem;
}

#contact_box ul li:nth-child(1) small {
	text-indent: 0;
}

#contact_box ul li:nth-child(2) a {
  padding: 1rem 6rem 1rem 6rem;
}

}


/*footer
***************************************/
#footer {
	padding-top: 14rem;
	padding-bottom: 14rem;
	background: url(../../images/footer_bg.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
}

#footer .footer_info_box {
	margin-bottom: 6rem;
	padding-bottom: 6rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.9);
}

#footer dl dt {
	color: #FFF;
	margin-bottom: 2rem;
}

#footer dl dt strong img {
	width: 39px;
	height: auto;
	margin-right: 1rem;
}

#footer dl dt em {
	font-style: normal;
	font-size: clamp(16px, 1.4vw, 20px);
	margin-right: 1rem;
}

#footer dl dt span img {
	width: 26px;
	height: auto;
}

#footer table th,
#footer table td {
	padding: 0.15rem 0;
	font-weight: normal;
	font-size: clamp(13px, 1.1vw, 14px);
	font-family: "Arial", "Noto Sans JP", sans-serif;
	color: #FFF;
}

#footer table th {
	padding-right: 2rem;
}

#footer table td small {
	font-size: clamp(13px, 1.1vw, 15px);
	margin-left: 0.5rem;
}

#footer .footer_info_box ul {}


#footer .footer_info_box ul {
	margin-top: auto;
	display: flex;
	gap: 1rem;
	/* 画像同士の間隔（お好みで調整） */
	align-items: center;
}

#footer .footer_info_box li {
	list-style: none;
}

#footer .footer_info_box li a img {
	display: block;
	position: relative;
	transition: transform .35s cubic-bezier(.34, 1.56, .64, 1);
}

#footer .footer_info_box li a:hover img {
	transform: translateY(-8px);
}

#footer_nav .footer_box {
	position: relative;
}

#footer_nav ul {
	display: flex;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

#footer_nav ul li {
	margin-right: 1.5rem;
}

#footer_nav ul li a {
	color: #FFF;
	font-size: clamp(13px, 1.1vw, 14px);
}

#footer_nav ul li a:hover {
	text-decoration:underline;
}

#footer_nav {}

#copy {
	font-size: clamp(12px, 1.1vw, 14px);
	color: #FFF;
}

@media (max-width: 1200px) {}

@media (max-width: 980px) {
	#footer {
		padding-top: 7.5rem;
		padding-bottom: 12rem;
	}

	#footer dl {}

	#footer dl dt {
		margin-bottom: 2.5rem;
		text-align: center;
	}

	#footer dl dt strong {
		margin-right: 0;
	}

	#footer table th {
		padding-right: 0;
	}

	#footer_nav {
		margin-bottom: 2rem;
	}

	#copy {
		position: inherit;
		display: block;
		text-align: center;
	}

	#footer .flowing_text {
		bottom: inherit;
		top: 30%;
	}

	#footer .flowing_text p {
		-webkit-text-stroke: 2px rgba(255, 255, 255, 0.05);
		font-size: clamp(200px, 18vw, 300px);
	}

}

@media (max-width: 680px) {
	#footer dl {
		width: 100%;
		margin-bottom: 2rem;
	}

	#footer .footer_info_box ul {
		width: 100%;
		margin-top: inherit;
		text-align: center;
	}
}

@media (max-width: 480px) {
	#footer .footer_info_box {
		margin-bottom: 3rem;
		padding-bottom: 3rem;
	}

	#footer table td small {
		display: block;
	}

	#footer_nav ul {
		margin-bottom: 1rem;
		text-align:center;
	}

	#footer_nav ul li {
		margin-right: 1rem;
		letter-spacing:0;
	}
	
	#footer_nav ul li:last-child {
		margin-right:0;
	}
}

/*section
***************************************/
#main #primary section {
	padding-top: 15rem;
	padding-bottom: 15rem;
}

#main #primary section:nth-child(1) {
	padding-top: 0;
}

@media (max-width: 980px) {
#main #primary section {
	padding-top:9rem;
	padding-bottom:9rem;
}
}



@media (max-width: 680px) {
	#main #primary section {
		padding-bottom: 7.5rem;
		padding-top: 7.5rem;
	}
}

/* ===================================================
   WordPress 本文エリア（the_content）基本スタイル（調整済レスポンシブ）
   対象: .entry-content
=================================================== */

.entry-content {
	font-size: clamp(16px, 1.4vw, 17px);
	word-break: break-word;
}

/* 段落 */
.entry-content p {
	margin-bottom: 3rem;
	line-height: 2.5;
}

.single .entry-content p {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	line-height: 1.8;
}

/* 見出し */
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	line-height: 1.6;
}

.wp-block-group *:last-child {
	margin-bottom: 0 !important;
}

.entry-content article {
	font-family: "Arial", "Noto Sans JP", sans-serif;
}

/* 目次 */
.entry-content #toc_container {
	position: relative;
	z-index: 1;
	margin-top: 3rem;
	margin-bottom: 6rem;
	padding: 3rem;
	border: 1px #e4e1e1 solid;
}

.entry-content #toc_container .toc_title {
	text-align: center;
	font-size: clamp(18px, 1.9vw, 23px);
}

.entry-content #toc_container .toc_list>li {
	list-style: none;
}

.entry-content #toc_container .toc_list>li::before {
	display: inline-block;
	content: "■";
	margin-right: 0.5em;
	margin-left: -1.5em;
	color: #415c07;
}

.search-entry-content h2 {
	font-size: clamp(16px, 1.6vw, 20px);
	margin: 0 0 4.5rem;
	padding: 0 0 1.6rem;
	position: relative;
	font-weight: 600;
	line-height: 1.5;
	color: #472e0b;
}

.search-entry-content h2:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: #472e0b;
	opacity: .15;
}

.search-entry-content h2:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 72px;
	height: 2px;
	background: #415c07;
}


/* =====================================
   Font Size Responsive (S / M / L / XL)
   WordPress Editor対応
   ===================================== */

/* 小サイズ（S） */
.entry-content .has-small-font-size {
	font-size: clamp(12px, 1.2vw, 14px) !important;
	line-height:1.8;
}

/* 中サイズ（M） */
.entry-content .has-medium-font-size {
	font-size: clamp(16px, 1.8vw, 20px) !important;
	line-height:1.8;
}

/* 大サイズ（L） */
.entry-content .has-large-font-size {
	font-size: clamp(22px, 2vw, 26px) !important;
	line-height:1.8;
}

/* 特大サイズ（XL） */
.entry-content .has-x-large-font-size {
	font-size: clamp(24px, 2.4vw, 36px) !important;
	line-height:1.8;
}

/* 画像・動画など */
.entry-content img,
.entry-content video,
.entry-content iframe {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 4.5rem auto;
	outline: none;
	border: none;
}

.entry-content .wp-block-gallery img {
	margin-top: 0;
	margin-bottom: 0;
}

.entry-content .wp-block-media-text img {
	margin-top: 0;
	margin-bottom: 0;
}

.entry-content .wp-block-column img {
	margin-top: 0;
	margin-bottom:2rem;
}

/* YouTubeなど埋め込み */
.entry-content iframe {
	aspect-ratio: 16 / 9;
	width: 100%;
}

.is-type-wp-embed {
	margin-bottom:3rem !important;
}

.is-type-video {
	width:75%;
	margin:0 auto;
}

.is-type-video .wp-block-embed__wrapper {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}

.is-type-video .wp-block-embed__wrapper iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

@media (max-width: 680px){
.is-type-video {
	width:100%;
}
}

/* リスト */
.entry-content ul,
.entry-content ol {
	margin: 3rem 0 3rem 2rem;
	padding: 0;
}

.entry-content ul>li>ul,
.entry-content ol>li>ol {
	margin: 1.5rem 0 1.5rem 2rem;
}

.entry-content ul.has-background,
.entry-content ol.has-background {
	margin-left: 0;
}

.entry-content ul {
	list-style: disc;
}

.entry-content ul li,
.entry-content ol li {
	margin-bottom: 1rem;
	line-height: 1.7;
}

.entry-content ul li::marker {
	color: #415c07;
}

/* 引用 */
.entry-content blockquote {
	border-left: 0.4rem solid #415c07;
	background: #f9f9f9;
	padding: 1.2rem 1.5rem;
	margin: 2rem 0;
	font-style: italic;
	color: #555;
}

/* テーブル */
.entry-content .wp-block-table {
	margin: 2rem 0;
}

.entry-content .wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	font-size: clamp(14px, 1.4vw, 16px);
}

.entry-content .wp-block-table.top0 table {
	margin-top: 0 !important;
}

.entry-content th,
.entry-content td {
	border: 1px solid #ddd;
	padding: 1.5rem 2rem;
}

.entry-content th {
	font-weight: bold;
}

/* リンク */
.entry-content a {
	color: #415c07;
	text-decoration: underline;
	transition: color 0.3s;
}

.entry-content a:hover {
	color: #624e36;
	text-decoration: none;
}

/* ボタン風リンク */
.entry-content .wp-block-button__link,
.entry-content a.button {
	background: #415c07;
	color: #fff;
	padding: 1.5rem 4.5rem;
	border-radius: 0.4rem;
	text-decoration: none;
	display: inline-block;
	transition: background 0.3s ease;
	font-size: clamp(14px, 1.6vw, 17px);
	position:relative;
}

.entry-content .wp-block-button__link:after,
.entry-content a.button:after {
	content:"";
	background:url(../../images/icon_arrow_way_white.svg) no-repeat center center;
	background-size: cover;
	width: 18px;
	height: 18px;
	position: absolute;
	right: 1.5rem;
	top: 1.65rem;
	display: inline-block;
}

.entry-content .wp-block-button__link:hover,
.entry-content a.button:hover {
	background: #5e4b33;
	color:#FFF;
}

/* キャプション付き画像 */
.entry-content .wp-caption {
	text-align: center;
	margin: 1.8rem auto;
	max-width: 100%;
}

.entry-content .wp-caption-text {
	font-size: clamp(13px, 1.4vw, 15px);
	color: #666;
	margin-top: 0.4rem;
}

/* コードブロック */
.entry-content pre,
.entry-content code {
	background: #f5f5f5;
	padding: 0.8rem 1rem;
	border-radius: 0.4rem;
	font-family: monospace;
	overflow-x: auto;
	font-size: clamp(13px, 1.4vw, 15px);
}

/* clearfix */
.entry-content::after {
	content: "";
	display: block;
	clear: both;
}

/* 全幅ブロックをブラウザ幅いっぱいに広げる */
.entry-content .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-right: 6rem;
	padding-left: 6rem;

	/*background:
			radial-gradient(290px 300px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(800px 780px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(1000px 990px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(400px 380px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(750px 750px , rgba(247,219,226, 0.15) 20%, transparent 20%),
			radial-gradient(100px 100px , rgba(247,219,226, 0.15) 20%, transparent 20%);
		background-size: 
			1230px 1280px,
			810px 910px,
			1470px 990px,
			1200px 1700px,
			1520px 1200px,
			1100px 1300px;
		background-position: 
			-300px -550px,
			-200px 100px,
			50px 510px,
			-200px -550px,
			-180px -250px,
			130px -150px;
			background-attachment:fixed;*/
}

@media screen and (max-width: 600px) {}

/* alignwide（ワイド幅）も使う場合 */
.entry-content .alignwide {
	width: 90vw;
	max-width: 90vw;
	margin-left: calc(50% - 45vw);
	margin-right: calc(50% - 45vw);
}

/* iframeや画像もはみ出しを防ぐ */
.entry-content .alignfull iframe,
.entry-content .alignfull img {
	width: 100%;
	height: auto;
	display: block;
}

/* Gutenbergのblock内余白調整（不要なら削除OK） */
.entry-content .alignfull>* {
	margin-left: auto;
	margin-right: auto;
}


.wp-block-cover {
	padding-top: 12rem;
	padding-bottom: 12rem;
}

.wp-block-columns {
	margin-bottom: 4.5rem;
}

.wp-block-columns:last-child {
	margin-bottom: 0;
}

.wp-block-cover .wp-block-image img {
	margin-bottom: 1.5rem;
}

.wp-block-cover .wp-block-column-is-layout-flow p {
	letter-spacing: 0;
	font-size: clamp(13px, 1.4vw, 15px);
	line-height: 1.5;
}

/* 微調整 */

article>.wp-block-media-text {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.wp-block-media-text>.wp-block-media-text__content {
	padding-right: 0;
}

.wp-block-media-text>.wp-block-media-text__content>*:last-child {
	margin-bottom: 0;
}

.wp-block-group__inner-container>*:first-child,
.wp-block-media-text>.wp-block-media-text__content>*:first-child {
	margin-top: 0 !important;
}

.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content {
	padding-right: 8%;
	padding-left: 0;
}

@media screen and (max-width: 600px) {
	.wp-block-media-text>.wp-block-media-text__content {
		padding-left: 0;
		margin-top: 3rem;
	}

	.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content {
		padding-right: 0;
	}
}

/*サイドバー
***************************************/
/* =========================
   Sidebar
   ========================= */
.sidebar {
	width: 100%;
	background-color: #FFF;
	padding: 3rem;
}

.sidebar_inner {}

@media (max-width: 980px) {
	.sidebar {
		padding: 2rem;
		margin-bottom: 3rem;
	}

}

/* =========================
   Search form
   ========================= */
.sidebar form#search {
	position: relative;
}

.sidebar .search h3 {
	font-size: clamp(16px, 1.8vw, 18px);
	margin-bottom: 1.5rem;
	font-weight: 600;
	color: #415c07;
}

.sidebar form#search input[type="text"] {
	padding: 0 10px;
	padding-right: 10px;
	border: 1px solid #CCC;
	background: #fff;
	width: 78%;
	height: 45px;
}

.sidebar form#search input[type="submit"] {
	padding: 13px 5px;
	border: 1px solid #415c07;
	background: #415c07;
	color: #FFF;
	width: 19%;
	float: right;
	text-align: center;
	height: 45px;
	border-radius: 0.35rem;
	font-size:clamp(12px, 1.2vw, 16px);
}

@media (max-width: 1200px) {
.sidebar form#search input[type="text"] {
	width: 70%;
}

.sidebar form#search input[type="submit"] {
	width: 26%;
}

}

.sidebar h2 {
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
}

.sidebar section {
	margin-bottom: 4.5rem;
}

.sidebar section:last-child {
	margin-bottom: 0;
}

.sidebar>.sidebar_inner>section>h3 {
	font-size: clamp(16px, 1.8vw, 18px);
	margin-bottom: 2rem;
	font-weight: 600;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #415c07;
	color: #415c07;
}

.sidebar ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sidebar_list_item {}


.cate_list ul {
	margin-top: -1.5rem;
}

.cate_list ul li a {
	display: block;
	padding: 2rem 3rem 2rem 0;
	border-bottom: 1px solid #CCC;
	color: #472e0b;
	font-weight: 500;
	position: relative;
	transition: color 0.3s ease;
	letter-spacing: 0;
	line-height: 1.6;
}

.cate_list ul li a:hover {
	color: #415c07;
}

.cate_list ul li a:after {
	content: "\f0da";
	font-family: FontAwesome;
	color: #415c07;
	/*中央*/
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	margin: auto;
	display: inline-block;
	transition: transform 0.3s ease;
}

.cate_list ul li a:hover::after {
	transform: translateY(-50%) translateX(4px);
}

.cate_list ul ul.sidebar_list_child {
	margin-top: 0;
}

.cate_list ul ul.sidebar_list_child li a {
	padding: 1.5rem 1.5rem 1.5rem 4.5rem;
	border-bottom: 1px dotted #AAA;
}

.cate_list ul ul.sidebar_list_child li a:after {
	content: none;
}

.cate_list ul ul.sidebar_list_child li a:before {
	content: ">";
	position: absolute;
	top: 50%;
	left: 2rem;
	color: #415c07;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	margin: auto;
	display: inline-block;
	transition: transform 0.3s ease;
}

.cate_list ul ul.sidebar_list_child li a:hover::before {
	transform: translateY(-50%) translateX(4px);
}

.tag_list ul li {
	display: inline-block;
	margin-right: 0.75rem;
	margin-bottom: 1rem;
}

.tag_list ul li a {
	display: block;
	padding: 0.5rem 0.5rem;
	border: 1px solid #415c07;
	color: #415c07;
}



/*NEWS
***************************************/
/* blog-content-wrapper：main + sidebar の2カラム */
.blog-content-wrapper {
	display: flex;
	gap: 6rem;
	/* mainとsidebar間の隙間 */
}

/* sidebar（左） */
.blog-sidebar {
	flex: 0 0 26%;
	order: 1;
	/* 左に配置 */
}

/* main（右） */
.blog-main {
	flex: 1 1 72%;
	order: 2;
	/* 右に配置 */
}

.blog-main h2 {
  font-size: clamp(18px, 2.5vw, 28px);
  margin-bottom: 4.5rem;
  padding-bottom: 1.5rem;
  color:#415c07;
  border-bottom: 1px solid #CCC;
}

@media (max-width: 1200px) {
.blog-content-wrapper {
  gap: 2rem;
}
}

/* レスポンシブ対応 */
@media (max-width: 900px) {
	.blog-content-wrapper {
		flex-direction: column;
	}

	.blog-sidebar,
	.blog-main {
		flex: 1 1 100%;
		order: unset;
	}

	.blog-main {
		margin-bottom:2rem;
	}

	.blog-main time {
		margin-top: 0;
	}
}

/* 記事リスト：1列表示 */
.blog-item-list {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	/* 記事間隔 */
}

/* 各記事 */
.blog-article-list {
	display: flex;
	flex-direction: column;
	margin-bottom: 6rem;
}

/* 画像 */
.blog-article-list .img-wrap {
	width: 100%;
	aspect-ratio: 4/3;
	overflow: hidden;
	margin-bottom: 1rem;
}

.blog-article-list .img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 記事テキスト */
.blog-article-list .text h3 {
	font-size: clamp(16px, 2vw, 20px);
	margin: 0.7rem 0 1rem;
	line-height: 1.4;
	border-bottom: 1px solid #DDD;
	padding-bottom: 1rem;
	margin-bottom: 3rem;
}

/* 日付 */
.blog-article-list .text .article-date {
	font-size: 14px;
	line-height: 1.4;
	display: block;
	margin-bottom: 3rem;
}

.blog-article-list .text .article-date small {
	padding: 0.1rem 0.25rem 0.15rem 0.25rem;
	display: inline-block;
}

.blog-article-list .text .article-date small a {
	color: #FFF;
	letter-spacing: 0;
}

/* 本文 */
.blog-article-list .text p {
	font-size: clamp(15px, 2vw, 16px);
	line-height: 1.6;
	margin-top: 3rem;
}

/* リンク装飾 */
.blog-article-list .text h3 a {
	text-decoration: none;
	color: inherit;
}

/* カテゴリーリスト */
.blog-category-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-bottom: 2rem;
}

/* カテゴリー名 */
.blog-article-list .text small {
	font-size: 14px;
	margin-left: 0.5rem;
}

/*
***************************************/
ul.news-list {
	overflow: auto;
}

ul.news-list li {
	border-bottom: 1px solid #DDD;
}

ul.news-list li:first-child {
	border-top: 1px solid #DDD;
}

ul.news-list li a {
	display: block;
	padding: 2rem 12rem 2rem 4rem;
	background: #FFF;
	position: relative;

	display: flex;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
	-webkit-align-items: center;
	/* 縦方向中央揃え（Safari用） */
	align-items: center;
	/* 縦方向中央揃え */
	-webkit-justify-content: space-between;
	justify-content: space-between;
	transition: right 0.4s ease;
	color: #472e0b;
}

/* hover時 */
ul.news-list li a:hover {
	background: #FAFAFA;
	/* 少し濃い色 */
}

/* hover時：矢印を少し右へ */
ul.news-list li a:hover:after {
	right: 3.5rem;
}


ul.news-list li a strong {
	font-family: "Arial", "Noto Sans JP", sans-serif;
	width: 77%;
	line-height: 1.6;
}

ul.news-list li a:after {
	content: url(../../images/icon_arrow_long_green.svg);
	right: 4.5rem;
	/*中央*/
	position: absolute;
	top: 48%;
	transform: translateY(-48%);
	-webkit- transform: translateY(-48%);
	margin: auto;
	display: inline-block;
	transition: right 0.4s ease;
}

ul.news-list li a span {
	width: 23%;
}

ul.news-list li a span em.date-year {
	font-size: clamp(18px, 1.8vw, 20px);
	font-style: normal;
	margin-right: 0.5rem;
	letter-spacing: 0;
	font-family: Arial, Helvetica, sans-serif;

}

ul.news-list li a span em.date-month-day {
	font-style: normal;
	font-size: clamp(24px, 3.6vw, 40px);
	font-family: Arial, Helvetica, sans-serif;
	position: relative;
	letter-spacing: 0;
	top: 2px;
}

@media (max-width: 768px) {
	ul.news-list {
		width: 100%;
	}

	ul.news-list li a {
		padding: 2rem 8rem 2rem 2rem;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}

	ul.news-list li a span {
		width: 25%;
	}

	ul.news-list li a strong {
		width: 75%;
		line-height: 1.4;
	}

	ul.news-list li a::after {
		right: 1.5rem;
	}
}


/*プライバシーポリシー
***************************************/
#privacy #primary p {
	margin-bottom: 9rem;
	font-size: clamp(16px, 1.3vw, 17px);
	background: #FAFAFA;
	padding: 3rem;
}

#privacy #primary ul {
	list-style: none !important;
}

#privacy #primary dl {}

#privacy #primary dl dt {
	margin-bottom: 2rem;
	line-height: 1.4;
	font-size: clamp(18px, 1.4vw, 20px);
	font-weight: 500;
	color: #415c07;
}

#privacy #primary dl dd {
	margin-bottom: 7.5rem;
	padding-bottom: 7.5rem;
	border-bottom: 1px solid #CCC;
	font-size: clamp(16px, 1.6vw, 17px);
	line-height: 2.5;
}

#privacy #primary dl dd:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

#privacy #primary dl dd ul {
	margin-bottom: 0;
	list-style: disc !important;
}

#privacy #primary dl dd ul li:last-child {
	margin-bottom: 0;
}

#privacy #primary dl dd table {
	width: 100%;
	margin: 2rem auto 0 auto;
}

#privacy #primary dl dd table td {
	border-top: none;
	border-right: none;
	border-left: none;
	padding: 3rem;
	border-bottom: 1px solid #CCC;
	font-size: clamp(16px, 1.4vw, 18px);
}

#privacy #primary dl dd table td:nth-child(1) {
	width: 25%;
	border-top: none;
	border-right: none;
	border-left: none;
	padding: 3rem;
	border-bottom: 1px solid #CCC;
	font-size: clamp(16px, 1.4vw, 18px);
}

#privacy #primary dl dd table a {}

@media (max-width: 980px) {
	#privacy #primary {}

	#privacy #primary p {
		font-size: 0.9em;
		margin-bottom: 6rem;
		line-height:2.4;
	}

	#privacy #primary dl {
		margin: 0;
	}


	#privacy #primary dl dt {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
	}

	#privacy #primary dl dd {
		font-size: 1.5rem;
		margin-bottom: 3rem;
		padding-bottom: 3rem;
		line-height:2.4;
	}

	#privacy #primary dl dd:last-child {
		padding-left: 0;
	}

	#privacy #primary dl dd table td:nth-child(1) {
		width: 30%;
	}

	#privacy #primary dl dd table td:nth-child(1),
	#privacy #primary dl dd table td {
		font-size: 1.5rem;
		padding: 10px;
	}
}

/*当サイトについて
***************************************/

#about #primary article>p {
	margin-bottom: 6rem;
	text-align: center;
}

#about #primary ul {
	list-style: none !important;
}

#about #primary dl {
	margin: 0 1.5rem;
}

#about #primary dl dt {
	margin-bottom: 3rem;
	line-height: 1.4;
	font-size: 1.1em;
}

#about #primary dl dd {
	margin-bottom: 7.5rem;
	line-height: 1.8;
}

#about #primary dl dd ol {
	list-style: decimal;
	padding-left: 2rem;
}

#about #primary dl dd:last-child {
	margin-bottom: 0;
}

#about #primary dl dd table {
	width: 100%;
	margin: 2rem auto 0 auto;
}

#about #primary dl dd table td {
	vertical-align: middle;
	padding: 1em;
	border: none;
	border-bottom: 1px solid #DDD;
}

#about #primary dl dd table th {
	width: 25%;
	padding: 1em;
	border: none;
	border-bottom: 1px solid #AAA;
	vertical-align: middle;
}

#about #primary dl dd table a {
	color: #a6231b;
}

@media (max-width: 980px) {
	#about #primary {}

	#about #primary p {
		font-size: 0.9em;
		margin-bottom: 3rem;
	}

	#about #primary dl {
		margin: 0;
	}


	#about #primary dl dt {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
	}

	#about #primary dl dd {
		font-size: 1.4rem;
		margin-bottom: 3rem;
	}

	#about #primary dl dd:last-child {
		padding-left: 0;
	}

	#about #primary dl dd table td:nth-child(1),
	#about #primary dl dd table td {
		padding: 10px;
	}
}


/*サイトマップ
***************************************/
#sitemap .entry-content article>ul {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

#sitemap .entry-content article>ul>li {
	border-bottom: 1px solid #DDD;
	margin-bottom: 0;
	font-size: clamp(16px, 1.6vw, 20px);
}

#sitemap .entry-content article>ul>li>a {
	padding: 4.5rem 3rem;
	text-decoration: none;
	display: block;
	font-weight: 600;
}

#sitemap .entry-content article>ul>li>a:hover {}

#sitemap .entry-content article>ul>li>a:before {
	content: "\f0da";
	font-family: FontAwesome;
	margin-right: 1rem;
}

#sitemap .entry-content article>ul>li>ul {
	margin-left: 4%;
	margin-bottom: 3rem;
	margin-top: -1.5rem;
	list-style: none;
}

#sitemap .entry-content article>ul>li>ul>li {
	margin-bottom: 1rem;
}

#sitemap .entry-content article>ul>li>ul>li:before {
	content: "― ";
	color: #415c07;
}

#sitemap .entry-content article>ul>li>ul>li>a {
	text-decoration: none;
}

#sitemap .entry-content article>ul>li>ul>li>a:hover {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-ms-transition: 0s ease-in-out;
	opacity: 0.6;
	filter: alpha(opacity=60);
}

@media (max-width: 980px) {
	#sitemap .entry-content article>ul>li>a {
		padding: 3rem 1rem;
	}

	#sitemap .entry-content article>ul>li>ul {
		margin-left: 8%;
		margin-top: -1.5rem;
		margin-bottom: 3.5rem;
	}
}

/*パン屑のスタイル
***************************************/
#breadcrumb {
	width: 100%;
	padding-top: 3rem;
	padding-bottom: 3rem;
	background: url(../../images/bg.jpg) no-repeat center center;
	background-attachment: scroll;
	background-size: auto;
	background-size: cover;
	background-attachment: fixed;
}

#breadcrumb ul {
	width: 100%;
	margin: 0 auto;
	display: flex;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
	list-style: none;
}

#breadcrumb ul li {
	margin-right: 0.5rem;
	letter-spacing: 0;
	font-size: clamp(12px, 1vw, 14px);
	font-family: "Arial", "Noto Sans JP", sans-serif;
}

#breadcrumb ul li a {
	font-family: "Arial", "Noto Sans JP", sans-serif;
}

#breadcrumb ul li:nth-child(1):before {
	content: "\f015";
	font-family: FontAwesome;
	margin-right: 0.5rem;
}

#breadcrumb ul li:after {
	content: "\f105";
	font-family: FontAwesome;
	margin-left: 0.5rem;
}

#breadcrumb ul li:last-child:after {
	content: none;
}

@media (max-width: 980px) {
	#breadcrumb {
		padding: 1rem 2rem 1rem 2rem;
		letter-spacing: 0;
	}

	#breadcrumb ul li {
		margin-right: 0.25rem;
	}

	#breadcrumb ul li:after {
		margin-left: 0.25rem;
	}

	#breadcrumb ul li a {}
}



/*ページナビ
***************************************/
.pagenav {
}

.pagenav ul {
	clear: both;
	text-align: center;
	display: flex;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: center;
	/* 横方向中央揃え（Safari用） */
	justify-content: center;
	/* 横方向中央揃え */
}

.pagenav ul li span.dots {
	position: relative;
	top: 1rem;
	padding: 0 1rem;
}


a.page-numbers,
.pagenav .current {
	background: #fff;
	border: solid 1px #ddd;
	padding: 6px 15px;
	margin: 5px 2px;
	text-decoration: none;
	display: inline-block;
	font-size: clamp(18px, 1.8vw, 24px);
}

.pagenav .current {
	background: #000;
	border: solid 1px #CCC;
	color: #fff;
	display: inline-block;
}

@media (max-width: 980px) {
.pagenav {
	padding: 0;
	clear: both;
	font-size: 1.2rem;
	margin-bottom: 0;
}
}


/* チェイン表示（fade + move）
***************************************/
.chain-group .chain-item {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 1s ease,
		transform 1s ease;
}

.chain-group .chain-item.fadein-chain {
	opacity: 1;
	transform: translateY(0);
}

/*スマホ用コンタクトボタン
***************************************/

@media screen and (min-width:980px) {
	#sp_contact {
		display: none;
	}

	#sp_link {
		display: none;
	}
}

@media (max-width:980px) {
	#sp_contact {
		position: fixed;
		bottom: 0;
		right: 0;
		width: 100%;
		z-index: 9999;
		border-top: 1px solid #FFF;
		border-bottom: 1px solid #FFF;
	}

	#sp_contact ul {
		display: flex;
		-webkit-flex-wrap: wrap;
		/* Safari */
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}

	#sp_contact li {
		width: 25%;
	}

	#sp_contact li:nth-child(2),
	#sp_contact li:nth-child(3),
	#sp_contact li:nth-child(4) {
		border-left: 1px solid #FFF;
	}

	#sp_contact li a {
		background: #273801;
		text-decoration: none;
		color: #fff;
		width: 100%;
		padding: 1.2em 0;
		text-align: center;
		display: block;
		font-size: 14px;
		letter-spacing: 0;
		font-family: "Arial", "Noto Sans JP", sans-serif;
		font-weight: 500;
	}

	#sp_contact li:nth-child(2) a {}

	#sp_contact li:nth-child(3) a {}

	#sp_contact a:hover {
		text-decoration: none;
		background: #e7484a;
		color: #FFF;
	}

	#sp_contact li a i {
		margin-right: 0.5rem;
	}

	#sp_link {
		display: block;
		position: absolute;
		top: 10px;
		right: 50px;
		z-index: 100;
	}

	#sp_link ul {
		display: flex;
		-webkit-flex-wrap: wrap;
		/* Safari */
		flex-wrap: wrap;
	}

	#sp_link ul li {
		width: 43px;
		margin: 0 0.25rem;
	}
}


/*ページトップ
***************************************/
div.scroll-btn {
	position: fixed;
	right: 6rem;
	z-index: 10000;
}

div.scroll-btn a {
	background: rgba(204, 204, 204, 0.5);
	width: 50px;
	height: 50px;
	display: block;
	text-align: center;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out;
}

div.scroll-btn a:hover {
	background: #000;
}

div.scroll-btn a i {
	font-size: 60px;
	line-height: .8;
	color: #fff;
	opacity: .8;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out
}

div.scroll-btn a:hover i {
	color: #FFF;
	opacity: 1;
}

@media (max-width: 980px) {
	div.scroll-btn {
		right: 2rem;
	}

	.grecaptcha-badge {
		bottom: 150px !important;
	}
}



/*WORDPRESSのCSS*/
.entry-header {
	position: relative;
	padding: 21rem 0 14rem 0;
	background: url(../../images/entry-header_bg.png) no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
	border-bottom: 15px solid #CCC;
}

.entry-header:after {
	content: "";
	display: block;
	background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
	width: 100%;
	height: 275px;
	position: absolute;
	top: 0;
	left: 0;
}

.entry-header #page_title {
	max-width: 1480px;
	margin: 0 auto;
	text-align: center;
}

.entry-header h1 {
	font-size: clamp(24px, 2.4vw, 36px);
	line-height: 1.4;
	font-weight: 700;
	color: #FFF;
	text-align: left;
	text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.25);
}

.entry-header h1:before {
	content: attr(data-eng);
	font-family: "Poppins", sans-serif;
	display: block;
	font-size: clamp(45px, 10vw, 125px);
	color: #FFF;
	line-height: 1;
	font-weight: normal;
	letter-spacing: 0;
}

@media only screen and (max-width: 980px) {
	.entry-header {
		padding: 9rem 2rem 6rem 2rem;
		border-bottom: 7.5px solid #CCC;
	}

	.entry-header:after {
		height: 100px;
	}
}

@media only screen and (max-width: 414px) {
	.entry-header #page_title {
		max-width: 1200px;
		margin: 0 auto;
	}

	.entry-header h1 {
		letter-spacing: 0;
	}

	.entry-header h1 span {}

}

/* 親はそのまま */
.deco {
	position: absolute;
	inset: 0;
	pointer-events: none;
	height: 300vw;
	overflow: hidden;
	top: 0;
}

/* 基本スラッシュ（位置・回転は個別で指定します） */
.slash {
	position: absolute;
	top: 0;
	width: 26vw;
	height: 300vw;
	opacity: 1;
	overflow: visible;
	pointer-events: none;

	/* ---- カスタムプロパティで回転とスケールを分離 ---- */
	--rot: 0deg;
	/* 各 .slash-X で上書き */
	--sy: 0;
	/* 0 -> 1 で伸びる */
	transform-origin: top center;
	/* デフォルト、個別で上書き可 */
	transform: rotate(var(--rot)) scaleY(var(--sy));
	transition: transform 20s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 表示（伸ばす） */
.slash.is-show {
	--sy: 1;
}

/* 各スラッシュ個別設定（回転と transform-origin はここで定義） */
.slash-1 {
	rotate: 45deg;
	transform-origin: right top;
	left: calc(50% + -42vw);
}

.slash-2 {
	rotate: -45deg;
	transform-origin: left top;
	left: calc(50% + -11vw);
}

.slash-3 {
	rotate: 45deg;
	transform-origin: right top;
	left: calc(50% + 50vw);
}

.bg-white01 {
	background: rgba(65, 92, 7, 0.03);
}

.bg-white02 {
	background: rgba(65, 92, 7, 0.03);
}

.bg-white03 {
	background: rgba(255, 255, 255, 0.15);
}

/* レスポンシブ調整はそのまま流用 */
@media (max-width: 980px) {
	.slash {
		width: 20vw;
		transition: transform 7.5s cubic-bezier(0.16, 1, 0.3, 1);
	}

	.slash-1 {
		left: calc(50% - -25vw);
	}
}


/* ==================================================
   🎨 CSS Animation Library - 70 Animations
   カテゴリ別
   トリガー: .trigger-load / .trigger-hover / .trigger-scroll
================================================== */


/* ================= fade 系 ================= */

/* 1. fade-in */
.anim-fade-in {
	opacity: 0;
	transition: opacity 0.5s ease-out;
}

.anim-fade-in.show {
	opacity: 1;
}

/* 2. fade-out */
.anim-fade-out {
	opacity: 1;
	transition: opacity 0.5s ease-out;
}

.anim-fade-out.show {
	opacity: 0;
}

/* 3. fade-up */
.anim-fade-up {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-up.show {
	opacity: 1;
	transform: translateY(0);
}

/* 4. fade-down */
.anim-fade-down {
	opacity: 0;
	transform: translateY(-20px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-down.show {
	opacity: 1;
	transform: translateY(0);
}

/* 5. fade-left */
.anim-fade-left {
	opacity: 0;
	transform: translateX(50px);
	transition: opacity 1s ease-out, transform 1s ease-out;
}

.anim-fade-left.show {
	opacity: 1;
	transform: translateX(0);
}

/* 6. fade-right */
.anim-fade-right {
	opacity: 0;
	transform: translateX(-20px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-right.show {
	opacity: 1;
	transform: translateX(0);
}

/* 7. fade-scale-up */
.anim-fade-scale-up {
	opacity: 0;
	transform: scale(0.8);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-scale-up.show {
	opacity: 1;
	transform: scale(1);
}

/* 8. fade-scale-down */
.anim-fade-scale-down {
	opacity: 0;
	transform: scale(1.2);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-scale-down.show {
	opacity: 1;
	transform: scale(1);
}

/* 9. fade-rotate-in */
.anim-fade-rotate-in {
	opacity: 0;
	transform: rotate(-15deg);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-rotate-in.show {
	opacity: 1;
	transform: rotate(0);
}

/* 10. fade-blur-in */
.anim-fade-blur-in {
	opacity: 0;
	filter: blur(5px);
	transition: opacity 0.5s ease-out, filter 0.5s ease-out;
}

.anim-fade-blur-in.show {
	opacity: 1;
	filter: blur(0);
}

/* ================= slide 系 ================= */

/* 11. slide-up */
.anim-slide-up {
	transform: translateY(20px);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-slide-up.show {
	transform: translateY(0);
	opacity: 1;
}

/* 12. slide-down */
.anim-slide-down {
	transform: translateY(-20px);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-slide-down.show {
	transform: translateY(0);
	opacity: 1;
}

/* 13. slide-left */
.anim-slide-left {
	transform: translateX(20px);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-slide-left.show {
	transform: translateX(0);
	opacity: 1;
}

/* 14. slide-right */
.anim-slide-right {
	transform: translateX(-20px);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-slide-right.show {
	transform: translateX(0);
	opacity: 1;
}

/* 15. slide-scale-up */
.anim-slide-scale-up {
	transform: translateY(20px) scale(0.8);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-slide-scale-up.show {
	transform: translateY(0) scale(1);
	opacity: 1;
}

/* 16. slide-scale-down */
.anim-slide-scale-down {
	transform: translateY(-20px) scale(1.2);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-slide-scale-down.show {
	transform: translateY(0) scale(1);
	opacity: 1;
}

/* 17. slide-rotate-in */
.anim-slide-rotate-in {
	transform: translateY(20px) rotate(-15deg);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-slide-rotate-in.show {
	transform: translateY(0) rotate(0);
	opacity: 1;
}

/* 18. slide-blur-in */
.anim-slide-blur-in {
	filter: blur(5px);
	opacity: 0;
	transition: filter 1s ease-out, opacity 1s ease-out;
}

.anim-slide-blur-in.show {
	filter: blur(0);
	opacity: 1;
}

/* ================= zoom/scale 系 ================= */


/* 19. zoom-in */
.anim-zoom-in {
	transform: scale(0.8);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-in.show {
	transform: scale(1);
	opacity: 1;
}

/* 20. zoom-out */
.anim-zoom-out {
	transform: scale(1.2);
	opacity: 1;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-out.show {
	transform: scale(1);
	opacity: 0;
}

/* 21. zoom-up */
.anim-zoom-up {
	transform: translateY(20px) scale(0.8);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-up.show {
	transform: translateY(0) scale(1);
	opacity: 1;
}

/* 22. zoom-down */
.anim-zoom-down {
	transform: translateY(-20px) scale(0.8);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-down.show {
	transform: translateY(0) scale(1);
	opacity: 1;
}

/* 23. zoom-left */
.anim-zoom-left {
	transform: translateX(20px) scale(0.8);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-left.show {
	transform: translateX(0) scale(1);
	opacity: 1;
}

/* 24. zoom-right */
.anim-zoom-right {
	transform: translateX(-20px) scale(0.8);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-right.show {
	transform: translateX(0) scale(1);
	opacity: 1;
}

/* 25. zoom-rotate-in */
.anim-zoom-rotate-in {
	transform: rotate(-15deg) scale(0.8);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-rotate-in.show {
	transform: rotate(0) scale(1);
	opacity: 1;
}

/* 26. zoom-blur-in */
.anim-zoom-blur-in {
	filter: blur(5px);
	opacity: 0;
	transition: filter 0.5s ease-out, opacity 0.5s ease-out;
}

.anim-zoom-blur-in.show {
	filter: blur(0);
	opacity: 1;
}

/* ================= flip/rotate 系 ================= */

/* 27. flip-x */
.anim-flip-x {
	transform: rotateX(90deg);
	opacity: 0;
	transition: transform 1s ease-out, opacity 1s ease-out;
	transform-style: preserve-3d;
	backface-visibility: hidden;
}

.anim-flip-x.show {
	transform: rotateX(0);
	opacity: 1;
}

/* 28. flip-y */
.anim-flip-y {
	transform: rotateY(90deg);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out !important;
	transform-style: preserve-3d;
	backface-visibility: hidden;
}

.anim-flip-y.show {
	transform: rotateY(0);
	opacity: 1;
}

/* 29. rotate-in */
.anim-rotate-in {
	transform: rotate(-180deg);
	opacity: 0;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
	transform-origin: center;
}

.anim-rotate-in.show {
	transform: rotate(0);
	opacity: 1;
}

/* 30. rotate-out */
.anim-rotate-out {
	transform: rotate(0);
	opacity: 1;
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
	transform-origin: center;
}

.anim-rotate-out.show {
	transform: rotate(180deg);
	opacity: 0;
}

/* ================= attention 系 ================= */

/* 31. shake */
.anim-shake {
	transform: translateX(0);
	transition: none;
}

.anim-shake.show {
	animation: shake-anim 0.5s ease-in-out 3;
}

@keyframes shake-anim {

	0%,
	100% {
		transform: translateX(0);
	}

	25% {
		transform: translateX(-5px);
	}

	50% {
		transform: translateX(5px);
	}

	75% {
		transform: translateX(-5px);
	}
}

/* 32. pulse */
.anim-pulse {
	transform: scale(1);
	transition: none;
}

.anim-pulse.show {
	animation: pulse-anim 0.5s ease-in-out infinite;
}

@keyframes pulse-anim {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.1);
	}
}

/* 33. bounce */
.anim-bounce {
	transform: translateY(0);
	transition: none;
}

.anim-bounce.show {
	animation: bounce-anim 0.5s ease-in-out infinite;
}

@keyframes bounce-anim {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

/* 34. wiggle */
.anim-wiggle {
	transform: rotate(0);
	transition: none;
}

.anim-wiggle.show {
	animation: wiggle-anim 0.5s ease-in-out 3;
}

@keyframes wiggle-anim {

	0%,
	100% {
		transform: rotate(0);
	}

	25% {
		transform: rotate(-5deg);
	}

	75% {
		transform: rotate(5deg);
	}
}

/* 35. swing */
.anim-swing {
	transform-origin: top center;
	transition: none;
}

.anim-swing.show {
	animation: swing-anim 0.5s ease-in-out 1;
}

@keyframes swing-anim {
	0% {
		transform: rotate(0);
	}

	20% {
		transform: rotate(15deg);
	}

	40% {
		transform: rotate(-10deg);
	}

	60% {
		transform: rotate(5deg);
	}

	80% {
		transform: rotate(-5deg);
	}

	100% {
		transform: rotate(0);
	}
}

/* ================= entrance 系 ================= */

/* 36. slide-in-left */
.anim-slide-in-left {
	transform: translateX(-100%);
	opacity: 0;
	transition: transform 1s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 1.6s ease;
}

.anim-slide-in-left.show {
	transform: translateX(0);
	opacity: 1;
}

/* 37. slide-in-right */
.anim-slide-in-right {
	transform: translateX(100%);
	opacity: 0;
	transition: transform 1s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 1.6s ease;
}

.anim-slide-in-right.show {
	transform: translateX(0);
	opacity: 1;
}

/* 38. slide-in-up */
.anim-slide-in-up {
	transform: translateY(10%);
	opacity: 0;
	transition: transform 0.75s ease-out, opacity 0.75s ease-out;
}

.anim-slide-in-up.show {
	transform: translateY(0);
	opacity: 1;
}

/* 39. slide-in-down */
.anim-slide-in-down {
	transform: translateY(-30%);
	opacity: 0;
	transition: transform 1s ease-out, opacity 1s ease-out;
}

.anim-slide-in-down.show {
	transform: translateY(0);
	opacity: 1;
}

/* 40. fade-in-scale */
.anim-fade-in-scale {
	opacity: 0;
	transform: scale(0.8);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-in-scale.show {
	opacity: 1;
	transform: scale(1);
}

/* ================= decorative/loop 系 ================= */

/* 41. spin */
.anim-spin {
	animation: spin-anim 2s linear infinite;
}

@keyframes spin-anim {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* 42. spin-reverse */
.anim-spin-reverse {
	animation: spin-reverse-anim 2s linear infinite;
}

@keyframes spin-reverse-anim {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(-360deg);
	}
}

/* 43. pulse-loop */
.anim-pulse-loop {
	animation: pulse-anim 2s ease-in-out infinite;
}

/* 44. bounce-loop */
.anim-bounce-loop {
	animation: bounce-anim 2s ease-in-out infinite;
}

/* 45. wiggle-loop */
.anim-wiggle-loop {
	animation: wiggle-anim 0.5s ease-in-out infinite;
}

/* 46. swing-loop */
.anim-swing-loop {
	animation: swing-anim 2s ease-in-out infinite;
}

/* 47. float */
.anim-float {
	animation: float-anim 3s ease-in-out infinite;
}

@keyframes float-anim {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

/* 48. heartbeat */
.anim-heartbeat {
	animation: heartbeat-anim 1.5s ease-in-out infinite;
}

@keyframes heartbeat-anim {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.2);
	}
}

/* 49. wiggle-small */
.anim-wiggle-small {
	animation: wiggle-small-anim 0.5s ease-in-out infinite;
}

@keyframes wiggle-small-anim {

	0%,
	100% {
		transform: rotate(0);
	}

	50% {
		transform: rotate(3deg);
	}
}

/* 50. shake-small */
.anim-shake-small {
	animation: shake-small-anim 0.3s ease-in-out infinite;
}

@keyframes shake-small-anim {

	0%,
	100% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(2px);
	}
}


/* ================= fade 系 続き ================= */

/* 51. fade-slide-up */
.anim-fade-slide-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-slide-up.show {
	opacity: 1;
	transform: translateY(0);
}

/* 52. fade-slide-down */
.anim-fade-slide-down {
	opacity: 0;
	transform: translateY(-30px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-slide-down.show {
	opacity: 1;
	transform: translateY(0);
}

/* ================= slide 系 続き ================= */

/* 53. slide-in-top-left */
.anim-slide-in-top-left {
	opacity: 0;
	transform: translate(-100%, -100%);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.anim-slide-in-top-left.show {
	opacity: 1;
	transform: translate(0, 0);
}

/* 54. slide-in-top-right */
.anim-slide-in-top-right {
	opacity: 0;
	transform: translate(100%, -100%);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.anim-slide-in-top-right.show {
	opacity: 1;
	transform: translate(0, 0);
}

/* ================= zoom/scale 系 続き ================= */

/* 55. zoom-in-big */
.anim-zoom-in-big {
	opacity: 0;
	transform: scale(0.5);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-zoom-in-big.show {
	opacity: 1;
	transform: scale(1);
}

/* 56. zoom-out-big */
.anim-zoom-out-big {
	opacity: 1;
	transform: scale(2);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-zoom-out-big.show {
	opacity: 0;
	transform: scale(1);
}

/* ================= flip/rotate 系 続き ================= */

/* 57. rotate-x-in */
.anim-rotate-x-in {
	opacity: 0;
	transform: rotateX(-90deg);
	transform-style: preserve-3d;
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-rotate-x-in.show {
	opacity: 1;
	transform: rotateX(0);
}

/* 58. rotate-y-in */
.anim-rotate-y-in {
	opacity: 0;
	transform: rotateY(-90deg);
	transform-style: preserve-3d;
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-rotate-y-in.show {
	opacity: 1;
	transform: rotateY(0);
}

/* ================= attention 系 続き ================= */

/* 59. pulse-slow */
.anim-pulse-slow {
	transform: scale(1);
	transition: none;
}

.anim-pulse-slow.show {
	animation: pulse-anim 3s ease-in-out infinite;
}

/* 60. shake-slow */
.anim-shake-slow {
	transform: translateX(0);
	transition: none;
}

.anim-shake-slow.show {
	animation: shake-anim 0.5s ease-in-out 3;
}

/* ================= entrance 系 続き ================= */

/* 61. drop-in */
.anim-drop-in {
	opacity: 0;
	transform: translateY(-200%);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.anim-drop-in.show {
	opacity: 1;
	transform: translateY(0);
}

/* 62. fade-in-left-big */
.anim-fade-in-left-big {
	opacity: 0;
	transform: translateX(-200%);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.anim-fade-in-left-big.show {
	opacity: 1;
	transform: translateX(0);
}

/* ================= decorative/loop 系 続き ================= */

/* 63. slow-spin */
.anim-slow-spin {
	animation: spin-anim 10s linear infinite;
}

/* 64. fast-spin */
.anim-fast-spin {
	animation: spin-anim 0.5s linear infinite;
}

/* 65. float-small */
.anim-float-small {
	animation: float-anim 1.5s ease-in-out infinite;
}

/* 66. heartbeat-fast */
.anim-heartbeat-fast {
	animation: heartbeat-anim 0.7s ease-in-out infinite;
}

/* 67. wiggle-tiny */
.anim-wiggle-tiny {
	animation: wiggle-small-anim 0.3s ease-in-out infinite;
}

/* 68. shake-tiny */
.anim-shake-tiny {
	animation: shake-small-anim 0.2s ease-in-out infinite;
}

/* ================= その他 ================= */

/* 69. bounce-small */
.anim-bounce-small {
	animation: bounce-anim 0.5s ease-in-out infinite;
}

/* 70. swing-slow */
.anim-swing-slow {
	animation: swing-anim 3s ease-in-out infinite;
}

.smooth {
	clip-path: inset(0 100% 0 0);
	/* 初期状態：右側を隠す */
	transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
	/* アニメーション設定 */
	transition-property: clip-path;
}

.smooth.show {
	clip-path: inset(0);
	/* アニメーション後：隠れた部分が表示 */
}



/* スマホ背景対応用 */
@media (max-width: 980px) {

	#contact_box {
		background: url(../../images/contact_bg_sp.png) no-repeat center center;
		background-size: cover;
	}

	#footer {
		background: url(../../images/footer_bg_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	#primary,
	#breadcrumb {
		background: url(../../images/bg_sp.jpg) no-repeat top center;
		background-size: cover;
	}

	.entry-header {
		background: url(../../images/entry-header_bg_sp.png) no-repeat top center !important;
		background-size: cover !important;
	}

	.cd-fixed-bg {
		position: relative;
		min-height: 100%;
		background-size: cover;
		background-attachment: fixed;
		background-repeat: no-repeat;
		background-position: center center;
		z-index: 2;
	}
}


/* コメント */

/* =========================================
   コメント全体
========================================= */

.comment_box {
  margin-top:9rem;
	padding:4.5rem 3rem;
	background:rgba(255,255,255,0.5);
}

.blog-main h2.comments-title {
	margin-bottom: 2.5rem;
	font-size: clamp(16px, 1.6vw, 20px);
}

@media (max-width: 980px) {
.comment_box {
  margin-top:4.5rem;
	padding:3rem 2rem;
}
}

/* =========================================
   コメント一覧
========================================= */
.comment-list {
  list-style: none;
  margin: 0 0 4rem;
  padding: 0;
}

.comment-list li.comment {
  margin-bottom: 2.5rem;
}

/* =========================================
   コメント本体
========================================= */
.comment-body {
  background: #FFF;
  padding: 2.5rem;
  border-radius: 0.5rem;
}

/* 管理者コメント（bypostauthorが付与されている場合） */
.bypostauthor > .comment-body {
  background: #F5F5F5;
  width: 90%;
  margin-left: auto;
}

/* 投稿者名 */
.comment-author {
  margin-bottom: 1rem;
}

.comment-author .fn {
  font-weight: bold;
  font-style: normal;
}

/* 投稿日 */
.comment-meta {
  margin-bottom: 1rem;
}

.comment-meta a {
  color: #777;
  text-decoration: none;
  font-size:13px;
}

.comment-meta a:hover {
  text-decoration: underline;
}

.logged-in-as {
	line-height:1.8;
	margin-bottom:1.5rem;
}

.required-field-message {
	display:block;
}

/* 本文 */
.comment-body p {
  margin-bottom: 1rem;
  line-height: 1.9;
  word-break: break-word;
}

/* =========================================
   返信ボタン
========================================= */
.reply {
  margin-top: 1.5rem;
  text-align:right;
}

.comment-reply-link {
  display: inline-block;
  text-decoration: none;
  color: #000;
  border: 0.1rem solid #415c07;
  padding: 0.75rem 0.75rem 0.5rem 0.75rem;
  white-space: nowrap;
  writing-mode: horizontal-tb;
  border-radius: 0.4rem;
}

.comment-reply-link:hover {
  opacity: 0.6;
}

/* =========================================
   コメントフォーム
========================================= */
#respond {
}

#reply-title  {
	border:none;
	padding-left:0;
	font-size: clamp(16px, 1.4vw, 20px);
	position:relative;
	line-height: 1.5;
	padding:0 0 0 1.5rem;
	margin-bottom: 3rem;
}

#reply-title :before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  width: 2px;
  height: 80%;
  background: #415c07;
}

.comment-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* ラベル */
.comment-form label {
  display: block;
  margin-bottom: 1rem;
}

/* 入力欄 */
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"] {
  width: 100%;
  padding: 1rem;
  border: 0.1rem solid #ccc;
  border-radius: 0.4rem;
  background: #ffffff;
  box-sizing: border-box;
}

.comment-notes {
	line-height:1.8;
}

.comment-form input[type="text"],
.comment-form input[type="email"] {
  width: 50%;
}

.comment-form-comment,
.comment-form-author,
.comment-form-cookies-consent {
	margin-bottom:1.5rem;
}

.comment-form textarea {
  min-height: 12rem;
  resize: vertical;
}

.comment-form input:focus,
.comment-form textarea:focus {
  border-color: #000;
  outline: none;
}

.required {
	color:#F00;
}

/* Cookie */
.comment-form-cookies-consent {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.comment-form-cookies-consent input {
  width: auto;
}

.comment-form-cookies-consent label {
	margin-bottom:0;
	font-size:15px;
}

/* CAPTCHA */
#siteguard_captcha {
  padding: 0.8rem;
  border: 0.1rem solid #ccc;
  border-radius: 0.4rem;
  background: #ffffff;
  margin-top: -1.5rem;
}

/* CAPTCHA画像を2倍表示 */
.comment-form img[alt="CAPTCHA"] {
  width: 100%;
  max-width: 100px;   /* お好みで調整 */
  height: auto;
}

/* 送信ボタン */
.form-submit {
  margin-top: 1.5rem;
}

.form-submit .submit {
  padding: 1rem 2rem;
  background: #415c07;
  color: #fff;
  border: none;
  border-radius: 0.4rem;
  cursor: pointer;
}

.form-submit .submit:hover {
  background: #333;
}

/* =========================================
   レスポンシブ
========================================= */
@media (max-width: 768px) {

.comment-body {
	padding: 2rem;
}

.bypostauthor > .comment-body {
	width: 100%;
}

.form-submit {
	margin-top:0;
	text-align:center;
}

.form-submit .submit {
}

}

.contact-form.commentsblock {
	padding-top:9rem;
	margin-top:6rem;
	border-top:1px solid #DDD;
}

.contact-form label {
	font-weight:500 !important;
	margin-bottom:1rem !important;
}

.contact-form .grunion-field-wrap input {
    height: 50px !important;
    padding: 0.25rem 1rem !important;
    width: 80% !important;
    border: 1px solid #DDD !important;
    box-sizing: border-box !important;
    font-size: clamp(18px, 1.6vw, 20px) !important;
    background: #FAFAFA !important;
    border-radius: 5px !important;
}

.contact-form textarea {
    padding: 0.25rem 1rem !important;
    width: 100% !important;
    border: 1px solid #DDD !important;
    box-sizing: border-box !important;
    font-size: clamp(18px, 1.6vw, 20px) !important;
    background: #FAFAFA !important;
    border-radius: 5px !important;
}

p.contact-submit button {
    padding: 1rem 2rem;
    background: #415c07;
    color: #fff;
    border: none;
    border-radius: 0.4rem;
    cursor: pointer;
    line-height: 1;
}

p.contact-submit button:hover {
  background: #333;
}

/* =========================================
   レスポンシブ
========================================= */
@media (max-width: 768px) {
.contact-form.commentsblock {
	padding-top:4.5rem;
	margin-top:3rem;
}
}










