@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* These browsers currently include
** Android 4.3-4.4+,
** Chrome 39-40+,
** Firefox 34-35+,
** Internet Explorer 10-11+,
** iOS 7-8+,
** Safari 7-8+,
** Windows Phone 8.1+.
*/
/*
 * Normalization
 */
:root {
		-ms-overflow-style: -ms-autohiding-scrollbar;
		-webkit-text-size-adjust: 100%;
		        text-size-adjust: 100%;
}

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

details {
		display: block;
}

input[type=number] {
		width: auto;
}
input[type=search] {
		-webkit-appearance: textfield;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
		-webkit-appearance: none;
}

main {
		display: block;
}

summary {
		display: block;
}

pre {
		overflow: auto;
}

progress {
		display: inline-block;
}

small {
		font-size: 75%;
}

template {
		display: none;
}

textarea {
		overflow: auto;
}

[hidden] {
		display: none;
}

[unselectable] {
		-webkit-user-select: none;
		        user-select: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
		box-sizing: inherit;
}

* {
		font-size: inherit;
		line-height: inherit;
}

::before,
::after {
		text-decoration: inherit;
		vertical-align: inherit;
}

/*
 * Opinionated defaults
 */
*,
::before,
::after {
		border-style: solid;
		border-width: 0;
}

* {
		margin: 0;
		padding: 0;
}

:root {
		box-sizing: border-box;
		cursor: default;
		font: 62.5%/1em sans-serif;
		text-rendering: optimizeLegibility;
}
@media screen and (min-width: 769px) {
		:root {
				font: 0.78125vw/1em sans-serif;
		}
}
@media screen and (min-width: 1600px) {
		:root {
				font: 78.125%/1em sans-serif;
		}
}

html {
		background-color: #FFFFFF;
}

a {
		text-decoration: none;
}

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

button,
input:not([type=radio]),
select,
textarea {
		background-color: transparent;
}

button,
input:not([type=radio]),
select,
textarea {
		color: inherit;
		font-family: inherit;
		font-style: inherit;
		font-weight: inherit;
}

button,
[type=button],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
		min-height: 1em;
}

input[type=submit],
input[type=button] {
		border-radius: 0;
		appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
		display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
		outline-offset: -2px;
}

code,
kbd,
pre,
samp {
		font-family: monospace, monospace;
}

nav ol,
nav ul {
		list-style: none;
}

select {
		-moz-appearance: none;
		-webkit-appearance: none;
}
select::-ms-expand {
		display: none;
}
select::-ms-value {
		color: currentColor;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

textarea {
		resize: vertical;
}

::selection {
		color: #FFFFFF;
		background-color: #000000;
		text-shadow: none;
}

@media screen {
		[hidden~=screen] {
				display: inherit;
		}
		[hidden~=screen]:not(:active):not(:focus):not(:target) {
				clip: rect(0 0 0 0) !important;
				position: absolute !important;
		}
}
* {
		margin: 0;
		padding: 0;
		outline: 0;
}

/* general params
--------------------*/
h1, h2, h3, h4, h5, h6,
div, p, pre, ul, ol, dl, dt, dd,
address, form, blockquote {
		margin: 0;
		padding: 0; /* margin&padding reset */
		font-style: normal;
}

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

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
		display: block;
		margin: 0;
}

table {
		border-collapse: collapse;
		font-size: small;
		margin: 0;
		empty-cells: show;
}

hr, .areaAnchor, .anchor {
		display: none;
}

img {
		vertical-align: bottom;
		border: none; /* img do not want a border */
}

li {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: "";
		content: none;
}

ins {
		text-decoration: none;
		color: #000;
}

small, sub, sup {
		font-size: 0.83em;
}

sub {
		display: inline-block;
		vertical-align: middle;
		transform: translateY(15%);
}

sup {
		display: inline-block;
		vertical-align: middle;
		transform: translateY(-15%);
}

