@charset "UTF-8";

body{
	min-width: 320px;
	width: 100%;
	font-size: 3.2vw;
	overflow-x: hidden;
}
body img.pc,
body br.pc{
	display: none !important;
}
body img{
	max-width: 100%;
	pointer-events: none;
}
body a:hover,
body button:hover,
body input[type=submit]:hover,
body input[type=button]:hover{
	opacity: 1;
}

/******************************************************************************
	header
******************************************************************************/
header{
	height: 100vw;
	max-width: 100%;
	background: #fff;
}
header > p img{
	width: 50vw;
}
header .txt{
	right: auto;
	bottom: auto;
	left: 0;
	top: 20vw;
	padding: 4vw 4vw;
	width: 63vw;
}
header .txt h1{
	width: 51vw;
}
header .txt p{
	margin: 2vw 0 0;
	font-size: 3.2vw;
	letter-spacing: 0.2em;
}
header .txt p.label{
	margin: 2vw 0 0 -4vw;
	padding: 1vw 4vw calc(0.2em + 1vw);
	font-size: 3.2vw;
}
header.init .txt{
	opacity: 0;
}
/******************************************************************************
	.movie
******************************************************************************/
section.movie .txt{
	padding: 6vw 4vw;
}
section.movie .txt h2{
	width: 38vw;
}
section.movie .txt p{
	margin: 2vw 0 0;
	padding: 1vw 2vw;
	border-width: 1px;
	font-size: 2.6667vw;
}
section.movie p.start{
	left: calc(50% - 9vw);
	top: calc(50% - 9vw);
	width: 18vw;
	height: 18vw;
}
/******************************************************************************
	.nav
******************************************************************************/
section.nav ul li span{
	max-width: 78.2%;
}
section.nav ul li:nth-of-type(2) span{
	max-width: 78.2%;
}
section.nav ul li:nth-of-type(3) span{
	max-width: 100%;
}
/******************************************************************************
	.interview
******************************************************************************/
section.interview{
	padding: 26vw 0 0;
}
section.interview h2{
	max-width: 86%;
}
section.interview ul{
	display: block;
}
section.interview ul li{
	box-sizing: border-box;
	position: relative;
	display: flex;
	justify-content: space-between;
	width: auto;
	padding: 0;
}
section.interview ul li:before{
	display: none;
}
section.interview ul li:after{
	content: " ";
	position: absolute;
	left: 0;
	top: auto;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #000;
}
section.interview ul li picture{
	order: 2;
	width: 42%;
	margin: 0;
}
section.interview ul li .txt{
	order: 1;
	box-sizing: border-box;
	width: 58%;
	padding: 4vw 3.4vw;
}
section.interview ul li p{
	font-size: 3.2vw;
	letter-spacing: 0;
}
section.interview ul li p.post{
	margin: 0 0 2vw;
	font-size: 2.4vw;
	letter-spacing: 0.1em;
}
section.interview ul li p.enName{
	margin: 0 0 2vw;
	font-size: 5vw;
}
section.interview ul li p.jpName{
	margin: 0 0 2vw;
	font-size: 3.8vw;
}
/******************************************************************************
	.content
******************************************************************************/
section.content h2 span{
	width: 52.8vw;
}
section.content#interior h2 span{
	width: 51.3vw;
}
section.content#philosophy h2 span{
	width: 71vw;
}
section.content div.set:before{
	height: 6vw;
}
section.content div.set .txt{
	width: auto;
	max-width: 94vw;
	padding: 6vw 4vw 0;
}
section.content div.set.left .txt{
	left: auto;
}
section.content div.set.right .txt{
	right: auto;
}
section.content div.set.top .txt{
	top: auto;
	padding-bottom: 0;
}
section.content div.set.bottom .txt{
	bottom: auto;
}
section.content div.set.max .txt{
	top: auto;
	height: auto;
}
section.content div.set.spLeft .txt{
	left: 0;
}
section.content div.set.spRight .txt{
	right: 0;
}
section.content div.set.spTop .txt{
	top: 0;
	padding-bottom: 6vw;
}
section.content div.set.spBottom .txt{
	bottom: 0;
}
section.content div.set.spMax .txt{
	top: 0;
	height: 100%;
}
section.content div.set.spMiddle .txt{
	top: 50%;
	transform: translateY(-50%);
	padding-bottom: 6vw;
}
section.content div.set:last-of-type .txt{
	padding-bottom: 6vw;
}
section.content div.set .txt h3{
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 3.7333vw;
	letter-spacing: 0.15em;
	line-height: 160%;
}
section.content div.set .txt h3 strong{
	font-size: 5vw;
}
section.content div.set .txt p{
	margin: 4vw 0 0;
	font-size: 3.3333vw;
	line-height: 170%;
	letter-spacing: 0;
}
section.content div.set .txt p.grade{
	width: 25vw;
	margin: 2vw 0 0 auto;
	padding: 0.5vw 0;
	font-size: 2.9333vw;
}
section.content#exterior div.set:nth-of-type(1) .txt{
	width: auto;
	max-width: 62vw;
}
section.content#exterior div.set:nth-of-type(2) .txt{
	width: auto;
	max-width: 62vw;
}
section.content#exterior div.set:nth-of-type(3) .txt{
	width: auto;
	max-width: 62vw;
}
section.content#exterior div.set:nth-of-type(4) .txt{
	width: auto;
	max-width: 60vw;
}
section.content#exterior div.set:nth-of-type(5) .txt{
	width: auto;
	max-width: 87vw;
}
section.content#interior div.set:nth-of-type(1) .txt{
	width: auto;
	max-width: 56vw;
}
section.content#interior div.set:nth-of-type(2) .txt{
	width: auto;
	max-width: 56vw;
}
section.content#interior div.set:nth-of-type(3) .txt{
	width: auto;
	max-width: 56vw;
}
section.content#philosophy div.set:nth-of-type(1) .txt{
	width: auto;
	max-width: 94vw;
}
/******************************************************************************
	.links
******************************************************************************/
section.links{
	padding: 0 5vw 12vw;
}
section.links h2{
	padding: 8vw 0 0;
	margin: 0 -5vw 12vw;
}
section.links h2 img{
	width: 72vw;
	max-width: initial;
	transform: translate(-2px,1px);
}
section.links ul.links{
	display: block;
	margin: 0 0 12vw;
}
section.links ul.links li{
	width: auto;
	margin: 0 0 1.6vw;
}
section.links ul.links li:last-child{
	margin: 0;
}
section.links ul.links li a{
	border-radius: 2.6667vw;
}
section.links ul.links li:nth-last-of-type(2){
	margin-bottom: 1.6vw;
}
section.links ul.sitemap{
	margin: 0 -5vw;
}
section.links ul.sitemap li{
	box-sizing: border-box;
	border-right: #000 1px solid;
}
section.links ul.sitemap li:last-child{
	margin-bottom: 0;
	border-right: none;
}
section.links ul.sitemap li a{
	padding: 3vw 0;
	font-size: 3.2vw;
	line-height: 100%;
}
section.links ul.sitemap li a span{
	width: 8vw;
	height: 8vw;
	margin: 0 0 2vw;
}
/******************************************************************************
	fancybox;
******************************************************************************/
.fancybox-slide{
	padding-left: 1vw;
	padding-right: 1vw;
}
/******************************************************************************
	.loading
******************************************************************************/
body #loading p{
	width: 51vw;
}
