@charset "UTF-8";

.rinfo__ttl, .rinfo__sub { text-align: center; }

@media (min-width: 1001px) {
	.rtype__spec { margin-top: 26px; }
	main { padding-bottom: 160px; }

	.mv__img img { object-position: 50% 57%; }

	.rinfo { padding-top: 160px; }
	.rinfo__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; align-items: start; }
	.rinfo__img img { width: 100%; height: 204px; object-fit: cover; border-radius: 10px; }
	.rinfo__box { padding: 12px 18px 16px; }
	.rinfo__ttl { font-size: 20px; line-height: 1.6; letter-spacing: 0.08em; }
	.rinfo__ttl .en { letter-spacing: 0.02em; }
	.rinfo__sub { margin-top: 10px; font-size: 16px; line-height: 22px; letter-spacing: 0.02em; }
	.rinfo__sub + .rinfo__sub { margin-top: 0; }
	.rinfo__text { margin-top: 14px; font-size: 13px; line-height: 18px; letter-spacing: 0.06em; }

	.cmenu { padding-top: 160px; }

	.rtype { padding-top: 160px; }
	.rtype--single .rtype__img img { object-position: 50% 92%; }
	.rtype--twin .rtype__img img { object-position: 50% 93%; }
	.rtype--deluxe .rtype__img img,
	.rtype--universal .rtype__img img { object-position: 50% 100%; }
	.rtype--deluxe-family .rtype__img img { object-position: 50% 76%; }
	.rtype--connect .rtype__img img { object-position: 50% 64%; }
	.rtype--amenity .rtype__img img { object-position: 50% 57%; }
	.rtype--smoking .rtype__img img { object-position: 50% 18%; }

	.rtype__text { margin-top: 20px; font-size: 15px; line-height: 22px; letter-spacing: 0.06em; }

	.rtype--amenity .rinfo__list { margin-top: 80px; }

	.rbtn { margin-top: 30px; text-align: center; }
	.rbtn a {
		position: relative; display: inline-flex; align-items: center; justify-content: center;
		width: 240px; height: 40px; box-sizing: border-box;
		border: 1px solid var(--text); font-size: 13px; letter-spacing: 0.15em;
	}
	.rbtn .arrow {
		position: absolute; right: -20px; top: 50%; width: 62px; height: 20px;
		background: #fff; transform: translateY(-50%); transition: transform 0.3s ease;
	}
	.rbtn .arrow::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--text); }
	.rbtn .arrow::after {
		content: ""; position: absolute; right: 0; top: 50%; width: 8px; height: 8px;
		border-top: 1px solid var(--text); border-right: 1px solid var(--text); transform: translate(0, -50%) rotate(45deg);
	}
	.rbtn a:hover { opacity: 1; }
	.rbtn a:hover .arrow { transform: translate(6px, -50%); }
	.rbtn--tel a { width: 280px; }
	.rbtn--tel a:hover { background: var(--text); color: #fff; }
}

@media (max-width: 1000px) {
	.rintro .catch { margin: 0 -3vw; }
	.rtype__spec { width: 86.933vw; margin-top: 4.8vw; }
	main { padding-bottom: 21vw; }

	.rinfo { padding-top: 20vw; }
	.rinfo__list { width: 86.667vw; margin: 0 auto; }
	.rinfo__list li + li { margin-top: 8vw; }
	.rinfo__img img { width: 100%; height: 57.867vw; object-fit: cover; border-radius: 1.333vw; }
	.rinfo__box { padding: 4.667vw 5.333vw 4.4vw; }
	.rinfo__ttl { font-size: 5.333vw; line-height: 1.2; letter-spacing: 0.02em; }
	.rinfo__sub { margin-top: 2.533vw; font-size: 3.467vw; line-height: 1.85; letter-spacing: 0.04em; }
	.rinfo__sub + .rinfo__sub { margin-top: 1.867vw; }
	.rinfo__text { margin-top: 2.4vw; font-size: 3.2vw; line-height: 1.5; letter-spacing: 0.03em; }

	.cmenu.w1000 { display: block; padding-top: 21.4vw; }
	.cmenu li + li { margin-top: 5.333vw; }
	.cmenu a { height: 8vw; padding-right: 0; line-height: calc(8vw - 2px); font-size: 3.467vw; letter-spacing: 0; }
	.cmenu a::before { right: 5.2vw; top: 1.733vw; height: 4.667vw; }
	.cmenu a::after { right: 4.333vw; top: 4.4vw; width: 1.867vw; height: 1.867vw; }

	.rtype { display: flex; flex-direction: column; align-items: center; padding-top: 21.333vw; }
	.rtype__main, .rtype__body { display: contents; }
	.rtype__img { align-self: stretch; }
	.rtype--twin .rtype__img img,
	.rtype--deluxe-family .rtype__img img { object-position: 100% 50%; }
	.rtype--deluxe .rtype__img img { object-position: 44% 0; }
	.rtype--universal .rtype__img img { object-position: 50% 0; }

	.rtype .ch3 { margin-top: 8vw; }

	.rtype__text { width: 86.667vw; margin-top: 3.2vw; font-size: 3.467vw; line-height: 1.86; letter-spacing: 0; }

	.rtype__gallery.w1000 {
		order: 1; position: relative; display: flex; gap: 4.8vw; width: 100%; margin-top: 6.667vw;
		overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.rtype__gallery::-webkit-scrollbar { display: none; }
	.rtype__gallery::before,
	.rtype__gallery::after { content: ""; flex: none; width: 14.333vw; }
	.rtype__gallery li { flex: none; width: 61.733vw; scroll-snap-align: center; }
	.rtype__gallery img { width: 100%; height: 40.8vw; object-fit: cover; border-radius: 1.333vw; }

	.rtype--amenity .rinfo__list.w1000 { margin-top: 6.933vw; }

	.rbtn { order: 2; margin-top: 8vw; text-align: center; }
	.rbtn a {
		position: relative; display: inline-flex; align-items: center; justify-content: center;
		width: 48vw; height: 8vw; box-sizing: border-box;
		border: 1px solid var(--text); font-size: 3.467vw; letter-spacing: 0;
	}
	.rbtn .arrow { position: absolute; right: -3.867vw; top: 50%; width: 12.4vw; height: 2.667vw; background: #fff; transform: translateY(-50%); }
	.rbtn .arrow::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--text); }
	.rbtn .arrow::after {
		content: ""; position: absolute; right: 0; top: 50%; width: 1.867vw; height: 1.867vw;
		border-top: 1px solid var(--text); border-right: 1px solid var(--text); transform: translate(0, -50%) rotate(45deg);
	}
	.rbtn--tel a { width: 58.933vw; }
}
