html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
	display: block;
}
body {
	line-height: 1;
}
ol,
ul {
	list-style: none;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	vertical-align: bottom;
}
input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	border: none;
}
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	border: none;
	cursor: pointer;
	background: none;
	padding: 0;
}


:root {
	--rs: 1px;
}
@media screen and (max-width: 1280px) {
	:root {
		--rs: calc(100vw / 1280);
	}
}
@media screen and (max-width: 768px) {
	:root {
		--rs: calc(100vw / 375);
	}
}


body {
	font-size: calc(16 * var(--rs));
	font-family: var(--font-serif);
	line-height: 1;
	color: #494a48;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	background: #faf9f0;
}

a {
	color: #333;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}

a img {
	transition: opacity 0.3s ease-in-out;
}
a:hover img {
	opacity: 0.5;
}
img.nofade {
	opacity: 1 !important;
}








/* -------------------------------------
↓↓↓ #header ↓↓↓
------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: calc(1920 * var(--rs));
	box-sizing: border-box;
	z-index: 99;
	font-family: var(--font-gothic);
	font-weight: 300;
	transform: translateX(-50%);
}
#header .logo {
	position: absolute;
	top: calc(39 * var(--rs));
	left: calc(20 * var(--rs));
	width: calc(80 * var(--rs));
}
#header .logo img {
	width: 100%;
	height: auto;
}
#header a {
	text-decoration: none;
}
#header .menuBtn {
	position: absolute;
	top: calc(22 * var(--rs));
	right: calc(26 * var(--rs));
	width: calc(70 * var(--rs));
	height: calc(70 * var(--rs));
	cursor: pointer;
	z-index: 20;
}
#header .menuBtn::before,
#header .menuBtn::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(40 * var(--rs));
	height: 1px;
	margin-left: calc(-20 * var(--rs));
	background: #494a48;
	transition: all 0.3s ease-in-out;
}
#header .menuBtn::before {
	margin-top: calc(-6 * var(--rs));
}
#header .menuBtn::after {
	margin-top: calc(6 * var(--rs));
}
html.js-pcNaviShow #header .menuBtn::before,
html.js-pcNaviShow #header .menuBtn::after {
	margin-top: 0;
}
html.js-pcNaviShow #header .menuBtn::before {
	transform: rotate(-30deg);
}
html.js-pcNaviShow #header .menuBtn::after {
	transform: rotate(30deg);
}





#header .pcNavi {
	position: absolute;
	top: 0;
	right: 0;
	width: calc(223 * var(--rs));
	z-index: 20;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s linear;
}
#header .pcNavi .navInr {
	padding: calc(45 * var(--rs)) calc(28 * var(--rs)) calc(40 * var(--rs));
	background: #faf9f0;
}
#header .pcNavi .navTtl {
	font-size: calc(16 * var(--rs));
	letter-spacing: 0.05em;
}
#header .pcNavi .list {
	margin-top: calc(22 * var(--rs));
	padding-left: calc(13 * var(--rs));
}
#header .pcNavi .list li {
	margin-top: calc(17 * var(--rs));
	line-height: 1.3;
	font-size: calc(14 * var(--rs));
}
#header .pcNavi .list li a:hover {
	text-decoration: underline;
}
#header .pcNavi .btnInsta {
	margin-top: calc(26 * var(--rs));
}
#header .pcNavi .btnInsta a {
	display: block;
	width: calc(18 * var(--rs));
	height: calc(18 * var(--rs));
	background: url(/kr/common/img/icn_insta_bk.svg) no-repeat center / contain;
	transition: opacity 0.3s linear;
}
#header .pcNavi .btnInsta a:hover {
	opacity: 0.7;
}




#header .langBtn {
	width: calc(28 * var(--rs));
	height: calc(28 * var(--rs));
	box-sizing: border-box;
	border-radius: 100%;
	border: 1px solid #494a48;
	cursor: pointer;
	position: absolute;
	top: calc(98 * var(--rs));
	right: calc(47 * var(--rs));
	cursor: pointer;
	z-index: 10;
	transition: opacity 0.3s linear;
}
#header .langBtn:hover {
	opacity: 0.7;
}
#header .langBtn .icn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
#header .langBtn .img {
	width: calc(16 * var(--rs));
	height: calc(16 * var(--rs));
}
#header .langBtn .img .js-svg {
	width: 100%;
	height: auto;
}
#header.is-white .langBtn {
	border-color: #fff;
}
#header.is-white .langBtn .icn svg circle {
	fill: #fff;
}

#header .pcLangNavi {
	position: absolute;
	top: 0;
	right: 0;
	background: #faf9f0;
	width: calc(122 * var(--rs));
	z-index: 3;
	font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s linear;
}
#header .pcLangNavi .navInr {
	text-align: center;
	padding: calc(155 * var(--rs)) 0 calc(40 * var(--rs));
	text-align: center;
	font-size: calc(11 * var(--rs));
}
#header .pcLangNavi li:not(:first-child) {
	margin-top: calc(16 * var(--rs));
}



html.js-pcNaviShow #header .pcNavi {
	pointer-events: all;
	opacity: 1;
}
html.js-pcLangShow #header .pcLangNavi {
	pointer-events: all;
	opacity: 1;
}



.js-spHeaderScroll #header .pcNavi .navInr {
	background: #faf9f0;
}


/* PC
-------------------------------------*/
@media screen and (min-width: 769px) {
	#header .spNavi {
		display: none !important;
	}
	#header .spLangNavi {
		display: none !important;
	}
	#header .spBtnInsta {
		display: none !important;
	}
}


