@charset "UTF-8";



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
*{margin:0;padding:0;text-decoration:none}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none}address{font-style:normal}
html{font-size: 62.5%;}
body{font-size: 1.5rem;}


/* 文字装飾 */
strong {
	font-weight: bold;
}


ul li {
	list-style:none;	
}


/* box-sizing */ 
* {
	box-sizing: border-box;
}


/* float解除 */
.cbox { 
}
* html .cbox {
	zoom: 100%;
}
*:first-child+html .cbox {
	display: inline-block;
}
.cbox:after {
	content: "."; 
	clear: both; 
	height: 0; 
	display: block; 
	visibility: hidden;
}


/* img */ 
img {
	width: 100%;
	height: auto;
}


/* sp */ 
.sp {
	display: none;
}



/* リンク */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
a {
	color: #313030;
	text-decoration: none;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a:before {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}


/* テキスト装飾 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.blue {
	color: #0066B3;
}



/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	font-weight: 400;
	color: #313030;
	padding: 0;
	margin: 0;
	letter-spacing: 0.06em;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow: hidden;
}



/* フォント */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.en {
	font-family: "Cormorant Infant", serif;
	font-weight: 700;
	letter-spacing: 0;
}




/* flex */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	width: 80px;
	height: 100vh;
	padding: 30px 15px 0 15px;
	background: #2F2B2B;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 13;
}
#header:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #2f2b2b transparent transparent transparent;
	border-width: 50px 50px 0px 0px;
	position: absolute;
	top: 0;
	left: 80px;
	z-index: 13;
}
#header:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #2f2b2b;
	border-width: 50px 0px 0px 50px;
	position: absolute;
	bottom: 0;
	left: 80px;
	z-index: 13;
}
	#header .logo {
		line-height: 1;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
		#header .logo a {
			display: block;
			line-height: 1;
		}
		#header .logo a:hover {
			opacity: 0.7;
		}


	#header #menubtn {
		width: 80px;
		height: 80px;
		border-radius: 50%;
		background: #2F2B2B;
		position: fixed;
		top: 50%;
		left: 40px;
		margin-top: -40px;
		z-index: 15;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
		#header #menubtn .menu {
			display: block;
			position: relative;
			cursor: pointer;
			width: 80px;
			height: 80px;
		}
		#header #menubtn .menu:before {
			content: "Menu";
			width: 100%;
			font-size: 1.1rem;
			font-family: "Cormorant Infant", serif;
			font-weight: 700;
			line-height: 1;
			letter-spacing: 0;
			text-align: center;
			color: #fff;
			position: absolute;
			bottom: 23px;
			left: 0;
		}
			#header #menubtn .menu .openbtn-area {
				transition: all .4s;
			}
				#header #menubtn .menu span {
					width: 24px;
					display: inline-block;
					transition: all .4s;
					border-radius: 1px;
					position: absolute;
					top: 50%;
					left: 50%;
					margin-left: -12px;
					height: 1px;
					background: #fff;
				}
				#header #menubtn .menu span:nth-of-type(1) {
					margin-top: -11px;
				}
				#header #menubtn .menu span:nth-of-type(2) {
					margin-top: -6px;
				}
				#header #menubtn .menu span:nth-of-type(3) {
					margin-top: -1px;
				}

			#header #menubtn .menu.active .openbtn-area {
				transform: rotateY(-360deg);
			}
				#header #menubtn .menu.active span:nth-of-type(1) {
					transform: translateY(0) rotate(-155deg);
					margin-top: -7px;
				}
				#header #menubtn .menu.active span:nth-of-type(2) {
					opacity: 0;
				}
				#header #menubtn .menu.active span:nth-of-type(3) {
					transform: translateY(0) rotate(155deg);
					margin-top: -7px;
				}


	#header .scroll {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 80px;
		position: absolute;
		bottom: 30px;
		left: 0;
	}
		#header .scroll a {
			display: block;
			font-size: 1.5rem;
			color: #fff;
			-ms-writing-mode: tb-rl;
			writing-mode: vertical-rl;
		}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* globalnav */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#globalnav {
	position: absolute;
	top: 30px;
	right: 20px;
	z-index: 13;
}
	#globalnav ul.list li {
		margin-right: 20px;
		position: relative;
	}
	#globalnav ul.list li:nth-last-child(1) {
		margin-right: 0;
	}
		#globalnav ul.list li a.head {
			display: flex;
			justify-content: center;
			align-items: center;
			color: #313030;
			height: 50px;
			font-size: 1.4rem;
			font-weight: 700;
		}
		#globalnav ul.list li a.head:hover {
			opacity: 0.7;
		}

		#globalnav ul.list li.has-child ul.sub_list {
			width: 226px;
			background: #fff; 
			visibility: hidden;
			opacity: 0;
			border-radius: 4px;
			position: absolute;
			left: 50%;
			top: 60px;
			margin-left: -113px;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		#globalnav ul.list li.has-child:hover > .sub_list {
			visibility: visible;
			opacity: 1;
			top: 50px;
		}
			#globalnav ul.list li.has-child ul.sub_list li {
				border-bottom: solid 1px #ddd;
				margin-right: 0;
			}
			#globalnav ul.list li.has-child ul.sub_list li:nth-last-child(1) {
				border-bottom: none;
			}
				#globalnav ul.list li.has-child ul.sub_list li a {
					display: block;
					width: 100%;
					padding: 18px 35px 18px 15px;
					font-size: 1.4rem;
					font-weight: 500;
					background: url("img/common/icon_arrow_black.svg") no-repeat right 15px center / 16px;
					line-height: 1.3em;
				}
				#globalnav ul.list li.has-child ul.sub_list li a:hover {
					background: url("img/common/icon_arrow_black.svg") no-repeat right 12px center / 16px;
				}


	#globalnav ul.list li.cta a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 150px;
		height: 50px;
		background: #313030;
		font-size: 1.6rem;
		line-height: 1;
		text-align: center;
		color: #fff;
	}
	#globalnav ul.list li.cta a:hover {
		background: #F2F1EC;
		color: #313030;
	}


	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	display: none;
	width: 100%;
	height: 100vh;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 12;
}
	#menubox .menunav {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100vh;
		padding-left: 80px;
	}
		#menubox .menunav .linkarea {
			width: 1200px;
		}
			#menubox .menunav .linkarea .box {
				width: 22%;
				margin: 30px 4% 30px 0;
			}
			#menubox .menunav .linkarea .box:nth-child(4n) {
				margin-right: 0;
			}
				#menubox .menunav .linkarea .box a.head {
					display: block;
					border-bottom: solid 1px #ddd;
					padding-bottom: 18px;
				}
				#menubox .menunav .linkarea .box a.head:hover {
					opacity: 0.7;
				}
					#menubox .menunav .linkarea .box a.head .en {
						display: block;
						font-size: 1.4rem;
						line-height: 1;
						margin-bottom: 8px;
					}
					#menubox .menunav .linkarea .box a.head .jp {
						display: block;
						font-size: 2.0rem;
						line-height: 1.3em;
					}

				#menubox .menunav .linkarea .box ul {
					margin-top: 15px;
				}
					#menubox .menunav .linkarea .box ul li {
						margin-bottom: 5px;
					}
						#menubox .menunav .linkarea .box ul li a {
							display: block;
							font-size: 1.5rem;
						}
						#menubox .menunav .linkarea .box ul li a:hover {
							opacity: 0.7;
						}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ページタイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* pagetitle */
