*{
	color: black;
	padding: 0;
	margin: 0;
  font-feature-settings: 'pkna';
	--10px: 0.625rem;
	--12px: 0.75rem;
	--14px: 0.875rem;
	--16px: 1rem;
	--18px: 1.125rem;
	--20px: 1.25rem;
	--24px: 1.5rem;
	--30px: 1.875rem;
	--serif: zen-old-mincho, sans-serif;
	--sans: yu-gothic-pr6n, sans-serif;
	--unica: neue-haas-unica, sans-serif;
	--page-images-mb: 160px;
	--page-images-mb-sp: 72px;
	--shadow: 4px 4px 8px 0px rgb(50 51 56 / 15%), 0px 0px 38px -13px rgb(10 10 10 / 2%);
	--yu-ls: .025em;
}
a:hover{
	text-decoration: none;
}
.sp-only{
	display: none;
}
.unica{
	font-family: var(--unica);
	font-weight: 100;
	letter-spacing: 0.025em;
}
.fade-up-tgt{
	position: relative;
	opacity: 0;
	top: 50px;
	transition: top 2s cubic-bezier(0.22, 1, 0.36, 1), opacity 1s ease-in-out;
}
.fade-up-tgt.fade-up{
	opacity: 1;
	top: 0;
}
html{
	background-color: #FDFDFA;
	font-family: var(--sans);
	font-weight: 400;
	font-style: normal;
	text-rendering: optimizeLegibility;
}
body{
	height: 100%;
	width: 100%;
}
.logo{
	background: transparent;
	position: fixed;
	height: 4rem;
	top: 0;
	width: 100%;
	z-index: 100;
}
.logo a{
	display: inline-block;
	margin: 1rem 0 0 1rem;
}
.logo a img{
	height: auto;
	width: 76px;
}
.wrapper{
	margin: 0 auto;
	height: 100%;
	padding: 140px 0 34px;
	position: relative;
	width: 1022px;
}
.sticky-title{
	opacity: 0;
	position: fixed;
	top: 147px;
	transition: opacity .5s;
	left: -5000px;
}
.sticky-title.on{
	opacity: 1;
	left: calc((100vw - 1022px) / 2);
}
.sticky-title h1{
	margin-bottom: 48px;
	line-height: 0;
}
.sticky-title h1 img{
	height: 70px;
	width: 110px;
}
.sticky-title p{
font-size: var(--12px);
line-height: var(--20px);
letter-spacing: var(--yu-ls);
}
header{
	margin-bottom: var(--page-images-mb);
}
header .cover-image{
	text-align: center;
	margin-bottom: 120px;
	width: 100%;
}
header .cover-image img{
	height: auto;
	width: 372px;
	box-shadow: var(--shadow);
}
header .header_text{
	width: 100%;
}
header .header_text hgroup{
	display: inline-block;
	width: calc(100% / 7 * 3);
}
header .header_text hgroup h1{
	line-height: 0;
	margin-bottom: 33px;
}
header .header_text hgroup h1 img{
	height: auto;
	width: 291px;
}
header .header_text hgroup h2{
	font-size: var(--10px);
	font-weight: normal;
	line-height: var(--18px);

}
header .header_text div{
	float: right;
	width: calc(100% / 7 * 4);
}
header .header_text div p{
	font-family: var(--serif);
	font-size: var(--16px);
	line-height: var(--30px);
	margin-bottom: var(--30px);
	text-rendering: geometricPrecision;
}
#page-images{
	width: 100%;
}
#page-images img{
	box-shadow: var(--shadow);
}
#page-images img.page-image-main{
	max-height: 684px;
	margin-bottom: var(--page-images-mb);
	width: 100%;
}
#page-images img.page-image-normal,
#page-images img.page-image-right,
#page-images img.page-image-left{
	max-height: 390px;
	margin-left: calc(100% / 7 * 3);
	margin-bottom: var(--page-images-mb);
	width: calc(100% / 7 * 4);
}
#page-images p{
	font-family: var(--serif);
	font-size: var(--16px);
	line-height: var(--30px);
	margin-bottom: var(--page-images-mb);
	margin-left: calc(100% / 7 * 3);
	text-rendering: geometricPrecision;
	width: calc(100% / 7 * 4);
}
footer{
	width: 100%;
}
footer section.footer_main{
	margin: 0 auto 80px;
	width: 100%;
}
footer section.footer_main .cover-image{
	text-align: center;
}
footer section.footer_main .cover-image img{
	height: auto;
	margin-bottom: 28px;
	width: 292px;
	box-shadow: var(--shadow);
}
footer section.footer_main h1{
	height: auto;
	line-height: 0;
	margin-bottom: 24px;
	text-align: center;
	width: 100%;
}
footer section.footer_main h1 img{
	width: 291px;
}
footer section.footer_main p{
	font-size: var(--12px);
	letter-spacing: var(--yu-ls);
	line-height: var(--20px);
	text-align: center;
}
footer div.footer_banner{
	text-align: center;
	margin: 0 auto 80px;
	width: calc(100% / 7 * 4);
}
footer div.footer_banner p{
	font-size: var(--12px);
	line-height: 1.5em;
	margin-bottom: 10px;
}
footer div.footer_banner a{
	opacity: 1;
	transition: opacity .1s ease-in-out;
}
footer div.footer_banner a:hover{
	opacity: 0.5;
}
footer div.footer_banner a img{
	border-radius: 3px;
	box-shadow: var(--shadow);
	width: 100%;
}
footer section.footer_sub{
	margin-bottom: var(--page-images-mb);
	width: 100%;
}
footer section.footer_sub h1.separater{
	margin-bottom: 60px;
	line-height: 0;
	width: 100%;
}
footer section.footer_sub h1.separater span.bar{
	border-top: black 1px solid;
	display: inline-block;
	opacity: 0.5;
	position: relative;
	top: -5px;
	width: calc(100% / 7 * 3 - 20px);
}
footer section.footer_sub h1.separater img{
	height: auto;
	margin: 0 20px;
	width: calc(100% / 7 * 1);
}
footer section.footer_sub section.footer-links{
	display: inline-block;
	width: calc(100% / 7 * 2);
}
footer section.footer_sub section.footer-links>a{
	text-decoration: none;
}
footer section.footer_sub section.footer-links:nth-of-type(2){
	margin: 0 calc(100% / 7 * 0.46);
}
footer section.footer_sub section.footer-links div.icon{
	line-height: 0;
	text-align: center;
	width: 100%;
}
footer section.footer_sub section.footer-links div.icon img{
	border-radius: 5px;
	height: auto;
	opacity: 1;
	margin-bottom: 28px;
	transition: opacity .1s ease-in-out;
	width: 160px;
}
footer section.footer_sub section.footer-links:nth-of-type(n+2) div.icon img{
	border: 1px solid #00000010;
}
footer section.footer_sub section.footer-links:hover div.icon img{
	opacity: 0.75;
}
footer section.footer_sub section.footer-links hgroup{
	line-height: 0;
	text-align: center;
	margin: 0 auto 18px;
}
footer section.footer_sub section.footer-links hgroup h1,
footer section.footer_sub section.footer-links hgroup h2{
	display: inline-block;
	position: relative;
	line-height: 0;
}
footer section.footer_sub section.footer-links h2 img{
	height: 11px;
	position: relative;
	margin-right: 10px;
	width: auto;
}
footer section.footer_sub section.footer-links h1 img{
	height: 19px;
	width: auto;
}
footer section.footer_sub section.footer-links:nth-of-type(3) h1 img{
	height: 15px;
}
footer section.footer_sub section.footer-links p{
	font-size: var(--12px);
	letter-spacing: var(--yu-ls);
	line-height: var(--20px);
	text-align: center ;
	margin-bottom: 12px;
}
footer section.footer_sub section.footer-links p.link-text span{
	text-decoration: underline;
}
footer section.footer_sub section.footer-links:hover p.link-text span{
	text-decoration: none;
}
footer div.footer-logo{
	margin: 0 auto;
	width: calc(100% / 7 * 1);
}
footer div.footer-logo img{
	height: auto;
	margin-bottom: 16px;
	width: 140px;
}
footer div.footer-logo p{
	font-family: var(--unica);
	font-size: var(--10px);
	font-weight: 300;
	letter-spacing: .05em;
}

