@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[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-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}


@font-face {
    font-family: "Helvetica Neue";
    font-style: normal;
    font-weight: 600;
    src: url(fonts/HelveticaNeueBold.woff) format('woff'),
    url(fonts/HelveticaNeueBold.ttf) format('truetype'),
    url(fonts/HelveticaNeueBold.eot) format('embedded-opentype')
}
@font-face {
    font-family: "Helvetica Neue";
    font-style: normal;
    font-weight: 500;
    src: url(fonts/HelveticaNeueMedium.woff) format('woff'),
    url(fonts/HelveticaNeueMedium.ttf) format('truetype'),
    url(fonts/HelveticaNeueMedium.eot) format('embedded-opentype')
}
@font-face {
    font-family: "Helvetica Neue";
    font-style: normal;
    font-weight: 400;
    src: url(fonts/HelveticaNeueRegular.woff) format('woff'),
    url(fonts/HelveticaNeueRegular.ttf) format('truetype'),
    url(fonts/HelveticaNeueRegular.eot) format('embedded-opentype')
}
@font-face {
    font-family: "Helvetica Neue";
    font-style: italic;
    font-weight: 400;
    src: url(fonts/HelveticaNeueItalic.woff) format('woff'),
    url(fonts/HelveticaNeueItalic.ttf) format('truetype'),
    url(fonts/HelveticaNeueItalic.eot) format('embedded-opentype')
}
@font-face {
    font-family: "Helvetica Neue";
    font-style: normal;
    font-weight: 300;
    src: url(fonts/HelveticaNeueLight.woff) format('woff'),
    url(fonts/HelveticaNeueLight.ttf) format('truetype'),
    url(fonts/HelveticaNeueLight.eot) format('embedded-opentype')
}
@font-face {
    font-family: "Helvetica Neue";
    font-style: normal;
    font-weight: 200;
    src: url(fonts/HelveticaNeueThin.woff) format('woff'),
    url(fonts/HelveticaNeueThin.ttf) format('truetype'),
    url(fonts/HelveticaNeueThin.eot) format('embedded-opentype')
}


/*
@font-face {
    font-family: "MS Mincho";
    font-style: normal;
    font-weight: 300;
    src: url(fonts/MSMincho.woff) format('woff'),
    url(fonts/MSMincho.ttf) format('truetype'),
    url(fonts/MSMincho.eot) format('embedded-opentype')
}
*/



/* Layout
===============================================*/
html {
	width: 100%;
	height: 100%;
}
html :where(img) {
	max-width: none;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	width: auto!important;
	height: 100%;
	background: #000;
	color: #333;
	overflow-x: hidden;
/* 	font-family: "Helvetica Neue","NotoSans CJK JP","Hiragino Kaku Gothic ProN",Meiryo, Arial,sans-serif; */
/* 	font-family: "Helvetica Neue",Meiryo, Arial,sans-serif; */
	font-family: "Noto Sans Thai","Hiragino Kaku Gothic ProN",Meiryo, Arial,sans-serif;
	display: block;
	-webkit-backface-visibility: "hidden";
	backface-visibility: "hidden";
	-webkit-tap-highlight-color: transparent;
	outline: none;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.025em;
}
.en {
	font-family: "Helvetica Neue",Meiryo, Arial,sans-serif;
}
.preload,.preload * {
	transition: none !important;
	-webkit-transition: none !important;
}
.noanimation * {
	animation: none !important;
}
@media screen and (max-width:880px) {
	.noanimation * {
		animation: none !important;
	}
}
main {
	position: relative;
	width: 100%;
	background-color: #fff;
	min-height: calc(100vh - 200px);/* footer height */
/* 	padding-bottom: 120px; */
}
main#top {
	background-color: transparent;
	padding-bottom: 0;
}
.iScrollIndicator {
	display: none !important;
}
.no-scroll {
	overflow: hidden;
}

video {
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%); /* for iOS and Chrome */
	-ms-transform: translate(-50%,-50%); /* for IE */
	-moz-transform: translate(-50%,-50%); /* for Firefox */
	-o-transform: translate(-50%,-50%); /* for Opera */
	width: auto;
	height: auto;
	position: absolute;
	filter: grayscale(100%);
}
img {
	width: 100%;
	height: auto;
}

/*
video#sp {
	display: none;
}
video#pc {
	display: block;
}
@media screen and (max-width:991px) {
	video#sp {
		display: block;
	}
	video#pc {
		display: none;
	}
}
*/
video.w-100 {
	width: 100%;
}
video.h-100 {
	height: 100%;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	font-weight: 400;
}
h2 {
	font-weight: 300;
	letter-spacing: 0.05em;
	font-size: 28px;
}

h3 {
	font-size: 24px;
}
h4 {
	font-size: 18px;
}

@media screen and (max-width:575px) {
	
	h2 {
		font-size: 24px;
	}
	h3 {
		font-size: 20px;
	}
	h4 {
		font-size: 16px;
	}
}
p {
	font-size: 14px;
	margin: 0;
	letter-spacing: 0.04em;
	line-height: 1.3;
}
.loop-section__inner p {
/* 	font-size: 14px; */
}
.footer p {
	font-size: 12px;
}
#works-single p {
/* 	font-size: 14px; */
}
.font_light {
	font-weight: 300;
}
.font_medium {
	font-weight: 500;
}

a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
	outline: none;
	text-decoration: none;
	color: #222;
	transition: ease-in-out 0.25s;
	-webkit-transition: ease-in-out 0.25s;
}
a:hover {
/* 	opacity: 0.8; */
}
a:hover,
a:active,
a:visited,
a:focus {
	color: #222;
	outline: none;
}
button.nolink {
	pointer-events: none;
	opacity: 0.4;
}
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
	border: none;
}
a.nolink {
	pointer-events: none;
	opacity: 0.4;
}
.menu-item.nolink a {
	pointer-events: none;
	opacity: 0.4;
}
.btnbox.nolink {
	pointer-events: none;
	opacity: 0.4;
}
*,*:focus,*:hover,*:active {
	outline: none;
	tap-highlight-color: rgba(0,0,0,0);
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

* {
	scrollbar-width: thin;
	scrollbar-color: #999 transparent;
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea,select {
	color: #666;
	border: none;
	border-radius: 0;
	padding: 0;
/* 	padding: 10px 10px; */
/* 	width: 100%; */
}
input {
	letter-spacing: 0.05em;
}


select {
	appearance: none;
	-webkit-appearance: none;;
}


.sidebar::-webkit-scrollbar {
	width: 6px;
}
.sidebar::-webkit-scrollbar-track { /* background */
	background-color: transparent;
}
.sidebar::-webkit-scrollbar-thumb {
	background-color: rgba(0,0,0,0.4);
	border-radius: 10px;
}

ul,li {
	margin: 0;
	padding: 0;
	list-style: none;
}

figure {
	margin: 0;
	padding: 0;
}

@media screen and (max-width:810px) {
	.pc-none{display: block !important;}
	.sp-none{display: none !important;}
}
@media screen and (min-width:811px) {
	.pc-none{display: none !important;}
	.sp-none{display: block !important;}
}
@media screen and (max-width:575px) {
	.br-pc{display:none;}
	.br-sp{display:block;}
}
@media screen and (min-width:576px) {
	.br-pc{display:block;}
	.br-sp{display:none;}
}

@media screen and (max-width:810px) {
	.br-tb{display:block;}
}
@media screen and (min-width:811px) {
	.br-tb{display:none;}
}


/* ---------------loading-background------------------ */
#contents {
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 101;
	background-color: #333;
}
.loading__img {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 102;
	font-size: 12px;
	color: #fff;
	width: 120px;
	height: auto;
}
/*
#cmplz-cookiebanner-container {
	background-color: rgba(0,0,0,0.4);
	width: 100%;
    height: 100%;
    z-index: 102;
    position: fixed;
}
*/
.cmplz-cookiebanner {
	z-index: 201 !important;
}
.cmplz-cookiebanner {
	left: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform: translateX(0) !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	border-radius: 23px !important;
}
@media screen and (max-width:575px) {
	.loading__img {
		width: 100px;
	}
}
#top {
	z-index: 1;
}


/* mv */
.mv {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.mv_inner {
	overflow: hidden;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}


/*
.mv {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: none;
    z-index: 1;
}
.mv__inner {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    background-color: none;
    z-index: 1;
    height: 100%;
}
*/


.mv__slider {
	
}

.mv__caption {
	position: absolute;
	left: 80px;
	left: 0px;
	top: 40%;
/* 	width: calc(100% - 140px); */
	width: 100%;
	padding-left: 80px;
	padding-right: 60px;
/* 	max-width: 1180px; */
	margin-left: auto;
	margin-right: auto;
/* 	max-width: 280px; */
	color: #fff;
    transition: opacity 0.5s ease-in-out;
    -webkit-transition: opacity 0.5s ease-in-out;
    z-index: 2;
}

/*
.mv__caption.is-out {
	filter: blur(20px);
	filter: blur(20px);
	opacity: 0;
}
.mv__caption.is-in {
	opacity: 1;
	filter: blur(0px);
}
*/
.mv__caption_subttl {
	display: inline-block;
	font-size: 14px;
	font-weight:500;
	margin-bottom: 20px;
}
.mv__caption_ttl {
	font-size: 36px;
	line-height: 1.2;
	margin-bottom: 15px;
}
.mv__caption_subttl span {
	border-bottom: solid #fff 1px;
}

.story__caption_subttl {
	display: inline-block;
	font-size: 14px;
	font-weight:500;
	margin-bottom: 20px;
}
.story__caption_ttl {
	font-size: 36px;
	line-height: 1.2;
	margin-bottom: 15px;
}

.story__caption_subttl span {
	border-bottom: solid #fff 1px;
}

#page-story .story__caption_subttl span {
	border-bottom: solid #333 1px;
}

.mv__caption_txt {
	max-width: 460px;
/* 	line-height: 1.333; */
	margin-bottom: 20px;
/*
	font-size: 22px;
	margin-bottom: 4px;
	letter-spacing: 0.025em;
	line-height: 1.3333;
*/
}
.story__caption_txt {
	max-width: 460px;
/* 	line-height: 1.333; */
}
.mv__caption_subtxt {
/* 	font-size: 12px; */
/*
	max-width: 460px;
	line-height: 1.333;
	margin-bottom: 20px;
*/
}
.section__subttl {
	font-size: 28px;
	line-height: 1.2;
	margin-bottom: 15px;
}

.section__ttl {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 20px;
}
.section__ttl span {
	padding-bottom: 0px;
	border-bottom: solid #000 1px;
}

.module__box_ttl {
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 15px;
}
.module__box_subttl {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 20px;
}
.module__box_subttl span {
	border-bottom: solid #000 1px;
}
#page-story .module__box_ttl {
	margin-bottom: 30px;
}
#page-story .section__subttl {
	margin-bottom: 20px;
}


.module__box_txt {
	margin-bottom: 20px;
}
#page-story .module__box_txt {
	margin-bottom: 30px;
}
.section__ttl-white {
	color: #fff;
}
.section__ttl-white span {
	border-bottom: solid #fff 1px;
}

.module__right.story__img {
	text-align: center;
}
.story__img img {
	max-width: 400px;
}

@media screen and (max-width:810px) {
	
	.mv__caption {
		padding-left: 30px;
		padding-right: 30px;
	}
	#story .module__right.story__img {
		float: right;
		margin-top: -80px;
		width: calc(100% - 100px);
	}
	.module__right.story__img {
	}
	.story__img img{
		max-width: 320px;
/*
		position: absolute;
		top: -100px;
		max-width: 360px;
*/
	}
	
}

@media screen and (max-width:575px) {
	
	.mv__caption_subttl {
		margin-bottom: 10px;
	}
	.mv__caption_ttl {
		font-size: 30px;
		margin-bottom: 15px;
	}
	
	.story__caption_subttl {
		margin-bottom: 10px;
	}
	.story__caption_ttl {
		font-size: 30px;
		margin-bottom: 15px;
	}
	
	.mv__caption_subttl {
	}
/*
	.story__caption_subttl {
		font-size: 12px;
	}
*/
	
	
	.section__subttl {
		margin-bottom: 10px;
	}
	.section__subttl {
/* 		font-size: 22px; */
		font-size: 24px;
		margin-bottom: 10px;
	}
	
	.module__box_ttl {
		font-size: 20px;
		margin-bottom: 10px;
	}
	.module__box_subttl {
		margin-bottom: 10px;
	}
	#page-story .module__box_ttl {
		margin-bottom: 20px;
	}
	
	.story__img img {
		max-width: 240px;
	}

	
	
}




.section {
/* 	max-width: 1600px; */
	overflow: hidden;
	position: relative;
}
.section__inner {
	padding-top: 130px;
	padding-bottom: 130px;
}

.half-section__inner {
	padding-top: 60px;
	padding-bottom: 100px;
}

.loop-section__inner {
	padding-top: 20px;
	padding-bottom: 20px;
}
#story-tile .loop-section__inner {
	padding-top: 0;
	padding-bottom: 120px;
}
#story-tile .loop-section__inner:last-child {
	padding-bottom: 0;
}
#products-single .module__img .loop-section__inner:nth-of-type(1) {
	padding-top: 0;
}

#page-about .loop-section__inner {
	padding-top: 60px;
	padding-bottom: 60px;
}
@media screen and (max-width:810px) {
	.loop-section__inner {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.section__inner {
		padding-top: 100px;
		padding-bottom: 80px;
	}
	
	#story-tile .loop-section__inner {
		padding-bottom: 60px;
	}

}

.page-section__inner {
	padding-top: 120px;
	padding-bottom: 130px;
}
#archive-products .page-section__inner {
	padding-top: 0;
/* 	padding-bottom: 240px; */
}
#works-single .page-section__inner {
	padding-bottom: 40px;
}
#products-single .page-section__inner {
	padding-bottom: 40px;
}

@media screen and (max-width:810px) {
	
	.page-section__inner {
		padding-bottom: 80px;
	}
}
.single-section {
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	background-color: #f5f5f5;
	min-height: 70vh;
}
.single-section__inner {
	padding-top: 50px;
	padding-left: 50px;
	padding-right: 50px;
	padding-bottom: 125px;
}

.main__inner {
	position: relative;
	z-index: 1;
}
@media screen and (max-width:810px) {
	.section__inner {
	}
	
	.single-section__inner {
		padding-top: 30px;
		padding-left: 30px;
		padding-right: 30px;
		padding-bottom: 85px;
	}
	
}
@media screen and (max-width:575px) {
	.section__inner {
	}
	.single-section__inner {
		padding-top: 30px;
		padding-left: 20px;
		padding-right: 20px;
	}
}
/*
.section-block {
	opacity: 0;
	transition-delay: 0;
	transition-duration: 0.5s;
	transition-property: opacity;
}
.section-block.active {
	opacity: 1;
	transition-delay: 0.5s;
	transition-duration: 0.8s;
}
*/

