
html{
	font-size: 10px;
}

html.pc     .sp:not(.pc){ display: none !important; }
html.pc     .tablet:not(.pc){ display: none !important; }
html.sp     .pc:not(.sp){ display: none !important; }
html.sp     .tablet:not(.sp){ display: none !important; }
html.tablet .pc:not(.tablet){ display: none !important; }
html.tablet .sp:not(.tablet){ display: none !important; }

html.pc     .pc_hide{ display: none !important; }
html.sp     .sp_hide{ display: none !important; }
html.tablet .tablet_hide{ display: none !important; }

body{
	font-family: sans-serif;
	font-size: 1.6rem;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
	/* font-feature-settings: "palt"; */
}

.page_width{
	width: 875px;
	max-width: 90vw;
	margin: 0 auto;
}

#gnav_open {
    display: none;
}
header{
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	z-index: 1000;
	transition: background-color 0.5s linear;
}
header.bg{
	background-color: #000;
}
html.sp header.bg{
	background-color: transparent;
}
header .goto_top{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #F1EDDD;
	width: 55px;
	height: 55px;
}
html.sp header .goto_top{
	width: 72px;
	height: 72px;
}
html.sp header .goto_top img{
	width: 44px;
	height: 44px;
}
header #site-navigation a{
	margin: 0 20px;
}
header .sns{
	margin-right: 10vw;
}
html.sp header .sns{
	margin-right: 15vw;
}
html.sp header .sns img{
	width: 30px;
	margin: 0 3px;
}
header .sp_nav {
	position: fixed;
	box-sizing: border-box;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	padding: 200px 0 0;
	text-align: center;
	background-color: #F1EDDD;
	opacity: 0;
	pointer-events: none;
	transition: 0.3s linear;
	z-index: 1100;
}
html.sp header .sp_nav .goto_top{
	position: fixed;
	left: 0;
	top: 0;
	background-color: #453530;
}
html.sp header .sp_nav a{
	display: inline-block;
	margin: 25px 0;
}
html.sp header .sp_nav a.goto_top{
	display: flex;
	margin: 0;
}
html.sp header #gnav_open:checked ~ .sp_nav{
	opacity: 1;
	pointer-events: unset;
}
html.sp header label{
	position: fixed;
	width: 40px;
	height: 40px;
	right: 20px;
	top: 20px;
	z-index: 1200;
}
html.sp header label img{
	position: absolute;
}
html.sp header label img[src*="/sp/knob."]{
}
html.sp header label img[src*="/sp/knob2."]{
	display: none;
}
html.sp header #gnav_open:checked ~ label img[src*="/sp/knob."]{
	display: none;
}
html.sp header #gnav_open:checked ~ label img[src*="/sp/knob2."]{
	display: inline-block;
}

footer{
	position: relative;
	font-size: 1.1rem;
	line-height: 2.2;
	color: #453530;
	padding: 30px 0;
	width: 1000px;
	max-width: 90vw;
	margin: 0 auto;
}
html.sp footer{
	font-size: 1.4rem;
}
footer a{
	color: #453530;
	text-decoration: none;
	transition: opacity 0.2s linear;
}
footer a:hover{
	opacity: 0.6;
}
footer .cols{
	display: flex;
}
footer .col{
	margin-right: 50px;
}
html.sp footer .col{
	text-align: center;
	width: 100%;
	flex-basis: 100%;
	margin-right: 0;
}
html.sp footer .col:nth-of-type(2),
html.sp footer .col:nth-of-type(3){
	display: none;
}
footer img[src*="/footer/1."]{
	width: 232px;
	height: 35px;
	margin-top: 30px;
}
html.sp footer img[src*="/footer/1."]{
	width: 250px;
	height: auto;
}
footer .copyright{
	text-align: center;
	font-size: 1rem;
	color: #000;
	margin: 30px 0;
}
footer .goto_top{
	display: none;
}
html.sp footer .goto_top{
	display: inline-block;
	position: absolute;
	right: 10px;
	bottom: 30px;
}

figure{
	margin: 0;
}

img{
	vertical-align: middle;
	max-width: 100%;
}

.mincho{
	font-family: serif;
}




/* トップページ ********************************** */

#top_page{
	color: #453530;
}

#top_page .slide_show{
	text-align: center;
	height: 100vh;
	overflow: hidden;
	background-color: #453530;
}
#top_page .slide_show .sp_hide .metaslider{
	display: inline-block;
	min-width: 122.6vh;
	margin: 0 -1000px;
}
#top_page .slide_show .sp .metaslider{
	display: inline-block;
	min-width: 100vw;
	margin: 0 -1000px;
}
#top_page .slide_show_front{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
	margin-top: -100vh;
	z-index: 500;
}
#top_page .slide_show_front img{
	width: 154px;
	height: 149px;
}

