@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
.gNavLink:hover {
	color: #f6301a;
}

.headerLogo:before,
.headerLogo:after,
.logoLink:before,
.logoLink:after,
.siteMap:hover .btnNav04,
.siteMap ul {
	background: #f6301a;
}

.spNavList, .spNavListSub {
	background: #f6301a;
}

.secTtlIn:after {
	background: #f6301a;
}

.stayingTtl {
	background: url(../../img/staying/staying_mv_bg.jpg) no-repeat center center / cover;
}

.busiTtlEn {
	color: #f6301a;
}

#minpakuTop .intro {
	margin: 0 0 60px;
	padding: 0 0 40px;
	background: url(../../img/hal/intro_ill.svg) no-repeat right bottom;
}

.introCatch {
	margin: 0 0 1em;
	font-size: clamp(2.2rem, 3.6vw, 4.0rem);
	font-weight: 700;
	line-height: 1.4;
	color: #000;
}

.introCatch .especially {
	color: #f6301a;
}

.introTxt {
	width: 59.4%;
	font-size: clamp(1.4rem, 1.5vw, 1.6rem);
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.minpaku {
	padding-bottom: 0;
	background: transparent;
}

#minpakuTop,
#stay,
#hotel {
	padding-top: 120px;
	margin-top: -120px;
}

.covidArea {
	width: 100%;
	margin: 0 0 100px;
	padding: 2em 4em 3em;
	border: 1px solid #000;
}

.covidHead {
	margin: 0 0 1em;
	font-size: clamp(1.6rem, 1.8vw, 2.0rem);
	font-weight: 700;
	text-align: center;
}

.covidTxt {
	margin: 0 0 2em;
	font-size: clamp(1.3rem, 1.4vw, 1.5rem);
	line-height: 1.4;
	letter-spacing: 0.07em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.covidList {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.cdvListItem {
	width: 18.4%;
	max-width: 220px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.cdvListItem .br_:before {
	content: "\A";
	white-space: pre;
}

.cdvList02,
.cdvList04 {
	padding: 0 0 1.7em;
}

.cdvListItem span {
	font-size: clamp(1.0rem, 1.2vw, 1.4rem);
	text-align: center;
	line-height: 1.5;
	font-feature-settings: "palt";
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.cdvListItem:before {
	content: "";
	width: 40%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.cdvList01:before {
	/* width: 83px;
	height: 92px;
	margin: 0 auto 20px; */
	background: url(../../img/common/icon_wash.svg) no-repeat center center / contain;
}

.cdvList02:before {
	/* width: 111px;
	height: 46px;
	margin: 0 2vw 44px; */
	background: url(../../img/common/icon_mask.svg) no-repeat center center / contain;
}

.cdvList03:before {
	/* width: 83px;
	height: 89px;
	margin: 0 0 22px 30px; */
	background: url(../../img/common/icon_disinfection.svg) no-repeat center center / contain;
}

.cdvList04:before {
	/* width: 102px;
	height: 66px;
	margin: 0 2vw 33px; */
	background: url(../../img/common/icon_clean.svg) no-repeat center center / contain;
}

.cdvList05:before {
	/* width: 65px;
	height: 90px;
	margin: 0 20px 22px 0; */
	background: url(../../img/common/icon_checkin.svg) no-repeat center center / contain;
}

#service {
	margin: 0 0 158px;
}

#serviceList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2em 2%;
}

.serviceBox {
	width: 49%;
	padding: 1em 1.5em 1.5em;
	border: 1px solid #ccc;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.serviceBoxFigure {
	width: 36%;
}

.serviceBoxImg {
	width: 100%;
}

.serviceBoxTtl {
	width: 100%;
	margin: 0 0 0.5em;
	font-size: clamp(1.6rem, 1.8vw, 2.2rem);
	font-weight: 700;
	text-align: center;
	color: #f6301a;
}

.serviceBoxTxt {
	width: 60%;
	font-size: clamp(1.3rem, 1.4vw, 1.5rem);
	line-height: 1.4;
}

.serviceBox01 .serviceBoxTxt {
	letter-spacing: 0.09em;
}

.serviceBox02 .serviceBoxTxt {
	letter-spacing: 0.08em;
}

.serviceBoxTtl .br_:after {
	content: "";
}

.serviceBoxTxt .br:before {
	content: "\A";
	white-space: pre;
}

/* strength */
#strength {
	margin: 0 0 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}

#strength:before {
	width: 56.3%;
	height: 39.6vw;
	content: "";
	position: absolute;
	top: -100px;
	right: 0;
	z-index: -1;
	background: #f9f9f9;
}

#strengthFigure,
#strengthConts {
	width: 50%;
	height: 40.52vw;
}

#strengthFigure {
	background: url(../../img/staying/strength_img.jpg) no-repeat 0 0 / cover;
}

#strengthConts {
	width: 600px;
	padding: 70px 0 0 48px;
}

#strengthTtl {
	margin: 0 0 60px;
	padding: 0 0 6px 1em;
	font-size: clamp(2.0rem, 2.8vw, 3.5rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: #1a1a1a;
	border-left: 2px solid #f6301a;
}

