@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Open+Sans:wght@800&display=swap');
/* Rest
-----------------------------------------------------------------------*/
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, address, cite,del,em, img,
small, strike,  sub, sup,
b, u, i, center,dl, dt, dd, ol, ul, li,
form, label, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, section,time, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box;
}
article, main, aside, details, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
html {
	font-size: 62.5%;
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

body {
	font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif;
	font-size: 18px;
	line-height: 1.66;
  background: #222222;
	color: #ffffff;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}
article{
	z-index: 1;
	position: relative;
}
ol, ul {
list-style: none;
}
b,
strong {
  font-weight: 700;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	overflow: visible;
	background-color: #bbb;
	border: 0;
	height: 1px;
	margin: 100px 0;
}
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

abbr[title] {
	border-bottom: 1px #767676 dotted;
	text-decoration: none;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

dfn {
	font-style: italic;
}

mark {
	background-color: #eee;
	color: #222;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

audio,
video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

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

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

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

legend {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	display: inline-block;
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details,
menu {
	display: block;
}

summary {
	display: list-item;
}

canvas {
	display: inline-block;
}

template {
	display: none;
}

[hidden] {
	display: none;
}
	
a {
  color: #fff;
  text-decoration: underline;
	outline: none;
}
a:hover,
a:active {
  text-decoration: none;
}
a {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a[href^='tel:'] {
  color: inherit !important;
	text-decoration: none;
}
a[href^='mailto:'] {
	text-decoration: none;
}

/* 
CSS Document 
ページ共通CSS
ヘッダ, フッタ, サイド
*/

/* Structure
-----------------------------------------------------------------------*/
#container img {
	width: 100%;
  height: auto;
}
#container {
  position: relative;
	overflow: hidden;
  z-index:1;
}
#container.fadepage {
  opacity : 0; 
	animation: 2s fadeOutBG .6s linear forwards; 
}
@keyframes fadeOutBG {
  0% {
    opacity : 0;
  }
  100% {
    opacity : 1;
  }
}

/*clearfix*/
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
overflow:hidden;
font-size:0.1em;
line-height:0;
}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

.inner { max-width:1500px; margin: 0 auto; }
.hr01 {
	background: none;
	margin: 50px 0;
}

#overlay_transparent{
  position: fixed;
	transform: translate3d(0, 0, 0);
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 500;
  display: none;
}

@media (min-width: 751px) {
	.mobile {
		display:none !important;
	}
}
@media (max-width: 750px) {
	body {
    min-width: 320px;
		font-size:14px;
	}
	.inner { padding: 0 6%;}
	.pc {
		display:none !important;
	}
}
@media (max-width: 1000px) {
	.lock {
		overflow: hidden;
	}
	.lock #container {
		width: 100vw;
		overflow: hidden;
		overflow-y: scroll;
	}
	.lock #header {
		overflow: hidden;
		overflow-y: scroll;
		background: rgba(34, 34, 34, 1);
		height: 100%;
	}
}

/* font */
.tx-en, .sec-top .text_column .ti,
.products__sort label,
.product .text .icon-label,
.product .text .tx-url {
	font-family: 'Open Sans', sans-serif;
	font-weight: 800;
}
.note {
	font-size: 14px;
}
.caption.note {
	text-align: right;
}
figcaption.note {
	font-size: 12px;
	text-align: left;
}
@media (max-width: 750px) {
	.note {
		font-size: 12px;
	}
	figcaption.note {
		font-size: 10px;
	}
}
ul.note li {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: .4em;
}


/* header */
#header {
	width: 100%;
	background: rgba(34,34,34,.67);
	position:fixed;
	transform: translate3d(0, 0, 0);
	left: 0;
	right: 0;
	top: 0;
	line-height: 1;
	z-index: 1000;
	padding: 0 3.33%;
}
#header .nav-link > ul > li.comingsoon > span {
	display: block;
	color: #666;
	text-align: center;
	padding: 0 .5em;
}
#header .nav-link > ul > li.comingsoon > span .fs-s {
	font-size: 74%;
	color: #ff0000;
	display: block;
	margin: .3em 0 -1.3em;
}
#header .nav-link > ul > li > a {
	padding: 2em 1em;
	text-decoration: none;
	display: block;
}
#header .nav-link > ul > li > a:hover {
	color: #B7000B;
}
#btn_menu {
	position: absolute;
	right:0;
	top:0;
	cursor: pointer;
	padding: 25px 23px;
	display: block;
	width: 80px;
	height: 60px;
	z-index: 5;
}
#btn_menu span.icon {
	position: absolute;
	display: block;
	width: 35px;
	height: 3px;
	top: 30px;
	left: 23px;
}
#btn_menu span.icon:before,
#btn_menu span.icon:after {
	content: "";
	position: absolute;
	background: #ffffff;
	display: block;
	width: 100%;
	height: 3px;
	top: -230%;
	transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#btn_menu span.icon:after {
	top: 230%;
}
#btn_menu.active span.icon:before {
	top: 0%;
	transform: rotate(405deg);
	-moz-transform: rotate(405deg);
	-webkit-transform: rotate(405deg);
	-o-transform: rotate(405deg);
}
#btn_menu.active span.icon:after {
	top: 0%;
	transform: rotate(-405deg);
	-moz-transform: rotate(-405deg);
	-webkit-transform: rotate(-405deg);
	-o-transform: rotate(-405deg);
}
@media (min-width: 1501px) {
	#header {
		padding: 0 50px;
	}
}
@media (min-width: 1001px) {
	#header {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		align-items: center;
	}
	#header .logo {
		width: 200px;
	}
	#header .nav-link > ul {
		font-size: 16px;
		height: 80px;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		margin-right: -1em;
	}
	#btn_menu {
		display: none !important;
	}
}
@media (max-width: 1000px) {
	#header {
		height: 60px;
		padding: 0;
	-webkit-transition: background 0.5s ease;
	-moz-transition: background 0.5s ease;
	-o-transition: background 0.5s ease;
	transition: background 0.5s ease;
	}
	#header .logo {
		width: 183px;
		line-height: 60px;
		position: absolute;
		z-index: 555;

	}
	#header .logo img {
		vertical-align: middle;
	}
	#header .logo a {
		padding: 0 25px;
		display: block;
	}
	#header .nav-link > ul {
		font-size: 14px;
		padding: 65px 0 20px;
	}
	#header .nav-link > ul > li.comingsoon > span {
		text-align: right;
		padding: 20px 50px 20px 20px;
	}
	#header .nav-link > ul > li.comingsoon > span .fs-s {
		margin-bottom: 0;
	}
	#header .nav-link > ul > li > a {
		padding: 20px 50px 20px 20px;
		text-align: right;
		position: relative;
	}
	#header .nav-link > ul > li > a::after {
		content: "";
		display: block;
		position: absolute;
		width: .4em;
		height: .4em;
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 50%;
		right: 19px;
		margin-top: -.2em;
	}
	#header .nav-link > ul > li > a:hover {
		color: #9F232B;
	}
	#header .nav-link > ul > li > a:hover::after {
		border-color: #9F232B;
	}
  #header #hd-nav {
    position: absolute;
    width: 100%;
    min-height: 100vh;
    /*display: none;*/
    background: #222222;
    color: #ffffff;
    top: 0;
    left: 100%;
		padding: 0;
		-webkit-transition: left 0.5s ease;
		-moz-transition: left 0.5s ease;
		-o-transition: left 0.5s ease;
		transition: left 0.5s ease;
  }
  #header.active #hd-nav {
    left: 0;
  }
}

