/* **************************************************************** *
 * @desc@ 共通
 * @edit@ 2025/10/09
 * **************************************************************** */

html {
	font-size: 62.5%;
}

body {
	background: #fae0d3;
	color: #0e392c;
	font-size: 1.5rem;
	line-height: 1.8em;
	font-family: "fot-tsukuaoldmin-pr6n", "Yu Mincho", "游明朝", "YuMincho", "游明朝体", "Noto Sans JP", "メイリオ", Meiryo, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-weight: 500;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
}

a {
	color: #c18522;
	text-decoration: underline;
	transition: all 0.4s;
}

a:hover,
a:active {
	opacity: 0.7;
}

h1,
h2,
h3,
h4,
p,
dl,
dt,
dd,
strong,
em {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	font-style: inherit;
}

ul,
ol,
dl,
dt,
dd {
	list-style: none;
	margin: 0;
	padding: 0;
}

li {
	list-style: inherit;
	margin: 0;
	padding: 0;
}

img {
	outline: none;
	max-width: 100%;
	font-size: 1px !important;
	line-height: 0 !important;
	vertical-align: middle;
}

strong,
em {
	font-weight: inherit;
	font-style: inherit;
}

hr {
	margin: 1em 0;
	border-width: 1px 0 0;
	border-style: dashed;
	border-color: #0e392c;
	width: 100%;
	height: 0;
}

rt {
	position: absolute;
	transform: translateY(0.2em);
}

[data-ruby] {
	display: inline-block;
	position: relative;
}

[data-ruby]:before {
	content: attr(data-ruby);
	position: absolute;
	top: 0.5em;
	left: -10%;
	right: 0;
	z-index: 1;
	margin: auto;
	width: 120%;
	font-size: 0.5em;
	line-height: 1em;
	text-align: center;
	white-space: nowrap;
}

[data-ruby] rt {
	display: none;
}

.emColor01 {
	color: #c18522;
}

.noteColor {
	color: #999;
}

.bold {
	font-weight: 700 !important;
}

.noraml {
	font-weight: 400 !important;
}

.fsS {
	font-size: 0.85em !important;
	line-height: 1.8em;
}

.fsL {
	font-size: 1.7em !important;
	line-height: 1.8em;
}

a.url {
	display: inline-block;
	letter-spacing: 0.05em;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
	vertical-align: baseline;
}

img.border {
	box-sizing: border-box;
	border: 1px solid #0e392c;
}

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

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

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

.dis {
	text-decoration: line-through;
}

.brace {
	text-indent: -0.45em;
}

.wbreak {
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
}

.iblock {
	display: inline-block;
	vertical-align: baseline;
}

.mgtQp {
	margin-top: 7.2px !important;
}

.mgtTp {
	margin-top: 9.6px !important;
}

.mgtHp {
	margin-top: 23.4px !important;
}

.mgt1p {
	margin-top: 28.8px !important;
}

.mgt1Hp {
	margin-top: 43.2px !important;
}

.mgt2p {
	margin-top: 57.6px !important;
}

.mgt2Hp {
	margin-top: 72px !important;
}

.mgt3p {
	margin-top: 86.4px !important;
}

.mgbQp {
	margin-bottom: 7.2px !important;
}

.mgbTp {
	margin-bottom: 9.6px !important;
}

.mgbHp {
	margin-bottom: 14.4px !important;
}

.mgb1p {
	margin-bottom: 28.8px !important;
}

.mgb1Hp {
	margin-bottom: 43.2px !important;
}

.mgb2p {
	margin-bottom: 57.6px !important;
}

.mgb2Hp {
	margin-bottom: 72px !important;
}

.mgb3p {
	margin-bottom: 86.4px !important;
}

.w1 {
	width: 1em !important;
}

.w2 {
	width: 2em !important;
}

.w3 {
	width: 3em !important;
}

.w4 {
	width: 4em !important;
}

.w5 {
	width: 5em !important;
}

.w6 {
	width: 6em !important;
}

.w7 {
	width: 7em !important;
}

.w8 {
	width: 8em !important;
}

.w9 {
	width: 9em !important;
}

.w10 {
	width: 10em !important;
}

.w11 {
	width: 11em !important;
}

.w12 {
	width: 12em !important;
}

.w13 {
	width: 13em !important;
}

.w14 {
	width: 14em !important;
}

.w15 {
	width: 15em !important;
}

.w16 {
	width: 16em !important;
}

.w17 {
	width: 17em !important;
}

.w18 {
	width: 18em !important;
}

.w19 {
	width: 19em !important;
}

.w20 {
	width: 20em !important;
}

.w21 {
	width: 21em !important;
}

.w22 {
	width: 22em !important;
}

.w23 {
	width: 23em !important;
}

.w24 {
	width: 24em !important;
}

.w25 {
	width: 25em !important;
}

.w26 {
	width: 26em !important;
}

.w27 {
	width: 27em !important;
}

.w28 {
	width: 28em !important;
}

.w29 {
	width: 29em !important;
}

.w30 {
	width: 30em !important;
}

.button {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	border: 1px solid #0e392c;
	border-radius: 41px;
	background-color: #c18522;
	padding: 0 50px;
	width: 100%;
	max-width: 462px;
	height: 82px;
	color: #0e392c;
	font-size: 2.6rem;
	letter-spacing: 0.1em;
	font-weight: 600;
	line-height: 1.4em;
	text-align: center;
	cursor: pointer;
	transition: all 0.4s;
	text-decoration: none;
}

.button::before,
.button::after {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.4s;
}

.button::before {
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background-size: 100%;
	background-position: top left;
	background-repeat: no-repeat;
	background-image: url(../img/btn_ico_blank.png);
	z-index: 1;
}

.button::after {
	top: -6px;
	left: -6px;
	width: 100%;
	height: 100%;
	border: 1px solid #0e392c;
	border-radius: 41px;
	pointer-events: none;
	z-index: 2;
}

.button.off {
	opacity: 0.6;
}

.button:not(.off) {
	cursor: pointer;
}

.button:not(.off):hover {
	opacity: 1;
	transform: translate(-6px, -6px);
}

.button:not(.off):hover::after {
	top: 0;
	left: 0;
	border-color: transparent;
}

.buttonWrapper {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	margin: 0 auto;
	width: 100%;
	max-width: 1180px;
}

.buttonWrapper > li {
	width: 100%;
}

.buttonWrapper.c2 > li {
	margin-right: 40px;
	width: calc((100% - 40px) / 2);
}

.buttonWrapper.c2 > li:nth-of-type(2) {
	margin-right: 0;
}

