/* @group base 

_|_|_|      _|_|      _|_|_|  _|_|_|_|
_|    _|  _|    _|  _|        _|
_|_|_|    _|_|_|_|    _|_|    _|_|_|
_|    _|  _|    _|        _|  _|
_|_|_|    _|    _|  _|_|_|    _|_|_|_|

 --------------------------------------------------------*/
html {
	display: block;
	width: 100%;
	-webkit-text-size-adjust: 100%;
}

html * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/*
@font-face {
	font-family: 'EBGaramond-Medium';
	src: url('font_eb_garamond/EBGaramond-Medium.woff') format('woff'), url('font_eb_garamond/EBGaramond-Medium.svg#EBGaramond-Medium') format('svg'), url('font_eb_garamond/EBGaramond-Medium.eot'), url('font_eb_garamond/EBGaramond-Medium.eot?#iefix') format('embedded-opentype');
	font-weight: normal;
	font-style: normal;
}
*/
@font-face {
	font-family: 'Poppins-SemiBold';
	src: url('font_poppins/Poppins-SemiBold.woff') format('woff'), url('font_poppins/Poppins-SemiBold.svg#Poppins-SemiBold') format('svg'), url('font_poppins/Poppins-SemiBold.eot'), url('font_poppins/Poppins-SemiBold.eot?#iefix') format('embedded-opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'NotoSansCJKjp-Regular';
	src: url('font_notosans_subset/NotoSansCJKjp-Regular.woff') format('woff'), url('font_notosans_subset/NotoSansCJKjp-Regular.svg#NotoSansCJKjp-Regular') format('svg'), url('font_notosans_subset/NotoSansCJKjp-Regular.eot'), url('font_notosans_subset/NotoSansCJKjp-Regular.eot?#iefix') format('embedded-opentype');
	font-weight: normal;
	font-style: normal;
}

.font_notosans {
	font-family: 'NotoSansCJKjp-Regular';
}

.font_poppins {
	font-family: 'Poppins-SemiBold';
}

body {
	margin: 0;
	display: block;
	width: 100%;
	font-family: 'NotoSansCJKjp-Regular', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
	color: #222;
	font-size: 10pt;
	line-height: 25px;
	font-feature-settings: "palt" 1;
	font-feature-settings: "liga" 0;
	-webkit-font-smoothing: antialiased;
	letter-spacing: 1.5px;
	background-color: #BCAD91;
}

body::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 5px;
}

body::-webkit-scrollbar-track {
	width: 5px;
}

body::-webkit-scrollbar-thumb {
	border-radius: 0;
	background: #555;
}

body::-webkit-scrollbar-track-piece:start {
	background: #DDD;
}

body::-webkit-scrollbar-track-piece:end {
	background: #DDD;
}

body.navi_open {
	overflow: hidden;
}

html.loading::after {
	content: "";
	z-index: 1000;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.6);
}

.serif {
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}

.sanserif {
	font-family: 'NotoSansCJKjp-Regular', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}

::selection {

	/* Safari */
	background: #000;
	color: #FFF; /* Safari */
}

::-moz-selection {
	background: #000; /* Firefox */
	color: #FFF;
}

a {
	color: #555;
	text-decoration: underline;
	-webkit-tap-highlight-color: transparent;
	outline: none;
	word-break: break-all;
}

a:link, a:visited, a:active {
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

a.over, .over, a.pjax {
	text-decoration: none;
	cursor: pointer;
	pointer-events: auto !important;
}

img {
	display: inline-block;
	max-width: 100%;
}

img.object_fit {
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit:cover;object-position: center center;';
}

.parallax_base {
	position: relative;
	width: 100%;
	height: 100%;
}

img.parallax {

	/*
		-moz-transform-property: -moz-transform, -moz-opacity !important;
		-webkit-transform-property: -webkit-transform, -webkit-opacity !important;
		-o-transform-property: -o-transform, -o-opacity !important;
		-ms-transform-property: -ms-transform, -ms-opacity !important;
		transition-property: transform, opacity !important;

		transition-duration: 6s, 2s !important;
		transition-delay: 0s, 1s !important;

		transition-timing-function: cubic-bezier(0,.7,.3,1) !important;
	*/
}

.scroll_trigger {
	transition-property: transform, opacity;
	transition-delay: 0s;
	transition-duration: 0.8s;
	transition-timing-function: cubic-bezier(0, .5, .5, 1);
}

.scroll_trigger.move_up {
	transform: matrix(1, 0, 0, 1, 0, 200);
	opacity: 0;
}

.scroll_trigger.move_left {
	transform: matrix(1, 0, 0, 1, 200, 0);
	opacity: 0;
}

.scroll_trigger.move_right {
	transform: matrix(1, 0, 0, 1, -200, 0);
	opacity: 0;
}

.scroll_trigger.action {
	transform: matrix(1, 0, 0, 1, 0, 0);
	opacity: 1;
}

span {
	display: inline-block;
}

small {
	font-size: 80%;
}

hr {
	border-top: 1px solid #AAA;
}

.textillate_wrapper span {
	visibility: hidden;
}

.textillate_wrapper span > span {
	visibility: visible;
}

body > #wrapper {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 320px;
	min-height: 320px;
	position: relative;
	z-index: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

body.modal {
	overflow: hidden;
}

body #entry {
	transition-property: opacity, z-index, height;
	transition-delay: 0s, 1s, 1s;
	transition-duration: 0.5s, 0s, 0s;
	width: 100%;
	height: 0%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	min-width: 320px;
	z-index: -1;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	background: #FFF;
}

body.modal #entry, body.entry #entry {
	height: 100%;
	transition-delay: 0s, 0s, 0s;
	transition-duration: 0.5s, 0.5s, 0s;
	z-index: 50;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

#entry > div.inner {
	transition-property: opacity;
	transition-duration: 0.5s;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	margin: 0 !important;
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	-webkit-transform: translateZ(0px);
	width: 100%;
	height: 100%;
	padding: 0;
}

.scroll_snap {
	scroll-snap-type: y mandatory;
	scroll-behavior: smooth;
}

.scroll_snap.scroll_snap_stop {
	scroll-snap-type: none;
	scroll-behavior: auto;
}

.scroll_snap > * {
}

#entry > div.inner::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 5px;
}

#entry > div.inner::-webkit-scrollbar-track {
	width: 5px;
}

#entry > div.inner::-webkit-scrollbar-thumb {
	border-radius: 0;
	background: #555;
}

#entry > div.inner::-webkit-scrollbar-track-piece:start {
	background: #DDD;
}

#entry > div.inner::-webkit-scrollbar-track-piece:end {
	background: #DDD;
}

#entry > div.inner.pending {
	transition-duration: 0s;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

#entry > div.inner > article {
	margin: 0 auto;
	text-align: center;
	position: relative;
	padding: 50px 0 200px;
	z-index: 2;
}

body > #wrapper > #container {
	position: relative;
	display: block;
	width: 100%;
	transition-property: opacity;
	transition-duration: 2s;
	transition-timing-function: ease-out;
	height: 100%;
	z-index: 1;
}

html.stand body > #wrapper > #container {

	/*
		transition-duration: 0.1s;
		opacity: 0;
		-moz-opacity: 0;
		filter: alpha(opacity=0);
		-ms-filter: "alpha(opacity=0)";
	*/
}

body.modal > #wrapper > #container {
}

#return_top {
	transition-property: opacity;
	transition-duration: 0.5s;
	transition-timing-function: ease-out;
	position: absolute;
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 130;
	margin: 0 auto;
	color: #878788;
	right: 15px;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	bottom: 10px;
}

html.scrolled #return_top.on {
	transition-duration: 0.2s;
	opacity: 0.6;
	-moz-opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}

html.scrolled #return_top {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

#return_top::after {
	content: "";
	position: absolute;
	border-top: 1px solid;
	border-left: 1px solid;
	width: 16px;
	height: 16px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

#return_top::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 19px;
	background: #878788;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

#scroll_bottom {
	display: none;
	transition-property: opacity;
	transition-duration: 0.5s;
	transition-timing-function: ease-out;
	position: absolute;
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 140;
	margin: 0 auto;
	color: #878788;
	right: 15px;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	bottom: 10px;
}

body.works.page #scroll_bottom {
	display: block;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

body.works.page #scroll_bottom.on {
	transition-duration: 0.2s;
	opacity: 0.6;
	-moz-opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}

html.scrolled body.works.page #scroll_bottom {
	display: none;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

#scroll_bottom::after {
	content: "";
	position: absolute;
	border-top: 1px solid;
	border-left: 1px solid;
	width: 16px;
	height: 16px;
	-webkit-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

#scroll_bottom::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 19px;
	background: #878788;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

#debug {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1000;
}

#google_maps {
	height: 350px;
	transition-property: opacity;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

#google_maps.show {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

.spinner, .spinner:after {
	border-radius: 50%;
	width: 3em;
	height: 3em;
}

