@charset "utf-8";

.cormorant-garamond {
font-family: "Cormorant Garamond", serif;
font-optical-sizing: auto;
font-style: normal;
}

#contents {
background: url("../../img/bg.jpg") repeat center center;
background-size: 160vw auto;
}

#TITLE .cont {
padding: 12.8vw 0 5.333vw 0;
text-align: center;
line-height: 1;
}
#TITLE h1 .jp {
display: inline-block;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4vw;
}
#TITLE h1 .en {
display: inline-block;
font-weight: 400;
font-family: "Cormorant Garamond", serif;
font-size: 16vw;
}
@media screen and (min-width: 768px) {
    #navigation {
    height: 133px;
    }
	#contents {
	background: url("../../img/bg.jpg") repeat center center;
	background-size: 1200px auto;
	}
	#TITLE .cont {
	padding: 65px 0 40px 0;
	}
	#TITLE h1 .jp {
	font-size: 22px;
	}
	#TITLE h1 .en {
	font-size: 80px;
	}
}

#TARGET .cont {
border-bottom: solid 1px #000;
margin: 0 auto;
padding-bottom: 0.8vw;
width: 90.667vw;
}
#TARGET ul {
display: flex;
flex-wrap: wrap;
border-bottom: solid 1px #000;
}
#TARGET li {
box-sizing: border-box;
border-top: solid 1px #000;
width: 50%;
text-align: center;
line-height: 1;
}
#TARGET li:nth-of-type(odd) {
border-right: solid 1px #000;
}
#TARGET li .jp {
display: inline-block;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4.267vw;
}
#TARGET li .en {
display: inline-block;
font-weight: 400;
font-family: "Cormorant Garamond", serif;
font-size: 3.467vw;
opacity: 0.9;
}
#TARGET a {
box-sizing: border-box;
display: block;
padding: 4vw 0 2.4vw 0;
text-decoration: none !important;
color: #4d4d4d !important;
}
#TARGET a .jp {
position: relative;
margin-bottom: 0.8vw;
}
#TARGET a .jp::after {
content: '';
transform: translateY(-25%);
position: relative;
right: -0.3em;
top: 50%;
display: inline-block;
border: solid 1.333vw transparent;
border-bottom: solid 0 transparent;
border-top: solid 1.867vw #000;
}
@media screen and (min-width: 768px) {
	#TARGET .cont {
	border-bottom: solid 1px #000;
	margin: 0 auto;
	padding-bottom: 4px;
	width: 1040px;
	}
	#TARGET li {
	width: 25%;
	}
	#TARGET li:nth-of-type(2) {
	border-right: solid 1px #000;
	}
	#TARGET li .jp {
	font-size: 20px;
	}
	#TARGET li .en {
	font-size: 15px;
	}
	#TARGET li .en {
	transition: opacity 0.7s ease;
	font-size: 15px;
	}
	#TARGET li a:hover .en {
	opacity: 1;
	}
	#TARGET li a {
	position: relative;
	z-index: 1;
	padding: 14px 0 13px 0;
	}
	#TARGET a::before {
	transition: opacity 0.7s ease;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	background: url("../img/nav_bg.jpg") no-repeat center center;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0;
	}
	#TARGET a:hover::before {
	opacity: 1;
	}
	#TARGET a .jp {
	margin-bottom: 9px;
	}
	#TARGET a .jp::after {
	transform: translateY(20%);
	right: -7px;
	border: solid 6px transparent;
	border-top: solid 9px #000;
	}
}

