@charset "utf-8";


.gh {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

/*エラー*/
.fs-body-top #fs-page-error-container {
	margin: 0;
}

/* ----------------------------------------------------------------------- */
/* header-info */

@media screen and (min-width: 1080px) {

	.header-info__area {
		border-bottom: 1px solid rgba(0, 0, 0, 0.5);
	}

	.header-info {
		border-bottom: none;
	}
	
	.gh .gh--inner {
		border-bottom: none;
	}

}



/* --------------------------------------------------------- */
/* feature */

.section-feature {
	
}

@media screen and (min-width: 1080px) {

	.section-feature {
		padding-top: 30px;
	}

}


/* --------------------------------------------------------- */
/* series */

.seriesList {
	position: relative;
	left: -30px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	width: calc(100% + 60px);
	padding: 0;
	margin-bottom: 0;
}

.seriesList::before,
.seriesList::after {
	order: 2;
	content: "";
	display: block;
	width: calc(50% - 5px);
}

.seriesList__item {
	width: calc(50% - 1px);
	margin-bottom: 2px;
}

@media screen and (min-width: 414px) {

}

@media screen and (min-width: 768px) {

	.seriesList {
		left: 0;
		width: 100%;
	}

	.seriesList::before,
	.seriesList::after,
	.seriesList__item {
		width: calc(50% - 20px);
	}

	.seriesList__item {
		margin-bottom: 30px;
	}

	.seriesList__item:nth-child(3n+1):nth-last-child(-n+3),
	.seriesList__item:nth-child(3n+1):nth-last-child(-n+3) ~ .seriesList__item {
		margin-bottom: 0;
	}

}

@media screen and (min-width: 1080px) {

	.seriesList {
		justify-content: space-between;
	}

	.seriesList::before,
	.seriesList::after,
	.seriesList__item {
		width: calc(33.333% - 25px);
	}

	.seriesList__item {
		margin-bottom: 60px;
	}

	.seriesList__item.-l {
		width: 100%;
	}

	.seriesList__item.-l .series__fig img {
		object-fit: cover;
		height: 50vw;
		max-height: 500px;
	}

	.no-object-fit .seriesList__item.-l .series__fig img {
		height: auto;
	}

	.seriesList__item.-l .series__head {
		top: 30px;
	}

	.seriesList__item.-l .series__head-ttl {
		font-size: 2.4rem;
	}

	.seriesList__item.-l .series__body {
		position: absolute;
		left: 0;
		bottom: 0;
		height: 50%;
		padding: 30px;
		box-sizing: border-box;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
		color: #fff;
		z-index: 5;
	}

	.series__item .series__fig::after {
		opacity: 0.2;
	}

	.seriesList__item.-l .series__body > *:first-child {
		margin-right: 0;
	}

	.seriesList__item.-l .series__body > *:last-child {
		margin-left: 0;
	}

}

/* -------------------- */

.series__anchor {
	position: relative;
	display: block;
	text-decoration: none;
	position: relative;
}

.series__anchor > * {
	margin-top: 15px;
	margin-bottom: 0;
}

.series__anchor > *:first-child {
	margin-top: 0;
}

a.series__anchor {
	color: inherit;
}

.series__anchor:hover {
	color: var(--color-a-link);
}



.series__fig {
	position: relative;
	overflow: hidden;
}

.series__fig img {
	display: block;
}

.series__fig::before,
.series__fig::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: auto;
	pointer-events: none;
	opacity: 0;
	z-index: 1;
	transition: opacity .5s cubic-bezier(.17,.84,.44,1);
	content: "";
}

.series__fig::before {
	mix-blend-mode: overlay;
	background-color: rgba(4,61,120,.3);
}

.series__fig::after {
	background-color: rgba(0,0,0,.3);
}

@media screen and (min-width: 768px) {

	.series__fig {
		margin-bottom: 15px;
	}

}

@media screen and (min-width: 1080px) {
	
	.series__fig {
		margin-bottom: 25px;
	}

	.series__fig::before {
		background-color: rgba(4,61,120,.3);
		opacity: 0;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		z-index: 5;
		pointer-events: none;
		mix-blend-mode: overlay;
	}
	
	.series__fig::after {
		opacity: 0.3;
	}

	.series__fig img {
		transition: transform 15s cubic-bezier(.55,.53,.25,1);
	}

	a:hover .series__fig img {
		transform: scale(1.2);
		transition: transform 15s cubic-bezier(.55,.53,.25,1);
	}

	a:hover .series__fig::before,
	a:hover .series__fig::after {
		opacity: 1;
	}

}



.series__head {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	z-index: 10;
	color: #fff;
	font-family: adobe-garamond-pro, toppan-bunkyu-mincho-pr6n, serif;
	/*font-family: serif;*/
	font-feature-settings: "palt";
}