.spinner {
	width: 24px;
	height: 24px;
	margin: auto;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-indent: -9999em;
	border-top: 2px solid rgba(200, 200, 200, 0.5);
	border-right: 2px solid rgba(200, 200, 200, 0.5);
	border-bottom: 2px solid rgba(200, 200, 200, 0.5);
	border-left: 2px solid #888;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: spinner_loading 1.1s infinite linear;
	animation: spinner_loading 1.1s infinite linear;
	font-size: 1px;
}

@-webkit-keyframes spinner_loading {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}

}

@keyframes spinner_loading {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}

}

body > div.loading {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9000;
	background: rgba(30, 30, 30, 0.7);
	transition-duration: 0.6s;
	transition-timing-function: ease-out;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

body > div.loading.show {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

body > div.loading > i {
	border-radius: 50%;
	width: 30px;
	height: 30px;
	margin: auto;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-indent: -9999em;
	border-top: 2px solid rgba(200, 200, 200, 0.5);
	border-right: 2px solid rgba(200, 200, 200, 0.5);
	border-bottom: 2px solid rgba(200, 200, 200, 0.5);
	border-left: 2px solid #FFF;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: spinner_loading 1.1s infinite linear;
	animation: spinner_loading 1.1s infinite linear;
	font-size: 1px;
}

.inline_scroll {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-transform: translateZ(0px);
}

.inline_scroll::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 5px;
}

.inline_scroll::-webkit-scrollbar-track {
	width: 5px;
}

.inline_scroll::-webkit-scrollbar-thumb {
	border-radius: 0;
	background: #555;
}

.inline_scroll::-webkit-scrollbar-track-piece:start {
	background: #DDD;
}

.inline_scroll::-webkit-scrollbar-track-piece:end {
	background: #DDD;
}

#wrapper > div.modal {
	display: none;
	position: fixed;
	z-index: 220;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition-property: opacity;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

#wrapper > div.modal.fadeout {
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

#wrapper > div.modal.active {
	display: block;
}

#wrapper > div.modal > div.inner {
	position: absolute;
	left: 0;
	right: 0;
	max-width: 900px;
	width: 90%;
	margin: auto;
	background: #FFF;
	z-index: 5;
	height: 90%;
	bottom: 0;
	top: 0;
}

#wrapper > div.modal > div.inner > div.inline_scroll {
	padding: 4% 3%;
}

#wrapper > div.modal > div.inner > div.inline_scroll > div.content {
	position: relative;
}

#wrapper > div.modal > div.inner > div.inline_scroll > div.content a {
}

#wrapper > div.modal.canceled > div.inner {
	max-width: 400px;
	max-height: 400px;
}

#wrapper > div.modal.canceled > div.inner > div.inline_scroll > div.content {
	text-align: center;
}

#wrapper > div.modal.canceled > div.inner > div.inline_scroll > div.content > img {
	max-width: 300px;
	display: block;
	margin: 0 auto;
	width: 80%;
}

#wrapper > div.modal.canceled > div.inner > div.inline_scroll > div.content > a {
	display: inline-block;
	border-bottom: 1px solid;
}

#wrapper > div.modal > div.inner > a {
	position: absolute;
	width: 120px;
	height: 24px;
	top: 0;
	right: 50px;
	color: #555;
	font-size: 80%;
	text-align: center;
	margin: 8px 0;
	line-height: 23px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	border: 1px solid #888;
}

#entry > div.inner > article > a.close {
	position: absolute;
	width: 60px;
	height: 60px;
	top: 0;
	right: 0;
	background: url("../elements/close_b.png") no-repeat 50% 50%;
	background-size: 100% 100%;
	cursor: pointer;
}

#entry > div.inner > article > a.close > span {
	display: block;
	width: 100%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#entry > div.inner > a.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: rgba(0, 0, 0, 0.6);
}

#entry > a.close.corner {
	position: absolute;
	width: 60px;
	height: 60px;
	top: 10px;
	right: 10px;
	background: url("../elements/close_b.png") no-repeat 50% 50%;
	background-size: 100% 100%;
	cursor: pointer;
}

#entry > a.close.corner > span {
	display: block;
	width: 100%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#entry > div.show_thms {
	position: absolute;
	width: 60px;
	height: 60px;
	top: 10px;
	right: 55px;
	background: url("../elements/icon_grid.svg") no-repeat 50% 50%;
	background-size: 100% 100%;
	cursor: pointer;
	z-index: 20;
}

#entry > div.close_thms {
	display: none;
	position: absolute;
	width: 60px;
	height: 60px;
	top: 10px;
	right: 10px;
	background: url("../elements/close_b.png") no-repeat 50% 50%;
	background-size: 100% 100%;
	cursor: pointer;
	z-index: 20;
}

div.row {
	letter-spacing: -.40em;
}

div.row > div.col {
	letter-spacing: normal;
}

a.btn_common {
	line-height: 50px;
	max-width: 300px;
	display: block;
	text-align: center;
	border: 1px solid;
	color: #000;
	font-family: 'NotoSansCJKjp-Regular', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
	font-size: 90%;
	letter-spacing: 0.15em;
	background: #FFF;
	transition-property: background-color;
	transition-duration: 0.4s;
	transition-timing-function: ease-out;
}

a.btn_common.on {
	transition-duration: 0.2s;
	background: #EEE;
}

html .pc {
	display: inherit;
}

html .sp {
	display: none !important;
}

/* @end */

/* @group container article 

  _|_|_|    _|_|    _|      _|  _|_|_|_|_|    _|_|    _|_|_|  _|      _|  _|_|_|_|  _|_|_|
_|        _|    _|  _|_|    _|      _|      _|    _|    _|    _|_|    _|  _|        _|    _|
_|        _|    _|  _|  _|  _|      _|      _|_|_|_|    _|    _|  _|  _|  _|_|_|    _|_|_|
_|        _|    _|  _|    _|_|      _|      _|    _|    _|    _|    _|_|  _|        _|    _|
  _|_|_|    _|_|    _|      _|      _|      _|    _|  _|_|_|  _|      _|  _|_|_|_|  _|    _|

 --------------------------------------------------------*/
#container > div#bg {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	transition-property: opacity;
	transition-duration: 1s;
	transition-timing-function: ease-out;
}

#viewer {
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	transition-property: opacity;
	transition-duration: 2s;
	transition-timing-function: ease-out;
}

html.world_start #viewer {
	transition-delay: 0s;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

body.root:not(.biography) #container > div#bg {
	transition-delay: 0s, 0s;
	display: block;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	animation: show 1s ease-out 1s;
}

@keyframes show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}

}

#container > div#bg > div.enter {
	position: absolute;
	top: 10px;
	left: 0;
	right: 0;
	bottom: auto;
	width: 220px;
	height: 35px;
	margin: auto;
	z-index: 100;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	transition-property: opacity;
	transition-delay: 1s;
	transition-duration: 1s;
	transition-timing-function: ease-out;
}

html.start #container > div#bg > div.enter {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

#container > div#bg > div.enter > div.inner {
	width: 100%;
	height: 100%;
}

#container > div#bg > div.enter > div.inner > a {
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0) url(../elements/arrow_right.svg?190501) 97% 49% / 15px no-repeat;
	box-shadow: rgba(0, 0, 0, 0) 0px 0px 40px 50px;
	-webkit-box-shadow: rgba(0, 0, 0, 0) 0px 0px 40px 50px;
	-moz-box-shadow: rgba(0, 0, 0, 0) 0px 0px 40px 50px;
	transition-property: background-color, box-shadow;
	transition-delay: 1s;
	transition-duration: 1s;
	transition-timing-function: ease-out;
}

html.world_start #container > div#bg > div.enter > div.inner > a {
	background: rgba(0, 0, 0, 0.8) url(../elements/arrow_right.svg?190501) 97% 49% / 15px no-repeat;
	box-shadow: rgba(0, 0, 0, 0.8) 0px 0px 40px 50px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.8) 0px 0px 40px 50px;
	-moz-box-shadow: rgba(0, 0, 0, 0.8) 0px 0px 40px 50px;
}

#container > div#bg > div.enter > div.inner > a.on {
}

#container > div#bg > div.enter > div.inner > a > span {
	display: block;
	line-height: 0;
	overflow: hidden;
}

#container > div#base {
	display: block;
}

#container > div#base::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 5px;
}

#container > div#base::-webkit-scrollbar-track {
	width: 5px;
}

#container > div#base::-webkit-scrollbar-thumb {
	border-radius: 0;
	background: #555;
}

#container > div#base::-webkit-scrollbar-track-piece:start {
	background: #DDD;
}

#container > div#base::-webkit-scrollbar-track-piece:end {
	background: #DDD;
}

div.scrollbar {
	display: none;
	position: fixed;
	overflow: hidden;
	top: 0;
	right: 0;
	bottom: 0;
	width: 3px;
	background-color: #DDD;
	z-index: 100;
}