#STORY {}
#STORY .head {
border-bottom: solid 1px #000;
margin: 0 auto;
padding: 15.2vw 0 5.333vw 0;
width: 81.333vw;
line-height: 1;
text-align: center;
}
#STORY .head .jp {
display: inline-block;
margin-bottom: 2.667vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4vw;
letter-spacing: 0.2em;
}
#STORY .head .en {
display: inline-block;
font-weight: 500;
font-family: "Cormorant Garamond", serif;
font-size: 7.733vw;
}
#STORY .cont {
margin: 0 auto;
width: 81.333vw;
}
#STORY .tree {
position: relative;
margin: 0 -9.333vw;
padding: 5.333vw 0 1.333vw 0;
}
#STORY .tree img {
display: block;
width: 100%;
height: auto;
}
#STORY .tree ul {
font-size: 3.2vw;
}
#STORY .tree li {
position: absolute;
}
#STORY .tree li a {
display: block;
padding-left: 10.133vw;
text-decoration: none;
}
#STORY .tree li a::before {
content: '';
position: absolute;
left: 0;
top: 0;
display: block;
background: url("../img/icn_zoom.svg") no-repeat center center;
background-size: contain;
width: 8.267vw;
height: 8.267vw;
}
#STORY .tree li:nth-of-type(1) {
right: 8vw;
top: 8vw;
}
#STORY .tree li:nth-of-type(2) {
right: 17.333vw;
bottom: 18.133vw;
}
#STORY .info {
display: flex;
flex-wrap: wrap;
border-left: solid 1.067vw #969696;
margin-bottom: 9.333vw;
padding-left: 2.667vw;
font-size: 3.2vw;
line-height: 1.42;
}
#STORY .info dt::after {
content: ':';
}
#STORY .info dd {
margin-bottom: 1.333vw;
min-width: calc(100% - 3em);
}
#STORY .info dd:last-child {
margin-bottom: 0;
}
#STORY .expaln .hed {
margin-bottom: 4.267vw;
line-height: 1.36;
}
#STORY .expaln .hed p {
position: relative;
margin-bottom: 2.4vw;
padding-left: 24vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4vw;
letter-spacing: 0.2em;
}
#STO_CHA1 .hed p::before {
content: '';
position: absolute;
left: 0;
top: 1.867vw;
display: block;
background: url("../img/sto_cap1.svg") no-repeat center left;
background-size: auto 3.467vw;
width: 24vw;
height: 3.467vw;
}
#STORY .hed h3 {
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 6.667vw;
letter-spacing: 0.2em;
}
#STORY .expaln {
margin-bottom: 7.467vw;
}
#STORY .expaln p {
font-size: 3.733vw;
line-height: 1.61;
text-align: justify;
}
#STORY .kinds {
margin-bottom: 13.333vw;
}
#STORY .kinds h3 {
margin-bottom: 2.667vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
}
#STORY .kinds dl {
display: flex;
flex-wrap: wrap;
flex-direction: column;
border-left: solid 1.067vw #969696;
padding-left: 2.667vw;
}
#STORY .kinds dt {
margin-bottom: 2.133vw;
line-height: 1.42;
}
#STORY .kinds dt .en {
font-weight: 500;
font-family: "Cormorant Garamond", serif;
font-size: 3.733vw;
}
#STORY .kinds dt .jp {
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 3.2vw;
letter-spacing: 0.2em;
}
#STORY .kinds dd {
margin-bottom: 3.2vw;
font-size: 3.2vw;
line-height: 1.42;
}
#STORY .kinds dd:last-child {
margin-bottom: 0;
}
#STORY .area {
background-color: rgba(255,255,255,0.8);
margin: 0 -9.333vw;
padding: 6.667vw 9.333vw 10.667vw 9.333vw;
}
#STORY .area h3 {
margin-bottom: 1.067vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4vw;
letter-spacing: 0.2em;
text-align: center;
}
#STORY .map {
margin: 0 -9.333vw;
padding: 0 4vw;
}
#STORY .map img {
display: block;
width: 100%;
height: auto;
}
#STORY .area ul {
margin-top: 3.733vw;
font-size: 3.2vw;
}
#STORY .area li {
position: relative;
padding-left: 3.2vw;
}
#STORY .area ul li:nth-of-type(1)::before {
content: '';
box-sizing: border-box;
transform: translateY(-50%);
position: absolute;
left: 0;
top: 50%;
display: block;
background-color: #628380;
width: 2.4vw;
height: 2.4vw;
}
#STORY .area ul li:nth-of-type(2)::before {
content: '';
box-sizing: border-box;
transform: translateY(-50%);
position: absolute;
left: 0;
top: 50%;
display: block;
background-color: #C8C8C8;
border: solid 1px #707070;
width: 2.4vw;
height: 2.4vw;
}
#STORY .area .note {
margin-top: 2.667vw;
font-size: 2.667vw;
}
#STO_CHA2 {
background-color: rgba(112,112,112,0.6);
margin: 0 -9.333vw;
padding: 12vw 9.333vw 16vw 9.333vw;
color: #fff;
overflow: hidden;
}
#STO_CHA2 .hed p::before {
content: '';
position: absolute;
left: 0;
top: 1.867vw;
display: block;
background: url("../img/sto_cap2.svg") no-repeat center left;
background-size: auto 3.467vw;
width: 24vw;
height: 3.467vw;
}
#STO_CHA2 .hed h3 {
font-size: 5.333vw;
}
#STO_CHA2 .list {
display: flex;
flex-direction: column;
gap: 10.667vw;
padding-top: 8vw;
}
#STO_CHA2 .pack {
position: relative;
padding: 5.867vw 0 0 0;
}
#STO_CHA2 .block:nth-of-type(odd) .pack {
padding-left: 11.733vw;
}
#STO_CHA2 .block:nth-of-type(even) .pack {
padding-right: 11.733vw;
}
#STO_CHA2 .block:nth-of-type(odd) .pack::before {
content: '';
position: absolute;
left: 5.6vw;
bottom: 0;
display: block;
border-left: solid 1px #fff;
height: calc(100% + 12vw);
}
#STO_CHA2 .block:nth-of-type(even) .pack::before {
content: '';
position: absolute;
right: 5.6vw;
bottom: 0;
display: block;
border-left: solid 1px #fff;
height: calc(100% + 12vw);
}
#STO_CHA2 .pack h4 {
margin-bottom: 2.667vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
}
#STO_CHA2 .pack p {
font-size: 3.733vw;
line-height: 1.62;
text-align: justify;
}
#STO_CHA2 .board {
position: relative;
height: 47.2vw;
}
#STO_CHA2 .block:nth-of-type(odd) .board img {
position: absolute;
right: 0;
top: 0;
width: auto;
height: 47.2vw;
box-shadow: 0 2px 3px rgba(0,0,0,0.3);
}
#STO_CHA2 .block:nth-of-type(even) .board img {
position: absolute;
left: 0;
top: 0;
width: auto;
height: 47.2vw;
box-shadow: 0 2px 3px rgba(0,0,0,0.3);
}
.modal .body {
padding: 6.667vw 6.667vw 4vw 6.667vw;
}
.modal .body img {
display: block;
margin-bottom: 4vw;
width: 100%;
height: auto;
}
@media screen and (min-width: 768px) {
	#STORY {
	position: relative;
	overflow: hidden;
	}
	#STORY .head {
	margin-bottom: 60px;
	padding: 85px 0 20px 0;
	width: 1040px;
	}
	#STORY .head .jp {
	margin-bottom: 11px;
	font-size: 20px;
	}
	#STORY .head .en {
	font-size: 48px;
	}
	#STORY .cont {
	width: auto;
	}
	#STORY .chapter .inner {
	position: relative;
	margin: 0 auto;
	width: 970px;
	}
	#STORY .tree {
	position: absolute;
	right: -100px;
	top: 0;
	margin: 0;
	padding: 0;
	}
	#STORY .tree img {
	display: block;
	width: 600px;
	height: auto;
	}
	#STORY .tree ul {
	font-size: 12px;
	}
	#STORY .tree li {
	position: absolute;
	}
	#STORY .tree li a {
	padding-left: 32px;
	}
	#STORY .tree li a::before {
	transform: translateY(-50%);
	top: 50%;
	width: 30px;
	height: 30px;
	}
	#STORY .tree li:nth-of-type(1) {
	right: 115px;
	top: 0px;
	}
	#STORY .tree li:nth-of-type(2) {
	right: 130px;
	bottom: 120px;
	}
	#STORY .modal .body {
	width: 500px;
	}
	#STORY .set {
	box-sizing: border-box;
	display: flex;
	flex-direction: column-reverse;
	gap: 25px;
	margin-bottom: 30px;
	padding: 10px 0 0 0;
	}
	#STORY .info {
	border-left: solid 4px #969696;
	margin-bottom: 0;
	padding-left: 11px;
	font-size: 13px;
	line-height: 1.42;
	}
	#STORY .info dd {
	margin-bottom: 5px;
	}
	#STORY .expaln .hed {
	margin-bottom: 28px;
	line-height: 1.36;
	}
	#STORY .expaln .hed p {
	margin-bottom: 17px;
	padding-left: 146px;
	font-size: 20px;
	}
	#STO_CHA1 .hed p::before {
	top: 10px;
	background: url("../img/sto_cap1.svg") no-repeat center left;
	background-size: auto 20px;
	width: 146px;
	height: 20px;
	}
	#STORY .hed h3 {
	font-size: 30px;
	}
	#STORY .expaln {
	margin-bottom: 0;
	}
	#STORY .expaln p {
	width: 500px;
	font-size: 14px;
	line-height: 1.79;
	}
	#STORY .kinds {
	margin-bottom: 60px;
	}
	#STORY .kinds h3 {
	margin-bottom: 10px;
	font-size: 20px;
	}
	#STORY .kinds dl {
	border-left: solid 4px #969696;
	padding-left: 11px;
	}
	#STORY .kinds dt {
	margin-bottom: 6px;
	line-height: 1.42;
	}
	#STORY .kinds dt .en {
	font-size: 20px;
	}
	#STORY .kinds dt .jp {
	font-size: 16px;
	}
	#STORY .kinds dd {
	margin-bottom: 15px;
	font-size: 13px;
	}
	#STORY .area {
	box-sizing: border-box;
	margin: 0 auto 90px auto;
	padding: 23px 20px 20px 20px;
	width: 970px;
	}
	#STORY .area h3 {
	margin-bottom: -12px;
	font-size: 20px;
	}
	#STORY .map {
	margin: 0 auto;
	padding: 0;
	}
	#STORY .map img {
	margin: 0 auto;
	width: 590px;
	}
	#STORY .area ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 0px;
	font-size: 14px;
	}
	#STORY .area li {
	padding-left: 22px;
	}
	#STORY .area ul li:nth-of-type(1)::before {
	width: 17px;
	height: 17px;
	}
	#STORY .area ul li:nth-of-type(2)::before {
	width: 17px;
	height: 17px;
	}
	#STORY .area .note {
	margin-top: 10px;
	font-size: 12px;
	}
	#STO_CHA2 {
	background-color: rgba(112,112,112,0.6);
	margin: 0;
	padding: 73px 0 100px 0;
	color: #fff;
	overflow: hidden;
	}
	#STO_CHA2 .hed p::before {
	top: 10px;
	background: url("../img/sto_cap2.svg") no-repeat center left;
	background-size: auto 20px;
	width: 146px;
	height: 20px;
	}
	#STO_CHA2 .hed h3 {
	font-size: 30px;
	}
	#STO_CHA2 .list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 70px;
	padding-top: 0;
	}
	#STO_CHA2 .block {
	position: relative;
	}
	#STO_CHA2 .block:nth-of-type(1) {
	margin-bottom: 120px;
	height: 352px;
	}
	#STO_CHA2 .block:nth-of-type(2) {
	margin-bottom: 60px;
	height: 264px;
	}
	#STO_CHA2 .block:nth-of-type(3) {
	height: 264px;
	}
	#STO_CHA2 .pack {
	position: absolute;
	padding: 0 0 0 0;
	}
	#STO_CHA2 .block:nth-of-type(odd) .pack {
	padding-left: 0;
	}
	#STO_CHA2 .block:nth-of-type(even) .pack {
	padding-right: 0;
	}
	#STO_CHA2 .block:nth-of-type(1) .pack {
	right: 5px;
	top: 190px;
	padding-top: 30px;
	width: 405px;
	}
	#STO_CHA2 .block:nth-of-type(2) .pack {
	left: 180px;
	bottom: 130px;
	padding-bottom: 20px;
	width: 410px;
	}
	#STO_CHA2 .block:nth-of-type(3) .pack {
	right: 170px;
	bottom: 130px;
	padding-bottom: 20px;
	width: 405px;
	}
	#STO_CHA2 .block:nth-of-type(odd) .pack::before {
	left: 0;
	bottom: 0;
	border-left: none;
	height: 1px;
	}
	#STO_CHA2 .block:nth-of-type(even) .pack::before {
	right: 0;
	bottom: 0;
	border-left: none;
	height: 1px;
	}
	#STO_CHA2 .block:nth-of-type(1) .pack::before {
	left: inherit;
	right: 0;
	top: 0;
	border-bottom: solid 1px #fff;
	width: 550px;
	}
	#STO_CHA2 .block:nth-of-type(2) .pack::before {
	right: inherit;
	left: 0;
	bottom: 0;
	border-bottom: solid 1px #fff;
	width: 550px;
	}
	#STO_CHA2 .block:nth-of-type(3) .pack::before {
	left: inherit;
	right: 0;
	bottom: 0;
	border-bottom: solid 1px #fff;
	width: 550px;
	}
	#STO_CHA2 .pack h4 {
	margin-bottom: 0;
	font-size: 25px;
	white-space: nowrap;
	}
	#STO_CHA2 .block:nth-of-type(1) .pack h4 {
	transform: rotate(90deg);
	transform-origin: 0 100%;
	position: absolute;
	right: 340px;
	top: -235px;
	font-size: 30px;
	}
	#STO_CHA2 .block:nth-of-type(2) .pack h4 {
	position: absolute;
	left: 465px;
	bottom: 150px;
	}
	#STO_CHA2 .block:nth-of-type(3) .pack h4 {
	position: absolute;
	right: 460px;
	bottom: 150px;
	}
	#STO_CHA2 .pack p {
	font-size: 14px;
	line-height: 1.79;
	}
	#STO_CHA2 .board {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
	}
	#STO_CHA2 .block:nth-of-type(1) .board img {
	right: 470px;
	top: 0;
	width: auto;
	height: 352px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.3);
	}
	#STO_CHA2 .block:nth-of-type(2) .board img {
	left: 645px;
	top: 0;
	width: auto;
	height: 264px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.3);
	}
	#STO_CHA2 .block:nth-of-type(3) .board img {
	right: 635px;
	top: 0;
	width: auto;
	height: 264px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.3);
	}
	.modal .body {
	padding: 20px;
	}
	.modal .body img {
	margin-bottom: 20px;
	}
}
@media screen and (min-width: 1540px) {
	#STORY #STO_CHA2 .inner {
	position: relative;
	width: auto;
	}
	#STORY #STO_CHA2 .expaln {
	margin: 0 285px;
	}
	#STO_CHA2 .block:nth-of-type(1) {
	margin-right: auto;
	width: 1244px;
	}
	#STO_CHA2 .block:nth-of-type(2) {
	margin-left: auto;
	width: 1244px;
	}
	#STO_CHA2 .block:nth-of-type(3) {
	margin-right: auto;
	width: 1244px;
	}
}

