/* @group base 

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

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

html, body {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

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

html.touch_device, html.touch_device body {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transform: translateZ(0px);
	transform: translateZ(0px);
}

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: 'NotoSansJP-Medium';
	src: url('font_notosans_subset/NotoSansJP-Medium.woff') format('woff'), url('font_notosans_subset/NotoSansJP-Medium.eot'), url('font_notosans_subset/NotoSansJP-Medium.eot?#iefix') format('embedded-opentype');
	font-weight: normal;
	font-style: normal;
}

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

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

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

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

.font_notosans {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
}

.font_notosans_regular {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
}

.font_notosans_medium {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}

.font_notosans_black {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
}

.font_notoserif {
	font-family: 'Noto Serif JP', serif;
}

.font_montserrat {
	font-family: 'Montserrat-Regular-Regular', serif;
}

body {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	display: block;
	font-family: 'Noto Sans JP', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
  color: #666;
	font-size: 15px;
	line-height: 1.8;
	font-feature-settings: "palt" 1;
	font-feature-settings: "liga" 0;
	-webkit-font-smoothing: antialiased;
	background: #FFF;
	font-weight: 500;
}

body > * {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

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: 'NotoSerifJP-Regular', "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}

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

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

::selection {
	background: #777;
	color: #FFF;
}

::-moz-selection {
	background: #777;
	color: #FFF;
}

a {
	color: #C00;
	-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;
}
.over {
	transition-property: opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease-out;
	opacity: 1;
}
.over.on {
	transition-duration: 0.2s;
	opacity: 0.5;
}

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

.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;
}

.textillate_wrapper {
	visibility: hidden;
}

.textillate_wrapper.textillate {
	visibility: hidden;
}

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: #f5f5f5;
}

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: auto;
	/*overflow-x: hidden;*/
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	width: 100%;
	height: 100%;
	padding: 0;
}

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

#entry > div.inner::-webkit-scrollbar-track {
	width: 5px;
	height: 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: 110px 0 0;
	z-index: 2;
	width: 100%;
	min-width: 1280px;
}
#entry > div.inner > article > div.inner {
	max-width: 800px;
	margin: 0 auto;
	width: 90%;
}

body > #wrapper > #container {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	transition-property: opacity;
	transition-duration: 2s;
	transition-timing-function: ease-out;
	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)";
	*/
}

#return_top {
    background: rgba(147, 136, 117, 0.27);
    position: absolute;
    bottom: 30px;
    right: 30px;
    z-index: 100;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: .3s;
    transition: .3s;
    opacity: 0;
    pointer-events: none;
    cursor: pointer;
}

#return_top img {
    width: 18px;
    height: 10px;
    -webkit-transition: -webkit-transform ease 0.5s;
    transition: -webkit-transform ease 0.5s;
    transition: transform ease 0.5s;
    transition: transform ease 0.5s, -webkit-transform ease 0.5s;
}

#return_top:hover {
    opacity: 1;
}

#return_top:hover img {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    opacity: 1;
}

html.root_top #return_top {
}

html.scrolled #return_top {
	opacity: 1;
  pointer-events: auto;
}

html.scrolled #return_top.on {
	transition-duration: 0.2s;
	opacity: 0.6;
}

#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: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

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

.inline_scroll::-webkit-scrollbar-track {
	width: 5px;
	height: 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.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 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 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);
}

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: 'Noto Sans JP', "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;
}

.invisible {
	visibility: hidden;
}

div.flickity_slider {
	width: 100%;
	position: relative;
}

div.flickity_slider div.flickity-slider > li {
	/*transition-property: opacity;
	transition-duration: 0.6s;
	transition-timing-function: ease-out;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";*/
}

div.flickity_slider div.flickity-slider > li.is-selected {
	/*opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";*/
}

div.flickity_slider > div {
	position: relative;
}

div.flickity_slider > .main {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: #FFF;
}

div.flickity_slider > ul > div.flickity-viewport {
	width: 100%;
	overflow: hidden;
}

div.flickity_slider > ul > div.flickity-viewport > div.flickity-slider {
	height: 100%;
	letter-spacing: -.40em;
	width: 100%;
}

div.flickity_slider > ul > div.flickity-viewport > div.flickity-slider > .thm {
	display: inline-block;
	height: 100%;
}

