@charset "utf-8";
/**
 *
 *  ページ用CSS
 *  greeting
 *
 */
/*--------------------------------------------------------------------------
  Overwright
---------------------------------------------------------------------------*/
@media screen and (min-width: 769px) {
	.page-ttl._type02 h1 .ja {
		padding-left: 12px;
	}
}
/*--------------------------------------------------------------------------
  Content
---------------------------------------------------------------------------*/
/* page-nav
-----------------------------------------------------------------*/
.page-nav{
	justify-content: space-between;
	max-width: 765px;
	margin: 0 auto 120px;
}
.page-nav li{
	width: 30.7%;
}
.message,
.spirits,
.policy{
	scroll-margin-top: 82px;
}
/* message
-----------------------------------------------------------------*/
.message{
	padding: 160px 0;
	background: var(--beige);
}
.message h2,
.spirits h2,
.policy h2{
	margin-bottom: 90px;
	font-size: min(3.39vw,5.2rem);
	line-height: 1.2;
	text-align: center;
}
.message .layout-box{
	flex-direction: row-reverse;
}
.message .txt-area{
	width: 47.46%;
}
.message .txt-area .txt-lead{
	margin-bottom: 45px;
	text-align: left;
	line-height: 2.2;
	font-size:min(2.5vw,3.2rem);
}
.message .txt-area .txt{
	text-align: justify;
}
.message .txt-area .txt + .txt{
	margin-top: 30px;
}
.message .pic-area{
	width: 38.23%;
}
.message .pic-area .pic{
	position: relative;
}
.message .pic-area .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-area .pic span{
	position: relative;
	z-index: 5;
}
.message .name{
	margin-top: 40px;
	text-align: right;
}
.message .name small{
	display: block;
	margin-bottom: 5px;
	font-size: 1.2rem;
	line-height: 1.4;
}
.message .name span{
	font-size: min(1.76vw,2.7rem);
}
/* spirits
-----------------------------------------------------------------*/
.spirits{
	padding: 160px 0 80px;
}
.spirits h2 + .txt{
	margin-bottom: 70px;
	font-size:min(1.3vw,2rem);
	text-align: center;
}
.spirits .goal{
	padding: 70px 20px 90px;
	background: var(--beige);
}
.spirits .goal h3{
	max-width: 1000px;
	margin: 0 auto 35px;
	padding: 20px;
	background: var(--green);
	text-align: center;
	line-height: 1;
	font-size:min(1.76vw,2.7rem);
}
.spirits .goal h3 + .txt{
	margin-bottom: 40px;
	text-align: center;
	font-size:min(1.43vw,2.2rem);
	line-height: 1.5;
}
.spirits .goal ol{
	max-width: 1000px;
	margin-inline: auto;
	border-top: 1px solid #ccc;
}
.spirits .goal ol li{
	display: flex;
	align-items: center;
	padding: 35px 0;
	border-bottom: 1px solid #ccc;
}
.spirits .goal ol .num{
	flex-shrink: 0;
	margin-right: 2.6vw;
	padding-right: 2.6vw;
	border-right: 1px solid #ccc;
	font-size:min(2.08vw,3.2rem);
	line-height: 1;
	color: var(--green);
	letter-spacing: -.01em;
}
.spirits .goal ol .txt{
	font-size:min(1.17vw,1.8rem);
	line-height: 1.6;
}
/* policy
-----------------------------------------------------------------*/
.policy{
	padding: 80px 0 240px;
}
.policy-list > div:nth-child(n+2){
	margin-top: 120px;
}
.policy-list > div > dt{
	display: flex;
	align-items: center;
	margin-bottom: 50px;
	padding-bottom: 45px;
	border-bottom: 1px solid #ccc;
	line-height: 1;
}
.policy-list > div > dt .num{
	flex-shrink: 0;
	margin-right: 2.6vw;
	padding-right: 2.6vw;
	border-right: 1px solid #ccc;
	font-size:min(2.41vw,3.7rem);
	color: var(--green);
	letter-spacing: -.01em;	
}
.policy-list > div > dt .ttl{
	font-size:min(2.28vw,3.5rem);
}
.policy-list dd dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.policy-list dd dl > div{
	width: 47%;
}
.policy-list dd dl > div:nth-child(n+3){
	margin-top: 80px;
}
.policy-list dd dl .ttl-dot,
.policy-list dd h3{
	margin-bottom: 20px;
  font-size:min(1.5vw,2.3rem);
}
.policy-list dd dl .ttl-dot::before,
.policy-list dd h3::before {
	margin-right: 5px;
	color: #AFDCDD;
	font-size: 1rem;
	line-height: 2vw;
}
.policy-list dd dl dd .txt + .txt{
	margin-top: 30px;
}
.policy-list dd > div + div{
	margin-top: 80px;
}
.policy-list dd h3 + .txt-lead{
	margin-bottom: 40px;
	font-size:min(1.04vw,1.6rem);
	text-align: justify;
}
.policy-list dd ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.policy-list dd ul li{
	display: flex;
	align-items: center;
	width: 47%;
	padding: min(3.91vw,60px);
	border-radius: 10px;
	background: var(--beige);
}
.policy-list dd ul li:nth-child(n+3){
	margin-top: 40px;
}
.policy-list dd ul .ico{
	flex-shrink: 0;
	width: min(6.51vw,100px);
	margin-right: 1.82vw;
}
.policy-list dd ul h4{
	margin-bottom: 20px;
	font-size:min(1.5vw,2.3rem);
	line-height: 1.5;
}
/*--------------------------------------------------------------------------
  mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	.page-ttl._type02 h1 .ja {
		line-height:1.2;
	}
/* page-nav
-----------------------------------------------------------------*/
	.page-nav{
		flex-wrap: wrap;
		max-width: none;
		width: 84.64vw;
		margin: 20px auto 80px;
	}
	.page-nav li{
		width: 46.5%;
	}
	.page-nav li:nth-child(n+3){
		margin-top: 20px;
	}