mark {
		font-weight: bold;
		font-style: italic;
		color: #000;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		cursor: help;
		border-bottom: 1px dotted;
}

table {
		border-spacing: 0;
		border-collapse: collapse;
}

/* acronyms and abbreviations styles
-------------------------------------*/
acronym, abbr {
		cursor: help;
}

/* word break
-------------------------------------*/
p {
		word-break: normal;
}

/* image position
-------------------------------------*/
img {
		vertical-align: bottom;
}

/*
===== 2: form setting ===========================
*/
option {
		padding-right: 10px;
}

input, select {
		vertical-align: middle;
}

/*--------------------------------------------------------------- */
/* 全体で使用する common style を記述
/*--------------------------------------------------------------- */
/*
font-family: 'Cinzel', serif;
Regular : 400;

font-family: 'Noto Sans JP', sans-serif;
font-family: 'Roboto', sans-serif;
Light : 300;
Regular 400;
*/
/* 游ゴシック */
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 100;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 200;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 300;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 400;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Bold");
		font-weight: bold;
}
/*-------------------------------------------> font */
.enCormorant {
		font-family: "Cormorant", "Roboto", "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-weight: 300;
}

.enCinzel {
		font-family: "Cinzel", "Roboto", "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-weight: 400;
		font-variant-caps: initial;
}

.enCinzel.f_def {
		font-weight: 300;
}

.en {
		font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-weight: 300;
		font-variant-caps: initial;
}

.en.f_def {
		font-weight: 300;
}

.en.f_bold {
		font-weight: 700;
}

.ja {
		font-family: "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-variant-caps: normal;
}

.f_def {
		font-weight: 300;
}

.f_bold {
		font-weight: 700;
}

/*-------------------------------------------> html / body style */
html {
		height: 100%;
}

body {
		width: 100%;
		min-width: 100%;
		height: 100%;
		color: #000;
		font-family: "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-weight: 300;
		overflow-y: scroll;
		overflow-x: hidden;
		position: relative;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 769px) {
		body .pc {
				display: block;
		}
		body .sp {
				display: none;
		}
		body img.pc, body .svg.pc {
				display: inline;
		}
		body > * {
				font-feature-settings: "palt";
		}
}
@media screen and (max-width: 768px) {
		body {
				height: 100%;
		}
		body .pc {
				display: none;
		}
		body .sp {
				display: block;
		}
		body img.pc {
				display: none;
		}
		body img.sp, body .svg.sp {
				display: inline;
		}
		body img {
				max-width: 100%;
				height: auto;
		}
		body > * {
				font-feature-settings: "palt";
		}
}

.hide {
		display: none;
}

/*-------------------------------------------> link style */
a {
		outline: none;
		cursor: pointer;
}
a:link {
		text-decoration: none;
}
a:visited {
		text-decoration: none;
}
a:hover {
		text-decoration: none;
}
a:active {
		text-decoration: none;
}

@media screen and (min-width: 769px) {
		.OverOpacity,
		.OverOpacityGroup a {
				opacity: 1;
				transition: opacity 0.15s ease-out;
		}
		.OverOpacity:hover,
		.OverOpacityGroup a:hover {
				opacity: 0.3;
		}
}
/*-------------------------------------------> Footer fix */
#siteFrame {
		display: flex;
		flex-direction: column;
		min-height: 100%;
}
#siteFrame .body {
		flex: 1 0 auto;
}
#siteFrame #Footer {
		margin-top: auto;
}

.ie11 body,
.ie11 #siteFrame {
		min-height: initial;
}
.ie11 body .body,
.ie11 #siteFrame .body {
		background: #faf1e9;
}
.ie11 body #Footer,
.ie11 #siteFrame #Footer {
		margin-top: 0;
}