div.flickity_slider > ul > div.flickity-viewport > div.flickity-slider > .thm > div.img {
	height: 0;
	width: 100%;
	position: relative;
	padding-bottom: 100%;
}
div.flickity_slider > ul > div.flickity-viewport > div.flickity-slider > .thm > div.img > * {
	height: 100%;
	width: 100%;
	position: a;
	top: 0;
	left: 0;
}
div.flickity_slider > ul > div.flickity-viewport > div.flickity-slider > .thm > div.img > * > img {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm {
	width: 100%;
	height: 100%;
	transition-property: opacity;
	transition-duration: 0.6s;
	transition-timing-function: ease-out;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm div.img > div.inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm div.img > div.inner > img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm.is-selected {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm > div.img > a.dl_pdf {
	position: absolute;
	width: 100px;
	background: #cd0a0a;
	z-index: 20;
	right: 2%;
	bottom: 0;
	padding: 5px 10px 5px 3px;
	color: #FFF;
	font-weight: bold;
	letter-spacing: normal;
	text-align: center;
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}

div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm > div.img > a.dl_pdf::before {
	content: "";
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: middle;
	background: url(../elements/icon_download.png?180322) 50% 50% / 100% no-repeat;
	margin: -3px 3px 0 0;
}

div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm > div.img > a.dl_pdf::after {
	content: "PDF";
}
div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm .text_wrapper {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	letter-spacing: 0.1em;
	font-family: 'Noto Sans JP', "YuGothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
	font-size: 90%;
	padding: 5px 0;
}
div.flickity_slider > .main > div.flickity-viewport > div.flickity-slider > .thm .text_wrapper > * {
}

div.flickity_slider > .main > button.flickity-prev-next-button {
	position: absolute;
	height: 80px;
	max-width: 30px;
	width: 40px;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 100;
	display: block;
}

div.flickity_slider > .main > button.flickity-prev-next-button.previous {
	left: 0;
	background: url(../elements/btn_arrow_small_left_b.gif?180322) 50% 50% / 150% no-repeat;
}

div.flickity_slider > .main > button.flickity-prev-next-button.next {
	right: 0;
	background: url(../elements/btn_arrow_small_right_b.gif?180322) 50% 50% / 150% no-repeat;
}

div.flickity_slider > .thms {
	width: calc( 100% + 10px );
	position: absolute;
	letter-spacing: -.40em;
	white-space: nowrap;
	position: absolute;
	padding: 0 0;
	left: 0;
	right: 0;
	margin: 50px -5px 0;
	top: 100%;
	display: none;
}

div.flickity_slider > .thms button.flickity-prev-next-button.previous {
	left: 0;
	background: url(../elements/btn_arrow_small_left_b.gif?180322) 50% 50% / 100% no-repeat;
}

div.flickity_slider > .thms button.flickity-prev-next-button.next {
	right: 0;
	background: url(../elements/btn_arrow_small_right_b.gif?180322) 50% 50% / 100% no-repeat;
}

div.flickity_slider > .thms > div.flickity-viewport {
	width: 100%;
	height: 0;
}

div.flickity_slider > .thms > div.flickity-viewport > div.flickity-slider {
}

div.flickity_slider > .thms .thm {
	height: 100%;
	width: 25%;
	display: inline-block;
	position: relative;
	cursor: pointer;
	letter-spacing: normal;
	transition-property: opacity;
	transition-duration: 0.6s;
	transition-timing-function: ease-out;
	padding: 0 5px;
	line-height: 0;
}

div.flickity_slider > .thms .thm.is-nav-selected {
	cursor: default;
	opacity: 0.3;
	-moz-opacity: 0.3;
	filter: alpha(opacity=30);
	-ms-filter: "alpha(opacity=30)";
}

div.flickity_slider > .thms .thm.on {
	transition-duration: 0.05s;
	opacity: 0.3;
	-moz-opacity: 0.3;
	filter: alpha(opacity=30);
	-ms-filter: "alpha(opacity=30)";
}
/* @end */

/* @group video 

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

 --------------------------------------------------------*/
video {
	display: block;
	width: 100%;
	padding: 0;
	background: #000;
}

div.video {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56%;
	background: #000;
	overflow: hidden;
}

div.video > * {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

/* @end */

/* @group preload 

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

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

#preloader {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	background: #FFF;
}

#preloader > div.bg {
	width: 100%;
	height: 100%;
	transition-duration: 1s;
	transition-timing-function: ease-out;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

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

#preloader > div.bg > div.logo_wrapper > #progress_bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 80px;
	width: 80px;
	z-index: 2;
	display: none;
}

#preloader > div.bg > div.logo_wrapper > #progress_bg > div.progress {
	position: absolute;
	background: #AAA;
	z-index: 1;
	left: 0;
	width: 0%;
	height: 1px;
	bottom: 0;
	-moz-transform-property: -moz-transform;
	-webkit-transform-property: -webkit-transform;
	-o-transform-property: -o-transform;
	-ms-transform-property: -ms-transform;
	transition-property: transform;
	-moz-transform-origin: right center;
	-webkit-transform-origin: right center;
	-o-transform-origin: right center;
	-ms-transform-origin: right center;
	transition-origin: right center;
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-o-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
	-moz-transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	-ms-transition-duration: 0.5s;
	transition-duration: 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);
}

#preloader > div.bg > div.logo_wrapper > #progress_bg > div.progress.out {
	left: auto;
	right: 0;
	-moz-transform: scaleX(0);
	-webkit-transform: scaleX(0);
	-o-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
}

#preloader > div.bg > div.logo_wrapper {
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 2;
	top: 0;
	left: 0;
	margin: auto;
	right: 0;
	bottom: 0;
}

#preloader > div.bg > div.logo_wrapper > img.logo {
	position: absolute;
	height: auto;
	width: 100px;
	z-index: 10;
	top: 0;
	left: 0;
	margin: auto;
	right: 0;
	bottom: 0;
}

#preloader > div.bg > div.logo_wrapper > div.ring {
	position: absolute;
	width: 100px;
	height: 100px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 15;
	-webkit-animation: spinner_preloading 10s infinite linear;
	animation: spinner_preloading 10s infinite linear;
}

#preloader > div.bg > div.logo_wrapper > div.ring::before {
	content: "";
	display: block;
	width: 30px;
	height: 35px;
	background: #222;
	position: absolute;
	left: 0;
	right: 0;
	top: -5px;
	margin: auto;
}

#preloader > div.bg > div.logo_wrapper > div.ring::after {
	content: "";
	display: block;
	width: 30px;
	height: 35px;
	background: #222;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -5px;
	margin: auto;
}

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

	33% {
		-webkit-transform: rotate(400deg);
		transform: rotate(400deg);
	}

	66% {
		-webkit-transform: rotate(760deg);
		transform: rotate(760deg);
	}

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

}

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

	33% {
		-webkit-transform: rotate(400deg);
		transform: rotate(400deg);
	}

	66% {
		-webkit-transform: rotate(760deg);
		transform: rotate(760deg);
	}

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

}

img.preload {
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	transition-property: opacity;
	transition-duration: 0.8s;
	transition-timing-function: ease-out;
}

img.preload.loaded {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

iframe.preload {
	transition-property: opacity;
	transition-duration: 0.5s;
	transition-timing-function: ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
	-moz-opacity: 0;				/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}

iframe.preload.loaded {
	opacity: 1;
	-moz-opacity: 1;				/* Firefox */
	filter: alpha(opacity=100);		/* IE6/7 */
	-ms-filter: "alpha(opacity=100)";	/* IE8 */
}

/* @end */

/* @group header 

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

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

body #header {
	position: absolute;
	left: 0;
	top: auto;
	height: 0;
	width: 200px;
	right: 0;
	margin: auto;
	bottom: 50%;
	transition-property: opacity, z-index;
	transition-duration: 0.3s, 0.3s, 0.3s;
	transition-delay: 0s, 0s, 0s;
	transition-timing-function: ease-out;
	z-index: 1010;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	pointer-events: none;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

html.start.root_top #header {
}

html.start #header {
	transition-duration: 0.3s, 0.3s, 0.3s;
	transition-delay: 0s, 0s, 0.5s;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	z-index: 0;
}

html.start.root_top body.modal #header {
	transition-duration: 0.3s, 0.3s, 0.3s;
	transition-delay: 0s, 0s, 0.5s;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	z-index: 0;
}

html.start.scrolled.root_top #header {
	transition-duration: 0.3s, 0.3s, 0.3s;
	transition-delay: 0s, 0s, 0.5s;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	z-index: 0;
}

html body.navi_open #header {
	transition-duration: 0.3s, 0.3s, 0.3s;
	transition-delay: 0s, 0s, 0.5s;
	opacity: 0 !important;
	-moz-opacity: 0 !important;
	filter: alpha(opacity=0) !important;
	-ms-filter: "alpha(opacity=0)" !important;
	z-index: 0;
}

body #header > header {
	width: 100%;
	margin-top: -150px;
	display: block;
	position: relative;
	height: 235px;
}

body #header > header > h1 {
	position: absolute;
	z-index: 122;
	left: 0;
	top: 0;
	height: 100%;
	max-width: 240px;
	width: 100%;
	right: 0;
	margin: auto;
}

body #header > header > h1::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

html.start body #header > header > h1::before {
	display: none;
}

body #header > header > h1 > a {
	display: block;
	height: 100%;
	width: 100%;
	position: relative;
}

body #header > header > h1 > a > img {
	width: 100%;
	height: auto;
	right: 0;
	left: 0;
	top: auto;
	bottom: 0;
	margin: auto;
	position: absolute;
}

body #header > header > h1 > a > img.logo {
	top: auto;
	bottom: -10px;
	transition-property: opacity, bottom;
	transition-duration: 0.4s;
	transition-timing-function: ease-out;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

body #header.start > header > h1 > a > img.logo {
	bottom: 0px;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

body #header.start > header > h1 > a > img.logo.white {
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

html.start.root_top #header.start > header > h1 > a > img.logo {
	transition-delay: 0.01s;
	transition-duration: 1s;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
}

html.start.root_top #header.start > header > h1 > a > img.logo.white {
	transition-delay: 0.01s;
	transition-duration: 1s;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

body #header > header > h1 > div.area {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	width: 100%;
	height: 246px;
}

body #header > header > h1 > div.area {
	position: absolute;
}

body #header > header > h1 > div.area > iframe#iframe_stage {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	height: 100%;
	width: 100%;
	display: block;
	background: transparent;
}

body #header > header > h1 > div.area > div.circle {
	background: #db9e31;
	width: 40px;
	height: 40px;
	position: absolute;
	z-index: 1;
	top: 125px;
	bottom: auto;
	margin: auto;
	right: 0;
	left: 0;
	border-radius: 50%;
	transform: scale(0);
	-moz-transform: scale(0);
	-webkit-transform: scale(0);
	-o-transform: scale(0);
	-ms-transform: scale(0);
	-moz-transition-delay: 2s;
	-webkit-transition-delay: 2s;
	-o-transition-delay: 2s;
	-ms-transition-delay: 2s;
	transition-delay: 2s;
	-moz-transform-property: -moz-transform;
	-webkit-transform-property: -webkit-transform;
	-o-transform-property: -o-transform;
	-ms-transform-property: -ms-transform;
	transition-property: transform;
	transition-duration: 1s;
	-moz-transition-timing-function: cubic-bezier(0, .5, .5, 1);
	-webkit-transition-timing-function: cubic-bezier(0, .5, .5, 1);
	-o-transition-timing-function: cubic-bezier(0, .5, .5, 1);
	-ms-transition-timing-function: cubic-bezier(0, .5, .5, 1);
	transition-timing-function: cubic-bezier(0, .5, .5, 1);
}

body #header > header > h1 > div.area > div.circle.show {
	transform: scale(1);
	-moz-transform: scale(1);
	-webkit-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
}

#header > a#logo {
	display: block;
	height: 100%;
	width: 360px;
	white-space: nowrap;
	margin: 0 auto;
	line-height: 70px;
	text-align: center;
	letter-spacing: 0.1em;
	color: #000;
	text-decoration: none;
}

/* @end */

/* @group nav 

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

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

#navi {
}

#navi * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	-o-box-sizing: content-box;
	-ms-box-sizing: content-box;
	box-sizing: content-box;
}

#navi header {
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    width: 100%;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    z-index: 1000;
    min-width: 1280px;
}

#navi header a {
    text-decoration: none !important;
    -webkit-transition: ease .3s;
    transition: ease .3s;
}

#navi header .header-main {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    height: 64px;
    padding: 24px;
}

#navi header .header-top {
    width: 424px;
}

#navi header .logo {
    width: 424px;
    height: 48px;
}

#navi header .logo a {
    position: relative;
    display: block;
    background: url(../elements/logo.svg) left center no-repeat;
    background-size: 424px;
    width: 424px;
    height: 48px;
    font-size: 0;
    overflow: hidden;
}

#navi nav .menu-area {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}

#navi nav .menu-area ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    margin-right: 24px;
}

#navi nav .menu-area ul li {
    margin-right: 16px;
}

#navi nav .menu-area ul li:last-child {
    margin-right: 0;
}

#navi nav .menu-area ul li a {
    border-radius: 50px;
    width: 128px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-box-shadow: 0px 0px 6px rgb(0 0 0 / 32%);
    box-shadow: 0px 0px 6px rgb(0 0 0 / 32%);
}

#navi nav .menu-area ul li:nth-child(1) a:hover {
    background: #EB5555;
}

#navi nav .menu-area ul li:nth-child(2) a:hover {
    background: #F2863B;
}

#navi nav .menu-area ul li:nth-child(3) a:hover {
    background: #59A8E2;
}

#navi nav .menu-area ul li:nth-child(4) a:hover {
    background: #9ED058;
}

#navi nav .menu-area ul li a span {
    display: block;
    font-size: 0;
    overflow: hidden;
}

#navi nav .menu-area ul li:nth-child(1) a {
    background: #E63030;
}

#navi nav .menu-area ul li:nth-child(1) a span {
    background: url(../elements/nav_icon01.png) left center no-repeat;
    background-size: 96px;
    width: 96px;
    height: 31px;
    margin-top: 4px;
}

#navi nav .menu-area ul li:nth-child(2) a {
    background: #EF6B10;
}

#navi nav .menu-area ul li:nth-child(2) a span {
    background: url(../elements/nav_icon02.png) left center no-repeat;
    background-size: 96px;
    width: 96px;
    height: 28px;
    margin-top: 1px;
}

#navi nav .menu-area ul li:nth-child(3) a {
    background: #3595DB;
}

#navi nav .menu-area ul li:nth-child(3) a span {
    background: url(../elements/nav_icon03.png) left center no-repeat;
    background-size: 96px;
    width: 96px;
    height: 31px;
    margin-top: 4px;
}

#navi nav .menu-area ul li:nth-child(4) a {
    background: #88C633;
}

#navi nav .menu-area ul li:nth-child(4) a span {
    background: url(../elements/nav_icon04.png) left center no-repeat;
    background-size: 93px;
    width: 93px;
    height: 43px;
}

#navi nav .menu-area .shop_btn {
    border-radius: 50px;
    width: 64px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #CB0003;
}

#navi nav .menu-area .shop_btn:hover {
    background: #D52E30;
}

#navi nav .menu-area .shop_btn span {
    display: block;
    font-size: 0;
    overflow: hidden;
    background: url(../elements/shop_icon.svg) left center no-repeat;
    background-size: 34px;
    width: 34px;
    height: 28px;
    margin-right: 2px;
}

/* @end */


/* @group container article 

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

 --------------------------------------------------------*/
#container > div#base {
	display: block;
	transition-property: opacity;
	transition-duration: 0.8s;
	transition-timing-function: ease-out;
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	overflow: auto;
	/*overflow-x: hidden;*/
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 5;
}

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

#container > div#base::-webkit-scrollbar-track {
	width: 5px;
	height: 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: absolute;
	overflow: hidden;
	top: 0;
	right: 0;
	bottom: 0;
	width: 3px;
	height: 100%;
	background-color: #DDD;
	z-index: 100;
}

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

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: left;
	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%;
	min-width: 1280px;
}

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 {
	padding: 0 0;
	min-height: 400px;
}

