@charset "UTF-8";


	
	
/* pagetitle
--------------------- */
#pagetitle.about {
	width: 400px;
	position: sticky;
	top: 100px;
	align-self: flex-start;
}
	#pagetitle.about .text {
		width: 100%;
	}
		#pagetitle.about .text  ul.anchor {
			margin-top: 40px;
		}
			#pagetitle.about .text  ul.anchor li {
				width: 48.5%;
				margin-right: 3%;
				margin-bottom: 3%;
			}
			#pagetitle.about .text  ul.anchor li:nth-child(2n) {
				margin-right: 0;
			}
				#pagetitle.about .text  ul.anchor li a {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					height: 58px;
					background: #F5F5F5 url("../../common/img/icon_ac_arrow_red.svg") no-repeat right 15px center;
					border-radius: 10px;
					font-size: 1.3rem;
					font-weight: 500;
					line-height: 1.4em;
					padding: 0 15px;
				}
				#pagetitle.about .text  ul.anchor li a:hover {
					background: #DE0000 url("../../common/img/icon_ac_arrow_white.svg") no-repeat right 15px center;
					color: #fff;
				}


	
	
/* contents
--------------------- */
#contents {
	width: -webkit-calc(100% - 470px);
	width: calc(100% - 470px);
}
	#contents #gallery {
		width: calc( 100vw - (100vw - 145px) / 2 );
		border-radius: 20px 0 0 20px;
		overflow: hidden;
		margin-bottom: 120px;
	}
		#contents #gallery .loopSlider {
			height: 500px;
			position: relative;
		}
			#contents #gallery .loopSlider .loopslider_wrap {
				height: 500px;
				display: -webkit-flex;
				display: flex;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
			}
				#contents #gallery .loopSlider .loopslider_wrap ul {
					display: -webkit-flex;
					display: flex;
				}
					#contents #gallery .loopSlider .loopslider_wrap ul li {
						width: 390px;
						border-radius: 20px;
						overflow: hidden;
						margin: 0 10px;
					}

	#contents .keyword .k-ttl {
		margin-bottom: 20px;
	}
		#contents .keyword .k-ttl .en {
			font-size: 7.0rem;
			font-weight: 500;
			letter-spacing: 0;
			line-height: 1;
		}

		#contents .keyword .k-ttl h2 {
			font-size: 3.0rem;
			font-weight: 700;
			line-height: 1.3em;
			letter-spacing: 0;
		}

	#contents .keyword .txt {
		margin-bottom: 35px;
	}

	#contents .keyword .pht {
		border-radius: 20px;
		overflow: hidden;
	}
	#contents .keyword .pht.border {
		border: solid 1px #ddd;
	}


	
	
/* contributing
--------------------- */
#contributing .flow {
	margin-bottom: 40px;
	border-radius: 10px;
	overflow: hidden;
}
#contributing .flow:nth-last-child(1) {
	margin-bottom: 0;
}


	
	
/* products
--------------------- */
#products .list .box {
	width: 48.5%;
	border-radius: 20px;
	border: solid 1px #ddd;
	padding: 30px 40px;
}
	#products .list .box h3 {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.3em;
		margin-bottom: 18px;
	}

	#products .list .box .pht {
		border-radius: 15px;
		overflow: hidden;
		margin-bottom: 20px;
	}

	#products .list .box .sub-txt {
		margin-top: 10px;
	}


	
	