#CASE {
position: relative;
}
#CASE .head {
border-bottom: solid 1px #000;
margin: 0 auto;
padding: 15.2vw 0 5.333vw 0;
width: 81.333vw;
line-height: 1;
text-align: center;
}
#CASE .head .jp {
display: inline-block;
margin-bottom: 2.667vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4vw;
letter-spacing: 0.2em;
}
#CASE .head .en {
display: inline-block;
font-weight: 500;
font-family: "Cormorant Garamond", serif;
font-size: 7.733vw;
}
#CASE .cont {
margin: 0 auto;
padding-bottom: 14.667vw;
width: 81.333vw;
}
#CASE .lead {
border-bottom: solid 1px #000;
margin-bottom: 13.333vw;
padding: 3.467vw 0 3.467vw 0;
text-align: center;
}
#CASE .lead h3 {
margin-bottom: 4.267vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
line-height: 1.4;
}
#CASE .lead p {
font-size: 3.733vw;
line-height: 1.62;
}
#CASE .list {
display: flex;
flex-direction: column;
gap: 12vw;
}
#CASE .block h3 {
margin-bottom: 4vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
line-height: 1.4;
}
#CASE .block p {
font-size: 3.733vw;
line-height: 1.62;
text-align: justify;
}
#CASE .block .credit {
margin-top: 9.067vw;
line-height: 1.62;
letter-spacing: 0.05em;
}
#CASE .block .credit dt {
font-family: 'A1 Gothic M', sans-serif;
font-weight: 500;
line-height: 1.62;
}
#CASE .block .contact dd,
#CASE .block .credit dd {
line-height: 1.62;
}
#CASE .block .contact {
margin-top: 9.067vw;
font-size: 3.2vw;
line-height: 1.62;
letter-spacing: 0.05em;
}
#CASE .block .contact dt {
font-family: 'A1 Gothic M', sans-serif;
font-weight: 500;
line-height: 1.62;
}
#CASE .image {
margin-top: 5.333vw;
}
#CASE .image img {
display: block;
width: 100%;
height: auto;
}
#CASE .image p {
margin-top: 1.867vw;
font-size: 3.2vw;
}
#IMGSET1 {
display: flex;
flex-wrap: wrap;
gap: 1.867vw;
}
#IMGSET1 picture {
flex: 1;
}
#IMGSET1 picture:first-child {
flex: initial;
width: 100%;
}
#CASE .block a {
position: relative;
padding-right: 4.533vw;
text-decoration: none;
}
#CASE .block a::after {
transform: translateY(-50%);
content: '';
display: block;
position: absolute;
right: 0;
top: 50%;
background: url("../../img/icon_window.svg") no-repeat center;
background-size: contain;
width: 2.667vw;
height: 2.667vw;
}
@media screen and (min-width: 768px) {
	#CASE {
	position: relative;
	}
	#CASE .head {
	margin-bottom: 40px;
	padding: 85px 0 20px 0;
	width: 1040px;
	}
	#CASE .head .jp {
	margin-bottom: 11px;
	font-size: 20px;
	}
	#CASE .head .en {
	font-size: 48px;
	}
	#CASE .cont {
	margin: 0 auto;
	padding-bottom: 100px;
	width: 970px;
	}
	#CASE .lead {
	border-bottom: none;
	margin-bottom: 0;
	padding: 10px 0 100px 0;
	}
	#CASE .lead h3 {
	margin-bottom: 30px;
	font-size: 30px;
	line-height: 1.53;
	}
	#CASE .lead p {
	font-size: 14px;
	line-height: 1.79;
	}
	#CASE .list {
	display: flex;
	flex-direction: column;
	gap: 90px;
	}
	#CASE .block {
	display: flex;
	gap: 60px;
	}
	#CASE .block .pack {
	flex: 1;
	}
	#CASE .block h3 {
	margin-bottom: 30px;
	font-size: 26px;
	line-height: 1.53;
	}
	#CASE .block p {
	font-size: 14px;
	line-height: 1.79;
	}
	#CASE .block .credit,
	#CASE .block .contact {
	margin-top: 45px;
	font-size: 14px;
	line-height: 1.79;
	}
	#CASE .block .contact dt,
	#CASE .block .credit dt {
	line-height: 1.79;
	}
	#CASE .block .contact dd,
	#CASE .block .credit dd {
	line-height: 1.79;
	}
	#CASE .image {
	margin-top: 0;
	width: 400px;
	}
	#CASE .image img {
	width: 100%;
	}
	#CASE .image p {
	margin-top: 10px;
	font-size: 12px;
	text-align: right;
	}
	#IMGSET1 {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	}
	#IMGSET1 picture {
	flex: 1;
	}
	#IMGSET1 picture:first-child {
	flex: initial;
	width: 100%;
	}
	#CASE .block a {
	padding-right: 20px;
	}
	#CASE .block a::after {
	margin-top: -1px;
	width: 14px;
	height: 14px;
	}
}