/* Parts - module
------------------------------*/

/* top works section */
.module__slide_bg {
	position: relative;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* story page */
.module-loop {
	padding-top: 60px;
	padding-bottom: 60px;
}
.module-loop:first-child {
	padding-top: 0;
}
.module-loop:last-child {
	padding-bottom: 0;
}
.module-loop:last-child::after {
	display: none;
}
.module-loop::after {
	content: "";
	position: absolute;
	left: 30px;
	bottom: 0;
	width: calc(100% - 60px);
	height: 1px;
	background-color: #999;
}
.module {
	max-width: 1180px;
	padding-left: 30px;
	padding-right: 30px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.nomax.module {
	max-width: none;
}

/* add */
#products-single .section {
	overflow: visible;
	width: 100%;
}
.products-module {
	max-width: 1180px;
	padding-left: 30px;
	padding-right: 30px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
	height: auto;
	justify-content: space-between;
}
.module__sidebar {
    padding: 0 0 0px 0;
    position: sticky;
    top: 40px;
    z-index: 1;
}
.module__sidebar_inner {
}
.module__main {
    padding-left: 20px;
    padding-bottom: 130px;
}

.module__footer {
	position: relative;
	z-index: 0;
}
.module__footer::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 100%;
	background-color: #e1dcda;
	z-index: 0;
}
.module__footer_inner {
	overflow: hidden;
	display: flex;
	align-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
	height: auto;
	justify-content: space-between;
	z-index: 1;
	position: relative;
}
.module__footer_left {
    z-index: 1;
}
.module__footer_right {
    padding-left: 20px;
}

.loop-section__inner {
	width: 100%;
}

@media screen and (max-width:1440px) {
	.module__sidebar {
	    top: 140px;
	}
}
@media screen and (max-width:810px) {
	.products-module {
		display: block;
	}
	.module__sidebar {
		position: relative;
		top: 0;
		height: auto !important;
		padding-bottom: 0;
	}
	.module__main {
		display: block;
		padding-left: 0;
		padding-bottom: 100px;
	}
	.module__footer_left {
		display: none;
	}
	.module__footer_right {
		padding-left: 0;
		display: block;
	}
}
.mv__column {
	position: absolute;
	right: 0;
	bottom: 140px;
	width: 440px;
	background-color: rgba(0,0,0,0.6);
	z-index: 3;
	transition: transform 0.6s ease-in-out, opacity 0.8s ease-in-out;
	-webkit-transition: transform 0.6s ease-in-out, opacity 0.8s ease-in-out;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	transform-origin: top left;
	-webkit-transform-origin: top left;
	opacity: 1;
}
.mv__column.is-slideout {
	transform: translateX(125%);
	-webkit-transform: translateX(125%);
	opacity: 0;
}
.mv__column_inner {
	display: flex;
	align-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	gap-column: 20px;
	height: auto;
	justify-content: space-between;
	padding: 20px;
	color: #999 !important;
}

.mv__column_left {
	width: 120px;
}
.mv__column_right {
	width: calc(100% - 120px);
	padding-left: 20px;
}
.mv__column .mv-column-item__ttl {
	font-size: 16px;
	margin-top: 10px;
}
.mv__column .column-item__cat {
	top: 1px;
}
@media screen and (max-width:810px) {
	.mv__column {
		width: calc(100vw - 30px);
		max-width: 360px;
		bottom: 80px;
	}
	.mv__column_inner {
		padding: 15px;
	}
	.mv__column_left {
		width: 100px;
	}
	.mv__column_right {
		width: calc(100% - 100px);
		padding-left: 15px;
	}
	.mv__column .mv-column-item__ttl {
		font-size: 14px;
		margin-top: 5px;
	}
	.mv__column .column-item__cat {
		margin-left: 5px;
	}
}



.module__wrapper {
	overflow: hidden;
	position: relative;
}
.module__left {
	float: left;
}
.module__right {
	position: relative;
	float: right;
	padding-left: 20px;
}
.module-flex {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex-wrap: wrap;
	justify-content: space-between;
}
.module-flex .module__half {
	display: flex;
	flex-direction: column;
}
.module-flex .module__box_txt {
	flex-grow: 1;
}
.module-flex .module__half .grid-wrapper {
	margin-top: -10px;
}
.module__inner {
	max-width: 740px;
	margin-left: auto;
	margin-right: auto;
}
.module__box {
	width: calc(50% - 10px);
	max-width: 550px;
	padding: 30px;
	background-color: #fff;
}
.module__half {
	width: calc(50% - 30px);
	max-width: 550px;
}
.module__txt {
	width: 360px;
}
.module__img {
	width: 720px;
}
.module__ttl {
	font-weight: 500;
	display: block;
	border-bottom: 1px solid #000;
	font-size: 14px;
	padding-bottom: 4px;
	margin-bottom: 8px;
}
#page-story .module__ttl {
	margin-bottom: 30px;
}
@media screen and (max-width:1160px) {
	.module__txt {
		width: calc(100% / 3 - 10px);
	}
	.module__img {
		width: calc(100% / 3 * 2 - 10px);
	}
}

@media screen and (max-width:810px) {
	.module__left {
		float: none;
	}
	.module__right {
		float: none;
		padding-left: 0;
	}
	.intro-module.module {
		display: block;
	}
	#story .module__left {
	}
	#story-intro .module {
		display: block;
	}
	#story .module__left {
	}
	.module__txt {
		width: 100%;
		margin-bottom: 20px;
	}
	.module__img {
		width: 100%;
	}
	.module-flex {
		display: block;
	}
	.module__box {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding: 20px;
	}
	.module__box:nth-of-type(1) {
		margin-bottom: 30px;
	}
	.module__half {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.module__half:nth-of-type(1) {
		margin-bottom: 60px;
	}
}

.fleximg-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
.fleximg {
	width:calc(50% - 20px);
}
#story-kiln .section__inner {
	padding-top: 100px;
	padding-bottom: 80px;
}
@media screen and (max-width:991px) {
		
	.fleximg-wrapper {
		flex-direction: column;
		align-items: center;
	}
	.fleximg {
		width:calc(50% - 20px);
	}
	
}

@media screen and (max-width:810px) {
	
	#story-kiln .section__inner {
		padding-top: 60px;
		padding-bottom: 40px;
	}
	
	#story-kiln .module__half:nth-of-type(1) {
		margin-bottom: 60px;
	}
	
	#story-tile .module__ttl {
		max-width: 550px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width:575px) {
	#page-story .module__ttl {
		margin-bottom: 20px;
	}
}

/* mv */

.mv__caption.inactive {
	opacity: 0;
}
.mv .swiper-pagination.inactive {
	opacity: 0;
}

/* bg */

.bg {
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh; /* fall back */
	overflow: hidden;
	backface-visibility: "hidden";
	-webkit-backface-visibility: "hidden"; /* for iOS and Chrome */
	z-index:0;
	background-color: #000;
	position: fixed;
/*
	position: fixed;
	margin-top: 0 !important;
*/
/*
	position: sticky;
	margin-top:-100vh;	
*/
}

.bg::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.15);
}

.bg__overlay {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
/*
	z-index: 1;
	opacity: 1;
	background-color: rgba(0,0,0,0.15);
*/
	z-index: 3;
	opacity: 0;
	visibility: hidden;
	-webkit-visibility: hidden;
	visibility: visible;
	-webkit-visibility: visible;
	background-color: rgba(0,0,0,0.9);
	transition-delay: 0;
	transition-duration: 0.5s;
	transition-property: opacity;
	
}


.bg__overlay.is-active {
	visibility: visible;
	-webkit-visibility: visible;
}

.bg__inner {
	position: relative;
	z-index: 0;
	height: 100%;
}

.bg__slider {
	height: 100%;
}

.bg__slider .swiper-slide-active {
	z-index: 999;
}

.bg__slider .swiper-slide video {
	opacity: 0;
	transition: cubic-bezier(.05,.26,.01,.9) 1.6s;
}
.bg__slider .swiper-slide video.is-out {
	filter: grayscale(100%) blur(20px);
	opacity: 0;
}
.bg__slider .swiper-slide-active video.is-in {
	opacity: 1;
	filter: grayscale(100%) blur(0px);
	transition: cubic-bezier(.05,.26,.01,.9) 2.4s;
}

.bg__slider .swiper-slide-active video {
/* 	opacity: 1; */
}
.mv .swiper-pagination {
/* 	left: auto; */
	left: 20px;
/* 	top: 50%; */
	bottom: 60px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
/* 	transform-origin: top right; */
	transform-origin: bottom left;
	-webkit-transform-origin: bottom left;
	z-index: 2;
}
.mv .swiper-pagination-bullet {
	border-radius: none;
	background: transparent;
	width: 20px;
	height: 20px;
	position: relative;
	opacity: 1;
}
.mv .swiper-pagination-bullet::after {
	content: "";
	display: block;
	border-radius: 50%;
	background: rgba(255,255,255,0);
	width: 4px;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: 1px solid rgba(255,255,255,0.6);
}
.mv .swiper-pagination-bullet-active::after {
	background: rgba(255,255,255,1);
	border: 1px solid #fff;
}

/* btn */
.mv__btn {
}
@media screen and (max-width:810px) {
	.mv__btn {
	}
}

@media screen and (max-width:575px) {
	.mv__caption {
		top: 30%
	}
	.mv__caption_ttl {
	}
	.mv__caption_subttl {
/* 		font-size: 14px; */
	}
	.mv__caption_txt {
/* 		font-size: 20px; */
	}
	.mv__caption_subtxt {
	}
	.btn__txt {
		font-size: 20px;
	}
	p {
	}

}

.btnbox {
	display: block;
	width: 240px;
	height: 45px;
	border: 1px solid #666;
	padding-left: 15px;
	box-sizing: border-box;
}
.btnbox-white {
	border: 1px solid #fff;
}
.btnbox__txt {
	line-height: 43px;
	vertical-align: baseline;
	font-weight: 600;
}
.btnbox-white .btnbox__txt {
	color: #fff;
}

.section__line {
	width: 100%;
	height: 1px;
	background-color: #999;
}

/*	mv logo
--------------------------*/
.logo {
	z-index: 999;
	position: absolute;
	top: 50px;
	left: 60px;
    transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}
.logo img {
	width: 120px;
	height: auto;
}

@media screen and (max-width:810px) {
	.logo {
		top: 30px;
		left: 30px;
	}
}



/* js
--------------------------------------- */
.is-fadeout {
	opacity: 0 !important;
	-moz-opacity: 0 !important;
	-khtml-opacity: 0 !important;
}

/* mv scroll animation 
--------------------------------------- */
@keyframes top_arrow {
  0%, 6% {
    -webkit-transform: translateY(-100%); /* for iOS and Chrome */
    -ms-transform: translateY(-100%); /* for IE */
    transform: translateY(-100%); }
  33%, 66% {
    -webkit-transform: translateY(0); /* for iOS and Chrome */
    -ms-transform: translateY(0); /* for IE */
    transform: translateY(0); }
  94%, 100% {
    -webkit-transform: translateY(100%); /* for iOS and Chrome */
    -ms-transform: translateY(100%); /* for IE */
    transform: translateY(100%); }
}
@-webkit-keyframes top_arrow {
  0%, 6% {
    -webkit-transform: translateY(-100%); /* for iOS and Chrome */
    -ms-transform: translateY(-100%); /* for IE */
    transform: translateY(-100%); }
  33%, 66% {
    -webkit-transform: translateY(0); /* for iOS and Chrome */
    -ms-transform: translateY(0); /* for IE */
    transform: translateY(0); }
  94%, 100% {
    -webkit-transform: translateY(100%); /* for iOS and Chrome */
    -ms-transform: translateY(100%); /* for IE */
    transform: translateY(100%); }
}



/*	mv scroll
--------------------------*/
.scroller {
	display: block;
	color: #fff;
    position: fixed;
    top: auto;
    left: calc(50% - 20px);
    bottom: 0;
    width: 40px;
    height: 100px;
    background-color: transparent;
    z-index: 5;
    -webkit-backface-visibility: "hidden"; /* for iOS and Chrome */
    backface-visibility: "hidden";
    -webkit-tap-highlight-color: transparent; /* for iOS and Chrome */
    opacity: 1;
/*
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
*/
    overflow: hidden;
    cursor: pointer;
    transition: opacity 0.6s ease-in-out;
    -webkit-transition: opacity 0.6s ease-in-out;
}
.scroller a {
	display: block;
	width: 100%;
	height: 100%;
}
.scroller__line {
    position: absolute;
    top: 0px;
    left: 20px;
    width: 1px;
    height: 100%;
    background-color: transparent;
    z-index: 4;
    overflow: hidden;
}
.scroller__line_anim {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #fff;
    z-index: 4;
    opacity: .6;
    -moz-opacity: .6; /* for Firefox */
    -khtml-opacity: .6;
    filter: alpha(opacity=60); /* for IE6 and IE7 */
    -ms-filter: "alpha(opacity=40)"; /* for IE8 and IE9 */
}
.scroller__line_anim::before {
	content: '';
	display: block;
	width: 1px;
	height: 100%;
	background: #999;
	margin: 0 auto;
	padding: 0;
}
.scroller__line_anim::after {
	content: '';
	display: block;
	padding: 0;
	width: 1px;
	height: 100%;
	background: #fff;
	margin: -100px auto 0;
	-webkit-animation: top_arrow 2.6s cubic-bezier(0.42, 0, 0.58, 1) infinite; /* for iOS and Chrome */
	animation: top_arrow 2.6s cubic-bezier(0.42, 0, 0.58, 1) infinite;	
}
.scroller__ttl {
    position: absolute;
    left: 2px;
    top: 0px;
    -webkit-writing-mode: vertical-rl; /* for iOS and Chrome */
    -ms-writing-mode: tb-rl; /* for IE */
    -moz-writing-mode: vertical-rl; /* for Firefox */
    writing-mode: vertical-rl; /* for Opera */
    font-size: 10px;
    line-height: 10px;
    letter-spacing: .04em;
    color: #fff;
}
@media screen and (max-width:810px) {
	.scroller {
		height: 55px;
	}
	.scroller__line_anim::after {
		margin: -55px auto 0;
	}
}
@media screen and (max-width:575px) and (orientation:landscape) {
	.is-topnav.header-top {
		opacity: 0 !important;
	    -moz-opacity: 0 !important;
	    -khtml-opacity: 0 !important;
		
	}
}