/* footer */
#pagetop {
	border: #000 solid 35px;
	background: #000;
	position:absolute;
	cursor: pointer;
	left: 50%;
	top:-25px;
	z-index: 2;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-left: -35px;
}
#pagetop::before {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#pagetop:hover::before {
	border-color: #9F232B;
}
@media (max-width: 750px) {
}
#footer {
	clear: both;
	background: #000000;
	text-align: center;
	position: relative;
	padding: 99px 0 20px;
}
#footer .logo {
	width: 299px;
	margin: auto;
	position: relative;
	z-index: 3;
}
#footer .nav-btn {
	margin: 83px 0 0;
}
#footer .nav-btn > li {
	margin: 0 10px;
}
#footer .nav-link {
	font-size: 14px;
	margin: 50px 0;
}
#footer .nav-link > li + li {
	margin-top: 1em;
}
#footer .nav-link > li > a:hover {
	color: #9F232B;
	text-decoration: underline;
}
#footer .text {
	font-size: 12px;
	color: #999999;
	text-shadow: 0px 0px 10px #000000;
}
#footer .copyright {
	font-size: 12px;
	color: #999999;
	margin-top: 1.25em;
}
@media (min-width: 751px) {
	#footer .nav-btn {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		margin: 83px 0 0;
	}
}
@media (max-width: 750px) {
	#footer {
		padding: 50px 0 20px;
	}
	#footer .logo {
		width: 226px;
	}
	#footer .nav-btn {
		width: 125px;
		margin: 52px auto 0;
	}
	#footer .nav-btn > li + li {
		margin-top: 25px;
	}
	#footer .nav-link {
		font-size: 12px;
	}
	#footer .nav-link > li + li {
		margin-top: 25px;
	}
	#footer .text,
	#footer .copyright {
		zoom: .6;
	}
}

/* ------------------------------
 parts
------------------------------ */
.ti01 {
  font-size: 119px;
  text-shadow: 3px 3px 8px rgba(0,0,0,.6), -3px -3px 8px rgba(201,159,190,.6);
  margin: 394px auto 154px;
  position: relative;
  line-height: 1.16;
	text-align: center;
}
.ti02 {
  font-size: 30px;
	font-weight: 600;
  line-height: 1.33;
	padding: 0 0 1.5em;
  margin: 150px auto 50px;
	text-align: center;
	border-bottom: 1px solid #555555;
}
.ti03 {
  font-size: 40px;
	font-weight: 600;
  line-height: 1.33;
  margin: 100px auto 1.1em;
}
.ti04 {
  font-size: 30px;
	font-weight: 600;
  line-height: 1.16;
  margin: 3rem auto 3rem;
}
.ti05 {
	font-weight: 600;
  margin: 2.7em auto 1rem;
}
.text + .ti05 {
  margin-top: 4.5em;
}
@media (max-width: 750px) {
	.ti01 {
		font-size: 60px;
  	margin: 250px 0 107px;
	}
	.ti02 {
		font-size: 20px;
		margin: 100px 0 20px;
	}
	.ti03 {
		font-size: 40px;
  	line-height: 1.2;
		margin: 100px auto 1em;
	}
	.ti04 {
		font-size: 30px;
	}
	.ti05 {
		margin: 1.6em auto 1rem;
	}
	.text + .ti05 {
		margin-top: 2.8em;
	}
}
.text p + p {
  margin-top: 1.5em;
}
@media (min-width: 751px) and (max-width: 1180px) {
	.ti01 {
		font-size: 10.25vw;
		margin: 34% auto 13%;
	}
}
@media (min-width: 751px) {
	.text-pc-col2 {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	.text-pc-col2 > * {
		width: 47%;
	}
	.text-pc-col3 {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	.text-pc-col3 > * {
		width: 33.33%;
	}
}
@media (max-width: 750px) {
	.text-sp-en {
		margin-top: 50px !important;
	}
	.text-pc-col3 > .text + .text {
		margin-top: 70px;
	}
}

.btn01 {
	font-size: 18px;
	font-weight: 500;
	width: 250px;
	height: 80px;
	border: 2px solid #9F232B;
	color: #ffffff !important;
	text-decoration: none;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.btn01:hover {
	background-color: #9F232B;
	color: #222222 !important;
}
.btn01.-btn01_2 {
	border-color: #ffffff;
	color: #ffffff !important;
}
.btn01.-btn01_2:hover {
	background: none;
	border-color: #9F232B;
	color: #9F232B !important;
}
.btn01.-btn01_3 {
	font-size: 30px;
	width: 100%;
	height: 150px;
}
@media (max-width: 750px) {
	.btn01 {
		font-size: 13px;
		width: auto;
		min-width: 125px;
		height: 40px;
		padding: 0 .5em;
		border-width: 1px;
	}
	.btn01.-btn01_3 {
		font-size: 14px;
		height: 62px;
	}
}
.list,
.list02{
	margin-top: 1.5em;
}
.list li {
  padding-left: 1em;
  text-indent: -1em;
}
.list.list-en li {
  padding-left: .35em;
  text-indent: -.35em;
}
ol.list > li + li {
	margin-top: 1.5em;
}
ol.list02 > li + li {
	margin-top: 1.5em;
}
.list-links {
  display: table;
	margin: 40px 0;
}
.list-links .text {
	display: block;
	margin: 0 0 .2em;
	text-align: center;
}
@media (min-width: 751px) {
	ul.list-links {
		display: -webkit-flex;
		display: flex;
			-webkit-justify-content: center;
			justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		margin: 150px 0;
	}
	ul.list-links li {
		margin: 0 50px;
	}
}
@media (max-width: 750px) {
	.list-links {
		display: table;
		margin: 25px auto;
	}
	.list-links .btn01 {
		min-width: 200px;
		height: 62px;
	}
	ul.list-links {
		margin: 70px auto;
	}
	ul.list-links li + li {
		margin-top: 40px;
	}
}

/* top-visual */
#top-visual {
	background: url(../img/brandtop/im01.jpg) 50% 50%;
	width: 100%;
  /*min-width: 1140px;*/
	height: 750px;
	display: block;
  position: fixed;
	transform: translate3d(0, 0, 0);
	overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
	z-index: -1;
}
#top-visual.top-visual-hide {
  position: absolute;
}
#top-visual .top-title {
	width: 100%;
	height: 100%;
	color: #fff;
  text-shadow: 0 0 0.2em rgba(0,0,0,.3);
	position:absolute;
	text-align: center;
	overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  z-index: 1;
}
#top-visual .top-title h1 {
	font-size: 45px;
	letter-spacing: .2em;
  text-indent: .2em;
	line-height: 1.2;
}
#top-visual .top-title .logo {
	width: 115px;
	display: block;
	margin: 85px auto 100px;
}
@media (min-width: 1500px) {
  #top-visual {
		background-size: cover;
	}
}
@media (max-width: 750px) {
  #top-visual {
		background-position: 50% 100%;
    background-size: auto 100%;
    height: 550px;
		min-width: 320px;
  }
  #top-visual .inner {
		padding: 0;
  }
	#top-visual .top-title h1 {
		font-size: 35px;
		margin: 0 -6%;
		line-height: 1.44;
	}
	#top-visual .top-title .logo {
		width: 34%;
		margin: 70px auto 20px;
	}
}
/* sec-top */
.sec-top {
	/*height: 950px;
	height: 63.33vw;*/
	height: 0;
	padding-top: 63.33%;
	margin: 0 0 200px;
	margin: 0 0 13.33%;
	position: relative;
}
.sec-top .img-bg {
	position: absolute;
	width: 100%;
	height: 99.8%;
	right: 0;
	top: .1%;
	overflow: hidden;
	z-index: 1;
	pointer-events: none;
}
.sec-top .img-bg .bx-wrapper,
.sec-top .img-bg .bx-viewport,
.sec-top .img-bg .bxslider-img{
	height: 100% !important;
}
.sec-top .img-bg .bxslider-img{
	height: 100% !important;
}
.sec-top .img-bg figure {
	height: 100%;
	margin-top: 3%;
}
.sec-top .img-bg img {
	width: auto !important;
	max-width: none !important;
  height: inherit !important;
	position: absolute;
	top: 0;
}
.sec-top .text_column {
	position: absolute;
	top: 50%;
  transform: translateY(-50%) translateX(0);
  -webkit-transform: translateY(-50%) translateX(0);
	z-index: 2;
}
.sec-top .text_column .ti {
	font-size: 90px;
	font-size: 5.9vw;
	line-height: 1.11;
	margin-bottom: .33em;
	text-align: center;
}
.sec-top .text_column .ti span {
    display: inline-block;
    position: relative;
  }
