@charset "UTF-8";
/*---------------------------
 reset
---------------------------*/
html, body {
	padding: 0;
	margin: 0;
	border:0;
	text-decoration:none;
	font-weight:normal;
	font-style: normal;
}
div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	padding: 0;
	margin: 0;
	border:0;
	text-decoration:inherit;
	font-weight:inherit;
	font-style:inherit;
}

/* ul | ol */
ul, ol {
	list-style: none;
}
li{
	list-style:none;
}

/* dl */
dl,dt,dd{
	margin:0;
	padding:0;
	-webkit-margin-start:0;
	-webkit-margin-before:0;
	-webkit-margin-after:0;
}

/* table */
table {
	border-collapse: separate;
	border-spacing: 0;
	empty-cells: show;
}
/* input */
input[type="text"],
input[type="password"],
button,
textarea,
select {
    outline: none;
}

/* img */
img{
	max-width:100%;
	height: auto;
	vertical-align: top;
	border: 0;
}

/* code | kbd | pre | samp */
code,
kbd,
pre,
samp {
	font-family: monospace, serif;
	font-size: 1em;
}
pre {
	white-space: pre-wrap;
}
q {
	quotes: "\201C" "\201D" "\2018" "\2019";
}
iframe{
	vertical-align:bottom;
	border:0;
}

/* audio | canvas | video */
audio,
canvas,
video {
	display: inline-block;
}
[hidden],
template {
	display: none;
}
audio:not([controls]) {
	display: none;
	height: 0;
}

/* svg */
svg:not(:root) {
	overflow: hidden;
}

/* fieldset */
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

/* legend */
legend {
	border: 0;
}

/* html */
html{
	position:relative;
	min-height:100%;
}

/* body */
body {
	width: 100%;
	font-family: 'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", osaka, sans-serif;
	font-size: 3.4vw;
	line-height: 2.4;
	color: #5b5b5b;
	text-align:left;
	-webkit-text-size-adjust: 100%;
}

/* p */
p {
	margin: 0 auto 1em;
}
/* a */
a {
	color:#4c4948;
	text-decoration:none;
	background: transparent;
	cursor: pointer;
	outline:none;
}
a,
a:visited,
a:focus {color: #4c4848;}
@media only screen and (min-width:800px){
	a:hover {
		color: #939090;
	}
}

/* clearfix
------------------------------------------------*/
div.clear {
	clear: both;
	height: 0px;
	width: 0px;
	font-size: 0px;
	line-height: 0px;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* only
------------------------------------------------*/
@media print, screen and (min-width:800px){
	.sp_only {
		display: none !important;
	}
}
@media only screen and (max-width:800px){
	.pc_only {
		display: none !important;
	}
}

/* ----------- wrapper ----------- */
#wrapper {
	margin: 0 auto;
    position: relative;
	overflow: hidden;
}

@media only screen and (min-width:800px){
	/* body */
	body {
        font-size: 14px;
	}

	/* ----------- wrapper ----------- */
	#wrapper {
	}
}

/*----------------
  header
----------------*/
header {
	padding: 17px 15px;
	font-size: 0;
	background: rgba(255,255,2553,0.6);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 11;
}
header .logo {
	margin: 0 auto 0 0;
	width: 122px;
}
header #gNavMenu {
	width: 40px;
	height: 40px;
	font-size: 0;
	display: block;
    position: absolute;
    top: 8px;
    right: 15px;
	z-index: 1;
}
header #gNavMenu span {
	width: 36px;
	height: 3px;
	border-radius: 3px;
	background: #4c4948;
	display: block;
	transform: rotate( 0deg );
	opacity: 1;
	transition: all 1s;
	position: absolute;
}
header #gNavMenu span:nth-child(1) {
	transform-origin: right top;
	top: 12%;
	right: 0;
}
header #gNavMenu span:nth-child(2) {
	margin-top: -1.5px;
	top: 50%;
	right: 0;
}
header #gNavMenu span:nth-child(3) {
	transform-origin: right bottom;
	bottom: 12%;
	right: 0;
}
header.open #gNavMenu span:nth-child(1) {
	width: 43px;
	background: #4c4948;
	transform: rotate( -45deg );
	transform-origin: right top;
	top: 10%;
	transition: all 1s;
}
header.open #gNavMenu span:nth-child(2) {
	transform: rotate( -360deg );
	opacity: 0;
	transition: all 1s;
}
header.open #gNavMenu span:nth-child(3) {
	width: 43px;
	background: #4c4948;
	transform: rotate( 45deg );
	transform-origin: right bottom;
	bottom: 10%;
	transition: all 1s;
}
header #gnavAcd {
	margin: 0 auto;
	color: #4c4948;
    background: #fff;
	overflow-y: scroll;
	position: fixed;
	top: 60px;
	bottom: 0;
	right: -400px;
	transition: all 1s;
}
header.open #gnavAcd {
	right: 0;
	transition: all 1s;
}
header #gnavAcd .navList {
    margin: 0 auto;
	width: 310px;
	line-height: 1;
}
header #gnavAcd .navList>li {
    margin: 0 auto;
	border-top: solid 2px #4c4948;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