div#base > article > article.ground {
	position: relative;
	z-index: 5;
}

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

	/*
		transform: matrix(1, 0, 0, 1, 0, 200);
		opacity: 0;

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

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

	/*
		transform: matrix(1, 0, 0, 1, 0, 0);
		opacity: 1;
	*/
}

div#base > article > div.inner {
	min-height: 400px;
}

div#base > article > div.inner > div.body div.soon {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	letter-spacing: 0.1em;
	color: #888;
	padding: 50px 0;
}

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)";
}

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: 'Oswald-Regular';
	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: 15px;
}

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%;
	max-width: 1060px;
	margin: 0 auto;
}

div.index > ul {
  width: 100%;
  margin: 0 auto;
	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.not_found {
	display: block;
	width: 100% !important;
	padding: 100px 0 200px !important;
}
div.index > ul li.not_found > * {
	text-align: center;
}

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

div.index > ul li > * {
	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.4;
	padding: 0;
	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: #555;
	transition-property: opacity;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	font-size: 100%;
	font-weight: bold;
	display: block;
	height: 35px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	border: 1px solid;
	position: absolute;
	padding: 0 4%;
	text-align: center;
	line-height: 35px;
	letter-spacing: 0.05em;
}

div.index > ul li.load_more.loading::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 5;
}

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: 'DidactGothic-Regular';
}

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

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;
	opacity: 1;
}

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.index.banner {
	max-width: none;
	width: 100%;
	display: block;
}
div.index.banner > ul {
	width: 100%;
	line-height: 0;
}
div.index.banner > ul > li {
	display: flex;
	width: 100%;
	letter-spacing: -.40em;
	flex-wrap: wrap;
	justify-content: space-between;
}
div.index.banner > ul > li > div {
	width: 100%;
	letter-spacing: normal;
	padding-bottom: 2%;
}
div.index.banner > ul > li > div > * {
	display: block;
}
div.index.banner > ul > li > div > * > div.img {
	padding: 0;
	margin: 0;
	height: auto;
	width: 100%;
}
div.index.banner > ul > li > div > * > div.img > img {
	position: static;
	width: 100% !important;
	height: auto !important;
	display: block;
}
div.index.banner > ul > li > div.horizontal {
}
div.index.banner > ul > li > div.horizontal > * {
}
div.index.banner > ul > li > div.horizontal > * > div.img {
}
div.index.banner > ul > li > div.horizontal > * > div.img > img {
}
div.index.banner > ul > li > div.vertical {
	width: 49%;
}
div.index.banner > ul > li > div.horizontal + div.vertical:last-child {
	margin: 0 auto;
}
div.index.banner > ul > li > div.vertical > * {
}
div.index.banner > ul > li > div.vertical > * > div.img {
}
div.index.banner > ul > li > div.vertical > * > div.img > img {
}


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

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.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: 'Oswald-Regular';
	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.media_list {
	max-width: 900px;
	width: 100%;
	margin: 0 auto 30px;
	text-align: left;
}

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 > dd {
	display: none;
	padding-top: 0;
}

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 > img {
	display: block;
	width: 100%;
}

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: 980px;
	margin: 0 auto;
}

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