/* beginning
--------------------- */
#beginning {
	padding-bottom: 100px;
}
	#beginning .contents {
		width: 46%;
	}
		#beginning .contents #pagetitle {
			padding-bottom: 40px;
		}
			#beginning .contents #pagetitle .text {
				width: 100%;
			}
				#beginning .contents #pagetitle .text h1 {
					margin-bottom: 0;
				}

		#beginning .contents .profile h2 {
			font-size: 3.6rem;
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: 25px;
		}

		#beginning .contents .profile .name {
			font-size: 2.6rem;
			font-weight: 500;
			line-height: 1;
			margin-bottom: 15px;
		}
			#beginning .contents .profile .name span {
				font-size: 1.4rem;
				padding-right: 15px;
			}

		#beginning .contents .row {
			margin-top: 100px;
		}
			#beginning .contents .row .title {
				margin-bottom: 20px;
			}


	#beginning .mainpht {
		width: 46%;
		height: -webkit-calc(100vh - 170px);
		height: calc(100vh - 170px);
		border-radius: 20px;
		position: sticky;
		top: 120px;
		right: 0;
	}
		#beginning .mainpht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}


	
	
/* pht-full
--------------------- */
.pht-full {
	margin-right: 7%;
	overflow: hidden;
	border-radius: 0 20px 20px 0;
}


	
	
/* message
--------------------- */
#message .row {
	margin-top: 100px;
}
	#message .row.flex-start .text {
		width: 47%;
	}
	#message .row.flex-start:nth-child(1) .text {
		order: 2;
		padding-bottom: 100px;
	}
		#message .row .text .title {
			margin-bottom: 20px;
		}

		#message .row.healthy .text .cell {
			border-top: dashed 1px #ddd;
			padding-top: 25px;
			margin-top: 25px;
		}
			#message .row.healthy .text .cell h3 {
				font-size: 1.8rem;
				font-weight: 700;
				line-height: 1.3em;
				margin-bottom: 8px;
			}

			#message .row.healthy .text .cell .txt {
				margin-bottom: 15px;
			}
			#message .row.healthy .text .cell .txt.name {
				text-align: right;
			}

	#message .row.flex-start .pht {
		width: 47%;
		overflow: hidden;
		border-radius: 20px;
	}
	#message .row.flex-start:nth-child(1) .pht {
		order: 1;
	}
		#message .row.flex-start .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}





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


	
	
/* pagetitle
--------------------- */
#pagetitle.about {
	width: 43%;
}


	
	
/* contents
--------------------- */
#contents {
	width: 50%;
}
	#contents #gallery {
		width: 116.2%;
	}



}





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


	
	
/* pagetitle
--------------------- */
#pagetitle.about {
	top: 80px;
}
	#pagetitle.about .text  ul.anchor {
		display: block;
		margin-top: 25px;
	}
		#pagetitle.about .text  ul.anchor li {
			width: 100%;
			margin-right: 0;
			margin-bottom: 10px;
		}
			#pagetitle.about .text  ul.anchor li a {
				height: 50px;
			}


	
	
/* contents
--------------------- */
#contents #gallery {
	border-radius: 15px 0 0 15px;
	margin-bottom: 90px;
}
	#contents #gallery .loopSlider {
		height: 370px;
	}
		#contents #gallery .loopSlider .loopslider_wrap {
			height: 370px;
	}
			#contents #gallery .loopSlider .loopslider_wrap ul li {
				width: 290px;
				border-radius: 15px;
			}

#contents .keyword .k-ttl {
	margin-bottom: 15px;
}
	#contents .keyword .k-ttl .en {
		font-size: 5.0rem;
		margin-bottom: 3px;
	}

	#contents .keyword .k-ttl h2 {
		font-size: 2.2rem;
	}

#contents .keyword .txt {
	margin-bottom: 25px;
}

#contents .keyword .pht {
	border-radius: 15px;
}


	
	
/* contributing
--------------------- */
#contributing .flow {
	margin-bottom: 30px;
}


	
	
/* products
--------------------- */
#products .list .box {
	width: 48%;
	border-radius: 15px;
	padding: 20px 25px;
}
	#products .list .box h3 {
		font-size: 2.2rem;
		margin-bottom: 15px;
	}

	#products .list .box .pht {
		border-radius: 15px;
		margin-bottom: 16px;
	}


	
	
