﻿@charset "UTF-8";

/*===========================================================
	フォント読み込み
===========================================================*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&display=swap&subset=japanese');

/*===========================================================
	リセット
===========================================================*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*===========================================================
	共通
===========================================================*/

html, body {
	height: 100%;
}

html {
	font-size: 10px;
}

body,
input,
textarea,
select {
	font-size: 1.2rem;
	color: #231815;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', sans-serif, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	line-height: 1.7;
	-webkit-text-size-adjust: 100%; 
}

#wrapper{
	position: relative;
	overflow: hidden;
	background-color: #3f3f3f;
	z-index: 0;
	min-height: 100%;
	box-sizing: border-box;
	padding-top: 56.25%;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

img {
	max-width: 100%;
	height: auto;
	/*vertical-align: top;*/
	vertical-align: bottom;
}

img.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.sp {
	display: none;
}

.text_center {
	text-align: center;
}

.clear {
	clear: both;
}

.opacity {
	transition: all 0.2s;
}

.opacity:hover {
	opacity:0.7;
	-moz-opacity:0.7;
	filter: alpha(opacity=70);
	cursor: pointer;
	text-decoration: none;
}

.opacity:hover a {
	text-decoration: none;
}

.br_pc::after {
	content: "\A";
	white-space: pre;
}

.flex-box,
.flex-box_pc {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	box-sizing: border-box;
}

/*===========================================================
	ヘッダー
===========================================================*/

header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
}

/*========== ロゴ ==========*/

h1 {
	padding-top: 4.5%;
	max-width: 209px;
	width: 18.75%;
	height: 0;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../images/logo@2x.png) left bottom no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 4.6875%;
}

/*========== グローバルメニューボタン ==========*/

#button_global-menu {
	width: 98px;
	height: 98px;
	display: block;
	color: #231815;
	font-size: 1.6rem;
	position: absolute;
	top: 0;
	right: 45px;
}

#panel-btn-icon{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 36.323px;
	height: 2.9764px;
	transform: translateX(-50%);
	background-color: #231815;
	transition: .2s;
}

#panel-btn-icon:before, #panel-btn-icon:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 36.323px;
	height: 2.9764px;
	background-color: #231815;
	transition: .3s;
}

#panel-btn-icon:before{
	margin-top: -15px;
}

#panel-btn-icon:after{
	margin-top: 12px;
}

#button_global-menu .close{
	background: transparent;
}

#button_global-menu .close:before, #button_global-menu .close:after{
	margin-top: 0;
	background-color: #FFF;
}

#button_global-menu .close:before{
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#button_global-menu .close:after{
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

#button_global-menu p {
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0;
	font-weight: bold;
	line-height: 100%;
	margin-top: 23px;
	transition: .3s;
}

#button_global-menu p.close {
	color: #FFF;
}

/*========== グローバルメニュー ==========*/

header nav {
	background-color: rgba(153,153,153,0.95);
	position: absolute;
	top: 0;
	right: 0;
	min-height: 100vh;
	box-sizing: border-box;
	padding: 50px 35px;
	overflow: auto;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}

header nav li {
	border-bottom: 1px solid #FFF;
	color: #FFF;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.4;
}

header nav a {
	color: #FFF;
	display: block;
	transition: all 0.1s;
	padding: 0.4em 0;
}

header nav a:hover {
	/*opacity: 0.5;*/
	text-decoration: none;
	color: #006CB7;
}

header nav span {
	font-weight: bold;
}

header nav span.sub-title {
	font-size: 1.2rem;
	padding-left: 1em;
	font-weight: normal;
}

/* フリーパワーショップ国分寺 */

header nav li.shop_kokubunji {
	line-height: 1;
}

header nav li.shop_kokubunji a {
	padding: 0.6em -0px;
}

header nav li.shop_kokubunji span.sub-title {
	padding-left: 0;
}


/*========== SP版メニュー ==========*/

#sp_menu {
	display: none;
}

#sp_menu_button {
	display: none;
}

/*===========================================================
	メインビジュアル
===========================================================*/

#main-visual {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
}

#main-visual .layer {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#main-visual .top-layer {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}

#main-visual .page_title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	font-size: 5.6rem;
	line-height: 1.2em;
	text-align: center;
	font-weight: bold;
	white-space: nowrap;
}

/*========== 斜め線 ==========*/