#top .totop-wrapper {
	width: 100%;
	height: 80px;
	position: relative;
}
.totop {
	display: block;
    position: absolute;
    top: auto;
    left: calc(50% - 20px);
    top: -150px;
    width: 40px;
    height: 140px;
    z-index: 5;
    overflow: hidden;
    cursor: pointer;
    transition: opacity 0.6s ease-in-out;
    -webkit-transition: opacity 0.6s ease-in-out;
}
#top .totop {
    top: auto;
    bottom: 10px;
}

.totop__line {
    position: absolute;
    top: 0px;
    left: 20px;
    width: 1px;
    height: 60px;
    background-color: #999;
    z-index: 4;
    overflow: hidden;
}
.totop__txt {
    position: absolute;
    top: 52px;
    left: 12px;
    z-index: 4;
    font-size: 12px;
    transform: rotate(90deg);
    transform-origin: left bottom;
    white-space: nowrap;
}




.no-slides .nav-prev,.no-slides .nav-next {
	display: none;
}
.no-slides .pagination {
	display: none;
}

@media screen and (max-width:575px) {
	.page-slider .nav-prev,.page-slider .nav-next {
		display: none;
	}
}

/* products-single */
.single-section {
	overflow: hidden;
	width: 100%;
	height: 100vh;
	min-height: 100vh;
}

.single-section__left {
	width: 50%;
	height: 100vh;
	float: left;
	position: relative;
	color: #fff;
	font-weight: light;
	overflow-y: scroll;
}
.single-section__right {
	width: 50%;
	height: 100%;
	float: right;
	background-color: #fff;
	position: relative;
}
@media screen and (max-width:991px) {
	.single-section {
		height: auto;
	}
	.single-section__left {
		width: 100%;
		height: auto;
		float: none;
	}
	.single-section__right {
		width: 100%;
		height: auto;
		float: none;
	}
}

.single-section__left_inner {
	padding-top: 30px;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 180px;
	overflow: hidden;
	
}



.information {
	margin-bottom: 60px;
}
.single-module__header {
	width: 50%;
	float: left;
	position: relative;
}
.single-module__header_subttl {
	display: block;
	font-size: 16px;
	margin-bottom: 10px;
}
.single-module__header_ttl {
/*
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: left top;
	transform: translateX(100%) rotate(90deg);
	-webkit-transform: translateX(100%) rotate(90deg);
	-ms-transform: translateX(100%) rotate(90deg);
*/
}
.single-module__header_txt {
	max-width: 280px;
}
.single-module__header_ttl {
	max-width: 280px;
}
@media screen and (max-width:810px) {
	.single-module__header_txt {
		max-width: none;
	}
	.single-module__header_ttl {
		max-width: none;
	}
}
.single-module__header_en {
	font-size: 36px;
	font-weight: 200;
	letter-spacing: 0.075em;
	line-height: 1.2;
	display: block;
	text-transform: uppercase;
}
.single-module__header_ja {
	font-family: "Noto Serif JP",serif;
	font-weight: 300;
	font-size: 32px;
	white-space: nowrap;
/* 	letter-spacing: 0.1em; */
/*
	writing-mode: vertical-lr;
	display: block;
	top: 0;
	left: 0;
	transform: translateX(-48px) rotate(-90deg);
	transform-origin: right top;
*/
	
}
.single-module__header_tag {
	font-size: 16px;
}


.logo {
	position: absolute;
	left: 40px;
	top: 30px;
	z-index: 2;
}
.logo img {
	width: 120px;
	height: auto;
}

.aside {
	position: absolute;
	top: 30%;
	left: 40px;
}
.aside span {
	font-size: 64px;
	writing-mode: vertical-rl;
	letter-spacing: 0.1em;
}
.single-btn {
	position: absolute;
	left: 30px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	z-index: 2;
	background-image: url(../images/img_icon-back.png);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}


.single-module {
	position: relative;
	left: 0;
	width: 100%;
	box-sizing: border-box;
/* 	overflow: hidden; */
}

.single-module__body {
	float: right;
	width: 50%;
	line-height: 1.3;
	padding-left: 30px;
}
.single-module__body_ttl {
	font-weight: 600;
	font-size: 12px;
}

.single-module__body_txt {
	font-size: 12px;
}

.nav-next {
	position:absolute;
	top:50%;
	right:calc(50% - 560px);
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
/* 	height:48px; */
	z-index: 2;
}
.nav-prev {
	position: absolute;
	top:50%;
	left:calc(50% - 560px);
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
/* 	height: 48px; */
	z-index: 2;
}

.related-nav-next {
	position:absolute;
	top:0;
	right:0;
	width: 50px;
	height: 0;
	padding-top: 50%;
	z-index: 2;
	cursor: pointer;
}
.related-nav-prev {
	position: absolute;
	top:0;
	left:0;
	width: 50px;
	height: 0;
	padding-top: 50%;
	z-index: 2;
	cursor: pointer;
}
.related-nav-next .btncircle__icon {
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 10px;
	width: 30px;
	height: 30px;
}
.related-nav-prev .btncircle__icon {
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: 10px;
	width: 30px;
	height: 30px;
}

.no-slides .related-nav-prev,.no-slides .related-nav-next {
	display: none;
}


@media screen and (max-width:1240px) {
	
	.nav-next {
		right:30px;
	}
	.nav-prev {
		left:30px;
	}
	
}

.page-slider .swiper-button-disabled {
	opacity: 0;
}
.nav__line {
	display: block;
	position: absolute;
	top: 50%;
	width: 100%;
	height: 1px;
	background-color: #999;
}


.page-slider .pagination {
	position: absolute;
	left: 0;
	bottom: 5px;
	z-index: 2;
	width: 100%;
	text-align: center;
	padding-left: 30px;
	padding-right: 30px;
}


.page-slider {
	position: relative;
	width: 100%;
/* 	height: 480px; */
	height: 480px;
	background-color: #f4f4f4;
}
#works-single .page-slider {
	background-color: #000;
}

.page-slider .swiper-container {
	width: 100%;
	height: 100%;
}
.page-slider .swiper-wrapper {
}
.page-slider .swiper-slide {
	width: calc(480px * 3 / 2);
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/*仮*/
#products-single .page-slider .swiper-slide__bg {
	width: calc(480px * 3 / 2);
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#products-single .page-slider .swiper-slide__bg {
	background-color: #f4f4f4;
}

.no-slides.page-slider {
	background-color: #f4f4f4;
}

#works-single .no-slides.page-slider {
	background-color: #000;
}


.no-slides.page-slider .swiper-slide {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width:810px) {
	.page-slider {
		height: 360px;
	}
/*
	#products-single .page-slider {
		height: 200px;
	}
	
*/
	.page-slider .swiper-slide {
		width: calc(360px * 3 / 2);
	}
	.no-slides.page-slider .swiper-slide {
		width: 100%;
	}
	
/*
	#products-single .page-slider .swiper-slide__bg {
		width: calc(360px * 3 / 2);
		margin-left: auto;
		margin-right: auto;
	}
*/
}

@media screen and (max-width:575px) {
	.page-slider {
		height: 200px;
	}
/*
	#products-single .page-slider {
		height: 200px;
	}
	
*/
	.page-slider .swiper-slide {
		width: calc(200px * 3 / 2);
	}
	
	#products-single .page-slider .swiper-slide__bg {
		width: 100%;
	}
}

/*
#products-single .swiper-pagination-bullet {
	width: 30px;
	height: 30px;
	display: inline-block;
	opacity: 1;
	margin-left: 4px;
	margin-right: 4px;
	border-radius: 50%;
	background-color: transparent;
	position: relative;
	border: 2px solid rgba(0,0,0,0.1);
}
*/

/*
.swiper-pagination-bullet::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #999;
}
*/

/*
#products-single .swiper-pagination-bullet-active {
	opacity: 1;
	border: 2px solid #000;
}
*/

.page-slider .swiper-pagination-bullet {
	width: 20px;
	height: 20px;
	display: inline-block;
	opacity: 1;
	margin-left: 4px;
	margin-right: 4px;
	border-radius: 50%;
	background-color: transparent;
	position: relative;
	border: none;
}
.swiper-pagination-bullet::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #ccc;
}
.page-slider .swiper-pagination-bullet-active::after {
	background-color: #999;
}


.related-slider .pagination {
	margin-top: 10px;
	margin-left: -10px;
	margin-right: -10px;
}
.related-slider .swiper-pagination-bullet {
	width: 20px;
	height: 20px;
	display: inline-block;
	opacity: 1;
	margin-left: 4px;
	margin-right: 4px;
	border-radius: 50%;
	background-color: transparent;
	position: relative;
	border: none;
}
.related-slider .swiper-pagination-bullet-active::after {
	background-color: #999;
}

.column-slider .swiper-pagination {
	position: relative;
	margin-top: 30px;
}
.column-slider .swiper-pagination-bullet {
	width: 20px;
	height: 20px;
	display: inline-block;
	opacity: 1;
	margin-left: 4px;
	margin-right: 4px;
	border-radius: 50%;
	background-color: transparent;
	position: relative;
	border: none;
}
.column-slider .swiper-pagination-bullet::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #ccc;
}
.column-slider .swiper-pagination-bullet-active::after {
	background-color: #999;
}

/*
.section:nth-of-type(1) .section__left div {
	background-image: url(../images/img_sample-1.jpg);
}

.section:nth-of-type(2) .section__left div {
	background-image: url(../images/img_sample-2.jpg);
}

.section:nth-of-type(3) .section__left div {
	background-image: url(../images/img_sample-3.jpg);
}

.section:nth-of-type(4) .section__left div {
	background-image: url(../images/img_sample-4.jpg);
}

.section:nth-of-type(5) .section__left div {
	background-image: url(../images/img_sample-5.jpg);
}

.section:nth-of-type(6) .section__left div {
	background-image: url(../images/img_sample-6.jpg);
}

.section:nth-of-type(7) .section__left div {
	background-image: url(../images/img_sample-7.jpg);
}
*/

@media screen and (max-width:810px) {
	.information {
		margin-bottom: 30px;
	}
	.single-section__left {
		width: 100%;
		float: none;
	}
	.single-section__right {
		width: 100%;
		float: none;
		height: 480px;
	}
	.single-module__header {
		width: 100%;
		float: none;
		height: auto;
		margin-bottom: 40px;
	}
	.single-module__body {
		width: 100%;
		float: none;
		height: auto;
		padding-left: 0;
	}
	.single-module__header_ttl {
		position: relative;
		transform: none;
		height: auto;
		width: auto;
	}
	.single-module__header_ja {
		transform: none;
		writing-mode: horizontal-tb;
	}
	.single-module__header_en {
		font-size: 32px;
/*
		display: block;
		font-size: 64px;
		position: relative;
		top: auto;
		left: 0;
		transform: translateY(0) rotate(0deg);
		-webkit-transform: translateY(0) rotate(0deg);
		-ms-transform: translateY(0) rotate(0deg);
		white-space: normal;
		line-height: 1;
*/
	}
	.single-module__header_ja {
		font-size: 28px;
/*
		display: block;
		font-family: serif;
		font-size: 48px;
		position: relative;
		top: auto;
		left: 0px;
		writing-mode: horizontal-tb;
		white-space: normal;
*/
	}
	.single-module__header_tag {
/*
		display: block;
		font-size: 12px;
		position: relative;
		top: auto;
		left: 3px;
		transform: translateY(0) rotate(0deg);
		-webkit-transform: translateY(0) rotate(0deg);
		-ms-transform: translateY(0) rotate(0deg);
		transform-origin: bottom left;
		-webkit-transform-origin: bottom left;
		white-space: normal;
*/
	}
	
	.single-btn {
		left: 30px;
		bottom: 40px;
	}
	
}

/*	swiper
--------------------------*/
/*
.module-slide .swiper-pagination {
	position: relative;
}
.module-slide .swiper-pagination-bullet {
	width: 20px;
	height: 20px;
	border-radius: none;
	background-color: transparent;
	position: relative;
}
.module-slide .swiper-pagination-bullet::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #666;
}
.module-slide .swiper-container-horizontal>.swiper-pagination-bullets {
	padding-top: 5px;
	margin-left: -7px;
}
.module-slide .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin-left: 0;
	margin-right: 0;
}
*/



/* ------------------------------------------
	header
------------------------------------------ */
.header {
	top: 0;
/* 	height: 100%; */
	z-index: 4;
    transition: .8s ease-in-out;
	-webkit-transition: .8s ease-in-out;
}
.header__ttl {
	position: absolute;
	top: 30px;
	left: 40px;
	z-index: 3;
	font-weight: 400;
}
/* ------------------------------------------
	parts - menu -
------------------------------------------ */

/* lang */
.header__lang {
	display: block;
	position: fixed;
	top: 28px;
	right: 85px;
	width: 48px;
	height: 24px;
	z-index: 101;
}
.header__lang_btn {
	padding-left: 10px;
	padding-right: 10px;
	transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	background-color: transparent;
	min-width: auto;
	border: 1px #333 solid;
	height: 24px;
	border-radius: 12px;
	background-color: transparent;
	text-align: center;
}
.header__lang_btn span {
	transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	font-size: 12px;
	vertical-align: bottom;
}
.header__lang_btn:hover {
	background-color: #333;
}
.header__lang_btn:hover span {
	color: #fff;
}

.header__lang.is-black .header__lang_btn {
	border: 1px #333 solid;
}
.header__lang.is-black .header__lang_btn span {
	color: #333;
}
.header__lang.is-black:hover .header__lang_btn {
	background-color: #333;
}
.header__lang.is-black:hover .header__lang_btn span {
	color: #fff;
}

.header__lang.is-white .header__lang_btn {
	border: 1px #fff solid;
}
.header__lang.is-white .header__lang_btn span {
	color: #fff;
}
.header__lang.is-white:hover .header__lang_btn {
	background-color: #fff;
}
.header__lang.is-white:hover .header__lang_btn span {
	color: #333;
}

/* menubtn */
.header__menubtn {
	display: block;
	position: fixed;
	top: 30px;
	right: 20px;
	right: 30px;
	width: 48px;
	height: 48px;
	z-index: 101;
}
/*
@media screen and (max-width:575px) {
	.header__menubtn {
		top: 23px;
	}	
}
*/
.header__menubtn_inner {
	position: absolute;
	top: 0;
	right: 0;
	width: 36px;
	height: 15px;
	margin: 0;
}

.header__menubtn::after {
	content: "menu";
	font-size: 12px;
	line-height: 1;
	display: block;
	width: 36px;
	position: absolute;
	bottom: 18px;
	right: 0px;
	display: block;
	text-align: center;
	transform-origin: center center;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;	
}

