#wrap{
    max-width: none;
}

/*-----------FrontPage-----------*/
.front-view{
	width:100%;
	position:relative;
}

.front-view h1:before{
	content:none;
}

.front-main{
	width:100%;
	display: block;
}

.front-txt-wrap{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	max-width: 1500px;
    width:80vw;
	margin:auto;
	letter-spacing: 0.1em;
	height:100%;
	display: flex;
	align-items: center;
	font-size:80%;
}

/*
.top-textsvg{
	position:absolute;
	left:2em;
	width:20%;
	height: auto;
}
*/

.front-view-txt{
	/*top:0;
	bottom:0;
	margin-left:2em;*/
	position:absolute;
	width:45%;
	min-width: 180px;
	height: auto;
}

.front-view-txt h2{
	font-family: "Open Sans";
	font-weight: normal;
	font-size:2.25em;
	margin-bottom:1em;
	color:#FFF;
}

.front-view-txt p{
	font-size:1.1em;
	margin-top:1.5em;
	color:#FFF;
	letter-spacing: .1em;
}

.front-phone img{
    margin: 0 auto;
}

.front-page section{
	padding-top:3em;
	padding-bottom:2em;
}

.front-page section h2{
	font-family: "Open Sans";
	text-align: center;
	font-weight: normal;
	font-size: 2em;
	margin-bottom:1.5em;
	text-decoration: underline;
	text-underline-offset: 0.5em;
	letter-spacing: .1em;
}

.centering-cont{
	justify-content: center;
	display: flex;
}

.front-page section .button-area{
	margin-top:3em;
}

@media screen and (max-width:615px) {
	.front-view.front-pc{
		display: none;
	}
	
}

@media screen and (max-width:768px) {
	.front-page .work-card-text{
		box-sizing: border-box;
	}
}

@media screen and (min-width:615px) {
	.front-view.front-phone{
		display: none;
	}
	
}

/*-----front service-----*/
.front-service{
	margin: 0 1%;
  	width: 98%;
}

.front-2col-cont{
	display: flex;
	justify-content: space-between; /* 余白を均等に配置 */
	margin-bottom:1em;
	align-items: stretch;
}

.front-2col-inner{
	background-color: #e9e9e9;
	width:40%;
	margin-right: 1%;
	margin-left: 1%;
	flex: 1;
	padding:2em;
	display: flex;
}

.front-service-image{
	width:30%;
	margin-right:2em;
	display: flex;
}

.front-service-text{
	flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	letter-spacing: 0.05em;
}

.front-service-text h3{
	letter-spacing: .1em;
}

.cb{
	display: none; /* モーダル表示用（スマホのみ） */
  }

@media screen and (max-width: 950px) {
	.front-2col-cont{
		display: block;
	}

	.front-2col-inner{
		width:90%;
        margin:auto 1% 1em;
		height:100%;
        padding:2em 4%;
	}

	.front-service-image {
	width:15%;
	}

	.front-page section .button-area{
		margin-top:2em;
	}
}

@media screen and (max-width: 710px) {
	.front-2col-inner{
		display: block;
	}

	.front-service-image{
		width:100%;
		aspect-ratio: 2.5/1;
		margin-bottom:1em;
	}
	/* ▼モーダル表示用（スマホのみ） */
	  .more_btn{
		display: block;
		margin:1.5em auto 0;
		background-color: black;
		color: #fff;
		padding: 10px 30px;
		text-decoration: none;
		font-size: 1em;
		box-shadow: 0 5px 0 #d2d2d2;
		display: inline-block;
		transition: .3s;
	  }

	  .more_btn:hover{
		color: #fff;
		transform: translateY(5px);
		box-shadow: 0 0 0 #d2d2d2;
	}

	  .cb ~ .more_btn::before {
		content: "▼ 続きを読む";
	  }
	  .cb:checked ~ .more_btn::before {
		content: "▲ 閉じる";
	  }
	  
	  .more_wrap{
		display: none;
	  }
	  .cb:checked ~ .more_wrap{
		display: block;
	  }
	/* ▲モーダル表示用（スマホのみ） */
}

/*-----front SNS-----*/
.front-sns-icon a{
	font-size:5em;
	text-decoration: none;
	color:#2d2d2d;
	margin:auto 0.2em;
	padding-bottom:0.2em;
}

.front-sns-icon a:hover{
	color:#006400;
	text-shadow: #006400 1px 1px 1px;
}

.front-sns-icon{
	text-align: center;
	margin:auto;
}

/*-----front Posts-----*/
.front-posts-box{
	background-color: #fff;
	border:1px solid #2d2d2d;
	max-width:1500px;
	width:65%;
	margin: auto;
	padding:1.2em 2em;
}

.post-item{
	display: flex;
	padding:0.5em 0;
}

.post-date{
	font-family: 'Open Sans';
	letter-spacing: .1em;
	padding-right:2em;
}

.post-title a{
	text-decoration: none;
	color:black;
	letter-spacing: .1em;
}

.post-title a:hover{
	text-decoration: underline;
	text-underline-offset:0.5em;
	color:#006400;
}

@media screen and (max-width:520px) {
	.post-item{
		display:block;
		margin-bottom:0.3em;
	}
	
	.post-date{
		padding-bottom:0.3em;
	}
}

/*-----front Contact-----*/
.front-contact{
	text-align: center;
}


.front-contact p{
	letter-spacing: .1em;
}

.front-form{
	margin-top: 3em;
}

.front-contact .wpcf7 input[type="submit"]{
	display: block;
}