#pagetitle {
	width: 100%;
	background: #F2F1EC;
}
	#pagetitle .inner {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: 50vh;
	}
		#pagetitle .inner .breadcrumbs {
			font-size: 1.3rem;
			line-height: 1;
			position: absolute;
			top: 100px;
			left: 0;
		}
			#pagetitle .inner .breadcrumbs a {
				color: #AAA;
				text-decoration: underline;
			}
			#pagetitle .inner .breadcrumbs br {
				display: none !important;
			}

		#pagetitle .inner .text {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			padding-top: 50px;
		}
			#pagetitle .inner .text h1 {
				font-size: 5.6rem;
				font-weight: 600;
				line-height: 1.3em;
			}

			#pagetitle .inner .text .en {
				font-size: 2.4rem;
				font-weight: 700;
				line-height: 1;
				margin-top: 15px;
				margin-left: 20px;
			}

	#pagetitle .pht {
		width: 100%;
		height: 50vh;
		overflow: hidden;
		position: relative;
	}
		#pagetitle .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		#pagetitle .pht .copy {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			width: 1100px;
			height: 100%;
			font-size: 4.0rem;
			font-weight: 700;
			line-height: 1.4em;
			color: #fff;
			position: absolute;
			top: 0;
			left: 50%;
			margin-left: -550px;
		}
	