div.image_list > figure > div.text_wrapper {
	padding: 15px 0 30px;
	max-width: 980px;
	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#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 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-weight: bold;
	font-size: 140%;
	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 > 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 5px;
	margin-right: 10px;
	display: inline-block;
	font-family: 'Noto Sans JP', "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 > header > div.category span {
	padding: 0 5px;
}

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: 120px;
	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#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: hsl(192, 100%, 31%);
	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)";
}



div.index > ul {
}

div.index > ul li {
	letter-spacing: normal;
}

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

div.index > ul .slick-slide {
    margin:0 10px;
}

div.index > ul a {
    display: block;
    text-decoration: none;
}

div.index > ul a.on {
    opacity: 0.5;
}

div.index > ul.slick01 li,
div.index > ul.slick03 li {
    width: 33.333%;
    padding: 0 2% 30px;
}

div.index > ul .img {
    height: 0;
    margin-bottom: 12px;
    width: 100%;
    padding-bottom: 100%;
    position: relative;
}

div.index > ul.slick01 .img {
	padding-bottom: 48%;
}
div.index > ul.slick02 .img {
}
div.index > ul.slick03 .img {
	padding-bottom: 53%;
}

div.index > ul .img img {
    height: auto !important;
    width: auto !important;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 100%;
    max-height: 100%;
}
div.index > ul .img.noimage img {
	background: #FFF;
}