html.iOS div.scrollbar {
	display: block;
}

html.iOS body.root div.scrollbar {
	display: none;
}

div.scrollbar_thumb {
	width: 100%;
	min-height: 50px;
	background-color: #555;
}

#container > div#base.hide {
	transition-duration: 0.8s;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

div#base > article {
	width: 100%;
	margin: auto;
	position: relative;
	text-align: center;
	z-index: 1;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	transition-property: opacity, padding;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0, .7, .3, 1);
	min-height: 100%;
}

body.page #container > div#base > article {
}

div#base > article.leave {
	z-index: 2;
	position: absolute;
	top: 0;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

div#base > article > article {
}

div#base > article > article.ground {
}

div#base > article > article.ground > div.inner {
}

div#base > article > article.ground.scroll_trigger.action > div.inner {
}

div#base > article > div.inner {
}

div#base > article > div.inner > div.body {
}

div#base > article > div.inner > div.body div.soon {
}

body.index #container > div#base > article {
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0, .7, .3, 1);
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	-webkit-transform: translateY(0%);
	-moz-transform: translateY(0%);
	-o-transform: translateY(0%);
	transform: translateY(0%);
}

body.index.leave #container > div#base > article {
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	-webkit-transform: translateY(25%);
	-moz-transform: translateY(25%);
	-o-transform: translateY(25%);
	transform: translateY(25%);
}

body.index #container > div#base > article.hide {
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	-webkit-transform: translateY(25%);
	-moz-transform: translateY(25%);
	-o-transform: translateY(25%);
	transform: translateY(25%);
}

#container > div#base > article > div.content {
	position: relative;
	height: 100%;
}

#container > div#base > article > div.content > div.body > header {
	position: relative;
	letter-spacing: 0.1em;
	padding-bottom: 30px;
	text-align: center;
	z-index: 1;
}

#container > div#base > article > div.content > div.body > header::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 2px;
	width: 20px;
	background: #000;
	max-width: 30px;
}

#container > div#base > article > div.content > div.body > header > h2 {
	letter-spacing: 0.1em;
}

/* @end */

/* @group common 

  _|_|_|    _|_|    _|      _|  _|      _|    _|_|    _|      _|
_|        _|    _|  _|_|  _|_|  _|_|  _|_|  _|    _|  _|_|    _|
_|        _|    _|  _|  _|  _|  _|  _|  _|  _|    _|  _|  _|  _|
_|        _|    _|  _|      _|  _|      _|  _|    _|  _|    _|_|
  _|_|_|    _|_|    _|      _|  _|      _|    _|_|    _|      _|

 --------------------------------------------------------*/
#entry a.btn.over {
	letter-spacing: 0.2em;
	color: #FFF;
	background: #26b9e6;
	display: block;
	width: 90%;
	margin: 0 auto;
	font-size: 120%;
	padding: 14px 0;
	font-weight: bold;
	max-width: 300px;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 40px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 40px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 40px 0px;
	transition-property: opacity;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

#entry a.btn.over.on {
	transition-duration: 0.2s;
	opacity: 0.8;
	-moz-opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}

.main_set {
	position: relative;
	letter-spacing: normal;
	color: #000;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	line-height: 0;
	overflow: hidden;
}

.main_set > h1 {
	letter-spacing: 0.15em;
	font-size: 90%;
}

.main_set > h1::before {

	/*
	content: "";
	height: 1px;
	width: 25px;
	background-color: #000;
	display: inline-block;
	margin: 0 3px 0 0;
	*/
}

.main_set > h1, .main_set > h3 {
}

.main_set > h2, .main_set > h4 {
}

.main_set > h2 > img {
	height: 25px;
	margin: 0 auto;
}

.main_set_large {
	text-align: left;
	padding: 0 60px;
	letter-spacing: -.40em;
	line-height: 1;
	max-width: 1040px;
	margin: 0 auto;
	width: 100%;
}

.main_set_large > * {
	display: inline-block;
	padding: 0 0.2em;
}

.main_set_large > h1 {
	font-size: 465%;
	letter-spacing: 0.2em;
}

.main_set_large > h2 {
	letter-spacing: 0.2em;
	font-size: 90%;
}

article > div.inner > div.body {
	padding: 0 0;
}

article > div.inner > div.body > div.iframe {
	height: 600px;
}

article > div.inner > div.body > div.iframe > iframe {
	display: block;
	width: 100%;
	height: 100%;
	background: transparent;
}

body a.close.bottom {
	font-family: 'NotoSansCJKjp-Regular', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: block;
	height: 50px;
	width: 50px;
	text-align: center;
	margin: 0 auto 60px;
	overflow: hidden;
	color: #FFF;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-transform-property: -moz-transform, background, width, height, margin, -moz-border-radius, right;
	-webkit-transform-property: -webkit-transform, background, width, height, margin, -webkit-border-radius, right;
	-o-transform-property: -o-transform, background, width, height, margin, -o-border-radius, right;
	-ms-transform-property: -ms-transform, background, width, height, margin, -ms-border-radius, right;
	transition-property: transform, background, width, height, margin, border-radius, right;
	-moz-transition-duration: 1s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s;
	-webkit-transition-duration: 1s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s;
	-o-transition-duration: 1s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s;
	-ms-transition-duration: 1s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s;
	transition-duration: 1s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s, 0.5s;
	-moz-transition-timing-function: cubic-bezier(0, .7, .3, 1);
	-webkit-transition-timing-function: cubic-bezier(0, .7, .3, 1);
	-o-transition-timing-function: cubic-bezier(0, .7, .3, 1);
	-ms-transition-timing-function: cubic-bezier(0, .7, .3, 1);
	transition-timing-function: cubic-bezier(0, .7, .3, 1);
	-moz-transition-delay: 0.5s, 0s, 0s, 0s, 0s, 0s, 0s;
	-webkit-transition-delay: 0.5s, 0s, 0s, 0s, 0s, 0s, 0s;
	-o-transition-delay: 0.5s, 0s, 0s, 0s, 0s, 0s, 0s;
	-ms-transition-delay: 0.5s, 0s, 0s, 0s, 0s, 0s, 0s;
	transition-delay: 0.5s, 0s, 0s, 0s, 0s, 0s, 0s;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	-webkit-transform: translateY(250px);
	-moz-transform: translateY(250px);
	-o-transform: translateY(250px);
	transform: translateY(250px);
	background: rgba(50, 50, 50, 0.7);
	font-size: 120%;
	position: absolute;
}

body.page.contents a.close.bottom, body.modal a.close.bottom, body.entry a.close.bottom {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}

body a.close.bottom.on {
	transition-duration: 0.1s;
	background: rgba(100, 100, 100, 0.9);
}

body a.close.bottom > i {
	display: block;
	position: absolute;
	width: 2px;
	height: 2px;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	margin: auto;
	transition-property: left;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
}

body a.close.bottom > i::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	background: #FFF;
	left: -10px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

body a.close.bottom > i::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	background: #FFF;
	left: -10px;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}

body a.close.bottom > span {
	position: absolute;
	width: 90px;
	height: 20px;
	top: 0;
	left: 0;
	right: 0px;
	bottom: 0;
	margin: auto;
	line-height: 20px;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	transition-property: opacity, right;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
}

html.scrollend a.close.bottom {
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	width: 200px;
	height: 60px;
	margin-bottom: 50px;
}

html.scrollend a.close.bottom > i {
	left: -85px;
}

html.scrollend a.close.bottom > span {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	right: -20px;
}

div.index {
	width: 100%;
	font-size: 110%;
	width: 100%;
	max-width: 940px;
	margin: 0 auto;
}

div.index ul {
	text-align: left;
	letter-spacing: -.40em;
}

div.index ul > li {
	display: inline-block;
	width: 25%;
	vertical-align: top;
	text-align: center;
	letter-spacing: normal;
}

div.index ul > li.thm {
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	width: 100%;
	min-height: 50px;
}

div.index.auto_fade > ul > li.thm {
}

div.index ul > li > a {
	width: 100%;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	transition-property: opacity;
	transition-duration: 1s;
	transition-timing-function: ease-out;
	color: #000;
	display: block;
	letter-spacing: normal;
	line-height: 1.6;
	padding: 0 8% 10%;
	text-align: left;
}