#SPACE {
background-color: #e4e3de;
}
#SPACE .head {
border-bottom: solid 1px #000;
margin: 0 auto;
padding: 15.2vw 0 5.333vw 0;
width: 81.333vw;
line-height: 1;
text-align: center;
}
#SPACE .head .jp {
display: inline-block;
margin-bottom: 2.667vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4vw;
letter-spacing: 0.2em;
}
#SPACE .head .en {
display: inline-block;
font-weight: 500;
font-family: "Cormorant Garamond", serif;
font-size: 7.733vw;
}
#SPACE .cont {
margin: 0 auto;
padding-bottom: 14.667vw;
width: 81.333vw;
}
#SPACE .lead {
margin-bottom: 2.667vw;
padding: 6.133vw 0 2.667vw 0;
text-align: center;
}
#SPACE .lead h3 {
margin-bottom: 5.6vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
line-height: 1.4;
}
#SPACE .lead p {
font-size: 3.733vw;
line-height: 1.62;
}
#SPACE img {
display: block;
width: 100%;
height: auto;
}
#SPACE .swiper-slide ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0 1em;
margin-top: 1.867vw;
font-size: 3.2vw;
text-align: center;
}
#SPACE .slider {
position: relative;
margin: 0 2.667vw;
}
#SPACE .swiper-navigation {
position: absolute;
left: 0;
top: 0;
width: 100%;
aspect-ratio: 5 / 3;
}
#SPACE .swiper-prev2 {
transform: translateY(-50%);
position: absolute;
left: -8vw;
top: 50%;
background: url("../img/sp/arw_prev.svg") no-repeat center center;
background-size: contain;
width: 5.333vw;
height: 5.333vw;
z-index: 10;
font-size: 0;
text-indent: -2666.4vw;
overflow: hidden;
}
#SPACE .swiper-next2 {
transform: translateY(-50%);
position: absolute;
right: -8vw;
top: 50%;
background: url("../img/sp/arw_next.svg") no-repeat center center;
background-size: contain;
width: 5.333vw;
height: 5.333vw;
z-index: 10;
font-size: 0;
text-indent: -2666.4vw;
overflow: hidden;
}
@media screen and (min-width: 768px) {
	#SPACE .head {
	margin-bottom: 40px;
	padding: 85px 0 20px 0;
	width: 1040px;
	}
	#SPACE .head .jp {
	margin-bottom: 11px;
	font-size: 20px;
	}
	#SPACE .head .en {
	font-size: 48px;
	}
	#SPACE .cont {
	margin: 0 auto;
	padding-bottom: 90px;
	width: 970px;
	}
	#SPACE .lead {
	border-bottom: none;
	margin-bottom: 0;
	padding: 10px 0 25px 0;
	}
	#SPACE .lead h3 {
	margin-bottom: 30px;
	font-size: 30px;
	}
	#SPACE .lead p {
	font-size: 14px;
	line-height: 1.79;
	}
	#SPACE .slider,
	#SPACE .swiper {
	margin: 0 auto;
	width: 750px;
	}
	#SPACE .swiper-slide ul {
	margin-top: 20px;
	font-size: 14px;
	}
	#SPACE .swiper-navigation {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	aspect-ratio: 5 / 3;
	margin: 0;
	padding: 0;
	}
	#SPACE .swiper-prev2 {
	left: -80px;
	background: url("../img/arw_prev.svg") no-repeat center center;
	background-size: contain;
	width: 40px;
	height: 40px;
	}
	#SPACE .swiper-next2 {
	right: -80px;
	background: url("../img/arw_next.svg") no-repeat center center;
	background-size: contain;
	width: 40px;
	height: 40px;
	}
}

