@charset "UTF-8";
/*
 * STYLESHEET.
 *
################################################################################
 */
@import url("//use.fontawesome.com/releases/v5.8.1/css/all.css");
@import url("//fonts.googleapis.com/css?family=Noto+Sans");
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap&subset=japanese");
@import url("//fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap&subset=japanese");
@import url("//fonts.googleapis.com/css?family=Josefin+Sans:300,400,700&display=swap");
@import url("//cdn.jsdelivr.net/themify-icons/0.1.2/css/themify-icons.css");
/* ========================================================================== *
 * normalize or reset.
.* ========================================================================== */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* normalize: document.
 * -------------------------------------------------------------------------- */
html {
	line-height:1.15;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}

/* normalize: sections.
 * -------------------------------------------------------------------------- */
body {
	margin:0;
}

article,
aside,
footer,
header,
nav,
section {
	display:block;
}

h1 {
	font-size:2em;
	margin:.67em 0;
}

/* normalize: grouping content.
 * -------------------------------------------------------------------------- */
figcaption,
figure,
main {
	display:block;
}

figure {
	margin:1em 40px;
}

hr {
	box-sizing:content-box;
	height:0;
	overflow:visible;
}

pre {
	font-family:monospace, monospace;
	font-size:1em;
}

/* normalize: text-level semantics.
 * -------------------------------------------------------------------------- */
a {
	background-color:transparent;
	-webkit-text-decoration-skip:objects;
}

abbr[title] {
	border-bottom:none;
	text-decoration:underline;
	-webkit-text-decoration:underline dotted;
	text-decoration:underline dotted;
}

b,
strong {
	font-weight:inherit;
}

b,
strong {
	font-weight:bolder;
}

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

dfn {
	font-style:italic;
}

mark {
	background-color:#ff0;
	color:#000;
}

small {
	font-size:80%;
}

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

sub {
	bottom:-.25em;
}

sup {
	top:-.5em;
}

/* normalize: embedded content.
 * -------------------------------------------------------------------------- */
audio,
video {
	display:inline-block;
}

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

img {
	border-style:none;
}

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

/* normalize: forms.
 * -------------------------------------------------------------------------- */
button,
input,
optgroup,
select,
textarea {
	font-family:sans-serif;
	font-size:100%;
	line-height:1.15;
	margin:0;
}

button,
input {
	overflow:visible;
}

button,
select {
	text-transform:none;
}

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

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

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

fieldset {
	padding:.35em .75em .625em;
}

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

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

textarea {
	overflow:auto;
}

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

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

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

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

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

/* normalize: interactive.
 * -------------------------------------------------------------------------- */
details,
menu {
	display:block;
}

summary {
	display:list-item;
}

/* normalize: scripting.
 * -------------------------------------------------------------------------- */
canvas {
	display:inline-block;
}

template {
	display:none;
}

/* normalize: hidden.
 * -------------------------------------------------------------------------- */
[hidden] {
	display:none;
}

/* ========================================================================== *
 * base.
.* ========================================================================== */
html {
	font-family:"Noto Sans", "Noto Sans JP", sans-serif;
	line-height:2.5;
	font-size:62.5%;
}

body {
	color:#000;
	background:#fff;
	font-size:13px;
	font-size:1.3rem;
}

button,
input,
optgroup,
select,
textarea {
	font-family:"Noto Sans", "Noto Sans JP", sans-serif;
}

:focus {
	outline:none;
}

::-moz-selection {
	color:#000;
	background:#b3d4fc;
	text-shadow:none;
}

::selection {
	color:#000;
	background:#b3d4fc;
	text-shadow:none;
}

hr {
	margin:1em 0;
	padding:0;
	border:0;
	border-top:1px solid rgba(0, 0, 0, .25);
	display:block;
	height:1px;
	background:rgba(255, 255, 255, .25);
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align:middle;
}

fieldset {
	margin:0;
	padding:0;
	border:0;
}

textarea {
	resize:vertical;
}

html {
	height:100%;
}

body {
	height:100%;
	overflow-y:scroll;
}

@media (max-width: 767px) {
	body {
		min-width:320px;
	}
}

@media (min-width: 768px) {
	body {
		min-width:1200px;
		min-height:680px;
	}
}

/* 印刷時の背景印刷 */
@media print {
	body {
		-webkit-print-color-adjust:exact;
	}
}

a {
	color:#000;
	text-decoration:none;
	transition:border-color .2s linear 0s, color .2s linear 0s, background-color .2s linear 0s, opacity .2s linear 0s;
}

/* IE系での画像リサイズ時のリサンプリング設定 */
img {
	-ms-interpolation-mode:bicubic;
}

/* ========================================================================== *
 * font.
.* ========================================================================== */
.f-serif {
	font-family:"Noto Serif JP", serif;
}

.f-josefin {
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
}

/* ========================================================================== *
 * layout.
.* ========================================================================== */
/* layout: common header.
 * -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.l-head {
		position:absolute;
		top:0;
		right:0;
		width:100%;
		min-width:320px;
		height:100%;
	}
}

@media (min-width: 768px) {
	.l-head {
		position:fixed;
		top:0;
		right:0;
		width:50px;
		height:100%;
		background:#fff;
		z-index:999;
	}
}

.l-head_bar {
	position:relative;
	background:#fff;
	z-index:1001;
}

@media (max-width: 767px) {
	.l-head.is-fixed .l-head_bar {
		width:100%;
		min-width:320px;
		position:fixed;
		top:-40px;
		transition:transform .3s cubic-bezier(.645, .045, .355, 1);
	}
}

@media (max-width: 767px) {
	.l-head.is-fixed.is-visible .l-head_bar {
		transform:translateY(40px);
	}
}

.l-head_logo {
	font-size:12px;
	text-align:center;
}

@media (max-width: 767px) {
	.l-head_logo {
		margin:0;
	}
}

@media (min-width: 768px) {
	.l-head_logo {
		margin:20px 0 0;
	}
}

.l-head_logo .logo_inner {
	display:inline-block;
	position:relative;
	vertical-align:top;
	overflow:hidden;
	white-space:nowrap;
}

@media (max-width: 767px) {
	.l-head_logo .logo_inner {
		padding-top:40px;
		width:136px;
		height:0;
		line-height:40px;
		background:url(../common_img/logo.svg) no-repeat center center/auto 10px;
	}
}

@media all and (max-width: 767px) and (-ms-high-contrast: none) {
	.l-head_logo .logo_inner {
		background:url(../common_img/logo-mini.png) no-repeat center center/auto 10px;
	}
}

@media (min-width: 768px) {
	.l-head_logo .logo_inner {
		padding-right:20px;
		width:0;
		height:138px;
		line-height:20px;
		-webkit-writing-mode:vertical-rl;
		-ms-writing-mode:tb-rl;
		writing-mode:vertical-rl;
		background:url(../common_img/logo-v.svg) no-repeat center center/10px auto;
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.l-head_logo .logo_inner {
		background:url(../common_img/logo-v-mini.png) no-repeat center center;
	}
}

@media (min-width: 768px) {
	.l-head_logo .logo_inner:hover::after {
		transform:scaleY(1);
	}
	.l-head_logo .logo_inner::after {
		position:absolute;
		top:0;
		left:0;
		width:1px;
		height:100%;
		background:#000;
		content:"";
		transform-origin:center top;
		transform:scaleY(0);
		transition:transform cubic-bezier(.645, .045, .355, 1) .3s;
	}
}

@media (max-width: 767px) {
	.l-head_btn {
		display:flex;
		justify-content:center;
		align-items:center;
		position:absolute;
		top:0;
		right:0;
		width:40px;
		height:40px;
	}
}

@media (min-width: 768px) {
	.l-head_btn {
		display:none;
	}
}

@media all and (max-width: 767px) and (-ms-high-contrast: none) {
	.l-head_btn.is-active {
		background:url(../common_img/btn-close.png) no-repeat center center/40px auto;
	}
}

.l-gnav {
	position:relative;
	line-height:20px;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	z-index:1000;
}

@media (max-width: 767px) {
	.l-gnav {
		padding-top:10px;
		display:none;
		width:100%;
	}
	.l-gnav::before,
	.l-gnav::after {
		display:block;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100%;
		content:"";
		background:#fff;
	}
	.l-gnav::before {
		transform:translateY(-100%);
	}
	.l-gnav::after {
		transform:translateY(100%);
	}
}

.l-gnav_list {
	margin:0;
	padding-left:0;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	align-items:center;
	position:relative;
	list-style-type:none;
	transform:translateX(-1px);
}

@media (max-width: 767px) {
	.l-gnav_list > li {
		margin-top:30px;
		margin-bottom:0;
		opacity:.5;
		transition:opacity .6s linear, transform .6s cubic-bezier(.68, -.55, .265, 1.55);
		transform:scale(0);
	}
}

@media (min-width: 768px) {
	.l-gnav_list > li {
		margin-top:18px;
		width:20px;
	}
}

.l-gnav_list a {
	display:inline-block;
	position:relative;
	vertical-align:top;
}

@media (max-width: 767px) {
	.l-gnav_list a {
		font-size:20px;
	}
}

@media (min-width: 768px) {
	.l-gnav_list a {
		-webkit-writing-mode:vertical-rl;
		-ms-writing-mode:tb-rl;
		writing-mode:vertical-rl;
	}
	.l-gnav_list a:hover::after {
		transform:scaleY(1);
	}
	.l-gnav_list a::after {
		position:absolute;
		top:0;
		left:1px;
		width:1px;
		height:100%;
		background:#000;
		content:"";
		transform-origin:center top;
		transform:scaleY(0);
		transition:transform cubic-bezier(.645, .045, .355, 1) .3s;
	}
}

@media (max-width: 767px) {
	.l-gnav.is-active .l-gnav_list > li {
		opacity:1;
		transform:scale(1);
	}
}

.l-wrap {
	position:relative;
	width:100%;
	min-height:100%;
}

.l-secondwrap {
	padding-top:50px;
	letter-spacing:.12em;
}

@media (max-width: 767px) {
	.l-secondwrap {
		padding-right:15px;
		padding-left:15px;
	}
}

@media (min-width: 768px) {
	.l-secondwrap {
		padding-right:50px;
		padding-left:50px;
	}
}

@media (min-width: 768px) {
	.l-layout {
		margin-right:auto;
		margin-left:auto;
		width:1000px;
	}
}

.l-contents {
	letter-spacing:.2em;
}

/*
.l-contents a:link {
	text-decoration:underline;
}
*/

.l-contents a:hover {
	text-decoration:none;
}

.l-mask {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#fff;
	display:none;
	z-index:901;
}