.sec-top .text_column .img img {
	width: auto !important;
	max-width: 13.33vw;
	max-height: 13.33vw;
}
@media (min-width: 751px) {
	.sec-top .text_column .text {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	.sec-top .text_column .img {
		margin-right: 40px;
		margin-right: 2.66vw;
	}
	.sec-top .text_column .btn01 {
		font-size: 1.2vw;
		width: 16.66vw;
		height: 5.33vw;
	}
	.sec-top#mainvisual .img-bg img {
		left: 14%;
		height: 104% !important;
	}
	.sec-top#mainvisual .text_column .ti {
		text-align: left;
		margin-top: 38.4%;
	}
	.sec-top#mainvisual .text_column {
		left: 65px;
		left: 4.3%;
	}
	.sec-top#mcs .img-bg img {
		top: -4%;
		width: 104% !important;
		height: auto !important;
		right: -33%;
	}
	.sec-top#mcs .text_column {
		left: 123px;
		left: 8.2%;
	}
	.sec-top#works .text_column {
		right: 75px;
		right: 5%;
	}
	.sec-top#works .img-bg img {
		left: -50%;
    width: 120% !important;
    height: auto !important;
    top: -12%;
	}
	.sec-top#works .img-mask {
		left: 0;
		right: auto;
	}
	.sec-top#about .text_column {
		right: 105px;
		right: 7%;
	}
	.sec-top#about .img-bg img {
    width: 116% !important;
    height: auto !important;
		left: -11%;
    top: -14%;
	}
	.sec-top#about .img-mask {
		left: 0;
		right: auto;
	}
}
@media (max-width: 750px) {
	.sec-top {
		padding-top: 166.66%;
		margin: 75px 0 13.33%;
	}
	.sec-top .text_column .ti {
		font-size: 45px;
		font-size: 12vw;
		line-height: 1;
	}
	.sec-top .text_column .img {
		text-align: center;
		margin: 0 0 5vw;
	}
	.sec-top .text_column .img img {
		width: auto !important;
		max-width: 26.66vw;
		max-height: 26.66vw;
	}
	.sec-top .text_column .btn01 {
		font-size: 3.46vw;
		width: 33.33vw;
		height: 10.66vw;
		margin: auto;
	}
	.sec-top#mainvisual {
		padding-top: 146.66%;
	}
	.sec-top#mainvisual .img-bg img {
		left: -27%;
	}
	.sec-top#mainvisual .text_column .ti {
		text-align: left;
	}
	.sec-top#mainvisual .text_column {
    left: 5%;
    top: 73%;
	}
	.sec-top#mcs .img-bg img {
		height: 66% !important;
    top: -5%;
    left: -24%;
	}
	.sec-top#mcs .text_column {
    top: 82%;
		left: 50%;
    transform: translateY(-50%) translateX(-50%);
	}
	.sec-top#works .text_column {
    top: 82%;
		left: 50%;
    transform: translateY(-50%) translateX(-50%);
	}
	.sec-top#works .img-bg img {
		top: -8%;
    left: -75%;
    height: 77% !important;
	}
	.sec-top#about {
		margin-bottom: 0;
	}
	.sec-top#about .img-bg img {
		left: -20%;
    top: -13%;
    height: 80% !important;
	}
	.sec-top#about .text_column {
		white-space: nowrap;
    top: 82%;
		left: 50%;
    transform: translateY(-50%) translateX(-50%);
	}
}
.sec-concept {
	/*overflow: hidden;*/
	position: relative;
	height: 2110px;
	height: 140.66vw;
	height: 100vh;
  padding-top: 60%;
	margin: 40vh 0 40vh;
}
.sec-concept p {
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 0;
	left: -100vw;
	line-height: 1;
	transition: all 1s linear;
}
.sec-concept .text_column {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
  height: 100vh;
}
.sec-concept .text_column:before {
	content: "";
	width: 100%;
	height: 180%;
	pointer-events: none;
	display: block;
	position: absolute;
	background:linear-gradient(-20deg, transparent 30%, transparent 30%, #8c3d78 50%, transparent 80%, transparent);
	left: 0;
	top: -40%;
	opacity: .5;
	z-index: 0;
}
.sec-concept .text-01 {
	font-size: 298px;
	font-size: 19.86vw;
  top: 43%;
  top: 13%;
  top: 7vw;
}
.sec-concept .text-02 {
	font-size: 548px;
	font-size: 36.53vw;
  top: 55%;
  top: 33%;
  top: 23vw;
}
.sec-concept .text-03 {
	font-size: 132px;
	font-size: 8.8vw;
  top: 86%;
  top: 61vw;
}
@media (max-width: 750px) {
	.sec-concept {
		margin: 20vh 0 0;
	}
	.sec-concept .text-01 {
		font-size: 149px;
		font-size: 39.73vw;
  	top: 75vw;
  	top: 1%;
	}
	.sec-concept .text-02 {
		font-size: 17.6vw;
  	top: 113vw;
  	top: 24%;
	}
	.sec-concept .text-03 {
		font-size: 25vw;
  	top: 128vw;
  	top: 35%;
	}
	.sec-concept .text-04 {
		font-size: 85vw;
  	top: 160vw;
  	top: 45%;
	}
	.sec-concept .text-05 {
		font-size: 61px;
		font-size: 17.6vw;
  	top: 230vw;
  	top: 92%;
	}
}
/* sec-cafe */
.sec-cafe {
	margin: 0 0 150px;
	padding: 100px 0;
	position: relative;
	background: #222222;
	z-index: 1;
	-moz-box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
	-webkit-box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
	-ms-box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
	box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
}
.sec-cafe .text_column .ti {
	font-size: 24px;
	font-weight: 700;
}
.sec-cafe .text_column > p + p {
	margin-top: 1.5em
}
.sec-cafe .text_column .btn01 {
	margin-top: 1.5em
}
@media (min-width: 751px) {
	.sec-cafe {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	.sec-cafe .img {
		max-width: 450px;
		margin-right: 100px;
	}
}
@media (min-width: 751px) and (max-width: 1500px) {
	.sec-cafe {
		padding-left: 5%;
		padding-right: 5%;
	}
	.sec-cafe .img {
		margin-right: 5%;
	}
	.sec-cafe .text_column {
		white-space: nowrap;
	}
}
@media (max-width: 750px) {
	.sec-cafe {
		text-align: center;
		margin: 150px 0;
		padding: 100px 0;
		-moz-box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
		-webkit-box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
		-ms-box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
		box-shadow: 0 20px 50px -25px rgba(0,0,0,0.5), 0 -15px 50px -40px rgba(255, 255, 255, 0.5);
	}
	.sec-cafe .img {
		margin: 0 20% 25px;
	}
	.sec-cafe .text_column .ti {
		font-size: 18px;
	}
	.sec-cafe .text_column .ti + p {
		font-size: 13.5px;
	}
	.sec-cafe .text_column .btn01 {
		width: 150px;
		margin: 1.5em auto;
	}
}
/* nav-tab-lnk */ 
.nav-tab-lnk {
	margin: 0 0 70px;
	text-align: center;
}
.nav-tab-lnk li a {
	display: block;
	position: relative;
	height: 100%;
	color: #fff;
	text-decoration: none;
}
.nav-tab-lnk li a::after {
	content: "";
	display: block;
	width: 11.1px;
	height: 8.88px;
	background: url("../img/icon_arrow01.svg") 50% 0 no-repeat;
	background-size: 11.1px 8.88px;
	bottom: 50px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}
.nav-tab-lnk li a.-active,
.nav-tab-lnk li a:hover {
	color: #F0DA5F;
}
.nav-tab-lnk li a.-active:after,
.nav-tab-lnk li a:hover:after {
	background: url("../img/icon_arrow01_y.svg");
}
.nav-tab-lnk._nav-tab-lnk1 li a {
	border: 1px solid #fff;
	padding-bottom: 1em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.nav-tab-lnk._nav-tab-lnk1 li a.-active,
.nav-tab-lnk._nav-tab-lnk1 li a:hover {
	border-color: #F0DA5F;
}
.nav-tab-lnk._nav-tab-lnk2 li a {
	background: #1A1A1A;
	padding: 50px 0 110px;
}
.nav-tab-lnk._nav-tab-lnk2 li a::after {
	width: 20.5px;
	height: 16.4px;
	background-size: 20.5px 16.4px;
	bottom: 50px;
}
.nav-tab-lnk._nav-tab-lnk2 li strong {
	font-size: 30px;
	line-height: 1.16;
	display: block;
	margin: 0 0 .8em;
}
.nav-tab-lnk._nav-tab-lnk2 li .text {
	display: inline-block;
	text-align: left;
	padding: 0 1em;
}

@media (min-width: 751px) {
	.nav-tab-lnk._nav-tab-lnk1 {
		margin: 0 0 70px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.nav-tab-lnk._nav-tab-lnk1 li {
		width: 200px;
		height: 80px;
		font-size: 16px;
		margin: 0 25px;
	}
	.nav-tab-lnk._nav-tab-lnk1 li a::after {
		bottom: 19px;
	}
	.nav-tab-lnk._nav-tab-lnk2 {
		margin: 0 0 70px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		flex-wrap: wrap;
	}
	.nav-tab-lnk._nav-tab-lnk2 li {
		width: 32%;
		font-size: 16px;
	}
	.nav-tab-lnk._nav-tab-lnk2 li + li {
		margin-left: 2%;
	}
}
@media (max-width: 750px) {
	.nav-tab-lnk li a::after {
		width: 11px;
		height: 9px;
		background-size: 11px 9px;
	}
	.nav-tab-lnk._nav-tab-lnk1 {
		margin-bottom: 0;
	}
	.nav-tab-lnk._nav-tab-lnk1 li {
		width: 200px;
		height: 80px;
		font-size: 14px;
		margin: auto;
	}
	.nav-tab-lnk._nav-tab-lnk1 li + li {
		margin-top: 25px;
	}
	.nav-tab-lnk._nav-tab-lnk1 li a::after {
		bottom: 23px;
	}
	.nav-tab-lnk._nav-tab-lnk2 {
		margin: 0;
	}
	.nav-tab-lnk._nav-tab-lnk2 li + li {
		margin-top: 25px;
	}
	.nav-tab-lnk._nav-tab-lnk2 li a {
		padding: 25px 0 55px;
	}
	.nav-tab-lnk._nav-tab-lnk2 li a::after {
		bottom: 25px;
		left: 50%;
	}
	.nav-tab-lnk._nav-tab-lnk2 li strong {
		font-size: 25px;
	}
}
/* tab */ 
.nav-tab {
	margin: 0 0 70px;
	text-align: center;
}
.nav-tab li a {
	display: block;
	position: relative;
	height: 100%;
	color: #fff;
	text-decoration: none;
}
.nav-tab li a::after {
	content: "";
	display: block;
	width: 11.1px;
	height: 8.88px;
	background: url("../img/icon_arrow01.svg") 50% 0 no-repeat;
	background-size: 11.1px 8.88px;
	bottom: 50px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}
.nav-tab li a.-active,
.nav-tab li a:hover {
	color: #F0DA5F;
}
.nav-tab li a.-active:after,
.nav-tab li a:hover:after {
	background: url("../img/icon_arrow01_y.svg");
}
.nav-tab._nav-tab1 li a {
	border: 1px solid #fff;
	padding-bottom: 1em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.nav-tab._nav-tab1 li a.-active,
.nav-tab._nav-tab1 li a:hover {
	border-color: #F0DA5F;
}
.nav-tab._nav-tab1 li a {
	border: 1px solid #fff;
	padding-bottom: 1em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.nav-tab._nav-tab-bottom._nav-tab1 li a {
	padding-top: 1em;
	padding-bottom: 0;
}
.nav-tab._nav-tab-bottom._nav-tab1 li a::after {
	transform: translateX(-50%) rotate(180deg);
}
.nav-tab._nav-tab2 li a {
	background: #1A1A1A;
	padding: 50px 0 110px;
}
.nav-tab._nav-tab2 li a::after {
	width: 20.5px;
	height: 16.4px;
	background-size: 20.5px 16.4px;
	bottom: 50px;
}
.nav-tab._nav-tab2 li strong {
	font-size: 30px;
	line-height: 1.16;
	display: block;
	margin: 0 0 .8em;
}
.nav-tab._nav-tab2 li .text {
	display: inline-block;
	text-align: left;
	padding: 0 1em;
}
.nav-tab._nav-tab-bottom._nav-tab2 li a {
	padding: 110px 0 50px;
}
.nav-tab._nav-tab-bottom._nav-tab2 li a::after {
	transform: translateX(-50%) rotate(180deg);
	top: 50px;
	bottom: auto;
}
.sec-tab {
	display: none;
	opacity: 0;
	padding: 1px 0;
}
.sec-tab.-active {
	display: block;
	animation: fadeTab .6s linear forwards; 
}
@keyframes fadeTab{
  0% {
    opacity : 0;
		transform: translateY(20px);
  }
  100% {
    opacity : 1;
		transform: translateY(0);
  }
}

@media (min-width: 751px) {
	.nav-tab._nav-tab1 {
		margin: 0 0 70px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.nav-tab._nav-tab1 li {
		width: 200px;
		height: 80px;
		font-size: 16px;
		margin: 0 25px;
	}
	.nav-tab._nav-tab1 li a::after {
		bottom: 19px;
	}
	.nav-tab._nav-tab-bottom._nav-tab1 {
		margin: 200px 0 0;
	}
	.nav-tab._nav-tab-bottom._nav-tab1 li a::after {
		top: 19px;
		bottom: auto;
	}
	.nav-tab._nav-tab2 {
		margin: 0 0 70px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		flex-wrap: wrap;
	}
	.nav-tab._nav-tab2 li {
		width: 32%;
		font-size: 16px;
	}
	.nav-tab._nav-tab2 li + li {
		margin-left: 2%;
	}
	.nav-tab._nav-tab-bottom._nav-tab2 {
		margin: 70px 0 0;
	}
}
@media (max-width: 750px) {
	.nav-tab li a::after {
		width: 11px;
		height: 9px;
		background-size: 11px 9px;
	}
	.nav-tab._nav-tab1 {
		margin-bottom: 0;
	}
	.nav-tab._nav-tab1 li {
		width: 200px;
		height: 80px;
		font-size: 14px;
		margin: auto;
	}
	.nav-tab._nav-tab1 li + li {
		margin-top: 25px;
	}
	.nav-tab._nav-tab1 li a::after {
		bottom: 23px;
	}
	.nav-tab._nav-tab-bottom._nav-tab1 {
		margin: 70px 0 0;
	}
	.nav-tab._nav-tab-bottom._nav-tab1 li a::after {
		top: 23px;
		bottom: auto;
	}
	.nav-tab._nav-tab2 {
		margin: 0;
	}
	.nav-tab._nav-tab2 li + li {
		margin-top: 25px;
	}
	.nav-tab._nav-tab2 li a {
		padding: 25px 0 55px;
	}
	.nav-tab._nav-tab2 li a::after {
		bottom: 25px;
		left: 50%;
	}
	.nav-tab._nav-tab2 li strong {
		font-size: 25px;
	}
	.nav-tab._nav-tab-bottom._nav-tab2 {
		margin-top: 100px;
	}
	.nav-tab._nav-tab-bottom._nav-tab2 li a {
		padding: 55px 0 25px;
	}
	.nav-tab._nav-tab-bottom._nav-tab2 li a::after {
		top: 25px;
	}
}
/* sort */ 
.products__sort {
	margin: 0 0 70px;
	text-align: center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	flex-wrap: wrap;
}
.products__sort li {
	font-size: 16px;
	margin: 0 25px 10px;
}
.products__sort li label {
	cursor: pointer;
	display: block;
	position: relative;
}
.products__sort li label::after {
	content: "";
	height: 3px;
	overflow: hidden;
	display: block;
}
.products__sort li label .ic-arrow {
	content: "";
	display: block;
	width: 12px;
	height: 9px;
	margin: .5em auto 10px;
	fill: #fff;
}
.products__sort li label:hover {
	color: #F0DA5F;
}
.products__sort li label.is-checked {
	border-color: #F0DA5F;
	color: #F0DA5F;
	pointer-events: none;
}
.products__sort li label.is-checked:after {
	background-color: #F0DA5F;
}
.products__sort li label:hover .ic-arrow,
.products__sort li label.is-checked .ic-arrow {
	fill: #F0DA5F;
}
.product__lead {
}
.product__lead > div {
	display: none;
	opacity: 0;
	max-width: 905px;
	margin: 0 auto 58px;
	padding: 0 25px;
}
.product__lead > div h2 {
	visibility: hidden;
	position: absolute;
}
.product__lead > div.is-checked {
	opacity: 1;
}
.products__wrap {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	max-width: 1200px;
	margin: auto;
	overflow: hidden;
	padding-bottom: 100px;
}
.product {
	width: 300px;
	margin: 0 50px 120px;
}
.product .img {
	width: 300px;
	height: 500px;
	display: block;
	position: relative;
    -webkit-transition-duration:0.2s;
    -moz-transition-duration:0.2s;
    -ms-transition-duration:0.2s;
    -o-transition-duration:0.2s;
    transition-duration:0.2s;
  animation: float_2979 2s ease-in infinite;
  transform-origin: 50% 50%;
}
@keyframes float_2979 {
  0% { transform: translateY(0) }
  33.33333% { transform: translateY(-6px) }
  66.66667% { transform: translateY(0) }
  100% { transform: translateY(0) }
}
.product .img figure {
	position: absolute;
	width: 240px;
	display: block;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
.product .img.img-yoko figure {
	width: 300px;
}
.product .img figure .img-shadow {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	pointer-events: none;
	border-radius: 30px;
	top: -5px;
	left: 5px;
	background: #000;
	filter: blur(12px);
	transform: translateY(12px);
	mix-blend-mode: multiply;
	z-index: -1;
}
.product .text {
	text-align: left;
}
.product .text h2 {
	font-size: 22px;
	line-height: 1.36;
	font-weight: bold;
	margin-bottom: .8em;
}
.product .text .icon-label {
	font-size: 14px;
	line-height: 1;
}
.product .text .icon-label > span {
	background: #ffffff;
	color: #222222;
	display: inline-block;
	padding: .33em .8em;
}
.product .text .icon-label + p {
	margin-top: 1em;
}
.product .text .tx-url {
	font-size: 14px;
	line-height: 1.3;
}
.product .text .tx-url a {
	display: inline-block;
	position: relative;
	padding-left: 34px;
}
.product .text .tx-url a::before,
.product .text .tx-url a::after {
	content: "";
	display: block;
	width: 18px;
	height: 10px;
	background: #222;
	border: 2px solid #fff;
	border-radius: 2px;
	top: 4px;
	left: 0;
	position: absolute;
}
.product .text .tx-url a::after {
	top: 0;
	left: 4px;
}
.grid-item {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
@keyframes filterHide {
  0% {
    opacity : 1;
	transform: scale(1) !important;
  }
  100% {
    opacity : 0;
	transform: scale(0) !important;
		display: none !important;
  }
}
@media (min-width: 751px) and (max-width: 1220px) {
	.products__wrap {
		max-width: 900px;
	}
}
@media (min-width: 1110px) {
	.grid:not(.filter-show) .product:nth-of-type(3n + 2) .img,
	.grid.filter-show .product.filter-show .img {
  	animation: float_2979 4s ease-in infinite;
	}
	.grid:not(.filter-show) .product:nth-of-type(3n + 3) .img,

	.grid.filter-show .product.filter-show + .product .img {
  	animation: float_2979 3s ease-in infinite;
	}
}
@media (min-width: 1221px) {
	.grid:not(.filter-show) .product:nth-of-type(3n + 2),
	.grid.filter-show .product.filter-show {
		margin-top: 100px;
	}
}
@media (min-width: 921px) and (max-width: 1100px) {
	.products__sort {
    -webkit-justify-content: space-around;
    justify-content: space-around;
    flex-wrap: nowrap;
	}
	.products__sort li {
		margin: 0 0 10px;
	}
}
@media (min-width: 751px) and (max-width: 920px) {
	.products__sort {
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	.products__sort li {
		width: calc(33.33% - 50px);
	}
}
@media (min-width: 751px) and (max-width: 840px) {
	.products__wrap {
		margin: 0 2vw;
	}
	.product {
		width: 40vw;
		margin: 0 3vw 75px;
	}
	.product .img {
		width: 40vw;
		height: 66.6vw;
		display: block;
		position: relative;
	}
	.product .img figure {
		width: 80%;
	}
	.product .img.img-yoko figure {
		width: 100%;
	}
}
@media (max-width: 750px) {
	.products__sort {
		margin: 0 18px 50px;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	.products__sort li {
		width: calc(50% - 36px);
		font-size: 14px;
		margin: 0 18px 20px;
	}
	.products__sort li label {
		margin: 0 -1em;
		white-space: nowrap;
	}
	.products__sort li label::after {
		margin: 0 1em;
	}
	.products__wrap {
		margin: 0 2vw;
		padding-bottom: 50px;
	}
	.product {
		width: 40vw;
		margin: 0 2.5vw 75px;
	}
	.product .img {
		width: 40vw;
		height: 66.6vw;
		display: block;
		position: relative;
	}
	.product .img figure {
		width: 80%;
	}
	.product .img.img-yoko figure {
		width: 100%;
	}
	.product .img figure .img-shadow {
		border-radius: 10px;
		top: -5px;
		left: 5px;
		filter: blur(8px);
		transform: translateY(8px);
	}
	.product:nth-of-type(3n + 2) .img {
  	animation: float_2979 4s ease-in infinite;
	}
	.product:nth-of-type(3n + 3) .img {
  	animation: float_2979 3s ease-in infinite;
	}
	.product .text h2 {
		font-size: 16px;
	}
	.product .text .note,
	.product .text .icon-label,
	.product .text .tx-url {
		font-size: 10px;
	}
	.product .text .tx-url a {
		padding-left: 25px;
	}
	.product .text .tx-url a::before,
	.product .text .tx-url a::after {
		width: 14px;
		height: 9px;
		border-width: 1px;
		border-radius: 1px;
		top: 3px;
	}
	.product .text .tx-url a::after {
		top: 0;
		left: 3px;
	}
}

/* form */
.fred {
	color: #d93025;
}
.form-end {
	display: none;
	text-align: center;
}
.sec-form input[type=radio], .sec-form input[type=checkbox] {
  display: none !important;
}
.sec-form .icon-btn {
	position: relative;
  width: 1em;
  height: 1em;
  border: 2px solid #fff;
	display: inline-block;
	margin-right: .8em;
	vertical-align: middle;
	margin-top: -.2em;
}

.btn-radio .icon-btn {
	border-radius: 50%;
}
.btn-radio input[type=radio]:checked + .icon-btn {
  background-color: #F0DA5F;
}

.btn-checkbox .icon-btn:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: .2em;
  display: block;
  margin-top: -.5em;
  width: .2em;
  height: .5em;
  border-right: 3px solid #F0DA5F;
  border-bottom: 3px solid #F0DA5F;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
 .btn-checkbox input[type=checkbox]:checked + .icon-btn:before {
  opacity: 1;
}

.sec-form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	background-image: url("../img/icon_arrow01.svg");
	background-repeat: no-repeat;
	background-size: 11.1px 8.88px;
	background-position: right .8em center;
}
.sec-form select::-ms-expand {
    display: none;
}
.sec-form .hide {
	display: none;
}
.sec-form .sec-poricy {
	text-align: center;
	margin: 47px 0 98px;
}
.sec-form .sec-poricy .btn-checkbox {
	margin-top: 2em;
	display: inline-block;
}
.fm_table{
	width: 100%;
	margin: 10px auto 50px;
}
.fm_table dt{
	padding: 1em 0;
	font-weight: bold;
}
.fm_table dt .note{
	font-weight: normal;
	color: #ccc;
}
.fm_table dd .del{
color: #ccc;
}
.fm_table dd{
	padding: 0 0 1em;
}
.fm_table .note.alert{
	display: block;
	font-weight: normal;
	color: #d93025;
}
.fm_table input, .fm_table optgroup, .fm_table select, .fm_table textarea {
 width: 100%;
	background-color: #1A1A1A;
	color: #fff;
	border: 0;
	padding: .3em .5em .2em;
	box-sizing: border-box;
}
.fm_table .other_option {
	width: auto;
	vertical-align: middle;
	margin-left: .5em;
}
.fm_table label {
	display: inline-block;
	padding: 0 1em 0 1em;
	margin: 0 1em .5em 0;
}
.fm_table input[type="radio"] {
	width: auto;
}
.fmalert {
	outline: 1px solid #d93025;
}
.fm_button {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
}
.fm_button button {
	width: 49%;
	height: 150px;
	background: none;
	border: none;
	border: 2px solid #9F232B;
	color: #fff;
	font-size: 22px;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
}
.fm_button button.btn-check {
	width: 100%;
}
.fm_button button.btn-check.btn-nocheck {
	pointer-events: none;
	opacity: .5;
}
@media (max-width: 750px) {
	.fm_table input, .fm_table optgroup, .fm_table select, .fm_table textarea {
		padding: .8em .5em .6em;
	}
	.fm_table dt {
		padding-top: 0;
	}
	.fm_table label {
		margin-right: 0;
	}
	.fm_table .fm_tr + .fm_tr {
		margin-top: 2.5em;
	}
	.fm_button button {
		font-size: 14px;
		height: 64px;
		border-width: 1px;
	}
}

/* page */
.sec-page {
	padding: 1px 0 250px;
}
.sec-page::before {
	content: "";
	width: 100%;
	min-width: 1500px;
	height: 130vw;
	pointer-events: none;
	display: block;
	position: absolute;
	background:50% 0 no-repeat;
	background-size: 100%;
	left: 50%;
	top: -20vw;
	z-index: -1;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
.sec-page .inner {
	max-width: 1160px;
	padding: 0 30px;
}
.sec-page a {
  color: #F0DA5F;
}
.sec-page .lead {
	font-weight: bold;
	font-size: 30px;
	line-height: 1.33;
	margin: 0 0 1.5rem;
}
.sec-page .sec-lead {
	max-width: 900px;
	margin: 90px auto;
}
.sec-page .sec-text {
	margin: 90px 0;
}
@media (min-width: 751px) and (max-width: 1160px) {
	.sec-page::before {
		min-width: calc(100% * 1500 / 1160);
	}
}
@media (max-width: 750px) {
	.sec-page {
		padding: 1px 0 150px;
	}
	.sec-page::before {
		min-width: calc(100% * 1500 / 750);
	}
	.sec-page .lead {
		font-size: 20px;
	}
	.sec-page .sec-lead {
		margin: 70px 0;
	}
	.sec-page .sec-text {
		margin: 70px 0;
	}
}
/* page-works */
.page-works .sec-page {
	padding-bottom: 1px;
}
.page-works .sec-page::before {
	height: 2119px;
	height: calc(100% * 2119 / 1500);
	top: calc(100vw * -313 / 1500);
	background-image: url("../img/works/bg01.png");
}
.page-works .sec-text {
	text-align: center;
	padding: 0 4%;
}
.page-works .sec-text p {
	display: inline-block;
	margin: auto;
	text-align: left;
}

/* page-poricy */
.page-poricy .sec-page::before {
	display: none;
}
/* page-about */
.page-about .sec-page::before {
	height: 2293px;
	height: calc(100% * 2293 / 1500);
	top: calc(100vw * -341 / 1500);
	background-image: url("../img/about/bg01.png");
}
.sec-map {
  margin: 75px 0 40px;
	padding: 0 0 550px;
	position: relative;
}
.sec-map iframe {
	position: absolute;
	width: 100%;
	height: 100%;
}
.page-about .list-detail + .list-detail {
  margin-top: 2em;
}
.page-about .list-detail dt {
	font-weight: 600;
	margin-bottom: .3em;
}
.page-about .list-detail .list {
	margin: 0;
}
.page-about .text-pc-col2 {
	margin-top: 8em;
}
.page-about .ti03 + .text-pc-col2 {
	margin-top: 0;
}
@media (max-width: 750px) {
	.page-about .sec-page::before {
		height: calc(100vw * 2293 / 750);
		top: calc(100vw * -230 / 750);
	}
	.sec-map {
		margin: 50px 0 25px;
		padding: 0 0 85%;
	}
	.page-about .list-detail + .list-detail {
		margin-top: 20px;
	}
}
/* page-contact */
.page-contact .sec-page .inner {
	max-width: 900px;
}
.page-contact .sec-page::before {
	background-image: url("../img/contact/bg01.png");
	height: 100%;
	max-height: calc(100% * 1775 / 1500);
	top: calc(100vw * -336 / 1500);
}
@media (max-width: 750px) {
	.page-contact .sec-page::before {
		max-height: calc(100vw * 1775 / 750);
		top: calc(100vw * -221 / 750);
	}
}
/* page-entry */
.page-entry .sec-page::before {
	background-image: url("../img/entry/bg01.png");
	height: 1447px;
	height: calc(100% * 1447 / 1500);
	top: calc(100vw * -152 / 1500);
}
.page-entry .sec-page .inner {
	max-width: 900px;
}
@media (max-width: 750px) {
	.page-entry .sec-page::before {
		height: calc(100vw * 1447 / 750);
		top: calc(100vw * -152 / 750);
	}
}
/* page-mcs */
.page-mcs .sec-page::before {
	background-image: url("../img/mcs/bg01.png");
	height: 2453px;
	height: calc(100% * 2453 / 1500);
	top: calc(100vw * -489 / 1500);
}
.page-mcs .sec-tab .sec-text {
	margin: 40px 0 50px;
}
.page-mcs .sec-tab .list-links {
	margin: 80px auto 10px;
}
.page-mcs .sec-tab .text-pc-col3 .ti05 {
	margin-top: 2em;
}
.page-mcs .sec-tab .text-pc-col2.img {
	margin-top: 100px;
}
.page-mcs .sec-tab .text-pc-col3 .img + .ti05 {
	margin-top: 1em;
}
.page-mcs #location {
	margin-top: 150px;
}
.page-mcs #location .ti04 .fs-s {
	font-size: 22px;
}
.page-mcs #location .sec-map {
	margin-top: 100px;
}
.page-mcs #contact {
	background: #1A1A1A;
	margin-top: 200px;
	padding: 100px 0 90px;
}
.page-mcs #contact .ti04 {
	text-align: center;
	margin: 0 0 50px;
}
.page-mcs #contact .ti05 {
	margin-top: 0;
}
.page-mcs #contact ul.list-links {
	margin-top: 90px;
	margin-bottom: 0;
}
.page-mcs #contact ul.list-links .btn01 {
	margin: 20px auto 0;
}
@media (min-width: 751px) {
	.page-mcs .sec-tab .text-pc-col3 > * {
		width: 30%;
		max-width: 300px;
	}
	.page-mcs .sec-tab .text-pc-col2.img > * {
		width: 50%;
	}
	.page-mcs #contact .text-pc-col2 > * {
		width: 50%;
		padding-left: 22%;
	}
	.page-mcs #contact .text-pc-col2 > * + * {
		border-left: 1px solid #555555;
		padding-left: 8%;
	}
	
}
@media (max-width: 750px) {
	.page-mcs .sec-page::before {
		height: calc(100vw * 2453 / 750);
		top: calc(100vw * -489 / 750);
	}
	.page-mcs #location {
		margin-top: 100px;
	}
	.page-mcs #location .ti04 {
		font-size: 20px;
		margin-right: -.5em;
	}
	.page-mcs #location .ti04 .fs-s {
		font-size: 15px;
	}
	.page-mcs #location .sec-map {
		margin-top: 50px;
	}
	.page-mcs #contact {
		margin: 100px -15px 0;
		padding: 50px 15px 45px;
	}
	.page-mcs #contact .ti04 {
		margin: 0 0 25px;
	}
	.page-mcs #contact ul.list-links {
		margin-top: 45px;
	}
	.page-mcs #contact ul.list-links .btn01 {
		margin: 10px auto 0;
	}
}
/* page-recruit */
.page-recruit .sec-page::before {
	background-image: url("../img/recruit/bg01.png");
	height: 1447px;
	height: calc(100% * 1447 / 1500);
	top: calc(100vw * -152 / 1500);
}
.page-recruit .list-detail {
	border-bottom: 1px solid #555555;
	padding-bottom: 2em;
}
.page-recruit .list-detail + .list-detail {
  margin-top: 2em;
}
.page-recruit .list-detail dt {
	font-weight: 600;
	margin-bottom: .3em;
}
.page-recruit .list-detail .list {
	margin: 0;
}
.page-recruit .text-pc-col1 {
	margin-bottom: 100px;
}
@media (min-width: 751px) {
	.page-recruit .list-detail {
		display: -webkit-flex;
		display: flex;
	}
	.page-recruit .list-detail dt {
		width: 8em;
	}
}
@media (max-width: 750px) {
	.page-recruit .sec-page::before {
		height: calc(100vw * 1447 / 750);
		top: calc(100vw * -152 / 750);
	}
	.page-recruit .list-detail {
		padding-bottom: 40px;
	}
	.page-recruit .list-detail + .list-detail {
		margin-top: 40px;
	}
	.page-recruit .list-detail dt {
		margin-bottom: 20px;
	}
	.page-recruit .text-pc-col1 {
		margin-bottom: 75px;
	}
}
/* page-service */
.page-service .sec-page::before {
	background-image: url("../img/service/bg01.png");
	height: 2032px;
	height: calc(100% * 2032 / 1500);
	top: calc(100vw * -376 / 1500);
}
@media (max-width: 750px) {
	.page-service .sec-page::before {
		height: calc(100vw * 2032 / 750);
		top: calc(100vw * -376 / 750);
	}
	.page-service .sec-tab .list-links {
		margin: 60px auto 0;
	}
}
/* 404 */
.page-404 .text {
	text-align: center;
}
.page-404 .text .list {
	display: table;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 750px) {
	.page-404 .text .list {
		text-align: left;
	}
}