.is-open .header__menubtn::after {
	content: "close";
}
.is-white.header__menubtn::after {
	color: #fff;
}
.is-black.header__menubtn::after {
	color: #000;
}

.menubtn__line {
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #000;
	border-radius: 1px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.header__menubtn.is-black .menubtn__line {
	background-color: #000;
}

.header__menubtn.is-white .menubtn__line {
	background-color: #fff;
}

.menubtn__line:nth-of-type(1) {
	top: 0;
	opacity: 1;
}
.menubtn__line:nth-of-type(2) {
	top: 7px;
	transform: rotate(0);
	-webkit-transform: rotate(0);
}
.menubtn__line:nth-of-type(3) {
	bottom: 0;
	opacity: 1;
}

body.is-open .menubtn__line:nth-of-type(2) {
	opacity: 0;
}
body.is-open .menubtn__line:nth-of-type(1) {
	top: 7px;
	transform: rotate(24deg);
	-webkit-transform: rotate(24deg);
}
body.is-open .menubtn__line:nth-of-type(3) {
	top: 7px;
	transform: rotate(-24deg);
	-webkit-transform: rotate(-24deg);
}



/* header-menu */
.navmenu {
	visibility: hidden;
	-webkit-visibility: hidden;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	background-color: transparent;
	opacity: 0;
	transition: ease-in-out 0.3s;
	overflow-y: scroll;
}
.navmenu__inner {
	position: absolute;
	display: inline-block;
	top: 50%;
	margin-left: auto;
	margin-right: auto;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 100%;
	padding-left: 120px;
}
@media screen and (max-width:810px) {
	.navmenu__inner {
		padding-left: 60px;
	}
/*
	.navmenu__inner {
		left: 30px;
	}
*/
}
.navmenu__aside {
	position: absolute;
	top: 50%;
	left: -10px;
}
.navmenu__aside_ttl {
	position: absolute;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	color: #fff;
	white-space: nowrap;
	font-size: 12px;
}

.navmenu__body {
	overflow: hidden;
}
.navmenu__ul li {
	margin-bottom: 25px;
}
.navmenu__ul li:last-child {
	margin-bottom: 0;
}

.navmenu__main-wrapper {
	overflow: hidden;
	margin-bottom: 80px;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}
.navmenu__ul {
	overflow: hidden;
	margin-left: 0;
}
.navmenu__main {
	float: left;
	width: 50%;
}
.navmenu__main li a {
	display: inline-block;
	color: #fff;
	vertical-align: top;
	position: relative;
	overflow: hidden;
	font-size: 24px;
	font-weight: 400;
}
.navmenu__main li a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 4px;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: translateX(0);
}

.navmenu__main li a:hover::before {
	left: 0;
	width: 100%;
	animation:1.2s ease-in-out infinite btnline;
	-webkit-animation:1.2s ease-in-out infinite btnline;
}

.navmenu__opt-wrapper {
	overflow: hidden;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.navmenu__opt {
	float: left;
	width: 50%;
}
.navmenu__opt ul li {
	margin-bottom: 20px;
}
.navmenu__opt ul li a {
	display: inline-block;
	color: #fff;
	vertical-align: top;
	position: relative;
	overflow: hidden;
	font-size: 16px;
	font-weight: 400;
}
.navmenu__opt ul li img {
	width: auto;
	height: 12px;
	margin-left: 8px;
}



.navmenu__opt li a {
	transition: ease-in-out 0.25s opacity;
	-webkit-transition: ease-in-out 0.25s opacity;
}

.navmenu__opt li a:hover {
	opacity: 0.7;
}
.navmenu__follow {
/* 	margin-top: 60px; */
}
.navmenu__follow_ttl {
	font-size: 12px;
	display: block;
	color: #fff;
}
@media screen and (max-width:575px) {
	.navmenu__body.module {
		padding-left: 0;
	}
	.navmenu__inner {
		position: relative;
		top: 0;
		left: 0;
		transform: translate(0);
		-webkit-transform: translate(0);
		-ms-transform: translate(0);
		padding-top: 160px;
		padding-bottom: 80px;
		padding-left: 80px;
	}
	.navmenu__main-wrapper {
		margin-bottom: 0;
	}
	.navmenu__main {
		max-width: 160px;
/*
		float: none;
		width: 100%;
*/
		margin-bottom: 0;
	}
	.navmenu__opt-wrapper {
		margin-top: 48px;
	}
	.navmenu__opt {
		float: none;
		width: 100%;
		margin-top: 0;
	}
	.navmenu__follow {
		margin-top: 48px;
	}
	.navmenu__ul li {
		margin-bottom: 20px;
	}
	.navmenu__main li a {
		font-size: 20px;
	}
	.navmenu__opt ul li {
		margin-bottom: 16px;
	}
	.navmenu__opt ul li a {
		font-size: 14px;
	}
	
	
}

.navmenu li#menu-item-335 a { /* About */
}
.navmenu li#menu-item-339 a { /* Works */
}
.navmenu li#menu-item-337 a { /* Moive */
}
.navmenu li#menu-item-340 a { /* Product */
}
.navmenu li#menu-item-336 a { /* Contact */
}
.navmenu li#menu-item-338 a { /* Privacy Policy */
}
/*
.navmenu li#menu-item-335 a::after {
	content: "About";
}
*/



/* News */
.news__list {
}
.news__list a {
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 10px;
	padding-right: 10px;
	transition: ease-in-out 0.3s background-color;
	-webkit-transition: ease-in-out 0.3s background-color;
	background-color: transparent;
}
.news__list a:hover {
	background-color: #fff;
}

.news__list_ttl {
	font-size: 14px;
	display: inline-block;
	vertical-align: text-bottom;
}
@media screen and (max-width:1100px) {
	.news__list_ttl {
		display: block;
	}
}
@media screen and (max-width:575px) {
	.news__list a {
		display: block;
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 5px;
		padding-right: 5px;
		transition: ease-in-out 0.3s background-color;
		-webkit-transition: ease-in-out 0.3s background-color;
		background-color: transparent;
	}
}
#news-single .news__list_ttl {
	margin-top: 20px;
	font-size: 24px;
	display: block;
	margin-bottom: 10px;
}


.news__list_date {
	vertical-align: text-bottom;
	font-size: 14px;
}

.news__list_cat {
	margin-left: 10px;
	margin-right: 40px;
	display: inline-block;
	border-radius: 10px;
	border: 1px solid #666;
	text-align: center;
	min-width: 80px;
	height: 18px;
	position: relative;
/* 	top: -4px; */
/*
	transition: ease-in-out 0.3s;
	-webkit-transition: ease-in-out 0.3s;
*/
}
/*
#news-single .news__list_cat {
	top: 0;
}
*/
/*
.news__list_cat:hover {
	border: 1px solid #333;
	background-color: #333;
	color: #fff;
}
*/
.news__list_cat span {
	font-size: 10px;
	vertical-align: baseline;
	line-height: 1;
	position: relative;
	top: -3px;
}
.cat-capsule {
	display: inline-block;
	border-radius: 10px;
	border: 1px solid #666;
	text-align: center;
	min-width: 80px;
	height: 20px;
}
.cat-capsule span {
	font-size: 11px;
	vertical-align: baseline;
	line-height: 1;
	position: relative;
	top: -2px;
}
.archive-cat-wrapper {
	margin-left: -5px;
	margin-right: -5px;
}
.archive-cat {
	margin-left: 5px;
	margin-right: 5px;
	transition: ease-in-out 0.3s;
	-webkit-transition: ease-in-out 0.3s;
	display: inline-block;
	top: 0;
	margin-bottom: 15px;
}
.archive-cat__ttl {
	display: block;
	margin-bottom: 10px;
	font-weight: 500;
	font-size: 14px;
}
@media screen and (max-width:575px) {
	
}

.archive-cat:hover {
	background-color: #fff;
}


body.is-open .navmenu {
	opacity: 1;
	visibility: visible;
	-webkit-visibility: visible;
	pointer-events: auto;
	z-index: 100;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background-color: rgba(0,0,0,0.6);	
}

.

body.no-scroll {
	overflow: hidden;
}

.header__logo {
	position: fixed;
	top: 30px;
	left: 30px;
	z-index: 101;
/*
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
*/
}

/*
#header-top .header__logo {
	top: 50px;
	left: 60px;
}
*/

.header__logo_img {
	width: 100%;
	height: 100%;
}


.header__logo_inner {
	width: 100px;
	height: 70px;
}
.header__logo {
	top: 25px;
	left: 30px;
}


@media screen and (max-width:575px) {
	.header__logo_inner {
		width: 80px;
		height: 55px;
	}
}

/*
.logo {
	z-index: 999;
	position: absolute;
    transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}
.logo img {
	width: 120px;
	height: auto;
}
*/

@media screen and (max-width:810px) {
	.header__logo {
		top: 25px;
		left: 30px;
	}
	#header-top .header__logo {
		top: 25px;
		left: 30px;
	}
}


.logo-bg {
	width: 100%;
	height: 100%;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../images/img_logo-black.png);
    transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}


body.is-open .logo-bg,.header__logo.is-black .logo-bg {
	background-image: url(../images/img_logo-black.png);
}

.header__logo.is-white .logo-bg {
	background-image: url(../images/img_logo-white.png);
}

.b-margin {
	margin-bottom: 40px;
}
@media screen and (max-width:810px) {

	.sp-margin {
		margin-bottom: 40px;
	}

}


/* Slider Works */
#works .module {
	color: #fff;
}
.works-slider {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 480px;
}
.works-slider::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.2);
}
.works-slider .swiper-container {
	height: 100%;
}
.works-slider .swiper-wrapper {
	transition-timing-function: linear;
}
.works-slider .swiper-slide {
	width: 60%;
	max-width: 640px;
}

/* Slider About */
.about-slider {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 360px;
}
.about-slider::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.2);
}
.about-slider .swiper-container {
	height: 100%;
}
.about-slider .swiper-wrapper {
	transition-timing-function: linear;
}
.about-slider .swiper-slide {
	width: 60%;
	max-width: 640px;
}

.slide-section__inner {
	padding-top: 120px;
	padding-bottom: 120px;
}


/* open btn */
.modal-open-wrapper {
	position: absolute;
	left: 30px;
	bottom: 50px;
	z-index: 3;
}
.modal-open {
}

/* close btn */
.modal-close-wrapper {
	position: absolute;
	left: 30px;	
	bottom: 30px;
	z-index: 1;
}


.modal-close {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 110px;
}
.modal__icon {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-size: contain;
	background-position: center center;
	position: absolute;
	top: 0;
	left: 0;
}

.modal__icon.modal-close__icon {
	background-image: url(../images/img_btn-icon-close.png);
}
.modal__txt {
	display: inline-block;
	color: #fff;
	font-size: 14px;
	position: absolute;
	bottom: 0;
	letter-spacing: 0.025em;
	text-align: center;
	width: 100%;
}

/*
@media screen and (max-width:810px) {
	.modal-open-wrapper {
		left: 30px;
		bottom: 30px;
	}
	.modal-close-wrapper {
		left: 30px;
		bottom: 30px;
	}
}
*/


.iframe-wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}
.iframe-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.bg__ytb {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.bg__ytb.is-fadein {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.bg__ytb_iframe {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
/*
	height: calc(100% - 140px);
	padding-top: 0;
*/
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	overflow: hidden;
}
.bg__ytb_iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width:991px) {
	.bg__ytb_iframe {
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
	}
}



/*	isotope List Grid
--------------------------*/
.grid-wrapper {
	overflow: hidden;
	margin-left: -10px;
	margin-right: -10px;
/*
	transition: ease-in-out opacity 0.3s;
	-webkit-transition: ease-in-out opacity 0.3s;
*/
}
.grid,.grid-sizer {
	width: calc(100% / 3);
	padding: 10px;
	box-sizing: border-box;
	float: left;
}

#archive-products .grid,#archive-products .grid-sizer {
	width: calc(100% / 2);
}
#products .grid-first .grid__txt {
	position: absolute;
	top: 0;
	left:0;
}
.grid__inner {
	display: block;
	width: 100%;
	height: 0;
	padding-top: 100%;
	position: relative;
	background-color: #f4f4f4;
}
.grid__img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	width: 50%;
	height: auto;
	filter: drop-shadow(4px 5px 3px rgba(0,0,0,0.25));
	mix-blend-mode: multiply;
	vertical-align: middle;
	opacity: 1;
	visibility: visible;
	-webkit-visibility: visible;
	transition: 0.4s ease-in-out;
	-webkit-transition: 0.4s ease-in-out;
}
.grid__img.is-loading {
	opacity: 0;
	visibility: hidden;
	-webkit-visibility: hidden;
}
.grid__ttl {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	color: #333;
	overflow: hidden;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	padding-top: 10px;
	padding-right: 10px;
	z-index: 3;
}
.grid__ttl_en {
	font-size: 28px;
	font-weight: 200;
	line-height: 1.1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.grid__ttl_ja {
	font-size: 24px;
	line-height: 1.2;
	margin-top: -2px;
	font-family: "Noto Serif JP",serif;
	font-weight: 300;
}
.grid__ttl_tag {
	display: block;
	line-height: 1.3;
	font-size: 12px;
	margin-right: 3px;
}
.c-others .grid__img {
	filter: none;
}
.c-others .grid__ttl {
}
.grid__loading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    font-size: 12px;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
}
.grid__loading.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.grid__noimage {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    font-size: 12px;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
    background-color: #f4f4f4;
}


@media screen and (max-width:880px) {
	.grid,.grid-sizer {
		width: calc(100% / 2) !important;
	}
}
@media screen and (max-width:575px) {
	.grid-wrapper {
		margin-left: -4px;
		margin-right: -4px;
	}
	.grid {
		padding: 4px;
	}
	.grid__inner {
		padding-top: 150% !important;
	}

	#products .grid-first {
		width: 100% !important;
	}
	#products .grid-first .grid__inner {
		padding-top: 0 !important;
		height: auto;
	}
	#products .grid-first .grid__txt {
		position: relative;
	}
	.grid__img {
		top: 66.666%;
	}
	
	.grid__ttl_en {
		font-size: 24px;
	}
	.grid__ttl_ja {
		font-size: 20px;
	}
	.grid__ttl_tag {
		font-size: 10px;
	}
}
@media screen and (min-width: 1320px) {
	.nomax .grid {
		width: calc(100% / 4);
	}
	#archive-products .grid,#archive-products .grid-sizer {
		width: calc(100% / 3);
	}

}
@media screen and (min-width: 1640px) { /* 4column grid max size:420px */
	.nomax .grid {
		width: calc(100% / 5);
	}
	#archive-products .grid,#archive-products .grid-sizer {
		width: calc(100% / 4);
	}
	
}
@media screen and (min-width: 2240px) { /* 4column grid max size:420px */
	.nomax .grid {
		width: calc(100% / 6);
	}
	#archive-products .grid,#archive-products .grid-sizer {
		width: calc(100% / 5);
	}
}


