@charset "utf-8";
/* 初期設定
================================*/
:root{
    /* カラー指定 */
    --white: #ffffff;
    --black: #000000;
    --main-orange:#ef8200;
    --accent-yellow:#fabe00;
    --bg-gray: #1d1d1d;
}
html{
	margin: 0;
	padding: 0;
	font-size: 62.5%;
	scroll-snap-type: y mandatory;
	/* overflow-y: scroll;*/
	overflow-x: hidden;
}
*,*::before,*::after{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body{
	font-size: 1rem;
	font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
	line-height: 1.7;
}

a{
	transition: all 0.3s ease-in-out;
}
a:hover{
	opacity: 0.7;
	transition: all 0.3s ease-in-out;
}
.pc-only{
	display: block;
}
.sp-only{
	display: none;
}
@media (max-width:768px){
	.pc-only{
		display: none;
	}
	.sp-only{
		display: block;
	}
}
/* ヘッダー設定
================================*/
.header{
	width: 100%;
	height: auto;
	margin: auto;
	background-color: var(--white);
	border-top: 3px solid #000;
	border-bottom: 3px solid #000;
}
.header-inner{
	max-width: 1280px;
	margin: 0 auto;
	padding: 10px 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.global-nav{
	display: flex;
	gap: 40px;
	align-items: center;
	font-size: 2.5rem
}
.gnav-item a{
	position: relative;
}
.gnav-item a::after{
	content: "";
	display: block;
	width: 0;
	border-bottom: 2px solid #000;
	margin:0 auto -5px;
	transition: width 0.3s ease-in-out;
}
.gnav-item a:hover::after{
	width: 100%;
}
@media (max-width: 768px){
	h1 img{
		width: 200px;
	}
	.header{
		height: auto;
	}
	.toggle {
		display: block;
		width: 50px;
		height: 50px;
		cursor: pointer;/*カーソルが乗ったらポインターに変化させる*/
		position: relative;
		position: fixed;
		top: 10px;
		right: 10px;
		z-index: 10;
		}
	.toggle span {
		display: block;
		position: absolute;
		width: 50px;
		border-bottom: solid 3px #333;/*ボーダーで実装*/
		-webkit-transition: 0.2s ease;/*変化の速度を指定*/
		-moz-transition: 0.2s ease;	/*変化の速度を指定*/
		transition: 0.2s ease;	/*変化の速度を指定*/
	}
	/*三本ラインを少しずつずらしていきます。*/
	.toggle span:nth-child(1) {
		top:5px;
	}
	.toggle span:nth-child(2) {
		top: 18px;
	}
	.toggle span:nth-child(3) {
		top: 32px;
	}
	
	/*----------クリックしたら、(.active)にパスし、
	斜めに変形させ×(クローズ)にする ------------------------*/
	/* 最初のspanをマイナス45度に */
	
	.toggle.active span:nth-child(1) {
		top: 18px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	
	/* 2番目と3番目のspanを45度に */
	.toggle.active span:nth-child(2),
	.toggle.active span:nth-child(3) {
		top: 18px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	nav{
		transform: translate3d(100%,0,0);
		transition: all 0.3s ease-in-out;
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		/* height: 100%; */
		right: 0;
		z-index: 6;
		background-color: #fff;
		padding: 15px 0;
	}
	nav.active{
		transform: translate3d(0,0,0);
		transition: all 0.3s ease-in-out;
	}
	.global-nav{
		width: 100%;
		z-index: 5;
		flex-direction: column;
	}
}

/* メインビジュアル設定
================================*/
.main-visual{
	scroll-snap-type: y mandatory;
	width: 100%;
	background: url("../img/mainvisual.jpg") no-repeat center center;
	background-size: cover;
	/* min-height: 718px; */
	height: calc(100vh - 146px);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	/* scroll-snap-align: start; */
}
.main-visual::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	/* min-height: 718px; */
	background-color: rgba(0,0,0,0.2);
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}
.main-copy{
	font-size: 4.5rem;
	color: var(--white);
	font-weight: 700;
	text-shadow:
    	2px 2px 0 #5e5e5e,
    	-2px 2px 0 #5e5e5e,
    	-2px -2px 0 #5e5e5e,
    	2px -2px 0 #5e5e5e;
	text-align: center;
	position: relative;
	z-index: 3;
}
@media (max-width:768px){
	.main-visual{
		min-height:calc(100vh - 106px);
	}
	.main-visual::after{
		min-height:calc(100vh - 106px);
	}
	.main-copy{
		font-size: 3rem;
	}

}
/* アバウトセクション設定
================================*/
.about{
	width: 100%;
	background-color: #f7faf8;
	text-align: center;
	color:#5e5e5e;
	/* scroll-snap-align: start; */
}
.about-header{
	padding: 50px 0;
	font-size: 7.5rem;
}
.about-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.about-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
.about-body{
	max-width: 100%;
	margin: auto;
	min-height: 1000px;
	background: url(../img/mainbg.jpg) no-repeat center top;
	background-size: cover;
}
.about-body-inner{
	max-width: 900px;
	color: #fff;
	margin: 0 auto;
	padding: 50px;
	background-color: rgba(12,95,51,0.5);
	text-align: left;
}
.about-body-inner h3{
	font-size: 4.5rem;
	line-height: 2.5;
	margin-bottom: 30px;
}
.about-body-inner p{
	font-size: 3rem;
	line-height: 2.5;
	margin-bottom: 30px;
}
.about-btn{
	display: inline-block;
	padding: 20px 40px;
	background-color: #0c5f33;
	color: var(--white);
	font-size: 3rem;
	text-decoration: none;
	width: 529px;
	height: 105px;
	text-align: center;
	border: 2px solid #aed0ba;
}
@media (max-width:768px){
	.about-header{
		font-size: 3rem;
	}
	.about-header::before{
		width: 30px;
		margin-bottom: 10px;
	}
	.about-header::after{
		width: 30px;
		margin-bottom: 10px;
	}
	.about-body{
		min-height: 500px;
	}
	.about-body-inner{
		padding: 30px;
	}
	.about-body-inner h3{
		font-size: 2.3rem;
		line-height: 2;
	}
	.about-body-inner p{
		font-size: 1.8rem;
		line-height: 2;
	}
	.about-btn{
		display: block;
		font-size: 2rem;
		width: 250px;
		margin: auto;
		height: 60px;
		padding: 10px;
	}
}
/* PICKUPセクション設定
================================*/
.pickup{
	width: 100%;
	max-width: 1400px;
	margin: auto;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	min-height: 1570px;
}
.pickup-header{
	padding: 50px 0;
	font-size: 7.5rem;
}
.pickup-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.pickup-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
.pickup-body{
	max-width: 100%;
	margin: auto;
	min-height: 1000px;
	display: flex;
	position: relative;
}
.pickup-bg{
	width: 90%;
	background: url(../img/recruit.jpg) no-repeat center top;
	background-size: cover;
}
.pickup-body-inner{
	max-width: 900px;
	color: #fff;
	margin: 0 auto;
	padding: 50px;
	background-color: rgba(12,95,51,1);
	text-align: left;
	position: absolute;
	right: 0;
	top: 100px;
	z-index: 3;
}
.pickup-body-inner h3{
	font-size: 7.5rem;
	line-height: 2.5;
	margin-bottom: 30px;
}
.pickup-body-inner p{
	font-size: 3rem;
	line-height: 2;
	margin-bottom: 30px;
}
.pickup-btn{
	display: inline-block;
	padding: 20px 40px;
	background-color: #fff;
	color: var(--black);
	font-size: 5.5rem;
	text-decoration: none;
	width: 748px;
	height: 141px;
	text-align: center;
	border: 2px solid #000;
	position: absolute;
	right: 500px;
	bottom: -180px;
}
@media(max-width:768px){
	.pickup{
		min-height: auto;
	}	
	.pickup-header{
		font-size: 3rem;
	}
	.pickup-header::before{
		width: 30px;
		margin-bottom: 10px;
	}
	.pickup-header::after{
		width: 30px;
		margin-bottom: 10px;
	}
	.pickup-body{
		min-height: 500px;
		flex-direction: column;
	}
	.pickup-body-inner{
		position: relative;
		padding: 30px;
		top: 0;
		width: 100%;
		text-align: center;
	}
	.pickup-bg{
		width: 100%;
		min-height: 450px;
		background-position: 0 top;
	}
	.pickup-body-inner h3{
		font-size: 2.3rem;
		line-height: 2;
	}
	.pickup-body-inner p{
		font-size: 1.8rem;
		line-height: 2;
	}
	.pickup-btn{
		position: relative;
		font-size: 1.75rem;
		width: 250px;
		margin: auto;
		height: auto;
		bottom: 0;
		right: inherit;
		margin-top: 10px;
		padding: 20px 40px;
	}

}
/* 施工事例セクション設定
================================*/
.jirei{
	/* width: 100%; */
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	padding-top: 50px;
	height: 100vh;
}
.jirei-header{
	padding: 15px 30px;
	font-size: 4.5rem;
	border: 2px dashed #5e5e5e;
	width: 450px;
	text-align: center;
	margin: 0 auto 40px;
}
.jirei-img{
	/* width: 100%; */
	/* max-height: 95vh; */
	object-fit: cover;
	height: 100vh;
}
.dot{
	display: flex;
	justify-content: center;
	gap: 20px;
	align-items: center;
	padding: 30px 0;
}
.dot span{
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #cdcbcb;	
}
@media (max-width:768px){
	.jirei{
		height: auto;
	}
	.jirei-header{
		font-size: 3rem;
		width: 300px;
	}
	.jirei-img{
		max-height: 500px;
	}
	.dot{
		padding: 10px 0;
	}
	.dot span{
		width: 10px;
		height: 10px;
	}
}
/*社長あいさつセクション設定
================================*/
.person{
	width: 100%;
	max-width: 1500px;
	margin: auto;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	min-height: 1570px;
	padding-top: 50px;
	padding-bottom: 450px;
}
.person-header{
	padding: 50px 0;
	font-size: 7.5rem;
}
.person-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.person-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
.person-body{
	max-width: 100%;
	margin: auto;
	min-height: 1000px;
	display: flex;
	position: relative;
}
.person-bg{
	/* width: 70%;
	background: url(../img/president2.png) no-repeat left top;
	min-height: 1280px;
	background-size: cover; */
	/* display: flex;
	align-items: flex-end; */
	position: relative;
}
.person-bg img{
	width: 120%;
}
.p-name-en{
	text-shadow: 0 0 1px #5e5e5e;
}
.president-txt{
	color: #fff;
	text-align: left;
	font-size: 3.75rem;
	margin-left: 30px;
	position: absolute;
	left: 10px;
	bottom: 10px;
}
.president-txt span{
	display: inline-block;
	font-size: 5rem;
	margin-top: 30px;
}
.person-body-inner{
	max-width: 700px;
	color: #fff;
	margin: 0 auto;
	background-color: rgba(12,95,51,1);
	text-align: right;
	position: absolute;
	right: 0;
	top: 50px;
	z-index: 3;
	padding-bottom: 50px;
}
.person-body-inner h3{
	font-size: 7.5rem;
	line-height: 1.5;
	margin-bottom: 30px;
	text-align: left;
	padding:50px 0 0 50px;
}
.person-body-inner p{
	font-size: 3.5rem;
	line-height: 2.3;
	margin-bottom: 30px;
	padding: 50px;
	text-align: left;
}
.person-btn{
	display: inline-block;
	padding: 20px 40px;
	background-color: #fff;
	color: var(--black);
	font-size: 5.5rem;
	text-decoration: none;
	width: auto;
	height: 141px;
	text-align: center;
	border: 2px solid #000;
	margin-left: auto;
	/* position: absolute;
	right: 500px;
	bottom: -180px; */
}
@media (max-width:768px){
	.person{
		min-height: auto;
		padding-bottom: 0;
	}
	.person-header{
		font-size: 3rem;
	}
	.person-header::before{
		width: 30px;
		margin-bottom: 10px;
	}
	.person-header::after{
		width: 30px;
		margin-bottom: 10px;
	}
	.person-body{
		min-height: 500px;
		flex-direction: column;
	}
	.person-bg img{
		max-width: 100%;
	}
	.person-body-inner{
		position: relative;
		padding: 30px;
		top: 0;
		width: 100%;
		text-align: center;
	}
	.person-bg{
		width: 100%;
		min-height: 450px;
	}
	.president-txt{
		font-size: 2.3rem;
		margin-left: 20px;
	}
	.president-txt span{
		font-size: 3rem;
	}
	.person-body-inner h3{
		font-size: 2.3rem;
		line-height: 2;
		text-align: center;
    	padding: 30px 0;
	}
	.person-body-inner p{
		font-size: 1.8rem;
		line-height: 2;
		padding: 10px;
	}
	.person-btn{
		position: relative;
		font-size: 1.75rem;
		width: 250px;
		margin: auto;
		height: auto;
		bottom: 0;
		right: inherit;
		margin: 15px auto 50px;
	}
}
/*先輩紹介セクション設定
================================*/
.senpai{
	width: 100%;
	background-color: #0D525F;
	text-align: center;
	color:#5e5e5e;
	position: relative;
	min-height: 664px;
}
.senpai-body{
	margin-top: 50px;
	width: 90%;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	background: url(../img/senpai.jpg) center top;
	background-size: cover;
	min-height: 800px;	
	margin: auto;
}
.senpai-btn{
	display: block;
	position: absolute;
	right: -2px;
	width: 800px;
	padding: 20px 40px;
	border: 2px solid #000 ;
	font-size: 8rem;
	bottom: -80px;
	background-color: #fff;
}
@media(max-width:768px){
	.senpai{
		min-height: 300px;
		padding-bottom: 50px;
	}
	.senpai-body{
		width: 100%;
		min-height: 300px;
	}
	.senpai-btn{
		width: 250px;
		font-size: 2rem;
		bottom: inherit;
		position: relative;
		margin: 30px auto 0;
	}
}
/*フッター前メニューセクション設定
================================*/
.footer-menu1{
	width: 100%;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	position: relative;
	margin-top: 200px;
	/* padding-bottom: 150px; */
}
.footer-menu1-list{
	display: flex;
	gap: 70px;
	justify-content: center;
}
.footer-menu1-img{
	min-height: 300px;
}
.footer-menu1-item a{
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	max-width: 270px;
}
.footer-menu1-item a h3{
	font-size: 3rem;
}
@media(max-width:768px){
	.footer-menu1{
		margin-top: 50px;
	}
	.footer-menu1-list{
		/* flex-direction: column; */
		justify-content: center;
		align-items: center;
		gap: 40px;
	}
	.footer-menu1-item{
		width: calc((100% - 80px) / 3);
	}
	.footer-menu1-item a h3{
		font-size: 1.3rem;
	}
	.footer-menu1-img{
		min-height: inherit;
	}
	.footer-menu1-item a img{
		width: 100%;
	}
}
/*フッターメニューセクション設定
================================*/
.footer-menu2{
	width: 100%;
	background-color: #0c5f33;
	text-align: center;
	color:#fff;
	position: relative;
	margin-top: 150px;
	padding-bottom: 100px;
	font-size: 2.7rem;
	letter-spacing: 3px;
}
.footer-menu2-header{
	font-size: 8rem;
	padding: 80px 0;
}
.footer-menu2-list{
	display: flex;
	gap: 80px;
	justify-content: center;
}
.footer-menu2-inner{
	display: flex;
	justify-content: center;
	gap: 45px;
	text-align: left;
}
.footer-menu2-item a{
	display: inline-block;
	width: fit-content;
}
.footer-menu2-item a::after{
	content: "";
	display: block;
	width: 0;
	border-bottom: 2px solid #fff;
	margin:0 auto -5px 0;
	transition: width 0.3s ease-in-out
}
.footer-menu2-item a:hover::after{
	width: 100%;
	transition: all 0.3s ease-in-out;
}
@media(max-width:768px){
	.footer-menu2{
		margin-top: 50px;
	}
	.footer-menu2-header{
		font-size: 3rem;
		padding: 30px 0;
	}
	.footer-menu2-list{
		flex-direction: column;
	}
	.footer-menu2-inner{
		flex-direction: column;
		text-align: center;
	}
	.footer-menu2-item a{
		font-size: 2rem;
	}

}
/*フッターセクション設定
================================*/
.footer{
	width: 100%;
	background-color: #333;
	text-align: center;
	color:#fff;
	position: relative;
	padding: 50px 0;
	font-size: 2rem;
}


/*slick独自設定
================================*/
.slick-dots{
	bottom: 20px;
}
.slick-dots li button:before{
	font-size: 3rem;
}
.slick-prev,
.slick-next{
	cursor: pointer;
	z-index: 10;
}
.slick-prev{
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	transform: scale(2);
}
.slick-next{
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	transform: scale(2);
}
@media(max-width:768px){
	.slick-dots{
		bottom: -50px;
	}
}

/*採用情報ページ
================================*/
#recruit .main-visual{
	background: url("../img/recruit-main.jpg") no-repeat center center;
	background-size: cover;
	/* min-height: 740px; */
}
#recruit .main-visual .main-copy{
	letter-spacing: 2px;
	font-weight: normal;
}
@media (max-width: 768px){
	#recruit .main-visual {
		height: auto;
		min-height: 220px;
    	/* min-height: calc(100vh - 106px); */
	}
	#recruit .main-visual::after{
		min-height: inherit;
	}
}
#recruit .about{
	background-color: #fff;
}
#recruit .about-body{
	background-image: none;
	min-height: inherit;
}
#recruit .about-body-inner{
	max-width: 95%;
	width: 1200px;
	margin: 0 auto;
	background-color: inherit;
	text-align: center;
}
#recruit .about-body-inner .about-desc{
	color: #5e5e5e;
	font-weight: 700;
}
#recruit .about-body-inner p{
	margin-bottom: 0;
}
.scroll-btn{
	transform: rotate(90deg);
	font-size: 7rem;
}
.about-video video{
	width: auto;
	margin: 50px auto;
	max-width: 1000px;
}
@media(max-width:768px){
	.about-video video{
		max-width: 100%;
	}
}
.persona{
	width: 100%;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	position: relative;
}
.persona .persona-header{
	padding: 50px 0;
	font-size: 3.6rem;
	font-weight: 700;
}
.persona .persona-body{
	width: 900px;
	background-color: #b3cec0;
	margin: auto;
	padding: 50px;
	font-size: 3.6rem;
	font-weight: 700;
}
@media(max-width:768px){
	.persona .persona-body{
		width: 100%;
		font-size: 2rem;
	}
}
.p-message-inner{
	width: 960px;
	margin: 150px auto;
	display: flex;
	gap: 15px;
	align-items: center;
	border: 3px dashed #5e5e5e;
	padding: 15px;
}
.p-message-left{
	width: 45%;
	text-align: center;
	font-size: 3.6rem;
	font-weight: 700;
	color: #5e5e5e;
}
.p-message-left .p-name{
	font-size: 4.5rem;
	font-weight: 700;

}
.p-message-right{
	width: 55%;
}
.p-message-right img{
	max-width: 100%;
}
a.p-btn{
	display: block;
	width: 90%;
	margin: auto;
	padding: 15px 70px;
	background-color: #0c5f33;
	color: #fff;
	font-weight: normal;
	font-size: 2rem;
	margin-top: 40px;
	cursor: pointer;
}
a.p-btn p{
	position: relative;
}
a.p-btn p::after{
	content: "";
	display: inline-block;
	height: 15px;
	width: 15px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	position: absolute;
	right: 0;
	top: 12px;
	transform: rotate(-135deg);
	transition: all 0.3s ease-in-out;
}
a.p-btn:hover p::after{
	right: -10px;
	transition: all 0.3s ease-in-out;
}
@media(max-width:768px){
	.p-message-inner{
		width: 95%;
		margin: 50px auto;
		flex-direction: column-reverse;
	}
	.p-message-left{
		width: 100%;
	}
	.p-message-right{
		width: 100%;
	}
	a.p-btn{
		width: 90%;
		margin: auto;
		padding: 15px 70px;
		background-color: #0c5f33;
		color: #fff;
		font-weight: normal;
		font-size: 2rem;
		margin-top: 40px;
		cursor: pointer;
	}
	a.p-btn p::after{
		right: -15px;
	}

}
.interview{
	width: 100%;
	margin: auto;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
}
.interview-header{
	font-size: 7.5rem;
}
.interview-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.interview-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
.interview-body{
	max-width: 100%;
	margin: auto;
	min-height: 552px;
	background: url(../img/interview1.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}
.interview-body .interview-detail{
	position: absolute;
	bottom: 30px;
	right: 10%;
	width: auto;
	height: auto;
	padding: 30px 45px;
	color: #fff;
	font-size: 3rem;
	background-color: rgba(0,0,0,0.25);
	text-align: left;
}
.interview-detail .interview-detail-name{
	font-size: 4.5rem;
}
@media(max-width:768px){
	.interview-header{
		font-size: 4.75rem;
	}
	.interview-header::before{
		width: 30px;
		margin-bottom: 15px;
	}
	.interview-header::after{
		width: 30px;
		margin-bottom: 15px;
	}
	.interview-body{
		min-height: 300px;
	}
	.interview-body .interview-detail{
		position: relative;
		bottom: inherit;
		right: inherit;
		width: 100%;
		min-height: 300px;
		padding: 30px 15px;
		color: #fff;
		font-size: 2.5rem;
		background-color: rgba(0,0,0,0.25);
		text-align: left;
	}
}
.event{
	width: 100%;
	margin: auto;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	margin-top: 100px;
}
.event-header{
	font-size: 7.5rem;
}
.event-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.event-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
@media(max-width:768px){
	.event-header{
		font-size: 4.75rem;
	}
	.event-header::before{
		width: 30px;
		margin-bottom: 15px;
	}
	.event-header::after{
		width: 30px;
		margin-bottom: 15px;
	}
}
.afcf{
	width: 100%;
	margin: auto;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	margin-top: 100px;
}
.afcf-header{
	font-size: 7.5rem;
}
.afcf-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.afcf-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
.afcf-detail{
	margin-top: 50px;
	font-size: 2.5rem;
}
.red{
	color: #f00;
}
@media(max-width:768px){
	.afcf-header{
		font-size: 4.75rem;
	}
	.afcf-header::before{
		width: 20px;
		margin-bottom: 15px;
	}
	.afcf-header::after{
		width: 20px;
		margin-bottom: 15px;
	}
	.afcf-detail{
		font-size: 2rem;
	}
	.afcf-body{
		width: 90%;
		margin: auto;
		text-align: left;
	}
}

/*会社概要ページ
================================*/
#company .main-visual{
	background: url("../img/company-main.jpg") no-repeat center center;
	background-size: cover;
	/* min-height: 740px; */
}
#company .main-visual .main-copy{
	letter-spacing: 2px;
	font-weight: normal;
}
@media (max-width: 768px){
	#company .main-visual {
		height: auto;
		min-height: 220px;
    	/* min-height: calc(100vh - 106px);
		background-position-x: 85%; */
	}
	#company .main-visual::after{
		min-height: inherit;
	}
}
.company-outline{
	width: 100%;
	background-color: #fff;
	text-align: center;
	color:#333;
	position: relative;
	margin-top: 50px;
}
.company-outline-header{
	font-size: 7.5rem;
	color: #5e5e5e;
}
@media(max-width:768px){
	.company-outline-header{
		font-size: 5rem;
	}
}
.company-outline-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.company-outline-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
.company-outline-body{
	max-width: 1200px;
	margin: auto;
}
.company-table-wrapper{
	width: 100%;
	overflow-x: scroll;
	border-collapse: collapse;
	font-size: 3rem;
	margin: 50px auto;
}
.company-table-wrapper th,
.company-table-wrapper td{
	margin-bottom: 40px;
	display: inline-block;
}
.company-table-wrapper th{
	font-weight: normal;
	width: 30%;
}
.company-table-wrapper td{
	width: 70%;
	text-align:left;
}
.company-table-inner td{
	width: fit-content;
	/* margin-right: 30px; */
}
.company-table-inner td.left{
	min-width: 50%;
}
@media(max-width:767px){
	.company-table-wrapper{
		font-size: 1.5rem;
		width: 95%;
	}
	.company-table-wrapper th{
		text-align: center;
	}
}
.company-map-header{
	font-size: 7.5rem;
	color: #5e5e5e;
	text-align: center;
}
@media(max-width: 768px){
	.company-map-header{
		font-size: 3.7rem;
	}
	.company-map-header::before{
		width: 30px!important;
		margin-bottom: 15px!important;
	}
	.company-map-header::after{
		width: 30px!important;
		margin-bottom: 15px!important;
	}
}
.company-map-body{
	max-width: 1200px;
	margin: auto;
}
.company-map-body img{
	max-width: 100%;
}
.company-map-body-2{
	max-width: 1200px;
	margin: auto;
	display: flex;
	flex-shrink: stretch;
}
.company-map-body-2 img{
	max-width: 100%;
}
.company-map-body-2 .company-map-body-inner{
	width: 50%;
}
.company-map-body-2 .company-map-jpg{
	width: 50%;
}
.mt-50{
	margin-top: 50px;
}
.flex{
	display: flex;
	flex-wrap: wrap;
	/* font-size: 2.7rem; */
}
.flex span{
	display: inline-block;
	width: fit-content;
	/* margin-right: 50px; */
	text-align: left;
}
.flex span:nth-of-type(2n+1){
	width: 45%;
}
.p-message > img{
	max-width: 100%;
}
.p-message{
	width: 100%;
	text-align: center;
	margin: 90px auto 40px;
}
.p-message img{
	display: block;
	margin: 30px auto;
}
.mt-100{
	margin-top: 100px!important;
}
@media(max-width:768px){
	/* .flex span{
		font-size: 2.25rem;
	} */
	.flex span:nth-of-type(2n+1){
		width: 100%;
	}
}
/*採用Q&Aページ
================================*/
#recruitqa .main-visual{
	background: url("../img/recruitqa-main.jpg") no-repeat center bottom;
	background-size: cover;
	/* min-height: 740px; */
	text-align: center;
	margin: auto;
}
#recruitqa .main-visual .main-copy{
	letter-spacing: 2px;
	font-weight: normal;
}
@media (max-width: 768px){
	#recruitqa .main-visual {
		height: auto;
		min-height: 220px;
    	/* min-height: calc(100vh - 106px); */
	}
	#recruitqa .main-visual::after{
		min-height: inherit;
	}
}
.recruit-qa{
	width: 100%;
	background-color: #fff;
	text-align: center;
	color:#333;
	position: relative;
	text-align: center;
	margin: auto;
	margin-top: 50px;
}
.recruit-qa img {
	margin: auto;
	max-width: 100%;
}
.recruit-qa .entry-btn{
	display: block;
	margin: 50px auto;
}