.buttonWrapper.c3 > li {
	margin-right: 30px;
	width: calc((100% - 60px) / 3);
}

.buttonWrapper.c3 > li:nth-of-type(3) {
	margin-right: 0;
}

.buttonWrapper .button {
	display: flex;
}

table.def {
	border-bottom: 1px solid #0e392c;
	width: 100%;
	text-align: left;
}

table.def th,
table.def td {
	border-top: 1px solid #0e392c;
	padding: 27px 0;
	line-height: 2.3em;
	font-weight: 500;
	box-sizing: border-box;
}

table.def th {
	color: #fbe2d5;
	font-size: 1.3em;
	line-height: 1.7em;
	letter-spacing: 0.1em;
	vertical-align: top;
	min-width: 160px;
}

table.def th .head {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0e392c;
	min-width: 120px;
	width: -moz-fit-content;
	width: fit-content;
	height: 40px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 3px 10px;
	text-align: center;
	position: relative;
}

table.def th .head::before,
table.def th .head::after {
	content: "";
	position: absolute;
	top: 0;
	z-index: -1;
	width: 20px;
	height: 40px;
	background-size: 100%;
	background-position: top left;
	background-repeat: no-repeat;
}

table.def th .head::before {
	left: -20px;
	background-image: url(../img/deco_left_g.png);
}

table.def th .head::after {
	right: -20px;
	background-image: url(../img/deco_right_g.png);
}

table.def td {
	position: relative;
	padding-left: 14px;
}

table.def td p,
table.def td span {
	font-size: 1.3em;
	letter-spacing: 0.106em;
}

table.def td section {
	box-sizing: border-box;
}

table.def td section:not(:first-child) {
	padding-top: 20px;
	border-top: #0e392c dashed 1px;
}

table.def .fsL {
	letter-spacing: 0.09em;
}

table.def ul {
	font-size: 1.1em;
	line-height: 1.8em;
	letter-spacing: 0.045em;
}

ul.def {
	font-size: inherit;
	line-height: 1.6em;
	text-align: left;
}

ul.def > li {
	position: relative;
	z-index: 1;
	padding-left: 1em;
}

ul.def > li::before {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

ul.def > li:not(:first-child) {
	margin-top: 0.2em;
}

ul.def.disc > li::before {
	content: "・";
}

ul.def.asta > li::before {
	content: "※";
}

ul.def.circle > li::before {
	content: "";
	margin: 0.45em 0.15em 0 0.15em;
	border-radius: 100%;
	width: 0.6em;
	height: 0.6em;
	background: #0e392c;
}

ul.def.ex > li {
	padding-left: 2.4em;
}

ul.def.ex > li::before {
	content: "（例）";
}

ul.rp {
	font-size: inherit;
	line-height: 1.6em;
	text-align: center;
}

ul.rp > li {
	position: relative;
	z-index: 1;
}

ul.rp > li::before {
	display: inline-block;
	position: relative;
	left: 0;
	top: 0;
	z-index: -1;
	vertical-align: baseline;
}

ul.rp.disc > li::before {
	content: "・";
}

ul.rp.asta > li::before {
	content: "※";
}

ul.rp.circle > li::before {
	content: "";
	margin-right: 0.15em;
	border-radius: 100%;
	width: 0.6em;
	height: 0.6em;
	background: #0e392c;
}

ul.rp.ex > li::before {
	content: "（例）";
}

dl.def {
	border-width: 1px 0;
	border-style: solid;
	border-color: #0e392c;
	padding: 30px 0;
	text-align: left;
}

dl.def > dt {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0e392c;
	width: -moz-fit-content;
	width: fit-content;
	height: 50px;
	color: #fbe2d5;
	font-size: 2em;
	line-height: 1em;
	letter-spacing: 0.06em;
	margin: 0 auto 24px;
	box-sizing: border-box;
	padding: 3px 28px;
	text-align: center;
	position: relative;
}

dl.def > dt::before,
dl.def > dt::after {
	content: "";
	position: absolute;
	top: 0;
	z-index: -1;
	width: 26px;
	height: 50px;
	background-size: 100%;
	background-position: top left;
	background-repeat: no-repeat;
}

dl.def > dt::before {
	left: -26px;
	background-image: url(../img/deco_left_g.png);
}

dl.def > dt::after {
	right: -26px;
	background-image: url(../img/deco_right_g.png);
}

dl.def > dd {
	font-size: 1.4em;
	line-height: 1.7em;
	letter-spacing: 0.04em;
	text-align: center;
}

dl.def > dd:not(:last-child) {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-width: 0 0 1px;
	border-style: solid;
	border-color: #0e392c;
}

.message {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
	background: #fff;
	color: #e6e6e6;
}

.message::after {
	content: "NOW PRINTING";
	font-size: 2.4rem;
	line-height: 1.2em;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.picBox {
	background: #fff;
}

.picBox > div {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	position: relative;
	z-index: 1;
	padding: 30px;
	text-align: center;
}

.picBox > div::before {
	content: "";
	position: absolute;
	left: 30px;
	top: 0;
	width: calc(100% - 60px);
	border-top: 2px dashed #ccc;
}

.picBox > div:first-child::before {
	border-top: none;
}

.picBox > div.np {
	min-height: 300px;
}

.picBox > div > div {
	vertical-align: middle;
}

.picBox > div > div.f {
	flex-basis: 100%;
}

.picBox > div > div.h {
	flex-basis: 50%;
}

.picBox > div > div.t {
	flex-basis: 33.3%;
}

.picBox > div > div.q {
	flex-basis: 25%;
}

.borderBox {
	border: 1px solid #999;
	padding: 20px 30px;
	background: rgba(255, 255, 255, 0.1);
	text-align: left;
}

.borderBox.fsS {
	padding: 15px 25px;
}

.borderBox.cl01 {
	border-color: #0e392c;
}

.borderBox.cl02 {
	border-color: #c18522;
}

.bgBox {
	text-align: left;
}

.bgBox > h1 {
	border-radius: 10px 10px 0 0;
	padding: 10px 50px;
	background: #0e392c;
	color: #fff;
	font-size: 1.9em;
	line-height: 1.2em;
	text-align: center;
}

.bgBox > .body {
	border-radius: 0 0 10px 10px;
	padding: 40px 50px;
	background: rgba(14, 57, 44, 0.2);
}

.normal-slider,
.modal-slider {
	overflow: hidden;
	box-sizing: border-box;
	border: 1px solid #0e392c;
	background: #fff;
}

.normal-slider .slick-dots,
.modal-slider .slick-dots {
	position: absolute;
	left: 0;
	bottom: 14px;
	z-index: 100;
	width: 100%;
	line-height: 0;
	text-align: center;
}

.normal-slider .slick-dots > li,
.modal-slider .slick-dots > li {
	display: inline-block;
	margin: 0 3px;
}

.normal-slider .slick-dots > li > button,
.modal-slider .slick-dots > li > button {
	opacity: 0.3;
	overflow: hidden;
	outline: none;
	border: none;
	border-radius: 50%;
	padding: 0;
	width: 10px;
	height: 10px;
	background: #c18522;
	font-size: 1px;
	text-indent: -9999px;
	transition: opacity 0.4s;
}

.normal-slider .slick-dots > li > button:hover,
.modal-slider .slick-dots > li > button:hover {
	opacity: 1;
}

.normal-slider .slick-dots > li.slick-active > button,
.modal-slider .slick-dots > li.slick-active > button {
	opacity: 1;
}

#Cover {
	overflow: hidden;
	display: flex;
	flex-direction: columng;
	justify-content: center;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 52000;
	width: 100%;
	height: 100%;
}

#Cover::before,
#Cover::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: #fae0d3;
	background-image: url(../img/bg_noise_b01.jpg);
	background-size: 300px 300px;
	background-position: top left;
	background-repeat: repeat;
	transition: all 0.2s ease-out 0.2s;
}

