@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　outline
 * 
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/




/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* intro
-----------------------------------------------------------------*/
.intro h2{
	margin-bottom: 70px;
	font-size: min(3.39vw,5.2rem);
	letter-spacing: .15em;
	line-height: 1.2;
	text-align: center;
}

.intro .txt-lead{
	margin-bottom: 135px;
	font-size: min(1.3vw,2rem);
	
	line-height: 2.35;
}
.intro .layout-box{
	position: relative;
	z-index: 5;
}
.intro .layout-box .pic-main{
	width: 44.66vw;
}
.intro .layout-box .pic-area{
	width: 47.53vw;
	padding-top: 6.32vw;
}
.intro .layout-box .pic-area p:nth-child(1){
	width: 42.71vw;
	margin-bottom: 9.11vw;
}
.intro .layout-box .pic-area p:nth-child(2){
	width: 29.49vw;
	margin-left: 3.91vw;
}


/* about
-----------------------------------------------------------------*/
.about{
	position: relative;
	margin-top: -4.69vw;
	padding: 222px 0 136px;
	background: var(--green);
}
.about .inner{
	position: relative;
}
.about::before{
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 22.92vw;
	height: 100%;
	content: "";
	background: var(--beige);
}
.about .pic-main{
	width: 40.92%;
}
.about .txt-area{
	width: 51.08%;	
}
.about .txt-area h2{
	width: min(33.2vw,510px);
	margin-bottom: 4.36vw;
}
.about .txt-area .btn-list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.about .txt-area .btn-list li{
	width: 45%;
}
.about .txt-area .btn-list li:nth-child(n+3){
	margin-top: 30px;
}
.about .txt-area .btn-list .btn-highlight a{
	height: 100%;
	font-size: min(1.04vw,1.6rem);
}
.about .txt-area .btn-list .btn-highlight small{
	display: block;
	margin-bottom: 10px;
	width: fit-content;
	font-size: min(0.85vw,1.3rem);
	
	text-transform: uppercase;
	border-bottom: 1px solid var(--dark);
}
.about .btn-view-more{
	margin: 50px 0 0 auto;
}


/* message
-----------------------------------------------------------------*/
.message{
	padding: 150px 0 100px;
}
.message .txt-area{
	width: 51.08%;
}
.message .txt-area h2{
	margin-bottom: 65px;
}
.message .layout-box{
	align-items: flex-start;
}
.message .btn-list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;	
}
.message .btn-list li{
	width: 45%;
}
.message .btn-list li:nth-child(n+3){
	margin-top: 60px;
}
.message .btn-list .btn-highlight a{
	height: 100%;
	font-size: min(1.04vw,1.6rem);
}
.message .btn-view-more{
	margin: 10px 0 0 auto;
}
.message .pic{
	position: relative;
	width: 35%;
	line-height: 0;
}
.message .pic::before{
	position: absolute;
	left: -0.33vw;
	top: 0;
	transform: scale(.98,.98) rotate(-5deg);
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	content: "";
	background: #AFDCDD;
}
.message .pic span{
	position: relative;
	z-index: 5;
}


/* other-cont
-----------------------------------------------------------------*/
.other-cont{
	padding: 80px 0 180px;
}
.other-cont .btn-card{
	max-width: 620px;
	width: calc(50% - 10px)
}
.other-cont .btn-card h3{
	font-size: min(4.23vw,6.5rem);
	
	line-height: 1;
}
.other-cont .btn-card .txt{
	margin-top: 10px;
}















/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

/* intro
-----------------------------------------------------------------*/
	.intro{
		padding: 50px 0 0;
	}
	.intro h2{
		margin-bottom: 50px;
		font-size: 2.7rem;
		line-height: 1.5;
	}
	.intro .txt-lead{
		margin-bottom: 70px;
		font-size: 1.4rem;
		text-align: justify;
	}
	.intro .layout-box{
		display: block;
	}
	.intro .layout-box .pic-main{
		width: 85.94vw;
	}
	.intro .layout-box .pic-area{
		width: 90.63vw;
		margin-left: auto;
		padding-top: 50px;
	}
	.intro .layout-box .pic-area p:nth-child(1){
		width: 81.25vw;
		margin: 0 0 9.11vw auto;
	}
	.intro .layout-box .pic-area p:nth-child(1) img{
		border-radius: 10px 0 0 10px;
	}
	.intro .layout-box .pic-area p:nth-child(2){
		width: 55.31vw;
		margin-left: 0;
	}


/* about
-----------------------------------------------------------------*/
	.about{
		margin-top: -6.25vw;
		padding: 222px 0 136px;
		background: var(--green);
	}
	.about::before{
		width: 30vw;
	}
	.about .layout-box{
		display: block;
	}
	.about .pic-main{
		width: auto;
		margin-bottom: 40px;
	}
	.about .txt-area{
		width: auto;
	}
	.about .txt-area h2{
		width: 69.69vw;
		margin: 0 0 40px auto;
	}
	.about .txt-area .btn-list{
		display: block;
	}
	.about .txt-area .btn-list li{
		width: 100%;
	}
	.about .txt-area .btn-list li:nth-child(n+2){
		margin-top: 20px;
	}
	.about .txt-area .btn-list .btn-highlight a{
		height: auto;
		font-size: 1.3rem;
	}
	.about .txt-area .btn-list .btn-highlight small{
		margin-bottom: 10px;
		font-size: 1rem;
	}
	.about .btn-view-more{
		margin: 40px 0 0 auto;
	}


/* message
-----------------------------------------------------------------*/
	.message{
		padding: 110px 0 50px;
	}
	.message .layout-box{
		display: block;
	}
	.message .txt-area{
		width: auto;
	}
	.message .txt-area h2{
		margin-bottom: 45px;
	}
	.message .btn-list{
		display: block;
	}
	.message .btn-list li{
		width: auto;
	}
	.message .btn-list li:nth-child(n+2){
		margin-top: 20px;
	}
	.message .btn-list .btn-highlight a{
		height: auto;
		font-size: 1.3rem;
	}
	.message .btn-view-more{
		margin: 40px 0 0 auto;
	}
	.message .pic{
		width: auto;
		margin-bottom: 50px;
	}


/* other-cont
-----------------------------------------------------------------*/
	.other-cont{
		padding: 60px 0 110px;
	}
	.other-cont .layout-box{
		display: block;
	}
	.other-cont .btn-card{
		max-width: none;
		width: 100%;
	}
	.other-cont .btn-card h3{
		font-size: 3.7rem;
		line-height: 1.3;
	}
	.other-cont .btn-history{
		margin-bottom: 40px;
	}

}