/*募集要項　エントリーフォーム
================================*/
#recruitinfo .main-visual{
	background: url("../img/entry-main.jpg") no-repeat center center;
	background-size: cover;
	/* min-height: 740px; */
	text-align: center;
	margin: auto;
	flex-direction: column;
}
#recruitinfo .main-visual .main-copy{
	letter-spacing: 2px;
	font-weight: normal;
}
.main-copy-sub{
	font-size: 3.6rem;
	margin-top: 50px;
	color: #fff;
	z-index: 10;
}
@media (max-width: 768px){
	#recruitinfo .main-visual {
		height: auto;
		min-height: 220px;
    	/* min-height: calc(100vh - 106px); */
	}
	#recruitinfo .main-visual::after{
		min-height: inherit;
	}
	.main-copy-sub{
		font-size: 1.7rem;
		margin-top: 15px;
	}
}
.recruit-shokushu{
	width: 100%;
	background-color: #fff;
	text-align: center;
	color:#333;
	position: relative;
	text-align: center;
	margin: auto;
	margin-top: 50px;
}
.recruit-shokushu-inner{
	max-width: 1200px;
	margin: auto;
}
.shokushu{
	display: flex;
	justify-content: flex-start;
	gap: 60px;
	margin-bottom: 40px;
	align-items: center;
}
.shokushu figcaption{
	text-align: left;
}
.shokushu.reverse figcaption h4{
	text-align: right;
}
.shokushu.reverse figcaption h4::after{
	margin-left: auto;
}
.reverse{
	flex-direction: row-reverse;
}
.shokushu figcaption p{
	font-size: 3rem;
	margin: 20px 0;
}
.shokushu .shokushu-name{
	font-size: 4rem;
}
.shokushu .shokushu-name h4{
	font-size: 5rem;
}
.shokushu .shokushu-name h4::after{
	content: "";
	display: block;
	width: 200px;
	height: 10px;
	background-color: #0c5f33;
	margin-top: 10px;
	/* margin-left: 2rem; */
}
.shokushu .shokushu-name a{
	display: block;
	padding: 20px 80px;
	background-color: #0c5f33;
	color: #fff;
	width: fit-content;
	margin-right: auto;
}
.shokushu .shokushu-name a.right{
	margin-right: 0;
	margin-left: auto;
}
.entry-outline-body{
	max-width: 1000px;
	margin: auto;
}
.entry-table-wrapper{
	width: 100%;
	overflow-x: scroll;
	border-collapse: collapse;
	font-size: 3rem;
	margin: 50px auto;
}
.entry-table-wrapper th,
.entry-table-wrapper td{
	margin-bottom: 40px;
	display: inline-block;
}
.entry-table-wrapper th{
	font-weight: normal;
	width: 30%;
}
.entry-table-wrapper td{
	width: 70%;
	text-align:left;
}
.entry-btn img{
	max-width: 100%;
}
.shokushu-header{
	font-size:2.5rem;
	line-height: 2.7;
}
.shokushu-header::before{
	content: "";
	display: inline-block;
	width: 60px;
	height: 2px;
	margin-bottom: 10px;
	/* margin-right: 15px; */
	background-color:#0c5f33;
	transform: rotate(45deg);
}
.shokushu-header::after{
	content: "";
	display: inline-block;
	width: 60px;
	height: 2px;
	margin-bottom: 10px;
	/* margin-left: 15px; */
	background-color:#0c5f33;
	transform: rotate(-45deg);
}
@media(max-width:767px){
	/* .main-copy-sub{
		font-size: 2.7rem;
	} */
	.shokushu{
		width: 95%;
		margin: auto;
		gap: 30px;
		align-items: center;
		margin-bottom: 30px;
		flex-direction: column;
	}
	.shokushu-header{
		font-size: 2.0rem;
		line-height: 2.7;
	}
	.shokushu-header::before{
		width: 40px;
	}
	.shokushu-header::after{
		width: 40px;
	}
	.shokushu figcaption p{
		font-size: 2rem;
	}
	.entry-outline-body{
		width: 95%;
	}
	.shokushu .shokushu-img img{
		width: 100%;
	}
	.shokushu .shokushu-name h4 {
		font-size: 2.75rem;
		text-align: center;
	}
	.shokushu.reverse figcaption h4{
		text-align: center;
	}
	.shokushu .shokushu-name h4::after{
		margin-left: auto;
		margin-right: auto;
	}
	.shokushu .shokushu-name p{
		margin: 20px auto;
	}
	.shokushu .shokushu-name a{
		margin: 20px auto;
	}
	.shokushu .shokushu-name a.right {
		margin-right: auto;
		margin-left: auto;
	}
	.shokushu .shokushu-name{
		font-size: 2.25rem;
	}
	.entry-table-wrapper{
		font-size: 1.5rem;;
	}
	.entry-table-wrapper th{
		text-align: center;
	}
	.entry-btn > img{
		max-width: 330px;
	}
}