#story-tile .grid.story-grid {
	width: calc(100% / 2) !important;
	float: left;
	padding: 4px;
}
#story-tile .grid-wrapper {
	margin-left: -4px;
	margin-right: -4px;
}
#story-tile .grid.story-grid .grid__inner {
	padding-top: 150% !important;
}

#story-tile .grid.story-grid .grid__img {
	top: 66.666%;
}

#story-tile .grid.story-grid .grid__ttl_en {
	font-size: 24px;
}
#story-tile .grid.story-grid .grid__ttl_ja {
	font-size: 20px;
}
#story-tile .grid.story-grid .grid__ttl_tag {
	font-size: 10px;
}




.single-thumb {
	position: absolute;
	width: 480px;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
}
.single-thumb__img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	width: 50%;
	height: auto;
	filter: drop-shadow(4px 5px 3px rgba(0,0,0,0.25));
	mix-blend-mode: multiply;
	vertical-align: middle;
	opacity: 1;
	visibility: visible;
	-webkit-visibility: visible;
	transition: 0.4s ease-in-out;
	-webkit-transition: 0.4s ease-in-out;
}
@media screen and (max-width:810px) {
	.single-thumb {
		width: 200px;
	}
}


.list__thumb_filter {
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0);
	visibility: hidden;
	z-index: 2;
	opacity: 0;
}
.filter__txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	color: #fff;
	opacity: 0.9;
}

a:hover .list__thumb_filter {
	background-color: rgba(0,0,0,0.15);
	opacity: 1;
	visibility: visible;
}

.filter__link {
	width: auto;
    height: 12px;
    margin-left: 10px;
    vertical-align: middle;
}

/* Products Single
--------------------------*/

.p-gallery-wrapper {
	overflow: hidden;
	margin-left: -10px;
	margin-right: -10px;
	transition: ease-in-out opacity 0.3s;
	-webkit-transition: ease-in-out opacity 0.3s;
/* 	border-bottom: solid 1px #999; */
	position: relative;
	display: flex;
/*     justify-content: space-between; */
    flex-wrap: wrap;
    align-items: flex-start;
}
/*
.p-gallery-wrapper::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: calc(100% - 20px);
	height: 1px;
	background-color: #999;
}
.p-gallery-wrapper:last-child::after {
	background-color: transparent;
}
*/
.p-gallery {
	width: calc(100% / 4);
	padding: 10px;
    align-items: stretch;	
}
.p-gallery__inner {
	display: block;
	position: relative;
	width: 100%;
/*
	height: 0;
	padding-top: 100%;
*/
}
.p-gallery__bg {
	position: absolute;
	top: 0;
	left: 0;
	background-size: 90%;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
}


@media screen and (max-width:810px) {
	.p-gallery {
		width: calc(100% / 3);
	}
}
@media screen and (max-width:575px) {
	.p-gallery-wrapper {
		margin-left: -6px;
		margin-right: -6px;
	}
	.p-gallery {
		width: calc(100% / 2);
		padding: 6px;
	}
}

.p-gallery__img {
	position: relative;
}


.p-gallery a {
	display: none;
}
.p-gallery a:nth-of-type(1) {
	display: block;
}



/* Products single - variation
--------------------------*/
.lineup__inner {
	border-bottom: solid 1px #999;
	margin-bottom: 10px;
}
.lineup__inner:last-child {
	border-bottom: transparent;
	margin-bottom: 0;
}


/* Products single - Product Information
--------------------------*/
.info-wrapper {
	overflow: hidden;
	transition: ease-in-out opacity 0.3s;
	-webkit-transition: ease-in-out opacity 0.3s;
}
.info {
	width: 100%;
	overflow: hidden;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #999;
}
.info-wrapper .info:last-child {
	border-bottom: 1px solid #999;
}
.info-wrapper .info:first-child {
	padding-top: 0;
}
.info__img {
	display: block;
	position: relative;
	float: left;
	max-width: 240px;
	padding-right: 20px;
}
.info__img img {
	width: 100%;
}
.info__content {
	float: left;
	width: calc(100% - 240px);
}
.info__content_ttl {
	font-weight: 600;
}
.info__content_txt {
}
@media screen and (max-width:575px) {
	.info__img {
		float: none;
		padding-right: 0;
	}
	.info__content {
		float: none;
		width: 100%;
	}
}



/* Product single - Related slide
--------------------------*/
.slide-wrapper {
}
.slide-wrapper .item {
	width: 100%;
	padding: 0;
}







/* Works archive
--------------------------*/
.item-wrapper {
	overflow: hidden;
	margin-left: -10px;
	margin-right: -10px;
	transition: ease-in-out opacity 0.3s;
	-webkit-transition: ease-in-out opacity 0.3s;
}
.item {
	width: calc(100% / 2);
	padding: 10px;
}

@media screen and (max-width: 640px) {
	.item-wrapper {
		margin-left: 0px;
		margin-right: 0px;
	}
	.item {
		width: 100%;
		padding: 0;
	}
	.works-item {
		margin-bottom: 20px;
	}
}
@media screen and (min-width: 1000px) {
	.nomax .item {
		width: calc(100% / 3);
	}
}
@media screen and (min-width: 1640px) { /* 4column grid max size:420px */
	.nomax .item {
		width: calc(100% / 4);
	}
}
@media screen and (min-width: 2240px) { /* 4column grid max size:420px */
	.nomax .item {
		width: calc(100% / 5);
	}
}
.item__inner {
	display: block;
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 50%;
}
.item__bg {
	position: absolute;
	top: 0;
	left: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
}
.item__bg_filter {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left:0;
	z-index: 2;
	background-color: rgba(0,0,0,0.15);
/* 	mix-blend-mode: color; */
	opacity: 1;
}
.item__ttl {
	position: relative;
	top: 0;
	left: 0;
	color: #333;
	min-height: 42px;
}


/* Products Filtering
--------------------------*/
/*
.no-result {
	opacity: 0;
	transition: 0.2s ease-in-out;
	-webkit-transition: 0.2s ease-in-out;
}
.no-result.is-show {
	opacity: 1 !important;
}

.no-result__txt {
	padding-left: 15px;
	padding-right: 15px;
}
*/


.search-action-button {
    display: none;
}
@media (max-width: 768px) {
    .search-action-button {
        display: inline-block;
    }
}





button {
	border: none;
	background: transparent;
	padding: 0;
	border-radius: 0;
	display: block;
	color: #333;
}

.filters button {
/* 	opacity: 0.6; */
	transition: opacity 0.15s ease-in-out;
	-webkit-transition: opacity 0.15s ease-in-out;
	cursor: pointer;
	margin-bottom: 4px;
	font-size: 16px;
}
.filters button:hover {
	opacity: 0.8;
}
.filter__ttl {
	font-size: 12px;
	font-weight: 600;
	display: block;
}
.filters button.is-checked {
	background-color: rgba(225,220,218,1);
	background-color: #333;
	background-blend-mode: multiply;
	color: #fff;
}

.works-filters button.is-checked {
	background-color: transparent;
	color: #333;
	border-bottom: 1px solid #333;
}

.filters button.is-checked:hover {
	opacity: 1;
}

/*
.button-group-wrapper {
	display: inline-block;
	text-align: left;
	position: relative;
	overflow: hidden;
}
@media screen and (max-width:991px) {
	.button-group-wrapper {
		width: 100%;
	}
}
*/


.pc-search {
	display: inline-block;
	vertical-align: top;
	margin-bottom: 20px;
	width: 100%;
	float: right;
	max-width: 200px;
	border-top: 1px solid #000;
}
.pc-filter {
/* 	width: calc(100% - 240px); */
	position: relative;
	float: right;
	padding-left: 50px;
	margin-bottom: 20px;
	overflow: hidden;
	border-top: 1px solid #000;
}
.pc-filter .filters {
}
@media screen and (max-width:1080px) {
	.pc-search {
	}
	.pc-filter {
/* 		width: calc(100% - 200px); */
	}

}

.search__ttl {
	display: block;
	font-size: 12px;
	font-weight: 600;
}


.search__txt {
/* 	border-bottom: solid 1px #333; */
	font-size: 14px;
	display: block;
	position: relative;
}

input[type="text"].search__input {
	display: inline-block;
	padding: 10px 35px 10px 15px;
	font-style: italic;
	width: 100%;
	background-color: transparent;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 19px;
}


.isotope-search-term-display {
	text-transform: capitalize;
}
a.search__clear {
	position: absolute;
	top: 0px;
	right: 0;
	width: 35px;
	height: 100%;
	
}
.search__clear_img {
	width: 14px;
	height: auto;
	transition: opacity 0.25s ease-in-out;
	-webkit-transition: opacity 0.25s ease-in-out;
	opacity: 0.6;
	margin-top: 12px;
	margin-left: 7px;
}
.search__clear:hover img {
	opacity: 1;
}


.filter__all {
	float: right;
	margin-top: 8px;
}

.filter__all button {
	opacity: 0.4;
	cursor: none;
	pointer-events: none;
}
.filter__all.is-clickable button {
	opacity: 1;
	cursor: pointer;
	pointer-events: auto;
}
.filter__all.is-clickable button:hover {
	opacity: 0.4;
}
.sp-btn-clear.filter__all button:hover {
	border: solid 1px #333;
}

.no-result {
	display: none;
}
.no-result.is-show {
	display: block;
}

.button-group {
	display: inline-block;
	text-align: left;
/* 	float: left; */
	margin-right: 40px;
	position: relative;
	padding-bottom: 20px;
}
.button-group__header {
	margin-top: 2px;
	margin-bottom: 20px;
}
@media screen and (max-width:880px) {
	.no-result {
		padding-top: 30px;
	}
}
@media screen and (max-width:767px) {
	.button-group {
		width: 100%;
		float: none;
		overflow: hidden;
/* 		padding-top: 10px; */
/* 		margin-bottom: 20px; */
	}
/*
	.button-group__header {
		width: 50%;
		float: left;
	}
	.button-group__body {
		width: 50%;
		float: left;
	}
*/
	
}

.works-button-group-wrapper {
	border:none;
/* 	max-width: none; */
}
.works-button-group {
	display: block;
	padding-bottom: 0;
}
.works-button-group:last-child {
	margin-right:0;
}

.works-button {
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
}
@media screen and (max-width: 810px) {
	.filters .works-button {
		font-size: 14px;
		margin-left: 5px;
		margin-right: 5px;
	}
	.works-button-group {
		padding-bottom: 20px;
	}
}


/*filter sp/pc*/
.sp-overlay .button-group-wrapper {
	margin: 0;
	border: none;
}
.sp-overlay .button-group {
	border-top: 1px solid #000;
	width: 100% !important;
	margin-right: 0;
	display: block;
}

.btn-dropdown {
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	right: 0;
}
.btn-dropdown__line {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 1px;
	background-color: #000;
	border-radius: 1px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	transform-origin: center center;
}


.btn-dropdown__line:nth-of-type(1) {
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
}
.btn-dropdown__line:nth-of-type(2) {
	transform: translate(-50%,-50%) rotate(90deg);
	-webkit-transform: translate(-50%,-50%) rotate(90deg);
}

.is-visible .btn-dropdown__line:nth-of-type(2) {
	transform: translate(-50%,-50%) rotate(0);
	-webkit-transform: translate(-50%,-50%) rotate(0);
}




.sp-overlay__inner {
/* 	position: relative; */
/*
	position: sticky;
	-webkit-flex-direction: column;
	-moz-box-orient: vertical;
	-moz-box-direction: normal;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: flex-start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-moz-box-align: start;
	align-items: flex-start;
*/
/*
	margin-left: -300px;
	animation: anim-visible 0.3s forwards;
*/
}

/*
.sidebar-hidden .sidebar__inner {
	animation: anim-fix-hidden 0.3s forwards;
}
*/
@keyframes sidebar-show {
	0% {
		visibility: visible;
		margin-left: -330px;
	}
	100% {
		margin-left: 0px;
	}
}
@keyframes sidebar-hidden {
	0% {
		margin-left: 0px;
	}
	100% {
		margin-left: -330px;
		visibility: hidden;
	}
}
@keyframes contents-spread {
	0% {
		width: calc(100% - 330px);
		margin-right: 330px;
	}
	100% {
		width: 100%;
		margin-left: 0;
	}
}
@keyframes contents-shrink {
	0% {
		width: 100%;
		margin-left: 0;
	}
	100% {
		width: calc(100% - 330px);
		margin-left: 330px;
	}
}

@keyframes anim-visible {
	0% {
		margin-left: -330px;
		visibility: visible;
	}
	100% {
		margin-left: 0;
	}
}
@keyframes anim-hidden {
	0% {
		margin-left: 0;
	}
	100% {
		margin-left: -330px;
		visibility: hidden;
	}
}
@keyframes anim-in {
	0% {
		margin-left: 330px;
		width: calc(100% - 330px);
/* 		padding-left: 0; */
	}
	100% {
		margin-left: 0;
		width: 100%;
/* 		padding-left: 30px; */
	}
}
@keyframes anim-out {
	0% {
		margin-left: 0;
		width: 100%;
/* 		padding-left: 30px; */
	}
	100% {
		margin-left: 330px;
		width: calc(100% - 330px);
/* 		padding-left: 0; */
	}
}

.products__inner {
	position: relative;
/*
	display: flex;
	flex-wrap: wrap;
*/
}
.clear-position {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transition: 0s;
}
/*
.grid {
	width: 30% !important;
	height:400px !important;
	background-color: #f5f5f5;
	margin-left: 10px;
	margin-bottom: 10px;
}
.grid__inner {
	padding-top: 0 !important;
}
*/
.subheader {
	margin-left: 0;
	padding-top: 130px;
}


.subheader__inner {
	width: 300px;
	overflow: hidden;position: relative;
}
.sp-overlay__inner {
	width: 100%;
	height: 100%;
/* 	background-color: #fff; */
	padding-top: 10px;
	padding-left: 30px;
	padding-right: 0;
	padding-bottom: 120px;
	overflow-y: scroll;
	transition: linear 0.3s;
}
.sp-overlay__header {
	position: relative;
	top: 0;
	right: 0;
	width: 100%;
	height: 30px;
	background-color: #fff;
	z-index: 1;
	display: none;
}