a:hover .series__head {
	color: #fff;
}

.series__head-ttl {
	display: block;
	margin: 0;
	padding: 0;
	font-family: toppan-bunkyu-mincho-pr6n, serif;
	line-height: 1.5;
	/*letter-spacing: 0.025em;*/
	letter-spacing: 0.3em;
	font-size: 1.4rem;
}


@media screen and (min-width: 768px) {

	.series__head {
		left: auto;
		bottom: auto;
		right: 15px;
		top: 20px;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-feature-settings: normal;
	}

	.series__head-ttl {
		font-size: 1.6rem;
		letter-spacing: 0.5em;
	}
}

@media screen and (min-width: 1080px) {

	/*.series__head-ttl {
		font-size: 1.8rem;
	}*/

}


.series__body {
	display: none;
	font-size: 1.4rem;
}

.series__body > * {
	margin-top: 1em;
	margin-bottom: 0;
}

.series__body > *:first-child {
	margin-top: 0;
}


@media screen and (min-width: 768px) {

	.series__body {
		display: block;
	}

	.seriesList__item:not(.-l) .series__body {
		
	}

}

@media screen and (min-width: 1080px) {

	.seriesList__item:not(.-l) .series__body {
	}

}

/* --------------------------------------------------------- */

.extra-background {
	position: relative;
	background-color: var(--color-a-link);
	color: #fff;
}

.extra-background::before {
	display: block;
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	background-color: inherit;
	width: calc(100vw - var(--scrollbar-width));
	height: 100%;
	z-index: 0;
}

.extra-background .btn.btn--corner {
	color: currentColor;
	background-color: currentColor;
}

.extra-background .btn.btn--corner::before {
	background-color:  var(--color-a-link);
	border-color: currentColor;
}

.extra-background .btn.btn--corner .btn-inner {
	color: currentColor;
}

.extra-background a:hover .btn--corner,
.extra-background .btn--corner:hover {
	background-color: #fff !important;
	border-color: #fff !important;
}

.extra-background a:hover .btn.btn--corner .btn-inner,
.extra-background .btn.btn--corner:hover .btn-inner {
	color: var(--color-a-link);
}

/* --------------------------------------------------------- */
/* series (pickup) */

.series__pickups {
	position: relative;
}

.series__pickups > * {
	margin-bottom: 40px;
}

.series__pickups > *:last-child {
	margin-bottom: 0;
}

.series__pickups__item {
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 768px) {

	.series__pickups::before {
		left: -50px;
	}

}

@media screen and (min-width: 1080px) {

	.series__pickups {
		margin: 0 auto 60px;
	}

	.series__pickups::before {
		left: -80px;
	}

}

/* -------------------- */

.seriesPickup {
	
}

@media screen and (min-width: 1080px) {

	.seriesPickup {
		
	}

}

.seriesPickup__anchor {
	position: relative;
	display: block;
	text-decoration: none;
	position: relative;
}

.seriesPickup__anchor a {
	color: inherit;
}
/*a.seriesPickup__anchor {
	color: inherit;
}*/


.seriesPickup__fig {
	position: relative;
	margin-bottom: 25px;
	width: 100%;
}

.seriesPickup__fig img {
	display: block;
}

.seriesPickup__fig::before,
.seriesPickup__fig::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: auto;
	pointer-events: none;
	opacity: 0;
	z-index: 1;
	transition: opacity .5s cubic-bezier(.17,.84,.44,1);
	content: "";
}

.seriesPickup__fig::before {
	mix-blend-mode: overlay;
	background-color: rgba(4,61,120,.3);
}

.seriesPickup__fig::after {
	background-color: rgba(0,0,0,.3);
}


.seriesPickup__body {
	padding: 10px 0 40px;
}

.seriesPickup__body > * {
	margin-bottom: 20px;
}

.seriesPickup__body > *:last-child {
	margin-bottom: 0;
}

.seriesPickup__ttl-outer {
	margin-bottom: 1em;
	font-family: adobe-garamond-pro, toppan-bunkyu-mincho-pr6n, serif;
	/*font-family: serif;*/
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}

.seriesPickup__ttl {
	font-family: inherit;
	/*font-weight: bold;*/
	display: block;
	letter-spacing: 0.25em;
}

.seriesPickup__txt {
	/*font-size: 1.3rem;*/
}

.seriesPickup__txt > * {
	margin-bottom: 1em;
}