div.index > ul.slick01 h3,
div.index > ul.slick03 h3 {
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
    color: #7B5121;
    margin-bottom: 12px;
}
div.index > ul li h3 span {
	display: inline;
}

div.index > ul.slick01 .read,
div.index > ul.slick03 .read {
    font-size: 14px;
    line-height: 24px;
    color: #666666;
    margin-bottom: 24px;
}

div.index > ul.slick01 .read span,
div.index > ul.slick03 .read span {
    color: #7B5121;
    display: inline;
}

div.index > ul.slick01 time,
div.index > ul.slick03 time {
    font-family: 'Montserrat', sans-serif;
    text-align: right;
    display: block;
    color: #666666;
    font-size: 12px;
    letter-spacing: 0.5px;
}

div.index > ul.slick02 li {
    width: 20% !important;
    padding: 0 2% 30px;
}

div.index > ul.slick02 li > * {
	color: #696159;
}

div.index > ul.slick02 h3 {
    font-size: 18px;
    margin-bottom: 10px;
    letter-spacing: 0.01em;
    line-height: 1.2;
}

div.index > ul.slick02 .read {
    font-family: 'Montserrat', sans-serif;
    font-size: 11.5px;
    margin-bottom: 10px;
}

div.index > ul.slick02 .btn {
    text-align: right;
    text-decoration: underline;
    padding-right: 22px;
    font-size: 11px;
    margin-bottom: 5px;
}