.sp-overlay__ttl {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
}
.sp-overlay__ttl span {
	font-size: 16px;
}

@media screen and (min-width:881px) {
	.products__sidebar {
		position: absolute;
		top: 0;
		left: 0;
		width: 330px;
		height: 100%;
		animation: anim-visible 0.3s forwards;
	}
	
	.products__sidebar.sidebar-hidden {
		animation: anim-hidden 0.3s forwards;
	}
	
	.products__contents {
		width: calc(100% - 330px);
		min-height: 100vh;
		animation: anim-out 0.3s forwards;
		margin-left: 330px;
		padding-left: 30px;
		padding-right: 30px;
	}
	.products__contents.full-wrapper {
		animation: anim-in 0.3s forwards;
	}
	.products__contents .grid-wrapper {
		
	}
	
	
}
@media screen and (max-width:880px) {
	.products__sidebar {
		position: fixed;
		top: 170px;
		left: 0;
		z-index: 5;
		width: 100%;
		height: calc(100% - 170px);
		transform: translateX(0);
		transition: transform 0.3s ease-in-out;
		background-color: #fff;
		
	}
	.is-sidebar-hidden .products__sidebar {
		transform: translateX(-100%);
	}
	
	.products__contents {
		margin-right: 0;
		width: 100%;
		padding-left: 30px;
		padding-right: 30px;
	}
	
	.sp-overlay-layer {
		opacity: 1;
		visibility: visible;
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.6);
	/* 	backdrop-filter: blur(10px); */
		z-index: 4;
	}
	
	.is-sidebar-hidden .sp-overlay-layer {
		opacity: 0;
		visibility: hidden;
	}
		
	.subheader {
		position: fixed;
		top: 0;
		left: 0;
		background-color: #fff;
		width: 100%;
		z-index: 5;
		padding-top: 120px;
	}
	
	.subheader__inner {
		width: 100%;
	}
	.sp-overlay__inner {
		padding-top: 0;
		padding-right: 30px;
	}
	.sp-overlay__header {
		display: block;
	}
	
	
}

/*
@media screen and (min-width:1320px) {
	.products__sidebar {
		width: calc(100% / 3);
	}
}
@media screen and (min-width:1640px) {
	.products__sidebar {
		width: calc(100% / 4);
	}
}
@media screen and (min-width: 2240px) {
	.products__sidebar {
		width: calc(100% / 5);
	}
}
*/

.works-menu {
	position: fixed;
	top: 78px;
	right: -8px;
/*
	top: 30px;
	right: 50px;
*/
	z-index: 11;
/*
	padding-left: 30px;
	padding-right: 100px;
*/
}
.works-button-group {
	text-align: right;
}

.filter-menu-sp {
	position: relative;
	overflow: hidden;
	display: block;
	margin-bottom: 20px;
}

.header-btn-sp {
	display: inline-block;
}
@media screen and (max-width:1020px) {
	.works-menu {
		margin-top: 27px;
		position: relative;
		top: 0;
		right: 0;
		margin-right: -10px;
	}
}
@media screen and (max-width:575px) {
	.works-menu {
		margin-top: 20px;
	}
}


.header-sp__btn {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
	transition: ease-in-out 0.25s;
	-webkit-transition: ease-in-out 0.25s;
	margin-right: 20px;
}
.header-sp__btn-round {
	text-align: center;
	height: 36px;
	border-radius: 18px;
	padding-left: 5px;
	padding-right: 10px;
	border: solid 1px #333;
	background-color: #fff;
}

/*
#sp-filter-btn.header-sp__btn {
	margin-right: 15px;
}
*/
.header-sp__btn_img {
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	display: inline-block;
	width: 24px;
	height: 36px;
	border-radius: 100%;
	transition: ease-in-out 0.25s;
	-webkit-transition: ease-in-out 0.25s;
/* 	background-color: #f4f4f4; */
}

#sp-filter-btn .header-sp__btn_img {
	background-size: 16px auto;
	background-image: url(../images/img_icon-filter-black.png);
	background-position: left center;
}
/*
#sp-search-btn .header-sp__btn_img {
	background-size: 18px auto;
	background-image: url(../images/img_icon-search-black.png);
}
.header-sp__btn:hover {
	background-color: #333;
	color: #fff;
}
#sp-filter-btn.header-sp__btn:hover .header-sp__btn_img {
	background-image: url(../images/img_icon-filter-white.png);
}
#sp-search-btn.header-sp__btn:hover .header-sp__btn_img {
	background-image: url(../images/img_icon-search-white.png);
}
*/


.header-sp__btn_txt {
	font-size: 16px;
	display: inline-block;
/* 	padding-left: 10px; */
	padding-top: 13px;
	vertical-align: top;
}
.sp-btn-wrapper {
	position: relative;
	display: block;
}
.sp-btn {
	display: none;
	position: absolute;
	top: 0;
	width: auto;
	height: auto;
}

.sp-btn-clear {
	left: 0;
	margin-top:0;
	float: none;
}
.sp-btn-apply {
	right: 0;
}
.sp-btn-clear .sp-btn__inner:hover {
	opacity: 1;
}

.sp-btn__inner {
	display: block;
	width: 100%;
	height: 100%;
	padding: 6px 18px;
	transition: ease-in-out 0.25s;
	-webkit-transition: ease-in-out 0.25s;
	background-color: transparent;
	border: 1px solid #333;
	border-radius: 16px;
}
.sp-btn-apply .sp-btn__inner:hover {
	background-color: #333;
}

.sp-btn-apply:hover .sp-btn__txt {
	color: #fff;
}

.sp-btn__txt{
	color: #333;
	font-weight: 600;
	font-size: 12px;
}

@media screen and (max-width:880px) {
	.sp-btn {
		display: block
	}
}


.sp-close-btn {
	position: absolute;
	top: 0px;
	right: 0;
	width: 30px;
	height: 30px;
	z-index: 22;
	display: none;
}
.sp-close-btn__inner {
	position: absolute;
	display: block;
	width: 50%;
	height: 50%;
	top: 0;
	right: 0;
}
.sp-close-btn span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% * 1.414);
	transform-origin: center center;
	background-color: #000;
	height: 1px;
}
.sp-close-btn span:nth-of-type(1) {
	transform: translate(-50%,-50%) rotate(45deg);
}
.sp-close-btn span:nth-of-type(2) {
	transform: translate(-50%,-50%) rotate(-45deg);
}
@media screen and (max-width:880px) {
	.sp-close-btn {
		display: block
	}
}


.separate {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	margin-top: 3px;
	margin-bottom: 10px;
}

.loop-line {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #333;
}
.loop-line-white {
	background-color: #fff;
}



.page-hedaer {
	overflow: hidden;
}
.page-header__left {
	float: left;
	display: inline-block;
}
.page-header__right {
	float: right;
	display: inline-block;
}
@media screen and (max-width:991px) {
	.page-header__left {
		display: block;
		float: none;
	}
	.page-header__right {
		display: block;
		float: none;
	}
	
}


.aside-fixed {
	position: fixed;
	top: 30px;
	left: 0px;
	z-index: 2;
	padding: 0;
	width: calc(100% - 60px);
	overflow: visible;
}
.aside-fixed__submenu {
	position: absolute;
	top: 0;
	left: 30px;
	width: 100%;
/* 	width: calc(100% - 100px); */
}
.aside-fixed .section__ttl {
	margin-left: 160px;
}

@media screen and (max-width:575px) {
	.aside-fixed {
		top: 28px;
		left: 125px;
		z-index: 2;
/* 		width: calc(100% - 125px - 100px); */
	}
	.aside-fixed .section__ttl {
		margin-bottom: 10px;
	}
	.aside-fixed__submenu {
		position: relative;
		top: 0;
		right: auto;
		width: 100%;
		text-align: left;
	}
}



/* Contact Form Initialize */
dl {
	margin: 0;
}
dt {
	font-weight: 600;
}
dd {
	margin: 0;
}


dl {
	overflow: hidden;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
}

dt {
	float: left;
	width: 300px;
	margin-bottom: 10px;
}
dd {
	float: left;
	width: calc(100% - 300px);
	padding-left: 30px;
}
@media screen and (max-width:991px) {
	dt {
		float: none;
		width: auto;
	}
	dd {
		float: none;
		width: 100%;
		padding-left: 0;
	}
}
.name-wrapper {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
.form__name {
	flex: 1;
	width: 100%;
/*
	width: calc(50% - 10px);
	float: left;
*/
	border-top: none;
}
.form__name:last-child {
}

.form__name_ttl {
	width:100%;
	float: none;
	font-size: 12px;
}
.form__name input {
	width:100%;
	padding-left: 0;
	float: none;
}
.wpcf7-form-control-wrap {
	display: block;
}

#contact textarea, #contact input, #contact select {
	font-size: 14px;
	border-radius: 6px;
	padding: 15px;
}
#contact textarea::placeholder,#contact input::placeholder, #contact select::placeholder {
	color: #999;
}

.important {
	color:#db0101;
}
.btn,input[type="submit"].btn,input[type="button"].btn,input[type="reset"].btn {
	display: inline-block;
/* 	width: 100%; */
	min-width: 130px;
	height: 32px;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 20px;
	padding-right: 20px;
	transition: 0.25s all linear;
	-webkit-transition: 0.25s all linear;
	font-weight: 400;
	vertical-align: middle;
	text-align: center;
	border: 1px solid transparent;
	box-sizing: border-box;
	background-color: #fff;
}
.btn span,input[type="submit"].btn span,input[type="button"].btn span,input[type="reset"].btn span {
	color: #fff;
	display: block;
	line-height: 27px;/* .btn height - 5px */
}
.btn:hover,input[type="submit"].btn:hover,input[type="button"].btn:hover,input[type="reset"].btn:hover {
	background-color: #fff;
	border: 1px solid #666;/* gray */
}
.btn:hover span,input[type="submit"].btn:hover span,input[type="button"].btn:hover span,input[type="reset"].btn:hover span {
	color: #666;/* gray */
}




#contact,#contact-confirm,#contact-fin {
	background-color: #fff;
}

#contact-fin {
	position: relative;
	min-height: 100vh;
}
.fin-txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	max-width: 380px;
	width: 100%;
}
.fin-txt__inner {
	padding-left: 20px;
	padding-right: 20px;
}
.fin-txt h3 {
	text-align: center;
	margin-bottom: 20px;
}


#contact tr,#contact-confirm tr {
	display: block;
	border-top: 1px solid #ccc;
}
#contact th {
	width: calc(100% / 3 - 10px);
}
#contact td {
	display: block;
	width: calc(100% / 3 * 2 - 10px);
}
#contact textarea,#contact input,#contact select {
	border: 1px solid #999;
}

#contact tr th,#contact-confirm tr th {
	vertical-align: top;
}
#contact tr p,#contact-confirm tr p {
	margin-top: 20px;
	margin-bottom: 20px;
}

@media screen and (max-width:991px) {
	#contact tr th,#contact tr td,#contact-confirm tr th,#contact-confirm tr td {
		display: block;
	}
	
	#contact th {
		display: block;
		float: none;
		width: 100%;
	}
	#contact td {
		display: block;
		float: none;
		width: 100%;
	}
	
}
.wpcf-customer-title {
	position: relative;
}
.wpcf-customer-title::after {
	content: "▼";
	font-size: 10px;
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#contact p,#contact-confirm p {
	text-align: left;
}

#contact .btn-area p,#contact-confirm .btn-area p {
	text-align: center;
}

.contact-table {
	border-top: 1px solid #999;
	margin-bottom: 40px;
}

.wpcf7-spinner {
	display: block;
	margin-left: auto;
	margin-right: auto;
}


.termlink {
	position: relative;
	overflow: hidden;
}
.termlink-white {
	color: #fff;
}
.termlink::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 4px;
	width: 100%;
	height: 1px;
	background-color: #000;
	transition: ease-in-out 0.2s opacity;
	-webkit-transition: ease-in-out 0.2s opacity;
}
.termlink-white::before {
	background-color: #fff;
}

.termlink.termlink-small-en {
	font-size: 12px;
}

.termlink.termlink-small-en::before {
	bottom: 0px;
}
.termlink.termlink-en::before {
	bottom: 0px;
}

.underline {
	position: relative;
	overflow: hidden;
}
.underline::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 1px;
	background-color: #333;
}
.underline-white::before {
	background-color: #fff;
}

/*
.termlink::after {
	content: "";
	position: absolute;
	left: -100%;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	-ms-transform: scale(1,1);
	transform-origin: left center;
	transition: ease-in-out 0.2s left;
	-webkit-transition: ease-in-out 0.2s left;
}
*/

.termlink:hover {
	opacity: 0.6;
}

.termlink.inactive {
	opacity: 1!important;
}

.module__btn {
	display: block;
	position: relative;
}
.top-module__btn {
	margin-top: 30px;
}
	
@media screen and (max-width:575px) {
	.top-module__btn {
		margin-top: 20px;
	}
}
.btncircle {
	display: inline-block;
}

.btncircle__icon {
	display: inline-block;
	width: 48px;
	height: 48px;
	border-radius: 100%;
}
.btncircle-related .btncircle__icon {
	width: 30px;
	height: 30px;
}

.btncircle__icon_bg {
	width: 100%;
	height: 100%;
	background-image: url(../images/img_btn-icon-black.png);
	background-size: contain;
	background-position: center center;
	transition: 0.3s ease-in-out;
}
.btncircle-prev .btncircle__icon_bg {
	background-image: url(../images/img_nav-prev-black.png);
}
.btncircle-next .btncircle__icon_bg {
	background-image: url(../images/img_nav-next-black.png);
}
.btncircle-prev-white .btncircle__icon_bg {
	background-image: url(../images/img_nav-prev-white.png);
	opacity: 0.7;
}
.btncircle-next-white .btncircle__icon_bg {
	background-image: url(../images/img_nav-next-white.png);
	opacity: 0.7;
}
.btncircle-white .btncircle__icon_bg {
	opacity: 0.9;
	background-image: url(../images/img_btn-icon-white.png);
}

.btncircle-black:hover .btncircle__icon_bg {
	background-image: url(../images/img_btn-icon-black-hover.png);
}
.btncircle-prev:hover .btncircle__icon_bg {
	background-image: url(../images/img_nav-prev-black-hover.png);
}
.btncircle-next:hover .btncircle__icon_bg {
	background-image: url(../images/img_nav-next-black-hover.png);
}
.btncircle-prev-white:hover .btncircle__icon_bg {
/* 	background-image: url(../images/img_nav-prev-white-hover.png); */
	opacity: 1;
}
.btncircle-next-white:hover .btncircle__icon_bg {
/* 	background-image: url(../images/img_nav-next-white-hover.png); */
	opacity: 1;
}
.btncircle-white:hover .btncircle__icon_bg {
	background-image: url(../images/img_btn-icon-white-hover.png);
}