/*-------------------------------------------> Common style */
.inner {
		max-width: 1024px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
}
.inner.innerNarrow {
		max-width: 768px;
}
@media screen and (max-width: 768px) {
		.inner {
				max-width: initial;
				width: 100%;
				margin-left: 0;
				margin-right: 0;
				padding-left: 5.3333333333vw;
				padding-right: 5.3333333333vw;
		}
		.inner.spWide {
				padding-left: 0;
				padding-right: 0;
		}
}

img {
		max-width: 100%;
		height: auto;
		vertical-align: top;
}

br.pc {
		display: block;
}
br.pc.sp {
		display: block;
}
br.sp {
		display: none;
}
@media screen and (max-width: 768px) {
		br.pc {
				display: none;
		}
		br.sp {
				display: block;
		}
		br.sp.pc {
				display: block;
		}
}

.taLeft {
		text-align: left !important;
}

.taCenter {
		text-align: center !important;
}

.taRight {
		text-align: right !important;
}

.clearfix:after {
		content: "";
		display: block;
		clear: both;
}

/*-------------------------------------------> Header */
#Header {
		height: 80px;
}
#Header .fix {
		width: 100%;
		height: 80px;
		background: rgb(255, 255, 255);
		transition: all 0.3s ease-out;
}
#Header.fixed .fix {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		background: rgba(255, 255, 255, 0.95);
		transform: translate3d(0, 0, 0);
}
#Header.fixed.homeFixed .fix {
		transform: translate3d(0, -100%, 0);
}
@media screen and (max-width: 768px) {
		#Header {
				position: fixed;
				z-index: 900;
				top: 0;
				left: 0;
				height: 100%;
				width: 100vw;
				pointer-events: none;
		}
		#Header .inner {
				width: 100vw;
				padding: 0;
		}
		#Header .fix {
				height: 100%;
				width: 100vw;
				background: none;
		}
		#Header.fixed .fix {
				height: 100%;
				width: 100vw;
				transform: none;
				background: none;
		}
}