header #gnavAcd .navList>li:first-child {
	border-top: none;
}
header #gnavAcd .navList>li>p {
	margin: 0 auto;
	padding: 20px;
	font-size: 15px;
    letter-spacing: 0.2em;
}
header #gnavAcd .navList>li>p a {
	margin: -20px;
	padding: 20px;
	display: block;
}
header #gnavAcd .navList>li .subnavList {
	margin: 0 0 0 20px;
	padding: 15px 10px;
	border-top: solid 1px #4c4948;
}
header #gnavAcd .navList>li .subnavList>li {
	font-size: 10px;
    letter-spacing: 0.2em;
}
header #gnavAcd .navList>li .subnavList>li a {
	padding: 10px 0;
	display: block;
}
header #gnavAcd .navList>li.closeBtn {
	border-top: none;
}
header #gnavAcd .navList>li.closeBtn>p a {
	background: #e0e0de;
}
#navOverlay {
	display: none;
	background: rgba(0,0,0,0.25);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
}
@media only screen and (min-width:800px){
	header {
		padding: 20px 40px;
	}
	header .logo {
		width: 205px;
	}
	header .logo a:hover {
		opacity: 0.6;
	}
	header .navList {
		position: absolute;
		top: 9px;
		right: 20px;
	}
	header .navList>li {
		margin: 0 10px;
		display: inline-block;
		vertical-align: top;
	}
	header .navList>li>p a {
		padding: 10px;
		color: #595757;
		font-size: 18px;
        letter-spacing: 0.1em;
		display: block;
	}
	header .navList>li>p a:hover {
		text-decoration: underline;
	}
	header .navList>li .subnavList {
		margin: 0 auto;
		padding: 16px 0;
		width: 100%;
		text-align: center;
		background: #cecece;
		display: none;
		position: fixed;
		top: 80px;
		left: 0;
		right: 0;
	}
	header .subnavList::before {
		content: "";
		padding-top: 20px;
		width: 20px;
		background: #cecece;
		display: block;
		transform: rotate(45deg);
		position: absolute;
		top: -10px;
		right: 68px;
		z-index: 1;
	}
	header .navList>li .subnavList>li {
		margin: 0 5px;
		font-size: 13px;
		line-height: 1.1;
		display: inline-block;
		vertical-align: top;
		position: relative;
	}
	header .navList>li .subnavList>li::before {
		content: ">";
		margin-top: -8px;
		color: #fff;
		line-height: 1;
		position: absolute;
		top: 50%;
		left: 15px;
		z-index: 1;
	}
	header .navList>li .subnavList>li a {
		padding-left: 30px;
		width: 180px;
		height: 40px;
		color: #fff;
		text-align: left;
        letter-spacing: 0.2em;
		background: #4c4948;
		display: table-cell;
		vertical-align: middle;
		position: relative;
	}
	header .navList>li .subnavList>li a:hover {
		background: #898989;
	}
}