.btncircle-play .btncircle__icon_bg {
	opacity: 0.9;
	background-image: url(../images/img_btn-icon-play.png);
}
.btncircle-play:hover .btncircle__icon_bg {
	opacity: 1;
	background-image: url(../images/img_btn-icon-play-hover.png);
}

.btncircle__txt {
	display: inline-block;
	font-size: 14px;
	color: #333;
	margin-top: 13px;
	margin-left: 10px;
	vertical-align: top;
	font-weight: 500;
	position: relative;
	overflow: hidden;
}

.btncircle-prev .btncircle__txt {
	margin-left: 0;
	margin-right: 0;
}

.btncircle-next .btncircle__txt {
	margin-left: 0;
	margin-right: 0;
}

.btncircle__txt::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #333;
	transform: translateX(0);
}

.btncircle__link {
	width: auto;
	height: 12px;
	margin-left: 10px;
	margin-top: 16px;
	vertical-align: top;
}
@media screen and (max-width:575px) {
	.btncircle__icon {
		width: 40px;
		height: 40px;
	}
	.btncircle__txt {
		font-size: 13px;
		margin-top: 10px;
	}
	.btncircle__link {
		margin-top: 12px;
	}
}


/*
.btncircle__txt::after {
	content: "";
	position: absolute;
	left: -100%;
	bottom: 0;
	width: 0%;
	height: 1px;
	background-color: #ccc;
	transition: 0.2s linear;
	transform-origin: left center;
	z-index: 1;
}
*/


@keyframes btnline {
  0%{
    transform: translateX(-100%);
  }
  
  100%{
	    transform: translateX(100%);
  }
}




.btncircle-white .btncircle__txt::after {
	background-color: #999;
}

.btncircle:hover .btncircle__txt::before {
/* 	transform: scale(1,1); */
	left: 0;
	width: 100%;
	animation:1.2s ease-in-out infinite btnline;
}

.btncircle-white .btncircle__txt {
	color: #fff;
}

.btncircle-white .btncircle__txt::before {
	background-color: #fff;
}

.btncircle-play .btncircle__txt {
	color: #fff;
}
.btncircle-play .btncircle__txt::before {
	background-color: #fff;
}




.btncircle-prev {
	float: left;
	width: calc(100% / 3);
	min-height: 48px;
}
.btncircle-back {
	float: left;
	width: calc(100% / 3);
	text-align: center;
	min-height: 48px;
}
.btncircle-next {
	float: left;
	width: calc(100% / 3);
	text-align: right;
	min-height: 48px;
}





.btnsm {
	display: inline-block;
}

.btnsm__icon {
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 100%;
}
.btnsm__icon_bg {
	width: 100%;
	height: 100%;
	background-image: url(../images/img_nav-next-black-hover.png);
	background-size: contain;
	background-position: center center;
	transition: 0.3s ease-in-out;
}
.btnsm-white .btnsm__icon_bg {
	opacity: 0.9;
	background-image: url(../images/img_nav-next-white-hover.png);
}

.btnsm:hover .btnsm__icon_bg {
	opacity: 1;
	background-image: url(../images/img_nav-next-black.png);
}
.btnsm-white:hover .btnsm__icon_bg {
	background-image: url(../images/img_nav-next-white.png);
}

.btnsm-play .btnsm__icon_bg {
	opacity: 0.9;
	background-image: url(../images/img_btn-icon-play-hover.png);
}
.btnsm-play:hover .btnsm__icon_bg {
	opacity: 1;
	background-image: url(../images/img_btn-icon-play.png);
}

.btnsm-close .btnsm__icon_bg {
	opacity: 0.9;
	background-image: url(../images/img_btn-icon-close-hover.png);
}
.btnsm-close:hover .btnsm__icon_bg {
	opacity: 1;
	background-image: url(../images/img_btn-icon-close.png);
}




.btnsm__txt {
	display: inline-block;
	font-size: 14px;
	color: #333;
	margin-top: 4px;
	margin-right: 10px;
	vertical-align: top;
	font-weight: 500;
	position: relative;
	overflow: hidden;
}

.btnsm__txt::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #333;
	transform: translateX(0);
}

.btnsm-white .btnsm__txt::after {
	background-color: #999;
}

.btnsm:hover .btnsm__txt::before {
/* 	transform: scale(1,1); */
	left: 0;
	width: 100%;
	animation:1.2s ease-in-out infinite btnline;
}

.btnsm-white .btncircle__txt {
	color: #fff;
}

.btnsm-white .btnsm__txt::before {
	background-color: #fff;
}

.btnsm-play .btnsm__txt {
	color: #fff;
}
.btnsm-play .btnsm__txt::before {
	background-color: #fff;
}

.btnsm-close .btnsm__txt {
	color: #fff;
}
.btnsm-close .btnsm__txt::before {
	background-color: #fff;
}



.img-filter-black {
}
.img-filter-grayscale {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}
.bg-filter-grayscale {
	backdrop-filter: grayscale(100%);
	-webkit-backdrop-filter: grayscale(100%);
}


.btnpopup {
	position: absolute;
	right: 4px;
	bottom: 10px;
	width: 24px;
	height: 24px;
	background-color: rgba(0,0,0,0.4);
	z-index: 2;
	border-radius: 100%;
}

.btnpopup span:nth-of-type(1){
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 1px;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	background-color: #fff;
}

.btnpopup span:nth-of-type(2){
	position: absolute;
	top: 50%;
	left: 7px;
	width: 10px;
	height: 1px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	background-color: #fff;
}

.page-slider .btnpopup {
	right: 6px;
	bottom: 6px;
/*
	width: 36px;
	height: 36px;
*/
/*
	background-color: transparent;
	mix-blend-mode: difference;
*/
}
.page-slider .btnpopup span {
}
.page-slider .btnpopup span:nth-of-type(1) {
/* 	width: 20px; */
/* 	background-color: #333; */
}
.page-slider .btnpopup span:nth-of-type(2) {
/*
	left: 8px;
	width: 20px;
*/
/* 	background-color: #333; */
}




#baguetteBox-overlay {
	background-color: #fff !important;
}
#baguetteBox-overlay .full-image {
	background-color: #fff;
}
#baguetteBox-overlay .full-image img {
	box-shadow: none;
	max-height: calc(100% - 60px);
	max-width: calc(100% - 60px);
}
#baguetteBox-overlay .full-image figcaption {
	background-color: transparent;
	color: #333;
	font-weight: 600;
	font-size: 12px;
}
.baguetteBox-button#close-button {
	background-color: transparent;
	width: 40px;
	height: 40px;
	top: 24px;
	right: 28px;
}
.baguetteBox-button#close-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform-origin: center center;
	-webkit-transform-origin: center center;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	border-radius: 1px;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.baguetteBox-button#close-button::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform-origin: center center;
	-webkit-transform-origin: center center;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	border-radius: 1px;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
}

body.baguetteBox-column #baguetteBox-overlay .full-image img {
	max-width: 940px;
}


.baguetteBox-button#close-button svg {
	display: none;
}
@media screen and (max-width:1024px) {
	
	body.baguetteBox-column #baguetteBox-overlay .full-image img {
		max-width: calc(100% - 200px);
	}
	
	#baguetteBox-overlay .full-image img {
/*
		width: 100%;
		max-height: auto;
*/
		
	}

}

@media screen and (max-width:575px) {
	body.baguetteBox-column #baguetteBox-overlay .full-image img {
		max-width: calc(100% - 100px);
	}
}
@media screen and (max-width:575px) {
	.baguetteBox-button#close-button {
		top: 17px;
	}

}

.baguetteBox-button#next-button, .baguetteBox-button#previous-button {
	background-color: transparent;
	width: 48px;
	height: 48px;
	top: calc(50% -24px);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	transition: 0.3s ease-in-out opacity;
	-webkit-transition: 0.3s ease-in-out opacity;
}
.baguetteBox-button svg {
	display: none;
}

.baguetteBox-button#previous-button {
	left: calc(50% - 560px);
	background-image: url(../images/img_nav-prev-black.png);
	opacity: 0.7;
}
.baguetteBox-button#previous-button:hover {
	opacity: 1;
/* 	background-image: url(../images/img_nav-prev-black-hover.png); */
	
}

.baguetteBox-button#next-button {
	right: calc(50% - 560px);
	background-image: url(../images/img_nav-next-black.png);
	opacity: 0.7;
}
.baguetteBox-button#next-button:hover {
	opacity: 1;
/* 	background-image: url(../images/img_nav-next-black-hover.png); */
}

@media screen and (max-width:1240px) {
	.baguetteBox-button#previous-button {
		left: 30px;
	}
	.baguetteBox-button#next-button {
		right: 30px;
	}
}
@media screen and (max-width:575px) {
	
	.baguetteBox-button#close-button {
		right: 18px;
	}
	
	.baguetteBox-button#previous-button {
		left: 20px;
		width: 40px;
		height: 40px;
	}
	.baguetteBox-button#next-button {
		right: 20px;
		width: 40px;
		height: 40px;
	}
}

.btncircle-prev .btncircle__icon_bg {
	background-image: url(../images/img_nav-prev-black.png);
}



#works-bread li,#works-bread li a {
	color: #fff;
}
.bread-wrapper {
	position: relative;
	margin-top: 27px;
	margin-bottom: 20px;
	text-align: right;
}
.no-bread-wrapper {
	margin-top: 57px;
}
#products-single .bread-wrapper,#works-single .bread-wrapper {
	position: absolute;
	top: 27px;
	left: 0;
	width: 100%;
	z-index: 3;
	margin: 0;
}
@media screen and (max-width: 575px) {
	.bread-wrapper {
		margin-top: 20px;
	}
	#products-single .bread-wrapper,#works-single .bread-wrapper {
		top: 20px;
	}
	.no-bread-wrapper {
		margin-top: 20px;
	}
}
.bread-wrapper li {
	font-size: 12px;
	display: inline-block;
}
.bread-wrapper li + li:before{
	content: "/";
	display: inline-block;
	margin-left: 6px;
	margin-right: 6px;
	position: relative;
	top: -1px;
	opacity: 0.6;
}

.bread-wrapper li a {
	opacity: 0.6;
}

.bread-wrapper li a:hover {
	opacity: 1;
}



.footer {
	position: relative;
	color: #eee;
	min-height: 350px;
	background-color:#333;
}
.footer__inner {
	padding-top: 60px;
}
.footer .module {
	display: flex;
	flex-direction: row;
}
.footer .module__left {
	order: 1;
	width: 40%;
}
.footer .module__right {
	order: 2;
	width: 60%;
}
@media screen and (max-width:810px) {
	.footer .module {
		flex-direction: column;
	}
	.footer .module__left {
		order: 2;
		margin-bottom: 80px;
		width: 100%;
	}
	.footer .module__right {
		order: 1;
		margin-bottom: 24px;
		width: 100%;
	}
}
.copy {
	position: absolute;
	left: 30px;
	bottom: 20px;
	display: block;
	font-size: 12px;
	letter-spacing: 0.05em;
	transform-origin: top left;
	-webkit-transform-origin: top left;
	margin-top: 3px;
	color: #eee;
}
.footer__follow {
	margin-top: 10px;
	margin-left: -6px;
}
.follow__icon {
	padding: 6px 6px;
	display: inline-block;
	margin-right: 4px;
}
.follow__icon_img {
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
}
.follow__icon-x .follow__icon_img {
	width: 20px;
	height: 20px;
	background-image: url(../images/img_sns-icon-x-gray.png);
}
.follow__icon-ig .follow__icon_img {
	width: 20px;
	height: 20px;
	background-image: url(../images/img_sns-icon-ig-gray.png);
}
.follow__icon-yt .follow__icon_img {
	width: 22px;
	height: 22px;
	background-image: url(../images/img_sns-icon-yt-gray.png);
	position: relative;
	top:1px;
}
.follow__icon-in .follow__icon_img {
	width: 18px;
	height: 22px;
	background-image: url(../images/img_sns-icon-in-gray.png);
	position: relative;
}

.follow__icon:hover {
	opacity: 0.6;
}

.footer__copy {
	display: block;
	font-size: 10px;
	letter-spacing: 0.075em;
	transform-origin: top left;
	-webkit-transform-origin: top left;
	margin-top: 3px;
	color: #ccc;
}
@media screen and (max-width:575px) {
	.footer {
		padding-bottom: 30px;
	}
	.footer .module__left {
		margin-bottom: 40px;
	}
	.footer .footeropt li {
		height: 42px;
	}
	.footer__follow {
		position: relative;
		bottom: auto;
		right: auto;
	}
	.footer__follow_txt {
		margin-bottom: 6px;
		padding-left: 0;
	}
	.footer__logo {
		display: block;
	}
	.footer__logo_img {
		width: 145px;
	}	
}


.footer li {
	height: 48px;
}
.footer li a {
	display: inline-block;
	color: #ccc;
	transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	line-height: 1.2;
}
.footernav li a {
	border-bottom: 1px solid #ccc;
}
.footer li a:hover {
	color: #fff;
}
.footernav li a:hover {
	border-bottom: 1px solid #fff;
}

.footer__logo {
	margin-bottom: 10px;
}
.footer__logo_img {
	width: 120px;
	height: auto;
}
.footernav li {
	width: 100%;
	float: left;
}
.footeropt li img {
	width: auto;
	height: 12px;
	margin-left: 10px;
}

.footer__nav_left {
	width: calc(100% / 3);
	max-width: 300px;
	float: left;
}
.footer__nav_middle {
	width: calc(100% / 3);
	max-width: 300px;
	float: left;
}
.footer__nav_right {
	width: calc(100% / 3);
	max-width: 300px;
	float:left;
}
@media screen and (max-width:575px) {
	.footer__nav_left {
		width: 50%;
		float: left;
		margin-bottom: 20px;
	}
	.footer__nav_middle {
		width: 50%;
		float: left;
	}
	.footer__nav_right {
		clear: both;
		width: 100%;
		float:none;
	}
}



/* for WP edit */
.btnedit {
	position: absolute;
	left: 20px;
	bottom: 20px;
	width: 50px;
	height: 50px;
	display: block;
	z-index: 3;
	border: solid 1px #666;
	background-color: rgba(255,255,255,0.8);
	border-radius: 100%;
	transition: 0.3s ease-in-out border;
	-webkit-transition: 0.3s ease-in-out border;
}
.btnedit span {
	position: absolute;
	top: calc(50% + 1px);
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	color: #666;
	transition: 0.3s ease-in-out color;
	-webkit-transition: 0.3s ease-in-out color;
}