#TOPICS {
background-color: #fff;	
}
#TOPICS .head {
border-bottom: solid 1px #000;
margin: 0 auto;
padding: 15.2vw 0 5.333vw 0;
width: 81.333vw;
line-height: 1;
text-align: center;
}
#TOPICS .head .jp {
display: inline-block;
margin-bottom: 2.667vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 4vw;
letter-spacing: 0.2em;
}
#TOPICS .head .en {
display: inline-block;
font-weight: 500;
font-family: "Cormorant Garamond", serif;
font-size: 7.733vw;
}
#TOPICS .cont {
margin: 0 auto;
padding-bottom: 14.667vw;
width: 81.333vw;
}
#TOPICS .lead {
border-bottom: solid 1px #000;
margin-bottom: 13.333vw;
padding: 3.467vw 0 3.467vw 0;
text-align: center;
}
#TOPICS .lead h3 {
margin-bottom: 4.267vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
line-height: 1.4;
}
#TOPICS .lead p {
font-size: 3.733vw;
line-height: 1.62;
}
#TOPICS .list {
display: flex;
flex-direction: column;
gap: 12vw;
}
#TOPICS .block h3 {
margin-bottom: 4vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
line-height: 1.4;
}
#TOPICS .block p {
font-size: 3.733vw;
line-height: 1.62;
text-align: justify;
}
#TOPICS .block .credit {
margin-top: 9.067vw;
line-height: 1.62;
letter-spacing: 0.05em;
}
#TOPICS .block .credit dt {
font-family: 'A1 Gothic M', sans-serif;
font-weight: 500;
line-height: 1.62;
}
#TOPICS .block .contact dd,
#TOPICS .block .credit dd {
line-height: 1.62;
}
#TOPICS .block .contact {
margin-top: 9.067vw;
font-size: 3.2vw;
line-height: 1.62;
letter-spacing: 0.05em;
}
#TOPICS .block .contact dt {
font-family: 'A1 Gothic M', sans-serif;
font-weight: 500;
line-height: 1.62;
}
#TOPICS .image {
margin-top: 5.333vw;
text-align: center;
}
#TOPICS .image img {
display: block;
width: 100%;
height: auto;
}
#TOPICS .w234 p,
#TOPICS .w210 p,
#TOPICS .w100 p {
text-align: center;
}
#TOPICS .w234 img {
display: block;
margin: 0 auto;
width: 62.4vw;
height: auto;
}
#TOPICS .w210 img {
display: block;
margin: 0 auto;
width: 56vw;
height: auto;
}
#TOPICS .w100 img {
display: block;
margin: 0 auto;
width: 26.667vw;
height: auto;
}
#TOPICS .sp .image {
text-align: right;
}
#TOPICS .image p {
margin-top: 1.867vw;
font-size: 3.2vw;
}
#TOPICS .block a {
position: relative;
padding-right: 4.533vw;
text-decoration: none;
}
#TOPICS .block a::after {
transform: translateY(-50%);
content: '';
display: block;
position: absolute;
right: 0;
top: 50%;
background: url("../../img/icon_window.svg") no-repeat center;
background-size: contain;
width: 2.667vw;
height: 2.667vw;
}
@media screen and (min-width: 768px) {
	#TOPICS .head {
	margin-bottom: 40px;
	padding: 85px 0 20px 0;
	width: 1040px;
	}
	#TOPICS .head .jp {
	margin-bottom: 11px;
	font-size: 20px;
	}
	#TOPICS .head .en {
	font-size: 48px;
	}
	#TOPICS .cont {
	margin: 0 auto;
	padding-bottom: 100px;
	width: 970px;
	}
	#TOPICS .lead {
	border-bottom: none;
	margin-bottom: 0;
	padding: 10px 0 100px 0;
	}
	#TOPICS .lead h3 {
	margin-bottom: 30px;
	font-size: 30px;
	}
	#TOPICS .lead p {
	font-size: 14px;
	}
	#TOPICS .list {
	display: flex;
	flex-direction: column;
	gap: 90px;
	}
	#TOPICS .block {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	}
	#TOPICS .block:nth-of-type(2) {
	margin-top: -60px;
	}
	#TOPICS .block:nth-of-type(3) {
	flex-direction: row-reverse;
	}
	#TOPICS .block h3 {
	margin-bottom: 30px;
	font-size: 26px;
	line-height: 1.53;
	}
	#TOPICS .block .pack {
	flex: 1;
	}
	#TOPICS .block:nth-of-type(4) .pack {
	flex: initial;
	margin-left: 60px;
	width: 430px;
	}
	#TOPICS .block:nth-of-type(5) .pack {
	flex: initial;
	margin-left: 290px;
	width: 430px;
	}
	#TOPICS .block p {
	font-size: 14px;
	line-height: 1.79;
	}
	#TOPICS .block .credit,
	#TOPICS .block .contact {
	margin-top: 45px;
	font-size: 14px;
	line-height: 1.79;
	}
	#TOPICS .block .contact dt,
	#TOPICS .block .credit dt {
	line-height: 1.79;
	}
	#TOPICS .block .contact dd,
	#TOPICS .block .credit dd {
	line-height: 1.79;
	}
	#TOPICS .image {
	margin-top: 0;
	text-align: right;
	}
	#TOPICS .block:nth-of-type(1) .image p {
	text-align: right;
	}
	#TOPICS .block:nth-of-type(1) .image img {
	display: block;
	width: 420px;
	height: auto;
	}
	#TOPICS .block:nth-of-type(2) .image img {
	display: block;
	margin: 0 80px;
	width: 260px;
	height: auto;
	}
	#TOPICS .block:nth-of-type(3) .image img {
	display: block;
	width: 485px;
	height: auto;
	}
	#TOPICS .w210 img {
	display: block;
	margin: 0 auto;
	width: 235px;
	height: auto;
	}
	#TOPICS .w100 img {
	display: block;
	margin: 0 auto;
	width: 150px;
	height: auto;
	}
	#TOPICS .sp .image {
	text-align: right;
	}
	#TOPICS .image p {
	margin-top: 10px;
	font-size: 12px;
	}
	#TOPICS .block a {
	position: relative;
	padding-right: 20px;
	text-decoration: none;
	}
	#TOPICS .block a::after {
	margin-top: -1px;
	width: 14px;
	height: 14px;
	}
}