#main-visual::before {
	content: "";
	position: absolute;
	top: calc(-100% - 1em);
	left: 0;
	width: 120%;
	height: 100%;
	margin: 0 -10%;
	background: rgba(0,0,0,0.4);
	-webkit-transform-origin: right bottom;
	-ms-transform-origin: right bottom;
	transform-origin: right bottom;
	-webkit-transform: skewY(-4.5deg);
	-ms-transform: skewY(-4.5deg);
	transform: skewY(-4.5deg);
	z-index: 1;
}

/*===========================================================
	メインコンテンツ
===========================================================*/

#wrapper_base {
	position: relative;
	padding-top: 12.5%;
}

#wrapper_base::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10px;
	width: 120%;
	height: 100%;
	margin: 0 -20%;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: rotate(-4.5deg);
	-ms-transform: rotate(-4.5deg);
	transform: rotate(-4.5deg);
	background: rgba(0,0,0,0.4);
	z-index: 3;
}

/*========== 言語ボタン ==========*/

#button_language {
	text-align: center;
	position: absolute;
	top: -55px;
	right: 4.6875%;
	z-index: 4;
}

#button_language * {
	font-weight: bold;
	font-size: 1.26rem;
}

#button_language ul {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: 2px;
}

#button_language li {
	background-color: #999;
	color: #EEE;
	width: 36.4px;
	line-height: 18.5936px;
	padding: 0;
}

#button_language li.active {
	background-color: #231815;
	color: #FFF;
}

#button_language li a {
	display: block;
	color: inherit;
}

#wrapper_main {
	z-index: 999;
	position: relative;
}

main {
	padding: 0 8.1875%;
	position: relative;
	background-color: #efefef;
}

main .inner {
	padding-bottom: 200px;
}

.inner {
	max-width: 936px;
	margin: 0 auto;
	position: relative;
}

/*========== 斜め線 ==========*/

#wrapper_main::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10px;
	width: 120%;
	height: 1000vh;
	margin: 0 -20%;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: rotate(-4.5deg);
	-ms-transform: rotate(-4.5deg);
	transform: rotate(-4.5deg);
	z-index: -1;
	box-shadow: 0 0 8px 5px rgba(0,0,0,0.75);
	background-color: #efefef;
}

/*========== メインカラム冒頭の画像 ==========*/

#main_header {
	position: relative;
	margin: 0 auto 50px;
	text-align: center;
}

#main_header img {
	margin-top: -125px;
}

h3#page_header {
	margin-bottom: 50px;
	display: inline-block;
	position: relative;
	text-align: right;
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1em;
}

h3#page_header span {
	color: #666666;
	display: block;
	font-size: 1.75rem;
	line-height: 2em;
	font-weight: bold;
}

h3#page_header::before {
	margin-right: 33.6px;
	content: "";
	width: 93.7px;
	height: 66.6827px;
	position: absolute;
	top: 5px;
	right: 100%;
	background: url("../images/page_h3_bg.png") center center no-repeat;
	background-size: cover;
}

#main_header p {
	font-size: 1.89rem;
}

/*===========================================================
	フッター
===========================================================*/

footer {
	position: relative;
	background-color: #595757;
	z-index: 1;
}

footer > .inner {
	max-width: 613.2px;
	padding-top: 20px;
	padding-bottom: 50px;
	margin-bottom: 60px;
}

/*========== 斜め線 ==========*/

footer::before {
	content: "";
	position: absolute;
	top: 11px;
	right: 0;
	width: 120%;
	height: 100vh;
	margin: 0 -10%;
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(4.5deg);
	-ms-transform: rotate(4.5deg);
	transform: rotate(4.5deg);
	z-index: -1;
	box-shadow: 0 0 8px 5px rgba(0,0,0,0.75);
	background-color: #595757;
}

/*========== ロゴ ==========*/

footer .logo {
	text-align: center;
	border-bottom: 2px solid #231815;
	margin-bottom: 50px;
	padding-bottom: 20px;
}

footer .logo a {
	width: 283px;
	height: 40px;
	display: inline-block;
	vertical-align: top;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../images/logo_footer@2x.png) center no-repeat;
	background-size: contain;
}

/*========== シェアボタン ==========*/

footer .sns {
	position: absolute;
	right: 0;
	bottom: 0;
	letter-spacing: -0.2em;
}

footer .sns li {
	display: inline-block;
	letter-spacing: normal;
	margin-left: 5px;
}

footer .sns li img {
	width: auto;
	height: 50px;
}

footer .sp_sns {
	display: none;
}

/*========== サイトマップ ==========*/

#sitemap {
	-webkit-justify-content: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	padding: 0 61.362px;
}