div.index > ul.slick02 .blank {
    background: url(../elements/blank_icon.svg) 100% 50% / 13px no-repeat
}

div.index > ul.slick02 .js-modal-open {
    background: url(../elements/modal_icon.svg) 100% 50% / 13px no-repeat
}

div.index .ar-prev, div.index .ar-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    border-radius: 50px;
    width: 50px;
    height: 50px;
    font-size: 0;
    overflow: hidden;
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-box-shadow: 0px 0px 3px rgb(0 0 0 / 10%);
    box-shadow: 0px 0px 3px rgb(0 0 0 / 10%);
}

div.index .ar-prev {
    left: -80px;
    background: url(../elements/icon-prev.svg) 0 center no-repeat;
    background-size: 50px;
}

div.index .ar-next {
    right: -80px;
    background: url(../elements/icon-next.svg) 0 center no-repeat;
    background-size: 50px;
}

div.index .ar-prev:hover {
    opacity: 0.5;
}

div.index .ar-next:hover {
    opacity: 0.5;
}

div.index .ar-prev.slick-disabled,
div.index .ar-next.slick-disabled {
    opacity: 0.3;
    cursor: default;
}



/* @end */





/* @group page 

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

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

div#base > article > div.img.bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	max-height: 680px;
	width: 100%;
	height: 80vh;
	background: #888;
}
div#base > article > div.img.bg > img {
	display: block;
	width: 100%;
	height: 100%;
}

div#base > article div.inner.page_common {
	padding: 120px 30px 120px;
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
}
div#base > article div.inner.page_common .ttl_common {
	margin-bottom: 50px;
}

div.index > ul li .modal{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    z-index: 1000;
}

div.index > ul li .modal__bg{
    background: rgba(0,0,0,0.3);
    height: 100vh;
    position: absolute;
    width: 100%;
}

div.index > ul li .modal__content{
    background: #fff;
    left: 50%;
    padding: 50px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 50%;
    box-shadow: 2px 2px 8px 4px rgb(0 0 0 / 10%);
    border-radius: 10px;
}

div.index > ul li .sakka_video {
    height: auto;
    width: 100%;
}

/* @end */