/* AFCF通信リスト
================================*/
#afcf.main-visual{
	background: url("../img/fishing.jpg") no-repeat center top;
	background-size: cover;
}
.afcf-list{
	max-width: 1000px;
	margin: 50px auto;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	font-size: 1.8rem;
	flex-wrap: wrap;
}
.afcf-item{
	width: calc((100% - 40px)/ 3);
}
.afcf-item > a{
	display: block;
}
@media(max-width:768px){
	.afcf-list{
		flex-direction: column;
	}
	.afcf-item{
		width: 100%;
		text-align: center;
	}
}

/*型枠工事とは
================================*/
#katawaku .main-visual{
	background: url("../img/katawaku-main.jpg") no-repeat center center;
	background-size: cover;
	/* min-height: 740px; */
	text-align: center;
	margin: auto;
	flex-direction: column;
}
@media (max-width: 768px){
	#katawaku .main-visual {
		height: auto;
		min-height: 220px;
		/* min-height: calc(100vh - 106px);*/
	}
	#katawaku .main-visual::after{
		min-height: inherit;
	}
}
.katawaku{
	width: 100%;
	max-width: 1500px;
	margin: auto;
	background-color: #fff;
	text-align: center;
	color:#5e5e5e;
	/* min-height: 1570px; */
	padding-top: 50px;
	/* padding-bottom: 450px; */
}
.katawaku-header{
	padding: 50px 0;
	font-size: 7.5rem;
}
.katawaku-header::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-right: 20px;
	background-color: #5e5e5e;
}
.katawaku-header::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 3px;
	margin-bottom: 25px;
	margin-left: 20px;
	background-color: #5e5e5e;
}
.katawaku-body{
	max-width: 100%;
	margin: auto;
	/* min-height: 1000px; */
	/* display: flex;
	position: relative; */
}
.katawaku-body img{
	text-align: center;
	max-width: 100%;
	height: auto;
}
.katawaku-bg{
	/* width: 70%;
	background: url(../img/president2.png) no-repeat left top;
	min-height: 1280px;
	background-size: cover; */
	/* display: flex;
	align-items: flex-end; */
	position: relative;
}
/* .katawaku-bg img{
	width: 120%;
} */
.katawaku-txt{
	color: #fff;
	text-align: left;
	font-size: 3.75rem;
	margin-left: 30px;
	position: absolute;
	left: 10px;
	bottom: 10px;
}
.katawaku-body-inner{
	max-width: 800px;
	color: #fff;
	margin: 0 auto;
	background-color: rgba(12,95,51,1);
	text-align: right;
	position: absolute;
	right: 0;
	top: 50px;
	z-index: 3;
	padding-bottom: 50px;
}
.katawaku-body-inner h3{
	font-size: 7.5rem;
	line-height: 1.5;
	margin-bottom: 30px;
	text-align: center;
	padding:50px 0 0 50px;
}
.katawaku-body-inner p{
	font-size: 3.5rem;
	line-height: 2.3;
	margin-bottom: 30px;
	padding: 50px;
	text-align: left;
}
@media(max-width:768px){
	/* .katawaku{
		padding-top: 0;
	} */
	.katawaku-body{
		flex-direction: column;
		position: inherit;
	}
	.katawaku-body-inner{
		position: inherit;
	}
	.katawaku-body-inner h3{
		font-size: 3.5rem;
		padding: 30px;
	}
	.katawaku-bg img{
		display: none;
	}
	.katawaku-body-inner p{
		font-size: 2.5rem;
		padding: 0 30px;
		margin-bottom: 0;
	}
}
.flow{
	width: 100%;
	color: #5e5e5e;
	margin-top: 100px;
}
.flow h2{
	padding: 50px 0;
	font-size: 7.5rem;
	text-align: center;
}
.flow-inner{
	max-width: 1128px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flow-item{
	width: 30%;
	margin-bottom: 50px;
	text-align: center;
	position: relative;
}
.flow-item:not(:nth-of-type(3n)):after{
	content: "";
	display: inline-block;
	width: 53px;
	height: 38px;
	background: url(../img/arrow.png) no-repeat center center;
	position: absolute;
	top: 150px;
	right: -15%;
}
.flow-item h3{
	font-size: 5rem;
}
.flow-item h4{
	font-size: 5rem;
	margin-top: 40px;
}
@media(max-width:768px){
	.flow{
		margin-top: 50px;
	}
	.flow h2{
		font-size: 3.5rem;
		padding: 10px 0;
	}
	.flow-item h3{
		font-size: 3rem;
	}
	.flow-inner{
		flex-direction: column;
		gap: 50px;
	}
	.flow-item{
		width: 100%;
	}
	.flow-item:not(:nth-of-type(3n)):after{
		right: 44%;
		bottom: -20%;
		top: inherit;
		transform: rotate(90deg);
	}
	.flow-item:nth-of-type(3n):after{
		content: "";
		display: inline-block;
		width: 53px;
		height: 38px;
		background: url(../img/arrow.png) no-repeat center center;
		position: absolute;
		right: 44%;
		bottom: -20%;
		top: inherit;
		transform: rotate(90deg);
	}
	.flow-item:nth-of-type(9n):after{
		display: none;
	}
	.flow-item > img{
		width: 100%;
	
	}
	.flow-item h4{
		font-size: 2.3rem;
		margin-top: 10px;
	}
}
.process{
	width: 100%;
	background-color: #f7faf8;
	text-align: center;
	color:#5e5e5e;
	/* scroll-snap-align: start; */
}
.process-body{
	max-width: 100%;
	margin: auto;
	min-height: 757px;
	background: url(../img/process.jpg) no-repeat center top;
	background-size: cover;
}
.process-title{
	text-align: center;
}
.process-body-inner{
	max-width: 1200px;
	color: #fff;
	margin: 0 auto;
	padding: 50px 120px;
	background-color: rgba(12,95,51,0.5);
	text-align: left;
	min-height: 757px;
}
.process-body-inner h3{
	font-size: 4.5rem;
	line-height: 2.5;
	margin-bottom: 30px;
}
.process-body-inner p{
	font-size: 3.5rem;
	line-height: 2.5;
	margin-bottom: 30px;
}
@media(max-width:768px){
	.process-body{
		min-height: 300px;
	}
	.process-body-inner{
		padding: 30px;
		min-height: 300px;
	}
	.process-body-inner h3{
		font-size: 2.75rem;
		line-height: 1.5;
	}
	.process-body-inner p{
		font-size:1.75rem;
		line-height: 1.5;
	}
}

/*福利厚生
================================*/
#fukuri .main-visual{
	background: url("../img/fukuri-main.jpg") no-repeat center center;
	background-size: cover;
	/* min-height: 740px; */
	text-align: center;
	margin: auto;
	flex-direction: column;
}
#fukuri .main-visual::after{
	display: none;
}
#fukuri .main-visual .main-copy{
	text-shadow: none;
}
#fukuri .main-visual h3{
	letter-spacing: 2px;
	font-weight: normal;
	color: #fff;
	font-size: 2.75rem;
	z-index: 3;
}
@media (max-width: 768px){
	#fukuri .main-visual {
		height: auto;
		min-height: 220px;
		/* min-height: calc(100vh - 106px);*/
	}
	#fukuri .main-visual h3{
		font-size: 2rem;
	}
}
#fukuri .main-header{
	font-weight: normal;
	font-size: 7.5rem;
	color: #5e5e5e;
	width: fit-content;
	margin: 50px auto;
	background: linear-gradient(transparent 97%, #5e5e5e 0%);
}
.kasugaryo{
	position: relative;
}
.kasugaryo-inner{
	margin: auto;
	width: fit-content;
}