.message,
.spirits,
.policy{
	scroll-margin-top: 53px;
}
/* message
-----------------------------------------------------------------*/
	.message{
		padding: 110px 0 120px;
	}
	.message h2,
	.spirits h2,
	.policy h2{
		margin-bottom: 40px;
		font-size: 3rem;
		line-height: 1.4;
	}
	.message .layout-box{
		display: block;
	}
	.message .txt-area{
		width: 100%;
	}
	.message .txt-area .txt-lead{
		margin-bottom: 40px;
		line-height: 2.3;
		font-size: 2rem;
	}
	.message .txt-area .txt + .txt{
		margin-top: 30px;
	}
	.message .pic-area{
		width: 100%;
		margin-bottom: 50px;
	}
	.message .name{
		margin-top: 60px;
	}
	.message .name small{
		margin-bottom: 5px;
		font-size: 1rem;
		line-height: 1.5;
	}
	.message .name span{
		font-size: 2.2rem;
	}
/* spirits
-----------------------------------------------------------------*/
	.spirits{
		padding: 110px 0 60px;
	}
	.spirits h2 + .txt{
		margin-bottom: 50px;
		font-size: 1.6rem;
		text-align: justify;
	}
	.spirits .goal{
		padding: 50px 20px;
	}
	.spirits .goal h3{
		margin: 0 auto 30px;
		padding: 15px;
		font-size: 1.6rem;
	}
	.spirits .goal h3 + .txt{
		text-align: justify;
		font-size: 1.7rem;
	}
	.spirits .goal ol li{
		display: block;
		padding: 30px 0 40px;
	}
	.spirits .goal ol li:last-child{
		border-bottom: none;
		padding-bottom: 0;
	}
	.spirits .goal ol .num{
		display: block;
		width: fit-content;
		margin: 0 auto 20px;
		padding: 0 0 15px;
		border-right: none;
		border-bottom: 1px solid #ccc;
		font-size: 3rem;
	}
	.spirits .goal ol .txt{
		font-size: 1.6rem;
		text-align: justify;
	}
/* policy
-----------------------------------------------------------------*/
	.policy{
		padding: 60px 0 110px;
	}
	.policy-list > div:nth-child(n+2){
		margin-top: 60px;
	}
	.policy-list > div > dt{
		margin-bottom: 30px;
		padding-bottom: 20px;
	}
	.policy-list > div > dt .num{
		margin-right:15px;
		padding-right: 15px;
		font-size: 3rem;
	}
	.policy-list > div > dt .ttl{
		font-size: 2rem;
	}
	.policy-list dd dl{
		display: block;
	}
	.policy-list dd dl > div{
		width: 100%;
	}
	.policy-list dd dl > div:nth-child(n+2){
		margin-top: 50px;
	}
	.policy-list dd dl .ttl-dot,
	.policy-list dd h3{
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		font-size: 1.6rem;
	}
	.policy-list dd dl dd .txt + .txt{
		margin-top: 20px;
	}
	.policy-list dd > div + div{
		margin-top: 50px;
	}
	.policy-list dd h3 + .txt-lead{
		margin-bottom: 30px;
		font-size: 1.4rem;
	}
	.policy-list dd ul{
		display: block;
	}
	.policy-list dd ul li{
		width: 100%;
		padding: 25px 20px;
	}
	.policy-list dd ul li:nth-child(n+2){
		margin-top: 15px;
	}
	.policy-list dd ul .ico{
		width: 60px;
		margin-right: 15px;
	}
	.policy-list dd ul h4{
		margin-bottom: 15px;
		font-size: 1.7rem;
	}
}