/* layout: common footer.
 * -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.l-foot {
		padding:90px 0 60px;
		text-align:center;
	}
}

@media (min-width: 768px) {
	.l-foot {
		padding:260px 50px 70px;
		text-align:right;
	}
}

.l-foot_head {
	margin:0 0 20px;
	line-height:32px;
}

.l-foot_head .head_logo {
	padding-top:32px;
	display:inline-block;
	position:relative;
	width:274px;
	height:0;
	vertical-align:top;
	overflow:hidden;
	background:url(../common_img/logo.svg) no-repeat center center/auto 20px;
}

@media all and (-ms-high-contrast: none) {
	.l-foot_head .head_logo {
		background:url(../common_img/logo-mini.png) no-repeat center center;
	}
}

@media (min-width: 768px) {
	.l-foot_head .head_logo:hover::after {
		transform:scaleX(1);
	}
	.l-foot_head .head_logo::after {
		position:absolute;
		bottom:0;
		left:0;
		display:block;
		width:100%;
		height:1px;
		background:#000;
		content:"";
		transition:transform .3s cubic-bezier(.645, .045, .355, 1);
		transform-origin:left center;
		transform:scaleX(0);
	}
}

.l-foot_address {
	margin:0;
	line-height:2;
	letter-spacing:2.4px;
}

.l-foot_contact {
	margin:0;
	padding-left:0;
	line-height:2;
	list-style-type:none;
}

@media (max-width: 767px) {
	.l-foot_contact {
		margin-top:15px;
	}
}

@media (min-width: 768px) {
	.l-foot_contact > li {
		display:inline;
		letter-spacing:-.40em;
	}
	.l-foot_contact > li:nth-child(n + 2)::before {
		margin-right:1.5em;
		margin-left:.75em;
		opacity:.5;
		content:"|";
	}
}

.l-foot_definition {
	margin:0;
	display:inline;
}

.l-foot_definition > dt,
.l-foot_definition > dd {
	display:inline;
	letter-spacing:2.8px;
}

.l-foot_definition > dt::after {
	margin-right:.4em;
	margin-left:.4em;
	content:":";
}

.l-foot_definition > dd {
	margin-left:0;
}

.l-foot_btns {
	margin:20px 0 0;
	padding-left:0;
	list-style-type:none;
	letter-spacing:-.40em;
}

@media (min-width: 768px) {
	.l-foot_btns {
		line-height:40px;
	}
}

@media (min-width: 768px) {
	.l-foot_btns {
		line-height:30px;
	}
}

.l-foot_btns > li {
	display:inline-block;
	vertical-align:top;
	letter-spacing:normal;
}

@media (max-width: 767px) {
	.l-foot_btns > li:nth-child(n + 2) {
		margin-left:30px;
	}
}

@media (min-width: 768px) {
	.l-foot_btns > li:nth-child(n + 2) {
		margin-left:10px;
	}
}

.l-foot_btn {
	display:block;
	position:relative;
	color:#fff;
	background:#000;
	text-align:center;
}

.l-foot_btn::after {
	padding-top:50%;
	display:block;
	position:absolute;
	bottom:100%;
	left:0;
	overflow:hidden;
	width:100%;
	background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 50%, white 100%);
	content:"";
	opacity:0;
	transform-origin:left bottom;
	transform:skewY(-30deg);
}

@media (min-width: 768px) {
	.l-foot_btn:hover::after {
		opacity:.5;
		transition:opacity .4s linear, transform .4s cubic-bezier(.55, .055, .675, .19);
		transform:translateY(calc(220% + 30px)) skewY(-30deg);
	}
}

@media (max-width: 767px) {
	.l-foot_btn-fb {
		padding-top:8px;
		padding-left:8px;
		width:32px;
		height:32px;
		line-height:32px;
		font-size:32px;
	}
}

@media (min-width: 768px) {
	.l-foot_btn-fb {
		padding-top:6px;
		padding-left:6px;
		width:24px;
		height:24px;
		line-height:24px;
		font-size:24px;
	}
}

@media (max-width: 767px) {
	.l-foot_btn-mail {
		padding-top:2px;
		width:40px;
		height:38px;
		line-height:38px;
		font-size:24px;
	}
}

@media (min-width: 768px) {
	.l-foot_btn-mail {
		padding-top:2px;
		width:30px;
		height:28px;
		line-height:28px;
		font-size:18px;
	}
}

.l-topanchor {
	position:fixed;
	right:0;
	bottom:0;
}

@media (max-width: 767px) {
	.l-topanchor {
		z-index:900;
	}
}

@media (min-width: 768px) {
	.l-topanchor {
		z-index:1500;
	}
}

.l-topanchor_btn {
	display:block;
	color:#fff;
	background:#000;
	text-align:center;
	overflow:hidden;
	opacity:0;
	transition:opacity .3s linear, transform .3s cubic-bezier(.645, .045, .355, 1);
	transform:translateY(40px);
}

.l-topanchor_btn.is-visible {
	opacity:1;
	transform:translateY(0);
}

@media (max-width: 767px) {
	.l-topanchor_btn {
		width:40px;
		height:40px;
		line-height:40px;
	}
}

@media (min-width: 768px) {
	.l-topanchor_btn {
		width:35px;
		height:35px;
		line-height:35px;
	}
}

.l-topanchor_btn::after {
	padding-top:50%;
	display:block;
	position:absolute;
	bottom:100%;
	left:0;
	overflow:hidden;
	width:100%;
	background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 50%, white 100%);
	content:"";
	opacity:0;
	transform-origin:left bottom;
	transform:skewY(-30deg);
}

@media (max-width: 767px) {
	.l-topanchor_icon {
		width:40px;
		height:40px;
	}
}

@media (min-width: 768px) {
	.l-topanchor_icon {
		width:35px;
		height:35px;
	}
}

.l-topanchor_icon::before {
	position:absolute;
	top:10px;
	right:50%;
	display:block;
	width:1px;
	content:"";
	background:#fff;
}

@media (max-width: 767px) {
	.l-topanchor_icon::before {
		height:20px;
	}
}

@media (min-width: 768px) {
	.l-topanchor_icon::before {
		height:15px;
	}
}

.l-topanchor_icon::after {
	position:absolute;
	top:10px;
	right:50%;
	display:block;
	width:1px;
	content:"";
	background:#fff;
	transform-origin:center top;
	transform:rotateZ(-30deg);
}

@media (max-width: 767px) {
	.l-topanchor_icon::after {
		height:10px;
	}
}

@media (min-width: 768px) {
	.l-topanchor_icon::after {
		height:8px;
	}
}

@media (min-width: 768px) {
	.l-topanchor_btn:hover .l-topanchor_icon {
		transform:translateY(-35px);
		transition:transform .6s cubic-bezier(.785, .135, .15, .86) 0s;
	}
	.l-topanchor_btn:hover::after {
		opacity:.5;
		transition:opacity .4s linear, transform .4s cubic-bezier(.55, .055, .675, .19);
		transform:translateY(calc(220% + 35px)) skewY(-30deg);
	}
}

/* ========================================================================== *
 * module.
.* ========================================================================== */
/* module: ボックスフィット画像.
 * -------------------------------------------------------------------------- */
.fitimg,
.fitimg-w {
	width:100%;
	height:auto;
}

.fitimg-h {
	width:auto;
	height:100%;
}

/* module: レスポンシブ表示切り替え.
 * -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.rwd-hidden-sp {
		display:none;
	}
}

@media (min-width: 768px) {
	.rwd-hidden-pc {
		display:none;
	}
}

/* module: フェード型ホバーエフェクト.
 * -------------------------------------------------------------------------- */
.hoverfade {
	transition:opacity .3s linear 0s;
	transform:translateZ(0);
}

@media (min-width: 768px) {
	a:hover .hoverfade,
	a.hoverfade:hover {
		filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
		opacity:.75;
	}
}

/* module: カーニング.
 * -------------------------------------------------------------------------- */
.k-175,
.kr-175,
.kl-175,
.k-25,
.kr-25,
.kl-25,
.k-50,
.kr-50,
.kl-50 {
	display:inline-block;
	position:relative;
}

.k-175 {
	margin-right:-.175em;
	margin-left:-.175em;
}

.kr-175 {
	margin-right:-.175em;
}

.kl-175 {
	margin-left:-.175em;
}

.k-25 {
	margin-right:-.25em;
	margin-left:-.25em;
}

.kr-25 {
	margin-right:-.25em;
}

.kl-25 {
	margin-left:-.25em;
}

.k-50 {
	margin-right:-.5em;
	margin-left:-.5em;
}

.kr-50 {
	margin-right:-.5em;
}

.kl-50 {
	margin-left:-.5em;
}

/* module: 独自リストスタイル.
 * -------------------------------------------------------------------------- */
p.kome {
	margin-left:1em;
}

p.kome:before {
	margin-left:-1em;
	position:relative;
	display:inline-block;
	width:1em;
	content:"※";
}

ul.kome,
ol.kome {
	padding-left:0;
	list-style-type:none;
}

ul.kome > li,
ol.kome > li {
	margin-left:1em;
}

ul.kome > li:before,
ol.kome > li:before {
	margin-left:-1em;
	position:relative;
	display:inline-block;
	width:1em;
	content:"※";
}

p.ast {
	margin-left:1em;
}

p.ast:before {
	margin-left:-1em;
	position:relative;
	display:inline-block;
	width:1em;
	content:"＊";
}

ul.ast,
ol.ast {
	padding-left:0;
	list-style-type:none;
}

ul.ast > li,
ol.ast > li {
	margin-left:1em;
}

ul.ast > li:before,
ol.ast > li:before {
	margin-left:-1em;
	position:relative;
	display:inline-block;
	width:1em;
	content:"＊";
}

p.arrow {
	margin-left:1em;
}

p.arrow:before {
	margin-left:-1em;
	position:relative;
	display:inline-block;
	width:1em;
	content:"→";
}

ul.arrow,
ol.arrow {
	padding-left:0;
	list-style-type:none;
}

ul.arrow > li,
ol.arrow > li {
	margin-left:1em;
}

ul.arrow > li:before,
ol.arrow > li:before {
	margin-left:-1em;
	position:relative;
	display:inline-block;
	width:1em;
	content:"→";
}

p.dot {
	margin-left:1em;
}

p.dot:before {
	margin-left:-1em;
	position:relative;
	display:inline-block;
	width:1em;
	content:"・";
}

ul.dot,
ol.dot {
	padding-left:0;
	list-style-type:disc;
}

ul.dot > li,
ol.dot > li {
	margin-left:1.5em;
}

ul.num,
ol.num {
	padding-left:0;
	list-style-type:decimal;
}

ul.num > li,
ol.num > li {
	margin-left:2em;
}

ul.alp,
ol.alp {
	padding-left:0;
	list-style-type:lower-latin;
}

ul.alp > li,
ol.alp > li {
	margin-left:2em;
}

[data-headmark] {
	position:relative;
	background:#ccc;
	list-style-type:none;
}

[data-headmark]:before {
	display:block;
	margin-right:.5em;
	position:absolute;
	top:0;
	right:100%;
	content:attr(data-headmark);
	white-space:nowrap;
}

[data-headmark-inset]:before {
	display:inline-block;
	position:relative;
	top:auto;
	right:auto;
}

/* module: 折り返し禁止.
 * -------------------------------------------------------------------------- */