.seriesPickup__txt > *:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {

	.series__pickups > * {
		margin-bottom: 80px;
	}

	.seriesPickup__anchor {
		display: flex;
		justify-content: space-between;
	}
	
	.seriesPickup__body {
		width: 66.666%;
		padding: 40px;
		width: calc(33.333% - 40px);
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
	}
	
	_:-ms-lang(x)::-ms-backdrop, .seriesPickup__body {
		display: block;
	}
	
	.seriesPickup__fig {
		overflow: hidden;
		width: calc(66.666% - 40px);
		max-height: calc(100vh - 120px);
		margin: 0;
		transform: translateX(0);
	}

	.seriesPickup__fig img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 15s cubic-bezier(.55,.53,.25,1);
	}

	.no-object-fit .seriesPickup__fig img {
		height: auto;
	}

	/*a:hover .seriesPickup__fig img {
		transform: scale(1.2);
	}*/
	.seriesPickup__fig a:hover img {
		transform: scale(1.2);
	}

	a:hover .seriesPickup__fig::before,
	a:hover .seriesPickup__fig::after {
		opacity: 1;
	}

	.seriesPickup__ttl {
		font-size: 1.8rem;
	}

	.series__pickups__item:nth-child(even) .seriesPickup__anchor {
		flex-direction: row-reverse;
	}
	
}

@media screen and (min-width: 1080px) {

	.seriesPickup__body {
		padding: 60px;
	}
	
	.seriesPickup__txt {
		font-size: 1.4rem;
	}

}


/* --------------------------------------------------------- */
/* gift */

.gift {
	
}

.giftList {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	/*margin: 0 0 -20px;*/
	margin-bottom: 30px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.giftList__item {
	width: 100%;
	border-top: 1px solid rgba(0,0,0,0.1);
}

/*.giftList__item.-sub {
	border-top: 1px solid rgba(0,0,0,1);
}*/


@media screen and (min-width: 768px) {

	.giftList {
		align-items: stretch;
		justify-content: space-between;
		/*margin: 0 0 -40px;*/
		margin-bottom: 60px;
		border-bottom: none;
	}

	.giftList__item {
		flex: 1;
		width: auto;
		padding: 15px 0;
		border-top: none;
		border-left: 1px solid rgba(0,0,0,0.1);
	}

	.giftList__item:last-child {
		border-right: 1px solid rgba(0,0,0,0.1);
	}

	/*.giftList__item.-sub {
		border-top: none;
		border-left: 1px solid rgba(0,0,0,1);
	}*/
}

@media screen and (min-width: 1080px) {

	.giftList__item {
		
	}

}


/* -------------------- */


.giftList__anchor {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 10px;
}

a.giftList__anchor {
	color: inherit;
	text-decoration: none;
}

a.giftList__anchor:hover {
	color: var(--color-a-link);
	text-decoration: none;
}

.giftList__anchor .icon {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 24px;
	width: 24px;
}

.giftList__fig {
	width: 60px;
	margin: 0;
}

.giftList__fig img {
	display: block;
}

.giftList__ttl {
	width: 100%;
	margin: 0;
	font-size: inherit;
	font-family: adobe-garamond-pro, toppan-bunkyu-mincho-pr6n, serif;
	letter-spacing: 0.35em;
	font-size: 1.3rem;
}

/*.giftList__item.-sub .giftList__ttl {
	font-size: 1.2rem;
}*/



@media screen and (min-width: 768px) {

	.giftList__anchor {
		width: 100%;
		height: 100%;
		padding: 0px 10px;
		align-items: center;
		flex-direction: column;
	}

	.giftList__ttl {
		width: auto;
		margin-bottom: 30px;
		font-size: 1.6rem;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		align-items: center;
		display: flex;
	}

	/*.giftList__item.-sub .giftList__ttl {
		font-size: 1.3rem;
	}*/

	.giftList__anchor .icon {
		position: relative;
		margin: 0;
		transform: translateY(10px);
	}

}

@media screen and (min-width: 1080px) {

	.giftList__ttl {
		transition: transform 0.4s ease;
	}

	a:hover .giftList__ttl {
		transform: translateY(0.5em);
	}

}

/* -------------------- */

/*.giftList__noshi-link {
	text-align: center;
	font-family: serif;
}

.giftList__noshi-link a {
	text-decoration: none;
	color: var(--base-color);
	position: relative;
}

.giftList__noshi-link a:hover {
	color: var(--color-a-link);
}

.giftList__noshi-link a:after {
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	display: block;
	content: "";
	height: 1px;
	width: 100%;
	background: rgba(0,0,0,0.1);
	transition: all 0.3s cubic-bezier(.22,.61,.36,1);
}

.giftList__noshi-link a:hover:after {
	background: var(--color-a-link);
}


@media screen and (min-width: 768px) {

	.giftList__noshi-link {
		font-size: 1.5rem;
	}

}
*/



/* --------------------------------------------------------- */
/* about */

.section-about .section__fig {
	position: relative;
	margin-right: auto;
	margin-left: auto
}

.section-about .fig__catch {
	color: rgba(255,255,255,1);
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 20px;
	box-sizing: border-box;
	margin-bottom: 0;
	font-size: 1.6rem;
	font-family: adobe-garamond-pro, toppan-bunkyu-mincho-pr6n, serif;
	/*font-family: serif;*/
	font-feature-settings: "palt";
	text-align: center;
	letter-spacing: 0.16rem;
	z-index: 10;
}

.section-about .fig__catch p {
	letter-spacing: 0.35em;
}

.section-about .fig__catch > * {
	margin: 0;
}

.section-about .section__txt {
}

.section-about .section__txt p {
	line-height: 2.3;
	margin-bottom: 10px;
}

.section-about .section__fig {
	position: relative;
}

.section-about .section__fig::before {
	content: '';
	display: block;
	width: 100%;
	height: 50vw;
	max-height: 250px;
}

.section-about .section__fig img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
	
	background-size: auto !important;
}