div.index ul > li > a.on {
	transition-duration: 0.1s;
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

div.index ul > li > * div.img > img.vertical {
	width: 100%;
	height: auto;
}

div.index ul > li > * div.img > img.horizontal {
	height: 100%;
	width: auto;
}

div.index ul > li > a > div.text_wrapper {
	display: block;
	overflow: hidden;
}

div.index ul > li.thm > a.over > div.text_wrapper > div.title > .en {
	display: none;
}

div.index ul > li.thm > a.over > div.date {
	float: left;
	width: 120px;
	font-size: 90%;
}

div.index ul > li.thm > a.over > div.date > time > span.week {
	display: none;
}

div.index ul > li.load_more {
	position: relative;
	display: block;
	margin: 5% auto 0;
	background: transparent;
	padding: 0;
	overflow: hidden;
	width: 280px;
	vertical-align: bottom;
	min-height: 100px;
}

div.index ul > li.load_more > a {
	z-index: 1;
	color: #FFF;
	transition-property: background;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	font-size: 90%;
	display: block;
	height: 35px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	position: absolute;
	text-align: center;
	line-height: 35px;
	letter-spacing: 0.1em;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	font-family: 'Poppins-SemiBold';
	background: #000;
	padding: 0 4%;
}

div.index ul > li.load_more > a.on {
	background: #444;
}

div.index ul > li.load_more.loading::after {
	content: "";
	width: 24px;
	height: 24px;
	border-radius: 50%;
	margin: auto;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-indent: -9999em;
	border-top: 2px solid rgba(200, 200, 200, 0.5);
	border-right: 2px solid rgba(200, 200, 200, 0.5);
	border-bottom: 2px solid rgba(200, 200, 200, 0.5);
	border-left: 2px solid #888;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: spinner_loading 1.1s infinite linear;
	animation: spinner_loading 1.1s infinite linear;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	transition-property: opacity;
	transition-duration: 0.5s;
	transition-timing-function: ease-out;
}

div.index ul > li.load_more.loading > a {
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

div.index ul > li.pagination.index {
	width: 100%;
	margin: 50px auto 0;
	right: 0;
	left: 0;
	z-index: 1;
	padding: 0 10%;
	position: relative;
	font-family: 'Poppins-SemiBold';
}

}

div.index ul > li.pagination.index > ul {
letter-spacing: -.40em;
text-align: center;
width: 100%;
position: relative;
font-size: 80%;
}

div.index ul > li.pagination.index > ul > li {
letter-spacing: normal;
display: inline-block;
vertical-align: middle;
margin: 0;
height: 0;
padding-bottom: 10%;
position: relative;
width: 10%;
}

div.index ul > li.pagination.index > ul > li > a {
width: 80%;
height: 80%;
line-height: 43px;
color: #555;
background: #FFF;
transition-property: background;
transition-duration: 0.5s;
display: block;
text-align: center;
text-decoration: none;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
font-weight: bold;
}

div.index ul > li.pagination.index > ul > li > a > span {
height: 20px;
line-height: 20px;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
width: 100%;
left: 0;
right: 0;
}

div.index ul > li.pagination.index > ul > li > a.on {
transition-duration: 0.2s;
background: #555;
color: #FFF;
}

div.index ul > li.pagination.index > ul > li.active > a {
background: #555;
color: #FFF;
cursor: default;
}

div.index ul > li.pagination.index > ul > li.pagination.load_prev, div.index ul > li.pagination.index > ul > li.pagination.load_next {
position: absolute;
z-index: 2;
margin: auto 0;
top: 0;
}

div.index ul > li.pagination.index > ul > li.pagination.load_prev {
left: -12%;
}

div.index ul > li.pagination.index > ul > li.pagination.load_next {
right: -12%;
}

div.index ul > li.pagination.index > ul > li.pagination.load_prev > a::before, div.index ul > li.pagination.index > ul > li.pagination.load_next > a::after {
content: "";
width: 10px;
height: 10px;
border-top: 1px solid #555;
border-right: 1px solid #555;
display: inline-block;
transition-property: border-color;
transition-duration: 0.5s;
position: absolute;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
}

div.index ul > li.pagination.index > ul > li.pagination.load_prev > a::before {
-webkit-transform: rotate(225deg);
-ms-transform: rotate(225deg);
transform: rotate(225deg);
left: 5px;
}

div.index ul > li.pagination.index > ul > li.pagination.load_next > a::after {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
right: 5px;
}

div.index ul > li.pagination > a.over {
width: 40px;
line-height: 40px;
display: block;
margin: 0 auto;
text-align: center;
color: #555;
background: #FFF;
transition-property: background;
transition-duration: 0.5s;
position: relative;
}

div.index ul > li.pagination > a.over.on {
transition-duration: 0.2s;
background: #555;
}

div.index ul > li.pagination.index > ul > li.pagination.load_prev > a.over.on::before {
transition-duration: 0.2s;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
}

div.index ul > li.pagination.index > ul > li.pagination.load_next > a.over.on::after {
transition-duration: 0.2s;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
}

div.index ul > li.pagination a.over > div {
overflow: hidden;
position: absolute;
top: 0;
text-indent: 100%;
white-space: nowrap;
width: 100%;
line-height: 0;
}

div.list.tile {
}

div.list.tile > div.media_list {
max-width: none;
width: 100%;
line-height: 0;
padding-bottom: 0;
}

div.list.tile > div.media_list > figure {
}

div.list.tile > div.media_list > figure:nth-child(even) > div {
direction: rtl;
}

div.list.tile > div.media_list > figure:nth-child(even) > div > * {
direction: ltr;
}

div.list.tile > div.media_list > figure > * {
width: 100%;
letter-spacing: -.40em;
display: block;
}

div.list.tile > div.media_list > figure > a {
background-color: rgba(238, 238, 238, 0);
transition-property: background-color;
transition-duration: 0.8s;
transition-timing-function: ease-out;
}

div.list.tile > div.media_list > figure > a.on {
background-color: rgba(238, 238, 238, 0.5);
transition-duration: 0.2s;
}

div.list.tile > div.media_list > figure > * > div.col {
display: inline-block;
vertical-align: middle;
width: 50%;
margin: 0;
line-height: 1.3;
letter-spacing: normal;
}

div.list.tile > div.media_list > figure > * > div.col > div.img {
width: 100%;
position: relative;
padding-bottom: 100%;
background: #EEE;
height: 0;
overflow: hidden;
}

div.list.tile > div.media_list > figure > * > div.col > div.img > div.inner {
width: 100%;
position: absolute;
background: #EEE;
height: 100%;
}

div.list.tile > div.media_list > figure > * > div.col > div.img > div.inner > img {
display: block;
position: absolute;
width: 100%;
height: 100%;
top: -100%;
left: -100%;
right: -100%;
bottom: -100%;
margin: auto;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper {
text-align: left;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper > figcaption {
display: block;
position: relative;
width: 80%;
margin: auto;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper > figcaption > .title.jp {
font-size: 140%;
letter-spacing: 0.2em;
font-weight: bold;
position: relative;
padding-bottom: 15px;
margin-bottom: 15px;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper > figcaption > .title.jp::after {
content: "";
height: 1px;
width: 20px;
background: #000;
position: absolute;
bottom: 0;
left: 2px;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper > figcaption > .description.jp {
line-height: 2;
text-align: justify;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper > figcaption > .description.jp > strong {
padding-bottom: 10px;
display: inline-block;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper > figcaption > div.img {
width: 60px;
height: 60px;
position: absolute;
top: -2px;
left: -2px;
}

div.list.tile > div.media_list > figure > * > div.col > div.text_wrapper > figcaption > .description.en > div.img {
max-width: 500px;
}

div.list.flow {
}

div.list.flow > div.media_list {
line-height: 0;
padding-bottom: 0;
counter-reset: num;
}

div.list.flow > div.media_list > section {
margin-bottom: 30px;
position: relative;
counter-increment: num;
}

div.list.flow > div.media_list > section:not(:last-child)::after {
content: "";
position: absolute;
bottom: -50px;
left: auto;
display: block;
width: 11px;
height: 11px;
margin: auto;
border-bottom: 3px solid;
border-right: 3px solid;
transform: rotate(45deg);
color: #063054;
top: 0;
right: -7px;
}

div.list.flow > div.media_list > section:nth-child(even):not(:last-child)::after {
right: auto;
left: -7px;
}

div.list.flow > div.media_list > section > * {
width: 100%;
letter-spacing: -.40em;
display: block;
position: relative;
z-index: 2;
}

div.list.flow > div.media_list > section.over {
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
transition-property: opacity;
transition-duration: 0.8s;
transition-timing-function: ease-out;
}

div.list.flow > div.media_list > section.over.on {
opacity: 0.5;
-moz-opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha(opacity=50)";
transition-duration: 0.2s;
}

div.list.flow > div.media_list > section > * > div.col {
display: inline-block;
vertical-align: middle;
margin: 0;
line-height: 1.3;
letter-spacing: normal;
}

div.list.flow > div.media_list > section > * > div.col.col_1 {
width: 33%;
z-index: -1;
position: relative;
}

div.list.flow > div.media_list > section > * > div.col.col_2 {
width: 67%;
}

div.list.flow > div.media_list > section > * > div.col > div.img {
width: 100%;
position: relative;
padding-bottom: 80%;
background: #EEE;
height: 0;
}

div.list.flow > div.media_list > section > * > div.col > div.img > div.inner {
width: 100%;
position: absolute;
background: #EEE;
height: 100%;
}

div.list.flow > div.media_list > section > * > div.col > div.img > div.inner > img {
display: block;
position: absolute;
width: 100%;
height: auto !important;
top: -100%;
left: -100%;
right: -100%;
bottom: -100%;
margin: auto;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper {
text-align: left;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner {
display: block;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner::before {
content: counter(num);
font-size: 140%;
text-align: center;
width: 40px;
background: #162549;
display: block;
position: absolute;
left: 33%;
top: 0px;
line-height: 40px;
font-family: 'Poppins-SemiBold';
color: #FFF;
letter-spacing: 0.1em;
padding-left: 0.1em;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner > .title.jp {
font-size: 140%;
font-weight: bold;
position: relative;
letter-spacing: 0.1em;
padding-bottom: 15px;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner > .title.jp::after {
content: "";
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner > .description.jp {
line-height: 2;
text-align: justify;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner > .description.jp > strong {
padding-bottom: 10px;
display: inline-block;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner > div.img {
width: 60px;
height: 60px;
position: absolute;
top: -2px;
left: -2px;
}

div.list.flow > div.media_list > section > * > div.col > div.text_wrapper > div.inner > .description.en > div.img {
max-width: 500px;
}

div.list.faq {
}

div.list.faq > div.media_list {
max-width: 900px;
width: 100%;
margin: 0 auto 30px;
text-align: left;
}

div.list.faq > div.media_list > dl {
}

div.list.faq > div.media_list > dl:not(:last-child) {
border-bottom: 1px solid #CCC;
}

div.list.faq > div.media_list > dl > * {
padding: 20px 0 20px 60px;
position: relative;
}

div.list.faq > div.media_list > dl > dt.over {
background-color: rgba(255, 255, 255, 0);
transition-property: background-color;
transition-duration: 0.8s;
transition-timing-function: ease-out;
}

div.list.faq > div.media_list > dl > dt.over.on {
background-color: rgba(255, 255, 255, 0.4);
transition-duration: 0.2s;
}

div.list.faq > div.media_list > dl > dt::before {
content: "Q";
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
display: block;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
position: absolute;
left: 5px;
background: #FFF;
color: #000;
margin: -14px 0 0 0;
font-size: 183%;
}

div.list.faq > div.media_list > dl > dt > p {
line-height: 1.3;
font-size: 80%;
letter-spacing: 0.2em;
}

div.list.faq > div.media_list > dl > dt > p.title.jp {
}

div.list.faq > div.media_list > dl > dt > p.title.en {
}

div.list.faq > div.media_list > dl > dd {
padding-bottom: 40px;
display: none;
}

div.list.faq > div.media_list > dl > dd::before {
content: "A";
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
display: block;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
position: absolute;
left: 6px;
font-size: 183%;
margin: -7px 0 0 0;
}

div.list.faq > div.media_list > dl > dd > div {
font-size: 80%;
letter-spacing: 0.2em;
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_1 {
width: 100%;
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_1 > div.img {
margin-bottom: 15px;
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_1 > div.img > div.inner {
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_1 > div.img > div.inner > img {
display: block;
width: 100%;
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_2 {
text-align: justify;
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_2 > div.text_wrapper {
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_2 > div.text_wrapper > div.inner {
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_2 > div.text_wrapper > div.inner > div.description.jp {
}

div.list.faq > div.media_list > dl > dd > div > div.col.col_2 > div.text_wrapper > div.inner > div.description.en {
}

div.image_list {
width: 100%;
}

#entry div.image_list:not(.first) {
position: relative;
padding-bottom: 70px;
}

div.image_list > figure {
display: block;
width: 100%;
margin-bottom: 2px;
}

div.image_list > figure > * {
display: block;
width: 100%;
text-align: center;
}

div.image_list > figure > * > div.img {
width: 100%;
max-width: 580px;
width: 96%;
margin: 0 auto;
}

div.image_list > figure > * > div.img > img {
display: block;
max-width: 100%;
margin: 0 auto;
max-height: 520px;
}

div.image_list > figure > div.text_wrapper {
padding: 15px 0 30px;
max-width: 580px;
width: 96%;
width: 96%;
margin: 0 auto;
}

div.image_list > figure > div.text_wrapper {
padding: 0;
width: 96%;
margin: 0 auto 30px;
text-align: left;
}

div.image_list > figure > div.text_wrapper > figcaption > .caption {
font-size: 80%;
padding: 10px 0;
margin-bottom: 15px;
}

div.image_list > figure > div.text_wrapper > figcaption > .description {
}

div.image_list > figure.MESSAGE {
margin: 20px auto;
}

div.image_list > figure.MESSAGE > a {
float: right;
max-width: 200px;
margin-left: 5%;
width: 30%;
}

div.image_list > figure.MESSAGE > a > div.img {
width: 100%;
}

div.image_list > figure.MESSAGE > a > div.img > img {
width: auto;
height: auto;
max-width: 100%;
max-height: 200px;
}

div.image_list > figure.MESSAGE > div.text_wrapper {
background: #FFF;
overflow: hidden;
padding: 3.5% 4%;
}

div.image_list > figure.MESSAGE > div.text_wrapper > figcaption > .caption {
font-size: 90%;
margin-bottom: 5px;
}

div.image_list > figure.MESSAGE > div.text_wrapper > figcaption > .description {
font-size: 95%;
}

div.image_list > figure.MESSAGE::after {
content: "";
display: block;
clear: both;
}

div#entry > div.inner > article > div.body {
margin: 0 auto 30px;
text-align: left;
}

div#entry > div.inner > article > div.body > header {
padding-bottom: 30px;
text-align: left;
width: 96%;
margin: 0 auto;
max-width: 980px;
}

div#entry > div.inner > article[class^='info\/'] > div.body > header {
max-width: 580px;
width: 96%;
}

div#entry header > div.headline {
position: relative;
line-height: 1;
margin-bottom: 50px;
padding-top: 35px;
text-align: center;
}

div#entry header > div.headline > h3 {
font-weight: bold;
}

div#entry header > div.headline > h4 {
position: absolute;
top: 0;
left: 0;
right: 0;
}

div#entry header > div.headline > h4 > img {
height: 25px;
margin: 0 auto;
}

div#entry > div.inner > article > div.body > header span.sub {
font-size: 70%;
letter-spacing: 0.1em;
}

div#entry > div.inner > article > div.body > header > h1 {
display: block;
vertical-align: middle;
font-size: 120%;
line-height: 1.5;
padding-bottom: 10px;
letter-spacing: 0.1em;
}

div#entry > div.inner > article > div.body > header > h2 {
letter-spacing: 0.1em;
font-weight: bold;
line-height: 1.5;
padding-bottom: 10px;
}

div#entry > div.inner > article > div.body > header > div.date {
font-size: 80%;
vertical-align: middle;
display: inline-block;
margin-top: 10px;
}

div#entry > div.inner > article > div.body.cat_exhibition > header > div.date > time > span {
display: none;
}

div#entry > div.inner > article > div.body.cat_exhibition > header > div.date > time > span.year {
display: inline-block;
}

div#entry > div.inner > article > div.body > header > div.date > time > span.week {
font-size: 90%;
margin: 0 0 0 5px;
}

div#entry > div.inner > article > div.body > header > div.category {
background: #000;
color: #FFF;
letter-spacing: 0.1em;
font-size: 81%;
padding: 0 10px;
margin-right: 10px;
display: inline-block;
font-family: 'NotoSansCJKjp-Regular', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
vertical-align: middle;
margin-top: 10px;
}

div#entry > div.inner > article > div.body div.social {
letter-spacing: -.40em;
vertical-align: middle;
line-height: 0;
padding: 10px 0 40px;
text-align: center;
}

div#entry > div.inner > article > div.body div.social > a {
display: inline-block;
width: 30px;
border-radius: 50%;
overflow: hidden;
background: #EEE;
margin-right: 10px;
}

div#entry > div.inner > article > div.body div.social > a > div {
width: 100%;
padding: 20%;
}

div#entry > div.inner > article > div.body div.social > a > div > img {
display: block;
width: 100%;
}

div#entry > div.inner > article > div.body > div.description {
padding: 15px 0 15px;
width: 96%;
margin: 0 auto;
max-width: 980px;
}

div#entry > div.inner > article > div.body > div.description iframe {
width: 100%;
height: 480px;
background: transparent;
}

div#entry > div.inner > article > div.body > div.description > div.details {
letter-spacing: -.40em;
line-height: 0;
padding: 20px 0 30px;
}

div#entry > div.inner > article > div.body > div.description > div.details > dl {
line-height: 1.5;
margin-bottom: 10px;
display: inline-block;
min-width: 50%;
}

