@charset "utf-8";


/* --------------------------------------------------
	override
-------------------------------------------------- */
.page {
	overflow: hidden;
}
.rakutabi p {
	margin-bottom: 0;
}
.rakutabi h1,
.rakutabi h2,
.rakutabi h3,
.rakutabi h4,
.rakutabi h5,
.rakutabi h6 {
	margin-bottom: 0;
	font-size: inherit;
}
.rakutabi ul {
	margin: 0 0;
	padding: 0 0;
	list-style-type: none;
}
.rakutabi figure {
	margin-bottom: 0;
}


/* --------------------------------------------------
	parts
-------------------------------------------------- */
.rakutabi {
	position: relative;
	overflow: hidden;
	font-family: YuGothic, 'Yu Gothic Medium', 'Yu Gothic', sans-serif;
	font-weight: 400;
	font-size: max(12px, min(calc(100vw / 1440 * 18), 18px));
	line-height: 1.6;
	color: #333333;
}
.rakutabi .u-fw400 {
	font-family: YuGothic, 'Yu Gothic Medium', 'Yu Gothic', sans-serif;
	font-weight: 400;
}
.rakutabi .u-fw700 {
	font-family: YuGothic, 'Yu Gothic', sans-serif;
	font-weight: 700;
}
.rakutabi .u-fw900 {
	font-family: YuGothic, 'Yu Gothic', sans-serif;
	font-weight: 700;
	-webkit-text-stroke: 0.02em currentColor;
	text-stroke: 0.02em currentColor;
	paint-order: stroke;
}
.rakutabi .l-sec {
	position: relative;
}
.rakutabi .l-sec__inner {
	position: relative;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: min(120px, calc(120 / 1440 * 100%));
}
.rakutabi img {
	line-height: 1;
}
.rakutabi img.w100 {
	width: 100%;
}
.rakutabi a {
	color: inherit;
	transition: none;
}
.rakutabi [class*=js-fadein] {
	position: relative;
	opacity: 0;
}
.rakutabi .c-button--a {
	position: relative;
	display: block;
	text-align: center;
	border: 2px solid #000000;
	background: #000000;
	font-size: min(calc(100vw / 1440 * 32), 32px);
	color: #ffffff;
	padding: 17px min(calc(100% / 570 * 40), 40px);
	line-height: 1.3;
	max-width: 570px;
	margin-inline: auto;
	border-radius: 50px 50px;
	transition: color .3s ease,
				background-color .3s ease;
}
.rakutabi .c-button--a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: calc(100% / 570 * 20);
	width: calc(100% / 570 * 14);
	aspect-ratio: 14 / 20;
	transform: translateY(-50%);
	background: currentColor;
	mask: url('/images/americantourister-curio_frontec_2025/icon_arrow01.svg') center center / contain no-repeat;
}
.rakutabi .c-title--point {
	position: relative;
	width: calc(100% / 1200 * 570);
	margin-inline: auto;
}
.rakutabi .c-title--point::before {
	content: '';
	position: absolute;
	top: 0;
	left: 10px;
	width: 0;
	height: 100%;
	background: linear-gradient(to right, #e60027, #ea5504);
	transform: skewX(-18deg);
	transition: width .4s cubic-bezier(0.87, 0, 0.13, 1);
}
.rakutabi .c-title--point.is-view::before {
	width: calc(100% - 20px);
}
.rakutabi .c-title--point span {
	position: relative;
	display: block;
	z-index: 1;
}
@media screen and (any-hover: hover) {
	.rakutabi .c-button--a:hover {
		color: #000000;
		background: transparent;
	}
}
@media screen and (min-width: 767.1px) {
	.rakutabi .u-sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.rakutabi {
		font-size: 14px;
	}
	.rakutabi .u-pc {
		display: none;
	}
	.rakutabi .l-sec__inner {
		padding-inline: calc(30 / 750 * 100%);
	}
	.rakutabi img {
		width: auto;
	}
	.rakutabi .c-button--a {
		font-size: 18px;
		padding: 17px 25px;
		max-width: none;
		width: calc(660 / 690 * 100%);
	}
	.rakutabi .c-button--a::before {
		right: 16px;
		width: 8px;
	}
	.rakutabi .c-title--point {
		width: calc(570 / 690 * 100%);
	}
	.rakutabi .c-slick-nav {
		position: relative;
		margin-top: 30px;
		display: flex;
		justify-content: center;
	}
	.rakutabi .c-slick-nav button {
		outline: none;
		border: none;
		font-size: 0;
		cursor: pointer;
		padding: 0 0;
	}
	.rakutabi .c-slick-nav .slick-arrow {
		position: relative;
		border: 2px solid #f7f7f7;
		width: 30px;
		aspect-ratio: 1 / 1;
		border-radius: 50% 50%;
		background: #ffffff;
	}
	.rakutabi .c-slick-nav .slick-arrow::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 7.5px;
		aspect-ratio: 15 / 22;
		background: #000000;
		mask: url('/images/americantourister-curio_frontec_2025/icon_arrow01.svg') center center / contain no-repeat;
		transform: translate(-50%, -50%);
	}
	.rakutabi .c-slick-nav .slick-prev {
		transform: rotate(-180deg);
	}
	.rakutabi .c-slick-nav .slick-index {
		padding: 0 50px;
		margin: 0 -30px;
		background: #f7f7f7;
		border-radius: 30px 30px;
		font-size: 0;
	}
	.rakutabi .c-slick-nav .slick-dots {
		display: flex;
		height: 100%;
		align-items: center;
		gap: 0 6px;
	}
	.rakutabi .c-slick-nav .slick-dots button {
		width: 6px;
		aspect-ratio: 1 / 1;
		background: #000000;
		border-radius: 50% 50%;
		opacity: 0.25;
	}
	.rakutabi .c-slick-nav .slick-dots .slick-active button {
		opacity: 1;
	}
}


