@charset "utf-8";

/* ##########################################################################
Pages
########################################################################## */

/*==================================================
news
===================================*/

#news-contents{
	width: 100%;
	padding: 80px 160px 80px;
	background-image: url("../images/news-plant-bg.webp");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100%;
}

.news-inner{
	width: 960px;
	height: 1346px;
	margin: 0px auto;
	margin-top: 180px;
	transform: scale(1.0);
}

.news-inner-bg{
	width: 100%;
	height: 100%;
	background-image: url("../images/news-board-bg.webp");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100%;
	padding: 300px 160px 0 160px;
}

.news-inner h2{
	text-align: center;
	color: #77502d;
	letter-spacing: 0.03em;
	margin-bottom: 10px;
	line-height: 1.3;
}

.news-inner h2 span:first-child{
	display: block;
	font-size: 40px;
}

.news-inner h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.news-inner p{
	margin: 10px 0;
}

.news-archive{
	width: 100%;
	height: 550px;
	overflow-y: auto;
}

.news-archive-box{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 15px;
	border-bottom: 1px solid #256a4d;
}

.news-archive-box div.news-archive-img{
	width: 22%;
}

.news-archive-box div.news-archive-summary{
	width: 68%;
}

.news-archive-box div.news-archive-summary a{
	color: #77502d;
}

.news-archive-box p.news-archive-date{
	color: #77502d;
	font-size: 14px;
	margin-bottom: 10px;
}

.news-archive-box div.news-archive-summary a:hover{
	color: #000;
}

/* wp-pagenavi */
.wp-pagenavi {
	width: 80%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 20px 0;
	font-size: 20px;
	font-family: "Kaisei Tokumin", serif;
	font-weight: 700;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	width: 44px;
	height: 44px;
	text-align: center;
	display: flex;
	padding-top: 3px;
	justify-content: center;
	margin: 0 3px;
	font-weight: 700;
	font-size: 20px;
	border-radius: 50%;
	background-color: #256a4d;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	color: #fff;
}
.wp-pagenavi a.first {
	display: none;
}
.wp-pagenavi a.previouspostslink:hover,
.wp-pagenavi a.nextpostslink:hover {
	background: #ffd75d;
}

.wp-pagenavi a, .wp-pagenavi span {
	border:none !important;
}

.wp-pagenavi .pages, .wp-pagenavi .last{
	display: none;
}

.wp-pagenavi .page,
.wp-pagenavi .current {
	width: 44px;
	height: 44px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 3px;
	color: #256a4d;
	font-weight: 700;
	font-size: 20px;
	border-radius: 50%;
}
.wp-pagenavi .page:hover {
	background: #ffd75d;
	color: #256a4d;
}
.wp-pagenavi .current {
	background: #ffd75d;
	color: #256a4d;
}
.wp-pagenavi .extend{
	color: #256a4d;
	margin: 0 3px;
	border: none;
}

.news-post{
	width: 100%;
	padding: 0 20px;
	color: #77502d;
}

.news-post-date{
	font-size: 14px;
	margin-bottom: 8px;
	text-align: right;
}

.news-post h3{
	font-size:20px;
	margin-bottom: 16px;
	text-align: center;
}

.news-post-inner{
	width: 100%;
	height: 490px;
	overflow-y: auto;
	margin-bottom: 40px;
}

.news-post img{
	margin-bottom: 20px;
}

.news-back-btn{
	text-align: right;
}

.news-back-btn a{
	color: #256a4d;
	transition: 0.3s;
}
.news-back-btn a:hover{
	color: #77502d;
}

.news-back-btn a span::before{
	content: "";
	display: inline-block;
	background-image: url("../images/icon-prev-arrow.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: left top;
	width: 24px;
	height: 24px;
	margin-right: 12px;
	transform: translateY(6px);
	transition: 0.3s;
}

.news-back-btn a:hover span::before{
	background-image: url("../images/icon-prev-arrow-hover.png");
}

@media screen and (max-width: 1200px){
	#news-contents{
		padding: 80px 40px 0px;
	}
	.news-inner{
		transform: scale(0.8);
		margin-top: 40px;
	}
}

@media screen and (max-width: 960px){
	#news-contents{
		padding: 56px 20px 60px;
		background-image: url("../images/news-plant-bg-sp.webp");
		background-repeat: no-repeat;
		background-position: left top;
		background-size: 100%;
	}
	.news-inner{
		width: 335px;
		height: 615px;
		margin-top: 120px;
		transform: scale(1.0);
	}
	.news-inner-bg{
		background-image: url("../images/news-board-bg-sp.webp");
		padding: 110px 48px 0 48px;
	}
	.news-inner h2 {
		line-height: 1.2;
		margin-bottom: 3px;
	}
	.news-inner h2 span:first-child{
		font-size: 26px;
	}
	.news-inner h2 span:nth-child(2){
		font-size: 14px;
	}
	.news-archive{
		height: 325px;
	}
	.news-archive-box{
		padding: 10px 0;
	}
	.news-archive-box div.news-archive-img{
		width: 32%;
	}
	.news-archive-box div.news-archive-summary{
		width: 62%;
	}
	.news-archive-box div.news-archive-summary h3{
		font-size: 12px;
		color: #77502d;
		line-height: 1.3;
	}
	.news-archive-box p.news-archive-date{
		font-size: 11px;
		margin-bottom: 3px;
	}
	/* wp-pagenavi */
	.wp-pagenavi {
		width: 100%;
		padding: 3px 0;
		font-size: 12px;
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		width: 22px;
		height: 22px;
		padding-top: 0px;
		padding-bottom: 4px;
		align-items: center;
		margin: 0 2px;
		font-size: 12px;
	}
	.wp-pagenavi .page,
	.wp-pagenavi .current {
		width: 22px;
		height: 22px;
		margin: 0 2px;
		font-size: 12px;
	}
	.wp-pagenavi .extend{
		color: #256a4d;
		margin: 0 2px;
	}
	.news-post-date{
		font-size: 11px;
		margin-bottom: 3px;
	}
	.news-post h3{
		font-size: 12px;
		margin-bottom: 8px;
		text-align: left;
	}
	.news-post-inner{
		width: 100%;
		height: 230px;
		overflow-y: auto;
		margin-bottom: 6px;
		font-size: 12px;
	}
	.news-post img{
		margin-bottom: 10px;
	}
	.news-back-btn a{
		font-size: 12px;
	}
	.news-back-btn a span::before{
		width: 14px;
		height: 14px;
		margin-right: 6px;
		transform: translateY(3px);
	}
}

@media screen and (max-width: 767px){
	#news-contents{
		padding: 56px 20px 40px;
	}
	.news-inner{
		margin-top: 40px;
	}
}

/*==================================================
contact
===================================*/

#contact-contents{
	width: 100%;
	padding: 80px 160px 80px;
}

.contact-title{
	width: 100%;
	position: relative;
	padding: 80px 0 40px;
}

