@charset "shift_jis";

/* ペロチこらぼ */
.p-travelgift-banner {
	position: relative;
	width: 1120px;
	margin: 0 auto 73px;
	padding: 10px;
	background-color: rgba(255, 255, 255, 0.95);
}

.p-travelgift-banner-tmp{
		position: relative;
	width: 1120px;
	margin: 0 auto 73px;
}

.p-travelgift-banner__inner{
	/* margin: 5px; */
	border: 1px solid #e9a1a9;
}

.p-travelgift-banner__header {
	margin-top: 60px;
	text-align: center;
}

.p-travelgift-banner__link img {
	transition: opacity 0.4s;
}

.p-travelgift-banner__link:hover img {
	opacity: 0.65;
}


.p-travelgift-banner-contents{
	margin-top: 62px;
	margin-bottom: 60px;
	padding: 0 50px;
	display: flex;
	justify-content: space-between;
}


.p-travelgift-banner-primary{
	width: 540px;
}

.p-travelgift-banner-primary__text{
	line-height: 1.66;
}

.p-travelgift-banner-primary__center{
	margin-top: 36px;
	padding: 38px 0;
	border-top: 1px solid #dfdfdf;
	border-bottom: 1px solid #dfdfdf;
}

.p-travelgift-banner-primary__center dl>div{
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	max-width: 360px;
}

.p-travelgift-banner-primary__center dl dd{
	text-align: right;
}

.p-travelgift-banner-primary__center .link-opacity{
	margin: 28px auto 0;
	max-width: 360px;
	font-size: 21px;
}

.p-travelgift-banner-primary__center .link-opacity a{
  position: relative;
	margin-left: 0;
	padding: 13px 0;
}

.p-travelgift-banner-primary__notations{
	margin-top: 28px;
	font-size: 13px;
}

.p-travelgift-banner-primary__notations li{
	display: flex;
}
.p-travelgift-banner-primary__notations li::before{
	content: "・";
}

.p-travelgift-banner-contents__secondary{
	max-width: 432px;
}

.p-travelgift-banner-contents__secondary > div:first-of-type{
	margin-bottom: 30px;
}

.p-travelgift-banner-primary__third {
	margin-top: 38px;
	text-align: center;
}






.p-travelgift-limited {
	margin: 60px 100px 65px;
	padding: 55px 0 0;
	border-top: 1px solid #dfdfdf;
}

.p-travelgift-limited-row {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
	margin-bottom: 60px;
	padding: 0 100px;
	gap: 42px;
}