/* title */
.title {
	margin-bottom: 45px;
}
	.title .en {
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
		margin-bottom: 20px;
	}

	.title h2 {
		font-size: 3.6rem;
		font-weight: 700;
		line-height: 1.3em;
	}
	
/* top-tit */
.top-tit {
	margin-bottom: 45px;
}
.top-tit.white {
	color: #fff;
}
	.top-tit .en {
		font-size: 2.0rem;
		line-height: 1;
		margin-bottom: 20px;
	}
	.top-tit h2 {
		font-size: 5.4rem;
		font-weight: 700;
		line-height: 1.4em;
	}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* main */
#main {
	display: block;
	padding-left: 80px;
}
.inner {
	width: 1100px;
	margin: 0 auto;
	position: relative;
}
.inner_full {
	width: 100%;
	position: relative;
}

/* wrap */
.wrap-top {
	padding-top: 150px;
}
.wrap-bottom {
	padding-bottom: 150px;
}

/* txt */
.txt {
	font-size: 1.6rem;
	line-height: 2em;
}
.txt-15 {
	font-size: 1.5rem;
	line-height: 1.8em;
}

/* img-over */
a .img-over {
	overflow: hidden;
}
	a .img-over img {
		-moz-transition: -moz-transform 0.2s linear;
		-webkit-transition: -webkit-transform 0.2s linear;
		-o-transition: -o-transform 0.2s linear;
		-ms-transition: -ms-transform 0.2s linear;
		transition: transform 0.2s linear;
	}
	a:hover .img-over img {
		-webkit-transform: scale(1.05);
		-moz-transform: scale(1.05);
		-o-transform: scale(1.05);
		-ms-transform: scale(1.05);
		transform: scale(1.05);
	}

/* linkbtn */
a .linkbtn {
	display: inline-block;
	height: 60px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 60px;
	padding-right: 72px;
	position: relative;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a .linkbtn:before {
	content: "";
	width: 60px;
	height: 60px;
	position: absolute;
	top: 0;
	right: 0;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a:hover .linkbtn:before {
	content: "";
	width: 50px;
	height: 50px;
	position: absolute;
	top: 5px;
	right: 5px;
}

a .linkbtn.beige {
	color: #F2F1EC;
}
a .linkbtn.beige:before {
	background: #F2F1EC url("img/common/icon_arrow_black.svg") no-repeat center / 18px;
}

a .linkbtn.black:before {
	background: #313030 url("img/common/icon_arrow_beige.svg") no-repeat center / 18px;
}

a .linkbtn.white {
	color: #fff;
}
a .linkbtn.white:before {
	background: url("img/common/icon_arrow_white.svg") no-repeat center / 18px;
	border: solid 1px #fff;
}

/* list */
.list {
	counter-reset: listnum;
}
.list .text-pht {
	background: #FAF9F7;
}
	.list .text-pht .text {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 50%;
		padding: 5%;
		overflow: hidden;
		position: relative;
		z-index: 0;
	}
	.list .text-pht:nth-child(odd) .text {
		order: 2;
	}
	.list .text-pht .text:before {
		counter-increment: listnum;
		content: counter(listnum, decimal-leading-zero);
		font-family: "Cormorant Infant", serif;
		font-size: 18.0rem;
		font-weight: 700;
		color: #F2F1EC;
		letter-spacing: 0;
		line-height: 0.7;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
		.list .text-pht .text h3 {
			font-size: 2.8rem;
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: 15px;
		}

	.list .text-pht .pht {
		width: 50%;
	}
	.list .text-pht:nth-child(odd) .pht {
		order: 1;
	}
		.list .text-pht .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}


/* wp-pagenavi */
.pagenavi {
	width: 100%;
	display: block;
}
.wp-pagenavi {
	clear: both;
	text-align: center;
	margin-top: 10px;
	font-weight: 500;
	font-size: 100%;
}
.wp-pagenavi a, .wp-pagenavi span {
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-size: 1.5rem;
	font-weight: 500;
	color: #2F2B2B;
	border: solid 1px #ddd;
	text-align: center;
	line-height: 40px;
	margin: 0 5px;
	padding: 0;
	transition: 0.3s;
	-webkit-ransition: 0.3s;
}
.wp-pagenavi a:hover{
	opacity: 1;
	background: #2F2B2B;
	color: #fff;
	font-weight: 700;
}
.wp-pagenavi span.current{
	color: #fff;
	background: #2F2B2B;
	border: none;
	font-weight: 700;
}
.wp-pagenavi .pages {
	display: none;
}


	
	
/* achievements-list
--------------------- */
#achievements-list {
	width: 100%;
	overflow: hidden;
	position: relative;
}
	#achievements-list .list a.swiper-slide {
		width: 31%;
		margin-right: 3.5%;
		margin-bottom: 50px;
		display: block;
		position: relative;
		padding-bottom: 15px;
	}
	#achievements-list .list a.swiper-slide:nth-child(3n) {
		margin-right: 0;
	}
		#achievements-list .list a.swiper-slide h3 {
			font-size: 1.8rem;
			font-weight: 500;
			line-height: 1.5em;
			margin-bottom: 6px;
			margin-top: 20px;
		}

		#achievements-list .list a.swiper-slide ul.cat {
			 margin-top: 15px;
		}
			#achievements-list .list a.swiper-slide ul.cat li {
				 background: #F2F1EC;
				 border-radius: 5px;
				 font-size: 1.3rem;
				 line-height: 1;
				 letter-spacing: 0;
				 margin-top: 8px;
				 margin-right: 8px;
				 padding: 5px 8px;
			}

		 #achievements-list .list a.swiper-slide .more {
			 height: 40px;
			 font-size: 1.4rem;
			 font-weight: 700;
			 line-height: 40px;
			 padding-right: 46px;
			 position: absolute;
			 bottom: 0;
			 right: 0;
		}
		#achievements-list .list a.swiper-slide .more:before {
			 content: "";
			 width: 40px;
			 height: 40px;
			 background: #313030 url("img/common/icon_arrow_beige.svg") no-repeat center / 14px;
			 position: absolute;
			 top: 0;
			 right: 0;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		 #achievements-list .list a.swiper-slide:hover .more:before {
			 width: 30px;
			 height: 30px;
			 top: 5px;
			 right: 5px;
		}