.nowrap {
	white-space:nowrap;
}

.ellipsis {
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

/* module: plugin/slick v1.8.0.
 * --------------------------------------------------------------------------- */
.slick-slider {
	display:block;
	position:relative;
	box-sizing:border-box;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	touch-action:pan-y;
	-webkit-tap-highlight-color:transparent;
}

.slick-list {
	margin:0;
	padding:0;
	display:block;
	position:relative;
	overflow:hidden;
}

.slick-list:focus {
	outline:none;
}

.slick-list.dragging {
	cursor:pointer;
	cursor:hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform:translate3d(0, 0, 0);
}

.slick-track {
	margin-right:0;
	margin-left:0;
	display:block;
	position:relative;
	top:0;
	left:0;
}

.slick-track::before,
.slick-track::after {
	content:"";
	display:table;
}

.slick-track::after {
	clear:both;
}

.slick-loading .slick-track {
	visibility:hidden;
}

.slick-slide {
	display:none;
	float:left;
	height:100%;
	min-height:1px;
}

[dir="rtl"] .slick-slide {
	float:right;
}

.slick-slide img {
	display:block;
}

.slick-slide.slick-loading img {
	display:none;
}

.slick-slide.dragging img {
	pointer-events:none;
}

.slick-initialized .slick-slide {
	display:block;
}

.slick-loading .slick-slide {
	visibility:hidden;
}

.slick-vertical .slick-slide {
	display:block;
	height:auto;
	border:1px solid transparent;
}

.slick-arrow.slick-hidden {
	display:none;
}

/* Arrows */
.slick-prev,
.slick-next {
	font-size:0;
	line-height:0;
	position:absolute;
	top:50%;
	display:block;
	width:20px;
	height:20px;
	padding:0;
	transform:translate(0, -50%);
	cursor:pointer;
	color:transparent;
	border:none;
	outline:none;
	background:transparent;
	z-index:1;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	color:transparent;
	outline:none;
	background:transparent;
}

.slick-prev:hover::before,
.slick-prev:focus::before,
.slick-next:hover::before,
.slick-next:focus::before {
	opacity:1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity:.25;
}

.slick-prev::before,
.slick-next::before {
	font-size:20px;
	line-height:1;
	opacity:.75;
	color:#000;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

.slick-prev {
	left:0;
}

[dir="rtl"] .slick-prev {
	right:0;
	left:auto;
}

.slick-prev::before {
	content:"←";
}

[dir="rtl"] .slick-prev::before {
	content:"→";
}

.slick-next {
	right:0;
}

[dir="rtl"] .slick-next {
	right:auto;
	left:0;
}

.slick-next::before {
	content:"→";
}

[dir="rtl"] .slick-next::before {
	content:"←";
}

/* Dots */
.slick-dotted.slick-slider {
	margin-bottom:30px;
}

.slick-dots {
	position:absolute;
	bottom:-25px;
	display:block;
	width:100%;
	padding:0;
	margin:0;
	list-style:none;
	text-align:center;
}

.slick-dots > li {
	position:relative;
	display:inline-block;
	width:20px;
	height:20px;
	margin:0 5px;
	padding:0;
	cursor:pointer;
}

.slick-dots > li > button {
	font-size:0;
	line-height:0;
	display:block;
	width:20px;
	height:20px;
	padding:5px;
	cursor:pointer;
	color:transparent;
	border:0;
	outline:none;
	background:transparent;
}

.slick-dots > li > button:hover,
.slick-dots > li > button:focus {
	outline:none;
}

.slick-dots > li > button:hover::before,
.slick-dots > li > button:focus::before {
	opacity:1;
}

.slick-dots > li > button::before {
	border-radius:50%;
	font-size:6px;
	line-height:20px;
	position:absolute;
	top:0;
	left:0;
	width:20px;
	height:20px;
	content:"";
	background:#000;
	text-align:center;
	opacity:.25;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	transform:scale(.5);
}

.slick-dots > li.slick-active > button:before {
	opacity:.75;
}

/* module: animateicon: ハンバーガーメニュー3本.
 * -------------------------------------------------------------------------- */
.anico-bar3close {
	display:inline-block;
}

.anico-bar3close g {
	transition:transform .25s cubic-bezier(.6, -.28, .735, .045) 0s;
	transform:rotate(0);
	transform-origin:50% 50%;
}

.anico-bar3close line {
	stroke:#000;
	stroke-width:8;
	stroke-linecap:round;
	transition:stroke .25s linear 0s, stroke-width .25s linear 0s, transform .25s cubic-bezier(.175, .885, .32, 1.275) .25s;
	transform-origin:50% 50%;
	transform:translateY(0);
}

@media all and (-ms-high-contrast: none) {
	.is-active .anico-bar3close {
		visibility:hidden;
	}
}

.is-active .anico-bar3close g {
	transition:transform .25s cubic-bezier(.175, .885, .32, 1.275) .25s;
}

.is-active .anico-bar3close .bar3close-group01 {
	transform:scale(1.1) rotate(45deg);
}

.is-active .anico-bar3close .bar3close-group02 {
	transform:scale(1.1) rotate(-45deg);
}

.is-active .anico-bar3close line {
	stroke:#c00;
	stroke-width:7.27273;
	transition:stroke .25s linear .25s, stroke-width .25s linear .25s, transform .25s cubic-bezier(.6, -.28, .735, .045) 0s;
}

.is-active .anico-bar3close .bar3close-line01 {
	transform:translateY(90px);
}

.is-active .anico-bar3close .bar3close-line03 {
	transform:translateY(-90px);
}

/* module: アスペクト比保持ブロック.
 * -----------------------------------------------------------------------------
 * ※ paddingを利用することで横幅に対する比率で縦幅を指定するブロックを生成
   サイズを変える場合は親要素の横幅を調整することによって対応すること
   この要素自体に直接サイズを指定すると縦横比の崩れの原因になるため注意
 * -------------------------------------------------------------------------- */
.aspect-std,
.aspect-film,
.aspect-vista,
.aspect-square {
	position:relative;
	width:100%;
	overflow:hidden;
}

.aspect-std > .aspect_inner,
.aspect-film > .aspect_inner,
.aspect-vista > .aspect_inner,
.aspect-square > .aspect_inner {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	overflow:hidden;
	transition:transform .8s cubic-bezier(.645, .045, .355, 1);
	transform:scale(1.015);
}

/* アスペクト比4：3（スタンダードサイズ） */
.aspect-std {
	padding-top:75%;
}

/* アスペクト比3：2（35mmフィルムサイズ） */
.aspect-film {
	padding-top:66.66667%;
}

/* アスペクト比16：9（ビスタサイズ） */
.aspect-vista {
	padding-top:56.25%;
}

/* アスペクト比1：1（正方形） */
.aspect-square {
	padding-top:100%;
}

/* module: パンくずリスト.
 * -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.breadcrumb {
		display:none;
	}
}

@media (min-width: 768px) {
	.breadcrumb {
		margin-top:12px;
		margin-bottom:60px;
	}
}

.breadcrumb .breadcrumb_list {
	margin-top:0;
	margin-bottom:0;
	padding-right:0;
	padding-left:0;
	position:relative;
	width:100%;
	line-height:1.75;
	font-size:13px;
	letter-spacing:-.40em;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.breadcrumb .breadcrumb_list > li {
	margin-right:.5em;
	display:inline;
	letter-spacing:.33em;
}

.breadcrumb .breadcrumb_list > li:not(:first-child):before {
	display:inline-block;
	margin-right:.5em;
	position:relative;
	content:"＞";
	opacity:.75;
	transform:scale(.6);
}

.breadcrumb .breadcrumb_list > li a {
	display:inline-block;
	position:relative;
}

@media (min-width: 768px) {
	.breadcrumb .breadcrumb_list > li a:hover::after {
		transform:scaleX(1);
	}
	.breadcrumb .breadcrumb_list > li a::after {
		position:absolute;
		bottom:0;
		left:0;
		display:block;
		width:calc(100% - .33em);
		height:1px;
		background:#000;
		content:"";
		transition:transform .3s cubic-bezier(.645, .045, .355, 1);
		transform-origin:left center;
		transform:scaleX(0);
	}
}

/* module: シンプルボタン.
 * -------------------------------------------------------------------------- */
.button {
	margin:0;
	padding:1.05em 3.5em .95em calc(3.5em + 5px);
	border:0;
	border-radius:0;
	display:inline-block;
	position:relative;
	box-sizing:border-box;
	line-height:2;
	vertical-align:middle;
	color:#fff;
	background:#000;
	cursor:pointer;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:15px;
	font-weight:400;
	letter-spacing:5px;
	overflow:hidden;
	text-indent:5px;
	text-align:center;
	text-decoration:none;
	box-sizing:border-box;
}

.button:link {
	text-decoration:none !important;
}

@media (min-width: 768px) {
	.button::after {
		padding-top:50%;
		display:block;
		position:absolute;
		bottom:100%;
		left:0;
		width:100%;
		background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 50%, white 100%);
		content:"";
		opacity:0;
		transform-origin:left bottom;
		transform:skewY(-30deg);
	}
	.button:hover::after {
		opacity:.5;
		transition:opacity .4s linear, transform .4s cubic-bezier(.55, .055, .675, .19);
		transform:translateY(calc(220% + 60px)) skewY(-30deg);
	}
}

.button.is-block {
	padding-right:0;
	padding-left:0;
	display:block;
	width:100%;
	text-align:center;
}

.button [type="checkbox"],
.button [type="radio"] {
	cursor:pointer;
}

.button.add-icoNext {
	text-indent:0;
}

.button.add-icoNext::before {
	position:absolute;
	top:50%;
	right:0;
	display:block;
	content:"\e649";
	width:2em;
	height:1em;
	line-height:1;
	text-align:center;
	font-family:"Themify";
	transform:translateY(-50%) scale(.5, .75);
	text-indent:0;
}

.button.add-icoPrev {
	text-indent:10px;
}

.button.add-icoPrev::before {
	position:absolute;
	top:50%;
	left:0;
	display:block;
	content:"\e64a";
	width:2em;
	height:1em;
	line-height:1;
	text-align:center;
	font-family:"Themify";
	transform:translateY(-50%) scale(.5, .75);
	text-indent:0;
}

.button-gy {
	margin:0;
	padding:1.05em 3.5em .95em calc(3.5em + 5px);
	border:0;
	border-radius:0;
	display:inline-block;
	position:relative;
	box-sizing:border-box;
	line-height:2;
	vertical-align:middle;
	color:#fff;
	background:#cbd4d4;
	cursor:pointer;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:15px;
	font-weight:400;
	letter-spacing:5px;
	overflow:hidden;
	text-indent:5px;
	text-align:center;
	text-decoration:none;
	box-sizing:border-box;
}

.button-gy:link {
	text-decoration:none !important;
}

@media (min-width: 768px) {
	.button-gy::after {
		padding-top:50%;
		display:block;
		position:absolute;
		bottom:100%;
		left:0;
		width:100%;
		background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 50%, white 100%);
		content:"";
		opacity:0;
		transform-origin:left bottom;
		transform:skewY(-30deg);
	}
	.button-gy:hover::after {
		opacity:.5;
		transition:opacity .4s linear, transform .4s cubic-bezier(.55, .055, .675, .19);
		transform:translateY(calc(220% + 60px)) skewY(-30deg);
	}
}