.p-travelgift-limited-list {
	margin-top: 48px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.p-travelgift-limited-list li {
	position: relative;
	padding: 56px 40px 20px;
	background-color: #fff;
	border-radius: 20px;
	text-align: center;
	min-height: 534px;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 76px  75px 242px 50px;
	align-items: center;
	cursor: pointer;
	transition: 0.3s;
}

.p-travelgift-limited-list li:hover {
	opacity: 0.7;
}

.p-travelgift-limited-list li::after {
	position: absolute;
	content: "";
	display: inline-block;
	top: 20px;
	right: 20px;
	width: 25px;
	height: 25px;
	background-image: url(../renewal/img/icon_zoom.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 99;
}

.p-travelgift-limited-list .--heading {
	text-align: center;
}

.p-travelgift-limited-list dl {
	margin: 15px auto;
	font-size: 1.4rem;
	font-weight: 500;
	width: 308px;
	text-align: left;
}

.p-travelgift-limited-list dl .--row {
	display: flex;
}

.p-travelgift-limited-list dt {
	width: 168px;
	flex-shrink: 0;
}

.p-travelgift-limited-list dd {
	width: 140px;
	flex-shrink: 0;
}

.p-travelgift-limited-list .--image {
	text-align: center;
	margin-top: -10px;
}



.p-travelgift-limited-list .--button {
	/* margin-top: 20px; */
}

.p-travelgift-limited-list small {
	font-size: 1.2rem;
}


/*  期間限定デザイン　モーダル */
.p-gift-tg-modal {
		opacity: 0;
		visibility: hidden;
		transition-property: opacity, visibility;
		transition-duration: 0.3s;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 999;
		display: grid;
		place-items: center;
		inset: 0;
	}
	.p-gift-tg-modal.is-open {
		opacity: 1;
		visibility: visible;
	}

	.p-gift-tg-modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.7);
	}

	.p-gift-tg-modal-container {
		margin: 80px 10vw;
		position: relative;
		max-height: 90vh;
		overflow-y: auto;
		width: 900px;
		border-radius: 8px;
	}

	.p-gift-tg-modal-contents	{
		padding: 56px 48px 32px;
		background-color: #fff;
		width: 100%;
		text-align: center;
	}

	.p-gift-tg-modal-contents img {
		max-width: 100%;
		height: auto;
	}

	.p-gift-tg-modal-close {
		position: absolute;
		top: 20px;
		right: 20px;
		width: 25px;
		aspect-ratio: 1/1;
		border: none;
		background: transparent;
		opacity: 1;
		transition: opacity 0.3s;
		display: grid;
		place-items: center;
		cursor: pointer;
		z-index: 99999999;
		padding: 0;
	}
	.p-gift-tg-modal-close:focus-visible {
		opacity: 0.7;
	}
	@media (hover: hover) and (pointer: fine) {
		.p-gift-tg-modal-close:hover {
			opacity: 0.7;
		}
	}


	.p-gift-tg-modal-contents {
		position: relative;
	}

	.p-gift-tg-modal-contents .--image {
		margin-top: 30px;
	}

	.p-gift-tg-modal-contents .--name {
		display: inline-block;
		margin-top: 32px;
		font-size: 1.8rem;
		font-weight: 500;
	}

	.p-gift-tg-modal-contents dl {
		margin: 24px auto 0;
		width: 320px;
		font-size: 1.4rem;
	}

	.p-gift-tg-modal-contents dl .--row {
		display: flex;
		gap: 12px;
		text-align: left;
	}

	.p-gift-tg-modal-contents dl dt {
		width: 168px;
	}

	.p-gift-tg-modal-contents dl dd {
		width: 140px;
	}

	.p-gift-tg-modal-contents .--text {
		margin: 32px auto 0;
		max-width: 720px;
		font-size: 1.5rem;
		text-align: left;
	}

	.p-gift-tg-modal-contents .--text a {
		display: inline-block;
		margin-inline: 0.5em;
		text-decoration: underline!important;
		transition: 0.3s;
	}

	.p-gift-tg-modal-contents .--text a:hover {
		opacity: 0.7s;
	}

	.p-gift-tg-modal-contents .--button {
		margin: 32px auto 0;
		max-width: 360px;
	}

	.p-gift-tg-modal-contents .--button a {
		padding: 15px 0;
		position: relative;
		font-size: 2.1rem;
	}

	.p-gift-tg-modal-contents .--button a .icon-cart.c-nav-btn__ico {
		position: absolute;
		right: 30px;
	}

	.p-gift-tg-modal-contents .--button a .icon-cart.c-nav-btn__ico::before{
		font-size: 2.4rem;;
	}

	.p-gift-tg-modal-contents .--notation {
		margin-top: 24px;
		font-size: 1.3rem;
	}

	.p-gift-modal-link {
		display: block;
		position: absolute;
		width: 33%;
		height: 18%;
		z-index: 99999999;
	}

	.p-gift-modal-link.--travelgift {
		bottom: 7%;
		left: 16%;
	}

	.p-gift-modal-link.--nicegift {
		bottom: 7%;
		right: 16%;
	}





	.p-feature-type._col-3 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.p-feature-type__items {
		max-width: none;
	}

	.p-feature-type__box {
		align-items: center;
	}