.strengthItem {
	margin: 0 0 36px;
	font-size: 0;
}

.strengthNum,
.strengthTxt {
	display: inline-block;
	font-weight: 700;
}

.strengthNum {
	width: 70px;
	font-size: 7.4rem;
	color: #f6301a;
	vertical-align: -2px;
}

.strengthItem02 .strengthNum {
	vertical-align: -10px;
}

.strengthTxt {
	font-size: 2.2rem;
	line-height: 1.4;
}

.strengthTxt .br_:after {
	content: "\A";
	white-space: pre;
}

#bnrArea {
	width: 100%;
	margin: 0 0 100px;
	width: 100%;
	padding: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #ccc;
}

.bnrFigure {
	padding: 15px 50px 15px 0;
	border-right: 1px solid #ccc;
}

.bnrAreaInner {
	margin-left: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1em;
}

.bnrTxt {
	font-size: clamp(1.3rem, 1.6vw, 1.8rem);
	line-height: 1.4;
	transition: all .3s ease-in-out;
}

.bnrAreaLink {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
}

.bnrAreaLink a {
	width: 49%;
	max-width: 220px;
	padding: 1em;
	color: #f6301a;
	border: 1px solid;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transition: .3s ease-in-out;
}

.bnrAreaLink a:after {
	position: absolute;
	content: "";
	transition: all .3s ease-in-out;
}

.bnrAreaLink a:after {
	right: 1em;
	width: 6px;
	height: 6px;
	border-top: 1px solid #f6301a;
	border-right: 1px solid #f6301a;
	transform: rotate(45deg);
}

.bnrAreaLink a:hover {
	transform: scale(1.06);
}

#bnrArea a:hover .bnrTxt {
	color: #f6301a;
}

.busiSubTtl {
	border-left: 2px solid #f6301a;
}

.busiSubTtlEn {
	color: #f6301a;
}

.emphasize {
	font-weight: 700;
	color: #f6301a;
}

.propertyList {
	margin-bottom: 0;
}

#stay .intro {
	margin-bottom: 40px;

	& .introTxt {
		width: 100%;
	}
}

.propertyOther .secTtl02 {
	padding: 0 0 12px;
	line-height: 1.0;
}

.propertyOther .secTtlIn {
	font-size: 2.5rem;
}

.propertyOther .secTtlIn:after {
	bottom: -14px;
}

.propertyOther {
	padding: 30px 28px 40px;
}

.otherList {
	margin: 0 0 30px;
	position: relative;
	display: block;
}

.otherList:nth-last-of-type(1) {
	margin: 0;
}

.otherList .propertyPlace {
	margin: 0 0 15px;
}

.listName {
	font-size: 2.0rem;
	line-height: 1.0;
	transition: all .3s ease-in-out;
}

.otherList:hover .listName {
	color: #f6301a;
}

.otherList:before,
.otherList:after {
	position: absolute;
	content: "";
	transition: all .3s ease-in-out;
}

.otherList:before {
	bottom: 6px;
	right: 11px;
	width: 30px;
	height: 1px;
	background: #f6301a;
}

.otherList:after {
	bottom: 2px;
	right: 0;
	width: 8px;
	height: 8px;
	border-top: 1px solid #f6301a;
	border-right: 1px solid #f6301a;
	transform: rotate(45deg);
}

.otherList:hover:before {
	transform: translateX(5px);
}

.otherList:hover:after {
	transform: translateX(5px) rotate(45deg);
}

#table th:before {
	background-color: #f6301a;
}

.footerNav:before {
	background: #f6301a;
}

.footNavLink:hover {
	color: #f6301a;
}

@media screen and (min-width: 1201px) and (max-width: 1660px) {
	#strength:before {
		height: 660px;
	}
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.intro {
		/* padding: 0 0 50px; */
	}

	.introTxt {
		padding: 0 30px 0 0;
	}

	#catchMain {
		font-size: 128px;
	}

	.cdvListItem {
		width: 19%;
	}

	.cdvList04 {
		margin: 0;
	}

	.cdvListItem span {
		letter-spacing: 0;
	}

	.cdvList04 span {
		letter-spacing: 0.1em;
	}

	.cdvListItem .br_:before {
		content: "";
	}

	.serviceBox03 .serviceBoxTtl {
		font-feature-settings: "palt";
	}

	#strength {
		margin: 0 0 150px;
	}

	#strength:before {
		display: none;
	}

	#strengthTtl {
		font-feature-settings: "palt";
		letter-spacing: 0.12em;
	}

	#service {
		margin: 0 0 60px;
	}
}