/* --------------------------------------------------
	keyvisual
-------------------------------------------------- */
.rakutabi .keyvisual-main {
	position: relative;
}
.rakutabi .keyvisual-voice {
	position: absolute;
	top: min(calc(100vw / 1440 * 20), 20px);
	width: calc(600 / 1440 * 100%);
}
.rakutabi .keyvisual-voice.voice--01 {
	right: calc(-310 / 1440 * 100%);
}
.rakutabi .keyvisual-voice.voice--02 {
	left: calc(-310 / 1440 * 100%);
}
.rakutabi .keyvisual-voice .vocie-list {
	position: relative;
	aspect-ratio: 600 / 750;
	width: 100%;
}
.rakutabi .keyvisual-voice .vocie-list .item {
	position: absolute;
	opacity: 0;
}
.rakutabi .keyvisual-voice.voice--01 .item:nth-of-type(1) {
	top: 0;
	left: 0;
	width: calc(164 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--01 .item:nth-of-type(2) {
	top: calc(706 / 863 * 100%);
	left: 0;
	width: calc(683 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--01 .item:nth-of-type(3) {
	top: 0;
	left: calc(194 / 690 * 100%);
	width: calc(492 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--01 .item:nth-of-type(4) {
	top: calc(299 / 863 * 100%);
	left: calc(191 / 690 * 100%);
	width: calc(499 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--01 .item:nth-of-type(5) {
	top: calc(438 / 863 * 100%);
	left: calc(194 / 690 * 100%);
	width: calc(167 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--01 .item:nth-of-type(6) {
	top: calc(430 / 863 * 100%);
	left: calc(405 / 690 * 100%);
	width: calc(285 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--02 .item:nth-of-type(1) {
	top: 0;
	left: 0;
	width: calc(688 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--02 .item:nth-of-type(2) {
	top: calc(188 / 863 * 100%);
	left: 0;
	width: calc(202 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--02 .item:nth-of-type(3) {
	top: calc(545 / 863 * 100%);
	left: 0;
	width: calc(154 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--02 .item:nth-of-type(4) {
	top: calc(188 / 863 * 100%);
	left: calc(232 / 690 * 100%);
	width: calc(158 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--02 .item:nth-of-type(5) {
	top: calc(189 / 863 * 100%);
	left: calc(435 / 690 * 100%);
	width: calc(244 / 690 * 100%);
}
.rakutabi .keyvisual-voice.voice--02 .item:nth-of-type(6) {
	top: calc(733 / 863 * 100%);
	left: calc(424 / 690 * 100%);
	width: calc(266 / 690 * 100%);
}
.rakutabi .keyvisual-kv {
	position: relative;
	width: calc(802 / 1200 * 100%);
	margin-inline: auto;
	padding: min(calc(100vw / 1440 * 31), 31px) 0 min(calc(100vw / 1440 * 40), 40px);
}
.rakutabi .keyvisual-kv__body {
	position: relative;
	aspect-ratio: 923 / 846;
	width: 100%;
}
.rakutabi .keyvisual-kv__text {
	position: absolute;
	top: 0;
	left: calc(149 / 923 * 100%);
	width: calc(631 / 923 * 100%);
	opacity: 0;
}
.rakutabi .keyvisual-kv__title {
	position: absolute;
	top: calc(85 / 846 * 100%);
	left: calc(404 / 923 * 100%);
	width: calc(123 / 923 * 100%);
	opacity: 0;
}
.rakutabi .keyvisual-kv__image.img--01 {
	position: absolute;
	top: calc(98 / 846 * 100%);
	left: 0;
	width: calc(384 / 923 * 100%);
}
.rakutabi .keyvisual-kv__image.img--02 {
	position: absolute;
	top: calc(100 / 846 * 100%);
	left: calc(554 / 923 * 100%);
	width: calc(369 / 923 * 100%);
}
.rakutabi .keyvisual-catch {
	background: linear-gradient(to right, #e60027, #ea5504);
}
.rakutabi .keyvisual-catch__text {
	padding: 8px 0;
	color: #ffffff;
	font-size: max(17px, min(calc(100vw / 1440 * 28), 28px));
	letter-spacing: 0.4em;
	text-align: center;
}
.rakutabi .keyvisual-catch__text span {
	font-size: max(14px, min(calc(100vw / 1440 * 20), 20px));
}
@media screen and (max-width: 767px) {
	.rakutabi .keyvisual-voice {
		position: absolute;
		top: calc(30 / 940 * 100%);
		width: calc(690 / 750 * 100%);
	}
	.rakutabi .keyvisual-main.is-view .keyvisual-voice {
		display: none;
	}
	.rakutabi .keyvisual-voice.voice--01 {
		right: 0;
		left: calc(30 / 750 * 100%);
	}
	.rakutabi .keyvisual-voice.voice--02 {
		left: calc(30 / 750 * 100%);
	}
	.rakutabi .keyvisual-kv {
		position: relative;
		width: calc(923 / 690 * 100%);
		padding: calc(100vw / 750 * 34) 0 calc(100vw / 750 * 60);
		margin-inline: calc(-116.5 / 690 * 100%);
	}
	.rakutabi .keyvisual-kv__image {
		opacity: 0;
	}
	.rakutabi .keyvisual-catch__text {
		padding: 5px 0;
		font-size: 14px;
	}
	.rakutabi .keyvisual-catch__text span {
		font-size: 10px;
	}
}


/* --------------------------------------------------
	intro
-------------------------------------------------- */
.rakutabi .intro {
	padding: 60px 0 90px;
}
.rakutabi .intro__text {
	text-align: center;
	color: #000000;
	font-size: max(16px, min(calc(100vw / 1440 * 24), 24px));
	margin-bottom: 30px;
}
.rakutabi .intro__list {
	display: flex;
	gap: 0 calc(100% / 1200 * 60);
}
.rakutabi .intro__list .item {
	display: grid;
	grid-template-columns: calc(120 / 570 * 100%) auto;
	grid-template-rows: 1fr auto;
	width: calc((100% - (100% / 1200 * 60)) / 2);
}
.rakutabi .intro__list .item-image {
	margin-right: calc(14 / 120 * 100%);
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}
.rakutabi .intro__list .item-text {
	margin: 0 auto 10px;
	width: calc(408 / 450 * 100%);
	align-self: flex-end;
}
.rakutabi .intro__list .item-button {
	font-size: min(calc(100vw / 1440 * 24), 24px);
	padding-inline: calc(100% / 450 * 20);
	width: 100%;
}
.rakutabi .intro__list .item-button::before {
	width: calc(100% / 450 * 10);
}
@media screen and (max-width: 767px) {
	.rakutabi .intro {
		padding: 30px 0 45px;
	}
	.rakutabi .intro__text {
		font-size: 14px;
		margin-bottom: 15px;
		text-align: left;
	}
	.rakutabi .intro__list {
		display: flex;
		gap: 0 calc(100% / 690 * 30);
	}
	.rakutabi .intro__list .item {
		display: grid;
		grid-template-columns: calc(114 / 330 * 100%) auto;
		grid-template-rows: 1fr auto;
		width: calc((100% - (100% / 690 * 30)) / 2);
	}
	.rakutabi .intro__list .item-image {
		margin-right: calc(21 / 114 * 100%);
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	.rakutabi .intro__list .item-text {
		margin: 0 0;
		width: 100%;
	}
	.rakutabi .intro__list .item-button {
		font-size: 15px;
		grid-column: 1 / 3;
		padding: 6px 6px;
		margin-top: 5px;
	}
	.rakutabi .intro__list .item-button::before {
		width: 5px;
		right: 7px;
	}
}


/* --------------------------------------------------
	point01
-------------------------------------------------- */
.rakutabi .point01 {
	padding: 180px 0 120px;
}
.rakutabi .point01::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100vw / 1440 * 270);
	background: linear-gradient(to right, #00a0d2, #32b6a0);
	clip-path: polygon(0 0, 100% 0, 0 100%);
}
.rakutabi .point01::after {
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(100vw / 1440 * 270);
	background: linear-gradient(to right, #00a0d2, #32b6a0);
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.rakutabi .point01__subtitle {
	margin: 0 auto 60px 0;
}
.rakutabi .point01__main {
	position: relative;
	margin-bottom: 160px;
}
.rakutabi .point01__image {
	position: absolute;
	right: calc(-120 / 1200 * 100%);
	top: 50%;
	transform: translateY(-50%);
	width: calc(774 / 1200 * 100%);
}
.rakutabi .point01__body {
	padding-inline: calc(60 / 1200 * 100%);
	width: calc(576 / 1200 * 100%);
}
.rakutabi .point01__title {
	width: calc(356 / 456 * 100%);
	margin-bottom: 30px;
}
.rakutabi .point01__text {
	margin-bottom: 20px;
}
.rakutabi .point01__button {
	padding-inline: calc(100% / 456 * 40);
}
.rakutabi .point01__button::before {
	right: calc(100% / 456 * 20);
	width: calc(100% / 456 * 14);
}
.rakutabi .point01__list {
	display: flex;
	gap: 0 calc((100% / 1200) * 60);
}
.rakutabi .point01__list .item {
	padding-top: 40px;
	width: calc((100% - (100% / 1200) * 60) / 2);
	border-top: 8px solid #000000;
	border-image: linear-gradient(to right, #00a0d2, #32b6a0) 1;
}
.rakutabi .point01__list .item-title {
	font-size: max(16px, min(calc(100vw / 1440 * 24), 24px));
	line-height: 1.6;
	color: #24b0ae;
	margin-bottom: 20px;
}
.rakutabi .point01__list .item-text {
	margin-bottom: 30px;
}
.rakutabi .point01__list .item-image {
	width: calc(444 / 570 * 100%);
	margin-inline: auto;
}
@media screen and (max-width: 767px) {
	.rakutabi .point01 {
		padding: 45px 0 15px;
	}
	.rakutabi .point01::before {
		height: calc(100vw / 750 * 270);
	}
	.rakutabi .point01::after {
		height: calc(100vw / 750 * 270);
	}
	.rakutabi .point01__subtitle {
		margin: 0 auto 15px;
	}
	.rakutabi .point01__main {
		margin-bottom: 30px;
	}
	.rakutabi .point01__image {
		position: relative;
		right: 0;
		top: 0;
		transform: translateY(0);
		width: calc(774 / 690 * 100%);
		margin-left: calc(-20 / 690 * 100%);
	}
	.rakutabi .point01__body {
		padding-inline: calc(30 / 690 * 100%);
		width: 100%;
	}
	.rakutabi .point01__title {
		width: calc(596 / 630 * 100%);
		margin-bottom: 15px;
	}
	.rakutabi .point01__text {
		margin-bottom: 15px;
	}
	.rakutabi .point01__button {
		padding-inline: 25px;
		margin-inline: calc(-15 / 630 * 100%);
		width: auto;
	}
	.rakutabi .point01__button::before {
		right: 16px;
		width: 8px;
	}
	.rakutabi .point01__list {
		flex-direction: column;
		gap: 30px 0;
	}
	.rakutabi .point01__list .item {
		padding: 30px calc(40 / 690 * 100%) 0;
		width: 100%;
		border-top-width: 4px;
	}
	.rakutabi .point01__list .item-title {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.rakutabi .point01__list .item-text {
		margin-bottom: 15px;
	}
	.rakutabi .point01__list .item-image {
		width: 100%;
	}
}


/* --------------------------------------------------
	point02
-------------------------------------------------- */
.rakutabi .point02 {
	margin-top: -70px;
	padding-top: 190px;
}
.rakutabi .point02__subtitle {
	margin-bottom: 40px;
}
.rakutabi .point02__title {
	margin-bottom: 60px;
}
.rakutabi .point02-info {
	position: relative;
	z-index: 1;
	margin-inline: calc(-60 / 1200 * 100%);
	padding-top: calc(100 / 1200 * 100%);
}
.rakutabi .point02-info__inner {
	position: relative;
	display: flex;
	padding: 60px 0;
}
.rakutabi .point02-info__inner::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	transform: translateX(-50%);
	background: linear-gradient(to right bottom, #f18d00, #f0e900);
}
.rakutabi .point02-info__image {
	width: calc(700 / 1320 * 100%);
	margin: calc((-100 / 1320 * 100%) - 60px) calc(44 / 1320 * 100%) 0 0;
}
.rakutabi .point02-info__body {
	flex: 1;
	padding-inline: calc(60 / 1320 * 100%);
}
.rakutabi .point02-info__title {
	margin: 0 calc(-4 / 456 * 100%) 40px;
}
.rakutabi .point02-info__lead {
	font-size: max(16px, min(calc(100vw / 1440 * 24), 24px));
	text-align: center;
	border: 2px solid #000000;
	border-radius: 10px 10px;
	padding: 4px 0;
	margin-bottom: 30px;
	background: #ffffff;
}
.rakutabi .point02-info__text {
	margin-bottom: 30px;
	color: #000000;
}
.rakutabi .point02-info__button {
	font-size: max(14px, min(calc(100vw / 1440 * 20), 20px));
}
.rakutabi .point02-spec {
	position: relative;
	padding: min(calc(100vw / 1440 * 90), 90px) 0 min(calc(100vw / 1440 * 840), 840px);
	margin: 0 calc(-120 / 1200 * 100%) 60px;
}
@media screen and (max-width: 900px) {
	.rakutabi .point02-spec {
		padding-bottom: calc(100vw / 1440 * 900);
	}
}
@media screen and (max-width: 820px) {
	.rakutabi .point02-spec {
		padding-bottom: calc(100vw / 1440 * 960);
	}
}
.rakutabi .point02-spec__title {
	position: relative;
	z-index: 1;
	width: calc(568 / 1440 * 100%);
	margin-inline: auto;
}
.rakutabi .point02-spec__title span {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform-origin: left center;
}
.rakutabi .point02-spec__image {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(2540 / 1440 * 100%);
}
.rakutabi .point02-spec__image::before {
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	right: 99%;
	width: 100vw;
	height: 100%;
	background: url('/images/americantourister-curio_frontec_2025/point02_15_1.webp') center top / 100% 100% no-repeat;
}
.rakutabi .point02-spec__image::after {
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 99%;
	width: 100vw;
	height: 100%;
	background: url('/images/americantourister-curio_frontec_2025/point02_15_2.webp') center top / 100% 100% no-repeat;
}
.rakutabi .point02-spec__image figure::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100vw;
	height: 44%;
	background: linear-gradient(to top, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0));
	transform: translateX(-50%);
}
.rakutabi .point02-spec-items__line {
	position: absolute;
	top: min(calc(100vw / 1440 * 320), 320px);
	left: calc(266 / 1440 * 100%);
	width: calc(837 / 1440 * 100%);
}
.rakutabi .point02-spec-items__list {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.rakutabi .point02-spec-items__list .item {
	position: absolute;
	z-index: 1;
	width: calc(240 / 1440 * 100%);
}
.rakutabi .point02-spec-items__list .item-title {
	margin: calc(-55 / 240 * 100%) 0 8px;
}
.rakutabi .point02-spec-items .item--01 {
	top: 0;
	left: calc(120 / 1440 * 100%);
}
.rakutabi .point02-spec-items__list .item.item--01::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: max(calc(100vw / 1440 * 10), 10px);
	left: calc(-110 / 240 * 100%);
	width: calc(100% + (165 / 240 * 100%));
	height: min(calc(100vw / 1440 * 335), 335px);
	background: linear-gradient(to right bottom, #f18d00, #f0e900);
}
.rakutabi .point02-spec-items__list .item.item--01 figure {
	margin-right: calc(-45 / 240 * 100%);
}
.rakutabi .point02-spec-items__list .item:nth-of-type(2) {
	bottom: min(calc(100vw / 1440 * 20), 20px);
	right: calc(120 / 1440 * 100%);
}
.rakutabi .point02-spec-items__list .item.item--02::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: max(calc(100vw / 1440 * -20), -20px);
	left: calc(-20 / 240 * 100%);
	width: calc(100% + (40 / 240 * 100%));
	height: min(calc(100vw / 1440 * 40 + 100%), calc(100% + 40px));
	background: linear-gradient(to right bottom, #f18d00, #f0e900);
}
.rakutabi .point02-spec-items__list .item.item--03 {
	top: min(calc(100vw / 1440 * 60), 60px);
	right: calc(120 / 1440 * 100%);
}
.rakutabi .point02-spec-items__list .item.item--04 {
	bottom: min(calc(100vw / 1440 * 20), 20px);
	left: calc(120 / 1440 * 100%);
}
.rakutabi .point02-variation {
	position: relative;
	z-index: 1;
	margin-bottom: 60px;
}
.rakutabi .point02-variation__icon {
	font-size: 0;
	width: calc(127 / 1200 * 100%);
	margin: 0 auto 5px;
}
.rakutabi .point02-variation__title {
	position: relative;
	z-index: 1;
	text-align: center;
	font-size: min(calc(100vw / 1440 * 40), 40px);
	margin-bottom: -0.7em;
}
.rakutabi .point02-variation__title span {
	display: inline-block;
	background: #ffffff;
	padding-inline: 0.5em;
}
.rakutabi .point02-variation__box {
	position: relative;
	padding: 8px 8px;
}
.rakutabi .point02-variation__box::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right bottom, #f0ba00, #f18d00);
}
.rakutabi .point02-variation__box::after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 2px;
	left: 2px;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	border: 4px solid #ffffff;
}
.rakutabi .point02-variation__box-inner {
	position: relative;
	background: #ffffff;
	padding: calc((24 / 1200 * 100%) + 30px) calc(52 / 1184 * 100%) 52px;
}
.rakutabi .point02-variation-size__list {
	display: flex;
	justify-content: center;
	gap: 0 calc(60 / 1080 * 100%);
	margin-bottom: 40px;
}
.rakutabi .point02-variation-size__list .item {
	width: calc(200 / 1080 * 100%);
}
.rakutabi .point02-variation-size__list .item-image {
	width: calc(147 / 200 * 100%);
	margin-inline: auto;
}
.rakutabi .point02-variation-size__list a {
	padding: 11px min(calc(100% / 200 * 20), 20px);
	font-size: max(12px, min(calc(100vw / 1440 * 18), 18px));
}
.rakutabi .point02-variation-size__list .item-button::before {
	right: calc(100% / 200 * 15);
	width: calc(100% / 200 * 9);
}
.rakutabi .point02-variation-color__list {
	display: flex;
	justify-content: center;
	gap: 0 calc(20 / 1080 * 100%);
}
.rakutabi .point02-variation-color__list .item {
	width: calc(120 / 1080 * 100%);
}
.rakutabi .point02__button {
	position: relative;
	z-index: 1;
}
.rakutabi .point02__button a {
	width: calc(100% / 1200 * 570);
	font-size: min(calc(100vw / 1440 * 30), 30px);
	padding: 18px min(calc(100% / 570 * 40), 40px);
}
@media screen and (max-width: 767px) {
	.rakutabi .point02 {
		margin-top: -60px;
		padding-top: 105px;
	}
	.rakutabi .point02__subtitle {
		margin-bottom: 20px;
	}
	.rakutabi .point02__title {
		margin-bottom: 30px;
	}
	.rakutabi .point02-info {
		margin-inline: 0;
		padding-top: calc(100 / 690 * 100%);
	}
	.rakutabi .point02-info__inner {
		flex-direction: column;
		padding: 1px 0 45px;
	}
	.rakutabi .point02-info__image {
		width: 100%;
		margin: calc(-100 / 690 * 100%) 0 30px;
	}
	.rakutabi .point02-info__body {
		padding-inline: calc(30 / 690 * 100%);
	}
	.rakutabi .point02-info__title {
		width: calc(464 / 630 * 100%);
		margin: 0 auto 20px;
	}
	.rakutabi .point02-info__lead {
		font-size: 15px;
		border-radius: 6px 6px;
		padding: 2px 0;
		margin-bottom: 15px;
	}
	.rakutabi .point02-info__text {
		margin-bottom: 15px;
	}
	.rakutabi .point02-info__button {
		font-size: 18px;
		width: auto;
		margin: 0 calc(-15 / 630 * 100%);
	}
	.rakutabi .point02-spec {
		padding: calc(90 / 690 * 100%) 0 45px;
		margin: 0 0;
	}
	.rakutabi .point02-spec__title {
		width: 100%;
		margin-bottom: calc(790 / 690 * 100%);
	}
	.rakutabi .point02-spec__image {
		position: absolute;
		margin-top: calc(-20 / 690 * 100%);
		left: 50%;
		transform: translateX(-50%);
		width: calc(3000 / 690 * 100%);
	}
	.rakutabi .point02-spec__image::before {
		content: none;
	}
	.rakutabi .point02-spec__image::after {
		content: none;
	}
	.rakutabi .point02-spec__image .num {
		position: absolute;
		width: calc(40 / 3000 * 100%);
	}
	.rakutabi .point02-spec__image .num.num--01 {
		top: calc(546 / 1874 * 100%);
		left: calc(1300 / 3000 * 100%);
	}
	.rakutabi .point02-spec__image .num.num--02 {
		top: calc(957 / 1874 * 100%);
		left: calc(1660 / 3000 * 100%);
	}
	.rakutabi .point02-spec__image .num.num--03 {
		top: calc(424 / 1874 * 100%);
		left: calc(1500 / 3000 * 100%);
	}
	.rakutabi .point02-spec__image .num.num--04 {
		top: calc(820 / 1874 * 100%);
		left: calc(1405 / 3000 * 100%);
	}
	.rakutabi .point02-spec-items {
		margin-inline: calc(-30 / 690 * 100%);
	}
	.rakutabi .point02-spec-items__list {
		position: relative;
	}
	.rakutabi .point02-spec-items__list .item-unit {
		position: relative;
		display: flex;
		padding: 20px calc(100vw / 750 * 60);
		gap: 0 calc(100vw / 750 * 30);
	}
	.rakutabi .point02-spec-items__list .item-unit.unit--01::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc(30 / 750 * 100%);
		width: calc(100% - (60 / 750 * 100%));
		height: 100%;
		background: linear-gradient(to right bottom, #f18d00, #f0e900);
	}
	.rakutabi .point02-spec-items__list .item {
		position: relative;
		width: calc((100% - (30 / 630 * 100%)) / 2);
	}
	.rakutabi .point02-spec-items__list .item-title {
		margin: calc(-80 / 300 * 100%) 0 8px;
	}
	.rakutabi .point02-spec-items__list .item.item--01 {
		left: 0;
	}
	.rakutabi .point02-spec-items__list .item.item--01::before {
		content: none;
	}
	.rakutabi .point02-spec-items__list .item.item--01 figure {
		margin-right: 0;
	}
	.rakutabi .point02-spec-items__list .item.item--02 {
		bottom: 0;
		right: 0;
	}
	.rakutabi .point02-spec-items__list .item.item--02::before {
		content: none;
	}
	.rakutabi .point02-spec-items__list .item.item--03 {
		top: 0;
		right: 0;
	}
	.rakutabi .point02-spec-items__list .item.item--04 {
		bottom: 0;
		left: 0;
	}
	.rakutabi .point02-variation {
		margin-bottom: 30px;
	}
	.rakutabi .point02-variation__icon {
		width: calc(141 / 690 * 100%);
		margin: 0 auto 5px;
	}
	.rakutabi .point02-variation__title {
		font-size: 20px;
	}
	.rakutabi .point02-variation__box {
		padding: 5px 5px;
	}
	.rakutabi .point02-variation__box::after {
		top: 1px;
		left: 1px;
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		border-width: 3px;
	}
	.rakutabi .point02-variation__box-inner {
		padding: calc((24 / 670 * 100%) + 6px) calc(20 / 670 * 100%) 25px;
	}
	.rakutabi .point02-variation-size__list {
		gap: 0 calc(15 / 670 * 100%);
		margin-bottom: 20px;
	}
	.rakutabi .point02-variation-size__list .item {
		width: calc((100% - (30 / 670 * 100%)) / 3);
	}
	.rakutabi .point02-variation-size__list .item-image {
		width: calc(160 / 200 * 100%);
	}
	.rakutabi .point02-variation-size__list a {
		padding: 6px 10px;
		font-size: 11px;
	}
	.rakutabi .point02-variation-size__list .item-button::before {
		right: 8px;
		width: 5px;
	}
	.rakutabi .point02-variation-color__list {
		flex-wrap: wrap;
		gap: 10px calc(15 / 670 * 100%);
	}
	.rakutabi .point02-variation-color__list .item {
		width: calc((100% - (30 / 670 * 100%)) / 3);
		padding-inline: calc(20 / 670 * 100%);
	}
	.rakutabi .point02__button a {
		width: calc(660 / 690 * 100%);
		font-size: 18px;
		padding: 17px 25px;
	}
}


/* --------------------------------------------------
	frontec
-------------------------------------------------- */
.rakutabi .frontec {
	margin-top: -70px;
	padding: 190px 0 120px;
}
.rakutabi .frontec-info {
	position: relative;
	z-index: 1;
	margin-inline: calc(-60 / 1200 * 100%);
	padding-top: calc(100 / 1200 * 100%);
}
.rakutabi .frontec-info__inner {
	position: relative;
	display: flex;
	padding: 60px 0;
}
.rakutabi .frontec-info__inner::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	transform: translateX(-50%);
	background: linear-gradient(to right, #5f67ae, #007cc3);
}
.rakutabi .frontec-info__image {
	width: calc(700 / 1320 * 100%);
	margin: calc((-100 / 1320 * 100%) - 60px) calc(44 / 1320 * 100%) 0 0;
}
.rakutabi .frontec-info__body {
	flex: 1;
	padding-inline: calc(60 / 1320 * 100%);
}
.rakutabi .frontec-info__title {
	margin: 0 calc(-4 / 456 * 100%) 40px;
}
.rakutabi .frontec-info__lead {
	font-size: max(16px, min(calc(100vw / 1440 * 24), 24px));
	text-align: center;
	border: 2px solid #000000;
	border-radius: 10px 10px;
	padding: 4px 0;
	margin-bottom: 30px;
	background: #ffffff;
}
.rakutabi .frontec-info__text {
	margin-bottom: 30px;
	color: #ffffff;
}
.rakutabi .frontec-info__button {
	font-size: max(14px, min(calc(100vw / 1440 * 20), 20px));
}
.rakutabi .frontec-spec {
	position: relative;
	padding: min(calc(100vw / 1440 * 968), 968px) 0 30px;
	margin: 0 calc(-120 / 1200 * 100%) 60px;
}
.rakutabi .frontec-spec__title {
	position: relative;
	z-index: 1;
	width: calc(386 / 1440 * 100%);
	margin-inline: auto;
}
.rakutabi .frontec-spec__title span {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform-origin: left center;
}
.rakutabi .frontec-spec__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.rakutabi .frontec-spec__image::before {
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	background: linear-gradient(to bottom, #fefefe, #e9e9e9);
	transform: translateX(-50%);
}
.rakutabi .frontec-spec__image::after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 100%;
	left: 50%;
	width: 100vw;
	height: 400px;
	background: #e9e9e9;
	transform: translateX(-50%);
}
.rakutabi .frontec-spec__image figure::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	width: 100vw;
	height: 400px;
	background: linear-gradient(to top, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0));
	transform: translateX(-50%);
}
.rakutabi .frontec-spec__onoff--on {
	position: absolute;
	top: min(calc(100vw / 1440 * 140), 140px);
	left: calc(120 / 1440 * 100%);
	width: calc(120 / 1440 * 100%);
}
.rakutabi .frontec-spec__onoff--off {
	position: absolute;
	top: min(calc(100vw / 1440 * 140), 140px);
	right: calc(120 / 1440 * 100%);
	width: calc(120 / 1440 * 100%);
}
.rakutabi .frontec-spec-items__line {
	position: absolute;
	top: min(calc(100vw / 1440 * 484), 484px);
	left: calc(310 / 1440 * 100%);
	width: calc(771 / 1440 * 100%);
}
.rakutabi .frontec-spec-items__list {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.rakutabi .frontec-spec-items__list .item {
	position: absolute;
	z-index: 1;
	width: calc(240 / 1440 * 100%);
}
.rakutabi .frontec-spec-items__list .item-title {
	margin: calc(-55 / 240 * 100%) 0 8px;
}
.rakutabi .frontec-spec-items__list .item.item--01 {
	bottom: 15px;
	left: calc(120 / 1440 * 100%);
}
.rakutabi .frontec-spec-items__list .item.item--02 {
	bottom: 15px;
	right: calc(120 / 1440 * 100%);
	padding-bottom: 3.2em;
}
.rakutabi .frontec-variation {
	position: relative;
	z-index: 1;
	margin-bottom: 60px;
}
.rakutabi .frontec-variation__icon {
	width: calc(127 / 1200 * 100%);
	margin: 0 auto 5px;
	font-size: 0;
}
.rakutabi .frontec-variation__title {
	position: relative;
	z-index: 1;
	text-align: center;
	font-size: min(calc(100vw / 1440 * 40), 40px);
	margin-bottom: -0.7em;
}
.rakutabi .frontec-variation__title span {
	display: inline-block;
	background: #ffffff;
	padding-inline: 0.5em;
}
.rakutabi .frontec-variation__box {
	position: relative;
	padding: 8px 8px;
}
.rakutabi .frontec-variation__box::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #5f67ae, #007cc3);
}
.rakutabi .frontec-variation__box::after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 2px;
	left: 2px;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	border: 4px solid #ffffff;
}
.rakutabi .frontec-variation__box-inner {
	position: relative;
	background: #ffffff;
	padding: calc((24 / 1200 * 100%) + 30px) calc(52 / 1184 * 100%) 52px;
}
.rakutabi .frontec-variation-size__list {
	display: flex;
	justify-content: center;
	gap: 0 calc(40 / 1080 * 100%);
	margin-bottom: 40px;
}
.rakutabi .frontec-variation-size__list .item {
	width: calc(200 / 1080 * 100%);
}
.rakutabi .frontec-variation-size__list .item-image {
	width: calc(147 / 200 * 100%);
	margin-inline: auto;
}
.rakutabi .frontec-variation-size__list a {
	padding: 11px min(calc(100% / 200 * 20), 20px);
	font-size: max(12px, min(calc(100vw / 1440 * 18), 18px));
}
.rakutabi .frontec-variation-size__list .item-button::before {
	right: calc(100% / 200 * 15);
	width: calc(100% / 200 * 9);
}
.rakutabi .frontec-variation-color__list {
	display: flex;
	justify-content: center;
	gap: 0 calc(20 / 1080 * 100%);
}
.rakutabi .frontec-variation-color__list .item {
	width: calc(120 / 1080 * 100%);
}
.rakutabi .frontec__button {
	position: relative;
	z-index: 1;
}
.rakutabi .frontec__button a {
	width: calc(100% / 1200 * 570);
	font-size: min(calc(100vw / 1440 * 30), 30px);
	padding: 18px min(calc(100% / 570 * 40), 40px);
}
@media screen and (max-width: 767px) {
	.rakutabi .frontec {
		margin-top: -60px;
		padding: 105px 0 45px;
	}
	.rakutabi .frontec-info {
		margin-inline: 0;
		padding-top: calc(100 / 690 * 100%);
	}
	.rakutabi .frontec-info__inner {
		flex-direction: column;
		padding: 1px 0 45px;
	}
	.rakutabi .frontec-info__image {
		width: 100%;
		margin: calc(-100 / 690 * 100%) 0 30px;
	}
	.rakutabi .frontec-info__body {
		padding-inline: calc(30 / 690 * 100%);
	}
	.rakutabi .frontec-info__title {
		width: calc(520 / 630 * 100%);
		margin: 0 auto 20px;
	}
	.rakutabi .frontec-info__lead {
		font-size: 15px;
		border-radius: 6px 6px;
		padding: 2px 0;
		margin-bottom: 15px;
	}
	.rakutabi .frontec-info__text {
		margin-bottom: 15px;
	}
	.rakutabi .frontec-info__button {
		font-size: 18px;
		width: auto;
		margin: 0 calc(-15 / 630 * 100%);
	}
	.rakutabi .frontec-spec {
		position: relative;
		padding: calc(640 / 690 * 100%) 0 45px;
		margin: 0 0;
	}
	.rakutabi .frontec-spec__title {
		width: calc(683 / 690 * 100%);
		margin-bottom: 30px;
	}
	.rakutabi .frontec-spec__image {
		left: 50%;
		width: calc(900 / 690 * 100%);
		transform: translateX(-50%);
	}
	.rakutabi .frontec-spec__image::before {
		content: none;
	}
	.rakutabi .frontec-spec__image .num {
		position: absolute;
		width: calc(40 / 900 * 100%);
	}
	.rakutabi .frontec-spec__image .num.num--01 {
		top: calc(270 / 600 * 100%);
		left: calc(430 / 900 * 100%);
	}
	.rakutabi .frontec-spec__image .num.num--02 {
		top: calc(530 / 600 * 100%);
		left: calc(530 / 900 * 100%);
	}
	.rakutabi .frontec-spec__onoff--on {
		position: absolute;
		top: calc(100vw / 750 * 60);
		left: calc(-30 / 690 * 100%);
		width: calc(120 / 690 * 100%);
	}
	.rakutabi .frontec-spec__onoff--off {
		top: calc(100vw / 750 * 60);
		right: calc(-30 / 690 * 100%);
		width: calc(120 / 690 * 100%);
	}
	.rakutabi .frontec-spec-items {
		margin-inline: calc(-30 / 690 * 100%);
	}
	.rakutabi .frontec-spec-items__list {
		position: relative;
	}
	.rakutabi .frontec-spec-items__list .item-unit {
		position: relative;
		display: flex;
		padding: 0 calc(100vw / 750 * 60);
		gap: 0 calc(100vw / 750 * 30);
	}
	.rakutabi .frontec-spec-items__list .item {
		position: relative;
		width: calc((100% - (30 / 630 * 100%)) / 2);
	}
	.rakutabi .frontec-spec-items__list .item-title {
		margin: calc(-80 / 300 * 100%) 0 8px;
	}
	.rakutabi .frontec-spec-items .item.item--01 {
		bottom: 0;
		left: 0;
	}
	.rakutabi .frontec-spec-items__list .item.item--02 {
		bottom: 0;
		right: 0;
		padding-bottom: 0;
	}
	.rakutabi .frontec-variation {
		margin-bottom: 30px;
	}
	.rakutabi .frontec-variation__icon {
		width: calc(141 / 690 * 100%);
		margin: 0 auto 5px;
	}
	.rakutabi .frontec-variation__title {
		font-size: 20px;
	}
	.rakutabi .frontec-variation__box {
		padding: 5px 5px;
	}
	.rakutabi .frontec-variation__box::after {
		top: 1px;
		left: 1px;
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		border-width: 3px;
	}
	.rakutabi .frontec-variation__box-inner {
		padding: calc((24 / 670 * 100%) + 6px) calc(20 / 670 * 100%) 25px;
	}
	.rakutabi .frontec-variation-size__list {
		gap: 0 calc(10 / 670 * 100%);
		margin-bottom: 20px;
	}
	.rakutabi .frontec-variation-size__list .item {
		width: calc((100% - (30 / 670 * 100%)) / 4);
	}
	.rakutabi .frontec-variation-size__list .item-image {
		width: 100%;
	}
	.rakutabi .frontec-variation-size__list a {
		padding: 6px 10px;
		font-size: 11px;
	}
	.rakutabi .frontec-variation-size__list .item-button::before {
		right: 8px;
		width: 5px;
	}
	.rakutabi .frontec-variation-color__list {
		flex-wrap: wrap;
		gap: 10px calc(15 / 670 * 100%);
	}
	.rakutabi .frontec-variation-color__list .item {
		width: calc((100% - (30 / 670 * 100%)) / 3);
		padding-inline: calc(20 / 670 * 100%);
	}
	.rakutabi .frontec__button a {
		width: calc(660 / 690 * 100%);
		font-size: 18px;
		padding: 17px 25px;
	}
	.rakutabi .frontec-spec-items .c-slick-nav {
		display: none;
	}
}


/* --------------------------------------------------
	accessory
-------------------------------------------------- */
.rakutabi .accessory {
	padding: 120px 0;
	background: linear-gradient(to bottom right, #cfdb00, #428fa9);
}
.rakutabi .accessory__title {
	margin: 0 auto 60px;
	width: calc(100% / 1200 * 692);
}
.rakutabi .accessory-items {
	background: #ffffff;
	border-radius: 60px 60px;
	margin-inline: calc(-60 / 1200 * 100%);
}
.rakutabi .accessory-items__list .item {
	position: relative;
	padding: 60px calc(60 / 1320 * 100%) 80px;
	display: flex;
}
.rakutabi .accessory-items__list .item:nth-of-type(2n+1) {
	flex-direction: row-reverse;
}
.rakutabi .accessory-items__list .item::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(to right, #cfdb00, #428fa9);
}
.rakutabi .accessory-items__list .item::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 6px, rgba(255, 255, 255, 0) 6px);
	background-size: 12px 3px;
}
.rakutabi .accessory-items__list .item-image {
	width: calc(487 / 1200 * 100%);
	margin-top: calc(-80 / 1200 * 100%);
}
.rakutabi .accessory-items__list .item-main {
	flex: 1;
	display: flex;
}
.rakutabi .accessory-items__list .item:nth-of-type(2n) .item-main {
	flex-direction: row-reverse;
}
.rakutabi .accessory-items__list .item-body {
	padding-inline: calc(60 / 713 * 100%);
	width: calc(516 / 713 * 100%);
}
.rakutabi .accessory-items__list .item-num {
	width: calc(160 / 396 * 100%);
	margin-bottom: 25px;
}
.rakutabi .accessory-items__list .item-title {
	color: #000000;
	font-size: min(calc(100vw / 1440 * 32), 32px);
	line-height: 1.5;
	margin-bottom: 15px;
}
.rakutabi .accessory-items__list .item-button {
	margin: 30px calc(-54 / 396 * 100%) 0 0;
	display: flex;
	gap: 0 calc(10 / 450 * 100%);
}
.rakutabi .accessory-items__list .item-button a {
	font-size: max(12px, min(calc(100vw / 1440 * 18), 18px));
	padding: 11px 0;
	width: calc((100% - (10 / 450 * 100%)) / 2);
	margin-inline: 0;
}
.rakutabi .accessory-items__list .item-button a::before {
	right: calc(100% / 200 * 15);
	width: calc(100% / 200 * 9);
}
.rakutabi .accessory-items__list .item-icon {
	flex: 1;
}
.rakutabi .accessory-items__list .item .item-icon figure {
	margin-left: auto;
	padding-top: calc((40 / 197 * 100%) + 25px);
}
.rakutabi .accessory-items__list .item:nth-of-type(2n+1) .item-icon figure {
	margin-left: 0;
	margin-right: auto;
}
.rakutabi .accessory-items__list .item:nth-of-type(1) .item-icon figure {
	width: calc(168 / 197 * 100%);
}
.rakutabi .accessory-items__list .item:nth-of-type(2) .item-icon figure {
	width: calc(188 / 197 * 100%);
}
.rakutabi .accessory-items__list .item:nth-of-type(3) .item-icon figure {
	width: calc(188 / 197 * 100%);
}
.rakutabi .accessory-items__list .item:nth-of-type(4) .item-icon figure {
	width: calc(168 / 197 * 100%);
}
.rakutabi .accessory-items__button {
	padding: 60px 0;
}
.rakutabi .accessory-items__button a {
	width: calc(100% / 1320 * 570);
}
@media screen and (max-width: 767px) {
	.rakutabi .accessory {
		padding: 45px 0;
	}
	.rakutabi .accessory__title {
		margin: 0 calc(-1 / 690 * 100%) 15px;
		width: calc(100% / 690 * 692);
	}
	.rakutabi .accessory-items {
		border-radius: 15px 15px;
		padding-top: 1px;
		margin: calc(60 / 690 * 100% + 15px) 0 0;
	}
	.rakutabi .accessory-items__body {
		position: relative;
		margin-top: calc(-60 / 690 * 100%);
		padding-bottom: 30px;
	}
	.rakutabi .accessory-items__body::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: linear-gradient(to right, #cfdb00, #428fa9);
	}
	.rakutabi .accessory-items__body::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: linear-gradient(to right, rgba(255, 255, 255, 1) 3px, rgba(255, 255, 255, 0) 3px);
		background-size: 6px 2px;
	}
	.rakutabi .accessory-items__list .item {
		padding: 0 calc(100vw / 750 * 30) 0;
		display: block;
	}
	.rakutabi .accessory-items__list .item::before,
	.rakutabi .accessory-items__list .item::after {
		content: none;
	}
	.rakutabi .accessory-items__list .item-image {
		width: calc(570 / 630 * 100%);
		margin: 0 auto 15px;
	}
	.rakutabi .accessory-items__list .item:nth-of-type(2n) .item-main {
		flex-direction: row;
	}
	.rakutabi .accessory-items__list .item-body {
		padding: 0 calc(30 / 630 * 100%) 0 0;
		width: calc(430 / 630 * 100%);
		align-self: flex-end;
	}
	.rakutabi .accessory-items__list .item-num {
		width: 100px;
		margin-bottom: 15px;
	}
	.rakutabi .accessory-items__list .item-title {
		font-size: 20px;
		margin-bottom: 10px;
	}
	.rakutabi .accessory-items__list .item-text {
		font-size: 12px;
	}
	.rakutabi .accessory-items__list .item-button {
		margin: 15px calc(-230 / 400 * 100%) 0 0;
		gap: 0 calc(10 / 630 * 100%);
	}
	.rakutabi .accessory-items__list .item-button a {
		font-size: 13px;
		padding: 10px 10px;
		width: 100%;
	}
	.rakutabi .accessory-items__list .item-button.col2 a {
		width: calc((100% - (10 / 630 * 100%)) / 2);
	}
	.rakutabi .accessory-items__list .item-button a::before {
		right: 10px;
		width: 7px;
	}
	.rakutabi .accessory-items__list .item .item-icon {
		align-self: flex-end;
		margin-bottom: 55px;
	}
	.rakutabi .accessory-items__list .item .item-icon figure {
		margin-left: auto;
		padding-top: 0 !important;
		width: 100% !important;
	}
	.rakutabi .accessory-items__button {
		padding: 30px calc(30 / 690 * 100%);
	}
	.rakutabi .accessory-items__button a {
		width: auto;
	}
}


/* --------------------------------------------------
	point03
-------------------------------------------------- */
.rakutabi .point03 {
	padding: 120px 0 90px;
}
.rakutabi .point03__subtitle {
	margin-bottom: 30px;
}
.rakutabi .point03__title {
	margin: 0 auto 60px;
	width: calc(100% / 1200 * 688);
}
.rakutabi .point03-history {
	position: relative;
	margin-bottom: 60px;
}
.rakutabi .point03-history::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 6px;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}
.rakutabi .point03-history__list {
	display: flex;
	gap: 0 calc(100% / 1200 * 40);
}
.rakutabi .point03-history__list .item {
	position: relative;
	padding-top: calc(100% / 1200 * 60);
	width: calc((100% - (100% / 1200 * 120)) / 4);
}
.rakutabi .point03-history__list .item-year {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 50%;
	width: calc(100% / 270 * 119);
	transform: translateX(-50%);
	font-size: 0;
}
.rakutabi .point03-history__list .item-text {
	margin-top: calc(-10 / 270 * 100%);
}
.rakutabi .point03-history__list .item:nth-of-type(1) .item-image {
	margin-top: calc(-13.8 / 270 * 100%);
}
.rakutabi .point03-history__list .item:nth-of-type(4) .item-year {
	margin-top: calc(-42 / 270 * 100%);
}
.rakutabi .point03__button {
	width: calc(100% / 1200 * 570);
	margin-inline: auto;
}
@media screen and (max-width: 767px) {
	.rakutabi .point03 {
		padding: 45px 0;
	}
	.rakutabi .point03__subtitle {
		margin-bottom: 15px;
	}
	.rakutabi .point03__title {
		margin-bottom: calc(16px + 100vw / 750 * 28);
		width: calc(688 / 690 * 100%);
	}
	.rakutabi .point03-history {
		margin: 0 calc(45 / 690 * 100%) 30px;
	}
	.rakutabi .point03-history::before {
		top: calc(100vw / 750 * 400);
	}
	.rakutabi .point03-history__list {
		display: block;
	}
	.rakutabi .point03-history__list .item {
		padding: calc(100vw / 750 * 80) calc(100vw / 750 * 75) 0;
		width: auto;
	}
	.rakutabi .point03-history__list .item-year {
		width: calc(186 / 600 * 100%);
	}
	.rakutabi .point03-history__list .item-text {
		margin-top: calc(-25 / 450 * 100%);
	}
	.rakutabi .point03-history__list .item:nth-of-type(4) .item-year {
		margin-top: calc(-28 / 600 * 100%);
		width: calc(160 / 600 * 100%);
	}
	.rakutabi .point03__button {
		width: 100%;
	}
	.rakutabi .point03-history__list .slick-list {
		overflow: visible !important;
	}
	.rakutabi .point03-history__list .slick-arrow {
		position: absolute;
		z-index: 1;
		width: 30px;
		aspect-ratio: 1 / 1;
		border: none;
		background: #000000;
		border-radius: 50% 50%;
		font-size: 0;
		outline: none;
		top: calc(100vw / 750 * 400 - 12px);
		cursor: pointer;
		padding: 0 0;
	}
	.rakutabi .point03-history__list .slick-arrow::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 7.5px;
		aspect-ratio: 15 / 22;
		background: url('/images/americantourister-curio_frontec_2025/icon_arrow01.svg') center center / contain no-repeat;
		transform: translate(-50%, -50%);
	}
	.rakutabi .point03-history__list .slick-arrow.slick-disabled {
		opacity: 0.2;
	}
	.rakutabi .point03-history__list .slick-prev {
		left: calc(-45 / 600 * 100%);
		transform: rotate(-180deg);
	}
	.rakutabi .point03-history__list .slick-next {
		right: calc(-45 / 600 * 100%);
	}
}


/* --------------------------------------------------
	shoplist
-------------------------------------------------- */
.rakutabi .shoplist {
	padding: 90px 0;
	background: #f2f2f2;
}
.rakutabi .shoplist__title {
	text-align: center;
	font-size: min(calc(100vw / 1440 * 32), 32px);
	line-height: 1.5;
	color: #000000;
	margin-bottom: 30px;
}
.rakutabi .shoplist__list + .shoplist__title {
	margin-top: 80px;
}
.rakutabi .shoplist__list {
	display: flex;
	justify-content: center;
	gap: 0 calc(40 / 1200 * 100%);
}
.rakutabi .shoplist__list .item {
	width: min(calc((100% - 40px) / 2), 570px);
}
@media screen and (max-width: 767px) {
	.rakutabi .shoplist {
		padding: 45px 0;
	}
	.rakutabi .shoplist__title {
		font-size: 20px;
		margin-bottom: 15px;
	}
	.rakutabi .shoplist__list + .shoplist__title {
		margin-top: 40px;
	}
	.rakutabi .shoplist__list {
		flex-direction: column;
		gap: 15px 0;
	}
	.rakutabi .shoplist__list .item {
		width: 100%;
	}
}


/* --------------------------------------------------
	shoplist - modal
-------------------------------------------------- */
.mfp-rakutabi.mfp-bg {
	background: #000000;
	opacity: 0.8;
	transition: all 0.3s ease-out;
}
.mfp-rakutabi.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-rakutabi.mfp-wrap .mfp-content {
	transition: all 0.3s ease-out;
}
.mfp-rakutabi.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.mfp-rakutabi .mfp-container {
	padding: 0 40px;
}
.mfp-rakutabi .mfp-close {
	width: 33px;
	height: auto;
	aspect-ratio: 1 / 1;
	line-height: 1;
	opacity: 1;
	padding: 0 0;
	font-size: 0;
	top: 90px;
	right: 30px;
	background: url('/images/americantourister-curio_frontec_2025/icon_close.webp') center center / 100% auto no-repeat;
	transition: opacity .3s ease;
}
.mfp-rakutabi .shoplist-modal {
	position: relative;
	max-width: 738px;
	margin-inline: auto;
	padding: 60px 0;
	top: 50px;
	opacity: 0;
	transition: opacity 0.8s ease, top 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
.mfp-rakutabi.mfp-ready .shoplist-modal {
	opacity: 1;
	top: 0;
}
.mfp-rakutabi .shoplist-modal__inner {
	border-radius: 20px 20px;
	padding: 60px calc(60 / 738 * 100%);
	background: #ffffff;
}
.mfp-rakutabi .shoplist-modal__title {
	font-size: max(16px, min(calc(100vw / 1440 * 24), 24px));
	color: #e70b22;
	margin-bottom: 20px;
}
.mfp-rakutabi .shoplist-modal__list {
	line-height: 1.6;
	font-size: max(16px, min(calc(100vw / 1440 * 24), 24px));
}
.mfp-rakutabi .shoplist-modal__list li + li {
	margin-top: 0.2em;
}
@media screen and (any-hover: hover) {
	.mfp-rakutabi .mfp-close:hover {
		opacity: 0.8;
	}
}
@media screen and (max-width: 767px) {
	.mfp-rakutabi .mfp-container {
		padding: 0 calc(30 / 750 * 100%);
	}
	.mfp-rakutabi .mfp-close {
		width: 19px;
		top: 60px;
		right: 20px;
	}
	.mfp-rakutabi .shoplist-modal {
		max-width: none;
		padding: 40px 0;
	}
	.mfp-rakutabi .shoplist-modal__inner {
		padding: 30px calc(40 / 690 * 100%);
	}
	.mfp-rakutabi .shoplist-modal__title {
		font-size: 14px;
		margin-bottom: 10px;
	}
	.mfp-rakutabi .shoplist-modal__list {
		font-size: 14px;
	}
}
