@charset "utf-8";

/*---------------------------------------------
	common
---------------------------------------------*/
html,
body {
	height: 100%;
}
html {
	font-size: 13px;
}
body {
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','MS PGothic';
	font-size: 1rem;
	line-height: 1.6;
	color: #222;
	background: #fff;
}

/* links
------------------------------*/
a {
	color: #104F5C;
	outline: none;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(16, 79, 92, 0.18);
}
a:visited {color: #104F5C;}
a:hover   {color: #F91958;}

/* img
------------------------------*/
img {
	vertical-align: bottom;
}


/*---------------------------------------------
	footer
---------------------------------------------*/
footer {
	font-family: 'Arial','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','MS PGothic';
	text-align: center;
	background: #FFF;
	padding: 20px 0;
	border-top: 1px solid #EEE;
}

@media screen and (max-width: 1366px) and (min-width: 981px) {
	footer {
		padding: 3%;
		font-size: .9rem;
	}
}
@media screen and (max-width: 640px) {
	footer {
		padding: 3%;
		font-size: .9rem;
	}
}


/*---------------------------------------------
	goodie
---------------------------------------------*/
/* layout
------------------------------*/
.layout--sp {
	min-width: 320px;
	max-width: 980px;
	margin: 0 auto;
	background: #FFF;
	min-height: 100%;
}
.layout--pc {
	height: 100%;
}
.wrap {
	height: 100%;
}

@media screen and (min-width: 981px) { /* PC */
	.layout--sp {
		width: 44%;
		max-width: 100%; /* 大きい画面の場合の処理をとりあえず */
	}
}


/* layout
------------------------------*/
.pc--leftContent {
	position: fixed;
	top: 0;
	left: 0;
	width: 28%;
	min-height: 100%;
	padding: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .08);
}
.left__nav,
.pc--leftContent .left__menu {
	float: right;
}
.left__nav li,
.pc--leftContent .left__menu li {
	border-bottom: 1px solid #e8e8e8;
}
.left__nav li a,
.pc--leftContent .left__menu li a {
	display: block;
	-webkit-transition: 0.1s linear;
	-moz-transition: 0.1s linear;
	-o-transition: 0.1s linear;
	transition: 0.1s linear;
}
.left__nav li a:hover,
.pc--leftContent .left__menu li a:hover {
	-webkit-transform: translateX(3px);
	-moz-transform: translateX(3px);
	-o-transform: translateX(3px);
	transform: translateX(3px);
}

@media screen and (max-width: 980px) {
	.left__menu {
		display: none;
	}
}
@media screen and (max-width: 640px) {
	.pc--leftContent {
		padding: 2%;
	}
}


/* layout
------------------------------*/
.pc--rightContent {
	position: fixed;
	top: 0;
	right: 0;
	width: 28%;
	min-height: 100%;
	padding: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .08);
}
.pc--rightContent .right__wrap {
	width: 280px;
}
.pc--rightContent h1 {
	text-align: center;
	margin-bottom: 30px;
}
.pc--rightContent .right__info {
	margin-bottom: 40px;
	border-bottom: 1px solid #e8e8e8;
}
.pc--rightContent .right__map {
	float: left;
}
.pc--rightContent .right__about {
	margin-bottom: 40px;
	float: right;
	width: 142px;
	text-align: right;
}
.pc--rightContent .right__about > img {
	margin-bottom: 10px;
}
.pc--rightContent .right__about a {
	display: inline-block;
}


/* display
------------------------------*/
.display--pc {
	display: none;
}
.display--sp {
	display: block;
}

@media screen and (min-width: 981px) { /* PC */
	.display--pc {
		display: block;
	}
	.display--sp {
		display: none;
	}
}

/* mod
------------------------------*/
.mod--clear {
	clear: both;
}
.mod--clearfix {
	zoom: 1;
}
.mod--clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
}


/* mod
------------------------------*/
.loading {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 300;
}
.loading__box {
	position: absolute;
	top: 50%;
	right: 0;
	width: 100%;
	text-align: center;
	color: #fff;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
}


/* mod
------------------------------*/
.pagetop {
	display: none;
}
@media screen and (max-width: 980px) {
	.pagetop {
		display: block;
		position: fixed;
		bottom: 20px;
		right: 20px;
	}
}