/* parallax */
.js-scroll-animations > * {
	position: relative;
	opacity: 0;
	transform: translate(0, 100px);
	transition: transform 2s cubic-bezier(0.155, 0.910, 0.695, 0.950), opacity 2s cubic-bezier(0.155, 0.910, 0.695, 0.950);
}
.sec-top,
.sec-cafe{
	position: relative;
	opacity: 0;
	transform: translate(0, 200px);
	transition: transform 1s cubic-bezier(0.155, 0.910, 0.695, 0.950), opacity 1s cubic-bezier(0.155, 0.910, 0.695, 0.950);
}
.sec-top .text_column,
.sec-top .ti {
	overflow: hidden;
}
.sec-top:not(#mainvisual) .ti span {
	transform: translate(0, 105%);
	transition: .3s transform ease;
}
.sec-top .text {
	overflow: hidden;
	transform: translate(0, 105%);
	transition: .3s transform .3s ease;
}
.sec-top:not(#mainvisual) .ti span,
.sec-top .is-animation .text {
	transform: translate(0, 0);
}
.sec-top .is-animation-end .ti span {
	transition: .3s transform .3s ease;
}
.sec-top .is-animation-end .text {
	transition: .3s transform ease;
}
.js-scroll-animations > *.is-animation,
.js-scroll-animations-top > *.is-animation {
	opacity: 1;
	transform: translate(0, 0);
}

.sec-top#mainvisual{
  opacity : 1;
	transform: translate(0);
}
.sec-top#mainvisual .ti span {
	transform: translate(0, 110%);
	animation: .3s mainvisualIn2 1.5s ease forwards;
}
.sec-top#mainvisual .img-bg img {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
	animation: .3s mainvisualGray 1.3s ease forwards;
}
@keyframes mainvisualIn2 {
  0% {
	transform: translate(0, 110%);
  }
  100% {
		transform: translate(0, 0);
  }
}
@keyframes mainvisualGray {
  0% {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
  }
  100% {
	-webkit-filter: grayscale(0);
	-moz-filter: grayscale(0);
	-ms-filter: grayscale(0);
	-o-filter: grayscale(0);
	filter: grayscale(0);
  }
}