#Cover::before {
	transform-origin: 50% 0;
}

#Cover::after {
	transform-origin: 50% 100%;
}

#Cover img {
	transition: all 0.3s cubic-bezier(0.48, -1.2, 1, -0.04) 0.05s;
}

#Cover.out::before,
#Cover.out::after {
	transform: scaleY(0);
}

#Cover.out img {
	opacity: 0;
	transform: scale(0);
}

#Wrap > header {
	box-sizing: border-box;
	position: fixed;
	z-index: 50300;
}

#Wrap > header > nav {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	left: 70px;
	top: 0;
	rotate: 90deg;
	transform-origin: left top;
	z-index: 50100;
	width: 100vh;
	height: 70px;
	background: transparent;
}

#Wrap > header > nav > ul {
	display: inline-flex;
	flex-flow: row nowrap;
}

#Wrap > header > nav > ul > li {
	font-size: 0.96em;
	line-height: 1em;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	text-align: center;
	transition: all 0.4s;
}

#Wrap > header > nav > ul > li:not(:first-child) {
	margin-left: 19px;
}

#Wrap > header > nav > ul > li > a,
#Wrap > header > nav > ul > li > span {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	z-index: 1;
	color: #0e392c;
	text-decoration: none;
}

#Wrap > header > nav > ul > li.cur > a,
#Wrap > header > nav > ul > li:not(.cur) > a:hover {
	color: #c18522;
}

#Wrap > header > nav > ul > li > span {
	opacity: 0.4;
}

#Wrap > footer {
	box-sizing: border-box;
	position: relative;
	z-index: 50010;
	padding: 60px 0;
	position: relative;
	text-align: center;
	background: #0e392c;
	color: #fff;
	text-align: center;
}

#Wrap > footer .share {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
}

#Wrap > footer .share > dt {
	font-size: 1.4em;
	line-height: 1em;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
}

#Wrap > footer .share > dd .bro-snsbox > div > div {
	margin: 0 0 0 20px;
}

#Wrap > footer .share > dd .bro-snsbox.bro-circle-view > div > div {
	width: 50px !important;
}

#Wrap > footer .share > dd a {
	transition: opacity 0.3s;
}

#Wrap > footer .share > dd a:hover {
	opacity: 0.7;
}

#Wrap > footer .banners {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin: 40px 0;
	text-align: center;
}

#Wrap > footer .banners > li {
	margin: 0 10px;
	width: 300px;
}

#Wrap > footer .banners a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border: 1px solid #fff;
	border-radius: 41px;
	background-color: #c18522;
	padding: 0 50px;
	width: 100%;
	height: 82px;
	line-height: 0;
	text-align: center;
	cursor: pointer;
	transition: all 0.4s;
	text-decoration: none;
}

#Wrap > footer .banners a::before,
#Wrap > footer .banners a::after {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.4s;
}

#Wrap > footer .banners a::before {
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background-size: 100%;
	background-position: top left;
	background-repeat: no-repeat;
	background-image: url(../img/btn_ico_blank.png);
	z-index: 1;
}

#Wrap > footer .banners a::after {
	top: -6px;
	left: -6px;
	width: 100%;
	height: 100%;
	border: 1px solid #fff;
	border-radius: 41px;
	pointer-events: none;
	z-index: 2;
}

#Wrap > footer .banners a:not(.off) {
	cursor: pointer;
}

#Wrap > footer .banners a:not(.off):hover {
	opacity: 1;
	transform: translate(-6px, -6px);
}

#Wrap > footer .banners a:not(.off):hover::after {
	top: 0;
	left: 0;
	border-color: transparent;
}

#Wrap > footer .banners a img {
	width: auto;
	height: 42px;
}

#Wrap > footer .caution {
	margin-bottom: 2px;
	font-size: 0.85em;
	line-height: 1.4em;
	letter-spacing: 0.03em;
}

#Wrap > footer .copy {
	font-size: 0.7em;
	line-height: 1.8em;
	letter-spacing: 0.17em;
	text-indent: 0.17em;
}

#Wrap {
	position: relative;
	z-index: 10000;
	margin: 0 auto;
	padding: 0;
}

#Container {
	position: relative;
	z-index: 100;
}

#Container > section {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	padding: 192px 130px;
	background-image: url(../img/bg_noise_b01.jpg);
	background-size: 300px 300px;
	background-position: top left;
	background-repeat: repeat;
	overflow: hidden;
}

#Container > section:nth-child(even) {
	background-image: url(../img/bg_noise_b02.jpg);
}

#Container > section > article {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	width: 100%;
	max-width: 1020px;
}

#Container > section > article.scrollShowTarget .scrollShowTarget {
	opacity: 0;
	transform: translateY(10px);
	transition: transform 0.3s ease-out, opacity 0.2s ease-in;
}

#Container > section > article.scrollShowTarget .scrollShowTarget.scrollShow {
	opacity: 1;
	transform: translateY(0);
}

.h01 {
	position: relative;
	margin-bottom: 50px;
	text-align: center;
	color: #0e392c;
}

.h01 .ja,
.h01 .en {
	display: block;
}

.h01 .ja {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	text-indent: 0;
	letter-spacing: 0.2em;
}

.h01 .en {
	position: relative;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 7rem;
	line-height: 1;
	letter-spacing: 0.2em;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 18px;
	text-indent: 0.2em;
}