div#entry > div.inner > article > div.body > div.description > div.details > dl > * {
display: block;
vertical-align: top;
letter-spacing: normal;
}

div#entry > div.inner > article > div.body > div.description > div.details > dl > dt {
background: #000;
color: #FFF;
font-weight: bold;
min-width: 65px;
text-align: center;
font-size: 95%;
padding: 1px 5px;
float: left;
}

div#entry > div.inner > article > div.body > div.description > div.details > dl > dd {
padding: 0 0 0 15px;
overflow: hidden;
}

div#entry > div.inner > article > div.body > div.description > div.details > dl::after {
content: "";
display: block;
clear: both;
}

div#entry > div.inner > article > div.body > a.return {
display: block;
clear: both;
text-align: center;
width: 140px;
margin: 80px auto;
padding: 20px;
line-height: 1;
font-size: 150%;
letter-spacing: 0.15em;
color: #333;
font-weight: bold;
}

div#entry > div.inner > article > div.body > a.return > i {
display: inline-block;
position: relative;
width: 20px;
height: 20px;
vertical-align: middle;
margin-top: -3px;
margin-right: 5px;
-moz-transform-property: -moz-transform;
-webkit-transform-property: -webkit-transform;
-o-transform-property: -o-transform;
-ms-transform-property: -ms-transform;
transition-property: transform;
-moz-transition-duration: 1s;
-webkit-transition-duration: 1s;
-o-transition-duration: 1s;
-ms-transition-duration: 1s;
transition-duration: 1s;
-moz-transition-timing-function: cubic-bezier(0, 1, 0, 1);
-webkit-transition-timing-function: cubic-bezier(0, 1, 0, 1);
-o-transition-timing-function: cubic-bezier(0, 1, 0, 1);
-ms-transition-timing-function: cubic-bezier(0, 1, 0, 1);
transition-timing-function: cubic-bezier(0, 1, 0, 1);
-moz-transform: matrix(1, 0, 0, 1, 5, 0);
-webkit-transform: matrix(1, 0, 0, 1, 5, 0);
-o-transform: matrix(1, 0, 0, 1, 5, 0);
-ms-transform: matrix(1, 0, 0, 1, 5, 0);
transform: matrix(1, 0, 0, 1, 5, 0);
margin-left: -15px;
}