/* beginning
--------------------- */
#beginning {
	padding-bottom: 80px;
}
	#beginning .contents #pagetitle {
		padding-bottom: 35px;
	}

	#beginning .contents .profile h2 {
		font-size: 3.0rem;
	}

	#beginning .contents .profile .name {
		font-size: 2.4rem;
	}
		#beginning .contents .profile .name span {
			font-size: 1.2rem;
		}

	#beginning .contents .row {
		margin-top: 80px;
	}


	#beginning .mainpht {
		border-radius: 15px;
		top: 120px;
	}


	
	
/* pht-full
--------------------- */
.pht-full {
	border-radius: 0 15px 15px 0;
}


	
	
/* message
--------------------- */
#message .row {
	margin-top: 80px;
}
	#message .row.flex-start:nth-child(1) .text {
		padding-bottom: 0;
	}

	#message .row.flex-start .pht {
		border-radius: 15px;
	}




}





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


	
	
/* area
--------------------- */
.area {
	display: block;
}


	
	
/* pagetitle
--------------------- */
#pagetitle.about {
	width: 100%;
	position: static;
	padding-bottom: 0;
}
	#pagetitle .text {
		padding-top: 15px;
	}
		#pagetitle .text .en {
			margin-bottom: 15px;
		}

		#pagetitle.about .text ul.anchor {
			display: none;
		}


	
	
/* contents
--------------------- */
#contents {
	width: 100%;
}
	#contents #gallery {
		width: 116%;
		margin-left: -8%;
		border-radius: 0;
		margin-bottom: 60px;
	}
		#contents #gallery .loopSlider {
			height: 290px;
		}
			#contents #gallery .loopSlider .loopslider_wrap {
				height: 290px;
		}
				#contents #gallery .loopSlider .loopslider_wrap ul li {
					width: 226px;
					margin: 0 8px;
				}

	#contents .keyword .k-ttl .en {
		font-size: 4.0rem;
	}

	#contents .keyword .k-ttl h2 {
		font-size: 2.0rem;
	}

	#contents .keyword .txt {
		margin-bottom: 20px;
	}


	
	
/* contributing
--------------------- */
#contributing .flow {
	margin-bottom: 25px;
}
	#contributing .flow img {
		width: 800px;
	}


	
	
/* products
--------------------- */
#products .list {
	display: block;
}
	#products .list .box {
		width: 100%;
		margin-bottom: 25px;
	}
	#products .list .box:nth-last-child(1) {
		margin-bottom: 0;
	}
		#products .list .box h3 {
			font-size: 2.0rem;
		}


	
	
/* beginning
--------------------- */
#beginning {
	display: block;
	padding-bottom: 50px;
}
	#beginning .contents {
		width: 100%;
	}
		#beginning .contents #pagetitle {
			padding-bottom: 25px;
		}
			#beginning .contents #pagetitle .text {
				margin-bottom: 0;
			}
	
		#beginning .contents .pht {
			border-radius: 15px;
			overflow: hidden;
			margin-bottom: 20px;
		}

		#beginning .contents .profile h2 {
			font-size: 2.4rem;
			margin-bottom: 20px;
		}

		#beginning .contents .profile .name {
			font-size: 2.0rem;
		}
			#beginning .contents .profile .name span {
				font-size: 1.1rem;
			}

		#beginning .contents .row {
			margin-top: 50px;
		}
			#beginning .contents .row .title {
				margin-bottom: 15px;
			}


	
	
/* pht-full
--------------------- */
.pht-full {
	height: 100%;
	aspect-ratio: 16 / 10;
}
	.pht-full img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}


	
	
/* message
--------------------- */
#message .row {
	display: block;
	margin-top: 50px;
}
	#message .row.flex-start .text {
		width: 100%;
		margin-bottom: 20px;
	}
		#message .row .text .title {
			margin-bottom: 15px;
		}
	
		#message .row.healthy .text .cell {
			padding-top: 20px;
			margin-top: 20px;
		}
			#message .row.healthy .text .cell h3 {
				font-size: 1.6rem;
			}

	#message .row.flex-start .pht {
		width: 100%;
	}






}