#top_page .v_rl{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 2.2;
	letter-spacing: 2px;
	margin: 100px 0 0 70px;
}
@media all and (-ms-high-contrast: none) {
	/* IE のみ */
	#top_page .v_rl{
		height: 440px;
	}
}
html.sp #top_page .v_rl{
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	text-align: center;
	margin: 50px 0 0 0;
}

#top_page .area1{
	margin: 100px 0 0 100px;
}

#top_page h2{
	display: flex;
	align-items: center;
	margin: 100px 0 50px;
}
#top_page h2:before,
#top_page h2:after{
	content: "";
	display: block;
	width: 50%;
	height: 0;
	border-top: 1px solid #453530;
}
#top_page h2 img{
	margin: 0 20px;
}

#top_page h3{
	font-size: 2.8rem;
	font-weight: normal;
	margin: 0 0 0 50px;
}
html.sp #top_page h3{
	margin: 0;
}

#top_page #information{
	text-align: center;
}

#top_page #instagram{
	background-color: #EBEADD;
	padding: 50px 0;
	margin: 100px 0 0;
}
#top_page #instagram h2{
	margin: 0;
}
#top_page #instagram h2 img{
	background-color: #453530;
	padding: 10px 50px;
}
#top_page #instagram h2:before,
#top_page #instagram h2:after{
	border-top: 0;
}

#top_page #instagram .instagram_id{
	text-align: center;
	margin: 10px 0 20px;
}

#top_page #instagram .list{
	position: relative;
	height: 322px;
}
#top_page #instagram .list a,
#top_page #instagram .list span{
	position: absolute;
	display: block;
	width: 100px;
	height: 100px;
	background-color: #ccc;
	background-size: cover;
	transition: opacity 0.2s linear;
}
#top_page #instagram .list a:hover{
	opacity: 0.7;
}
#top_page #instagram .list a:nth-of-type(1){ left:0px; top:0px; width: 210px; height:210px; }
#top_page #instagram .list a:nth-of-type(2){ left:0px; top:220px; }
#top_page #instagram .list a:nth-of-type(3){ left:110px; top:220px; }
#top_page #instagram .list a:nth-of-type(4){ left:220px; top:0px; }
#top_page #instagram .list a:nth-of-type(5){ left:330px; top:0px; }
#top_page #instagram .list a:nth-of-type(6){ left:220px; top:110px; }
#top_page #instagram .list a:nth-of-type(7){ left:330px; top:110px; }
#top_page #instagram .list a:nth-of-type(8){ left:220px; top:220px; }
#top_page #instagram .list a:nth-of-type(9){ left:330px; top:220px; }
#top_page #instagram .list a:nth-of-type(10){ left:440px; top:0px; }
#top_page #instagram .list a:nth-of-type(11){ left:550px; top:0px; }
#top_page #instagram .list span{ left:440px; top:110px; width: 210px; height:210px; }
#top_page #instagram .list a:nth-of-type(12){ left:660px; top:0px; width: 210px; height:210px; }
#top_page #instagram .list a:nth-of-type(13){ left:660px; top:220px; }
#top_page #instagram .list a:nth-of-type(14){ left:770px; top:220px; }

html.sp #top_page #instagram .list a:nth-of-type(1){ left:220px; top:0px; width: 210px; height:210px; }
html.sp #top_page #instagram .list a:nth-of-type(2){ left:110px; top:0px; }
html.sp #top_page #instagram .list a:nth-of-type(3){ left:0px; top:0px; }
html.sp #top_page #instagram .list a:nth-of-type(4){ left:220px; top:220px; }
html.sp #top_page #instagram .list a:nth-of-type(5){ left:330px; top:220px; }
html.sp #top_page #instagram .list span{ left:0px; top:110px; width: 210px; height:210px; }
html.sp #top_page #instagram .list a:nth-of-type(6){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(7){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(8){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(9){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(10){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(11){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(12){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(13){ display: none; }
html.sp #top_page #instagram .list a:nth-of-type(14){ display: none; }

#top_page #instagram .list span{
	background-color: #453530;
	background-image: url(img/top/il.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 75px 75px;
}

html.sp #top_page #instagram .page_width{
	width: 86vw;
}