.kasugaryo-ttl{
	max-width: 900px;
	margin-left: auto;
	margin-right: 10%;
	position: relative;
	top: -7rem;
}
.kasugaryo-ttl.left{
	margin-left: 10%;
	margin-right: auto;
}
.kasugaryo-ttl h3{
	font-size: 4.5rem;
	background-color: #0c5f33;
	color: #fff;
	font-size: 4.5rem;
	padding: 50px 100px;
	text-align: center;
	width: 900px;
}
.kasugaryo-ttl p{
	padding: 50px 100px;
	font-size: 3rem;
	line-height: 2.25;
}
@media(max-width: 768px){
	.kasugaryo img{
		max-width: 100%;
	}
	.kasugaryo-ttl{
		top: 0;
		margin: auto;
	}
	.kasugaryo-ttl.left{
		margin: auto;
	}
	.kasugaryo-ttl h3{
		font-size: 3rem;
		padding: 30px;
		width: 100%;
	}
	.kasugaryo-ttl p{
		padding: 15px;
		font-size: 1.75rem;
	}

}

/*施工事例
================================*/
#jirei.main-visual{
	background: url("../img/jirei-main.jpg") no-repeat center center;
	background-size: cover;
	/* min-height: 740px; */
	text-align: center;
	margin: auto;
	flex-direction: column;
}
@media (max-width: 768px){
	#jirei.main-visual {
		height: auto;
		min-height: 220px;
		/* min-height: calc(100vh - 106px);*/
	}
	#jirei.main-visual::after{
		display: none;
	}
}
.example-tax{
	margin-top: 50px;
}
.example-title{
	width: 37%;
	text-align: center;
	margin-right: auto;
	font-size: 3rem;
	background-color: #0c5f33;
	color: #fff;
	padding: 40px 0;
}
.example-wrap{
	max-width: 1500px;
	margin: 50px auto;
	display: flex;
	justify-content: center;
	row-gap: 70px;
	column-gap: 200px;
	flex-wrap: wrap;
}
.example-item{
	width: 650px;
}
.example-item-img img{
	width: 100%;
	object-fit: cover;
	object-position: center top;
	aspect-ratio: 441/297;
}
.example-item-title{
	font-size: 2.5rem;
	line-height: 2;
	text-align: center;
}
@media(max-width:1500px){
	.example-wrap{
		max-width: 1200px;
		column-gap: 80px;
	}
	.example-item{
		width: 550px;
	}
}
@media(max-width:1200px){
	.example-wrap{
		max-width: 1000px;
		column-gap: 50px;
	}
	.example-item{
		width: 450px;
	}
}
@media(max-width:768px){
	.example-title{
		width: 100%;
		margin-right: auto;
		font-size: 2.5rem;
		padding: 30px 0;
	}
	.example-wrap{
		flex-direction: column;
		gap: 30px;
	}
	.example-item{
		width: 100%;
	}
	.example-item-img img{
		width: 100%;
	}
}