.h01 .en.small {
	font-size: 6rem;
}

.news {
	position: absolute;
	right: 1px;
	top: 0;
	z-index: 50150;
	width: 86px;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: transparent;
	box-sizing: border-box;
	padding: 10px;
}

.news .news_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
}

.news .icon {
	display: block;
	width: 12px;
	height: 10px;
	margin-bottom: 18px;
	background-image: url(../img/btn_update_open.png);
	background-size: 100% 100%;
	background-position: top left;
	background-repeat: no-repeat;
	transition: all 0.3s ease-out;
}

.news .head {
	display: block;
	position: relative;
	color: #0e392c;
	font-size: 1em;
	line-height: 1em;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.07em;
	position: relative;
	writing-mode: vertical-rl;
}

#Main {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	left: 0;
	top: 0;
	z-index: 500;
	width: 100%;
	min-height: 100vh;
}

#Main > .inner {
	display: block;
	position: relative;
	box-sizing: border-box;
	z-index: 10;
	width: 100%;
	height: 100%;
	padding: 80px 0 40px;
	background-image: url(../img/bg_noise_b01.jpg);
	background-size: 300px 300px;
	background-position: top left;
	background-repeat: repeat;
	transition: all 0.4s linear;
}

#Main > .inner:after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 58%;
	left: 0;
	bottom: 0;
	background-image: url(../img/bg_noise_b02.jpg);
	background-size: 300px 300px;
	background-position: top left;
	background-repeat: repeat;
}

#Main .visual {
	width: calc(100% - 200px);
	line-height: 0;
	margin: 0 auto;
}

#Main .visual img {
	height: 100%;
}

#Main .logo,
#Main .date {
	position: absolute;
	display: block;
	width: 100%;
}

#Main .logo img,
#Main .date img {
	width: 100%;
}

#Main .logo {
	margin-bottom: 40px;
	max-width: 300px;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
}

#Main .date {
	max-width: 240px;
	right: 60px;
	bottom: 100px;
	z-index: 2;
}

#Container > #About article .item {
	position: relative;
	margin-bottom: 30px;
}

#Container > #About article .item:last-child {
	margin-bottom: 0;
}

#Container > #About article .txt {
	display: block;
	font-size: 1.4em;
	line-height: 1.9em;
	font-weight: 500;
	letter-spacing: 0.04em;
}

#Container > #About article .img {
	width: 260px;
	height: 460px;
	position: absolute;
	overflow: hidden;
	transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-duration: 2s;
	z-index: -1;
}

#Container > #About article .img._img01 {
	left: 88%;
	bottom: -88%;
}

#Container > #About article .img._img02 {
	right: 88%;
	bottom: -100%;
}

#Container > #About article .img img {
	width: 100%;
	position: relative;
	bottom: 15%;
}

#Container > #Outline article .h01 {
	margin-bottom: 60px;
}

#Container > #Exhibition > article {
	max-width: none;
}

#Container > #Exhibition .contents {
	width: 100%;
	max-width: 1020px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0;
}

#Container > #Exhibition .contents p {
	font-size: 1.5em;
}

#Container > #Exhibition .contents .annotation {
	position: relative;
	font-size: 0.5em;
	top: 4px;
}

#Container > #Exhibition .contents ul.def {
	width: -moz-fit-content;
	width: fit-content;
	margin: 5px auto 0;
}

.fixed-bg {
	position: relative;
	min-height: 100%;
	clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
	background-color: transparent;
	z-index: 2;
	height: 300px;
}

.fixed-bg::before {
	content: "";
	z-index: -1;
	inset: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-image: url(../img/about_img03_pc.jpg);
}

#Container > #Goods article .lineup {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px;
	position: relative;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	text-align: left;
	padding: 30px 0;
	border-top: #0e392c solid 1px;
	border-bottom: #0e392c solid 1px;
	overflow: hidden;
}

#Container > #Goods article .lineup > section {
	position: relative;
	z-index: 1;
	width: 100%;
}

#Container > #Goods article .lineup > section:hover {
	opacity: 0.5;
}

#Container > #Goods article .lineup > section::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -30px;
	width: 1px;
	height: 100%;
	background-color: #0e392c;
}

#Container > #Goods article .lineup > section:nth-child(3n+1)::before {
	display: none;
}

#Container > #Goods article .lineup > section:nth-child(3n+4)::after {
	content: "";
	display: block;
	position: absolute;
	top: -31px;
	left: 0;
	width: 100vw;
	min-width: 1200px;
	height: 1px;
	background-color: #0e392c;
}

#Container > #Goods article .lineup .pic {
	margin-bottom: 21px;
}

#Container > #Goods article .lineup .pic .np {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 280px;
	background: #eee;
}

#Container > #Goods article .lineup .pic .np::before {
	content: "Now Printing";
	opacity: 0.1;
	font-size: 1.4em;
	line-height: 1em;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
}

#Container > #Goods article .lineup .name {
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.7em;
	letter-spacing: 0.03em;
	margin-bottom: 20px;
}

#Container > #Goods article .lineup .bottoms {
	z-index: 1;
}

#Container > #Goods article .lineup .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #c18522;
	width: -moz-fit-content;
	width: fit-content;
	height: 30px;
	color: #fbe2d5;
	font-size: 1em;
	line-height: 1em;
	letter-spacing: 0.06em;
	white-space: nowrap;
	margin-left: 15px;
	margin-bottom: 10px;
	box-sizing: border-box;
	padding: 3px 5px;
	text-align: center;
	position: relative;
}

#Container > #Goods article .lineup .icon::before,
#Container > #Goods article .lineup .icon::after {
	content: "";
	position: absolute;
	top: 0;
	z-index: -1;
	width: 15px;
	height: 30px;
	background-size: 100%;
	background-position: top left;
	background-repeat: no-repeat;
}

#Container > #Goods article .lineup .icon::before {
	left: -15px;
	background-image: url(../img/deco_left_o.png);
}

#Container > #Goods article .lineup .icon::after {
	right: -15px;
	background-image: url(../img/deco_right_o.png);
}

#Container > #Goods article .lineup .price {
	font-size: 1.4em;
	line-height: 1em;
	letter-spacing: 0.03em;
}

#Container > #Novelty article > section {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 30px 0;
	border-top: #0e392c solid 1px;
	border-bottom: #0e392c solid 1px;
}

#Container > #Novelty article > section > .pic {
	width: 460px;
}

#Container > #Novelty article > section > .desc {
	width: calc(100% - 460px - 40px);
	font-size: 1.4em;
	line-height: 1.8em;
	letter-spacing: 0.05em;
	text-align: left;
	position: relative;
	top: -20px;
}