#top_page #floor_guide h2{
	margin: 150px 0 70px;
}
html.sp #top_page #floor_guide h2{
	margin: 70px 0 50px;
}
#top_page #floor_guide .cols{
	display: flex;
	justify-content: space-between;
	padding: 0 0 0 30px;
}
html.sp #top_page #floor_guide .cols{
	flex-wrap: wrap;
	padding: 0 30px;
}
html.sp #top_page #floor_guide .col:nth-of-type(1){
	margin-bottom: 50px;
}
html.sp #top_page #floor_guide .col:nth-of-type(1) img{
	width: 90%;
}
#top_page #floor_guide figure{
	margin: 0 0 20px;
}

#top_page #history h2{
	margin: 160px 0 80px;
}
html.sp #top_page #history .mincho p{
	font-size: 1.4rem;
}
#top_page #history .list{
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
	text-align: justify;
	line-height: 1.8;
	margin: 100px 0;
}
html.sp #top_page #history .list{
	margin: 50px 0;
}
#top_page #history .list .box{
	box-sizing: border-box;
	flex-basis: 50%;
}
#top_page #history .list .box:nth-of-type(1){
	text-align: center;
}
#top_page #history .list .box.yamada{
	display: flex;
	justify-content: space-around;
	padding: 35px 0 0;
}
html.sp #top_page #history .list .box.yamada{
	flex-direction: column;
	flex-basis: 100%;
	padding: 20px 0 0;
}
#top_page #history .list .box.yamada .name{
	margin-left: 15px;
}
html.sp #top_page #history .list .box.yamada .name{
	margin-left: 0;
	border-top: 1px solid #453530;
	padding: 20px 0 0;
}
#top_page #history .list .box.yamada .profile{
	margin-right: 15px;
	width: 225px;
}
html.sp #top_page #history .list .box.yamada .profile{
	width: auto;
}
#top_page #history .list .box:nth-of-type(5){
	display: flex;
	justify-content: center;
	padding: 35px 0 0;
}
html.sp #top_page #history .list .box:nth-of-type(1){
	flex-basis: 100%;
	padding: 0 0 40px;
}
html.sp #top_page #history .list .box:nth-of-type(2){
	display: none;
}
html.sp #top_page #history .list .box:nth-of-type(3){
	flex-basis: auto;
}
html.sp #top_page #history .list .box:nth-of-type(4){
	order: 6;
	flex-basis: 100%;
}
html.sp #top_page #history .list .box:nth-of-type(5){
	order: 5;
	padding: 20px 0 0;
	flex-basis: 100%;
	justify-content: flex-start;
}
html.sp #top_page #history .list .box:nth-of-type(6){
	order: 4;
	flex-basis: auto;
}

#top_page #history img[src*="/5_1."]{
	width: 290px;
	height: 236px;
}
html.sp #top_page #history img[src*="/5_3."],
html.sp #top_page #history img[src*="/5_6."]{
	height: 168px;
}
#top_page #history table th,
#top_page #history table td{
	font-weight: normal;
	vertical-align: top;
	padding: 0;
	line-height: 2.3;
}
#top_page #history table th{
	padding: 0 7px 0 0;
}

#top_page #gallery h2,
html.sp #top_page #history h2{
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(img/top/6_1.jpg);
	background-size: cover;
	width: 100%;
	height: 1150px;
	margin: 160px 0 80px;
}
html.sp #top_page #gallery h2,
html.sp #top_page #history h2{
	height: 330px;
}
html.sp #top_page #gallery h2{
	margin: 30px 0 40px;
}
html.sp #top_page #history h2{
	background-image: url(img/top/sp/5_2.jpg);
	margin: 30px 0 40px;
}
#top_page #gallery h2:before,
#top_page #gallery h2:after,
html.sp #top_page #history h2:before,
html.sp #top_page #history h2:after{
	border-top: 0;
	width: 0;
}
#top_page #gallery h2 .inner,
html.sp #top_page #history h2 .inner{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-basis: 205px;
	height: 205px;
	border: 1px solid #fff;
}
html.sp #top_page #gallery h2 .inner,
html.sp #top_page #history h2 .inner{
	flex-basis: 170px;
	height: 170px;
}
html.sp #top_page #history h2 .inner img{
	width: 100px;
}

#top_page #access{
	margin: 150px 0 0;
}
html.sp #top_page #access {
	margin: 50px 0 0;
}
html.sp #top_page #access img[src*="/sp/7."]{
	max-width: 105%;
	margin-right: -20px;
}
#top_page #access .markerImageSrc{
	display: none;
}
#top_page #access .map{
	width: 100%;
	height: 320px;
	margin: 70px 0 0;
}
html.sp #top_page #access .map{
	height: 210px;
	margin: 30px 0 0;
}