#Navi {
		width: 100%;
		height: 80px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 14px;
		line-height: 1;
		letter-spacing: 0em;
}
#Navi .logo {
		width: 90px;
}
#Navi .logo .svg {
		max-width: initial;
		width: 90px;
		height: auto;
}
#Navi .logo .svg .fill-logo {
		fill: #F2A593;
}
#Navi .main {
		margin-left: auto;
		display: flex;
		align-items: center;
}
#Navi .main > li {
		position: relative;
}
#Navi .main > li a {
		color: #3d0023;
		display: block;
		line-height: 20px;
		padding: 0 1em;
}
#Navi .main > li a .ja {
		display: none;
}
@media screen and (min-width: 769px) {
		#Navi .main > li a {
				transition: all 0.15s ease-out;
		}
		#Navi .main > li a:hover {
				color: #efd2b4;
		}
}
#Navi .main > li.hmContact a {
		border-left: solid 1px #3d0023;
		border-right: solid 1px #3d0023;
}
#Navi .main > li.hmInstagram a {
		display: block;
		line-height: 20px;
		padding-right: 0;
}
#Navi .main > li.hmInstagram a .svg {
		width: 20px;
		height: 20px;
}
#Navi .main > li.hmInstagram a .svg .fill-snsicon {
		fill: #7f7f7f;
}
@media screen and (min-width: 769px) {
		#Navi .main > li.hmInstagram a .svg .fill-snsicon {
				transition: all 0.15s ease-out;
		}
		#Navi .main > li.hmInstagram a:hover .svg .fill-snsicon {
				fill: #3d0023;
		}
}
#Navi .main > li.active a, #Navi .main > li.now a {
		color: #efd2b4;
}
#Navi .sub {
		display: none;
}
@media screen and (max-width: 768px) {
		#Navi {
				/*
				display: flex;
				flex-direction: column;
				justify-content: center;
				*/
				display: block;
				width: 100vw;
				height: 100%;
				overflow: scroll;
				overflow-y: scroll;
				overflow-x: hidden;
		}
		#Navi::after {
				content: "";
				display: block;
				width: 100vw;
				height: 100vh;
				background: rgba(255, 255, 255, 0.95);
				position: fixed;
				top: 0;
				left: 0;
				z-index: 910;
				opacity: 0;
				transition: opacity 0.15s ease-out;
		}
		#Navi .logo {
				position: absolute;
				top: 0;
				left: 0;
				z-index: 990;
				width: 100%;
				height: 16.5333333333vw;
				display: flex;
				justify-content: center;
				align-items: center;
				background: rgba(255, 255, 255, 0.95);
				transition: all 0.15s ease-in;
		}
		#Navi .logo a {
				display: block;
				pointer-events: auto;
				margin-left: auto;
				margin-right: auto;
		}
		#Navi .logo a .svg {
				width: 14.062vw;
				height: 10.6666666667vw;
		}
		#Navi .main {
				display: block;
				width: 86vw;
				text-align: left;
				position: relative;
				z-index: 999;
				font-size: 18px; /* legacy */
				font-size: 4.8vw;
				line-height: 1;
				letter-spacing: 0em;
				margin-left: auto;
				margin-right: 0;
				pointer-events: none;
				padding-top: 20vw;
		}
		#Navi .main > li {
				opacity: 0;
				transition: opacity 0.15s ease-out;
				transition-delay: 0.15s;
				display: block;
		}
		#Navi .main > li a {
				padding: 0.75em 0;
				vertical-align: middle;
		}
		#Navi .main > li a .ja {
				display: inline;
				font-size: 12px; /* legacy */
				font-size: 3.2vw;
				line-height: 1.5;
				letter-spacing: 0em;
				margin-left: 1em;
		}
		#Navi .main > li a .ja::before, #Navi .main > li a .ja::after {
				content: " - ";
		}
		#Navi .main > li.hmContact a {
				display: inline-block;
				position: relative;
				border: none;
				padding-left: 1em;
				padding-right: 1em;
		}
		#Navi .main > li.hmContact a::before, #Navi .main > li.hmContact a::after {
				content: "";
				width: 1px;
				height: 1.5em;
				background: #3d0023;
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
		}
		#Navi .main > li.hmContact a::before {
				left: 0;
		}
		#Navi .main > li.hmContact a::after {
				right: 0;
		}
		#Navi .main > li.hmInstagram {
				opacity: 1;
				pointer-events: auto;
				position: fixed;
				z-index: 999;
				top: 0;
				right: 0;
				z-index: 999;
				width: 16.5333333333vw;
				height: 16.5333333333vw;
		}
		#Navi .main > li.hmInstagram a {
				width: 16.5333333333vw;
				height: 16.5333333333vw;
				padding: 0;
				box-sizing: border-box;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		#Navi .main > li.hmInstagram a .svg {
				width: 5.6vw;
				height: 5.6vw;
				vertical-align: top;
		}
		#Navi .sub {
				position: relative;
				display: block;
				width: 72vw;
				opacity: 0;
				z-index: 999;
				font-size: 12px; /* legacy */
				font-size: 3.2vw;
				line-height: 1.5;
				letter-spacing: 0em;
				margin-top: 2em;
				margin-left: auto;
				margin-right: auto;
				transition: opacity 0.15s ease-out;
				transition-delay: 0.15s;
				padding-bottom: 20vw;
		}
		#Navi .sub > li {
				display: block;
		}
		#Navi .sub > li a {
				display: block;
				padding: 0.75em 0;
				color: #3d0023;
		}
}