#Container > #WebStore .btn_container {
	width: 100%;
}

#Container > #WebStore .button {
	margin: 0 auto;
}

body.modal {
	overflow: hidden;
}

body.modal #Wrap {
	filter: blur(4px);
}

body.modal .news {
	pointer-events: none;
}

body.modal .news .news_inner .icon {
	background-image: url(../img/btn_update_close.png);
}

.modalPic,
[data-modal-pic],
[data-modal-page] {
	cursor: pointer;
}

img.modalPic {
	transition: opacity 0.4s;
}

img.modalPic:hover {
	opacity: 0.6;
}

#Popup {
	display: none;
}

#Modal {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 50100;
	width: 100%;
	height: 100%;
}

#Modal::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.7;
	z-index: -1;
	background-image: url(../img/bg_noise_b01.jpg);
	background-size: 300px 300px;
	background-position: top left;
	background-repeat: repeat;
}

#Modal > .inner {
	box-sizing: border-box;
	overflow: auto;
	position: relative;
	z-index: 10;
	width: 100%;
	padding: 165px 50px;
	max-height: 100%;
}

#Modal > .inner > * {
	opacity: 0;
	filter: blur(8px);
	transition: all 0.3s ease-out;
}

#Modal > .inner.show > * {
	opacity: 1;
	transform: translateY(0);
	filter: blur(0);
}

#Modal > .inner:has(.update).show .inlineBox {
	right: 86px;
}

#Modal > .inner:has(.update) .inlineBox {
	position: fixed;
	top: 50px;
	right: -626px;
	width: 476px;
	height: calc(100% - 100px);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	padding: 225px 14px 125px 60px;
	filter: none !important;
}

#Modal > .inner:has(.update) .inlineBox::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 100%;
	width: 86px;
	height: 100%;
	background: #fff;
	pointer-events: none;
}

#Modal > .inner:has(.update) .inlineBox + .close {
	display: none;
}

#Modal .close {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 44px;
	right: 37px;
	width: 82px;
	height: 82px;
	border: 1px solid #0e392c;
	border-radius: 50%;
	background-color: #c18522;
	padding: 0;
	text-indent: -9999px;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	transition: all 0.4s;
	text-decoration: none;
	z-index: 2;
}

#Modal .close::before,
#Modal .close::after {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.4s;
}

#Modal .close::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 32px;
	height: 32px;
	background-size: 100%;
	background-position: top left;
	background-repeat: no-repeat;
	background-image: url(../img/btn_modal_close.png);
	z-index: 1;
}

#Modal .close::after {
	top: -5px;
	left: -5px;
	width: 100%;
	height: 100%;
	border: 1px solid #0e392c;
	border-radius: 50%;
	pointer-events: none;
	z-index: 2;
}

#Modal .close:hover {
	opacity: 1;
	transform: translate(-5px, -5px);
}

#Modal .close:hover::after {
	top: 0;
	left: 0;
	border-color: transparent;
}

#Modal .pictBox {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	margin: 0;
	padding: 20px 60px;
	width: 100%;
	background: #fae0d3;
	line-height: 0;
	text-align: center;
}

#Modal .inlineBox {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	padding: 50px 140px;
	max-width: 1300px;
	background: #fff;
	text-align: left;
	border-radius: 60px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
}

#Modal .inlineBox .h01 {
	margin-bottom: 43px;
}

#Modal .inlineBox .h01 .ja {
	font-size: 2rem;
	text-indent: 0.4em;
	letter-spacing: 0.4em;
	margin-bottom: -2px;
}

#Modal .inlineBox .h01 .en {
	font-size: 4rem;
	min-width: auto;
	text-indent: 0.4em;
	letter-spacing: 0.4em;
}

#Modal .inlineBox.item > .layout {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	padding: 30px 0;
}

#Modal .inlineBox.item > .layout > .pic {
	width: 460px;
}

#Modal .inlineBox.item > .layout > .pic .np {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 400px;
	background: #eee;
}

#Modal .inlineBox.item > .layout > .pic .np::before {
	content: "Now Printing";
	opacity: 0.1;
	font-size: 2em;
	line-height: 1em;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
}

#Modal .inlineBox.item > .layout > .desc {
	width: calc(100% - 480px - 40px);
}

#Modal .inlineBox.item > .layout .name {
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.7em;
	letter-spacing: 0.1em;
	color: #0e392c;
	margin-bottom: 18px;
}

#Modal .inlineBox.item > .layout .price {
	font-size: 1.4em;
	line-height: 1em;
	letter-spacing: 0.03em;
}

#Modal .inlineBox.item > .layout .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #c18522;
	width: -moz-fit-content;
	width: fit-content;
	height: 30px;
	color: #fbe2d5;
	font-size: 1em;
	line-height: 1em;
	letter-spacing: 0.06em;
	white-space: nowrap;
	margin-left: 15px;
	box-sizing: border-box;
	padding: 3px 5px;
	text-align: center;
	position: relative;
}

#Modal .inlineBox.item > .layout .icon::before,
#Modal .inlineBox.item > .layout .icon::after {
	content: "";
	position: absolute;
	top: 0;
	z-index: -1;
	width: 15px;
	height: 30px;
	background-size: 100%;
	background-position: top left;
	background-repeat: no-repeat;
}

#Modal .inlineBox.item > .layout .icon::before {
	left: -15px;
	background-image: url(../img/deco_left_o.png);
}

#Modal .inlineBox.item > .layout .icon::after {
	right: -15px;
	background-image: url(../img/deco_right_o.png);
}

#Modal .inlineBox.item > .layout table.spec {
	border-bottom: 1px solid #0e392c;
	width: 100%;
	text-align: left;
}

#Modal .inlineBox.item > .layout table.spec tr {
	display: block;
	border-top: 1px solid #0e392c;
	padding: 10px 0;
}

#Modal .inlineBox.item > .layout table.spec th,
#Modal .inlineBox.item > .layout table.spec td {
	display: block;
	font-size: 1em;
	line-height: 2em;
	letter-spacing: 0.01em;
	font-weight: 400;
}

#Modal .inlineBox.item > .layout table.spec th {
	color: #0e392c;
	vertical-align: top;
	font-size: 1.3em;
}

#Modal .inlineBox.update ul {
	overflow: auto;
	max-width: 800px;
	margin: 0 auto;
	height: 390px;
}

#Modal .inlineBox.update ul > li {
	box-sizing: border-box;
	padding: 1.9em 0 1.6em;
	border-top: 1px solid #0e392c;
}

#Modal .inlineBox.update ul > li:last-child {
	border-bottom: 1px solid #0e392c;
}