#LOCALNAVI .cont {
margin: 0 auto;
padding: 10.133vw 0 12vw 0;
width: 81.333vw;
}
#LOCALNAVI .targetLink {
position: fixed;
bottom: 14.933vw;
right: 2.667vw;
z-index: 100;
}
#LOCALNAVI .targetLink a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
background-color: #707070;
border-radius: 26666.4vw;
padding-top: 0.8vw;
width: 20vw;
height: 20vw;
font-size: 2.8vw;
text-align: center;
text-decoration: none;
color: #fff;
}
#LOCALNAVI h2 {
margin-bottom: 5.333vw;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
text-align: center;
}
#LOCALNAVI .list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3.2vw 1.867vw;
}
#LOCALNAVI .block {
position: relative;
background-color: #fff;
}
#LOCALNAVI .pack {
display: flex;
flex-direction: column;
justify-content: space-between;
box-sizing: border-box;
padding: 3.2vw 3.2vw;
min-height: 20.533vw;
}
#LOCALNAVI .pack h3 {
position: relative;
font-weight: 500;
font-family: "Cormorant Garamond", serif;
letter-spacing: 0;
font-size: 4vw;
line-height: 1.2;
z-index: 1;
}
#LOCALNAVI .pack h3 span {
display: block;
font-weight: 700;
font-family: 'A1 Mincho', serif;
font-size: 2.667vw;
letter-spacing: 0.2em;
}
#LOCALNAVI .pack p.link {
font-family: 'A1 Gothic M', sans-serif;
font-size: 2.667vw;
}
#LOCALNAVI .pack p.link a {
text-decoration: none;
}
#LOCALNAVI .pack p.link a::before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1;
}
#LOCALNAVI .pack p.link span {
position: relative;
padding-right: 4.533vw;
}
#LOCALNAVI .pack p.link span::after {
transform: translateY(-50%);
content: '';
display: block;
position: absolute;
right: 0;
top: 50%;
background: url("../../img/icon_window.svg") no-repeat center;
background-size: contain;
width: 2.667vw;
height: 2.667vw;
}
#LOCALNAVI .board img {
display: block;
object-fit: cover;
width: 100%;
height: auto;
}
@media screen and (min-width: 768px) {
	#LOCALNAVI .cont {
	margin: 0 auto;
	padding: 70px 0 80px 0;
	width: 778px;
	}
	#LOCALNAVI .targetLink {
	bottom: 24px;
	right: 90px;
	}
	#LOCALNAVI .targetLink a {
	border-radius: 99999px;
	padding-top: 3px;
	width: 100px;
	height: 100px;
	font-size: 14px;
	}
	#LOCALNAVI h2 {
	margin-bottom: 35px;
	font-size: 26px;
	}
	#LOCALNAVI .list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
	}
	#LOCALNAVI .pack {
	padding: 21px 14px 14px 14px;
	min-height: 122px;
	}
	#LOCALNAVI .pack h3 {
	font-size: 24px;
	}
	#LOCALNAVI .pack h3 span {
	font-size: 15px;
	}
	#LOCALNAVI .pack p.link {
	font-size: 14px;
	}
	#LOCALNAVI .pack p.link span {
	padding-right: 20px;
	}
	#LOCALNAVI .pack p.link span::after {
	margin-top: -2px;
	width: 14px;
	height: 14px;
	}
}