@media screen and (min-width: 769px) {
		#MenuBtn {
				display: none;
		}
}
@media screen and (max-width: 768px) {
		#MenuBtn {
				display: block;
				position: fixed;
				z-index: 999;
				top: 0;
				left: 0;
				width: 16.5333333333vw;
				height: 16.5333333333vw;
		}
		#MenuBtn a {
				pointer-events: auto;
				display: block;
				width: 16.5333333333vw;
				height: 16.5333333333vw;
				padding: 0;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		#MenuBtn a .icon {
				position: relative;
				width: 4.6666666667vw;
				height: 4.6666666667vw;
		}
		#MenuBtn a .icon span {
				position: absolute;
				display: block;
				background: #000;
				width: 100%;
				height: 1px;
				overflow: hidden;
				border-radius: 1px;
				transition: all 0.15s ease-out;
				top: 50%;
				left: 50%;
		}
		#MenuBtn a .icon span:nth-of-type(1) {
				transform: translate3d(-50%, -1.8666666667vw, 0);
		}
		#MenuBtn a .icon span:nth-of-type(2) {
				transform: translate3d(-50%, 0, 0);
		}
		#MenuBtn a .icon span:nth-of-type(3) {
				transform: translate3d(-50%, 1.8666666667vw, 0);
		}
}

.MClose #Navi::after {
		transition-delay: 0.15s;
}
.MClose #Navi .main {
		transition-delay: 0s;
}

/* MenuOpen */
@media screen and (max-width: 768px) {
		.MOpen #Navi {
				pointer-events: auto;
		}
		.MOpen #Navi::after {
				opacity: 1;
		}
		.MOpen #Navi .logo {
				background: rgba(255, 255, 255, 0);
		}
		.MOpen #Navi .main > li {
				opacity: 1;
		}
		.MOpen #Navi .main a {
				pointer-events: auto;
		}
		.MOpen #Navi .sub {
				opacity: 1;
		}
		.MOpen #MenuBtn a .icon span:nth-of-type(1) {
				transform: translate3d(-50%, 0, 0) rotate(45deg);
		}
		.MOpen #MenuBtn a .icon span:nth-of-type(2) {
				opacity: 0;
		}
		.MOpen #MenuBtn a .icon span:nth-of-type(3) {
				transform: translate3d(-50%, 0, 0) rotate(-45deg);
		}
}

/*-------------------------------------------> Main */
@media screen and (max-width: 768px) {
		#Main > div:not(#Home) {
				padding-top: 16.5333333333vw;
		}
}
/*-------------------------------------------> Footer */
#Footer {
		background: #786f61;
		font-size: 14px;
		line-height: 1;
		letter-spacing: 0em;
		color: #FFF;
		text-align: center;
		padding: 50px 0;
}
#Footer ul {
		display: flex;
		justify-content: center;
}
#Footer ul li {
		border-left: solid 1px #FFF;
}
#Footer ul li:first-child {
		border-left: none;
}
#Footer ul li a {
		display: block;
		padding: 0 1.5em;
		color: #FFF;
}
#Footer .copyright {
		margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
		#Footer {
				font-size: 14px; /* legacy */
				font-size: 3.7333333333vw;
				line-height: 1;
				letter-spacing: 0em;
				padding: 7.3333333333vw 0 20vw;
		}
}

#SpFixBtn {
		display: none;
}
@media screen and (max-width: 768px) {
		#SpFixBtn {
				display: block;
				position: fixed;
				z-index: 1000;
				left: 0;
				bottom: 0;
				width: 100%;
				background: #FFF;
				border-top: solid 1px #FFF;
		}
		#SpFixBtn ul {
				display: flex;
				font-size: 16px; /* legacy */
				font-size: 4.2666666667vw;
				line-height: 2.875;
				letter-spacing: 0em;
		}
		#SpFixBtn ul li {
				width: 50%;
		}
		#SpFixBtn ul li a {
				display: block;
				width: 100%;
				color: #FFF;
				background: #ce7a7f;
		}
}

/*-------------------------------------------> plugin style */
/* Slick */
.slick-slider {
		position: relative;
		display: block;
		box-sizing: border-box;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		user-select: none;
		touch-action: pan-y;
		-webkit-tap-highlight-color: transparent;
}