#Modal .inlineBox.update ul > li .date {
	margin-bottom: 0.5em;
	font-size: 1em;
	line-height: 1em;
	font-family: "gill-sans-nova", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: #c18522;
	letter-spacing: 0.03em;
}

#Modal .inlineBox.update ul > li .data {
	overflow: hidden;
	width: 100%;
	font-size: 1.05em;
	line-height: 1.7em;
	letter-spacing: 0.013em;
}

@media screen and (min-width: 901px) {

.sp {
	display: none !important;
}

}

@media screen and (min-width: 961px) {

.w1.pcbreak,
.w2.pcbreak,
.w3.pcbreak,
.w4.pcbreak,
.w5.pcbreak,
.w6.pcbreak,
.w7.pcbreak,
.w8.pcbreak,
.w9.pcbreak,
.w10.pcbreak,
.w11.pcbreak,
.w12.pcbreak,
.w13.pcbreak,
.w14.pcbreak,
.w15.pcbreak,
.w16.pcbreak,
.w17.pcbreak,
.w18.pcbreak,
.w19.pcbreak,
.w20.pcbreak,
.w21.pcbreak,
.w22.pcbreak,
.w23.pcbreak,
.w24.pcbreak,
.w25.pcbreak,
.w26.pcbreak,
.w27.pcbreak,
.w28.pcbreak,
.w29.pcbreak,
.w30.pcbreak {
	width: auto !important;
}

}

@media screen and (max-width: 900px) {

body {
	font-size: 2.2rem;
	line-height: 1.8em;
}

hr {
	border-width: 2px 0 0;
	border-style: dotted;
	border-color: #000;
}

.fsS {
	font-size: 0.9em !important;
	line-height: 1.8em;
}

.fsL {
	font-size: 1.5em !important;
	line-height: 1.5em;
}

.pc {
	display: none !important;
}

.mgtQp {
	margin-top: 10.8px !important;
}

.mgtTp {
	margin-top: 14.4px !important;
}

.mgtHp {
	margin-top: 30.6px !important;
}

.mgt1p {
	margin-top: 43.2px !important;
}

.mgt1Hp {
	margin-top: 64.8px !important;
}

.mgt2p {
	margin-top: 86.4px !important;
}

.mgt2Hp {
	margin-top: 108px !important;
}

.mgt3p {
	margin-top: 129.6px !important;
}

.mgbQp {
	margin-bottom: 10.8px !important;
}

.mgbTp {
	margin-bottom: 14.4px !important;
}

.mgbHp {
	margin-bottom: 21.6px !important;
}

.mgb1p {
	margin-bottom: 43.2px !important;
}

.mgb1Hp {
	margin-bottom: 64.8px !important;
}

.mgb2p {
	margin-bottom: 86.4px !important;
}

.mgb2Hp {
	margin-bottom: 108px !important;
}

.mgb3p {
	margin-bottom: 129.6px !important;
}

.w1.spbreak,
.w2.spbreak,
.w3.spbreak,
.w4.spbreak,
.w5.spbreak,
.w6.spbreak,
.w7.spbreak,
.w8.spbreak,
.w9.spbreak,
.w10.spbreak,
.w11.spbreak,
.w12.spbreak,
.w13.spbreak,
.w14.spbreak,
.w15.spbreak,
.w16.spbreak,
.w17.spbreak,
.w18.spbreak,
.w19.spbreak,
.w20.spbreak,
.w21.spbreak,
.w22.spbreak,
.w23.spbreak,
.w24.spbreak,
.w25.spbreak,
.w26.spbreak,
.w27.spbreak,
.w28.spbreak,
.w29.spbreak,
.w30.spbreak {
	width: auto !important;
}

.button {
	display: flex;
	border-width: 2px;
	max-width: 624px;
	height: 116px;
	border-radius: 58px;
	margin: 0 auto;
	font-size: 3.7rem;
	line-height: 1.2em;
}

.button::before {
	right: 40px;
	width: 28px;
	height: 28px;
}

.button::after {
	border-width: 2px;
	top: -12px;
	left: -12px;
	border-radius: 58px;
}

.button:not(.off):hover {
	transform: none;
}

.button:not(.off):hover::after {
	top: -12px;
	left: -12px;
	border-color: #0e392c;
}

.buttonWrapper {
	flex-direction: column;
}

.buttonWrapper > li {
	margin: 40px 0 0 !important;
	width: 100% !important;
}

.buttonWrapper > li:first-child {
	margin-top: 0 !important;
}

table.def {
	display: block;
	border-bottom-width: 2px;
}

table.def tbody,
table.def tr,
table.def th,
table.def td {
	display: block;
}

table.def tr {
	border-top: 2px solid #0e392c;
	padding: 40px 0 21px;
}

table.def th,
table.def td {
	border-top: none;
	padding: 0;
}

table.def th {
	font-size: 1.4em;
	margin-bottom: 19px;
	width: auto !important;
	min-width: auto;
}

table.def th .head {
	height: 60px;
	min-width: 180px;
	margin-left: 30px;
	padding: 3px 10px;
}

table.def th .head::before,
table.def th .head::after {
	width: 30px;
	height: 60px;
}

table.def th .head::before {
	left: -29px;
}

table.def th .head::after {
	right: -29px;
}

table.def td p,
table.def td span {
	font-size: 1.2em;
	letter-spacing: 0.06em;
	line-height: 1.5em;
}

table.def td section:not(:first-child) {
	padding-top: 16px;
	border-width: 2px;
}

table.def .fsL {
	letter-spacing: 0.08em;
}

table.def ul {
	font-size: 1.2em;
	line-height: 1.8em;
}

table.def ul.spmini {
	font-size: 1em;
	margin-top: 15px;
	letter-spacing: 0;
	line-height: 1.5em;
}

ul.rp {
	text-align: left;
}

ul.rp > li {
	padding-left: 1em;
}

ul.rp > li::before {
	position: absolute;
}

ul.rp.circle > li::before {
	margin: 0.45em 0.15em 0 0.15em;
}

ul.rp.ex > li {
	padding-left: 2.4em;
}

dl.def {
	padding: 1.8em 0;
}

dl.def {
	border-width: 2px 0;
}

dl.def > dt {
	height: 60px;
	font-size: 1.5em;
	line-height: 1em;
	letter-spacing: 0.05em;
	margin: 0 auto 19px;
	padding: 3px 18px;
}

dl.def > dt::before,
dl.def > dt::after {
	width: 30px;
	height: 60px;
}

dl.def > dt::before {
	left: -29px;
}

dl.def > dt::after {
	right: -29px;
}

dl.def > dd {
	font-size: 1.4em;
	line-height: 1.6em;
	letter-spacing: 0.1em;
}

dl.def > dd:not(:last-child) {
	margin-bottom: 1.3em;
	padding-bottom: 1em;
	border-width: 0 0 2px;
}

.message {
	border-width: 2px;
}

.picBox > div {
	padding: 30px 10px;
}

.picBox > div > div.t,
.picBox > div > div.q {
	flex-basis: 50%;
}

.borderBox {
	border-width: 2px;
	padding: 30px 40px !important;
}

.bgBox > h1 {
	padding: 25px 40px;
	font-size: 1.7em;
	line-height: 1.2em;
}

.bgBox > .body {
	padding: 60px 40px;
}

.normal-slider,
.modal-slider {
	border-width: 2px;
}

.normal-slider .slick-dots,
.modal-slider .slick-dots {
	bottom: 18px;
}

.normal-slider .slick-dots > li > button,
.modal-slider .slick-dots > li > button {
	width: 15px;
	height: 15px;
}

.normal-slider .slick-dots > li:not(.slick-active) > button:hover,
.modal-slider .slick-dots > li:not(.slick-active) > button:hover {
	opacity: 0.3;
}

#Wrap > header {
	height: 0;
	position: absolute;
	z-index: unset;
}