/* モーダルのセッティング */
/* モーダルを開くボタン */
.modal-open{
	cursor: pointer;
}
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 50%);
    padding: 40px 20px;
    /* overflow: auto; */
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 9999;
}
.modal-open:hover{
    opacity: 0.7;
    transition: 0.3s;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active {
    opacity: 1;
    visibility: visible;
}
/*モーダル枠の指定*/
.modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 980px;
    width: 85%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content {
    background: #fff;
    text-align: left;
    padding: 30px;
	max-height: 90vh;
	overflow-x: hidden;
	overflow-y: auto;
}
/* モーダルフォームの見出し装飾 */
.u-oubo{
	font-size: 3rem;
    display: inline-block;
    width: fit-content;
    border-bottom: 3px solid #0c5f33;
}
.modal-content input[type="text"],
.modal-content input[type="email"],
.modal-content input[type="tel"],
.modal-content input[type="number"],
.modal-content select,
.modal-content textarea{
	width: 100%;
	padding: 10px;
	margin: 10px 0;
	font-size: 1.8rem;
	border: 1px solid #ccc;
}
.modal-content input[type="submit"]{
	display: block;
	width: fit-content;
	padding: 20px 40px;
	margin: 10px auto;
	font-size:2.5rem;
	border: none;
	background-color: #0c5f33;
	color: #fff;
	cursor: pointer;
	text-align: center;
}
.modal-content dl{
	margin-top: 30px;
	margin-bottom: 20px;
}
.modal-content dt{
	font-size: 2rem;
	font-weight: 700;
}
.modal-content dd{
	font-size: 2rem;
	margin-left: 20px;
}
/* コンタクトフォーム7の
　　エラーメッセージ装飾 */
.wpcf7-response-output{
	font-size: 2rem;
}
.modal-content.contactform{
	max-height: inherit;
}
@media(max-width:768px){
	.modal-content input[type="text"],
	.modal-content input[type="email"],
	.modal-content input[type="tel"],
	.modal-content input[type="number"],
	.modal-content select,
	.modal-content textarea{
		font-size: 1.5rem;
	}
	.modal-content input[type="file"]{
		font-size: 1.25rem;
	}
	.modal-content input[type="submit"]{
		font-size: 2rem;
	}
	.modal-content dl{
		margin-bottom: 10px;
		flex-direction: column;
	}
	.modal-content dt{
		font-size: 2rem;
		width: 100%!important;
	}
	.modal-content dd{
		font-size: 2rem;
		margin-left: 10px;
	}
	.wpcf7-response-output{
		font-size: 2rem;
	}
}

/* afcfボタン */
@media(max-width:768px){
	#afcf.main-visual{
		min-height: 220px;
		height: auto;
	}
	#afcf.main-visual::after{
		display: none;
	}
}
.afcf-btn{
	display: block;
	width: fit-content;
	padding: 20px 80px;
	background-color: #0c5f33;
	color: #fff;
	font-size: 2.5rem;
	cursor: pointer;
	text-align: center;
	margin: auto;
}