/* #mainvisual svg anime */
.img-mask {
	position: absolute;
	width: 100%;
	height: 100%;
	right: 0;
	top: 0;
	overflow: hidden;
	z-index: 2;
	pointer-events: none;
}
.svg-mask {
	width: 100%;
	height: 100%;
	overflow: visible;
	display: block;
}
.svg-mask .mask-base {
    fill: #222222;
}
.svg-mask mask .mask-base{
  fill: #ffffff;
}
.svg-mask mask .mask-fill{
  fill: #000000;
}
#svg-im01.svg-mask .mask-fill,
#svg-im01sp.svg-mask .mask-fill {
	transform-origin: right center;
	opacity: 0;
}
.is-animation #svg-im01.svg-mask .mask-im01_03{
	animation: .2s maskIm01 .5s linear forwards;
}
.is-animation #svg-im01.svg-mask .mask-im01_01{
	animation: .2s maskIm01 .6s linear forwards;
}
.is-animation #svg-im01.svg-mask .mask-im01_02{
	animation: .2s maskIm01 .65s linear forwards;
}
.is-animation #svg-im01sp.svg-mask .mask-im01_01{
	animation: .2s maskIm01 .6s linear forwards;
}
.is-animation #svg-im01sp.svg-mask .mask-im01_02{
	animation: .2s maskIm01 .65s linear forwards;
}
@keyframes maskIm01 {
  100% {
	opacity: 1;
  }
}
.svg-mask .mask-base#base-im01 {
    -webkit-mask: url(#mask-im01);
    mask: url(#mask-im01);
}
.svg-mask .mask-base#base-im02 {
    -webkit-mask: url(#mask-im02);
    mask: url(#mask-im02);
}
.svg-mask .mask-base#base-im03 {
    -webkit-mask: url(#mask-im03);
    mask: url(#mask-im03);
}
.svg-mask .mask-base#base-im04 {
    -webkit-mask: url(#mask-im04);
    mask: url(#mask-im04);
}
.svg-mask .mask-base#base-im05 {
    -webkit-mask: url(#mask-im05);
    mask: url(#mask-im05);
}
.svg-mask .mask-base#base-im06 {
    -webkit-mask: url(#mask-im06);
    mask: url(#mask-im06);
}

.svg-mask .mask-base#base-im01sp {
    -webkit-mask: url(#mask-im01sp);
    mask: url(#mask-im01sp);
}
.svg-mask .mask-base#base-im02sp {
    -webkit-mask: url(#mask-im02sp);
    mask: url(#mask-im02sp);
}
.svg-mask .mask-base#base-im03sp {
    -webkit-mask: url(#mask-im03sp);
    mask: url(#mask-im03sp);
}
.svg-mask .mask-base#base-im04sp {
    -webkit-mask: url(#mask-im04sp);
    mask: url(#mask-im04sp);
}
.svg-mask .mask-base#base-im05sp {
    -webkit-mask: url(#mask-im05sp);
    mask: url(#mask-im05sp);
}
.svg-mask .mask-base#base-im06sp {
    -webkit-mask: url(#mask-im06sp);
    mask: url(#mask-im06sp);
}