@charset "UTF-8";

/* --------------------------------------------------
2021/06/-- nagai ver.1.0
2021/07/01 nagai ver.1.1 add lang
-------------------------------------------------- */

/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
-------------------------------------------------- */
/* Document */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
/* Sections */
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
/* Grouping content */
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace,monospace; font-size: 1em; }
/* Text-level semantics */
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace,monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
/* Embedded content */
img { border-style: none; }
/* Forms */
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [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: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { 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-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
/* Interactive */
details { display: block; }
summary { display: list-item; }
/* Misc */
template { display: none; }
[hidden] { display: none; }

/* reset */
h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li, p, table, th, td, time { margin: 0; padding: 0; font-size: 100%; }
h1, h2, h3, h4, h5, h6, b { font-weight: normal; }
i { font-style: normal; }
li { list-style: none; }
figure { margin: 0; }
img { vertical-align: top; background-color: rgba(255, 255, 255, 0.01); }
table { border-collapse: collapse; border-spacing: 0; }
input, select, textarea { font-size: 16px; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
button { margin: 0; padding: 0; border: 0; outline: none; background: transparent; box-shadow: 0 0 0 0 transparent; cursor: pointer; }
::-moz-selection { background: black; color: #fff; }
::selection { background: black; color: #fff; }

/* base
-------------------------------------------------- */
html { position: relative; font-size: 62.5%; -webkit-font-smoothing: antialiased; }
body { position: relative; background-color: #fff; color: #000; font-size: 2.9vw; font-weight: 500; line-height: 2; text-align: center; -webkit-tap-highlight-color: transparent; }
.sans { font-weight: 300; }
a { display: inline-block; color: inherit; -webkit-text-decoration: underline 0.05em black; text-decoration: underline 0.05em black; outline: none; opacity: 1; transition: all 0.3s ease; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
a:hover { -webkit-text-decoration-color: rgba(0, 0, 0, 0); text-decoration-color: rgba(0, 0, 0, 0); }
.js-ie11 a:hover { text-decoration: none; }
a::after, a::before { transition: all 0.3s ease; }
a img { background-color: rgba(255, 255, 255, 0.01); vertical-align: top; }
.text a { display: inline; }
#sp-flg,
#tb-flg { display: block; width: 0; height: 0; font-size: 0; line-height: 0; }
.sp-show { display: block; }
.tb-show { display: block; }
.tbpc-show { display: none; }
.pc-show { display: none; }
.noscript-text { padding: 1em; }
@media screen and (min-width: 768px) {
	html { font-size: calc(.5rem + ((1vw - 7.68px) * .9434)); }
	body { font-size: 1.4rem; }
	#sp-flg { display: none; }
	.sp-show { display: none; }
	.tbpc-show { display: block; }
}
@media screen and (min-width: 980px) {
	html { font-size: 62.5%; }
	#tb-flg { display: none; }
	.tb-show { display: none; }
	.pc-show { display: block; }
}

/* loading */
#l-wrap { opacity: 0; transition: opacity .3s; }
#l-loading { z-index: 9999; display: block; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: #fff; visibility: visible; opacity: 1; transition: visibility 0.5s linear 0s, opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
#l-loading .loading-inner { text-align: center; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); height: 40px; }
.is-loaded #l-wrap { opacity: 1; }
.is-loaded #l-loading { visibility: hidden; opacity: 0; transition-delay: 0s; }
.loading-animation { position: relative; display: inline-block; width: 40px; height: 40px; background-color: #333; border-radius: 50%; transform-origin: center center; animation: loading_anime 1s infinite ease-in-out; }
@keyframes loading_anime {
	0% { transform: scale(0); }
	100% { transform: scale(1); opacity: 0; }
}

/* slick */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: 0; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-list, .slick-slider .slick-track { transform: translate3d(0, 0, 0); }
.slick-track { z-index: 1; position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:after, .slick-track:before { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; line-height: 0; }
.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; }
.slick-loading .slick-list { background: #fff url("../gif/loading.gif") center center no-repeat; }
.slick-next, .slick-prev { z-index: 5; font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 30px; height: 50px; padding: 0; transform: translate(0, -50%); cursor: pointer; color: transparent; border: none; outline: 0; background: 0 0; }
.slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover { color: transparent; outline: 0; background: 0 0; }
.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before { opacity: 1; }
.slick-next.slick-disabled:before, .slick-prev.slick-disabled:before { opacity: .25; }
.slick-next:before, .slick-prev:before { font-size: 30px; line-height: 1; opacity: 1; color: #ccc; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-prev { left: 0; }
.slick-prev:before { content: '〈'; }
.slick-next { right: 0; }
.slick-next:before { content: '〉'; }
.slick-dots { display: flex; justify-content: center; flex-wrap: wrap; width: 100%; padding-top: 1.111vw; margin: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; width: 1.666vw; height: 1.666vw; margin: 1.111vw 0.833vw; padding: 0; cursor: pointer; }
.slick-dots li button { position: absolute; top: 0; left: 0; width: 100%; height: 100%; font-size: 0; line-height: 0; text-align: center; background: #ccc; border: 0; border-radius: 50%; cursor: pointer; outline: 0; }
.slick-dots li button:hover { opacity: .7; }
.slick-dots li button:focus, .slick-dots li button:hover { outline: 0; }
.slick-dots li button:focus:before, .slick-dots li button:hover:before { background: #000; }
.slick-dots li.slick-active button { background: #000; }
@media screen and (min-width: 768px) {
	.slick-dots { padding-top: 0.714em; }
	.slick-dots li { width: 0.714em; height: 0.714em; margin: 0.285em 0.428em; }
}

/* common layout
-------------------------------------------------- */
#l-wrap { overflow: hidden; }
section { position: relative; display: block; }
section::after { clear: both; content: ''; display: block; }
.inner { position: relative; width: calc(100vw - 10%); max-width: 1272px; margin-right: auto; margin-left: auto; box-sizing: border-box; text-align: left; }
.inner *, .header-inner * { box-sizing: border-box; }
#l-main { min-height: 51vh; }
@media screen and (max-width: 979px) {
	#l-main { margin-top: 25.185vw; padding-top: 5.74vw; }
	.is-hd_fixed #l-main { margin-top: 13.703vw; }
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	#l-main { margin-top: 90.666px; padding-top: 20.666px; }
	.is-hd_fixed #l-main { margin-top: 49.333px; }
}
@media screen and (min-width: 980px) {
	#l-main { padding-top: 4.071em; }
}

/* header
-------------------------------------------------- */
#header-lang .bogo-language-switcher li.ja { order: 1; }
#header-lang .bogo-language-switcher li.en-US { order: 2; }
#header-lang .bogo-language-switcher li.zh-CN { order: 3; }
@media screen and (max-width: 979px) {
	#l-header { z-index: 300; position: absolute; top: 0; left: 0; width: 100%; height: 25.185vw; background-color: #000; opacity: 1; }
	#l-header.is-fixed { position: fixed; top: 0; height: 13.703vw; opacity: 1; transition: none; animation: header_anime 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
	#header-btn { z-index: 550; position: absolute; top: auto; bottom: 0; right: 5vw; width: 15vw; height: 100%; margin-right: -5vw; cursor: pointer; }
	.is-opened #header-btn { position: fixed; top: 0; bottom: auto; width: 20.185vw; height: 20.185vw; }
	#header-btn span,
	#header-btn::before,
	#header-btn::after { position: absolute; top: calc(73% - 1px); right: 0; left: 0; display: block; width: 5vw; height: 2px; margin: auto; border-radius: 1px; background-color: #fff; text-indent: -9999px; transform-origin: center; }
	.is-fixed #header-btn span,
	.is-fixed #header-btn::before,
	.is-fixed #header-btn::after { top: calc(50% - 1px); }
	#header-btn::before { content: ''; margin-top: -1.667vw; }
	#header-btn::after { content: ''; margin-top: 1.666vw; }
	.is-opened #header-btn span { display: none; }
	.is-opened #header-btn::before,
	.is-opened #header-btn::after { top: calc(50% - 1px); width: 14.629vw; margin-top: 0; background-color: #999; }
	.is-opened #header-btn::before { transform: rotate(45deg); }
	.is-opened #header-btn::after { transform: rotate(-45deg); }
	#header-wrap { position: relative; }
	#header-nav { z-index: 10; overflow-y: auto; position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(255, 255, 255, 0.9); color: #000; transform: translate3d(0, -150vh, 0); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); -webkit-overflow-scrolling: touch; }
	.is-opened #header-nav { transform: translate3d(0, 0, 0); transition-delay: 0s; }
	#header-nav-inner { padding: 43.055vw 0 13.888vw 7.592vw; line-height: 3; }
	#header-nav-main { font-size: 4vw; font-weight: 700; }
	#header-nav-main li:first-child a { width: 5.935vw; background: url(../svg/home_bk.svg) no-repeat 0 43%; background-size: contain; text-indent: -9999px; }
	#header-nav .ft-links { margin-top: 1.018em; font-size: 3vw; font-weight: 500; }
	#header-lang { z-index: 500; position: absolute; top: 4.444vw; right: 5vw; width: auto; }
	#header-lang li { display: none; }
	#header-lang li.current { display: block; color: #ccc; font-size: 3vw; font-weight: 700; letter-spacing: .1em; }
	#header-lang li a { transition: -webkit-text-decoration 0.3s ease; transition: text-decoration 0.3s ease; transition: text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease; }
	#header-lang li.current a { text-decoration: none; }
	.is-fixed #header-lang { display: none; }
	.is-opened #header-lang,
	.is-opened .is-fixed #header-lang,
	.is-opened #header-lang li { display: block; }
	.is-opened #header-lang { position: fixed; top: 24.444vw; }
	.is-opened #header-lang ul { display: flex; justify-content: flex-end; font-size: 4vw; font-weight: 100; }
	.is-opened #header-lang li.current { color: inherit; font-size: inherit; letter-spacing: inherit; }
	.is-opened #header-lang li + li:before,
	.is-opened #header-lang .bogo-language-switcher li.en-US:before { content: '｜'; padding: 0 .27em; color: #ccc; font-weight: 300; }
	.is-opened #header-lang .bogo-language-switcher li.ja:before { display: none; }
	#header-jdc { position: absolute; top: 0; left: 5vw; display: flex; width: auto; height: 25.185vw; align-items: center; }
	#header-jdc a { width: 31.466vw; height: 15.185vw; padding: 0; background: #000 url(../svg/jdc_w_3l.svg) no-repeat 0 0; background-size: contain; text-decoration: none; transition: none; }
	#header-jdc a img { display: none; }
	.is-fixed #header-jdc { height: 13.703vw; }
	.is-fixed #header-jdc a { width: 75.772vw; height: 3.703vw; background-image: url(../svg/jdc_w_1l.svg); }
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	#l-header { height: 90.666px; }
	#l-header.is-fixed { height: 49.333px; }
	#header-btn { width: 54px; margin-right: -18px; }
	#header-btn span,
	#header-btn::before,
	#header-btn::after { width: 18px; }
	#header-btn::before { margin-top: -6px; }
	#header-btn::after { margin-top: 6px; }
	.is-opened #header-btn { width: 72.666px; height: 72.666px; }
	.is-opened #header-btn::before,
	.is-opened #header-btn::after { width: 52.666px; }
	#header-nav-inner { padding: 158.333px; }
	#header-nav-main { font-size: 2.16rem; }
	#header-nav-main li:first-child a { width: 1.5em; }
	#header-nav .ft-links { font-size: 1.62rem; }
	#header-lang { top: 16px; }
	#header-lang li.current { font-size: 10.8px; }
	.is-opened #header-lang { top: 88px; }
	.is-opened #header-lang ul { font-size: 2.16rem; }
	#header-jdc { height: 90.666px; }
	#header-jdc a { width: 113.281px; height: 54.666px; }
	.is-fixed #header-jdc { height: 49.333px; }
	.is-fixed #header-jdc a { width: 272.78px; height: 13.333px; }
}
@media screen and (min-width: 980px) {
	#header-wrap { position: relative; }
	#header-wrap a:hover { opacity: .7; }
	#header-nav { background-color: #000; color: #fff; }
	#header-btn,
	#header-nav .ft-links { display: none; }
	#header-nav-main { display: flex; justify-content: center; align-items: center; height: 41px; margin-left: 1.8em; }
	#header-nav-main li { font-size: 13px; font-weight: 700; }
	#header-nav-main li + li:before { content: '｜'; color: #ccc; }
	#header-nav-main li a { padding: 0 1em; text-decoration: none; }
	#header-nav-main li:first-child a { width: 39px; padding: 0; background: url(../svg/home_w.svg) no-repeat 50% 4px; background-size: 19px 16px; text-indent: -9999px; }
	#header-lang { position: absolute; top: 56px; right: 0; left: 0; margin: 0 auto; }
	#header-lang ul { display: flex; justify-content: flex-end; margin-right: 0.625em; font-size: 16px; font-weight: 100; }
	#header-lang li + li:before,
	#header-lang .bogo-language-switcher li.en-US:before { content: '｜'; padding: 0 .27em; color: #ccc; font-weight: 300; }
	#header-lang .bogo-language-switcher li.ja:before { display: none; }
	#header-lang li.current { font-weight: 700; }
	#header-lang li.current a { text-decoration: none; }
	#header-jdc { margin-top: 80px; }
	#header-jdc a img { width: 100%; opacity: .1; transition: all 0.3s ease; }
	#header-jdc a:hover img { opacity: .4; }
}
@keyframes header_anime {
	0% { opacity: 0; transform: translate3d(0, -13.704vw, 0); }
	100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* footer
-------------------------------------------------- */
#l-footer { margin-top: 7.407vw; font-size: 2.5vw; font-weight: 500; }
#breadcrumb dl { padding: 0.74em 0 1.666em; border-top: solid 1px #ccc; font-size: 3vw; }
#breadcrumb dt { display: none; }
#breadcrumb dd { display: inline; }
#breadcrumb dd a { text-decoration: none; }
#breadcrumb dd a:hover { opacity: .7; }
#breadcrumb dd:first-of-type a { width: 1.203em; background: url(../svg/home_bk.svg) no-repeat 0 50%; background-size: contain; text-indent: -9999px; }
#breadcrumb dd + dd:before { content: '〉'; padding-left: .5em; color: #999; }
#footer-wrap { padding: 3.611vw 0 10vw; background-color: #f2f2f1; }
#footer-sns { display: flex; }
#footer-sns dt { margin: 0.1em 1.875em 0 0; font-size: 4vw; }
#footer-sns .sharebtn li { font-size: 5vw; font-weight: 700; }
#footer-sns_account { display: flex; }
#footer-sns_account li { margin: 4.444vw 6.666vw 0 0; }
#footer-sns_account li img { width: 13.055vw; opacity: 0.6; }
#footer-sns_account li a:hover img { opacity: 1; }
#footer-nav ul.ft-links { margin-top: 5.555vw; font-size: 3vw; }
#footer-wrap .ft-planning { margin-top: 3.888em; line-height: 1.4; }
#footer-wrap .ft-planning p + p { margin-top: 2.222em; }
#footer-wrap .copy { margin-top: 1.777em; }
@media screen and (min-width: 768px) {
	#l-footer { margin-top: 6.666em; font-size: 1.2rem; }
	#breadcrumb dl { padding: 1.062em 0 0.937em; font-size: 1.6rem; }
	#breadcrumb dd:first-of-type a { background-position: 0 40%; }
	#footer-wrap { padding: 2.5em 0; }
	#footer-sns dt { margin: 0 1.2em 0 0; font-size: 2rem; }
	#footer-sns .sharebtn { display: flex; width: 100%; }
	#footer-sns .sharebtn li { margin-right: 1em; font-size: 2rem; }
	#footer-sns_account li { margin: 0.916em 1.666em 0 0; }
	#footer-sns_account li img { width: 4.166em; }
	#footer-nav ul.ft-links { display: flex; width: 100%; margin-top: 2.062em; font-size: 1.6rem; }
	#footer-nav ul.ft-links li { margin-right: 2em; }
	#footer-wrap .ft-planning { margin-top: 3.083em; }
	#footer-wrap .ft-planning p + p { margin-top: 1.166em; }
	#footer-wrap .copy { margin-top: 1.083em; }
}
#totop { display: none; z-index: 200; position: fixed; right: 20px; bottom: 20px; }
#totop a { text-indent: -9999px; display: block; min-width: 40px; min-height: 40px; background-color: rgba(0, 0, 0, 0.8); border-radius: 50%; }
#totop a::before { position: absolute; content: ''; display: block; top: 50%; left: 50%; width: 12px; height: 12px; margin-top: -2px; margin-left: -6px; border-top: 1px solid #fff; border-left: 1px solid #fff; transform: rotate(45deg); }
#totop a:hover { opacity: .7; }

/* module
-------------------------------------------------- */
.image img, .photo img, figure img { width: 100%; height: auto; }
.skip { position: absolute; left: -9999px; }
.left { float: left; }
.right { float: right; }
.clear { clear: both; }
.cf::after { clear: both; content: ''; display: block; }
.txtr { text-align: right; }
.txtc { text-align: center; }
.sp01 { margin-top: .5em; }
.sp02 { margin-top: 1em; }
.sp03 { margin-top: 1.5em; }
.sp04 { margin-top: 2em; }
.sp05 { margin-top: 2.5em; }

/* block */
.grid { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
.grid-ac { display: flex; flex-wrap: wrap; align-items: center; }
.col1-cell > *, .col2-cell > .cell, .col3-cell > .cell, .col4-cell_li > li, .grid-ac > * { width: 100%; }
@media screen and (min-width: 768px) {
	.col2-cell > .cell, .col4-cell_li > li { width: 49.056%; }
	.col3-cell > .cell { width: 32.075%; }
}
@media screen and (min-width: 980px) {
	.col4-cell_li > li { width: 23.584%; }
}

/* link */
.link-ar a { position: relative; display: inline-block; padding-right: 1em; vertical-align: middle; }
.link-ar a::before { position: absolute; content: ''; top: 0; bottom: 0; margin: auto; vertical-align: middle; right: 3px; width: .5em; height: .5em; border-top: 1px solid #000; border-right: 1px solid #000; transform: rotate(45deg); }

/* title */
.title { font-size: 7vw; font-weight: 700; line-height: 1.5; }
.ttls { margin-top: 1.597em; padding-bottom: 0.277em; font-size: 4vw; font-weight: 700; }
@media screen and (max-width: 767px) {
	.ttls { border-top: 1px solid #ccc; }
}
@media screen and (min-width: 768px) {
	.title { font-size: 2.8rem; line-height: 1.8; }
	.ttls { margin-top: 3.083em; font-size: 2.4rem; }
}

/* list */
ol.number li { margin-left: 1em; list-style: outside decimal; text-align: left; }
ul.bullet { padding-left: 1.2em; }
ul.bullet li { list-style-type: disc; }

/* js
-------------------------------------------------- */
html.is-opened body,
html.is-opened-modal body { overflow: hidden; position: fixed; width: 100%; }

/* fade */
.js-fade { opacity: 0; transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.js-fade.is-active { opacity: 1; }