div#entry > div.inner > article > div.body > a.return.on > i {
-moz-transform: matrix(1, 0, 0, 1, 0, 0);
-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
-o-transform: matrix(1, 0, 0, 1, 0, 0);
-ms-transform: matrix(1, 0, 0, 1, 0, 0);
transform: matrix(1, 0, 0, 1, 0, 0);
}

div#entry > div.inner > article > div.body > a.return > i::before {
content: "";
position: absolute;
display: inline-block;
width: 50%;
height: 50%;
border: solid #333;
border-width: 2px 2px 0 0;
transform: rotate(225deg);
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}

div#entry > div.inner > article > div.body > a.return > i::after {
content: "";
position: absolute;
display: inline-block;
width: 70%;
height: 0;
border: solid #333;
border-width: 2px 0 0 0;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}

div#entry > div.inner > article > nav.entries {
margin-top: 100px;
padding-bottom: 50px;
}

div#entry > a.close.side {
position: absolute;
top: 100px;
height: 60px;
width: 60px;
z-index: 1100;
left: 10px;
text-indent: -9999em;
}

div#entry > a.close.side::before {
content: "";
position: absolute;
display: inline-block;
width: 50%;
height: 50%;
transform: rotate(225deg);
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
border: solid #000;
border-width: 2px 2px 0 0;
}

div#entry > a.close.side::after {
content: "";
position: absolute;
display: inline-block;
width: 70%;
height: 0;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
border: solid #000;
border-width: 2px 0 0 0;
}

div#entry > div.inner > article > div.paging {
max-width: 600px;
margin: 0 auto 250px;
letter-spacing: -.40em;
width: 90%;
}

div#entry > div.inner > article > div.paging > a.next_entry {
padding-left: 35px;
margin-right: 5%;
}

/*
div#entry > div.inner > article > div.paging > a.next_entry::before {
content: "NEXT";
right: 0;
}
*/
div#entry > div.inner > article > div.paging > a.prev_entry {
padding-right: 35px;
margin-left: 5%;
text-align: right;
}

/*
div#entry > div.inner > article > div.paging > a.prev_entry::before {
content: "PREV";
left: 0;
}
*/

/*
div#entry > div.inner > article > div.paging > a::before {
content: "";
position: absolute;
top: 0;
font-weight: bold;
font-size: 80%;
padding: 5px 15px;
color: #888;
}
*/
div#entry > div.inner > article > div.paging > a > i {
display: inline-block;
position: absolute;
width: 20px;
height: 20px;
vertical-align: middle;
-moz-transform-property: -moz-transform;
-webkit-transform-property: -webkit-transform;
-o-transform-property: -o-transform;
-ms-transform-property: -ms-transform;
transition-property: transform;
-moz-transition-duration: 1s;
-webkit-transition-duration: 1s;
-o-transition-duration: 1s;
-ms-transition-duration: 1s;
transition-duration: 1s;
-moz-transition-timing-function: cubic-bezier(0, 1, 0, 1);
-webkit-transition-timing-function: cubic-bezier(0, 1, 0, 1);
-o-transition-timing-function: cubic-bezier(0, 1, 0, 1);
-ms-transition-timing-function: cubic-bezier(0, 1, 0, 1);
transition-timing-function: cubic-bezier(0, 1, 0, 1);
top: 0;
bottom: 0;
margin: auto;
}

div#entry > div.inner > article > div.paging > a.next_entry > i {
-moz-transform: matrix(1, 0, 0, 1, 0, 0);
-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
-o-transform: matrix(1, 0, 0, 1, 0, 0);
-ms-transform: matrix(1, 0, 0, 1, 0, 0);
transform: matrix(1, 0, 0, 1, 0, 0);
}

div#entry > div.inner > article > div.paging > a.next_entry.on > i {
-moz-transform: matrix(1, 0, 0, 1, -5, 0);
-webkit-transform: matrix(1, 0, 0, 1, -5, 0);
-o-transform: matrix(1, 0, 0, 1, -5, 0);
-ms-transform: matrix(1, 0, 0, 1, -5, 0);
transform: matrix(1, 0, 0, 1, -5, 0);
}

div#entry > div.inner > article > div.paging > a.prev_entry > i {
-moz-transform: matrix(1, 0, 0, 1, 0, 0);
-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
-o-transform: matrix(1, 0, 0, 1, 0, 0);
-ms-transform: matrix(1, 0, 0, 1, 0, 0);
transform: matrix(1, 0, 0, 1, 0, 0);
}

div#entry > div.inner > article > div.paging > a.prev_entry.on > i {
-moz-transform: matrix(1, 0, 0, 1, 5, 0);
-webkit-transform: matrix(1, 0, 0, 1, 5, 0);
-o-transform: matrix(1, 0, 0, 1, 5, 0);
-ms-transform: matrix(1, 0, 0, 1, 5, 0);
transform: matrix(1, 0, 0, 1, 5, 0);
}

div#entry > div.inner > article > div.paging > a > i::before {
content: "";
position: absolute;
display: inline-block;
width: 50%;
height: 50%;
border: solid #333;
border-width: 2px 2px 0 0;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}

div#entry > div.inner > article > div.paging > a > i::after {
content: "";
position: absolute;
display: inline-block;
width: 70%;
height: 0;
border: solid #333;
border-width: 2px 0 0 0;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}

div#entry > div.inner > article > div.paging > a.next_entry > i::before {
transform: rotate(225deg);
}

div#entry > div.inner > article > div.paging > a.prev_entry > i::before {
transform: rotate(45deg);
}

div#entry > div.inner > article > div.paging > a {
width: 45%;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
display: inline-block;
margin: 0 0;
position: relative;
line-height: 1.3;
color: #333;
padding: 10px 15px;
letter-spacing: normal;
vertical-align: middle;
text-align: left;
}

div#entry > div.inner > article > div.paging > a > div.img {
width: 90%;
padding-bottom: 90%;
height: 0;
overflow: hidden;
position: relative;
margin: 0 auto 5px;
}

div#entry > div.inner > article > div.paging > a > div.img > img {
position: absolute;
top: -100%;
left: -100%;
right: -100%;
bottom: -100%;
margin: auto;
height: 100%;
max-width: none;
}

div#entry > div.inner > article > div.paging > a > div.title {
text-align: center;
font-size: 60%;
line-height: 1.5;
}

div#entry > div.inner > article > div.paging > a.next_entry > i {
left: 0;
}

div#entry > div.inner > article > div.paging > a.prev_entry > i {
right: 0;
}

div.sns.instagram {
margin: 60px auto;
max-width: 850px;
width: 94%;
}

div.sns.fb {
letter-spacing: -.40em;
margin: 50px auto 50px;
max-width: 850px;
width: 94%;
}