/* -------------------------------------------------- */
/* TAB & SP (max-width: 1024px) */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	.intro {
		margin: 0 0 30px;
	}

	#minpakuTop .intro {
		background-size: 48%;
		padding-bottom: 1em;
	}

	.introTxt {
		width: 50%;
	}

	.covidArea {
		margin: 0 0 50px;
	}

	.covidHead {
		margin: 0 0 20px;
		font-weight: 700;
		line-height: 1.4;
	}

	.covidList {
		flex-wrap: wrap;
		justify-content: space-around;
	}

	.cdvListItem:before {
		content: "";
		width: 50%;
	}

	.businessSecTtl {
		margin: 0 0 20px;
		padding: 0 0 20px;
	}

	.cdvListItem .br_:before {
		content: "";
	}

	#service {
		margin: 0 0 80px;
	}

	#serviceList {
		gap: 1em 2%;
	}

	.serviceBox {
		justify-content: flex-start;
	}

	.serviceBoxImg,
	.serviceBoxFigure {
		width: 100%;
	}

	.serviceBoxTtl .br_:after {
		content: "\A";
		white-space: pre;
	}

	.serviceBoxTxt {
		width: 100%;
		margin-top: 1em;
	}

	.serviceBoxTxt .br:before {
		content: "";
	}

	#strength {
		margin: 0 0 10px;
		flex-wrap: wrap;
	}

	#strengthFigure,
	#strengthConts {
		width: 100%;
	}

	#strengthFigure {
		height: 81vw;
	}

	#strengthConts {
		width: 92%;
		height: inherit;
		margin: auto;
		padding: 50px 0 0 0;
	}

	#strengthTtl {
		margin: 0 0 1em;
	}

	#bnrArea {
		width: 100%;
		margin: 0 0 50px;
		padding: 2em;
	}

	#bnrArea a {
		flex-wrap: wrap;
	}

	.bnrTxt {
		font-size: 1.6rem;
		line-height: 1.4;
	}

	#bnrArea a:hover .bnrTxt {
		color: inherit;
	}

	.busiSubTtl {
		margin: 0 0 30px;
	}

	.busiSubTtlJp {
		font-size: 2.0rem;
		letter-spacing: 0.05em;
	}

	.busiSubTtlEn {
		font-size: 3.5rem;
	}

	.propertyOther {
		padding: 0 4.5%;
	}

	.propertyOther .secTtlIn:after {
		bottom: -13px;
	}

	.otherList {
		padding: 0 50px 0 0;
	}

	.listName {
		font-size: 2.0rem;
		line-height: 1.2;
	}

	.otherList:hover .listName {
		color: inherit;
	}

	.otherList:hover:before {
		transform: translateX(0);
	}

	.otherList:hover:after {
		transform: translateX(0) rotate(45deg);
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	.cdvListItem {
		width: 18%;
	}
}

/* -------------------------------------------------- */
/* SP */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	.br_:after {
		content: "\A";
		white-space: pre;
	}

	#headRe, #headHal, #headDesign {
		display: none;
	}

	.stayingTtl {
		background: url(../../img/staying/sp_staying_mv_bg.jpg) no-repeat center center / cover;
	}

	#minpakuTop .intro {
		margin: 0 0 50px;
		padding: 0;
		background-size: 48%;
	}

	.introCatch {
		letter-spacing: 0.02em;
		display: flex;
		flex-wrap: wrap;
	}

	.introCatch .especially {
		letter-spacing: 0.02em;
	}

	.introTxt {
		width: 50%;
		line-height: 1.4;
	}

	.covidArea {
		padding: 2em 1.5em;
	}

	.covidList {
		align-items: flex-start;
		gap: 1em;
	}

	.cdvListItem {
		width: 38%;
		max-width: inherit;
	}

	.cdvListItem:before {
		width: 60%;
	}

	.cdvListItem span {
		letter-spacing: 0;
	}

	.covidList:after {
		content: "";
		width: 38%;
	}

	#serviceList {
		gap: 1em;
	}

	.serviceBox {
		width: 100%;
	}

	.serviceBox:nth-last-of-type(1) {
		margin: 0;
	}

	.serviceBoxTtl {
		line-height: 1.4;
	}

	#strengthTtl {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
	}

	.strengthNum {
		width: 50px;
		font-size: 6.0rem;
	}

	.strengthTxt {
		width: calc(100% - 50px);
		font-size: 2.0rem;
		line-height: 1.4;
		letter-spacing: 0;
	}

	.strengthTxt .br_:after {
		content: "";
	}

	#bnrArea {
		flex-direction: column;
		padding: 2em;
	}

	.bnrAreaInner {
		width: 100%;
		margin: 0;
	}

	#bnrArea a {
		width: 49%;
		max-width: none;
	}

	.bnrFigure {
		padding: 0 0 20px;
		border-right: none;
	}

	.listName {
		line-height: 1.4;
	}

	.youtube {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
	}

	.youtube iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
	}
}

@media screen and (max-width: 680px) {
	#minpakuTop .intro {
		padding: 0 0 32vw;
		background-size: 60%;
	}

	.introTxt {
		width: 100%;
	}

}

@media screen and (max-width: 374px) {
	#catchMain {
		font-size: 4.0rem;
	}

	#minpakuTop .intro {
		padding: 0 0 52vw;
		background-size: 100%;
	}

	.topNewsBtn {
		width: 100%;
		margin: auto;
	}
}