#Wrap > header .open {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 40px;
	top: 0;
	z-index: 50011;
	width: 100px;
	height: 120px;
	background-image: url(../img/btn_menu_base.png);
}

#Wrap > header > nav {
	opacity: 0;
	left: 0;
	rotate: none;
	transform-origin: unset;
	overflow: auto;
	z-index: -1;
	display: block;
	padding: 20px;
	width: 100%;
	height: 100%;
}

#Wrap > header > nav::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-image: url(../img/bg_noise_b01.jpg);
	background-size: 300px 300px;
	background-position: top left;
	background-repeat: repeat;
	z-index: -1;
	opacity: 0.7;
}

#Wrap > header > nav .close {
	position: fixed;
	right: 40px;
	top: 0;
	z-index: 100;
	width: 100px;
	height: 120px;
	background-image: url(../img/btn_menu_base.png);
}

#Wrap > header > nav > ul {
	display: block;
	padding: 110px 0;
	width: 100%;
}

#Wrap > header > nav > ul > li {
	margin: 53px 0;
	font-size: 2.3em;
	line-height: 1em;
}

#Wrap > header > nav > ul > li > a,
#Wrap > header > nav > ul > li > span {
	display: inline-block;
	color: #0e392c;
}

#Wrap > header > nav > ul > li > a,
#Wrap > header > nav > ul > li > span {
	display: inline-block;
	padding: 8px 10px;
	color: #0e392c;
}

#Wrap > header.show > nav {
	opacity: 1;
	z-index: 50100;
}

#Wrap > footer {
	padding: 102px 40px 93px;
}

#Wrap > footer .share > dt {
	margin-right: 8px;
	font-size: 1.4em;
	line-height: 1em;
	letter-spacing: 0.03em;
}

#Wrap > footer .share > dd .bro-snsbox > div > div {
	margin: 0 0 0 30px;
}

#Wrap > footer .share > dd .bro-snsbox.bro-circle-view > div > div {
	width: 80px !important;
}

#Wrap > footer .share > dd a:hover {
	opacity: 1;
}

#Wrap > footer .banners {
	display: block;
	margin: 68px auto 52px;
	width: 100%;
	max-width: 640px;
}

#Wrap > footer .banners > li {
	margin: 46px 0 0;
	width: 100%;
}

#Wrap > footer .banners a {
	display: flex;
	border-width: 2px;
	max-width: 624px;
	height: 124px;
	border-radius: 58px;
	margin: 0 auto;
	font-size: 3.7rem;
	line-height: 1.2em;
}

#Wrap > footer .banners a::before {
	right: 40px;
	width: 28px;
	height: 28px;
}

#Wrap > footer .banners a::after {
	border-width: 2px;
	top: -12px;
	left: -12px;
	border-radius: 58px;
}

#Wrap > footer .banners a:not(.off):hover {
	transform: none;
}

#Wrap > footer .banners a:not(.off):hover::after {
	top: -12px;
	left: -12px;
	border-color: #fff;
}

#Wrap > footer .banners a img {
	height: auto;
}

#Wrap > footer .caution {
	font-size: 0.8em;
	line-height: 1.4em;
}

#Wrap > footer .copy {
	font-size: 0.8em;
	line-height: 1.8em;
	letter-spacing: 0.12em;
	text-indent: 0.12em;
}

#Wrap.navopen {
	z-index: 50200;
}

#Wrap.navopen > *:not(header) {
	filter: blur(4px);
}

#Container > section {
	margin: 0 auto;
	padding: 150px 40px;
}

.h01 {
	margin-bottom: 70px;
}

.h01 .ja {
	font-size: 2.5rem;
	letter-spacing: 0.13em;
}

.h01 .en {
	font-size: 8.5rem;
	letter-spacing: 0.18em;
	text-indent: 0.18em;
	min-width: 330px;
	margin-bottom: 20px;
}

.news {
	width: -moz-fit-content;
	width: fit-content;
	min-width: 370px;
	height: 60px;
	top: 20px;
	left: 40px;
	flex-direction: row;
	background: #fff;
	border-radius: 40px;
	padding: 10px 30px;
}

.news .news_inner {
	flex-direction: row;
}

.news .icon {
	width: 20px;
	height: 16px;
	margin-bottom: 0;
	margin-right: 20px;
}

.news .head {
	writing-mode: unset;
	letter-spacing: 0.04em;
}

#Main {
	min-height: auto;
}

#Main > .inner {
	height: -moz-fit-content;
	height: fit-content;
	padding: 200px 0 40px;
}

#Main > .inner:after {
	height: 70%;
}

#Main .visual {
	width: calc(100% - 80px);
}

#Main .logo {
	margin-bottom: 0;
	top: 120px;
}

#Main .date {
	right: auto;
	left: 20px;
	bottom: 60px;
}

#Container > #About article .item {
	position: relative;
	margin-bottom: 100px;
}

#Container > #About article .item:nth-child(even) .txt {
	margin-left: auto;
	margin-right: -10px;
}

#Container > #About article .item:nth-child(odd) .txt {
	margin-right: auto;
	margin-left: -10px;
}

#Container > #About article .txt {
	text-align: left;
	width: calc(100% - 190px);
	font-size: 1.28em;
	line-height: 1.9em;
	letter-spacing: 0.06em;
}