div.sns.fb > div.col {
display: inline-block;
width: 50%;
padding: 0 3%;
max-width: 525px;
vertical-align: top;
margin-top: 1%;
}

div.sns.fb > div.col > div.fb_page_wrapper {
height: 450px;
background: #FFF;
}

div.sns.fb > div.col > div.fb_page_wrapper .fb_iframe_widget, article#home > section.store > div.store > div.col.col_3 > div.fb_page_wrapper .fb_iframe_widget span, article#home > section.store > div.store > div.col.col_3 > div.fb_page_wrapper .fb_iframe_widget iframe[style] {
width: 100% !important;
height: 100% !important;
}

div.instagram_wrapper {
max-width: 1060px;
width: 100%;
margin: 0 auto;
}

div.list_instagram {
letter-spacing: -.40em;
position: relative;
width: 100%;
}

div.list_instagram * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

div.list_instagram > ul#instafeed {
letter-spacing: -.40em;
width: 100%;
display: block;
line-height: 0;
font-size: 0;
padding: 0 2%;
text-align: center;
}

div.list_instagram > ul#instafeed > li {
list-style: none;
width: 18% !important;
display: inline-block;
padding-bottom: 18%;
position: relative;
height: 0;
border-width: 0;
margin: 1%;
overflow: hidden;
transition-property: opacity;
transition-duration: 2s;
transition-timing-function: ease-out;
opacity: 0;
-moz-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "alpha(opacity=0)";
}

div.list_instagram > ul#instafeed > li.insta_header {
width: 58% !important;
}

div.list_instagram > ul#instafeed > li.insta_header > a {
display: block;
transition-property: opacity;
transition-duration: 0.3s;
transition-timing-function: ease-out;
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

div.list_instagram > ul#instafeed > li.insta_header > a.on {
transition-duration: 0.2s;
opacity: 0.6;
-moz-opacity: 0.6;
filter: alpha(opacity=60);
-ms-filter: "alpha(opacity=60)";
}

div.list_instagram > ul#instafeed > li.insta_header > a > img {
width: 50px;
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}

div.list_instagram > ul#instafeed > li.active {
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

div.list_instagram > ul#instafeed > li > a {
position: absolute;
top: 0;
left: 0;
display: table;
width: 100%;
height: 100%;
color: #000
}

div.list_instagram > ul#instafeed > li > a > div.img {
display: table-cell;
width: 100%;
height: 100%;
vertical-align: middle;
text-align: center;
background: #DDD;
}

div.list_instagram > ul#instafeed > li > a > div.img > img {
display: block;
max-width: 100%;
max-height: 100%;
}

div.list_instagram > ul#instafeed > li > a > div.img > div.overlay {
position: absolute;
z-index: 5;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 8% 5%;
line-height: 1.5;	/*text-align: justify;*/
letter-spacing: normal;
background: rgba(255, 255, 255, 0.85);
overflow: hidden;
font-size: 12px;
transition-property: opacity;
transition-duration: 0.3s;
transition-timing-function: ease-out;
opacity: 0;
-moz-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "alpha(opacity=0)";
}

div.list_instagram > ul#instafeed > li > a.on > div.img > div.overlay {
transition-duration: 0.2s;
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

div.list_instagram > ul#instafeed > li > a > div.img > div.overlay > div.date {
display: inline-block;
border-bottom: 1px solid #888;
margin-bottom: 8px;
letter-spacing: 0.1em;
font-size: 10px;
}

div.list_instagram > ul#instafeed > li > a > div.img > div.overlay > div.caption {
display: block;
text-align: left;
}

div#base > article > div.inner > div.contact {
padding: 50px 0 0;
}

div#base > article > div.inner > div.contact > div.lead {
padding: 15px 0;
letter-spacing: 0.1em;
}

div#base > article > div.inner > div.contact > a {
display: inline-block;
background: #555;
color: #FFF;
font-weight: bold;
padding: 5px 20px;
transition-property: opacity;
transition-duration: 0.3s;
transition-timing-function: ease-out;
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

div#base > article > div.inner > div.contact > a.on {
transition-duration: 0.2s;
opacity: 0.5;
-moz-opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha(opacity=50)";
}

/* @end */

/* @group modal 

_|      _|    _|_|    _|_|_|      _|_|    _|
_|_|  _|_|  _|    _|  _|    _|  _|    _|  _|
_|  _|  _|  _|    _|  _|    _|  _|_|_|_|  _|
_|      _|  _|    _|  _|    _|  _|    _|  _|
_|      _|    _|_|    _|_|_|    _|    _|  _|_|_|_|

 --------------------------------------------------------*/


body.booking div#entry {
z-index: 500;
background: transparent;
}

div#entry > div.inner > article.booking {
padding: 0;
width: 50%;
position: absolute;
height: 50%;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
background: #FFF;
display: table;
min-width: 500px;
min-height: 300px;
}

div#entry > div.inner > article.booking > div.inner {
display: table-cell;
text-align: center;
vertical-align: middle;
}

div#entry > div.inner > article.booking > div.inner > header.main_set {
display: none;
}

div#entry > div.inner > article.booking > div.inner > header.main_set > h1 {
}

div#entry > div.inner > article.booking > div.inner > header.main_set > h2 {
}

div#entry > div.inner > article.booking > div.inner > div.body {
}

div#entry > div.inner > article.booking > div.inner > div.body > h1 {
font-family: 'Poppins-SemiBold';
letter-spacing: 0.1em;
font-size: 160%;
}

div#entry > div.inner > article.booking > div.inner > div.list {
width: 90%;
margin: 20px auto;
padding-bottom: 20px;
font-family: 'NotoSansCJKjp-Regular', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
}

div#entry > div.inner > article.booking > div.inner > div.list > ul {
letter-spacing: -.40em;
}

div#entry > div.inner > article.booking > div.inner > div.list > ul > li {
display: inline-block;
letter-spacing: normal;
width: 33.333%;
padding: 1%;
}

div#entry > div.inner > article.booking > div.inner > div.list > ul > li > a.over {
display: block;
color: #000;
border: 1px solid;
padding: 5px 5px;
background: #FFF;
transition-property: background;
transition-duration: 0.3s;
transition-timing-function: ease-out;
}

div#entry > div.inner > article.booking > div.inner > div.list > ul > li > a.over.on {
background: #EEE;
}

div#entry > div.inner > article.booking > div.inner > div.list > ul > li > a.over > div.text_wrapper {
}

div#entry > div.inner > article.booking > div.inner > div.list > ul > li > a.over > div.text_wrapper > div.caption {
}

div#entry > a.pjax.close.side {
}

div#entry > a.pjax.close.bottom.over {
}

div#entry > a.pjax.close.bottom.over > i {
}

div#entry > a.pjax.close.bottom.over > span {
}

/* @end */

/* @group root 

_|_|_|      _|_|      _|_|    _|_|_|_|_|
_|    _|  _|    _|  _|    _|      _|
_|_|_|    _|    _|  _|    _|      _|
_|    _|  _|    _|  _|    _|      _|
_|    _|    _|_|      _|_|        _|

 --------------------------------------------------------*/

article#root a.over {
transition-property: opacity;
transition-duration: 0.3s;
transition-timing-function: ease-out;
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

article#root a.over.on {
transition-duration: 0.2s;
opacity: 0.5;
-moz-opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha(opacity=50)";
}

article#root .top {
margin: 0	auto;
}

article#root div.img_logo img {
display: block;
max-width: 270px;
margin: 0 auto;
padding: 145px 0 65px 0;
}

article#root div.header div.inner div.img img {
display: block;
max-width: 150px;
margin: 0 auto;
padding: 0px 0px 35px 0;
}

article#root div.body_top div.inner {
color: #FFFF;
font-size: 8pt;
letter-spacing: 0.5px;
line-height: 18px;
text-align: center;
padding: 0 0 44px 0;
font-weight: bold;
}

article#root article.top > div.body_top > div.inner > span {
display: inline-block;
}

article#root article.business {
background-color: #FFF;
padding-top: 5px;
}

article#root div.line1 {
padding: 15px 0 0 0;
background: #d3c9b6;
}

article#root div.line2 {
background-image: url("../elements/img_page_top_005.png");
background-repeat: repeat-x;
background-size: auto 16px;
padding: 15px 0 0 0;
}

article#root div.line3 {
background-image: url("../elements/img_page_top_007.png");
background-repeat: repeat-x;
background-size: auto 16px;
background-color: #EBE6DE;
padding: 15px 0 5px 0;
}

article#root article.business section {
min-height: 223px;
}

article#root article.business section > a {
display: block;
padding: 40px 0;
}
article#root article.business section.section_01 > a {
}
article#root article.business section.section_02 > a {
	padding: 60px 0;
}

article#root article.business section div.row {
margin: 0 auto;
width: 100%;
color: #00324c;
text-align: center;
}

article#root article.business section div.row div.col {
display: inline-block;
vertical-align: middle;
}