.slick-list {
		position: relative;
		overflow: hidden;
		display: block;
		margin: 0;
		padding: 0;
}
.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 {
		position: relative;
		left: 0;
		top: 0;
		display: block;
		margin-left: auto;
		margin-right: auto;
}
.slick-track:before, .slick-track:after {
		content: "";
		display: table;
}
.slick-track:after {
		clear: both;
}
.slick-loading .slick-track {
		visibility: hidden;
}

.slick-slide {
		float: left;
		min-height: 1px;
		display: none;
}
[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 {
		position: absolute;
		z-index: 10;
		display: block;
		height: 64px;
		width: 64px;
		line-height: 0px;
		font-size: 0px;
		cursor: pointer;
		background: #FFF;
		color: transparent;
		top: 163px;
		padding: 0;
		border: none;
		outline: none;
		box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
		.slick-prev,
		.slick-next {
				box-shadow: 0px 1.0666666667vw 3.2vw 0px rgba(0, 0, 0, 0.08);
		}
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
		outline: none;
}
.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: 0.25;
}

.slick-prev:before, .slick-next:before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: left top;
		background-size: cover;
		transition: all 0.15s ease-out;
}

.slick-prev {
		left: 0;
}
[dir=rtl] .slick-prev {
		left: auto;
		right: 0;
}
.slick-prev:before {
		background-image: url(../images/common/icon_slide_prev.svg);
}
.slick-prev:hover:before {
		margin-left: -5px;
}

.slick-next {
		right: 0;
}
[dir=rtl] .slick-next {
		left: 0;
		right: auto;
}
.slick-next:before {
		background-image: url(../images/common/icon_slide_next.svg);
}
.slick-next:hover:before {
		margin-left: 5px;
}

@media screen and (max-width: 768px) {
		.slick-prev,
		.slick-next {
				width: 12.8vw;
				height: 12.8vw;
				top: 19.6vw;
		}
		.slick-prev:hover:before {
				margin-left: 0;
		}
		.slick-next:hover:before {
				margin-left: 0;
		}
}
/* Dots */
.slick-dotted.slick-slider {
		padding-bottom: 40px;
}

.slick-dots {
		position: absolute;
		bottom: 0;
		list-style: none;
		display: block;
		text-align: center;
		padding: 0;
		margin: 0;
		width: 100%;
}
.slick-dots li {
		position: relative;
		display: inline-block;
		height: 40px;
		width: 40px;
		margin: 0 6px;
		padding: 0;
		cursor: pointer;
}
.slick-dots li button {
		border: 0;
		background: transparent;
		display: block;
		height: 40px;
		width: 40px;
		outline: none;
		line-height: 0px;
		font-size: 0px;
		color: transparent;
		padding: 0px;
		cursor: pointer;
		border: none;
		border-radius: 0px;
}
.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 {
		position: absolute;
		top: 20px;
		left: 0;
		content: "";
		text-indent: -9999px;
		width: 40px;
		height: 1px;
		border-radius: 0;
		background: #a8a8a8;
		font-family: "slick";
		font-size: 6px;
		line-height: 1px;
		text-align: center;
		color: #a8a8a8;
		opacity: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
		color: #000;
		opacity: 0.75;
		border: none;
		background: #000;
		border-radius: 0;
}