#Container > #About article .img {
	width: 200px;
	height: 400px;
}

#Container > #About article .img._img01 {
	left: -6%;
	bottom: -35%;
}

#Container > #About article .img._img02 {
	right: -6%;
	bottom: -49%;
}

#Container > #Outline article .h01 {
	margin-bottom: 80px;
}

#Container > #Exhibition .contents p {
	line-height: 1.6em;
}

#Container > #Exhibition .contents .annotation {
	font-size: 0.7em;
}

#Container > #Exhibition .contents ul.def {
	font-size: 0.77em !important;
	letter-spacing: 0.1em;
}

.fixed-bg::before {
	background-image: url(../img/about_img03_sp.jpg);
}

.fixed-bg {
	height: 420px;
	background-size: auto 100vh;
	background-attachment: scroll;
	-webkit-background-attachment: scroll;
	-webkit-overflow-scrolling: touch;
}

#Container > #Goods article .lineup {
	grid-template-columns: repeat(2, 1fr);
	gap: 83px 70px;
	border-width: 2px;
	padding: 40px 0;
}

#Container > #Goods article .lineup > section::before {
	width: 2px;
	left: auto;
	right: -36px;
}

#Container > #Goods article .lineup > section:hover {
	opacity: 1;
}

#Container > #Goods article .lineup > section:nth-child(odd)::before {
	display: block;
}

#Container > #Goods article .lineup > section:nth-child(even)::before {
	display: none !important;
}

#Container > #Goods article .lineup > section:nth-child(3n+4)::after {
	display: none;
}

#Container > #Goods article .lineup > section:nth-child(2n+3)::after {
	content: "";
	display: block !important;
	position: absolute;
	top: -42px;
	left: 0;
	width: 100vw;
	min-width: 1200px;
	height: 2px;
	background-color: #0e392c;
}

#Container > #Goods article .lineup .pic {
	margin-bottom: 28px;
}

#Container > #Goods article .lineup .pic .np::before {
	font-size: 1.3em;
	line-height: 1em;
}

#Container > #Goods article .lineup .name {
	font-size: 1.2em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	margin-bottom: 56px;
}

#Container > #Goods article .lineup .icon {
	height: 40px;
	margin-left: 20px;
	margin-bottom: 20px;
	font-size: 0.9em;
	letter-spacing: 0.03em;
	padding: 3px 8px;
}

#Container > #Goods article .lineup .icon::before,
#Container > #Goods article .lineup .icon::after {
	width: 20px;
	height: 40px;
}

#Container > #Goods article .lineup .icon::before {
	left: -19px;
}

#Container > #Goods article .lineup .icon::after {
	right: -19px;
}

#Container > #Goods article .lineup .price {
	font-size: 1.2em;
}

#Container > #Novelty article > section {
	display: block;
	padding: 60px 0;
	border-width: 2px;
}

#Container > #Novelty article > section > .pic {
	margin: 0 auto 46px;
	width: 560px;
}

#Container > #Novelty article > section > .desc {
	width: auto;
	font-size: 1.2em;
	line-height: 1.9em;
	letter-spacing: 0.1em;
	top: 0;
}

img.modalPic:hover {
	opacity: 1;
}

#Modal > .inner:has(.update) {
	padding: 140px 40px;
}

#Modal > .inner:has(.update).show > * {
	opacity: 1;
	transform: translateY(0);
	filter: blur(0);
}

#Modal > .inner:has(.update).show .inlineBox {
	right: 0;
}

#Modal > .inner:has(.update) .inlineBox {
	position: relative;
	top: 0;
	right: 0;
	width: auto;
	height: auto;
	border-radius: 60px;
	padding: 133px 50px;
	filter: initial !important;
}

#Modal > .inner:has(.update) .inlineBox::before {
	display: none;
}

#Modal > .inner {
	padding: 246px 40px;
}

#Modal .close {
	width: 102px;
	height: 102px;
	top: 105px;
	right: 40px;
}

#Modal .close::after {
	top: -7px;
	left: -7px;
}

#Modal .close:hover {
	transform: none;
}

#Modal .close:hover::after {
	top: -7px;
	left: -7px;
	border-color: #0e392c;
}

#Modal .inlineBox {
	padding: 55px;
	padding-bottom: 145px;
}

#Modal .inlineBox .h01 {
	margin-bottom: 39px;
}

#Modal .inlineBox .h01 .ja {
	font-size: 3rem;
	margin-bottom: 0;
}

#Modal .inlineBox .h01 .en {
	font-size: 6rem;
}

#Modal .inlineBox.item > .layout {
	display: block;
	padding: 0;
}

#Modal .inlineBox.item > .layout > .pic {
	margin: 0 auto 46px;
	width: 560px;
}

#Modal .inlineBox.item > .layout > .pic .np {
	height: 560px;
}

#Modal .inlineBox.item > .layout > .desc {
	width: auto;
}

#Modal .inlineBox.item > .layout .name {
	font-size: 1.5em;
	line-height: 1.6em;
	letter-spacing: 0.1em;
	margin-bottom: 32px;
}

#Modal .inlineBox.item > .layout .price {
	font-size: 1.2em;
}

#Modal .inlineBox.item > .layout .icon {
	height: 40px;
	margin-left: 20px;
	margin-bottom: 20px;
	font-size: 0.9em;
	letter-spacing: 0.03em;
	padding: 3px 8px;
}

#Modal .inlineBox.item > .layout .icon::before,
#Modal .inlineBox.item > .layout .icon::after {
	width: 20px;
	height: 40px;
}

#Modal .inlineBox.item > .layout .icon::before {
	left: -20px;
}

#Modal .inlineBox.item > .layout .icon::after {
	right: -20px;
}

#Modal .inlineBox.item > .layout table.spec {
	border-bottom-width: 2px;
}

#Modal .inlineBox.item > .layout table.spec tr {
	border-top-width: 2px;
	padding: 16px 0;
}

#Modal .inlineBox.item > .layout table.spec th {
	font-size: 1.4em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
}

#Modal .inlineBox.item > .layout table.spec td {
	font-size: 1.15em;
	line-height: 1.83em;
	letter-spacing: 0;
}

#Modal .inlineBox.update ul {
	height: 574px;
}

#Modal .inlineBox.update ul > li {
	padding: 1.7em 0 1.3em;
}

#Modal .inlineBox.update ul > li .date {
	font-size: 0.9em;
	letter-spacing: 0.05em;
	margin-bottom: 0.7em;
}

#Modal .inlineBox.update ul > li .data {
	font-size: 1.2em;
	letter-spacing: 0.02em;
}

}


/*# sourceMappingURL=../map/style.css.map */