article#root article.business section div.row div.col_1 {
width: 300px;
}

article#root article.business section div.row div.col_2 {
width: 350px;
text-align: left;
padding: 0 0 0 40px;
}

article#root div.col div.body {
font-size: 8pt;
letter-spacing: 0.5px;
line-height: 18px;
}

article#root section.section_01 {
background-color: #FFFF;
}

article#root section.section_02 {
background-color: #EBE6DE;
}

article#root article.business section.section_01 div.row div.col_1 div.img img {
max-width: 100px;
}

article#root article.business section.section_02 div.row div.col_1 div.img img {
max-width: 150px
}

article#root article.business section header {
letter-spacing: 0.5px;
}

article#root article.business section header h1 {
font-size: 100%;
}

article#root article.business section header h1::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
background-image: url("../elements/img_page_top_006.png");
background-size: contain;
margin: 0 2px 0 -12px;
}

article#root footer {
text-align: center;
color: #00324c;
}

footer div.logo_footer img {
display: inline-block;
max-width: 176px;
margin: 48px 0 12px 0;
}

article#root div.company {
font-size: 11pt;
font-weight: bold;
margin: 0 0 12px 0;
letter-spacing: -0.5px;
}

article#root div.infomation {
line-height: 12pt;
letter-spacing: 0.5px;
margin: -12px 0 0px 0;
padding: 0 0 20px 0;
}

/* @end */

/* @group footer 

_|_|_|_|    _|_|      _|_|    _|_|_|_|_|  _|_|_|_|  _|_|_|
_|        _|    _|  _|    _|      _|      _|        _|    _|
_|_|_|    _|    _|  _|    _|      _|      _|_|_|    _|_|_|
_|        _|    _|  _|    _|      _|      _|        _|    _|
_|          _|_|      _|_|        _|      _|_|_|_|  _|    _|

 --------------------------------------------------------*/


footer > div.infomation > address > a.mail::before {
content: "";
display: inline-block;
width: 15px;
height: 10px;
background-image: url("../elements/img_page_top_008.png");
background-size: contain;
margin: 0 2px 0 -1px;
}

footer a {
color: #00324c;
text-decoration: none;
}

address {
font-style: normal;
}

footer > div.infomation > address > div.address {
font-size: x-small;
}

div.footer {
}

body.root div.footer {
color: rgba(255, 255, 255, 1);
padding-bottom: 15px;
}

div.footer a.over {
transition-property: opacity;
transition-duration: 0.3s;
transition-timing-function: ease-out;
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

div.footer a.over.on {
transition-duration: 0.2s;
opacity: 0.5;
-moz-opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha(opacity=50)";
}

#entry div.footer {
padding-bottom: 10px;
color: #000;
}

div.footer > footer {
}

div.footer > footer > small.law {
display: none;
}

body.page div.footer > footer > small.law {
display: block;
}

div.footer > footer > small {
letter-spacing: 0.3em;
padding: 0 10px;
font-size: 70%;
display: block;
transform: scale(0.8);
-moz-transform: scale(0.8);
-webkit-transform: scale(0.8);
-o-transform: scale(0.8);
-ms-transform: scale(0.8);
line-height: 1.3;
}

div.footer > footer > small > span {
}

/* @end */

/* ==========================================================================
   Media Queries
   ========================================================================== */

/* @group If <= height 600 & width 1000 

_|_|_|  _|_|_|_|
  _|    _|
  _|    _|_|_|
  _|    _|
_|_|_|  _|

 --------------------------------------------------------*/

/* @end */

/* @group If <= height 600 & width 740 

_|_|_|  _|_|_|_|
  _|    _|
  _|    _|_|_|
  _|    _|
_|_|_|  _|

 --------------------------------------------------------*/
@media only screen and (max-height:600px) and (max-width:740px) {
}

/* @end */

/* @group If <= 900 

_|_|_|  _|_|_|_|
  _|    _|
  _|    _|_|_|
  _|    _|
_|_|_|  _|

 --------------------------------------------------------*/
@media only screen and (max-width:900px) {
}

/* @end */

/* @group If <= 800 

_|_|_|  _|_|_|_|
  _|    _|
  _|    _|_|_|
  _|    _|
_|_|_|  _|

 --------------------------------------------------------*/
@media only screen and (max-width:800px) {
}

/* @end */

/* @group If <= 740 = iphone landscape 

_|_|_|  _|_|_|_|
  _|    _|
  _|    _|_|_|
  _|    _|
_|_|_|  _|

 --------------------------------------------------------*/
@media only screen and (max-width:740px) {
article#root article.top {
}

article#root article.top > div.header {
}

article#root article.top > div.header > div.inner {
}

article#root article.top > div.header > div.inner > div.img_logo {
}

article#root article.top > div.header > div.inner > div.img_logo > img.preload {
}

article#root article.top > div.header > div.inner > div.img {
}

article#root article.top > div.header > div.inner > div.img > img.preload {
}

article#root article.top > div.body_top {
}

article#root article.top > div.body_top > div.inner {
	width: 80%;
	margin: auto;
}

article#root article.top > div.body_top > div.inner > span {
}

article#root article.top > div.line1 {
}

article#root article.business {
}

article#root article.business > div.line2 {
}

article#root article.business > section {
}

article#root article.business > section > a {
}

article#root article.business > section > a > div.inner {
}

article#root article.business section div.row div.col_1 {
	width: 200px;
}

article#root article.business > section > a > div.inner > div.row {
}

article#root article.business > section > a > div.inner > div.row > div.col {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_1 {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_1 > div.img {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_1 > div.img > img {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_2 {
	width: 300px;
}

article#root article.business > section > a > div.inner > div.row > div.col.col_2 > header {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_2 > header > h1 {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_2 > div.body {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_2 > div.body > div.inner {
}

article#root article.business > section > a > div.inner > div.row > div.col.col_2 > div.body > div.inner > span {
}

article#root article.business > section {
}

article#root article.business > section.section_01 > a {
}

article#root article.business > section.section_01 > a > div.inner {
}

article#root article.business > section.section_01 > a > div.inner > div.row {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_1 {
	margin-bottom: 20px;
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_1 > div.img {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_1 > div.img > img {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_2 {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_2 > header {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_2 > header > h1 {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_2 > div.body {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_2 > div.body > div.inner {
}

article#root article.business > section.section_01 > a > div.inner > div.row > div.col.col_2 > div.body > div.inner > span {
}

article#root article.business > section.section_02 {
}

article#root article.business > section.section_02 > a {
}

article#root article.business > section.section_02 > a > div.row {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_1 {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_1 > div.img {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_1 > div.img > img {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_2 {
	max-width: 310px;
}

article#root article.business > section.section_02 > a > div.row > div.col.col_2 > header {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_2 > header > h1 {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_2 > div.body {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_2 > div.body > div.inner {
}

article#root article.business > section.section_02 > a > div.row > div.col.col_2 > div.body > div.inner > span {
}

article#root article.business > div.line1 {
}

article#root footer {
}

article#root footer > div.logo_footer {
}

article#root footer > div.logo_footer > img.preload {
}

article#root footer > div.company {
}

article#root footer > div.company > div.inner {
}

article#root footer > div.company > div.inner > span {
}

article#root footer > div.infomation {
}

article#root footer > div.infomation > address {
}

article#root footer > div.infomation > address > a.phone {
}

article#root footer > div.infomation > address > a.phone > span.elementor-icon-list-text {
}

article#root footer > div.infomation > address > a.mail {
}

article#root footer > div.infomation > address > a.mail > span.elementor-icon-list-text {
}

article#root footer > div.infomation > address > div.address {
}

article#root footer > div.infomation > address > div.address > span {
}

article#root footer > div#copyright {
}

}

/* @end */

/* @group If <= 600 

_|_|_|  _|_|_|_|
  _|    _|
  _|    _|_|_|
  _|    _|
_|_|_|  _|

 --------------------------------------------------------*/
@media only screen and (max-width:600px) {
article#root div.img_logo img {
	padding: 100px 0 60px 0;
}

article#root article.business > section {
	min-height: 300px;
	margin: 5% 0 0 0;
}

article#root article.business > section.section_01 {
	min-height: 270px;
}

article#root article.business > section.section_02 {
}

article#root article.business section div.row div.col_1 {
	width: auto;
	display: block;
	margin: auto;
}

article#root article.business section div.row div.col_2 {
	width: auto;
}

article#root article.business section.section_02 div.row div.col_1 div.img img {
	margin: 0 0 20px 0;
}

}

/* @end */

/* @group If <= 450 

_|_|_|  _|_|_|_|
  _|    _|
  _|    _|_|_|
  _|    _|
_|_|_|  _|

 --------------------------------------------------------*/
@media only screen and (max-width:450px) {
article#root article.business section div.row div.col_2 {
	padding: 0 0 0 10px;
}

}

/* @end */