@media screen and (max-width: 768px) {
		.slick-dots li {
				width: 10%;
				margin: 0;
		}
		.slick-dots li button {
				width: 100%;
				background: #FFF;
		}
		.slick-dots li button:before {
				width: calc(100% - 8px);
				margin: 0 4px;
		}
}
/*-------------------------------------------> title */
.mod_sectionTitle {
		display: inline-block;
}
.mod_sectionTitle span {
		display: block;
		text-align: center;
}
.mod_sectionTitle .enCinzel {
		font-size: 18px;
		line-height: 1.5555555556;
		letter-spacing: 0em;
		font-weight: 400;
}
.mod_sectionTitle .ja {
		font-size: 14px;
		line-height: 2;
		letter-spacing: 0em;
		font-weight: 300;
}
.mod_sectionTitle .ja::before, .mod_sectionTitle .ja::after {
		content: " - ";
}
@media screen and (max-width: 768px) {
		.mod_sectionTitle .enCinzel {
				font-size: 20px; /* legacy */
				font-size: 5.3333333333vw;
				line-height: 1.4;
				letter-spacing: 0em;
		}
		.mod_sectionTitle .ja {
				font-size: 14px; /* legacy */
				font-size: 3.7333333333vw;
				line-height: 2;
				letter-spacing: 0em;
		}
}

.mod_pageTitle {
		position: relative;
		text-align: center;
		color: #000;
		font-size: 32px;
		line-height: 1.75;
		letter-spacing: 0em;
}
.mod_pageTitle::after {
		display: block;
		content: "";
		background: #ce7a7f;
		width: 40px;
		height: 1px;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -20px;
}
@media screen and (max-width: 768px) {
		.mod_pageTitle {
				font-size: 24px; /* legacy */
				font-size: 6.4vw;
				line-height: 1.75;
				letter-spacing: 0em;
		}
		.mod_pageTitle::after {
				width: 5.3333333333vw;
				bottom: 0.6666666667vw;
				margin-left: -2.6666666667vw;
		}
}
.mod_pageTitle + .mod_readCopy {
		margin-top: 15px;
		font-size: 12px;
		line-height: 1.75;
		letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
		.mod_pageTitle + .mod_readCopy {
				margin-top: 0vw;
				font-size: 12px; /* legacy */
				font-size: 3.2vw;
				line-height: 1.75;
				letter-spacing: 0em;
		}
}

/*-------------------------------------------> parts */
@media screen and (min-width: 769px) {
		a .mod_imgZoom span {
				display: block;
				overflow: hidden;
		}
		a .mod_imgZoom span img {
				transition: all 0.3s ease-out;
		}
		a:hover .mod_imgZoom span img {
				transform: scale(1.02);
		}
		a.mod_imgZoom span {
				display: block;
				overflow: hidden;
		}
		a.mod_imgZoom span img {
				transition: all 0.3s ease-out;
		}
		a.mod_imgZoom:hover span img {
				transform: scale(1.02);
		}
}
/*-------------------------------------------> button */
a .mod_linkButton {
		display: inline-block;
		margin-left: auto;
		margin-right: auto;
		background: #efd2b4;
		color: #FFF;
		font-size: 14px;
		line-height: 2.5714285714;
		letter-spacing: 0em;
		text-align: center;
		min-width: 120px;
		border: solid 1px #efd2b4;
		transition: all 0.15s ease-out;
}
@media screen and (max-width: 768px) {
		a .mod_linkButton {
				font-size: 14px; /* legacy */
				font-size: 3.7333333333vw;
				line-height: 2.5714285714;
				letter-spacing: 0em;
				min-width: 32vw;
				border: none;
		}
}
@media screen and (min-width: 769px) {
		a:hover .mod_linkButton {
				background: #FFF;
				color: #efd2b4;
		}
}

a.mod_linkButton {
		display: inline-block;
		margin-left: auto;
		margin-right: auto;
		background: #efd2b4;
		color: #FFF;
		font-size: 14px;
		line-height: 2.5714285714;
		letter-spacing: 0em;
		text-align: center;
		min-width: 120px;
		border: solid 1px #efd2b4;
		transition: all 0.15s ease-out;
}
@media screen and (max-width: 768px) {
		a.mod_linkButton {
				font-size: 14px; /* legacy */
				font-size: 3.7333333333vw;
				line-height: 2.5714285714;
				letter-spacing: 0em;
				min-width: 32vw;
				border: none;
		}
}
@media screen and (min-width: 769px) {
		a.mod_linkButton:hover {
				background: #FFF;
				color: #efd2b4;
		}
}