/* @group footer 

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

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

aside.side {
    position: absolute;
    top: 0;
    right: 0;
    background-color: transparent;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    z-index: 900;
    pointer-events: none;
}

aside.side a {
	pointer-events: auto;
}

aside.side * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	-o-box-sizing: content-box;
	-ms-box-sizing: content-box;
	box-sizing: content-box;
}

aside.side a {
    text-decoration: none !important;
    -webkit-transition: ease .3s;
    transition: ease .3s;
}

aside.side .side-main {
    padding: 132px 30px 0;
    width: 48px;
    height: 340px;
}

aside.side .side-main p {
    display: block;
    font-size: 0;
    overflow: hidden;
    background: url(../elements/follow.svg) left center no-repeat;
    background-size: 12px;
    width: 12px;
    height: 78px;
    margin: 0 auto 60px;
}

aside.side .side-main ul li {
    width: 48px;
    margin-bottom: 60px;
}

aside.side .side-main ul li:nth-child(1) {
    height: 48px;
}

aside.side .side-main ul li:nth-child(2) {
    height: 39px;
}

aside.side .side-main ul li:nth-child(3) {
    height: 48px;
    margin-bottom: 0;
}

aside.side .side-main ul li:nth-child(1) a {
    display: block;
    background: url(../elements/instagram.svg) left center no-repeat;
    background-size: 48px;
    width: 48px;
    height: 48px;
    font-size: 0;
    overflow: hidden;
}

aside.side .side-main ul li:nth-child(1) a:hover {
    background: url(../elements/instagram-hv.svg) left center no-repeat;
    background-size: 48px;
}

aside.side .side-main ul li:nth-child(2) a {
    display: block;
    background: url(../elements/twitter.svg) left center no-repeat;
    background-size: 48px;
    width: 48px;
    height: 39px;
    font-size: 0;
    overflow: hidden;
}

aside.side .side-main ul li:nth-child(2) a:hover {
    background: url(../elements/twitter-hv.svg) left center no-repeat;
    background-size: 48px;
}

aside.side .side-main ul li:nth-child(3) a {
    display: block;
    background: url(../elements/facebook.svg) left center no-repeat;
    background-size: 48px;
    width: 48px;
    height: 48px;
    font-size: 0;
    overflow: hidden;
}

aside.side .side-main ul li:nth-child(3) a:hover {
    background: url(../elements/facebook-hv.svg) left center no-repeat;
    background-size: 48px;
}


div.footer {
	background: url(../elements/bg.jpg) repeat;
	text-align: left;
}

div.footer * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	-o-box-sizing: content-box;
	-ms-box-sizing: content-box;
	box-sizing: content-box;
}

div.footer > footer {
    padding: 78px 0 80px;
}

div.footer > footer a {
    text-decoration: none !important;
    -webkit-transition: ease .3s;
    transition: ease .3s;
    color: #666666;
}

div.footer > footer a:hover {
    color: #666666;
    opacity: 0.5;
}

div.footer > footer .inner {
    width: 1208px;
    margin: 0 auto;
    padding: 0 10px;
}

div.footer > footer .main {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 65px;
}

div.footer > footer .main .main-menu .logo {
    width: 213px;
    height: 24px;
    margin-bottom: 35px;
}

div.footer > footer .main .main-menu .logo a {
    position: relative;
    display: block;
    background: url(../elements/logo.svg) left center no-repeat;
    background-size: 213px;
    width: 213px;
    height: 24px;
    font-size: 0;
    overflow: hidden;
}

div.footer > footer .main .main-menu li {
    font-family: 'Montserrat-Regular', sans-serif;
    font-size: 16px;
}

div.footer > footer .main .main-menu li a {
    font-weight: bold;
}

div.footer > footer .main .main-menu .contact {
    margin-bottom: 14px;
}

div.footer > footer .main .main-menu .contact a {
    background: url(../elements/ft_contact.svg) left 2px no-repeat;
    background-size: 16px;
    padding-left: 32px;
}

div.footer > footer .main .main-menu .shop a {
    background-image: url(../elements/ft_shop.svg), url(../elements/ft_blank.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: left 2px, right 4px;
    background-size: 16px, 16px;
    padding-left: 32px;
    padding-right: 22px;
}

div.footer > footer .main .sub-menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

div.footer > footer .main .sub-menu ul li {
    font-size: 12px;
    margin-bottom: 20px;
}

div.footer > footer .main .sub-menu ul li:last-child {
    margin-bottom: 0;
}

div.footer > footer .main .sub-menu ul.nav {
    margin-right: 72px;
}

div.footer > footer .main .sub-menu ul.sns {
    font-family: 'Montserrat-Regular', sans-serif;
}

div.footer > footer .main .sub-menu ul.sns li a {
    padding: 2px 0 2px 24px;
}

div.footer > footer .main .sub-menu ul.sns li:nth-child(1) a {
    background: url(../elements/ft_tw.svg) left 2px no-repeat;
    background-size: 16px;
}

div.footer > footer .main .sub-menu ul.sns li:nth-child(2) a {
    background: url(../elements/ft_inst.svg) left 2px no-repeat;
    background-size: 16px;
}

div.footer > footer .main .sub-menu ul.sns li:nth-child(3) a {
    background: url(../elements/ft_yt.svg) left 2px no-repeat;
    background-size: 16px;
}

div.footer > footer .main .sub-menu ul.sns li:nth-child(4) a {
    background: url(../elements/ft_fb.svg) left 2px no-repeat;
    background-size: 16px;
}

div.footer > footer .main .sub-menu ul.sns li:nth-child(5) a {
    background: url(../elements/ft_fb.svg) left 2px no-repeat;
    background-size: 16px;
}

div.footer > footer .copy-index {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
}

div.footer > footer .copy-index .add {
    font-size: 14px;
    line-height: 24px;
}

div.footer > footer .copy-index .copy {
    font-family: 'Montserrat-Regular', sans-serif;
    font-size: 10px;
}


/* @end */

