﻿html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, 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, main, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: inherit;
	font-style: inherit;
	font-size: 100%;
	font-weight: inherit;
	vertical-align: baseline
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
	display: block
}
audio, canvas, video {
	display: inline-block;
	*display: inline;
	*zoom: 1
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal
}
ul, ol {
	list-style: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
caption, th, td {
	font-weight: normal;
	text-align: left
}
table, th, td {
	vertical-align: middle
}
blockquote:before, blockquote:after, q:before, q:after {
	content: ""
}
blockquote, q {
	quotes: """"
}
abbr, acronym {
	border: 0;
	font-variant: normal
}
sub, sup {
	position: relative;
	font-size: 0.75em;
	line-height: 0;
	vertical-align: baseline
}
sup {
	top: -0.5em
}
sub {
	bottom: -0.25em
}
input, textarea, select, button {
	margin: 0;
	vertical-align: baseline;
	* vertical-align: middle;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit
}
* html input, * html textarea, * html select, * html button {
	font-size: 100%
}
legend {
	color: #000
}
img {
	border: none;
	border: 0
}
svg:not(:root) {
	overflow: hidden
}
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
*::before, *::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: transparent
}
@-ms-viewport {
	width: device-width;
	initial-scale: 1
}
[tabindex="-1"]:focus {
	outline: 0 !important
}
a, a:link, a:visited {
	color: inherit;
	cursor: pointer;
	outline: none;
	text-decoration: none;
	background-color: transparent;
	-webkit-text-decoration-skip: objects
}
a:hover, a:focus, a:active {
	text-decoration: none;
	outline: 0
}
a:not([href]):not([tabindex]) {
	color: inherit;
	text-decoration: none
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):active {
	color: inherit;
	text-decoration: none
}
a:not([href]):not([tabindex]):focus {
	outline: 0
}
area {
	outline: none
}
h1, h2, h3, h4, h5, h6 {
	color: inherit
}
h1 {
	margin-bottom: .5em;
	font-size: 3em;
	line-height: 1
}
h2 {
	margin-bottom: .75em;
	font-size: 2em;
	line-height: 1
}
h3 {
	margin-bottom: 1em;
	font-size: 1.5em;
	line-height: 1
}
h4 {
	margin-bottom: 1.25em;
	font-size: 1.2em;
	line-height: 1.25
}
h5 {
	margin-bottom: 1em;
	font-size: 1em;
	font-weight: bold
}
h6 {
	font-size: 1em;
	font-weight: bold
}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
	margin: auto
}
b, strong {
	font-weight: bold
}
em, dfn {
	font-style: italic
}
cite {
	font-style: normal
}
dfn {
	font-weight: bold
}
sup, sub {
	line-height: 0
}
abbr, acronym {
	border-bottom: 1px dotted #666
}
abbr[title], abbr[data-original-title] {
	text-decoration: underline;
	text-decoration: underline dotted;
	cursor: help;
	border-bottom: 0
}
address {
	margin: 0 0 1.5em;
	font-style: normal;
	line-height: inherit
}
del {
	color: #666
}
blockquote {
	margin: 0 18px 20px;
	padding-left: 15px
}
hr {
	clear: both;
	height: 0;
	margin: 0.5em 0;
	padding: 0;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	border: solid 0px;
	border-top-width: 1px;
	color: #ccc;
	background-color: #ccc
}
ins {
	background: #ff9;
	color: #000;
	text-decoration: none
}
mark {
	background: #ff0;
	color: #000;
	font-style: italic;
	font-weight: bold
}
pre, code {
	margin: 1.66em 0;
	white-space: pre
}
pre, code, tt, kbd, samp {
	font: 1em Monaco, Menlo, Consolas, Meiryo, 'メイリオ', "Courier New", monospace;
	text-align: left;
	line-height: 1.5em
}
pre {
	padding: 0.83em 1.25em;
	border: solid 1px #ccc;
	background-color: #eee;
	overflow: auto;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word
}
q {
	quotes: "\201C""\201D""\2018""\2019"
}
small {
	font-size: 0.85em
}
.ie wbr::before {
	content: "\200B"
}
ul, ol {
	margin: 0 0 1.8em 0;
	padding: 0 0 0 2.3em
}
ul {
	list-style-type: disc
}
ol {
	list-style-type: decimal
}
li ul, li ol {
	margin: 0 0.5em
}
ul ul, ol ul {
	list-style-type: circle
}
nav ul, nav ol {
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0
}
dl {
	margin: 0 0 1.5em 0
}
dl dt, dl dd {
	line-height: 1.428571429
}
dl dt {
	font-weight: bold
}
dl dd {
	margin-left: 1.5em
}
button, input, select textarea {
	color: #000
}
button, input {
	line-height: normal;
	*overflow: visible
}
button, select {
	text-transform: none
}
textarea {
	max-width: 100%;
	resize: vertical;
	vertical-align: top;
	-webkit-overflow-scrolling: touch
}
button, input[type=button], input[type=submit], input[type=reset] {
	cursor: pointer;
	-webkit-appearance: button
}
button[disabled], input[disabled] {
	cursor: default
}
input[type=checkbox], input[type=radio] {
	padding: 0
}
input[type=search] {
	-webkit-appearance: textfield
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}
button::-moz-focus-inner, input::-moz-focus-inner {
	padding: 0;
	border: 0
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	color: #d6d7d7;
	line-height: 1.4
}
input:-moz-placeholder, input::-moz-placeholder, textarea:-moz-placeholder, textarea::-moz-placeholder {
	color: #d6d7d7;
	line-height: 1.4
}
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
	color: #d6d7d7;
	line-height: 1.4
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
	color: #d6d7d7;
	line-height: 1.4
}
input::-o-placeholder, textarea::-o-placeholder {
	color: #d6d7d7;
	line-height: 1.4
}
input::placeholder, textarea::placeholder {
	color: #d6d7d7;
	line-height: 1.4
}
table {
	table-layout: fixed;
	width: 100%;
	margin-bottom: 1.4em;
	border-collapse: collapse;
	border-spacing: 0
}
th, td {
	padding: 0.41em 0.83em 0.41em 0.41em;
	vertical-align: top
}
th[align="right"], td[align="right"] {
	text-align: right
}
tfoot {
	font-style: italic
}
figure {
	margin: 0
}
img {
	max-width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle
}
h1, h2, h3, h4, h5, h6 {
	margin: auto;
	padding: 0
}
ul, ol, dl {
	margin: auto;
	padding: 0
}
ul, dl {
	list-style: none
}
ul li, ol li {
	margin: auto;
	padding: 0
}
ul ul, ol ul {
	list-style: none
}
li ul, li ol {
	margin: auto
}
html {
	font-size: 62.5%;
	font-smoothing: antialiased
}
body {
	background-color: #fff;
	color: #646464;
	font-family: 'Noto Sans JP', 'Meiryo', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	font-size: 1.6em;
	font-size: 1.6rem;
	line-height: 1.9375;
	letter-spacing: 0em
}
html.noscroll, html.noscroll body {
	overflow: hidden !important
}
html.noscroll body {
	position: fixed;
	width: 100%;
	height: 100vh
}
a, a:link, a:visited {
	-webkit-transition: opacity 0.2s linear, background-color 0.2s linear, broder-color 0.2s linear, color 0.2s linear;
	-o-transition: opacity 0.2s linear, background-color 0.2s linear, broder-color 0.2s linear, color 0.2s linear;
	transition: opacity 0.2s linear, background-color 0.2s linear, broder-color 0.2s linear, color 0.2s linear
}
a:hover, a:active {
	opacity: .7
}
#header, #main, #footer {
	position: relative;
	display: block;
	width: 100%;
	text-align: center
}
#main {
	padding-top: 60px;
	min-height: 800px
}
.container, .container-fluid {
	position: relative;
	max-width: 1180px;
	min-width: 320px;
	margin: 0 auto;
	text-align: left;
	padding-left: 20px;
	padding-right: 20px
}
@supports (padding: max(0px, env(safe-area-inset-left))) {
	.container, .container-fluid {
		padding-left: 20px;
		padding-right: 20px;
		padding-left: max(20px, env(safe-area-inset-left, 20px));
		padding-right: max(20px, env(safe-area-inset-right, 20px))
	}
}
.container-fluid {
	max-width: none
}
.container-fluid .full-width {
	margin-left: -20px;
	margin-right: -20px
}
@supports (padding: max(0px, env(safe-area-inset-left))) {
	.container-fluid .full-width {
		margin-left: -20px;
		margin-right: -20px;
		margin-left: calc(max(20px, env(safe-area-inset-left, 20px)) * -1);
		margin-right: calc(max(20px, env(safe-area-inset-right, 20px)) * -1)
	}
}
#header {
	position: relative;
	z-index: 10000
}
#header .header-wrap {
	position: fixed;
	top: 0;
	width: 100%;
	background-color: #fff
}
#header .header-content {
	margin: auto;
	text-align: left
}
#header .gnav-header-content {
	max-width: 2040px;
	margin: auto;
	padding-left: 20px;
	padding-right: 20px
}
#header .gnav-header-content::after {
	content: "";
	display: block;
	clear: both
}
@supports (padding: max(0px, env(safe-area-inset-left))) {
	#header .gnav-header-content {
		padding-left: 20px;
		padding-right: 20px;
		padding-left: max(20px, env(safe-area-inset-left, 20px));
		padding-right: max(20px, env(safe-area-inset-right, 20px))
	}
}
#header .gnav-header .gnav-home {
	position: relative;
	max-width: 140px;
	margin-left: 42px;
	padding-top: 13px;
	padding-bottom: 17px;
	line-height: 1
}
#header .gnav-header .gnav-content {
	float: right;
	margin-top: -60px
}
#header .gnav-header .gnav-content::after {
	content: "";
	display: block;
	clear: both
}
#header .gnav-header .gnav-aside {
	float: left;
	margin-right: 50px;
	margin-top: 19px
}
#header .gnav-header .gnav-aside::after {
	content: "";
	display: block;
	clear: both
}
#header .gnav-header .gnav-aside li {
	float: left;
	padding: 0 5px;
	font-size: .8125rem;
	font-size: 1.3rem;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 1.7692307692
}
#header .gnav-header .gnav-aside li a {
	display: block;
	padding-left: .5384615385em;
	padding-right: .5384615385em;
	color: #ec3649
}
#header .gnav-header .gnav-aside li a:hover, #header .gnav-header .gnav-aside li a:focus, #header .gnav-header .gnav-aside li a:active {
	color: #fff;
	background-color: #ec3649;
	opacity: 1
}
#header .gnav-header .gnav-aside li a.gray {
	color: #c9c9c9
}
#header .gnav-header .gnav-aside li a.gray:hover, #header .gnav-header .gnav-aside li a.gray:focus, #header .gnav-header .gnav-aside li a.gray:active {
	color: #c9c9c9;
	background-color: transparent
}
#header .gnav-header .gnav-aside li a.disabled {
	color: #c9c9c9;
	cursor: default;
	pointer-events: none;
	-webkit-touch-callout: none
}
#header .gnav-header .gnav-menuicon {
	position: absolute;
	right: 0;
	z-index: 1200
}
#header .gnav-header .gnav-menuicon li {
	position: absolute;
	left: auto;
	top: 0;
	right: 0;
	width: 55px;
	height: 60px;
	z-index: 100
}
@supports (right: max(0px, env(safe-area-inset-right))) {
	#header .gnav-header .gnav-menuicon li {
		right: 0;
		right: max(0px, env(safe-area-inset-right, 0px))
	}
}
#header .gnav-header .gnav-menuicon .gnav-menuicon-label {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #000;
	cursor: pointer
}
#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn {
	position: absolute;
	top: 35%;
	left: 50%;
	width: 36px;
	height: 36px;
	margin-left: -18px;
	margin-top: -18px;
	-webkit-transition: -webkit-transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96);
	transition: -webkit-transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96);
	-o-transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96);
	transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96);
	transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96), -webkit-transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96)
}
#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 2px;
	margin-top: -1px;
	margin-left: -50%;
	background: #fff;
	border-radius: 1px;
	z-index: 1;
	-webkit-transition: background-color 0.2s, -webkit-transform 0.1596s cubic-bezier(0.52, 0.16, 0.52, 0.84) 0.1008s;
	transition: background-color 0.2s, -webkit-transform 0.1596s cubic-bezier(0.52, 0.16, 0.52, 0.84) 0.1008s;
	-o-transition: transform 0.1596s cubic-bezier(0.52, 0.16, 0.52, 0.84) 0.1008s, background-color 0.2s;
	transition: transform 0.1596s cubic-bezier(0.52, 0.16, 0.52, 0.84) 0.1008s, background-color 0.2s;
	transition: transform 0.1596s cubic-bezier(0.52, 0.16, 0.52, 0.84) 0.1008s, background-color 0.2s, -webkit-transform 0.1596s cubic-bezier(0.52, 0.16, 0.52, 0.84) 0.1008s
}
#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn:nth-child(1)::before {
	-webkit-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px)
}
#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn:nth-child(2)::before {
	-webkit-transform: translateY(5px);
	-ms-transform: translateY(5px);
	transform: translateY(5px)
}
#gnav-menustate:checked ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn, #gnav-menustate:target ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn {
	-webkit-transition: -webkit-transform 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: -webkit-transform 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	-o-transition: transform 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: transform 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: transform 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s, -webkit-transform 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s
}
#gnav-menustate:checked ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn::before, #gnav-menustate:target ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn::before {
	-webkit-transition: background-color 0.2s, -webkit-transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96);
	transition: background-color 0.2s, -webkit-transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96);
	-o-transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96), background-color 0.2s;
	transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96), background-color 0.2s;
	transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96), background-color 0.2s, -webkit-transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96);
	-webkit-transform: scale(0.9);
	-ms-transform: scale(0.9);
	transform: scale(0.9)
}
#gnav-menustate:checked ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn:nth-child(1), #gnav-menustate:target ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn:nth-child(1) {
	-webkit-transform: translateY(0px) rotate(45deg);
	-ms-transform: translateY(0px) rotate(45deg);
	transform: translateY(0px) rotate(45deg)
}
#gnav-menustate:checked ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn:nth-child(2), #gnav-menustate:target ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn:nth-child(2) {
	-webkit-transform: translateY(0px) rotate(-45deg);
	-ms-transform: translateY(0px) rotate(-45deg);
	transform: translateY(0px) rotate(-45deg)
}
#gnav-menustate ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-text .gnav-menuicon-text__open{
	opacity: 1;
	transition: 0.4s all ease;
}
#gnav-menustate ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-text .gnav-menuicon-text__close{
	opacity: 0;
	transition: 0.4s all ease;
}
#gnav-menustate:checked ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-text .gnav-menuicon-text__open{
	opacity: 0;
}
#gnav-menustate:checked ~ #header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-text .gnav-menuicon-text__close{
	opacity: 1;
}
#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-text {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	/*
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%)
	*/
}
#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-text > span {
	font-size: 13px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.1em;
	color: #fff;
	position: absolute;
	bottom: 5px;
	
	/*
	left: calc(50% - 1.5em);
	display: inline-block;
	text-align: right;
	*/
}
@media (max-width: 599.98px) {
	#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-text > span {
		bottom: 1px;
	}
}
#header .gnav-menu {
	position: absolute;
	top: 100%;
	left: auto;
	right: 0;
	width: 100%;
	max-width: 500px;
	height: 0;
	background-color: #000;
	overflow: hidden;
	overflow-y: auto;
	opacity: 0;
	z-index: 1100;
	-webkit-transition: height 0.3s 0s ease-in-out, opacity 0.15s 0.14s ease-in-out;
	-o-transition: height 0.3s 0s ease-in-out, opacity 0.15s 0.14s ease-in-out;
	transition: height 0.3s 0s ease-in-out, opacity 0.15s 0.14s ease-in-out;
	-ms-overflow-style: none;
	scrollbar-width: none
}
#header .gnav-menu::-webkit-scrollbar {
	display: none
}
#header .gnav-menu .gnav-menu-content {
	width: 100%;
	padding: 12.8% 10%;
	color: #fff;
	padding-bottom: 50px
}
@supports (padding: max(0px, env(safe-area-inset-bottom))) {
	#header .gnav-menu .gnav-menu-content {
		padding-bottom: 50px;
		padding-bottom: max(50px, env(safe-area-inset-bottom, 50px))
	}
}
#header .gnav-menu .gnav-menu-content ul {
}
#header .gnav-menu .gnav-menu-content ul li {
	padding: .875em 0;
	font-size: 1rem;
	font-size: 1.6rem
}
#header .gnav-menu .gnav-menu-content ul li + li {
	border-top: solid 1px #fff
}
#header .gnav-menu .gnav-menu-content ul li + li:last-child {
	border-bottom: solid 1px #fff
}
#header .gnav-menu .gnav-menu-content ul + .gnav-aside li + li:last-child {
	border-bottom: none;
}
#header .gnav-menu .gnav-menu-content ul li a {
	display: inline-block;
	line-height: 1.5625
}

#header .gnav-menu .gnav-menu-content ul li  {
	padding: 0 ;
}
#header .gnav-menu .gnav-menu-content ul li  a {
	padding: 0.875em 40px 0.875em 0;
	display: block;
	align-items: center;
	position: relative;
}
#header .gnav-menu .gnav-menu-content ul li  > .open-btn::after {
	position: absolute;
	content: url("/recruit/assets/images/common/icon_close.svg");
	right: 	0;
	top: calc(50% - 17px);
	width: 34px;
	height: 34px;
}
#header .gnav-menu .gnav-menu-content ul li + .--open  > .open-btn::after {
	content: url("/recruit/assets/images/common/icon_open.svg");
}
@media (max-width: 599.98px) {
	#header .gnav-menu .gnav-menu-content ul li  > .open-btn::after {
		top: calc(50% - 12.5px);
		width: 25px;
		height: 25px;
	}
}
#header .gnav-menu .gnav-menu-content ul li ul  {
	display: none;
	padding: 0 0 0.5em;
	position: relative;
}
#header .gnav-menu .gnav-menu-content ul li + .--open ul {
	display: block;
	padding: 0 0 0.5em;
	position: relative;
}
#header .gnav-menu .gnav-menu-content ul li  ul li {
	border-top: none;
	border-bottom: dashed 1px #fff;
	padding: 0 ;
}
#header .gnav-menu .gnav-menu-content ul li  ul li:last-child {
	border-top: none;
	border-bottom: none;
	padding-bottom: 0.5em;
}
#header .gnav-menu .gnav-menu-content ul li  ul li a {
	padding-left: 1.5em;
}


#header .gnav-menu .gnav-aside {
	display: none
}
#gnav-menustate:checked ~ #header .gnav-menu, #gnav-menustate:target ~ #header .gnav-menu {
	height: calc(100vh - 60px);
	opacity: 1;
	-webkit-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: 0s
}
@media (max-width: 599.98px) {
	#header .gnav-header .gnav-home {
		position: relative;
		max-width: 90px;
		margin-left: 1.5px;
		/*padding-top: 10px;*/
		padding-bottom: 9.5px;
		height: 47px;
	}
	#header .gnav-header .gnav-content {
		float: none;
		text-align: center;
		margin-top: auto;
		margin-left: -20px;
		margin-right: -20px
	}
	@supports (padding: max(0px, env(safe-area-inset-left))) {
		#header .gnav-header .gnav-content {
			margin-left: -20px;
			margin-right: -20px;
			margin-left: calc(max(20px, env(safe-area-inset-left, 20px)) * -1);
			margin-right: calc(max(20px, env(safe-area-inset-right, 20px)) * -1)
		}
	}
	#header .gnav-header .gnav-content .gnav-aside {
		display: none
	}
	#header .gnav-header .gnav-menuicon {
		top: 0
	}
	#header .gnav-header .gnav-menuicon li {
		width: 42.5px;
		height: 47px
	}
	#header .gnav-header .gnav-menuicon .gnav-menuicon-label .gnav-menuicon-btn {
		width: 28.5px;
		height: 28.5px;
		margin-left: -14.25px;
		margin-top: -14.25px
	}
	#header .gnav-menu .gnav-menu-content {
		padding-top: 10.6666666667%;
		padding-bottom: 10.6666666667%;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 10.6666666667%
	}
	@supports (padding: max(0px, env(safe-area-inset-left))) {
		#header .gnav-menu .gnav-menu-content {
			padding-left: 20px;
			padding-right: 20px;
			padding-left: max(20px, env(safe-area-inset-left, 20px));
			padding-right: max(20px, env(safe-area-inset-right, 20px))
		}
	}
	@supports (padding: max(0px, env(safe-area-inset-bottom))) {
		#header .gnav-menu .gnav-menu-content {
			padding-bottom: 10.6666666667%;
			padding-bottom: max(10.6666666667%, env(safe-area-inset-bottom, 10.6666666667%))
		}
	}
}
@media (max-width: 599.98px) and (max-width: 369.98px) {
	#header .gnav-menu .gnav-menu-content ul li:nth-child(2) a {
		padding-left: 0
	}
	#header .gnav-menu .gnav-menu-content ul li:nth-child(2) a br {
		display: none
	}
	#header .gnav-menu .gnav-menu-content ul li:nth-child(2) a span {
		text-indent: 0
	}
}
@media (max-width: 599.98px) {
	#header .gnav-menu .gnav-menu-content .gnav-aside {
		display: block;
		margin-top: 20px;
	}
	#header .gnav-menu .gnav-menu-content .gnav-aside li {
		padding: .234375em 0
	}
	#header .gnav-menu .gnav-menu-content .gnav-aside li + li {
		border-top: none
	}
	#header .gnav-menu .gnav-menu-content .gnav-aside li a {
		display: block;
		padding: 1em;
		color: #ec3649;
		text-align: center;
		line-height: 1.4375;
		background-color: #fff;
	}
	#header .gnav-menu .gnav-menu-content .gnav-aside li a.gray {
		color: #fff;
		border-color: #fff;
		opacity: .3
	}
	#header .gnav-menu .gnav-menu-content .gnav-aside li a.disabled {
		color: #fff;
		border-color: #fff;
		opacity: .3;
		cursor: default;
		pointer-events: none;
		-webkit-touch-callout: none
	}
	#gnav-menustate:checked ~ #header .gnav-menu, #gnav-menustate:target ~ #header .gnav-menu {
		height: calc(100vh - 47px)
	}
}
#gnav-menustate {
	display: none
}
#gnav-menustate ~ .gnav-curtain {
	position: fixed;
	opacity: 0;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	z-index: 900;
	-webkit-transition: opacity 0.38s;
	-o-transition: opacity 0.38s;
	transition: opacity 0.38s
}
#gnav-menustate:checked ~ .gnav-curtain, #gnav-menustate:target ~ .gnav-curtain {
	display: block;
	right: 0;
	bottom: 0;
	opacity: 1;
	width: 100%;
	height: 100%;
	background-color: transparent
}
#footer .footer-wrap {
	position: relative
}
#footer .footer-content {
	padding: 88px 0 30px;
	background-color: #000;
	color: #fff;
	font-size: .875em;
	font-weight: 400;
	letter-spacing: .01em;
	padding-bottom: 20px
}
@supports (padding: max(0px, env(safe-area-inset-bottom))) {
	#footer .footer-content {
		padding-bottom: 20px;
		padding-bottom: max(20px, env(safe-area-inset-bottom, 20px))
	}
}
#footer .footer-home {
	max-width: 195px;
	margin-bottom: 54px
}
#footer .footer-home a {
	display: inline-block
}
#footer .footer-home h3 {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: 1.1875rem;
	font-size: 1.9rem;
	letter-spacing: .1em;
	white-space: nowrap
}
#footer .footer-home h3 span {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 20px;
	padding: 15px 27px;
	background-color: #fff
}
#footer .footer-home h3 .logo img {
	width: 140px;
}
#footer .fnav-menu {
	position: relative;
	padding: 32px 0 40px
}
#footer .fnav-menu::before, #footer .fnav-menu::after {
	content: "";
	position: absolute;
	left: 50%;
	display: block;
	width: 100vw;
	height: 1px;
	background-color: #6e6f71;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%)
}
#footer .fnav-menu::before {
	top: 0
}
#footer .fnav-menu::after {
	bottom: 0
}
#footer .fnav-menu .fnav-menu-content > ul {
	margin: auto -12px 35px
}
#footer .fnav-menu .fnav-menu-content > ul::after {
	content: "";
	display: block;
	clear: both
}
#footer .fnav-menu .fnav-menu-content > ul li {
	float: left;
	display: inline-block;
	width: auto;
	padding: 0 12px;
	line-height: 2.5714285714;
	text-align: left
}
#footer .fnav-menu .fnav-menu-content > ul li a {
	position: relative;
	display: inline-block;
	width: 100%;
	padding-right: 30px;
	font-size: 1rem;
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 1.4285714286;
	text-align: left;
	white-space: nowrap
}
#footer .fnav-menu .fnav-menu-content > ul li a::after {
	content: "";
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-left: 12px;
	border: solid 0px #fff;
	border-width: 1px 1px 0 0;
	border-color: #fff #fff transparent transparent;
	background: transparent no-repeat center center / contain;
	line-height: 1.4285714286;
	vertical-align: middle;
	-webkit-transform: translate(0%, -50%) rotate(45deg);
	-ms-transform: translate(0%, -50%) rotate(45deg);
	transform: translate(0%, -50%) rotate(45deg)
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul {
	margin: auto -10px
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul::after {
	content: "";
	display: block;
	clear: both
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul li {
	float: left;
	display: inline-block;
	width: auto;
	padding: 0 10px;
	line-height: 2.5
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul li a {
	position: relative;
	display: block;
	width: 204px;
	padding-left: 1.7142857143em;
	padding-right: 1.6428571429em;
	background-color: #ec3649;
	border-radius: 2px;
	letter-spacing: .1em;
	text-indent: .1em;
	text-align: center
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul li a:hover, #footer .fnav-menu .fnav-menu-content .fnav-entry ul li a:focus, #footer .fnav-menu .fnav-menu-content .fnav-entry ul li a:active {
	background-color: #c60018;
	opacity: 1
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: inline-block;
	width: 8px;
	height: 8px;
	border: solid 0px #fff;
	border-width: 1px 1px 0 0;
	border-color: #fff #fff transparent transparent;
	background: transparent no-repeat center center / contain;
	line-height: 1.4285714286;
	vertical-align: middle;
	-webkit-transform: translate(0%, -50%) rotate(45deg);
	-ms-transform: translate(0%, -50%) rotate(45deg);
	transform: translate(0%, -50%) rotate(45deg)
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul li a.gray {
	background-color: #929395;
	opacity: .5
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul li a.gray:hover, #footer .fnav-menu .fnav-menu-content .fnav-entry ul li a.gray:focus, #footer .fnav-menu .fnav-menu-content .fnav-entry ul li a.gray:active {
	opacity: .5
}
#footer .fnav-menu .fnav-menu-content .fnav-entry ul li a.disabled {
	background-color: #929395;
	opacity: .5;
	cursor: default;
	pointer-events: none;
	-webkit-touch-callout: none
}
#footer .fnav-menu .fnav-menu-content .fnav-contact {
	/*max-width: 360px;*/
	margin-top: 40px;
	margin-bottom: 40px;
	
}

#footer .fnav-menu .fnav-menu-content .fnav-contact ul{
	margin: auto -10px;
}
#footer .fnav-menu .fnav-menu-content .fnav-contact ul li{
	/*float: left;*/
	display: inline-block;
	width: auto;
	padding: 0 10px;
	line-height: 2.5;
	clear: both;
}

#footer .fnav-menu .fnav-menu-content .fnav-contact a {
	position: relative;
	display: block;
	padding: 15px 0;
	padding-left: 2.375em;
	padding-right: 2.375em;
	background-color: #ec3649;
	border-radius: 3px;
	font-size: 1.1428571429rem;
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 1.25;
	text-align: center;
	text-indent: .1em;
	white-space: nowrap;
	width: 360px;
}
#footer .fnav-menu .fnav-menu-content .fnav-contact .wt-btn a {
	background-color:#fff;
	color: #ec3649;
}


#footer .fnav-menu .fnav-menu-content .fnav-contact  a:hover, #footer .fnav-menu .fnav-menu-content .fnav-contact a:focus, #footer .fnav-menu .fnav-menu-content .fnav-contact a:active {
	background-color: #c60018;
	opacity: 1
}
#footer .fnav-menu .fnav-menu-content .fnav-contact .wt-btn a:hover, #footer .fnav-menu .fnav-menu-content .fnav-contact .wt-btn a:focus, #footer .fnav-menu .fnav-menu-content .fnav-contact .wt-btn a:active {
	background-color: #b2b2b2;
	opacity: 1
}

#footer .fnav-menu .fnav-menu-content .fnav-contact a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: auto;
	right: 1em;
	display: block;
	width: 16px;
	height: 16px;
	background: transparent no-repeat center center / contain;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cdefs%3E%3Cstyle%3E.white%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20class%3D%22white%22%3E%3Cpath%20d%3D%22M12.60986%2C14.80347H2.28271A1.33806%2C1.33806%2C0%2C0%2C1%2C.94629%2C13.467V3.14038A1.33816%2C1.33816%2C0%2C0%2C1%2C2.28271%2C1.80347H7.94629v1H2.28271a.33717.33717%2C0%2C0%2C0-.33642.33691V13.467a.33676.33676%2C0%2C0%2C0%2C.33642.33643H12.60986a.33676.33676%2C0%2C0%2C0%2C.33643-.33643V7.80347h1V13.467A1.33806%2C1.33806%2C0%2C0%2C1%2C12.60986%2C14.80347ZM7.79688%2C9.1604l-.707-.707%2C6.25684-6.25684H10.78906v-1h3.76465a.49972.49972%2C0%2C0%2C1%2C.5.5V5.46069h-1V2.90356Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
	transform: translate(0%, -50%)
}
#footer .fnav-menu .fnav-menu-content .fnav-contact .wt-btn a::after {
	background-image: url("../images/common/icon_blank_red.svg");
	
}
#footer .footer-legal::after {
	content: "";
	display: block;
	clear: both
}
#footer .footer-legal .footer-slogan {
	width: 524px;
	height: 40px;
	margin: 55px 0;
	background: transparent url(../images/common/slogan.svg) no-repeat center center/contain
}
#footer .footer-legal .footer-copyright {
	font-size: .7142857143rem;
	font-size: 1rem;
	font-weight: 300;
	letter-spacing: .2em;
	text-align: right
}


@media (max-width: 599.98px) {
	#footer .footer-content {
		padding-top: 50px
	}
	#footer .footer-home {
		max-width: 168px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 26px
	}
	#footer .footer-home h3 {
		font-size: 1.009375rem;
		font-size: 1.615rem;
		text-align: center;
		text-indent: .1em
	}
	#footer .footer-home h3 span {
		margin-bottom: 15px
	}
	#footer .footer-home h3 img {
		width: 89px
	}
	#footer .fnav-menu .fnav-menu-content > ul li {
		width: 33.3333333333%
	}
	#footer .fnav-menu .fnav-menu-content > ul li a {
		position: relative;
		font-size: .8214285714rem;
		font-size: 1.15rem;
		font-size: 3.0666666667vw
	}
	#footer .fnav-menu .fnav-menu-content > ul li a::after {
		right: 0
	}
	#footer .fnav-menu .fnav-menu-content .fnav-entry ul {
		margin: auto -7.5px
	}
	#footer .fnav-menu .fnav-menu-content .fnav-entry ul li {
		width: 50%;
		padding: 0 7.5px 15px
	}
	#footer .fnav-menu .fnav-menu-content .fnav-entry ul li a {
		width: 100%;
		font-size: .8214285714rem;
		font-size: 1.15rem;
		font-size: 3.0666666667vw
	}
	#footer .fnav-menu .fnav-menu-content .fnav-contact {
		margin-top: 5px;
		margin-bottom: 0;
	}
	#footer .fnav-menu .fnav-menu-content .fnav-contact a {
		font-size: .9642857143rem;
		font-size: 1.35rem;
		font-size: 3.6vw
	}
	#footer .fnav-menu .fnav-menu-content .fnav-contact a::after {
		width: 20px;
		height: 20px
	}
	#footer .footer-legal .footer-slogan {
		width: 79.1044776119%;
		height: 0;
		margin: 30px auto 73px;
		padding-bottom: 15.5223880597%;
		background-image: url(../images/common/slogan-sp.svg)
	}
	#footer .footer-legal .footer-copyright {
		font-size: .6428571429rem;
		font-size: .9rem;
		text-align: center
	}
	
	#footer .fnav-menu .fnav-menu-content .fnav-contact ul li {
		width: 100%;
		margin-bottom: 20px;
	}
	#footer .fnav-menu .fnav-menu-content .fnav-contact ul li a {
		width: 100%;
		font-size: .8214285714rem;
		font-size: 1.15rem;
		font-size: 3.0666666667vw
	}
}
#pagetop {
	position: relative;
	display: none;
	height: 0
}
#pagetop .pagetop-content {
	position: relative;
	top: 0;
	opacity: 0;
	z-index: 999
}
.pagetop-show #pagetop {
	display: block
}
.no-pagetop-visible #pagetop .pagetop-content {
	-webkit-animation: fadeOut 0.3192s ease-out 0s 1 normal both;
	animation: fadeOut 0.3192s ease-out 0s 1 normal both
}
.pagetop-visible #pagetop .pagetop-content {
	-webkit-animation: fadeIn 0.3192s ease-out 0s 1 normal both;
	animation: fadeIn 0.3192s ease-out 0s 1 normal both
}
#pagetop .pagetop-content a {
	position: absolute;
	top: auto;
	right: 0;
	bottom: 12px;
	display: block;
	width: 63px;
	height: 63px;
	background-color: #ec3649;
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-size: .95625rem;
	font-size: 1.53rem;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: center;
	text-indent: .05em;
	overflow: hidden;
	-webkit-box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.5);
	box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.5);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	z-index: 999
}
@supports (padding: calc(0px + constant(safe-area-inset-left))) {
	#pagetop .pagetop-content a {
		right: 0;
		right: calc(0px + constant(safe-area-inset-right))
	}
}
@supports (padding: calc(max(0px))) {
	#pagetop .pagetop-content a {
		right: 0;
		right: calc(max(0px, env(safe-area-inset-right, 0px)))
	}
}
#pagetop .pagetop-content a::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 30.4761904762%;
	height: 30.4761904762%;
	border: solid 0px #fff;
	border-width: 2px 2px 0 0;
	border-color: #fff #fff transparent transparent;
	-webkit-animation: fadeIn 0.3192s ease-out 0s 1 normal both;
	animation: fadeIn 0.3192s ease-out 0s 1 normal both;
	-webkit-transform: translate(-50%, -60%) rotate(-45deg);
	-ms-transform: translate(-50%, -60%) rotate(-45deg);
	transform: translate(-50%, -60%) rotate(-45deg)
}
#pagetop .pagetop-content a:hover, #pagetop .pagetop-content a:focus, #pagetop .pagetop-content a:active {
	opacity: 1;
	background-color: #c60018
}
#pagetop .pagetop-content a span {
	display: inline-block;
	-webkit-transform: translate(0%, 80%);
	-ms-transform: translate(0%, 80%);
	transform: translate(0%, 80%)
}
.pagetop-sticky #pagetop .pagetop-content a {
	position: fixed
}
@media (max-width: 599.98px) {
	#pagetop .pagetop-content a {
		bottom: 25px;
		width: 42.5px;
		height: 42.5px;
		font-size: .6640625rem;
		font-size: 1.0625rem
	}
	#pagetop .pagetop-content a::before {
		width: 33.8823529412%;
		height: 33.8823529412%;
		border-width: 1px 1px 0 0
	}
}
.v-hidden, .visual-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%)
}
@-webkit-keyframes fadeIn {
	0% {
		display: none;
		opacity: 0;
		z-index: -1
	}
	0.1% {
		display: block;
		z-index: 999
	}
	100% {
		opacity: 1
	}
}
@keyframes fadeIn {
	0% {
		display: none;
		opacity: 0;
		z-index: -1
	}
	0.1% {
		display: block;
		z-index: 999
	}
	100% {
		opacity: 1
	}
}
@-webkit-keyframes fadeOut {
	0% {
		opacity: 1;
		z-index: 999
	}
	99.9% {
		display: block
	}
	100% {
		display: none;
		opacity: 0;
		z-index: -1
	}
}
@keyframes fadeOut {
	0% {
		opacity: 1;
		z-index: 999
	}
	99.9% {
		display: block
	}
	100% {
		display: none;
		opacity: 0;
		z-index: -1
	}
} /*! Built by PIXBATON pixbaton.jp */