@media screen and (min-width: 768px) {

	.section-about .fig__catch p {
		bottom: 40px;
		left: 40px;
		font-size: 2.4rem;
	}

}

@media screen and (min-width: 1080px) {

	/* about */
	.section-about .fig__catch {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		margin: 0 auto;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		position: absolute;
	}

	.section-about .section__txt {
		text-align: center;
		font-size: 1.4rem;
	}

	.section-about .section__txt p {
		margin-bottom: 20px;
	}

}


/* --------------------------------------------------------- */
/* contact */

.section-contact {
	
}

.contact__block {
	text-align: center;
	padding: 30px 0;
	border-top: 1px solid rgba(0,0,0,0.1);
}

.contact__block-ttl {
	/*font-weight: bold;*/
	font-size: 1.3rem;
	margin-bottom: 0.5em;
}

.contact__block-body {
	
}

.contact__block-body > * {
	margin-bottom: 10px;
}

.contact__block-body > *:last-child {
	margin-bottom: 0;
}

.contact__primary-txt {
	font-size: 2.0rem;
	margin-bottom: 0;
	line-height: 1;
	font-family: adobe-garamond-pro, toppan-bunkyu-mincho-pr6n, serif;
	/*font-family: serif;*/
	letter-spacing: 0;
}

.contact__primary-txt.tel {
	letter-spacing: 0.05em;
}

.contact__primary-txt a {
	text-decoration: none;
}

.contact__txt {
	font-size: 1.1rem;
}

.contact-mail .mail a,
.contact-mail .mail {
	text-decoration: none;
}

@media screen and (min-width: 1080px) {

	.section-contact-inner {
		display: flex;
		justify-content: space-between;
	}

	.contact__block {
		width: calc(33.333% - 30px);
		text-align: left;
		padding: 40px 0;
	}

	.contact__block-ttl {
		margin-bottom: 20px;
		font-size: 1.4rem;
	}

	.contact__block-body {
		/*display: flex;
		align-items: center;
		justify-content: flex-start;*/
	}

	.contact__primary-txt {
		display: inline-block;
		margin-right: 0.5em;
		font-size: 2.2rem;
	}
	
	.contact__primary-txt.tel {
		font-size: 2.5rem;
	}
	
	.contact__txt {
		font-size: 1.2rem;
		text-align: justify;
	}

}

/* --------------------------------------------------------- */
/* guide (extend anchorList) */

.anchorList.-guide {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.anchorList.-guide .anchorList__item .anchor {
	font-size: 1.3rem;
}

@media screen and (min-width: 375px) {

	/*.anchorList.-guide {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.anchorList.-guide::before,
	.anchorList.-guide::after {
		display: block;
		content: "";
		width: calc(50% - 5px);
		height: 0;
		order: 2;
	}*/

	/*.anchorList.-guide .anchorList__item {
		width: calc(50% - 5px);
	}*/

}

@media screen and (min-width: 768px) {

	.anchorList.-guide {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		border-bottom: none;
	}
	
	.anchorList.-guide::before,
	.anchorList.-guide::after {
		display: block;
		content: "";
		height: 0;
		order: 2;
	}
	
	.anchorList.-guide::before,
	.anchorList.-guide::after,
	.anchorList.-guide .anchorList__item {
		width: calc(33.333% - 20px);
	}

}

@media screen and (min-width: 1080px) {
	
	.anchorList.-guide .anchorList__item .anchor {
		font-size: 1.4rem;
	}

}

@media screen and (min-width: 1440px) {

	.anchorList.-guide::before,
	.anchorList.-guide::after,
	.anchorList.-guide .anchorList__item {
		width: calc(25% - 40px);
	}

}



/* --------------------------------------------------------- */
/* Layout - footer / global-footer */

.gf {
	margin-top: 0;
}