.item .btnedit {
	position: absolute;
	left: auto;
	right: 20px;
	bottom: 60px;
	
}

.btnedit:hover {
	border: solid 1px #000;
}
.btnedit:hover span {
	color: #000;
}

.btnedit img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: auto;
}

.not-found {
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}
.not-found__txt {
	font-size: 16px;
}



/* column */
#column {
	background-color: #fff;
}
.column-slider {
	overflow: hidden;
	margin-top: 20px;
}

.column-slider .swiper-slide {
	width: calc(100% / 3 - 13.333px);
	box-sizing: border-box;
	margin-right: 20px;
}
.column-slider .swiper-slide:first-child {
	margin-left: 0 !important;
}
/*
.column-item__inner {
	margin-left: 10px;
	margin-right: 10px;
}
*/
@media screen and (max-width: 1180px) {
	.column-slider {
		overflow: visible;
	}
	.column-slider .swiper-container {
		overflow: visible;
	}
}
@media screen and (max-width: 880px) {
	.column-slider {
		padding-right: 0 !important;
	}
	.column-slider .swiper-slide {
		width: 285px;
		box-sizing: border-box;
		margin-right: 20px;
	}
}
@media screen and (max-width: 810px) {
	.column-slider {
		margin-top: 0px;
	}
}
.column-item-wrapper {
	display: flex;
	flex-wrap: wrap;
}
.column-archive-item {
	position: relative;
	margin-bottom: 20px;
}
.column-item__bg {
	display: block;
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 66.666%;
	background-color: #ccc;
}
.column-item__bg div {
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
}
.column-item__bg::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left:0;
	z-index: 2;
	background-color: rgba(0,0,0,0.15);
/* 	mix-blend-mode: color; */
	opacity: 1;
}

.column-item__inner:hover .column-item__bg div {
	
}
.column-item__txt {
	padding-top: 15px;
}
.column-item__date {
	position: relative;
	vertical-align: top;
}
.column-item__cat {
	margin-left: 15px;
    display: inline-block;
    border-radius: 10px;
    border: 1px solid #666;
    text-align: center;
/*     min-width: 80px; */
    height: 17px;
    position: relative;
    padding-left: 10px;
    padding-right: 10px;
}
.column-item__cat span {
	font-size: 11px;
    vertical-align: baseline;
    line-height: 1;
    position: relative;
    top: -3px;
}
.column-item__ttl {
	margin-top: 6px;
	font-size: 14px;
}

.item.column-archive-item {
	width: calc(100% / 2);
}
@media screen and (max-width:810px) {
	.column-item-wrapper {
		margin-bottom: 40px;
	}
}
@media screen and (max-width:575px) {
	
	.column-item__ttl {
		margin-top: 2px;
	}
	
	.item.column-archive-item {
		width: 100%;
		margin-bottom: 30px;
	}
	.item.column-archive-item:last-child {
		margin-bottom: 0;
	}
	
	
}
/* post column */
.column-single__content h2,.column-single__content h3,.column-single__content h4,.column-single__content h5,.column-single__content h6 {
	margin-bottom: 0.2em;
}
.column-single__content p {
	margin-bottom: 20px;
}
.column-single__cloud {
	margin-bottom: 30px;
}
.column-single__date {
	margin-bottom: 20px;
}
.column-single__thumbnail {
	margin-bottom: 30px;
}
.column-single__ttl {
	line-height: 1.2;
	margin-bottom: 30px;
}
.column-single__cat {
	margin-right: 10px;
	margin-bottom: 10px;
	display: inline-block;
}
.column-single__tag {
	margin-right: 10px;
	margin-bottom: 10px;
	display: inline-block;
}
@media screen and (max-width: 575px) {
	.column-single__date {
		margin-bottom: 10px;
	}
	.column-single__ttl {
		margin-bottom: 20px;
	}
	.column-single__cloud {
		margin-bottom: 20px;
	}
}

.column-sidebar__ttl {
	font-size:12px;
	font-weight:600;
	padding-bottom:6px;
	margin-bottom: 10px;
	display:block;
	border-bottom:1px solid #333;
}
.column-sidebar__cat {
	margin-right: 10px;
	margin-bottom: 10px;
	display: inline-block;
}
.column-sidebar__cat.cat-line {
	line-height: 1.2;
	margin-right: 15px;
/*
	margin-right: 10px;
	margin-bottom: 5px;
	font-size: 12px;
*/
}

.column-item__tag {
	font-size: 12px;
	margin-left: 10px;
	vertical-align: top;
}

/*contents*/
.column-single__content .gallery-caption {
	font-size: 12px;
	text-align: left;
}

/*TOC*/
#toc_container {
	margin-bottom: 60px;
}
#toc_container p.toc_title {
	text-align: left;
}
.toc_list {
	margin-bottom: 10px;
}
.toc_list li::before {
	content: "・";
    width: auto;
    height: auto;
    display: inline;
    background: none;
    transform: none;
    position: relative;
}
.toc_list li {
	padding-left: 1em !important;
    text-indent: -1em !important;
	font-size: 16px !important;
	margin-bottom: 4px !important;
}

@media screen and (max-width:640px) {
	.toc_list li {
		font-size: 14px !important;
	}
}

.column-sidebar__cat.cat-capsule {
	padding-left: 10px;
	padding-right: 10px;
}
.column-sidebar__cat.cat-capsule.active {
	background-color: #fff !important;
}


.cat-line span {
	position: relative;
}
.cat-line span::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 0%;
	height: 1px;
	background-color: #333;
	transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
}

.cat-line:hover span::before {
	width: 100%;
}
.cat-line.active span::before {
	width: 100% !important;
}
.swiper-single .swiper-pagination {
	display: none !important;
}

.item .btnedit {
	top: 20px !important;
	bottom: auto !important;
}
#archive-column .btnedit,#category-column .btnedit,#tag-column .btnedit {
	left: auto;
	top: 20px;
	right: 20px;
	bottom: auto;
}
.wp-pagenavi {
	margin-bottom: 10px;
	overflow: hidden;
	display: inline-block;
}

.pagenavi-wrapper {
	overflow: hidden;
	text-align: center;
}

.wp-pagenavi a, .wp-pagenavi span {
	float: left;
	color: #333;
	margin-left: 8px !important;
	margin-right: 8px !important;
	width: 40px;
    height: 40px;
    line-height: 41px;
    text-align: center;
    display: inline-block;
    z-index: 3;
    border: none;
    background-color: #fff;
    border-radius: 100%;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;	
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    background-color: #333;
    color: #fff;
    font-weight: 400 !important;
}
/*
.btnsm__icon {
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 100%;
}
.btnsm__icon_bg {
	width: 100%;
	height: 100%;
	background-image: url(../images/img_nav-next-black-hover.png);
	background-size: contain;
	background-position: center center;
	transition: 0.3s ease-in-out;
}
.btnsm-white .btnsm__icon_bg {
	opacity: 0.9;
	background-image: url(../images/img_nav-next-white-hover.png);
}

.btnsm:hover .btnsm__icon_bg {
	opacity: 1;
	background-image: url(../images/img_nav-next-black.png);
}
.btnsm-white:hover .btnsm__icon_bg {
	background-image: url(../images/img_nav-next-white.png);
}
*/


.module__column-sidebar {
	width: 320px;
}
.module__right.module__column-sidebar {
	padding-left: 40px;
}
.module__column-content {
	width: calc(100% - 320px);
}
@media screen and (max-width:810px) {
	.module__column-content {
		margin-bottom: 40px;
	}
	.module__column-sidebar {
		width: 100%;
	}
	.module__right.module__column-sidebar {
		padding-left: 0;
	}
	.module__column-content {
		width: 100%;
	}
	
}

/*add*/
.post, .page {
	margin: 0;
}
.cat-capsule {
	padding-left: 10px;
	padding-right: 10px;
	transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	background-color: transparent;
	min-width: auto;
}
.cat-capsule:hover {
	background-color: #fff;
}

.cat-capsule span {
	font-size: 11px;
}


.pageheader {
/* 	margin-top: 27px; */
/* 	margin-bottom: 20px; */
}

.pageheader__inner {
	display: flex;
	margin-bottom: 30px;
}
.pagettl {
	text-align: left;
	font-size: 24px;
	font-weight: 400;
	width: calc(100% - 280px);
}
.pagettl span {
	border-bottom:1px solid #333;
}

#works-bread .bread-wrapper {
	max-width: none;
}
#works-bread .bread-wrapper ul {
	margin-top: 0;
}
.bread-wrapper {
	margin-top: 0;
	margin-bottom: 0;
	width: 100%;
	max-width: 280px;
	margin-left: auto;
}
.bread-wrapper ul {
	display: flex;
	justify-content: flex-end;
	flex-wrap: nowrap; /* 折り返さない */
	overflow: hidden; /* はみ出しを隠す */
	margin-top: 12px;
}
.bread-wrapper li:not(:last-child) {
  flex-shrink: 0; /* 縮まないように固定 */
}

@media screen and (max-width:575px) {
	.pagettl {
		font-size: 20px;
	}
	.pageheader__inner {
		margin-bottom: 30px;
	}
	.bread-wrapper {
		max-width: 180px;
	}
	.bread-wrapper ul {
		margin-top: 6px;
	}
}


/* 省略させたいliタグ（最後） */
.bread-wrapper li:last-child {
  /* この3つは必ずセットで指定する */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  flex-shrink: 1; /* 幅が足りない場合に優先して縮む */
  min-width: 0;   /* 縮む際の最小幅を0に設定 */
}

/*th banner*/

.th-banner {
	right: 0px;
	bottom: 30px;
	position: fixed;
	background-color: rgba(255,255,255,0.8);
	border-top: solid 1px rgba(255,255,255,0.6);
	border-left: solid 1px rgba(255,255,255,0.6);
	border-bottom: solid 1px rgba(255,255,255,0.6);
	width: 100%;
	max-width: 290px;
	z-index: 10;
/*
	opacity: 0;
	visibility: hidden;
*/
	transition: ease-in-out 0.3s opacity,ease-in-out 0.3s transform;
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
}
#top .th-banner {
	position: absolute;
}
/*
.th-banner.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
*/
.th-banner__inner {
	display: grid;
	column-gap: 10px;
	text-align: left;	
	grid-template-rows: 1fr 55px;
	grid-template-columns: 50px 1fr;
	column-gap: 5px;
	
}
.th-banner__item-btn {
	grid-row: span 3;
	grid-column: span 1;
	position: relative;
	cursor: pointer;
/* 	background-color: rgba(255,255,255,0.6); */
	border-top-left-radius: 14px;
	border-bottom-left-radius: 14px;
	transition: ease-in-out 0.3s background-color;
	-webkit-transition: ease-in-out 0.3s background-color;
}
.th-banner__item-btn_txt {
	writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    margin-top: 10px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}
.th-banner__item-btn_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform-origin: center;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	text-align: center;
}
.th-banner__item-btn_img {
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(../images/img_btn-icon-sm-black.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: ease-in-out 0.3s background-image;
	-webkit-transition: ease-in-out 0.3s background-image;
}
.th-banner__item-btn:hover {
/* 	background-color: rgba(255,255,255,1); */
}
.th-banner__item-btn:hover .th-banner__item-btn_img {
	background-image: url(../images/img_btn-icon-sm-black-hover.png);
}
.th-banner.is-hide .th-banner__item-btn_img {
	transform-origin: center;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
}
.th-banner.is-hide {
	transform: translateX(calc(100% - 50px));
}
.th-banner__item-caption {
	grid-row: span 1;
	padding-top: 10px;
}
.th-banner__item-caption_txt {
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.th-banner__item-ttl {
	font-size: 14px;
	display:block;
	font-weight:500;
	letter-spacing: 0.075em;
/*
	padding-top: 5px;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 10px;
	align-items: center;
*/	
	display: block;
	padding-top: 20px;
	padding-bottom: 10px;
	text-align: center;
	padding-right: 30px;
	
}
.th-banner__item-ttl_left {
	margin-bottom: 3px;
/* 	padding-left: 15px; */
}
.th-banner__item-ttl_right {
/* 	padding-right: 15px; */
}
.th-banner__item-ttl img {
	width: auto;
	height: 45px;
}
.th-banner__item-map {
	text-align: center;
}
.th-banner__item_link {
	display: inline-block;
	border-radius: 20px;
	padding: 5px 15px;
	background-color: rgba(255,255,255,0.6);
	border: 1px solid #333;
	transition: ease-in-out 0.3s background-color;
	-webkit-transition: ease-in-out 0.3s background-color;
	margin-bottom: 10px;
}
.th-banner__item_link:hover {
	background-color: rgba(153,153,153,0.6);
}

.th-banner__item_link:hover {
	background-color: #333;
}
.th-banner__item_link:hover .th-banner__item_link_txt {
	color: #fff;
}
.th-banner__item_link_txt {
	display: inline-block;
	font-size: 12px;
    vertical-align: baseline;
	font-weight: 500;
}
.th-banner__item_link_img {
	display: inline-block;
	width: 13px;
    height: 12px;
    background-size: contain;
    background-image: url(../images/img_link-black.png);
    background-repeat: no-repeat;
    background-position: center center;
    margin-left: 7px;
    vertical-align: baseline;
    position: relative;
    top: 2px;
}
.th-banner__item_link:hover .th-banner__item_link_img {
    background-image: url(../images/img_link-white.png);
}


.th-banner__inner {
}
.th-banner__item-ttl {
}
/*
.th-banner {
	width: auto;
	max-width: calc(100% - 40px);
}
*/
.th-banner__item-map {
	padding-right: 30px;
}

@media screen and (max-width:575px) {
	.th-banner {
		max-width: 280px;
	}
	.th-banner__item-ttl {
		padding-right: 20px;
	}
	.th-banner__item-map {
		padding-right: 20px;
	}
	.th-banner__inner {
		grid-template-rows: 1fr 50px;
	}
}
@media screen and (max-width:280px) {
	.th-banner__inner {
		grid-template-rows: 1fr 1fr;
	}
}
@media screen and (min-width:576px) {
/*
	.th-banner-sp {
		display: none;
	}
*/
}
/*
.th-banner__item-map a:hover,.th-banner__item-ig a:hover {
	color: #fff;
	background-color: #333;
}
.th-banner__item-map a:hover .ex-link {
	background-image: url(../images/img_link-white.png);
}
.th-banner__item-ig a:hover .ex-link {
	background-image: url(../images/img_link-white.png);
}
*/