.contact-title h2{
	text-align: center;
	color: #77502d;
	letter-spacing: 0.03em;
	margin-bottom: 10px;
	line-height: 1.3;
}

.contact-title h2 span:first-child{
	display: block;
	font-size: 40px;
}

.contact-title h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.contact-bird{
	width: 90px;
	position: absolute;
	top: 20%;
	left: 60%;
}

.contact-step{
	width: 55%;
	margin: 0 auto 40px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

.contact-step div.contact-step-line{
	width: 15%;
}
.contact-step div.contact-step-line span{
	display: block;
	height: 2px;
	background: #7e7e7e;
	
}
.contact-step div.contact-step-line.current span{
	display: block;
	height: 2px;
	background: #62a738;
}

.contact-step-circle{
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 2px solid #7e7e7e;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #7e7e7e;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
.contact-step-circle.current{
	border: 2px solid #62a738;
	color: #62a738;
}

.contact-step-circle span{
	font-size: 28px;
}

.contact-form-box{
	width: 55%;
	margin: 0 auto;
}

.contact-form-box dl{
	margin: 0 0 40px 0;
}

.contact-form-box dt:first-child{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.contact-form-box dt{
	font-size: 14px;
	font-weight: bold;
	padding-bottom: 5px;
	margin: 10px 0;
}

.contact-form-box dt span{
	color: #ff0000;
}

.contact-form-box dd{
	margin-bottom: 40px;
}

.contact-form-box dd p{
	font-size: 12px;
	margin-top: 10px;
}

.contact-form-box input[type="text"], .contact-form-box input[type="url"], .contact-form-box input[type="tel"]{
	width: 100% !important;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 15px;
	background-color: #FAFAFA;
	border: 1px solid #fff;
	border-radius: 3px;
}

.contact-form-box input[type="email"]{
	width: 100% !important;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 15px;
	background-color: #FAFAFA;
	border: 1px solid #fff;
	border-radius: 3px;
}

.contact-form-box select{
	color: #898989;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 15px;
	background-color: #FAFAFA;
	border: 1px solid #fff;
	border-radius: 3px;
}

.contact-form-box textarea{
	width: 100% !important;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 15px;
	background-color: #FAFAFA;
	border: 1px solid #fff;
	border-radius: 3px;
}

/*デフォルトのスタイルを無効化する*/
input, select {
  -webkit-appearance: none;
  appearance: none;
}
input[type="submit"] {
	appearance: none;
  	-webkit-appearance: none;
  	-moz-appearance: none;
}
span.wpcf7-spinner {
  	display: none;
}

.contact_send{
	text-align: center;
	margin-bottom: 40px;
}

.contact_send input.contact_send_btn{
	width: auto;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 12px 90px;
	border: none;
	background-color: #62a738;
	cursor: pointer;
	transition: 0.3s;
	border-radius: 50px;
	background-image: url("../images/link-arrow.png");
	background-repeat: no-repeat;
	background-position:  right 30px center;
	background-size: 8px;
}
.contact_send input.contact_send_btn:hover{
	background-color: #ef873b;
	background-image: url("../images/link-arrow.png");
	background-repeat: no-repeat;
	background-position:  right 26px center;
	background-size: 8px;
}

.contact_return{
	text-align: center;
	margin-bottom: 40px;
}

.contact_return a{
	color: #62a738;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	transition: 0.3s;
}

.contact_return a:hover{
	color: #ef873b;
}

.contact_return a::before{
	content: "";
	display: inline-block;
	background-image: url("../images/contact-back-arrow.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: left top;
	width: 32px;
	height: 32px;
	margin-right: 12px;
	transform: translateY(10px);
	transition: 0.3s;
}

.contact_return a:hover::before{
	background-image: url("../images/contact-back-arrow-hover.png");
}

.contact-form-box input::placeholder {
  color: #898989;
}
.contact-form-box input:focus::-webkit-input-placeholder {
  color: transparent;
}
.contact-form-box input:focus::-moz-placeholder {
  color: transparent;
}
.contact-form-box input:focus::-ms-input-placeholder {
  color: transparent;
}
.contact-form-box input:focus::placeholder {
  color: transparent;
}

.contact-form-box textarea::placeholder {
  color: #898989;
}
.contact-form-box textarea:focus::-webkit-input-placeholder {
  color: transparent;
}
.contact-form-box textarea:focus::-moz-placeholder {
  color: transparent;
}
.contact-form-box textarea:focus::-ms-input-placeholder {
  color: transparent;
}
.contact-form-box textarea:focus::placeholder {
  color: transparent;
}

.contact-thanks img{
	margin-bottom: 60px;
}

.contact-thanks p{
	color: #548834;
	text-align: center;
}

@media screen and (max-width: 1200px){
	#contact-contents{
		padding: 80px 40px 80px;
	}
	.contact-bird{
		width: 80px;
		position: absolute;
		top: 20%;
		left: 65%;
	}
	.contact-step{
		width: 70%;
	}
	.contact-form-box{
		width: 70%;
	}
}

@media screen and (max-width: 960px){
	.contact-title h2 span:first-child{
		font-size: 30px;
	}
	.contact-title h2 span:nth-child(2){
		font-size: 16px;
	}
	.contact-bird{
		width: 80px;
		position: absolute;
		top: 20%;
		left: 75%;
	}
	.contact-step{
		width: 90%;
	}
	.contact-form-box{
		width: 90%;
	}
}

@media screen and (max-width: 767px){
	#contact-contents{
		padding: 80px 20px 120px;
	}
	.contact-title{
		padding: 40px 0 40px;
	}
	.contact-title h2{
		margin-bottom: 10px;
		line-height: 1.2;
	}
	.contact-title h2 span:first-child{
		font-size: 26px;
	}
	.contact-title h2 span:nth-child(2){
		font-size: 14px;
	}
	.contact-bird{
		width: 68px;
		position: absolute;
		top: 5%;
		left: 75%;
	}
	.contact-step{
		width: 100%;
	}
	.contact-step div.contact-step-line{
		width: 12%;
	}
	.contact-step-circle{
		width: 60px;
		height: 60px;
		font-size: 12px;
	}
	.contact-step-circle span{
		font-size: 24px;
	}
	.contact-form-box{
		width: 94%;
	}
	.contact-form-info{
		font-size: 14px;
	}
	.contact-thanks {
		width: 90%;
		margin: 0 auto;
	}
	.contact-thanks img{
		margin-bottom: 40px;
	}
	.contact-thanks p{
		font-size: 14px;
	}
}

/*==================================================
service
===================================*/

.blue-bird {
  	position: absolute;
	top: 150px;
	left: 150px;
  	width: 100px;
  	z-index: 50;
  	pointer-events: auto; /* jsイベントのために必要 */
	cursor: pointer;
  	transform-origin: center center; /* 回転の基準点を中心に */
}

#service-contents{
	width: 100%;
}

.service-bg-l{
	background-image: url(../images/service-bg-l.webp);
	background-position: -10% top;
	background-repeat: repeat-y;
	background-size: 20%;
}

.service-bg-r{
	background-image: url(../images/service-bg-r.webp);
	background-position: 110% top;
	background-repeat: repeat-y;
	background-size: 20%;
}

.service-contents-inner{
	width: 100%;
	padding: 200px;
	color: #77502d;
}

.service-title01{
	width: 100%;
	position: relative;
	text-align: center;
	margin-bottom: 80px;
}

.service-title01 a{
	color: #77502d;
	text-decoration: underline;
}
.service-title01 a:hover{
	color: #62a738;
}

.service-bird{
	width: 110px;
	position: absolute;
	top: 10%;
	left: 10%;
}

.service-title01 h2{
	text-align: center;
	letter-spacing: 0.03em;
	margin-bottom: 30px;
	line-height: 1.3;
}

.service-title01 h2 span:first-child{
	display: block;
	font-size: 40px;
}

.service-title01 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.service-title01 p{
	font-weight: bold;
	line-height: 1.8em;
}

.service-type{
	width: 90%;
	margin: 0 auto 80px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.service-type div.service-type-box{
	width: 31%;
	opacity: 0;
}

.service-type-img{
	width: 70%;
	margin: 0 auto;
	margin-bottom: 40px;
	position: relative;
	aspect-ratio: 4 / 3; 
}

.service-type-img img{
	position: absolute;
	z-index: 1;
}

.service-type-img h3{
	position: absolute;
	top: 35px;
	right: 0px;
	z-index: 2;
	font-weight: bold;
}
.service-type-img h3.service-type-title01{
	right: -5px;
}
.service-type-img h3.service-type-title02{
	right: -20px;
}
.service-type-img h3.service-type-title03{
	right: 12px;
}

.service-type p{
	font-size: 14px;
	font-weight: bold;
	line-height: 1.8em;
}

.service-title02{
	width: 100%;
	position: relative;
	text-align: center;
	margin-bottom: 50px;
}

.service-title02 h2{
	text-align: center;
	letter-spacing: 0.03em;
	margin-bottom: 30px;
	line-height: 1.3;
}

.service-title02 h2 span:first-child{
	display: block;
	font-size: 40px;
}

.service-title02 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.service-title02 p{
	font-weight: bold;
	line-height: 1.8em;
}

.service-flow{
	margin-bottom: 70px;
}

.service-flow-board{
	width: 700px;
	margin: 0 auto 50px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.service-flow-board div{
	opacity: 0;
	width: 160px;
	height: 84px;
	padding: 0 8px 5px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: bold;
	line-height: 1.4em;
	background-image: url("../images/service-flow-board-bg.webp");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: cover;
}

.service-flow-box{
	width: 740px;
	height: 274px;
	margin: 0 auto 40px;
	padding: 0 20px 20px 20px;
	background-image: url("../images/service-flow-bg01.webp");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

.service-flow-box:nth-child(odd){
	background-image: url("../images/service-flow-bg02.webp");
}

.service-flow-icon{
	width: 25%;
	text-align: center;
}

.service-flow-txt{
	width: 75%;
	padding: 0 10px;
}
.service-flow-txt h3{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}
.service-flow-txt p{
	font-size: 14px;
	margin-bottom: 5px;
}

.service-flow-btn{
	width: 100%;
	display: flex;
	justify-content: flex-end;
}

.service-flow-link {
	width: 220px;
	margin-bottom: 0px;
}

.service-flow-link a{
	width: 100%;
	box-shadow: 4px 4px 14px #888;
}

.service-flow-link a.link-btn01{
	font-size: 14px;
	padding: 6px 20px 6px 20px;
}
.service-flow-link a.btnarrow2::after{
    top:41%;
}

.service-features{
	width: 100%;
}

.service-title03{
	width: 640px;
	height: 232px;
	margin: 0 auto;
	background-image: url("../images/service-features-bg.webp");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	text-align: center;
}

.service-title03 h2{
	text-align: center;
	letter-spacing: 0.03em;
	padding-top: 110px;
	line-height: 1.0;
}

.service-title03 h2 span:first-child{
	display: block;
	font-size: 40px;
	margin-bottom: 10px;
}

.service-title03 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.service-features-inner{
	width: 880px;
	margin: 0 auto;
	padding: 60px 0 80px;
	background-color: #ffffff;
	border-radius: 20px;
}

.service-features-txt{
	width: 74%;
	margin: 0 auto 20px;
}

.service-features-txt h3{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 5px;
}

.service-features-txt p{
	font-size: 14px;
	line-height: 1.8em;
}

.service-features-slider {
  margin-inline: auto;
  max-width: 880px;
  width: 100%;
}

.service-features-img {
  margin: 0 10px;
}

.service-features-img img {
  height: auto;
  width: 100%;
}

.slick-dotted.slick-slider{
	margin-bottom: 50px !important;
}

.service-features.fadeInTrigger{
	opacity: 0;
}

.service-features.fadeIn{
	animation-name:fadeInFeatures;
	animation-duration:0.6s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeInFeatures{
from {
	opacity: 0;
	transform: scale(0.0);
}

to {
	opacity: 1;
	transform: scale(1.0);
}
}

@media screen and (max-width: 1200px){
	.service-contents-inner{
		padding: 180px 80px;
	}
	.service-features-inner{
		width: 780px;
	}
	.service-features-slider {
		max-width: 780px;
	}
}

@media screen and (max-width: 960px){
	.blue-bird {
		top: 100px;
		left: 100px;
		width: 80px;
		z-index: 30;
	}
	.service-bg-l{
		background-position: -20% top;
		background-size: 32%;
	}
	.service-bg-r{
		background-position: 120% top;
		background-size: 32%;
	}
	.service-contents-inner{
		padding: 120px 40px;
	}
	.service-title01 h2 span:first-child{
		font-size: 30px;
	}
	.service-title01 h2 span:nth-child(2){
		font-size: 16px;
	}
	.service-title01 p{
		font-size: 14px;
	}
	.service-type{
		width: 75%;
		margin: 0 auto 50px;
		flex-wrap: wrap;
	}
	.service-type div.service-type-box{
		width: 100%;
		margin-bottom: 50px;
	}
	.service-type-img{
		width: 40%;
		margin-bottom: 20px;
	}
	.service-type-img h3{
		top:50px;
	}
	.service-title02 h2 span:first-child{
		font-size: 30px;
	}
	.service-title02 h2 span:nth-child(2){
		font-size: 16px;
	}
	.service-title02 p{
		font-size: 14px;
	}
	.service-flow-board{
		width: 640px;
	}
	.service-flow-board div{
		width: 148px;
		height: 77px;
		font-size: 14px;
	}
	.service-flow-box{
		width: 640px;
		height: 237px;
		margin: 0 auto 40px;
	}
	.service-flow-txt{
		padding: 0 8px;
	}
	.service-flow-txt h3{
		font-size: 18px;
		margin-bottom: 5px;
	}
	.service-flow-txt p{
		font-size: 12px;
	}
	.service-flow-link {
		width: 200px;
		margin-bottom: 0px;
	}
	.service-flow-link a.link-btn01{
		font-size: 12px;
		padding: 4px 20px 4px 20px;
	}
	.service-flow-link a.btnarrow2::after{
		top:38%;
	}
	.service-title03{
		width: 520px;
		height: 188px;
	}
	.service-title03 h2{
		padding-top: 90px;
	}
	.service-title03 h2 span:first-child{
		font-size: 30px;
		margin-bottom: 8px;
	}
	.service-title03 h2 span:nth-child(2){
		font-size: 16px;
	}
	.service-features-inner{
		width: 640px;
		padding: 40px 0 80px;
	}
	.service-features-txt h3{
		font-size: 16px;
	}
	.service-features-txt p{
		font-size: 12px;
	}
	.service-features-slider {
		max-width: 640px;
	}
}

@media screen and (max-width: 767px){
	.blue-bird {
		top: 60px;
		left: 5px;
		width: 70px;
		z-index: 30;
	}
	.service-bg-l{
		background-position: -34% top;
		background-size: 40%;
	}
	.service-bg-r{
		background-position: 134% top;
		background-size: 40%;
	}
	.service-contents-inner{
		padding: 120px 20px;
	}
	.service-title01{
		margin-bottom: 50px;
	}
	.service-title01 h2 span:first-child{
		font-size: 26px;
	}
	.service-title01 h2 span:nth-child(2){
		font-size: 14px;
	}
	.service-title01 p{
		font-size: 12px;
	}
	.service-type{
		width: 70%;
		margin: 0 auto 20px;
	}
	.service-type-img{
		width: 60%;
		margin-bottom: 20px;
	}
	.service-type-img h3{
		top: 30px;
	}
	.service-type p{
		font-size: 12px;
	}
	.service-title02{
		margin-bottom: 30px;
	}
	.service-title02 h2{
		margin-bottom: 20px;
	}
	.service-title02 h2 span:first-child{
		font-size: 26px;
	}
	.service-title02 h2 span:nth-child(2){
		font-size: 14px;
	}
	.service-title02 p{
		font-size: 11px;
	}
	.service-flow{
		margin-bottom: 60px;
	}
	.service-flow-board{
		max-width: 390px;
		width: 100%;
		margin: 0 auto 40px;
	}
	.service-flow-board div{
		width: 80px;
		height: 42px;
		font-size: 10px;
		line-height: 1.2em;
		padding: 0 4px 2px 0;
	}
	.service-flow-box{
		max-width: 320px;
		max-height: 181px;
		margin: 0 auto 24px;
		padding: 0 10px 10px 10px;
		background-image: url("../images/service-flow-bg01-sp.webp");
		background-repeat: no-repeat;
		background-position: left top;
		background-size: cover;
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
	}

	.service-flow-box:nth-child(odd){
		background-image: url("../images/service-flow-bg02-sp.webp");
	}
	.service-flow-icon{
		width: 18%;
	}
	.service-flow-txt{
		width: 82%;
		padding: 0 4px;
	}
	.service-flow-txt h3{
		font-size: 14px;
		margin-bottom: 3px;
	}
	.service-flow-txt p{
		font-size: 10px;
		line-height: 1.3em;
		margin-bottom: 5px;
	}
	.service-flow-link {
		width: 160px;
		margin-bottom: 0px;
	}
	.service-flow-link a{
		box-shadow: 1px 1px 8px #888;
	}
	.service-flow-link a.link-btn01{
		font-size: 10px;
		padding: 2px 8px;
	}
	.service-flow-link a.btnarrow2::after{
		/*矢印の形状*/
		width: 4px;
		height: 4px;
	}
	.service-title03{
		width: 320px;
		height: 116px;
	}
	.service-title03 h2{
		padding-top: 50px;
	}
	.service-title03 h2 span:first-child{
		font-size: 26px;
	}
	.service-title03 h2 span:nth-child(2){
		font-size: 14px;
	}
	.service-features-inner{
		width: 100%;
		padding: 40px 0 50px;
	}
	.service-features-txt{
		width: 80%;
	}
	.service-features-txt h3{
		font-size: 14px;
	}
	.service-features-txt p{
		font-size: 12px;
	}
	.service-features-slider {
		max-width: 100%;
	}
}

/*==================================================
company
===================================*/

#company-contents{
	width: 100%;
	background-image: url("../images/company-top-bg.webp");
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 30%;
}

.company-bg-left{
	background-image: url("../images/company-left-bg.webp");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 25%;
}

.company-bg-right{
	background-image: url("../images/company-right-bg.webp");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 25%;
}

.company-bg-btm-left{
	background-image: url("../images/company-clients-left.webp");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 25%;
}

.company-bg-btm-right{
	background-image: url("../images/company-clients-right.webp");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 25%;
}

.company-contents-inner{
	width: 100%;
	padding: 200px 200px 150px;
	color: #77502d;
}

.company-title01{
	width: 100%;
	text-align: center;
	margin-bottom: 50px;
}
.company-title01 h2{
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.company-title01 h2 span:first-child{
	display: block;
	font-size: 40px;
}
.company-title01 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.company-catchphrase{
	width: 70%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 60px;
}
.company-catchphrase-txt{
	width: 65%;
}
.company-catchphrase-img{
	width: 30%;
}

.company-catchphrase-txt h3{
	font-size: 38px;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
}
.company-catchphrase-txt h3 span.cc-red{
	color: #b93030;
}

.company-catchphrase-txt p.company-catchphrase-english{
	font-size: 20px;
	letter-spacing: 0.12em;
	white-space: nowrap;
	overflow: hidden;
	animation: catchenglish 2.0s linear forwards;
}
@keyframes catchenglish {
	from {
		width:0%;
	}
	to {
		width:100%;
	}
}

.company-catchphrase-txt p.company-catchphrase-english span.cc-red{
	color: #b93030;
}

.lineMarker.scroll-in{
	background-position: -100% 0.7rem;
}

.lineMarker {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,255) 10%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,255) 10%);
	background-image: linear-gradient(left, transparent 50%, rgb(255,255,255) 10%);
	background-repeat: repeat-x;
	background-size: 200% .7em;
	background-position: 0 .3em;
	transition: all 1.5s ease;
}

/* 会社概要 */

.company-profile{
	width: 100%;
	position: relative;
	margin-bottom: 80px;
}

.company-profile-grid{
	width: 80%;
	position: relative;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 10px;
	padding: 50px;
}

.company-profile-img01{
	position: absolute;
	top: 0;
	left: -5%;
}

.company-profile-img02{
	position: absolute;
	bottom: 3%;
	left: -5%;
}

.company-profile-img03{
	position: absolute;
    top: 50%;
    right: -5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	cursor: pointer;
}

.company-title02{
	width: 100%;
	text-align: center;
	margin-bottom: 50px;
}
.company-title02 h2{
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.company-title02 h2 span:first-child{
	display: block;
	font-size: 40px;
}
.company-title02 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

dl.company-profile-info{
	width: 80%;
	margin: 0 auto;
  	display: flex;
  	flex-wrap: wrap;
	font-weight: bold;
}
dl.company-profile-info dt{
  width: 30%;
  padding-bottom: 20px;
  margin-bottom: 10px;
}
dl.company-profile-info dd{
  width: 70%;
  padding-bottom: 20px;
  margin-bottom: 10px;
}
dl.company-profile-info dd ul li{
	margin-bottom: 20px;
}
dl.company-profile-info dd ul li:last-child{
	margin-bottom: 0px;
}
dl.company-profile-info dd ruby {
	ruby-position: over;
}

/* アクセス */

.company-access{
	width: 100%;
	margin-bottom: 120px;
}

.company-title03{
	width: 38%;
	margin: 0 auto;
	padding-top: 30px;
	position: relative;
	text-align: center;
	margin-bottom: 50px;
}
.company-title03 h2{
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.company-title03 h2 span:first-child{
	display: block;
	font-size: 40px;
}
.company-title03 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.company-access-img01{
	position: absolute;
	top: 0;
	right: 0;
}

.company-access-box{
	width: 74%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.company-access-txt{
	width: 45%;
	padding-right: 20px;
}
.company-access-map{
	width: 45%;
}

.company-address{
	font-weight: bold;
	margin-bottom: 20px;
}
.company-address span{
	display: block;
	text-indent: -1em;
}

.company-access-txt ul{
	margin: 0 0 40px 20px;
	list-style-type: disc;
	list-style-position: outside;
	font-size: 14px;
	font-weight: bold;
}
.company-access-txt ul li{
	margin-bottom: 20px;
}

.company-access-img02{
	width: 100%;
	position: relative;
}

.company-access-img02 img{
	position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	cursor: pointer;
}

/* 沿革 */

.company-history{
	width: 100%;
	margin-bottom: 50px;
}

.company-title04{
	width: 46%;
	margin: 0 auto;
	position: relative;
	text-align: center;
	margin-bottom: 70px;
}
.company-title04 h2{
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.company-title04 h2 span:first-child{
	display: block;
	font-size: 40px;
}
.company-title04 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}
.company-history-img01{
	position: absolute;
	top: 0;
	left: 0;
}

.company-history-info{
	width: 80%;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
}

.company-history-ivy{
	width: 15%;
	text-align: center;
}

.ivy-img {
	display: block;
	width: 50px;
	clip-path: inset(0 0 100% 0); /* 下をすべて隠す＝上から下に表示 */
}
.ivy-img.scroll-in {
  	clip-path: inset(0 0 0 0); /* 全て表示 */
}

.company-history-info dl{
	width: 80%;
  	display: flex;
  	flex-wrap: wrap;
}
.company-history-info dt{
  	width: 30%;
	padding: 10px 0;
  	margin-bottom: 24px;
	font-weight: bold;
}
.company-history-info dd{
  	width: 70%;
	padding: 10px 0;
  	margin-bottom: 24px;
}

.company-history-bottom{
	width: 100%;
	height: 134px;
	position: relative;
}

.company-history-bear{
	position: absolute;
	top: -50px;
	right: 0;
	cursor: pointer;
}

/* 取引先 */

.company-clients{
	width: 100%;
	margin-top: -50px;
	margin-bottom: 0px;
}

.company-title05{
	width: 38%;
	margin: 0 auto;
	padding-top: 80px;
	position: relative;
	text-align: center;
	margin-bottom: 50px;
}

.company-clients-img01{
	position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.company-title05 h2{
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.company-title05 h2 span:first-child{
	display: block;
	font-size: 40px;
}
.company-title05 h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.company-clients-inner{
	width: 800px;
	height: 504px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background-image: url("../images/company-clients-bg.webp");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100%;
}

.company-clients-box{
	width: 50%;
	padding: 100px 20px 60px 100px;
}

.company-clients-box ul{
	font-size: 14px;
	font-weight: bold;
}
.company-clients-box ul li{
	margin-bottom: 20px;
}

.company-clients-txt{
	font-size: 14px;
	font-weight: bold;
	padding-top: 40px;
}

.company-bottom-img{
	width: 80%;
	padding: 0 200px;
	margin: 0 auto;
	text-align: right;
}
.company-bottom-img img{
	margin-bottom: -15px;
}

.company-clients.fadeInTrigger{
	opacity: 0;
}

.company-clients.fadeIn{
	animation-name:fadeInClients;
	animation-duration:0.6s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeInClients{
	from {
		opacity: 0;
		transform: scale(0.0);
	}

	to {
		opacity: 1;
		transform: scale(1.0);
	}
}

@media screen and (max-width: 1200px){
	.company-bg-left{
		background-size: 30%;
	}
	.company-bg-right{
		background-size: 30%;
	}
	.company-bg-btm-left{
		background-size: 30%;
	}
	.company-bg-btm-right{
		background-size: 30%;
	}
	.company-contents-inner{
		padding: 200px 120px 150px;
	}
	.company-catchphrase{
		width: 80%;
	}
	.company-profile-grid{
		width: 90%;
	}
	.company-access-box{
		width: 90%;
	}
	.company-history-info{
		width: 90%;
	}
	.company-title04{
		width: 50%;
	}
	.company-clients-inner{
		width: 702px;
		height: 442px;
	}
	.company-clients-box{
		width: 50%;
		padding: 80px 20px 40px 80px;
	}
}

@media screen and (max-width: 960px){
	#company-contents{
		background-size: 30%;
	}
	.company-contents-inner{
		padding: 140px 40px 120px;
	}
	.company-title01 h2 span:first-child{
		font-size: 30px;
	}
	.company-title01 h2 span:nth-child(2){
		font-size: 16px;
	}
	.company-catchphrase{
		width: 100%;
	}
	.company-catchphrase-txt h3{
		font-size: 34px;
	}
	.company-catchphrase-txt p.company-catchphrase-english{
		font-size: 18px;
	}
	.company-profile{
		margin-bottom: 40px;
	}
	.company-profile-grid{
		width: 100%;
	}
	.company-title02 h2 span:first-child{
		font-size: 30px;
	}
	.company-title02 h2 span:nth-child(2){
		font-size: 16px;
	}
	dl.company-profile-info{
		width: 90%;
		font-size: 14px;
	}
	.company-profile-img01{
		width: 124px;
	}
	.company-profile-img02{
		width: 108px;
	}
	.company-profile-img03{
		width: 128px;
	}
	.company-title03{
		width: 50%;
	}
	.company-title03 h2 span:first-child{
		font-size: 30px;
	}
	.company-title03 h2 span:nth-child(2){
		font-size: 16px;
	}
	.company-access-box{
		width: 100%;
	}
	.company-access-txt{
		width: 50%;
		padding-right: 10px;
	}
	.company-title04{
		width: 60%;
	}
	.company-title04 h2 span:first-child{
		font-size: 30px;
	}
	.company-title04 h2 span:nth-child(2){
		font-size: 16px;
	}
	.ivy-img {
		width: 40px;
	}
	.company-history-info dl{
		font-size: 14px;
	}
	.company-history-info dt{
		padding: 8px 0;
	}
	.company-history-info dd{
		padding: 8px 0;
	}
	.company-history-bottom{
		height: 106px;
	}
	.company-history-bear{
		width: 92px;
	}
	.company-title05{
		width: 60%;
	}
	.company-title05 h2 span:first-child{
		font-size: 30px;
	}
	.company-title05 h2 span:nth-child(2){
		font-size: 16px;
	}
	.company-clients-inner{
		width: 580px;
		height: 365px;
	}
	.company-clients-box{
		width: 50%;
		padding: 60px 20px 20px 60px;
	}
	.company-clients-box ul{
		font-size: 12px;
	}
	.company-clients-box ul li{
		margin-bottom: 10px;
	}
	.company-clients-txt{
		font-size: 12px;
		padding-top: 30px;
	}
	.company-bottom-img{
		padding: 0 10px;
	}
}

@media screen and (max-width: 767px){
	#company-contents{
		background-size: 40%;
	}
	.company-bg-left{
		background-size: 40%;
	}
	.company-bg-right{
		background-size: 40%;
	}
	.company-bg-btm-left{
		background-size: 40%;
	}
	.company-bg-btm-right{
		background-size: 40%;
	}
	.company-contents-inner{
		padding: 100px 20px 80px;
	}
	.company-title01{
		margin-bottom: 30px;
	}
	.company-title01 h2 span:first-child{
		font-size: 26px;
	}
	.company-title01 h2 span:nth-child(2){
		font-size: 14px;
	}
	.company-catchphrase-txt h3{
		font-size: 26px;
	}
	.company-catchphrase-txt p.company-catchphrase-english{
		font-size: 16px;
	}
	.company-catchphrase-txt{
		width: 80%;
	}
	.company-catchphrase-img{
		width: 18%;
	}
	.company-catchphrase-img img{
		width: 50px;
	}
	.company-profile-grid{
		border-radius: 20px;
		padding: 30px 20px;
	}
	.company-title02 {
		margin-bottom: 40px;
	}
	.company-title02 h2 span:first-child{
		font-size: 26px;
	}
	.company-title02 h2 span:nth-child(2){
		font-size: 14px;
	}
	dl.company-profile-info{
		width: 100%;
		font-size: 12px;
	}
	dl.company-profile-info dt{
		width: 25%;
		padding-bottom: 10px;
	}
	dl.company-profile-info dd{
		width: 75%;
		padding-bottom: 10px;
	}
	dl.company-profile-info dd ul li{
		margin-bottom: 15px;
	}
	.company-profile-img01{
		width: 86px;
	}
	.company-profile-img02{
		width: 76px;
	}
	.company-profile-img03{
		width: 90px;
		right: 0;
	}
	.company-access{
		margin-bottom: 80px;
	}
	.company-title03{
		width: 80%;
		margin-bottom: 40px;
	}
	.company-title03 h2 span:first-child{
		font-size: 26px;
	}
	.company-title03 h2 span:nth-child(2){
		font-size: 14px;
	}
	.company-access-img01{
		width: 50px;
		position: absolute;
		top: 0;
		right: 20px;
	}
	.company-access-box{
		width: 100%;
		flex-wrap: wrap;
		justify-content: center;
	}
	.company-access-txt{
		width: 80%;
		order: 2;
		padding: 0 18px;
	}
	.company-access-img02 {
		width: 100%;
		min-height: 98px;
		position: relative;
		text-align: right;
	}
	.company-access-img02 img{
		width: 126px;
	}
	.company-access-map{
		width: 80%;
		order: 1;
		margin-bottom: 20px;
	}
	.company-access-map iframe{
		height: 300px;
	}
	.company-address{
		font-size: 14px;
		margin-bottom: 10px;
	}
	.company-access-txt ul{
		margin: 0 0 0px 20px;
		font-size: 12px;
	}
	.company-access-txt ul li{
		margin-bottom: 10px;
	}
	.company-title04{
		width: 90%;
		margin-bottom: 40px;
	}
	.company-title04 h2 span:first-child{
		font-size: 26px;
	}
	.company-title04 h2 span:nth-child(2){
		font-size: 14px;
	}
	.company-history-img01{
		width: 70px;
		position: absolute;
		top: 0;
		left: 30px;
	}
	.ivy-img {
		width: 40px;
	}
	.company-history-info dl{
		width: 90%;
		font-size: 12px;
	}
	.company-history-info dt{
		width: 25%;
		padding: 8px 0;
		margin-bottom: 18px;
		font-weight: bold;
	}
	.company-history-info dd{
		width: 75%;
		padding: 8px 0;
		margin-bottom: 18px;
	}
	.company-history-bottom{
		height: 75px;
	}
	.company-history-bear{
		width: 65px;
		top: -20px;
	}
	.company-title05{
		width: 90%;
		padding-top: 50px;
		margin-bottom: 40px;
	}
	.company-clients-img01{
		width: 40px;
	}
	.company-title05 h2 span:first-child{
		font-size: 26px;
	}
	.company-title05 h2 span:nth-child(2){
		font-size: 14px;
	}
	.company-clients-inner{
		width: 320px;
		height: 202px;
	}
	.company-clients-box{
		width: 50%;
		padding: 30px 20px 0px 20px;
	}
	.company-clients-box:first-of-type{
		width: 50%;
		padding: 30px 20px 0px 34px;
	}
	.company-clients-box ul{
		font-size: 9px;
	}
	.company-clients-box ul li{
		margin-bottom: 5px;
	}
	.company-clients-txt{
		font-size: 10px;
		padding-top: 12px;
	}
	.company-bottom-img{
		padding: 0 0px;
	}
	.company-bottom-img img{
		width: 38px;
	}
}

/*==================================================
recruit
===================================*/

#recruit-contents{
	width: 100%;
	padding: 80px 160px 80px;
	background-image: url("../images/recruit-bg01.webp");
	background-repeat: no-repeat;
	background-position: center 80px;
	background-size: cover;
}

.recruit-firstview{
	max-width: 1080px;
	width: 100%;
	position: relative;
	z-index: 5;
	margin: 0 auto;
}

.recruit-firstview h2{
	width: 100%;
}

.recruit-logo{
	opacity: 0;
}

/* 上から */
.fadeDown{
	animation-name: fadeDownAnime;
	animation-duration: 2.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeDownAnime{
	from{
		opacity:0;
		transform: translateY(-100px);
	}
	to{
		opacity:1;
		transform: translateY(0);
	}
}

.recruit-start-btn{
	width: 100%;
	position: relative;
	z-index: 6;
	text-align: center;
	font-size: 30px;
	letter-spacing: 0.2em;
	margin-top: -100px;
	cursor: pointer;
	padding: 15px 0;
	background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 40% 60%, rgba(0, 0, 0, 0));
}

.recruit-start-btn span{
	color: #fff;
	filter: drop-shadow(0 0 0.3rem #fff);
}

.recruit-start-btn span::before{
	content: "▶";
}

.recruit-start-btn span:hover{
	color: #f4ead0;
	filter: drop-shadow(0 0 0.3rem #f4ead0);
}

.recruit-start-btn-sp{
	display: none;
}

.recruit-characters{
	width: 100%;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 1;
	margin-top: -60px;
	padding-bottom: 120px;
}
/* 初期状態のリンクを無効化 */
.recruit-characters.disabled {
  pointer-events: none;
}

.recruit-characters-sp{
	display: none;
}
.chara-sp{
	display: none;
}

.recruit-chara{
	width: 33.3%;
	opacity: 0;
	position: relative;
	cursor: pointer;
}

.recruit-chara img{
	transform: scale(1.0);
	transition: ease .2s;
}

.recruit-chara:hover img{
	transform: scale(1.1);
}

.chara-left {
	z-index: 2;
	margin-right: -10%;
	padding-top: 20px;
}
.chara-center {
	z-index: 4;
	padding-top: 100px;
}
.chara-right {
	z-index: 3;
	margin-left: -10%;
	padding-top: 60px;
}

.recruit-characters .fadeUp {
	animation-name:fadeUpchara;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes fadeUpchara{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.recruit-profile{
	width: 64%;
	position: absolute;
}
.chara-left .recruit-profile{
	bottom: 0;
	left: 0;
}
.chara-center .recruit-profile{
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.chara-right .recruit-profile{
    bottom: 0;
    right: 0;
}

.recruit-profile-txt{
	width: 100%;
	padding: 15px;
	background: rgba(0, 0, 0, 0.5);
	margin-bottom: 15px;
	font-size: 14px;
}

.recruit-plate{
	width: 100%;
}

/* インタビュー */

#int-contents {
	width: 100%;
	overflow: hidden;
	padding: 80px 0 0 0;
	background-image: url("../images/recruit-bg02.webp");
	background-repeat: no-repeat;
	background-position: center 40px;
	background-size: cover;
	display: none;
}

.int-title{
	width: 674px;
	height: 202px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background-image: url("../images/recruit-title-bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.int-title h2{
	padding-bottom: 1em;
	color: #461313;
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.int-title h2 span:first-child{
	display: block;
	font-size: 40px;
}
.int-title h2 span:nth-child(2){
	display: block;
	font-size: 18px;
}

.int-subtitle{
	width: 100%;
	padding: 8px 0;
	border-top: 3px solid #a0713f;
	border-bottom: 3px solid #a0713f;
	background-color: #000;
}

.int-subtitle h3{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 24px 0;
	border-top: 2px solid #a0713f;
	border-bottom: 2px solid #a0713f;
	font-weight: bold;
}

.int-subtitle h3 span{
	padding: 0 12px;
}

.int-wrapper{
	margin: 0 auto;
	position: relative;
}

.int-box {
	display: none;
}

.int-box.active {
	display: block;
}

.int-box-scroll{
	width: 100%;
	height: 900px;
	overflow: hidden;
	overflow-y: auto;
}
.int-box-scroll::-webkit-scrollbar {
	width: 8px;
}
.int-box-scroll::-webkit-scrollbar-thumb {
	background: #999;
	border-radius: 4px;
}

.int-box-inner{
	width: 50%;
	margin: 0 auto;
	padding: 24px 0 80px;
}

.int-box-scroll p {
	margin-bottom: 1em;
}

.int-verde-box{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	margin-bottom: 12px;
}
.int-verde-msg{
	max-width: 65%;
	position: relative;
	display: inline-block;
	margin: 12px;
	padding: 12px 24px;
	border-radius: 50px;
	color: #000;
	font-size: 14px;
	font-weight: bold;
	background-color: #fff;
}
.int-verde-msg::after{
	content: "";
  	position: absolute;
    top: 10%;
    right: -8px;
    transform: translateY(-10%);
    -webkit-transform: translateY(-10%);
    -ms-transform: translateY(-10%);
  	background-image: url("../images/recruit-sb-shape02.png");
  	background-size: cover;
  	background-repeat: no-repeat;
	width: 24px;
	height: 15px;
}
.int-verde-icon{
	padding: 0 6px;
}

.int-staff-box{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin-bottom: 12px;
}
.int-staff-msg{
	max-width: 65%;
	position: relative;
	display: inline-block;
	margin: 12px;
	padding: 12px 24px;
	border-radius: 20px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	background-color: #b29246;
}
.int-staff-msg::after{
	content: "";
  	position: absolute;
    top: 20%;
    left: -8px;
    transform: translateY(-20%);
    -webkit-transform: translateY(-20%);
    -ms-transform: translateY(-20%);
  	background-image: url("../images/recruit-sb-shape01.png");
  	background-size: cover;
  	background-repeat: no-repeat;
	width: 24px;
	height: 15px;
}
.int-staff-icon{
	padding: 0 6px;
}

.recruit-back-btn{
	display: none;
}

@media screen and (max-width: 1200px){
	.recruit-profile-txt{
		padding: 10px;
		margin-bottom: 10px;
		font-size: 12px;
		line-height: 1.3em;
	}
	.int-subtitle h3{
		font-size: 14px;
	}
	.int-box-scroll{
		height: 600px;
	}
	.int-verde-msg{
		font-size: 12px;
	}
	.int-staff-msg{
		font-size: 12px;
	}
}

@media screen and (max-width: 960px){
	#recruit-contents{
		padding: 80px 40px 80px;
	}
	.recruit-start-btn{
		font-size: 24px;
		margin-top: -60px;
		padding: 10px 0;
	}
	.int-title{
		width: 472px;
		height: 142px;
	}
	.int-title h2{
		padding-bottom: 0.6em;
	}
	.int-title h2 span:first-child{
		font-size: 30px;
	}
	.int-title h2 span:nth-child(2){
		font-size: 16px;
	}
	.int-subtitle{
		padding: 6px 0;
	}
	.int-subtitle h3{
		padding: 16px 0;
	}
	.int-subtitle h3 span img{
		width: 36px;
	}
	.int-box-scroll{
		height: 500px;
	}
	.int-box-inner{
		width: 68%;
	}
	.int-verde-icon img{
		width: 34px;
	}
	.int-staff-icon img{
		width: 34px;
	}
}

@media screen and (max-width: 450px){
	#recruit-contents{
		padding: 60px 20px 0px;
		background-image: url("../images/recruit-bg01-sp.webp");
		background-position: center 80px;
		background-size: 100%;
	}
	.recruit-start-btn{
		display: none;
	}
	.recruit-start-btn-sp{
		display: block;
		width: 100%;
		position: relative;
		z-index: 6;
		text-align: center;
		font-size: 24px;
		letter-spacing: 0.2em;
		margin-top: -18px;
		cursor: pointer;
		padding: 8px 0;
		background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8) 40% 60%, rgba(255, 255, 255, 0));
	}
	.recruit-start-btn-sp span{
		color: #000;
		filter: drop-shadow(0 0 0.3rem #fff);
	}
	.recruit-start-btn-sp span::before{
		content: "▶";
	}
	.recruit-start-btn-sp span:hover{
		color: #461313;
		filter: drop-shadow(0 0 0.3rem #fff);
	}
	.recruit-characters{
		display: none;
	}
	.recruit-characters-sp{
		display: block;
		width: 100%;
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 1;
		padding-bottom: 10px;
	}
	/* 初期状態のリンクを無効化 */
	.recruit-characters-sp.disabled {
		pointer-events: none;
	}
	.recruit-chara-sp {
		width: 33.3%;
		opacity: 0;
		position: relative;
		cursor: pointer;
	}
	.recruit-chara-sp-tap{
		width: 100%;
		text-align: center;
		font-size: 24px;
		color: #fff;
		padding-top: 10px;
	}
	.recruit-characters-sp .fadeUp {
		animation-name:fadeUpcharaSP;
		animation-duration:0.5s;
		animation-fill-mode:forwards;
		opacity: 0;
	}
	@keyframes fadeUpcharaSP{
		from {
			opacity: 0;
			transform: translateY(100px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	.chara-sp {
		display: block;
		position: relative;
		width: 100%;
		max-width: 727px;
		min-height: 340px;
		margin: 0 auto;
		overflow: hidden;
	}
	.spchara-content {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		overflow-y: auto;
		transform: translateX(100%);
		opacity: 0;
		pointer-events: none;
		transition: transform 0.6s ease, opacity 0.6s ease;
	}
	.spchara-content.active {
		transform: translateX(0%);
		opacity: 1;
		pointer-events: auto;
		z-index: 1;
	}
	.chara-box-sp {
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
	}
	.chara-img-sp{
		width: 70%;
	}
	.chara-prof-sp{
		width: 50%;
		display: flex;
		align-items: center;
		margin-left: -10%;
		padding: 44px 22px 44px 28px;
		background-image: url("../images/recruit-plate-sp.webp");
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 100%;
		font-size: 11px;
		line-height: 1.2;
	}
	/* インタビュー */
	#int-contents {
		padding: 28px 0 0 0;
		background-position: center 0px;
	}
	.int-title{
		width: 360px;
		height: 109px;
		margin-bottom: -2px;
	}
	.int-title h2 span:first-child{
		font-size: 26px;
	}
	.int-title h2 span:nth-child(2){
		font-size: 14px;
	}
	.int-subtitle h3{
		font-size: 12px;
	}
	.int-box-inner{
		width: 80%;
	}
	.int-verde-msg{
		max-width: 70%;
		padding: 10px 20px;
		border-radius: 15px;
		font-size: 11px;
	}
	.int-staff-msg{
		max-width: 70%;
		padding: 10px 20px;
		border-radius: 15px;
		font-size: 11px;
	}

	.recruit-back-btn{
		display: block;
		background-color: #000;
		padding-top: 5px;
	}
	.recruit-back-line {
		border-top: 2px solid;
		border-image: linear-gradient(90deg, rgba(128, 81, 0, 1.0), rgba(219, 196, 111, 1.0) 40% 60%, rgba(128, 81, 0, 1.0));
		border-image-slice: 1;
		padding: 10px 0 18px;
		text-align: center;
	}
	.recruit-back-line a{
		display: block;
		color: #b28247;
		font-size: 14px;
	}
	.recruit-back-line a::before{
		content: "";
		display: inline-block;
		background-image: url("../images/recruit-back-arrow.png");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: left top;
		width: 20px;
		height: 20px;
		margin-right: 10px;
		transform: translateY(6px);
	}
}

/*========= モーダル表示のためのCSS ===============*/

.recruit-modaal-btn{
	width: 100%;
	position: relative;
	z-index: 6;
	text-align: center;
	font-size: 30px;
	letter-spacing: 0.2em;
	margin-top: -78px;
	cursor: pointer;
	padding: 15px 0;
	background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 40% 60%, rgba(0, 0, 0, 0));
}

.recruit-modaal-btn a{
	display:block;
}

.recruit-modaal-btn span{
	color: #fff;
	filter: drop-shadow(0 0 0.3rem #fff);
}

.recruit-modaal-btn span::before{
	content: "▶";
}

.recruit-modaal-btn span:hover{
	color: #f4ead0;
	filter: drop-shadow(0 0 0.3rem #f4ead0);
}

/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#60a831 !important;
}

/*以下はコンテンツ内のレイアウト*/

h2.rec_info_title{
	font-size: 20px;
	color: #77502d;
	margin-bottom: 10px;
	text-align: center;
}

.rec_info_content {
	color:#77502d;
	margin-bottom: 40px;
}

.rec-contact-link {
	text-align:center;
	margin-bottom: 40px;
}

.rec-contact-link a{
	width: 60%;
	box-shadow: 4px 4px 14px #888;
}

@media screen and (max-width: 960px){
	.recruit-start-btn{
		font-size: 24px;
		margin-top: -60px;
		padding: 10px 0;
	}
}

@media screen and (max-width: 450px){
	.recruit-modaal-btn{
		font-size: 24px;
		margin-top: -50px;
		padding: 8px 0;
	}
	.rec_info_content {
		font-size:14px;
	}
	.rec-contact-link a{
		width: 100%;
		font-size:14px;
	}
}

/*==================================================
404 not found
===================================*/

#not-found-contents{
	width: 100%;
	padding: 240px 160px 240px;
	text-align: center;
	color: #77502d;
}

#not-found-contents h2{
	font-size: 40px;
	margin-bottom: 20px;
}

#not-found-contents p{
	font-weight: bold;
	margin-bottom: 40px;
}

.not-found-return {
	width: 320px;
	margin: 0 auto;
}

.not-found-return a{
	width: 100%;
	box-shadow: 4px 4px 14px #888;
}

@media screen and (max-width: 767px){
	#not-found-contents{
		padding: 240px 40px 240px;
	}
	#not-found-contents h2{
		font-size: 32px;
	}
	#not-found-contents p{
		font-size: 14px;
	}
	.not-found-return {
		width: 240px;
		margin: 0 auto;
	}
}