/* 2024.9追加 */
/* 社内行事
================================*/
#event.main-visual {
	background: url("../img/uminogazo.jpg") no-repeat center top;
	background-size: cover;
}

.event-breadcrumbs {
	width: 100%;
	font-size: 1.25rem;
	text-align: left;
}
.afcf-body-blog{
	display: flex;
	max-width: 1000px;
	margin: auto;
	align-items: flex-start;
}
.event-list {
	max-width: 740px;
	margin: 50px auto;
	display: flex;
	align-items: stretch;
	gap: 20px;
	font-size: 1.8rem;
	flex-wrap: wrap;
}

.sidebar{
	width: 240px;
	margin: 50px 0;
}

.sidebar-list li{
	font-size: 2rem;
	text-align: left;
	margin: 20px auto;
}
.sidebar-list li a{
	display: block;
	height: 100%;
	width: 100%;
	background-color: #efefef;
	padding: 20px;
}
.sidebar-title{
	text-align: left;
	font-size: 2rem;
    padding-left: 15px;
    background-color: #fff;
    display: block;
    border-bottom: 1px solid #d8d8d8;
	position: relative;
}
.sidebar-title::before{
	content: "";
	display: inline-block;
	width: 5px;
	height: 20px;
	margin-right: 10px;
	background-color: #0A6033;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.event-item {
	width: calc((100% - 40px) / 2);
	background-color: #f6f6f6;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}
.event-item-desc{
	padding: 10px 15px
}
.afcf-item-date{
	font-weight: bold;
	text-align: left;
}
.event-item>a {
	display: block;
}

.event-item img {
	width: 100%;
	aspect-ratio: 1.5/1;
	object-fit: cover;
	height: auto;
}

.event-cont {
	max-width: 1000px;
	font-size: 2rem;
	margin: 50px auto;
}

.event-item-title {
	font-size: 2rem;
	text-align: left;
	margin: 1rem 0;
}

.event-item-title-single{
	font-size: 3rem;
	text-align: center;
	margin: 1.5rem 0;
	position: relative;
}
.event-item-title-single::after{
	content: "";
    width: 100.5px;
    height: 0;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    border: 1px solid #0c5f33;
    background-color: #0c5f33;
}
.event-cont-body {
	margin-top: 50px;
	text-align: left;
}

@media (max-width: 768px) {
	#event.main-visual {
		height: auto;
		min-height: 220px;
	}

	#event.main-visual::after {
		display: none;
	}

	.afcf {
		margin-top: 50px;
	}

	.event-list {
		flex-direction: column;
	}

	.event-item {
		width: 100%;
	}

	.event-item img {
		width: 100%;
	}

	.event-cont {
		width: 95%;
	}

	.event-item-title {
		font-size: 1.5rem;
		margin: 2rem 0;
	}

	.event-item-title-single{
		font-size: 2.5rem;
	}

	.event-cont-body {
		font-size: 1.5rem;
	}
	.afcf-body-blog{
		display: block;
		max-width: 90%;
	}
	.sidebar{
		width: 100%;
	}
	
}
/* ページネーション
================================*/
.pagination {
	display: flex;
	justify-content: center;
}
.nav-links{
	display:flex;
}
.page-numbers{
	display:inline-block;
	margin-right:10px;
	padding:10px 20px;
	color:#666666;
	border-radius:3px;
	background:#ffffff;
	border: 1px solid #666666;
	font-size: 1.5rem;
}
.page-numbers.current{
	padding:10px 20px;
	background:#0c5f33;
	color:#ffffff;
}
.page-numbers.prev,
.page-numbers.next{
	background:transparent;
	box-shadow:none;
	border:none;
	color:#666666; 
}
.page-numbers.dots{
	background:transparent;
	box-shadow:none;
	border:none;
	color:#666666; 
}
/* afcf通信追加設定
================================*/
.afcf-body-archive{
	display: flex;
	max-width: 1000px;
	margin: auto;
	align-items: flex-start;
}
.afcf-list-archive {
	width: 740px;
	margin: 50px auto;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	font-size: 1.8rem;
	flex-wrap: wrap;
}
@media (max-width: 768px) {
	.afcf-body-archive{
		display: block;
		max-width: 90%;
	}
	.afcf-list-archive {
		width: 100%;
		margin: 50px auto;
	}
}
/* その他
================================*/
.mb50 {
	margin-bottom: 50px;
}

/* wpネイティブ設定
================================*/
.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.alignright {
	float: right;
	margin-bottom: 20px;
	margin-left: 20px;
}

.alignleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}

.wp-caption,
[class*="wp-image"] {
	display: block;
	max-width: 100% !important;
	margin-top: 1.5em;
	text-align: center;
}

.wp-caption-text {
	margin-top: 0;
}
.event-cont-body {
	display: flow-root;
}