/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* お問い合わせ */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#contact {
	display: block;
	width: 100%;
	background: url("img/common/contact_pht.jpg") no-repeat;
	position: relative;
}
#contact:before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
#contact:hover:before {
	background: rgba(0,0,0,0.8);
}
	#contact .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		z-index: 2;
		color: #fff;
	}
		#contact .inner .text {
			display: flex;
			justify-content: flex-start;
			align-items: center;
		}
			#contact .inner .text .c-ttl {
				margin-right: 50px;
			}
				#contact .inner .text .c-ttl .en {
					font-size: 6.0rem;
					font-weight: 500;
					line-height: 1;
					margin-bottom: 8px;
				}
				#contact .inner .text .c-ttl h2 {
					font-size: 2.0rem;
					font-weight: 700;
					line-height: 1;
				}






/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	width: 100%;
	background: #313030;
	position: relative;
	padding-top: 20px;
	padding-bottom: 70px;
	padding-left: 80px;
}
	#footer .marquee {
		display: flex;
		width: 100%;
		overflow: hidden;
		color: #fff;
		opacity: 0.2;
	}
		#footer .marquee .marquee__item {
			flex: 0 0 auto;
			overflow: hidden;
			font-size: 15.0rem;
			font-weight: 700;
			white-space: nowrap;
			line-height: 1.3em;
			padding-right: 20px;
		}
		#footer .marquee .marquee__item:nth-child(odd) {
			animation: loop 80s -40s linear infinite;
		}
		#footer .marquee .marquee__item:nth-child(even) {
			animation: loop2 80s linear infinite;
		}
		@keyframes loop {
			0% {
				transform: translateX(100%);
			}
			to {
				transform: translateX(-100%);
			}
		}
		@keyframes loop2 {
			0% {
				transform: translateX(0);
			}
			to {
				transform: translateX(-200%);
			}
		}


	#footer .info {
		margin-top: 20px;
		margin-bottom: 80px;
	}
		#footer .info a.logo {
			width: 182px;
			display: block;
			color: #fff;
			text-align: right;
			line-height: 1;
			margin-right: 60px;
		}
			#footer .info a.logo span {
				font-size: 1.4rem;
			}

		#footer .info p {
			font-size: 1.4rem;
			color: #fff;
			line-height: 1.8em;
			margin-top: 5px;
		}


	#footer .other {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
		#footer .other .sitemap ul.list {
			margin-right: 30px;
		}
			#footer .other .sitemap ul.list li {
				margin-bottom: 15px;
			}
			#footer .other .sitemap ul.list li:nth-last-child(1) {
				margin-bottom: 0;
			}
				#footer .other .sitemap ul.list li a {
					display: block;
					font-size: 1.4rem;
					line-height: 1;
					letter-spacing: 0.02em;
					color: #fff;
				}
				#footer .other .sitemap ul.list li a:hover {
					opacity: 0.7;
				}

		#footer .other .copyright {
			font-size: 1.1rem;
			line-height: 1;
			letter-spacing: 0;
			color: #fff;
			text-align: right;
		}







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




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* globalnav */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#globalnav ul.list li {
	margin-right: 16px;
}
	#globalnav ul.list li a.head {
		font-size: 1.3rem;
	}


	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox .menunav .linkarea {
	width: 100%;
	padding: 0 7%;
}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ページタイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* pagetitle */
#pagetitle .inner .breadcrumbs {
	left: 7%;
}