.fade-in{
	opacity: 0;
	position: relative;
	top: 10px;
	transition: all 1s .5s;
}
.fade-in-two{
	opacity: 0;
	position: relative;
	top: 10px;
	transition: all 1s 1.5s;
}
.fade-in-three{
	opacity: 0;
	position: relative;
	top: 10px;
	transition: all 1s 3s;
}


@media screen and (max-width: 900px) {
	.pc-only{
		display: none
	}
	.sp-only{
		display: block
	}
	.logo{
		background: rgb(253,253,250);
		background: linear-gradient(180deg, rgba(253,253,250,1) 0%, rgba(253,253,250,1) 75%, rgba(253,253,250,0) 100%);
	}
	.logo img.title{
		height: auto;
		opacity: 0;
		position: absolute;
		right: 1rem;
		top: 1.15rem;
		transition: opacity .5s;
		width: 212px;
	}
	.wrapper{
		box-sizing: border-box;
		padding: 18vh 0 34px;
		width: 100%
	}
	header{
		padding: 0 2rem;
	}
	header .cover-image{
		text-align: right;
		margin-bottom: 13vh
	}
	header .cover-image img{
		height: auto;
		width: 240px;
	}
	header .header_text hgroup{
		display: block;
		margin-bottom: 80px;
		width: 100%;
	}
	header .header_text div{
		font: none;
		width: 100%;
	}
	header .header_text div p{
		box-sizing: border-box;
		padding-left: 2rem;
		font-size: var(--14px);
		line-height: var(--24px);
	}
	header .header_text div p:nth-of-type(2){
		margin-bottom: var(--page-images-mb);
	}
	section.sticky-title{
		display: none
	}
	#page-images{
		box-sizing: border-box;
		overflow: hidden;
		padding: 0 2rem;
	}
	#page-images p{
		font-size: var(--14px);
		line-height: var(--24px);
		box-sizing: border-box;
		padding-left: 3rem;
		margin-bottom: var(--page-images-mb-sp);
		margin-left: 0;
		width: 100%
	}
	#page-images img.page-image-main{
		margin-bottom: var(--page-images-mb-sp);
	}
	#page-images img.page-image-normal,
	#page-images img.page-image-right,
	#page-images img.page-image-left{
		margin-left: 0;
		margin-bottom: var(--page-images-mb-sp);
		width: 100%
	}
	#page-images img.page-image-left{
		width: 200%;
	}
	#page-images img.page-image-right{
		position: relative;
		right: 100%;
		width: 200%;
	}
	footer section.footer_main {
		text-align: center;
		width: 100%;
	}
	footer section.footer_main div.cover-image {
		display: none
	}
	footer section.footer_main h1{
		display: none
	}
	footer section.footer_main p{
		font-size: var(--14px);
		margin-left: 0;
	}
	footer section.footer_main p.sp-only{
		border: 1px solid #00000099;
		border-radius: 3px;
		font-size: var(--12px);
		height: 3.75rem;
		margin: 48px auto;
		width: 13.5rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	footer div.footer_banner{
		width: calc(100% / 7 * 6);
	}
	footer section.footer_main p.sp-only a{
		text-decoration: none;
	}
	footer section.footer_sub h1.separater{
		margin-bottom: 20px;
	}

	footer section.footer_sub h1.separater span.bar{
		display: none
	}
	footer section.footer_sub h1.separater img{
		margin: 16px -2rem;
		width: 116px;
	}
	footer section.footer_sub{
		box-sizing: border-box;
		padding: 0 32px 44px 48px;
		background-color: #F7F7F5;
		margin-bottom: var(--page-images-mb-sp);
	}
	footer section.footer_sub section.footer-links{
		border-top: 1px solid #00000015;
		display: block;
		height: 376px;
		margin-bottom: 44px;
		position: relative;
		width: 100%;
	}
	footer section.footer_sub section.footer-links>a{
		display: block;
		height: 100%;
		position: relative;
		top: 0;
		left: 0;
	}
	footer section.footer_sub section.footer-links:nth-of-type(2){
		margin: 0 0 44px;
	}
	footer section.footer_sub section.footer-links:nth-of-type(3){
		margin-bottom: 0;
	}
	footer section.footer_sub section.footer-links div.icon{
		position: absolute;
		text-align: right;
		right: 0;
		bottom: 0;
	}
	footer section.footer_sub section.footer-links div.icon img{
		margin-bottom: 0;
		width: 204px;
	}
	footer section.footer_sub section.footer-links hgroup{
		margin-bottom: 0;
	}
	footer section.footer_sub section.footer-links hgroup h1{
		display: block;
		position: absolute;
		text-align: left;
		top: 2.25rem;
	}
	footer section.footer_sub section.footer-links hgroup h2{
		display: inline-block;
		opacity: 0.5;
		position: absolute;
		right: 0;
		top: 8px;
	}
	footer section.footer_sub section.footer-links h2 img{
		margin-right: 0;
		height: 9px;
	}
	footer section.footer_sub section.footer-links p{
		text-align: left;
		position: absolute;
		top: 4.25rem;
	}
	footer section.footer_sub section.footer-links p.link-text{
		top: 7rem;
	}
	footer div.footer-logo{
		width: 140px;
	}
	footer div.footer-logo img{
		margin-bottom: 0;
	}

}