/*-------------------------------------------> flexbox */
.flex {
		display: flex;
}
.flex.column {
		flex-direction: column;
}
@media screen and (max-width: 768px) {
		.flex.sp_column {
				flex-direction: column;
		}
}

/*-------------------------------------------> Loading */
#Loading {
		display: block;
		opacity: 1;
		background: #FFF;
		position: fixed;
		justify-content: center;
		align-items: center;
		z-index: 9998;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		font-size: 10px;
		line-height: 1;
		letter-spacing: 0em;
		transition: all 0.3s ease-out 0.5s;
}
#Loading .Loading-wrap {
		width: 100%;
		height: 100%;
		background: url(../images/svg/loading.svg) no-repeat center center;
		background-size: 150px auto;
		text-indent: -9999px;
		transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
		#Loading .Loading-wrap {
				background-size: 30vw auto;
		}
}
#Loading::before {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		z-index: 9999;
		background: #f2dbc3;
		transform: translate3d(0, -100%, 0);
		transition: all 0.3s ease-out;
}

.loaded #Loading {
		transform: translate3d(0, 100%, 0);
}
.loaded #Loading::before {
		transform: translate3d(0, 0, 0);
}

/* infinite scroll loading */
.ISloading {
		text-align: center;
		margin-top: 120px;
}
.ISloading::before {
		content: "";
		display: inline-block;
		width: 48px;
		height: 48px;
		animation-duration: 0.8s;
		animation-timing-function: linear;
		animation-iteration-count: infinite;
		animation-name: loading;
}

/*-------------------------------------------> BlogCode */
.blogCode {
		font-size: 14px;
		line-height: 1.75;
		letter-spacing: 0em;
		color: #000;
}
.blogCode * + p,
.blogCode * + ul,
.blogCode * + ol,
.blogCode * + table {
		margin: 1.75em 0;
}
.blogCode * + h1,
.blogCode * + h2,
.blogCode * + h3,
.blogCode * + h4,
.blogCode * + h5,
.blogCode * + h6 {
		margin-top: 1.75em;
}
.blogCode p {
		text-align: justify;
		text-justify: inter-ideograph;
}
.blogCode ul, .blogCode ol {
		margin-left: 1.5em;
}
.blogCode h1, .blogCode h2, .blogCode h3, .blogCode h4, .blogCode h5, .blogCode h6 {
		margin-bottom: 0.875em;
		line-height: 1.75;
		font-weight: 700;
}
.blogCode h1, .blogCode h2, .blogCode h3 {
		font-size: 28px;
}
.blogCode h4 {
		font-size: 25px;
}
.blogCode h5 {
		font-size: 22px;
}
.blogCode h6 {
		font-size: 19px;
}
.blogCode ul {
		list-style: disc;
}
.blogCode ol {
		list-style: decimal;
}
.blogCode li {
		list-style-position: outside;
}
.blogCode a {
		text-decoration: underline;
		color: #000;
}
@media screen and (min-width: 769px) {
		.blogCode a {
				transition: all 0.15s ease-out;
		}
		.blogCode a:hover {
				text-decoration: none;
		}
}
.blogCode strong, .blogCode b {
		font-weight: bold;
}
.blogCode img {
		max-width: 100%;
		height: auto;
}
@media screen and (max-width: 768px) {
		.blogCode {
				font-size: 14px; /* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.75;
				letter-spacing: 0em;
		}
		.blogCode h1, .blogCode h2, .blogCode h3 {
				font-size: 3.7333333333vw;
		}
		.blogCode h4 {
				font-size: 3.3333333333vw;
		}
		.blogCode h5 {
				font-size: 2.9333333333vw;
		}
		.blogCode h6 {
				font-size: 2.5333333333vw;
		}
}