/*----------------
  #bottomNavBlock
----------------*/
#bottomNavBlock {
	padding: 10% 0 4%;
	color: #717071;
	background: #eeeeef;
}
#bottomNavBlock a {
	color: #717071;
}
#bottomNavBlock .navList {
	margin: 0 auto;
    width: 90%;
	font-size: 0;
}
#bottomNavBlock .navList>li {
	margin: 0 auto 6%;
	width: 50%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
}
#bottomNavBlock .navList>li+li+li {
	width: auto;
	display: block;
}
#bottomNavBlock .navList>li>p {
	margin: 0 auto 5vw;
	font-size: 3.6vw;
    letter-spacing: 0.1em;
	line-height: 1.2;
}
#bottomNavBlock .navList>li .subnavList {
	margin: 0 auto;
}
#bottomNavBlock .navList>li .subnavList>li {
	margin: 0 auto 4%;
	padding-left: 1.3em;
	font-size: 2.7vw;
    letter-spacing: 0.1em;
	text-indent: -1.3em;
}
@media only screen and (min-width:800px){
	#bottomNavBlock {
		padding: 50px 0 40px;
	}
	#bottomNavBlock a:hover {
		opacity: 0.6;
	}
	#bottomNavBlock .block {
		margin: 0 auto;
        padding: 0 20px;
		width: 820px;
	}
	#bottomNavBlock .navList {
		margin: 0 auto;
        width: auto;
		font-size: 0;
	}
	#bottomNavBlock .navList>li {
		margin: 0 auto;
		padding: 0;
		width: 250px;
	}
    #bottomNavBlock .navList>li+li {
		width: 380px;
    }
    #bottomNavBlock .navList>li+li+li {
		width: 180px;
        display: inline-block;
    }
	/*#bottomNavBlock .navList>li+li+li+li+li {
		width: 180px;
	}*/
	#bottomNavBlock .navList>li+li+li:nth-child(4) {
		margin: 50px 0 0 -180px;
	}
	#bottomNavBlock .navList>li+li+li:nth-child(5) {
		margin: 100px 0 0 -180px;
	}
	#bottomNavBlock .navList>li+li+li+li+li:nth-child(even) {
		margin: 50px 0 0 -180px;
	}
	#bottomNavBlock .navList>li+li+li:nth-child(6) {
		margin: 150px 0 0 -180px!important;
		white-space: nowrap;
	}
	#bottomNavBlock .navList>li+li+li:nth-child(7) {
		margin: 200px 0 0 -180px;
		white-space: nowrap;
	}
	#bottomNavBlock .navList>li>p {
		margin: 0 auto 20px;
		font-size: 18px;
	}
	#bottomNavBlock .navList>li .subnavList>li {
		margin: 0 auto;
		padding-left: 0;
		font-size: 13px;
		text-indent: 0;
	}
}

/*----------------
  footer
----------------*/
#pagetop {
	margin-bottom: 2%;
    padding-top: 12vw;
	width: 12vw;
    font-size: 0;
    border-radius: 6vw;
    background: #5b5b5b;
    display: block;
	position: fixed;
	bottom: 0;
	right: 2%;
	z-index: 9;
}
#pagetop::before {
    content: "";
    margin: -8% -15%;
    padding-top: 30%;
    width: 30%;
    border-top: solid 2px #fff;
    border-left: solid 2px #fff;
    display: block;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 50%;
}
footer {
	padding: 6% 0 2%;
	color: #231815;
	font-size: 0;
	background: #fff;
}
footer a,
footer a:visited,
footer a:focus {
	color: #231815;
}
footer .infoBlock {
	margin: 0 auto 4%;
	width: 90%;
}
footer .infoBlock .logo {
	margin: 0 0 5%;
	width: 38%;
	display: inline-block;
	vertical-align: bottom;
}
footer .infoBlock .copyright {
	margin: 0 auto;
	font-size: 2.7vw;
    letter-spacing: 0.2em;
	line-height: 1;
}
@media only screen and (min-width:800px){
    #pagetop {
		margin-bottom: 20px;
        padding-top: 60px;
        width: 60px;
        border-radius: 30px;
        right: 20px;
    }
    #pagetop::before {
        content: "";
        margin: -4px -8px;
        padding-top: 16px;
        width: 16px;
        border-top: solid 2px #fff;
        border-left: solid 2px #fff;
        display: block;
    }
	footer {
		padding: 40px 0;
	}
	footer a:hover {
		color: #fff;
		opacity: 0.6;
	}
	footer .block {
		margin: 0 auto;
        padding: 0 20px;
		max-width: 1200px;
		position: relative;
	}
	footer .infoBlock {
		margin: 0 auto;
		width: auto;
	}
	footer .infoBlock .logo {
		margin: 0;
		width: 180px;
		vertical-align: top;
	}
	footer .infoBlock .copyright {
		margin: 0;
		font-size: 12px;
		text-align: right;
		position: absolute;
		top: 10px;
		right: 100px;
	}
}
@media only screen and (min-width:1400px){
	footer .infoBlock .copyright {
		right: 0;
    }
}