#pagetitle .pht .copy {
	width: 86%;
	left: 7%;
	margin-left: 0;
}




	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* main */
.inner {
	width: 100%;
	padding-left: 7%;
	padding-right: 7%;
}
.inner_full {
	width: 100%;
}






/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* お問い合わせ */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#contact .inner .text .c-ttl {
	margin-right: 40px;
}
	#contact .inner .text .c-ttl .en {
		font-size: 4.8rem;
	}
	

}





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




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	width: 60px;
	height: auto;
	padding: 0;
	background: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 13;
}
#header:before {
	display: none;
}
#header:after {
	display: none;
}
	#header .logo {
		width: 60px;
		background: #2F2B2B;
		line-height: 1;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
		#header .logo a {
			display: block;
			height: 60px;
			line-height: 1;
			padding: 12px;
		}
		#header .logo a:hover {
			opacity: 0.7;
		}


	#header #menubtn {
		width: 60px;
		height: 60px;
		top: 0;
		border-radius: 0;;
		left: auto;
		right: 0;
		margin-top: 0;
	}
		#header #menubtn .menu {
			width: 60px;
			height: 60px;
		}
		#header #menubtn .menu:before {
			bottom: 13px;
		}


	#header .scroll {
		display: none;
	}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* globalnav */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#globalnav {
	position: fixed;
	top: 0;
	right: 60px;
	z-index: 13;
}
	#globalnav ul.list li {
		display: none;
	}
	#globalnav ul.list li.cta {
		display: block;
	}
		#globalnav ul.list li.cta a {
			width: 110px;
			height: 60px;
			background: #F2F1EC;
			color: #313030;
		}


	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox .menunav {
	padding-left: 0;
}
	#menubox .menunav .linkarea .box {
		margin: 30px 4% 30px 0;
	}
		#menubox .menunav .linkarea .box a.head .en {
			font-size: 1.2rem;
		}
		#menubox .menunav .linkarea .box a.head .jp {
			font-size: 1.8rem;
		}

			#menubox .menunav .linkarea .box ul li a {
				font-size: 1.4rem;
			}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ページタイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* pagetitle */
#pagetitle .inner {
	height: auto;
}
	#pagetitle .inner .breadcrumbs {
		overflow-x: scroll;
		overflow-y: clip;
		white-space: nowrap;
		padding-top: 25px;
		font-size: 1.2rem;
		position: static;
		padding-left: 20px;
	}
	#pagetitle .inner .breadcrumbs::-webkit-scrollbar {
		width: 0;
		height: 0;
	}
	#pagetitle .inner .breadcrumbs::-webkit-scrollbar-track {
		background: none;
	}
	#pagetitle .inner .breadcrumbs::-webkit-scrollbar-thumb {
		background: none;
	}

	#pagetitle .inner .text {
		padding-top: 0;
		padding: 60px 0;
	}
		#pagetitle .inner .text h1 {
			font-size: 4.4rem;
		}

		#pagetitle .inner .text .en {
			font-size: 2.0rem;
			margin-top: 10px;
		}

#pagetitle .pht {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 6;
}
	#pagetitle .pht .copy {
		font-size: 3.4rem;
	}