/* SP
-------------------------------------*/
@media screen and (max-width: 768px) {
	#header,
	#header .hdInr {
		pointer-events: none;
	}
	#header .hdInr::before {
		content: " ";
		transition: background-color 0.3s linear;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	.js-spHeaderScroll #header .hdInr::before {
		width: 100%;
		height: calc(52 * var(--rs));
		background-color: rgba(250, 249, 240, 1);
	}
	#header .logo {
		position: absolute;
		top: calc(15 * var(--rs));
		left: calc(15 * var(--rs));
		width: calc(60 * var(--rs));
		pointer-events: all;
	}
	#header .menuBtn {
		top: calc(0 * var(--rs));
		right: calc(0 * var(--rs));
		width: calc(63 * var(--rs));
		height: calc(50 * var(--rs));
		pointer-events: all;
	}
	#header .menuBtn::before,
	#header .menuBtn::after {
		width: calc(32 * var(--rs));
		margin-left: calc(-16 * var(--rs));
		transition: all 0.3s ease-in-out;
	}
	#header .menuBtn::before {
		margin-top: calc(-5 * var(--rs));
	}
	#header .menuBtn::after {
		margin-top: calc(5 * var(--rs));
	}
	html.js-spNaviShow #header .menuBtn::before {
		margin-top: 0;
		transform: rotate(-30deg);
	}
	html.js-spNaviShow #header .menuBtn::after {
		margin-top: 0;
		transform: rotate(30deg);
	}

	#header .langBtn {
		width: auto;
		height: auto;
		background: none;
		border: none;
		position: static;
		pointer-events: all;
		position: absolute;
		top: calc(17 * var(--rs));
		right: calc(64 * var(--rs));
	}
	#header .langBtn .icn {
		display: block;
		height: auto;
	}
	#header .langBtn .img {
		width: calc(20 * var(--rs));
		height: calc(20 * var(--rs));
	}




	#header .spBtnInsta {
		position: absolute;
		top: calc(17 * var(--rs));
		right: calc(100 * var(--rs));
		z-index: 2;
		pointer-events: all;
	}
	#header .spBtnInsta a {
		display: block;
		width: calc(20 * var(--rs));
		height: calc(20 * var(--rs));
		background: url(/kr/common/img/icn_insta_bk.svg) no-repeat center / contain;
		transition: opacity 0.3s linear;
	}
	#header .spBtnInsta a:hover {
		opacity: 0.7;
	}
	#header .pcNavi {
		display: none !important;
	}
	#header .pcLangNavi {
		display: none !important;
	}
	#header .spNavi {
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s linear;
		max-height: 100vh;
		overflow-y: auto;
	}
	#header .spNavi .navInr {
		padding: calc(66 * var(--rs)) calc(15 * var(--rs)) calc(23 * var(--rs));
		text-align: center;
	}
	#header .spNavi .navTtl {
		font-size: calc(20 * var(--rs));
		padding: calc(20 * var(--rs));
		border-top: 1px solid #d4d4d4;
		border-bottom: 1px solid #d4d4d4;
	}

	#header .spNavi .list {
		padding-bottom: calc(15 * var(--rs));
		border-bottom: 1px solid #d4d4d4;
	}
	#header .spNavi .list li {
		position: relative;
		padding-top: calc(25 * var(--rs));
		padding-bottom: calc(25 * var(--rs));
	}
	#header .spNavi .list li:not(:first-child)::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: calc(18 * var(--rs));
		height: 1px;
		margin-left: calc(-9 * var(--rs));
		background: #707070;
	}
	#header .spLangNavi {
		position: absolute;
		top: calc(50 * var(--rs));
		width: calc(84 * var(--rs));
		right: calc(30 * var(--rs));
		text-align: center;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s linear;
	}
	#header .spLangNavi .list {
		font-size: calc(10 * var(--rs));
	}
	#header .spLangNavi .list li a {
		display: block;
		padding: calc(10 * var(--rs)) 0;
	}

	html.js-spNaviShow #header .spNavi {
		pointer-events: all;
		opacity: 1;
	}
	html.js-spLangShow #header .spLangNavi {
		pointer-events: all;
		opacity: 1;
	}
}