.button-gy.is-block {
	padding-right:0;
	padding-left:0;
	display:block;
	width:100%;
	text-align:center;
}

.button-gy [type="checkbox"],
.button-gy [type="radio"] {
	cursor:pointer;
}

.button-gy.add-icoNext {
	text-indent:0;
}

.button-gy.add-icoNext::before {
	position:absolute;
	top:50%;
	right:0;
	display:block;
	content:"\e649";
	width:2em;
	height:1em;
	line-height:1;
	text-align:center;
	font-family:"Themify";
	transform:translateY(-50%) scale(.5, .75);
	text-indent:0;
}

.button-gy.add-icoPrev {
	text-indent:10px;
}

.button-gy.add-icoPrev::before {
	position:absolute;
	top:50%;
	left:0;
	display:block;
	content:"\e64a";
	width:2em;
	height:1em;
	line-height:1;
	text-align:center;
	font-family:"Themify";
	transform:translateY(-50%) scale(.5, .75);
	text-indent:0;
}

/* module: フォームセット.
 * -------------------------------------------------------------------------- */
.form {
	line-height:1.5;
	font-size:16px;
}

.form input[type=text],
.form input[type=password],
.form input[type=tel],
.form input[type=url],
.form input[type=email],
.form input[type=search],
.form input[type=number],
.form textarea,
.form select {
	margin:0;
	border:1px solid #d1dddd;
	border-radius:0;
	box-sizing:border-box;
	width:100%;
	line-height:1.5;
	background:#fbfcfc;
	font-size:100%;
	transition:border-color .2s linear 0s, color .2s linear 0s, background .3s linear 0s;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}

.form input:hover[type=text],
.form input:hover[type=password],
.form input:hover[type=tel],
.form input:hover[type=url],
.form input:hover[type=email],
.form input:hover[type=search],
.form input:hover[type=number],
.form textarea:hover,
.form select:hover {
	border-color:#a5bcbc;
}

.form input:focus[type=text],
.form input:focus[type=password],
.form input:focus[type=tel],
.form input:focus[type=url],
.form input:focus[type=email],
.form input:focus[type=search],
.form input:focus[type=number],
.form textarea:focus,
.form select:focus {
	border-color:#aaa;
	background:#fff;
}

.form input[type=text],
.form input[type=password],
.form input[type=tel],
.form input[type=url],
.form input[type=email],
.form input[type=search],
.form input[type=number] {
	padding-right:6px;
	padding-left:6px;
	padding-top:.3125em;
	padding-bottom:.3125em;
	height:36px;
}