/* title */
.title {
	margin-bottom: 35px;
}
	.title .en {
		font-size: 1.4rem;
		margin-bottom: 18px;
	}

	.title h2 {
		font-size: 3.0rem;
	}
	
/* top-tit */
.top-tit {
	margin-bottom: 35px;
}
	.top-tit .en {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
	.top-tit h2 {
		font-size: 4.0rem;
	}

	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* main */
#main {
	padding-left: 0;
}

/* wrap */
.wrap-top {
	padding-top: 100px;
}
.wrap-bottom {
	padding-bottom: 100px;
}

/* txt */
.txt {
	font-size: 1.5rem;
	line-height: 1.8em;
}
.txt-15 {
	font-size: 1.4rem;
	line-height: 1.6em;
}

/* linkbtn */
a .linkbtn {
	height: 50px;
	font-size: 1.6rem;
	line-height: 50px;
	padding-right: 62px;
}
a .linkbtn:before {
	width: 50px;
	height: 50px;
}
a:hover .linkbtn:before {
	width: 40px;
	height: 40px;
}

a .linkbtn.beige:before {
	background: #F2F1EC url("img/common/icon_arrow_black.svg") no-repeat center / 16px;
}
a .linkbtn.black:before {
	background: #313030 url("img/common/icon_arrow_beige.svg") no-repeat center / 16px;
}
a .linkbtn.white:before {
	background: url("img/common/icon_arrow_white.svg") no-repeat center / 16px;
}

/* list */
.list .text-pht .text:before {
	font-size: 15.0rem;
	line-height: 0.7;
}
	.list .text-pht .text h3 {
		font-size: 2.4rem;
		margin-bottom: 12px;
	}


	
	
/* achievements-list
--------------------- */
#achievements-list .list a.swiper-slide {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 40px;
}
#achievements-list .list a.swiper-slide:nth-child(3n) {
	margin-right: 4%;
}
#achievements-list .list a.swiper-slide:nth-child(2n) {
	margin-right: 0;
}
	#achievements-list .list a.swiper-slide h3 {
		font-size: 1.6rem;
		margin-top: 16px;
	}

	#achievements-list .list a.swiper-slide ul.cat {
		margin-top: 10px;
	}
		#achievements-list .list a.swiper-slide ul.cat li {
			border-radius: 3px;
			font-size: 1.1rem;
			margin-right: 6px;
			margin-top: 6px;
		}

	 #achievements-list .list a.swiper-slide .more {
		 height: 30px;
		 font-size: 1.3rem;
		 line-height: 30px;
		 padding-right: 36px;
	}
	#achievements-list .list a.swiper-slide .more:before {
		width: 30px;
		height: 30px;
		background: #313030 url("img/common/icon_arrow_beige.svg") no-repeat center / 12px;
	}
	#achievements-list .list a.swiper-slide:hover .more:before {
		top: 0;
		right: 0;
	}







/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* お問い合わせ */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#contact .inner .text {
	display: block;
}
	#contact .inner .text .c-ttl {
		margin-right: 0;
		margin-bottom: 30px;
	}
		#contact .inner .text .c-ttl .en {
			font-size: 5.0rem;
		}
		#contact .inner .text .c-ttl h2 {
			font-size: 1.8rem;
		}






/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	padding-left: 0;
}
	#footer .marquee .marquee__item {
		font-size: 12.0rem;
	}


	#footer .info {
		margin-bottom: 70px;
	}
		#footer .info a.logo {
			width: 150px;
		}
			#footer .info a.logo span {
				font-size: 1.3rem;
			}

		#footer .info p {
			font-size: 1.3rem;
		}


	#footer .other {
		display: block;
	}
		#footer .other .sitemap ul.list {
			margin-right: 40px;
		}
			#footer .other .sitemap ul.list li {
				margin-bottom: 30px;
			}

		#footer .other .copyright {
			font-size: 1.0rem;
			text-align: left;
			margin-top: 80px;
		}



}

	







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


.sp {
	display: block;
}
.pc {
	display: none !important;
}




	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* menubox */