#hdNavOl {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 90;
	opacity: 0;
	pointer-events: none;
}
html.js-pcNaviShow #hdNavOl {
	pointer-events: all;
}
html.js-pcLangShow #hdNavOl {
	pointer-events: all;
}

/* PC
-------------------------------------*/
@media screen and (min-width: 769px) {
	#spHdNavOl {
		display: none !important;
	}
}

/* SP
-------------------------------------*/
@media screen and (max-width: 768px) {
	#hdNavOl {
		display: none !important;
	}
	#spHdNavOl {
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		z-index: 90;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s linear, background 0.3s linear;
	}
	html.js-spNaviShow #spHdNavOl {
		opacity: 1;
		background: #fff;
		pointer-events: all;
	}
	html.js-spLangShow #spHdNavOl {
		opacity: 0;
		pointer-events: all;
	}
}

/* -------------------------------------
↑↑↑ #header ↑↑↑
------------------------------------- */




#main {
	padding-bottom: calc(100 * var(--rs));
	background: #faf9f0;
	position: relative;
	z-index: 1;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
	#main {
		padding-bottom: calc(100 * var(--rs));
	}
}




#responseFlagTab {
	display: none !important;
}

/* PC
-------------------------------------*/
@media screen and (min-width: 769px) {
	#responseFlagPc {
		display: block !important;
	}
	#responseFlagSp {
		display: none !important;
	}
}

/* SP
-------------------------------------*/
@media screen and (max-width: 768px) {
	#responseFlagPc {
		display: none !important;
	}
	#responseFlagSp {
		display: block !important;
	}
}



.pageTop {
	position: fixed;
	bottom: calc(34 * var(--rs));
	right: calc(40 * var(--rs));
}
.pageTop .btn {
	display: block;
}
.pageTop .btn img {
	width: calc(28 * var(--rs));
	height: auto;
}

/* SP
-------------------------------------*/
@media screen and (max-width: 768px) {
	.pageTop {
		display: none;
	}
}


.md-anchorLine {
	position: relative;
}
.md-anchorLine a {
	position: absolute;
	top: calc(-100 * var(--rs));
}

/* SP
-------------------------------------*/
@media screen and (max-width: 768px) {
	.md-anchorLine a {
		top: calc(-50 * var(--rs));
	}
}



[class*=js-fadeIn] {
	position: relative;
	opacity: 0;
}
.js-fadeIn--yuragi > span {
	position: relative;
	opacity: 0;
	display: inline-block;
}

.js-fadeIn--line > span {
	position: relative;
	opacity: 0;
	display: inline-block;
}