.form input[type=text]::-webkit-input-placeholder,
.form input[type=password]::-webkit-input-placeholder,
.form input[type=tel]::-webkit-input-placeholder,
.form input[type=url]::-webkit-input-placeholder,
.form input[type=email]::-webkit-input-placeholder,
.form input[type=search]::-webkit-input-placeholder,
.form input[type=number]::-webkit-input-placeholder {
	color:#aaa;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.form input[type=text]:-moz-placeholder,
.form input[type=password]:-moz-placeholder,
.form input[type=tel]:-moz-placeholder,
.form input[type=url]:-moz-placeholder,
.form input[type=email]:-moz-placeholder,
.form input[type=search]:-moz-placeholder,
.form input[type=number]:-moz-placeholder {
	opacity:1;
	color:#aaa;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.form input[type=text]::-moz-placeholder,
.form input[type=password]::-moz-placeholder,
.form input[type=tel]::-moz-placeholder,
.form input[type=url]::-moz-placeholder,
.form input[type=email]::-moz-placeholder,
.form input[type=search]::-moz-placeholder,
.form input[type=number]::-moz-placeholder {
	opacity:1;
	color:#aaa;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.form input[type=text]:-ms-input-placeholder,
.form input[type=password]:-ms-input-placeholder,
.form input[type=tel]:-ms-input-placeholder,
.form input[type=url]:-ms-input-placeholder,
.form input[type=email]:-ms-input-placeholder,
.form input[type=search]:-ms-input-placeholder,
.form input[type=number]:-ms-input-placeholder {
	color:#aaa;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.form input[type=text]:placeholder-shown,
.form input[type=password]:placeholder-shown,
.form input[type=tel]:placeholder-shown,
.form input[type=url]:placeholder-shown,
.form input[type=email]:placeholder-shown,
.form input[type=search]:placeholder-shown,
.form input[type=number]:placeholder-shown {
	color:#aaa;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.form input[type=text]:focus::-webkit-input-placeholder,
.form input[type=password]:focus::-webkit-input-placeholder,
.form input[type=tel]:focus::-webkit-input-placeholder,
.form input[type=url]:focus::-webkit-input-placeholder,
.form input[type=email]:focus::-webkit-input-placeholder,
.form input[type=search]:focus::-webkit-input-placeholder,
.form input[type=number]:focus::-webkit-input-placeholder {
	color:#ccc;
}

.form input[type=text]:focus:-moz-placeholder,
.form input[type=password]:focus:-moz-placeholder,
.form input[type=tel]:focus:-moz-placeholder,
.form input[type=url]:focus:-moz-placeholder,
.form input[type=email]:focus:-moz-placeholder,
.form input[type=search]:focus:-moz-placeholder,
.form input[type=number]:focus:-moz-placeholder {
	opacity:1;
	color:#ccc;
}

.form input[type=text]:focus::-moz-placeholder,
.form input[type=password]:focus::-moz-placeholder,
.form input[type=tel]:focus::-moz-placeholder,
.form input[type=url]:focus::-moz-placeholder,
.form input[type=email]:focus::-moz-placeholder,
.form input[type=search]:focus::-moz-placeholder,
.form input[type=number]:focus::-moz-placeholder {
	opacity:1;
	color:#ccc;
}

.form input[type=text]:focus:-ms-input-placeholder,
.form input[type=password]:focus:-ms-input-placeholder,
.form input[type=tel]:focus:-ms-input-placeholder,
.form input[type=url]:focus:-ms-input-placeholder,
.form input[type=email]:focus:-ms-input-placeholder,
.form input[type=search]:focus:-ms-input-placeholder,
.form input[type=number]:focus:-ms-input-placeholder {
	color:#ccc;
}

.form input[type=text]:focus:placeholder-shown,
.form input[type=password]:focus:placeholder-shown,
.form input[type=tel]:focus:placeholder-shown,
.form input[type=url]:focus:placeholder-shown,
.form input[type=email]:focus:placeholder-shown,
.form input[type=search]:focus:placeholder-shown,
.form input[type=number]:focus:placeholder-shown {
	color:#ccc;
}

.form input[type=search]::-ms-clear {
	display:none;
}

.form textarea {
	padding-right:6px;
	padding-left:6px;
	padding-top:.3125em;
	padding-bottom:.3125em;
	min-height:118px;
	vertical-align:top;
}

.form textarea::-webkit-input-placeholder {
	color:#aaa;
}

.form textarea:-moz-placeholder {
	opacity:1;
	color:#aaa;
}

.form textarea::-moz-placeholder {
	opacity:1;
	color:#aaa;
}

.form textarea:-ms-input-placeholder {
	color:#aaa;
}

.form textarea:placeholder-shown {
	color:#aaa;
}

.form textarea:focus::-webkit-input-placeholder {
	color:#ccc;
}

.form textarea:focus:-moz-placeholder {
	opacity:1;
	color:#ccc;
}

.form textarea:focus::-moz-placeholder {
	opacity:1;
	color:#ccc;
}

.form textarea:focus:-ms-input-placeholder {
	color:#ccc;
}

.form textarea:focus:placeholder-shown {
	color:#ccc;
}

.form .form_selectWrap {
	width:100%;
	position:relative;
}

.form .form_selectWrap::after {
	margin-top:-2.5em;
	border:1em solid transparent;
	border-bottom-color:#a5bcbc;
	border-left-color:#a5bcbc;
	display:block;
	position:absolute;
	top:50%;
	right:-10px;
	width:3em;
	height:3em;
	vertical-align:middle;
	content:"";
	font-size:10px;
	transform:scale(.15) rotate(-45deg) translate(20%, -20%);
	pointer-events:none;
}

.form select {
	padding:0 24px 0 6px;
	height:36px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.form select::-ms-expand {
	display:none;
}

.form option {
	font-size:14px;
}

.form .form_checkWrap,
.form .form_checkWrap-rich,
.form .form_radioWrap,
.form .form_radioWrap-rich {
	padding-top:.3125em;
	padding-bottom:.3125em;
	border-top:1px solid transparent;
	border-bottom:1px solid transparent;
	display:inline-block;
	position:relative;
}

.form .form_checkWrap label,
.form .form_checkWrap-rich label,
.form .form_radioWrap label,
.form .form_radioWrap-rich label {
	padding-left:1.5em;
}

.form .form_checkWrap input[type=checkbox],
.form .form_radioWrap input[type=radio] {
	margin-top:-1px;
	position:absolute;
	top:1.125em;
	left:.5em;
	overflow:visible;
	transform:translate(-40.5%, -55%);
}

.form .form_checkWrap-rich::before {
	display:block;
	position:absolute;
	top:1.125em;
	left:.125em;
	border:1px solid #d1dddd;
	border-radius:3px;
	background:#fff;
	box-sizing:border-box;
	width:1em;
	height:1em;
	content:"";
	transition:border-color .2s linear 0s;
	transform:translateY(-57.5%);
	pointer-events:none;
}

.form .form_checkWrap-rich:hover::before {
	border-color:#a5bcbc;
}

.form .form_checkWrap-rich input[type=checkbox] {
	position:absolute;
	visibility:hidden;
}

.form .form_checkWrap-rich label::after {
	position:absolute;
	top:1.125em;
	left:.25em;
	width:0;
	height:1em;
	line-height:1;
	overflow:hidden;
	opacity:.75;
	color:#aaa;
	content:"\f00c";
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	transition:width .1s cubic-bezier(.445, .05, .55, .95), opacity .1s linear;
	transform-origin:left bottom;
	transform:translateY(-60%) scale(1.1);
}

.form .form_checkWrap-rich input[type=checkbox]:checked + label::after {
	width:1em;
	opacity:1;
}

.form .form_required,
.form .form_optional {
	padding-left:60px;
	display:block;
	position:relative;
	line-height:17px;
	font-size:13px;
	font-weight:400;
}

.form .form_required::after,
.form .form_optional::after {
	padding:0 0 1px 2px;
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:32px;
	line-height:16px;
	color:#fff;
	font-size:11px;
	text-align:center;
	letter-spacing:2px;
}

.form .form_required::after {
	content:"必須";
	background:#000;
}

.form .form_optional::after {
	content:"任意";
	background:#a7b4b4;
}

.form .form_txt {
	margin-top:.5em;
	margin-bottom:.5em;
	display:block;
	font-size:12px;
}

.form .form_txt:first-child {
	margin-top:0;
}

.form .form_txt:last-child {
	margin-bottom:0;
}

.form .form_layout-address .address_zip,
.form .form_layout-address .address_separetedZip {
	margin:0;
	display:flex;
	align-items:center;
}

.form .form_layout-address .address_zip > dt,
.form .form_layout-address .address_separetedZip > dt {
	margin-right:.5em;
	width:1em;
	flex-shrink:0;
	font-size:13px;
}

.form .form_layout-address .address_zip > dd,
.form .form_layout-address .address_separetedZip > dd {
	margin-left:0;
	width:100%;
}

.form .form_layout-address .address_zip {
	max-width:160px;
}

@media (max-width: 767px) {
	.form .form_layout-address .address_separetedZip {
		max-width:200px;
	}
}

.form .form_layout-address .address_separetedZip > dd {
	margin-left:0;
	width:100%;
	display:flex;
	align-items:center;
}

.form .form_layout-address .address_separetedZip > dd > span:first-child {
	width:42.85714%;
}

.form .form_layout-address .address_separetedZip > dd > span:last-child {
	width:57.14286%;
}

.form .form_layout-address .address_separetedZip > dd .separetedZip_separator {
	padding-top:.3125em;
	padding-bottom:.3125em;
	flex-shrink:0;
	width:1.5em !important;
	text-align:center;
}

.form .form_layout-address .address_separetedZip .separetedZip_ex {
	margin-left:1em;
	font-size:13px;
}

@media (max-width: 767px) {
	.form .form_layout-address .address_separetedZip .separetedZip_ex {
		display:none;
	}
}

.form .form_layout-address .address_detail {
	margin:0;
}

.form .form_layout-address .address_detail > dt {
	margin-top:1em;
	margin-bottom:.5em;
	font-size:13px;
}

.form .form_layout-address .address_detail > dt::after {
	display:inline-block;
	position:relative;
	content:":";
	transform:translateX(75%);
}

.form .form_layout-address .address_detail > dd {
	margin-left:0;
}

.form .form_foot {
	padding-top:1em;
	text-align:center;
}

.form .form_footConsent {
	margin-bottom:2em;
	font-size:13px;
	letter-spacing:.12em;
}

.form .form_footConsent_note {
	margin-top:.5em;
	font-size:12px;
}

@media (max-width: 767px) {
	.form .form_footConsent_note {
		letter-spacing:normal;
	}
}

.form .form_footBtns {
	margin:0;
	padding-left:0;
	list-style-type:none;
	display:flex;
	justify-content:center;
}

@media (max-width: 767px) {
	.form .form_footBtns {
		flex-direction:column;
	}
}

@media (max-width: 767px) {
	.form .form_footBtns > li {
		width:100%;
	}
}

@media (min-width: 768px) {
	.form .form_footBtns > li {
		margin-right:10px;
		margin-left:10px;
		width:330px;
	}
}

@media (max-width: 767px) {
	.form .form_footBtns > li:nth-child(n + 2) {
		margin-top:20px;
	}
}

@media (min-width: 768px) {
	.form .form_footBtns > li.footBtns_prev {
		order:1;
	}
}

@media (min-width: 768px) {
	.form .form_footBtns > li.footBtns_next {
		order:2;
	}
}

/* module: 下層ページタイトル.
 * -------------------------------------------------------------------------- */
.pagetitle {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	color:#fff;
	background:#000 no-repeat center center/cover;
}

@media (max-width: 767px) {
	.pagetitle {
		height:128px;
	}
}

@media (min-width: 768px) {
	.pagetitle {
		height:500px;
	}
}

.pagetitle_en {
	margin:0;
	line-height:1;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight:300;
}

@media (max-width: 767px) {
	.pagetitle_en {
		padding-left:6px;
		letter-spacing:6px;
		font-size:30px;
	}
}

@media (min-width: 768px) {
	.pagetitle_en {
		padding-left:10px;
		letter-spacing:10px;
		font-size:50px;
	}
}

.pagetitle_ja {
	line-height:1;
	letter-spacing:3px;
}

@media (max-width: 767px) {
	.pagetitle_ja {
		margin:1em 0 0;
	}
}

@media (min-width: 768px) {
	.pagetitle_ja {
		margin:2em 0 0;
	}
}

/* module: 下層ページタイトル.
 * -------------------------------------------------------------------------- */
.table-line {
	width:100%;
	border-top:1px solid #000;
	border-spacing:0;
	border-collapse:collapse;
}

@media (max-width: 767px) {
	.table-line {
		display:block;
	}
}

@media (max-width: 767px) {
	.table-line > tbody {
		display:block;
	}
}

@media (max-width: 767px) {
	.table-line > tbody > tr {
		display:block;
	}
}

.table-line > tbody > tr > th {
	text-align:left;
}

@media (max-width: 767px) {
	.table-line > tbody > tr > th {
		display:block;
	}
}

@media (min-width: 768px) {
	.table-line > tbody > tr > th {
		border-bottom:1px solid #000;
	}
}

.table-line > tbody > tr > td {
	border-bottom:1px solid #000;
}

@media (max-width: 767px) {
	.table-line > tbody > tr > td {
		display:block;
	}
}

/* module: Underconstruction.
 * -------------------------------------------------------------------------- */
.underconstruction {
	padding-top:8em;
	padding-bottom:8em;
	background:rgba(0, 0, 0, .025);
	font-size:15px;
	text-align:center;
}

.underconstruction::before {
	margin-bottom:2em;
	display:block;
	letter-spacing:normal;
	content:"ただいま準備中のため、\Aもうしばらくお待ちください。\A\AThis page is under construction now.\APlease check back at a later time.\A\A正在製作中、請稍等。";
	white-space:pre;
}

/* module: ページャー.
 * -------------------------------------------------------------------------- */
.pager3btns .pager3btns_list {
	margin:0;
	padding-left:0;
	display:flex;
	justify-content:space-between;
	list-style-type:none;
}

@media (max-width: 767px) {
	.pager3btns .pager3btns_list {
		flex-wrap:wrap;
	}
}

@media (max-width: 767px) {
	.pager3btns .pager3btns_prev {
		padding-right:8px;
		box-sizing:border-box;
		width:50%;
		order:2;
	}
}

@media (min-width: 768px) {
	.pager3btns .pager3btns_prev {
		order:1;
		width:220px;
		flex-shrink:0;
	}
}

@media (max-width: 767px) {
	.pager3btns .pager3btns_next {
		padding-left:8px;
		box-sizing:border-box;
		width:50%;
		order:3;
	}
}

@media (min-width: 768px) {
	.pager3btns .pager3btns_next {
		order:3;
		width:220px;
		flex-shrink:0;
	}
}

.pager3btns .pager3btns_back {
	margin-right:auto;
	margin-left:auto;
}

@media (max-width: 767px) {
	.pager3btns .pager3btns_back {
		width:100%;
	}
}

@media (min-width: 768px) {
	.pager3btns .pager3btns_back {
		width:220px;
	}
}

.pager3btns .pager3btns_pagination {
	width:100%;
	text-align:center;
}

@media (max-width: 767px) {
	.pager3btns .pager3btns_pagination {
		margin-bottom:20px;
		order:1px;
	}
}

@media (min-width: 768px) {
	.pager3btns .pager3btns_pagination {
		order:2;
	}
}

/* module: ページネーション.
 * -------------------------------------------------------------------------- */
.pagination .pagination_list {
	margin:0;
	padding-left:0;
	display:flex;
	list-style-type:none;
	justify-content:center;
}

.pagination .pagination_list > li {
	letter-spacing:normal;
}

.pagination .pagination_list > li:nth-child(n + 2) {
	margin-left:20px;
}

@media (max-width: 767px) {
	.pagination .pagination_list > li {
		width:14.48276%;
		max-width:60px;
	}
}

@media (min-width: 768px) {
	.pagination .pagination_list > li {
		width:60px;
	}
}

.pagination .pagination_current {
	margin:0;
	padding:calc(1em - 1px) 0;
	border:1px solid #000;
	border-radius:0;
	display:block;
	position:relative;
	line-height:2;
	vertical-align:middle;
	color:#000;
	background:#fff;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:15px;
	font-weight:400;
	text-align:center;
	text-decoration:none;
	box-sizing:border-box;
}

.pagination_num {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	letter-spacing:normal;
	text-indent:0;
}

/* ========================================================================== *
 * component.
.* ========================================================================== */
/* component: index: トップページ.
 * -------------------------------------------------------------------------- */
.index-wrap {
	letter-spacing:.12em;
}

@media (max-width: 767px) {
	.index-wrap {
		padding-top:50px;
	}
}

@media (max-width: 767px) {
	.index-contents {
		margin-right:auto;
		margin-left:auto;
		padding-right:15px;
		padding-left:15px;
		max-width:480px;
	}
}

@media (min-width: 768px) {
	.index-contents {
		margin-right:70px;
		margin-left:auto;
		width:684px;
	}
}

.index-panel {
	line-height:1.5;
}

@media (max-width: 767px) {
	.index-panel {
		padding-bottom:60px;
	}
}

.index-panel_link {
	display:block;
}

@media (min-width: 768px) {
	.index-panel_link.isnot-active {
		opacity:.3;
	}
}

@media (min-width: 768px) {
	.index-panel_media {
		display:none;
	}
}

.index-panel_catch {
	margin:0;
	font-family:"Noto Serif JP", serif;
	font-weight:500;
}

@media (max-width: 767px) {
	.index-panel_catch {
		margin-top:.5em;
		line-height:1.75;
		font-size:20px;
		letter-spacing:6px;
	}
}

@media (max-width: 767px) {
	.index-panel_catch .catch_strong {
		font-size:36px;
		line-height:1.25;
	}
}

.index-panel_title {
	margin:0;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
}

@media (max-width: 767px) {
	.index-panel_title {
		margin-top:.75em;
		font-size:24px;
		letter-spacing:4px;
	}
}

.index-panel_info {
	margin:0;
	padding:0 3px;
	list-style-type:none;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
}

@media (max-width: 767px) {
	.index-panel_info {
		margin-top:.75em;
	}
}

@media (max-width: 767px) {
	.index-panel_info > li {
		font-size:10px;
	}
}

@media (max-width: 767px) {
	.index-panel_info > li:nth-child(n + 2) {
		margin-top:.5em;
	}
}

@media (min-width: 768px) {
	.index-panel_info > li:nth-child(n + 2) {
		margin-top:.85em;
	}
}

.index-panel_definition {
	margin:0;
	letter-spacing:-.40em;
}

.index-panel_definition > dt,
.index-panel_definition > dd {
	display:inline;
}

@media (max-width: 767px) {
	.index-panel_definition > dt,
	.index-panel_definition > dd {
		letter-spacing:3px;
	}
}

@media (min-width: 768px) {
	.index-panel_definition > dt,
	.index-panel_definition > dd {
		letter-spacing:1.3px;
	}
}

.index-panel_definition > dt::after {
	margin-right:.4em;
	margin-left:.4em;
	content:":";
}

.index-panel_definition > dd {
	margin-left:0;
}

@media (max-width: 767px) {
	.index-panel-01 .index-panel_title {
		line-height:1;
		font-size:30px;
	}
	.index-panel-01 .index-panel_title .title_strong {
		display:inline-block;
		position:relative;
		margin-top:-.2em;
		font-size:70px;
	}
}

@media (min-width: 768px) {
	.index-panel-01 {
		padding-top:220px;
	}
	.index-panel-01 .index-panel_link {
		padding-bottom:48px;
	}
	.index-panel-01 .index-panel_catch {
		font-size:36px;
		letter-spacing:11.5px;
	}
	.index-panel-01 .index-panel_title {
		padding-top:28px;
		line-height:1;
		font-size:50px;
		letter-spacing:4.75px;
	}
	.index-panel-01 .index-panel_title .title_strong {
		padding-bottom:14px;
		display:inline-block;
		position:relative;
		width:448px;
		letter-spacing:15px;
		font-size:98px;
		font-weight:700;
		transform:translateX(-4px);
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.index-panel-01 .index-panel_title .title_strong {
		letter-spacing:12.5px;
	}
}

@media (min-width: 768px) {
	@supports (-ms-ime-align: auto) {
		.index-panel-01 .index-panel_title .title_strong {
			letter-spacing:12.5px;
		}
	}
	.index-panel-01 .index-panel_info {
		padding-top:32px;
	}
}

@media (max-width: 767px) {
	.index-panel-02 {
		text-align:right;
	}
}

@media (min-width: 768px) {
	.index-panel-02 .index-panel_link {
		padding-top:48px;
		padding-bottom:10px;
	}
	.index-panel-02 .index-panel_catch {
		font-size:30px;
	}
	.index-panel-02 .index-panel_catch .catch_inner {
		display:inline-block;
		vertical-align:top;
		line-height:1.5;
		-webkit-writing-mode:vertical-rl;
		-ms-writing-mode:tb-rl;
		writing-mode:vertical-rl;
		letter-spacing:17px;
		transform:translateX(-8px);
	}
	.index-panel-02 .index-panel_catch .catch_strong {
		display:inline-block;
		position:relative;
		font-size:42px;
		letter-spacing:9px;
		transform:translateY(-4px);
	}
	.index-panel-02 .index-panel_title {
		padding-top:6px;
		font-size:24px;
		line-height:1.85;
		letter-spacing:10px;
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.index-panel-02 .index-panel_title {
		padding-top:0;
	}
}

@media (min-width: 768px) {
	@supports (-ms-ime-align: auto) {
		.index-panel-02 .index-panel_title {
			padding-top:0;
		}
	}
	.index-panel-02 .index-panel_info {
		padding-top:20px;
	}
}

@media (min-width: 768px) {
	.index-panel-03 .index-panel_link {
		padding-bottom:66px;
		display:flex;
		flex-direction:column;
		align-items:flex-end;
		text-align:right;
	}
	.index-panel-03 .index-panel_catch {
		padding-top:6px;
		order:3;
		width:calc(100% + 30px);
		font-size:36px;
		letter-spacing:14.7px;
		transform:translateX(15px);
	}
	.index-panel-03 .index-panel_catch .catch_strong {
		font-size:54px;
	}
	.index-panel-03 .index-panel_title {
		padding-top:10px;
		order:1px;
		font-size:20px;
		letter-spacing:4.4px;
	}
	.index-panel-03 .index-panel_info {
		padding-top:14px;
		order:2px;
	}
}

@media (min-width: 768px) {
	.index-panels-45 {
		display:flex;
		justify-content:space-between;
	}
}

@media (max-width: 767px) {
	.index-panel-04 {
		text-align:right;
	}
}

@media (min-width: 768px) {
	.index-panel-04 {
		width:50%;
		display:flex;
	}
	.index-panel-04 .index-panel_link {
		padding-top:70px;
		padding-bottom:75px;
		padding-right:42px;
		display:flex;
		flex-direction:column;
		width:300px;
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.index-panel-04 .index-panel_link {
		padding-bottom:70px;
	}
}

@media (min-width: 768px) {
	@supports (-ms-ime-align: auto) {
		.index-panel-04 .index-panel_link {
			padding-bottom:70px;
		}
	}
	.index-panel-04 .index-panel_catch {
		padding-top:30px;
		order:3;
		line-height:1.85;
		font-size:36px;
		letter-spacing:8px;
		white-space:nowrap;
	}
	.index-panel-04 .index-panel_catch .catch_strong {
		font-size:56px;
		letter-spacing:16px;
	}
	.index-panel-04 .index-panel_title {
		order:1;
		line-height:1.85;
		font-size:24px;
		letter-spacing:10px;
	}
	.index-panel-04 .index-panel_info {
		padding-top:20px;
		order:2;
	}
}

@media (min-width: 768px) {
	.index-panel-05 {
		width:50%;
		display:flex;
	}
	.index-panel-05 .index-panel_link {
		padding-top:70px;
		padding-bottom:75px;
		padding-left:42px;
		display:flex;
		flex-direction:column;
		width:300px;
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.index-panel-05 .index-panel_link {
		padding-bottom:70px;
	}
}

@media (min-width: 768px) {
	@supports (-ms-ime-align: auto) {
		.index-panel-05 .index-panel_link {
			padding-bottom:70px;
		}
	}
	.index-panel-05 .index-panel_catch {
		padding-top:2px;
		order:3;
		font-size:36px;
		white-space:nowrap;
		letter-spacing:5px;
	}
	.index-panel-05 .index-panel_catch .catch_strong {
		padding-bottom:2px;
		font-size:56px;
		display:inline-block;
	}
	.index-panel-05 .index-panel_title {
		order:1;
		line-height:1.85;
		font-size:24px;
		letter-spacing:7px;
	}
	.index-panel-05 .index-panel_info {
		padding-top:14px;
		order:2;
	}
}

@media (max-width: 767px) {
	.index-panel-06 {
		text-align:right;
	}
}

@media (min-width: 768px) {
	.index-panel-06 .index-panel_link {
		padding-top:75px;
		padding-bottom:40px;
		display:flex;
		flex-direction:column;
	}
	.index-panel-06 .index-panel_catch {
		margin-top:-18px;
		margin-bottom:10px;
		padding-left:381px;
		position:relative;
		order:2;
		font-size:32px;
		white-space:nowrap;
		letter-spacing:7px;
	}
	.index-panel-06 .index-panel_catch .catch_firstline {
		letter-spacing:11.5px;
	}
	.index-panel-06 .index-panel_title {
		position:relative;
		order:1;
		line-height:1.45;
		font-size:50px;
		text-align:right;
		white-space:nowrap;
		letter-spacing:15px;
		transform:translateX(-290px);
	}
	.index-panel-06 .index-panel_info {
		padding-right:305px;
		order:3;
		text-align:right;
	}
}

@media (min-width: 768px) {
	.index-panel-07 .index-panel_link {
		padding-top:40px;
	}
	.index-panel-07 .index-panel_link:after {
		display:block;
		clear:both;
		content:"";
	}
	.index-panel-07 .index-panel_catch {
		padding-top:165px;
		padding-bottom:17px;
		width:610px;
		float:right;
		font-size:32px;
		letter-spacing:8px;
	}
	.index-panel-07 .index-panel_title {
		margin-top:4px;
		float:left;
		width:42px;
		line-height:1.4;
		font-size:50px;
		word-break:break-all;
		text-align:center;
	}
	.index-panel-07 .index-panel_info {
		width:605px;
		float:right;
	}
}

@media (max-width: 767px) {
	.index-panel-08 {
		text-align:right;
	}
}

@media (min-width: 768px) {
	.index-panel-08 .index-panel_link {
		margin-top:-11px;
		padding-bottom:47px;
		position:relative;
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.index-panel-08 .index-panel_link {
		margin-top:-12px;
		padding-bottom:45px;
	}
}

@media (min-width: 768px) {
	@supports (-ms-ime-align: auto) {
		.index-panel-08 .index-panel_link {
			margin-top:-12px;
			padding-bottom:45px;
		}
	}
	.index-panel-08 .index-panel_catch {
		position:absolute;
		top:0;
		right:40px;
		width:96px;
		font-size:32px;
	}
	.index-panel-08 .index-panel_catch .catch_inner {
		display:inline-block;
		vertical-align:top;
		-webkit-writing-mode:vertical-rl;
		-ms-writing-mode:tb-rl;
		writing-mode:vertical-rl;
		letter-spacing:18px;
	}
	.index-panel-08 .index-panel_title {
		font-size:20px;
		text-align:right;
	}
	.index-panel-08 .index-panel_title .title_inner {
		display:inline-block;
		vertical-align:top;
		-webkit-writing-mode:vertical-rl;
		-ms-writing-mode:tb-rl;
		writing-mode:vertical-rl;
		letter-spacing:6.15px;
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.index-panel-08 .index-panel_title .title_inner {
		letter-spacing:6px;
	}
}

@media (min-width: 768px) {
	@supports (-ms-ime-align: auto) {
		.index-panel-08 .index-panel_title .title_inner {
			letter-spacing:6px;
		}
	}
	.index-panel-08 .index-panel_info {
		padding-top:20px;
		text-align:right;
	}
}

@media (min-width: 768px) {
	.index-panel-09 .index-panel_link {
		padding-top:45px;
		padding-bottom:100px;
		display:flex;
		flex-direction:column;
		text-align:right;
	}
	.index-panel-09 .index-panel_catch {
		order:3;
		width:700px;
		font-size:36px;
		white-space:nowrap;
		letter-spacing:11px;
		transform:translateX(-14px);
	}
	.index-panel-09 .index-panel_catch .catch_strong {
		font-size:54px;
	}
	.index-panel-09 .index-panel_title {
		padding-bottom:20px;
		order:1;
		font-size:20px;
		letter-spacing:4.2px;
	}
	.index-panel-09 .index-panel_info {
		padding-bottom:10px;
		order:2;
	}
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
	.index-panel-09 .index-panel_info {
		padding-bottom:8px;
	}
}

@media (min-width: 768px) {
	@supports (-ms-ime-align: auto) {
		.index-panel-09 .index-panel_info {
			padding-bottom:8px;
		}
	}
}

.index-news {
	position:relative;
}

@media (max-width: 767px) {
	.index-news {
		margin-top:20px;
	}
}

@media (min-width: 768px) {
	.index-news {
		margin-top:200px;
	}
}

.index-news_head {
	margin:0;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	letter-spacing:2px;
}

.index-news_body {
	padding-top:.75em;
}

@media (min-width: 768px) {
	.index-news_body {
		padding-right:1em;
		height:128px;
		overflow-y:scroll;
	}
	.index-news_body::-webkit-scrollbar {
		width:8px;
	}
	.index-news_body::-webkit-scrollbar-track {
		border-radius:4px;
		background:#eee;
	}
	.index-news_body::-webkit-scrollbar-thumb {
		border-radius:4px;
		background-color:#cecece;
	}
}

.index-news_list {
	margin:0;
	padding-left:0;
	line-height:1.5;
	list-style-type:none;
}

@media (max-width: 767px) {
	.index-news_list > li:nth-child(n + 2) {
		margin-top:1.5em;
	}
}

@media (min-width: 768px) {
	.index-news_list > li:nth-child(n + 2) {
		margin-top:.75em;
	}
}

@media (max-width: 767px) {
	.index-news_link {
		display:block;
	}
}

@media (min-width: 768px) {
	.index-news_link:hover .index-news_date::after {
		transform:scaleX(1);
	}
}

.index-news_item {
	margin:0;
	display:inline-block;
}

.index-news_item:after {
	display:block;
	clear:both;
	content:"";
}

.index-news_item > dt,
.index-news_item > dd {
	display:block;
}

@media (min-width: 768px) {
	.index-news_item > dt,
	.index-news_item > dd {
		padding-top:.5em;
		padding-bottom:.5em;
	}
}

.index-news_item > dt {
	font-size:14px;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight:700;
}

@media (min-width: 768px) {
	.index-news_item > dt {
		float:left;
		width:100px;
	}
}

.index-news_item > dd {
	margin-left:0;
}

@media (min-width: 768px) {
	.index-news_item > dd {
		padding-left:100px;
		letter-spacing:.22em;
	}
}

.index-news_date {
	display:inline-block;
	position:relative;
	letter-spacing:.09em;
}

.index-news_date::after {
	position:absolute;
	bottom:0;
	left:0;
	display:block;
	width:100%;
	height:1px;
	background:#000;
	content:"";
	transition:transform .3s cubic-bezier(.645, .045, .355, 1);
	transform-origin:left center;
	transform:scaleX(0);
}

.index-news_more {
	position:absolute;
	top:0;
	right:0;
}

.index-news_more .more_link {
	display:block;
	width:20px;
	height:48px;
	line-height:45px;
	text-align:center;
	font-size:10px;
	font-weight:700;
}

@media (min-width: 768px) {
	.index-news_more .more_link {
		transform:translateX(6px);
	}
}

.index-news_more .more_txt {
	margin-top:-.5em;
	position:absolute;
	top:50%;
	right:24px;
	line-height:1;
	white-space:nowrap;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:10px;
	transition:opacity .3s linear, letter-spacing .3s linear, transform .3s cubic-bezier(.645, .045, .355, 1);
}

@media (min-width: 768px) {
	.index-news_more .more_txt {
		opacity:0;
		letter-spacing:6px;
		transform:translateX(-40px);
	}
}

@media (max-width: 767px) {
	.index-news_more .more_link {
		padding-left:80px;
	}
}

@media (min-width: 768px) {
	.index-news_more .more_link:hover + .more_txt {
		opacity:1;
		letter-spacing:2px;
		transform:translateX(0);
	}
}

.index-photos {
	position:fixed;
	top:0;
	left:0;
	width:calc(100% - 780px);
	min-width:420px;
	max-width:50%;
	height:100%;
}

@media (max-width: 767px) {
	.index-photos {
		display:none;
	}
}

.index-photos_item {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

.index-photos_item-00 > p {
	margin-top:-10px;
	padding-top:20px;
	position:absolute;
	top:50%;
	left:50px;
	width:272px;
	height:0;
	overflow:hidden;
	background:url(../common_img/logo.svg) no-repeat left top/auto 20px;
}

@media all and (-ms-high-contrast: none) {
	.index-photos_item-00 > p {
		background:url(../common_img/logo-mini.png) no-repeat left top;
	}
}

.index-photos_item-01 {
	display:none;
	background:url(../images/image01.jpg) no-repeat center center/cover;
}

.index-photos_item-02 {
	display:none;
	background:url(../images/image02.jpg) no-repeat center center/cover;
}

.index-photos_item-03 {
	display:none;
	background:url(../images/image03.jpg) no-repeat center center/cover;
}

.index-photos_item-04 {
	display:none;
	background:url(../images/image04.jpg) no-repeat center center/cover;
}

.index-photos_item-05 {
	display:none;
	background:url(../images/image05.jpg) no-repeat center center/cover;
}

.index-photos_item-06 {
	display:none;
	background:url(../images/image06.jpg) no-repeat center center/cover;
}

.index-photos_item-07 {
	display:none;
	background:url(../images/image07.jpg) no-repeat center center/cover;
}

.index-photos_item-08 {
	display:none;
	background:url(../images/image08.jpg) no-repeat center center/cover;
}

.index-photos_item-09 {
	display:none;
	background:url(../images/image09.jpg) no-repeat center center/cover;
}

/* component: showroom.
 * -------------------------------------------------------------------------- */
.page-showroom .pagetitle {
	background-image:url(../showroom/images/pagetitle.jpg);
}

.showroom-lead_inner {
	color:#fff;
	background:#0c3b95 url(../showroom/images/lead-bg.jpg) no-repeat center bottom/100% auto;
}

@media (max-width: 767px) {
	.showroom-lead_inner {
		margin-top:5.33333%;
		margin-right:-15px;
		margin-left:-15px;
		padding-right:30px;
		padding-left:30px;
		padding-top:4.54545%;
		padding-bottom:27.27273%;
	}
	.showroom-lead_set + .showroom-lead_set {
		margin-top: 30px;
	}
}

@media (min-width: 768px) {
	.showroom-lead_inner {
		margin-right:-50px;
		margin-left:-50px;
		padding-right:80px;
		padding-left:80px;
		padding-top:80px;
		padding-bottom:308px;
	}
	.showroom-lead_set {
		display:flex;
		justify-content:space-between;
	}
	.showroom-lead_set + .showroom-lead_set {
		margin-top: 40px;
	}
}

.showroom-lead_head {
	line-height:2;
	font-size:18px;
}

@media (min-width: 768px) {
	.showroom-lead_body {
		width:632px;
		line-height:3;
		letter-spacing:.22em;
	}
}

@media (max-width: 767px) {
	.showroom-result {
		margin-top:80px;
	}
}

@media (min-width: 768px) {
	.showroom-result {
		margin-top:144px;
	}
}

.showroom-result_head {
	font-size:18px;
	font-weight:700;
	text-align:center;
}

.showroom-result_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (min-width: 768px) {
	.showroom-result_list {
		margin-top:80px;
		display:flex;
		flex-wrap:wrap;
	}
	.showroom-result_list > li {
		margin-left:35px;
		width:310px;
	}
	.showroom-result_list > li:nth-child(n + 4) {
		margin-top:60px;
	}
	.showroom-result_list > li:nth-child(3n-2) {
		margin-left:0;
	}
}

@media (max-width: 767px) {
	.showroom-result_list > li:nth-child(n + 2) {
		margin-top:80px;
	}
}

.showroom-result_media {
	background:#000;
}

.showroom-result_title {
	margin-top:.5em;
	margin-bottom:0;
	line-height:1.75;
	font-size:20px;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
}

.showroom-result_txts {
	line-height:2;
}

@media (max-width: 767px) {
	.showroom-media {
		margin-top:80px;
	}
}

@media (min-width: 768px) {
	.showroom-media {
		margin-top:144px;
	}
}

.showroom-media_head {
	font-size:18px;
	font-weight:700;
	text-align:center;
}

.showroom-media_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (min-width: 768px) {
	.showroom-media_list {
		margin-top:80px;
		display:flex;
		flex-wrap:wrap;
	}
	.showroom-media_list > li {
		margin-left:35px;
		width:310px;
	}
	.showroom-media_list > li:nth-child(n + 4) {
		margin-top:60px;
	}
	.showroom-media_list > li:nth-child(3n-2) {
		margin-left:0;
	}
}

@media (max-width: 767px) {
	.showroom-media_list > li:nth-child(n + 2) {
		margin-top:80px;
	}
}

.showroom-media_media {
	background:#000;
}

.showroom-media_title {
	margin-top:.5em;
	margin-bottom:0;
	line-height:1.75;
	font-size:20px;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
}

.showroom-media_txt {
	word-wrap:break-word;
}

.showroom-media_txts {
	line-height:2;
}

/* component: works.
 * -------------------------------------------------------------------------- */
.page-works .pagetitle {
	background-image:url(../works/images/pagetitle.jpg);
}

.works_head {
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:28px;
	text-align:center;
	font-weight:400;
	letter-spacing:.2em;
}

@media (max-width: 767px) {
	.works_foot {
		margin-top:80px;
	}
}

@media (min-width: 768px) {
	.works_foot {
		margin-top:96px;
	}
}

@media (min-width: 768px) {
	.works-list {
		margin-top:80px;
		display:flex;
		flex-wrap:wrap;
	}
	.works-list > .works-list_item {
		margin-left:35px;
		width:310px;
	}
	.works-list > .works-list_item:nth-child(n + 4) {
		margin-top:60px;
	}
	.works-list > .works-list_item:nth-child(3n-2) {
		margin-left:0;
	}
}

@media (max-width: 767px) {
	.works-list_item:nth-child(n + 2) {
		margin-top:80px;
	}
}

.works-list_media {
	background:#000;
}

.works-list_link {
	display:block;
}

.works-list_link:link {
	text-decoration:none !important;
}

@media (min-width: 768px) {
	.works-list_link:hover {
		opacity:.75;
	}
	.works-list_link:hover .aspect_inner {
		transform:scale(1.075);
	}
}

.works-list_title {
	margin-top:.5em;
	margin-bottom:0;
	line-height:1.75;
	font-size:20px;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight:400;
}

.works-list_txts {
	line-height:2;
}

@media (min-width: 768px) {
	.works-detail {
		margin-top:80px;
	}
}

.works-detail_title {
	line-height:1.75;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:16px;
	font-weight:700;
}

.works-detail_gallery .gallery_slider {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

.works-detail_gallery .gallery_slider.is-unready .gallery_slide:nth-child(n + 2) {
	display:none;
}

.works-detail_gallery .gallery_slide {
	background:#000;
}

.works-detail_gallery .gallery_thumbs {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (max-width: 767px) {
	.works-detail_gallery .gallery_thumbs {
		margin-top:2.02899%;
	}
	.works-detail_gallery .gallery_thumbs:after {
		display:block;
		clear:both;
		content:"";
	}
	.works-detail_gallery .gallery_thumbs > li {
		margin-left:2.02899%;
		float:left;
		width:23.47826%;
	}
	.works-detail_gallery .gallery_thumbs > li:nth-child(n + 5) {
		margin-top:2.02899%;
	}
	.works-detail_gallery .gallery_thumbs > li:nth-child(4n-3) {
		margin-left:0;
		clear:left;
	}
}

@media (min-width: 768px) {
	.works-detail_gallery .gallery_thumbs {
		margin-top:16px;
		display:flex;
		flex-wrap:wrap;
	}
	.works-detail_gallery .gallery_thumbs > li {
		margin-left:16px;
		width:238px;
	}
	.works-detail_gallery .gallery_thumbs > li:nth-child(n + 5) {
		margin-top:16px;
	}
	.works-detail_gallery .gallery_thumbs > li:nth-child(4n-3) {
		margin-left:0;
	}
}

.works-detail_gallery .gallery_thumb {
	background:#000;
}

@media (min-width: 768px) {
	.works-detail_gallery .gallery_thumb {
		cursor:pointer;
		transition:opacity .3s linear;
	}
	.works-detail_gallery .gallery_thumb:hover {
		opacity:.75;
	}
	.works-detail_gallery .gallery_thumb:hover .aspect_inner {
		transform:scale(1.075);
	}
}

@media (max-width: 767px) {
	.works-detail_info {
		margin-top:48px;
		margin-bottom:48px;
	}
}

@media (min-width: 768px) {
	.works-detail_info {
		margin-top:88px;
		margin-bottom:88px;
	}
}

.works-detail_table > tbody > tr > th {
	padding-top:1.5em;
}

@media (min-width: 768px) {
	.works-detail_table > tbody > tr > th {
		padding-right:24px;
		padding-bottom:1.5em;
		padding-left:32px;
		box-sizing:border-box;
		width:230px;
		font-weight:400;
	}
}

.works-detail_table > tbody > tr > td {
	padding-top:1.5em;
	padding-bottom:1.5em;
}

@media (min-width: 768px) {
	.works-detail_table > tbody > tr > td {
		padding-right:32px;
	}
}

/* component: company.
 * -------------------------------------------------------------------------- */
.page-company .pagetitle {
	background-image:url(../company/images/pagetitle.jpg);
}

.company-message {
	position:relative;
}

@media (max-width: 767px) {
	.company-message_image {
		display:none;
	}
}

@media (min-width: 768px) {
	.company-message_image {
		float: right;
		margin:0 0 35px 100px;
		width:calc(50% + 130px);
		height:560px;
		background:url(../company/images/message-image-pc.jpg) no-repeat center left/cover;
	}
}

.company-message_head {
	font-size:28px;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight:400;
	letter-spacing:.2em;
}

@media (min-width: 768px) {
	.company-message_head {
		margin-top:0;
		padding-top:150px;
	}
}

@media (max-width: 767px) {
	.company-message_tableWrap {
		margin-top:48px;
	}
}

@media (min-width: 768px) {
	.company-message_tableWrap {
		margin-top:128px;
		margin-right:20px;
		margin-left:20px;
	}
}

@media (min-width: 768px) {
	.company-message_table {
		line-height:2.75;
		letter-spacing:.3em;
	}
}

.company-message_table > tbody > tr > th {
	padding-top:1.5em;
}

@media (min-width: 768px) {
	.company-message_table > tbody > tr > th {
		padding-bottom:1.5em;
		width:230px;
		font-weight:400;
	}
}

.company-message_table > tbody > tr > td {
	padding-top:1.5em;
	padding-bottom:1.5em;
}

.company-message_body .mt40 {
	margin-top: 40px;
}

@media (max-width: 767px) {
	.company-history {
		margin-top:80px;
	}
}

@media (min-width: 768px) {
	.company-history {
		margin-top:152px;
	}
}

@media (min-width: 768px) {
	.company-history_head {
		margin-right:20px;
		margin-left:20px;
	}
}

.company-history_head .head_ja {
	margin:0;
	font-size:15px;
	font-weight:700;
}

.company-history_head .head_en {
	margin:0;
	line-height:2;
	font-size:32px;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight:400;
	letter-spacing:.18em;
}

@media (max-width: 767px) {
	.company-history_body {
		margin-top:28px;
	}
}

@media (min-width: 768px) {
	.company-history_body {
		margin:48px 20px 0;
	}
}

.company-history_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

@media (min-width: 768px) {
	.company-history_list {
		margin-bottom: 40px;
	}
}

.company-history_list > li {
	margin-left:4px;
	position:relative;
	border-left:1px solid #000;
}

.company-history_list > li::before {
	position:absolute;
	top:-4px;
	left:-5px;
	display:block;
	border-radius:50%;
	width:9px;
	height:9px;
	content:"";
	background:#000;
}

@media (max-width: 767px) {
	.company-history_list > li {
		padding-bottom:25px;
	}
}

@media (min-width: 768px) {
	.company-history_list > li {
		padding-bottom:50px;
	}
}

.company-history_item {
	margin:0;
	transform:translateY(-1em);
}

@media (max-width: 767px) {
	.company-history_item {
		padding-left:15px;
	}
}

@media (min-width: 768px) {
	.company-history_item {
		display:flex;
		line-height:2;
		letter-spacing:.3em;
	}
}

@media (min-width: 768px) {
	.company-history_item > dt {
		padding-left:52px;
		box-sizing:border-box;
		width:225px;
	}
}

.company-history_item > dd {
	margin-left:0;
}

@media (max-width: 767px) {
	.company-map {
		margin-top:80px;
		margin-right:-15px;
		margin-left:-15px;
	}
}

@media (min-width: 768px) {
	.company-map {
		margin-top:144px;
		margin-left:-50px;
	}
}

.company-map_iframe {
	border:0;
	width:100%;
}

@media (max-width: 767px) {
	.company-map_iframe {
		height:345px;
	}
}

@media (min-width: 768px) {
	.company-map_iframe {
		height:632px;
	}
}

/* component: contact.
 * -------------------------------------------------------------------------- */
.page-case .pagetitle {
	background-image:url(../case/images/pagetitle.jpg);
}

.case-column_head {
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:28px;
	text-align:center;
	font-weight:400;
	letter-spacing:.2em;
}

@media (min-width: 768px) {
	.case-column_body {
		margin-top:80px;
	}
}

@media (min-width: 768px) {
	.case-column_item {
		display:flex;
		flex-direction:row-reverse;
	}
}

@media (max-width: 767px) {
	.case-column_item:nth-child(n + 2) {
		margin-top:80px;
	}
}

@media (min-width: 768px) {
	.case-column_item:nth-child(n + 2) {
		margin-top:150px;
	}
}

@media (min-width: 768px) {
	.case-column_media {
		margin-left:40px;
		width:480px;
		flex-shrink:0;
	}
}

@media (min-width: 768px) {
	.case-column_itemBody {
		width:100%;
	}
}

.case-column_date {
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-weight:700;
}

@media (max-width: 767px) {
	.case-column_date {
		margin-bottom:0;
	}
}

@media (min-width: 768px) {
	.case-column_date {
		margin:0;
	}
}

.case-column_title {
	margin-top:.5em;
	margin-bottom:.5em;
	line-height:1.75;
	font-family:"Josefin Sans", "Noto Sans", "Noto Sans JP", sans-serif;
	font-size:15px;
}

@media (min-width: 768px) {
	.case-column_title {
		letter-spacing:.3em;
	}
}

@media (max-width: 767px) {
	.case-column_txts {
		line-height:2;
	}
}

@media (max-width: 767px) {
	.case-column_foot {
		margin-top:80px;
	}
}

@media (min-width: 768px) {
	.case-column_foot {
		margin-top:160px;
	}
}

/* component: news.
 * -------------------------------------------------------------------------- */
.page-news .pagetitle {
	background-image:url(../news/images/pagetitle.jpg);
}

/* component: contact.
 * -------------------------------------------------------------------------- */
.page-contact .pagetitle {
	background-image:url(../contact/images/pagetitle.jpg);
}

@media (max-width: 767px) {
	.contact-lead {
		margin-bottom:40px;
	}
}

@media (min-width: 768px) {
	.contact-lead {
		margin-bottom:80px;
		text-align:center;
		line-height:2.8;
	}
}

.contact-form_table {
	border-top:1px solid #000;
	border-left:1px solid #000;
	width:100%;
	border-spacing:0;
	border-collapse:collapse;
}

@media (max-width: 767px) {
	.contact-form_table {
		display:block;
	}
}

@media (max-width: 767px) {
	.contact-form_table > tbody {
		display:block;
	}
}

@media (max-width: 767px) {
	.contact-form_table > tbody > tr {
		display:block;
	}
}

@media (max-width: 767px) {
	.contact-form_table > tbody > tr > th,
	.contact-form_table > tbody > tr > td {
		padding:15px;
		display:block;
		border-right:1px solid #000;
	}
}

@media (min-width: 768px) {
	.contact-form_table > tbody > tr > th,
	.contact-form_table > tbody > tr > td {
		padding:22px 52px;
	}
}

.contact-form_table > tbody > tr > th {
	background:#fbfcfc;
	text-align:left;
}

@media (max-width: 767px) {
	.contact-form_table > tbody > tr > th {
		border-bottom:1px solid #dee6e6;
	}
}

@media (min-width: 768px) {
	.contact-form_table > tbody > tr > th {
		border-bottom:1px solid #000;
	}
}

.contact-form_table > tbody > tr > td {
	border-right:1px solid #000;
	border-bottom:1px solid #000;
}

.contact-foot {
	text-align:center;
}

@media (max-width: 767px) {
	.contact-foot {
		margin-top:20px;
		margin-bottom:40px;
	}
}

@media (min-width: 768px) {
	.contact-foot {
		margin-top:40px;
		margin-bottom:100px;
	}
}

@media (min-width: 768px) {
	.contact-privacy_inner {
		margin-right:auto;
		margin-left:auto;
		width:800px;
	}
}

.contact-privacy_head {
	font-size:18px;
	font-weight:700;
	text-align:center;
}

@media (min-width: 768px) {
	.contact-privacy_head {
		margin-bottom:40px;
	}
}

.contact-privacy_body {
	border:1px solid #ccc;
}

@media (max-width: 767px) {
	.contact-privacy_body {
		padding:5px 15px;
	}
}

@media (min-width: 768px) {
	.contact-privacy_body {
		padding:30px 60px;
	}
}

@media (max-width: 767px) {
	.contact-privacy_definition {
		margin-top:40px;
	}
}

@media (min-width: 768px) {
	.contact-privacy_definition {
		margin-top:50px;
	}
}

.contact-privacy_definition > dt {
	line-height:1.75;
	font-size:16px;
	font-weight:700;
}

.contact-privacy_definition > dd {
	margin-left:0;
}

.contact-privacy_contact > dt {
	line-height:1.75;
	font-size:16px;
	font-weight:700;
}

.contact-privacy_contact > dd {
	margin-left:0;
}

@media (max-width: 767px) {
	.contact-google {
		margin-top:40px;
		margin-bottom:40px;
	}
}

@media (min-width: 768px) {
	.contact-google {
		margin-top:50px;
		margin-bottom:50px;
	}
}

.contact-google_head {
	line-height:1.75;
	font-size:16px;
	font-weight:700;
}

.contact-google_definition {
	margin-top:20px;
}

.contact-google_definition > dt {
	font-weight:700;
}

.contact-google_definition > dd {
	margin-left:0;
}

.contact-google_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
	letter-spacing:normal;
}