#menubox .menunav {
	display: block;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	padding: 0;
	overflow: hidden;
	overflow-y: scroll;
}
	#menubox .menunav .linkarea {
		display: block;
		width: 100%;
		height: auto;
		overflow-y: hidden;
		padding-top: 80px;
		padding-bottom: 30px;
	}
		#menubox .menunav .linkarea .box {
			width: 100%;
			margin: 0;
			padding: 25px 0;
			border-bottom: solid 1px #ddd;
		}
		#menubox .menunav .linkarea .box:nth-last-child(1) {
			border-bottom: none;
		}
			#menubox .menunav .linkarea .box a.head {
				border-bottom: none;
				padding-bottom: 0;
			}
				#menubox .menunav .linkarea .box a.head .en {
					font-size: 1.2rem;
				}
				#menubox .menunav .linkarea .box a.head .jp {
					font-size: 1.8rem;
				}

				#menubox .menunav .linkarea .box ul {
					margin-top: 10px;
				}



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ページタイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* pagetitle */
#pagetitle .inner .breadcrumbs {
	padding-top: 85px;
	padding-left: 0;
}

#pagetitle .inner .text {
	display: block;
	padding-top: 0;
	padding: 30px 0 40px 0;
}
	#pagetitle .inner .text h1 {
		font-size: 3.4rem;
	}

	#pagetitle .inner .text .en {
		font-size: 2.0rem;
		margin-top: 10px;
		margin-left: 0;
	}

#pagetitle .pht {
	aspect-ratio: 16 / 9;
}
	#pagetitle .pht .copy {
		font-size: 2.4rem;
	}
	
/* title */
.title {
	margin-bottom: 30px;
}
	.title .en {
		font-size: 1.3rem;
		margin-bottom: 16px;
	}

	.title h2 {
		font-size: 2.8rem;
	}
	
/* top-tit */
.top-tit {
	margin-bottom: 30px;
}
	.top-tit .en {
		font-size: 1.6rem;
		margin-bottom: 15px;
	}
	.top-tit h2 {
		font-size: 3.0rem;
		letter-spacing: 0.02em;
	}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* wrap */
.wrap-top {
	padding-top: 70px;
}
.wrap-bottom {
	padding-bottom: 70px;
}

/* list */
.list .text-pht {
	display: block;
	margin-bottom: 30px;
}
.list .text-pht:nth-last-child(1) {
	margin-bottom: 0;
}
	.list .text-pht .text {
		width: 100%;
		padding: 30px 25px;
	}
	.list .text-pht .text:before {
		font-size: 12.0rem;
	}
		.list .text-pht .text h3 {
			font-size: 2.2rem;
			margin-bottom: 10px;
		}

	.list .text-pht .pht {
		width: 100%;
		height: 100%;
		aspect-ratio: 16 / 10;
	}


/* wp-pagenavi */
.wp-pagenavi {
	margin-top: 10px;
}
.wp-pagenavi a, .wp-pagenavi span {
	width: 30px;
	height: 30px;
	line-height: 30px;
	margin: 0 4px;
	font-size: 1.3rem;
}


	
	
/* achievements-list
--------------------- */
#achievements-list .list {
	display: block;
}
#achievements-list .list a.swiper-slide {
	width: 100%;
	margin-right: 0;
	margin-bottom: 40px;
}
#achievements-list .list a.swiper-slide:nth-child(3n) {
	margin-right: 0;
}






/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* お問い合わせ */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#contact:before {
	background: rgba(0,0,0,0.6);
}
	#contact .inner {
		display: block;
	}
		#contact .inner .text {
			display: block;
			margin-bottom: 40px;
		}
			#contact .inner .text .c-ttl {
				margin-right: 0;
				margin-bottom: 30px;
			}
				#contact .inner .text .c-ttl .en {
					font-size: 5.0rem;
				}
				#contact .inner .text .c-ttl h2 {
					font-size: 1.8rem;
				}






/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	padding-bottom: 50px;
}
	#footer .marquee .marquee__item {
		font-size: 9.0rem;
	}


	#footer .info {
		display: block;
		margin-bottom: 0;
	}
		#footer .info a.logo {
			width: 150px;
			margin: 0 auto 30px auto;
			text-align: center;
		}
			#footer .info a.logo span {
				font-size: 1.2rem;
			}

		#footer .info p {
			font-size: 1.3rem;
			text-align: center;
		}


	#footer .other {
		display: block;
	}
		#footer .other .sitemap {
			display: none;
		}

		#footer .other .copyright {
			font-size: 1.0rem;
			text-align: center;
			margin-top: 50px;
		}



}