#sitemap ul:nth-child(1) {
	padding-right: 50px;
}

#sitemap ul:nth-child(2) {
	padding-left: 50px;
}

#sitemap ul li {
	font-size: 1.4rem;
	line-height: 1.6;
}

#sitemap a {
	color: inherit;
	font-weight: bold;
}

.sitemap_title {
	position: relative;
	font-size: 2rem;
	line-height: 1.6;
	font-weight: bold;
}

.sitemap_title::after {
	content: "";
	width: 1em;
	height: 2px;
	display: block;
	position: absolute;
	top: 45%;
	left: 2.6em;
	background: #231815;
}


/*========== コピーライト ==========*/

#copy-right {
	text-align: center;
	background-color: #3e3a39;
	padding: 40px 0;
}

#copy-right p {
	font-weight: bold;
}


@media print, screen and (max-width:750px) {
	
	* {
		box-sizing: border-box;
	}

	body {
		font-size: 1.5rem;
		line-height: 1.6em;
		-webkit-text-size-adjust: 100%;
	}

	input,
	textarea,
	select {
		font-size: 1.5rem;
		line-height: 1.6em;
	}

	a:hover {
		text-decoration: none;
	}

	.br_pc::after {
		content: "";
		white-space: normal;
	}

	.br_sp::after {
		content: "\A";
		white-space: pre;
	}

	.inner {
		padding: 0;
	}

	.flex-box_pc {
		display: block;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	#wrapper {
		padding-top: 610px;
		background-color: #ffffff;
	}

	/*===========================================================
		ヘッダー
	===========================================================*/

	header {
		margin: auto;
		width: 100%;
		height: 160px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		background-color: #EFEFEF;
		z-index: 2;
	}

	/*========== ロゴ ==========*/

	h1 {
		margin: auto;
		padding-top: 0;
		max-width: initial;
		width: 196px;
		height: 27px;
		text-indent: -9999px;
		position: relative;
		top: auto;
		left: auto;
	}

	#button_global-menu {
		display: none;
	}

	#sp_menu_button {
		width: 26px;
		height: 26px;
		display: block;
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		cursor: pointer;
		z-index: 500;
	}

	#menu_bar {
		width: 100%;
		height: 1px;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		background-color: #221714;
		transition: background 250ms;
	}

	#menu_bar::before,
	#menu_bar::after {
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		right: 0;
		background-color: #221714;
	}

	#menu_bar::before {
		transform: translateY(-10px);
	}

	#menu_bar::after {
		width: 60%;
		transform: translateY(10px);
	}

	nav {
		display: none;
	}

	#sp_menu {
		width: 250px;
		height: 100vh;
		display: block;
		position: fixed;
		top: 0;
		right: -260px;
		background-color: #EFEFEF;
		overflow-y: auto;
		z-index: 100;
		transition: right 500ms, box-shadow 500ms;
	}

	#sp_menu.on {
		right: 0;
		box-shadow: -2px 0 4px 0 rgba(0,0,0,0.2);
	}
	
	#sp_menu_close {
		margin-top: 66px;
		margin-left: 200px;
		width: 26px;
		height: 26px;
		position: relative;
		cursor: pointer;
	}
	
	#sp_menu_close::before,
	#sp_menu_close::after {
		content: "";
		width: 141.421356%;
		height: 1px;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		background-color: #231815;
	}
	
	#sp_menu_close::before {
		transform: translateX(-50%) rotateZ(-45deg);
	}
	
	#sp_menu_close::after {
		transform: translateX(-50%) rotateZ(45deg);
	}

	#sp_menu ul {
		margin: 10px 30px 0 30px;
	}

	#sp_menu ul li {
		margin-top: 30px;
		border-bottom: solid 1px #595757;
		font-size: 1.3rem;
	}

	#sp_menu ul li:first-child {
		margin-top: 0;
	}

	#sp_menu ul li a {
		color: #595757;
	}

	#sp_menu select {
		margin: 60px auto 60px;
		padding: 14px 18px;
		display: block;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-color: #EFEFEF;
		border: solid 1px #595757;
		font-size: 1.3rem;
	}

	/*===========================================================
		メインビジュアル
	===========================================================*/

	#main-visual {
		margin-top: 160px !important;
		height: 450px;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		padding-top: 0;
		overflow: hidden;
	}

	#main-visual .layer {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}

	#main-visual .top-layer {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 100;
	}

	#main-visual .page_title {
		font-size: 2.6rem;
	}

	#main-visual .opening {
		display: none;
	}

	/*========== 斜め線 ==========*/

	#main-visual::before {
		top: -160px;
		left: 0;
		width: 100%;
		height: 160px;
		margin: 0;
		background: rgba(0,0,0,0.5);
		-webkit-transform-origin: right bottom;
		-ms-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: skewY(-4.5deg);
		-ms-transform: skewY(-4.5deg);
		transform: skewY(-4.5deg);
		z-index: 1;
	}

	/*===========================================================
		メインコンテンツ
	===========================================================*/

	#wrapper_base {
		padding-top: 50px;
		background-color: rgba(0,0,0,0.5);
		position: relative;
		z-index: 3;
	}

	#wrapper_base::before {
		content: "";
		position: absolute;
		top: -20px;
		left: 0;
		width: 100%;
		height: 90px;
		margin: 0;
		-webkit-transform-origin: left top;
		-ms-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: skewY(-4.5deg);
		-ms-transform: skewY(-4.5deg);
		transform: skewY(-4.5deg);
		background: rgba(0,0,0,0.5);
		z-index: 3;
	}

	/*========== 言語ボタン ==========*/

	#button_language {
		display: none;
	}


	#wrapper_main {
		z-index: 999;
		position: relative;
	}

	main {
		padding: 0;
	}

	main .inner {
		padding-bottom: 160px;
	}

	.inner {
		max-width: initial;
	}

	/*========== 斜め線 ==========*/

	#wrapper_main::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1000vh;
		margin: 0;
		-webkit-transform-origin: left top;
		-ms-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: skewY(-4.5deg);
		-ms-transform: skewY(-4.5deg);
		transform: skewY(-4.5deg);
		z-index: -1;
		box-shadow: 0 0 5px 3px rgba(0,0,0,0.75);
		background-color: #efefef;
	}

	/*========== メインカラム冒頭の画像 ==========*/

	#main_header {
		position: relative;
		margin: 0 auto 30px;
		text-align: center;
	}

	#main_header img {
		margin-top: -66px;
	}

	h3#page_header {
		margin-top: 150px;
		margin-bottom: 30px;
		display: block;
		position: relative;
		text-align: center;
		font-size: 2.4rem;
	}

	h3#page_header span {
		margin: 15px 60px 0;
		padding-top: 20px;
		display: block;
		border-top: solid 1px #231815;
		color: #595757;
		font-size: 1.3rem;
		line-height: 1em;
		font-weight: bold;
	}

	h3#page_header::before {
		display: none;
	}

	#main_header p {
		margin-left: 25px;
		margin-right: 25px;
		font-size: inherit;
	}

	/*===========================================================
		フッター
	===========================================================*/

	footer {
		margin-top: -20px;
		position: relative;
		background-color: #595757;
		z-index: 1;
	}

	footer > .inner {
		max-width: initial;
		padding-top: 120px;
		padding-bottom: 150px;
		margin-bottom: 0;
	}

	/*========== 斜め線 ==========*/

	footer::before {
		top: 0;
		right: 0;
		width: 100%;
		height: 200%;
		margin: 0;
		-webkit-transform-origin: right top;
		-ms-transform-origin: right top;
		transform-origin: right top;
		-webkit-transform: skewY(4.5deg);
		-ms-transform: skewY(4.5deg);
		transform: skewY(4.5deg);
	}

	/*========== ロゴ ==========*/

	footer .logo {
		margin: 0 105px;
		padding-bottom: 55px;
		border-bottom: 1px solid #DCDDDD;
	}

	footer .logo a {
		width: 115px;
		height: 87px;
		overflow: hidden;
		background: url(../images/logo_footer_sp.png) center no-repeat;
		background-size: contain;
	}

	/*========== シェアボタン ==========*/

	footer .sns {
		display: none;
	}

	footer .sp_sns {
		display: block;
		margin: 106px 0 0;
		text-align: center;
	}

	footer .sp_sns li {
		display: inline-block;
		letter-spacing: normal;
		margin: 0 10px;
	}

	footer .sp_sns li img {
		width: auto;
		height: 30px;
	}

	/*========== サイトマップ ==========*/

	#sitemap {
		display: none;
	}

	/*========== コピーライト ==========*/

	#copy-right {
		height: 30px;
		padding: 0;
	}

	#copy-right p {
		color: #DCDDDD;
		font-size: 0.7rem;
		font-weight: normal;
		margin-top: 60px;
		transform: translateY(-150px);
	}

	#copy-right p span {
		font-size: 1.8rem;
		vertical-align: middle;
	}

}