@charset "utf-8";

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

.stayingSecTtl {
	margin: 0 0 35px;
	padding: 0 0 30px;
	border-bottom: 1px solid #dadada;
}

.stayTtlJp,
.stayTtlEn {
	display: block;
	font-weight: 700;
	text-transform: uppercase;
}


.stayTtlJp {
	margin: 0 0 8px;
	font-size: 6.0rem;
	color: #1a1a1a;
}

.stayTtlEn {
	font-size: 3.0rem;
	color: #ab0106;
}

.intro {
	margin: 0 0 60px;
	padding: 0 0 106px;
	background: url(../../img/staying/intro_ill.jpg) no-repeat right bottom;
}

.introCatch {
	margin: 0 0 35px;
	font-size: 5.0rem;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
}

.introCatch .especially {
	color: #ab0106;
}

.introTxt {
	width: 59.4%;
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

.covidArea {
	width: 100%;
	margin: 0 0 100px;
	padding: 56px 40px 45px;
	border: 1px solid #000;
}

.covidHead {
	margin: 0 0 30px;
	font-size: 2.0rem;
	font-weight: 700;
	text-align: center;
}

.covidTxt {
	margin: 0 0 56px;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: 0.07em;
}

.covidList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.cdvListItem {
	width: 18.4%;
	max-width: 220px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

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

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

.cdvListItem span {
	font-size: 1.6rem;
	line-height: 1.5;
	font-feature-settings: "palt";
}

.cdvListItem:before {
	content: "";
	display: block;
}

.cdvList01:before {
	width: 83px;
	height: 92px;
	margin: 0 auto 20px;
	background: url(../../img/common/icon_wash.png) no-repeat 0 0 / 100%;
}

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

.cdvList03:before {
	width: 83px;
	height: 89px;
	margin: 0 auto 21px;
	background: url(../../img/common/icon_disinfection.png) no-repeat 0 0 / 100%;
}

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

.cdvList05:before {
	width: 65px;
	height: 90px;
	margin: 0 auto 22px;
	background: url(../../img/common/icon_checkin.png) no-repeat 0 0 / 100%;
}

#service {
	margin: 0 0 158px;
}

#serviceList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.serviceBox {
	width: 48.333%;
	margin: 0 0 40px;
	padding: 36px 28px 40px;
	border: 1px solid #ccc;
}

.serviceBoxFigure {
	margin: 0 0 30px;
}

.serviceBoxImg {
	width: 100%;
}

.serviceBoxTtl {
	margin: 0 0 20px;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	color: #ab0106;
}

.serviceBoxTxt {
	font-size: 1.6rem;
	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 16px;
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: #1a1a1a;
	border-left: 2px solid #ab0106;
}

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

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

.strengthNum {
	width: 70px;
	font-size: 7.4rem;
	color: #ab0106;
	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;
}

#bnrArea a {
	width: 100%;
	padding: 34px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid #ccc;
}

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

.bnrTxt {
	padding: 0 0 0 52px;
	font-size: 1.8rem;
	line-height: 1.4;
	transition: all .3s ease-in-out;
}

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

.propertyTtl {
	margin: 0 0 40px;
	padding: 0 0 0 24px;
	border-left: 2px solid #ab0106;
}

.propertyTtlJp,
.propertyTtlEn {
	display: block;
}

.propertyTtlJp {
	margin: 0 0 12px;
	font-size: 2.5rem;
}

.propertyTtlEn {
	font-size: 4.5rem;
	color: #ab0106;
}

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

.propertyList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.propertyBox {
	width: 48.3%;
	margin: 0 0 40px;
}

.propertyBoxIn {
	display: block;
}

.propertyFigure {
	overflow: hidden;
}

.propertyFigure img {
	transition: all .3s ease-in-out;
}

.propertyBoxIn:hover .propertyFigure img {
	transform: scale(1.12);
}

.propertyConts {
	padding: 34px 28px 30px;
	position: relative;
	border: 1px solid #dedede;
	border-top: none;
}

.propertyPlace {
	width: auto;
	margin: 0 0 9px;
	padding: 4px 1em 5px;
	display: inline-block;
	background: #000;
	text-align: center;
	color: #fff;

	& span {
		font-size: 1.2rem;
	}
}

.propertyHead {
	margin: 0 0 60px;
	font-size: 3.0rem;
}

.btnMore {
	font-weight: 700;
	text-align: right;
	transition: all .3s ease-in-out;
}

.propertyBoxIn:hover .propertyHead,
.propertyBoxIn:hover .btnMore {
	color: #333333;
}

.minpaku {
	margin: 0 0 160px;
}

.propertyBoxIn:hover .btnMore {
	transform: translateX(10px);
}

.btnMore:before,
.btnMore:after {
	display: inline-block;
	content: "";
}

.btnMore:before {
	width: 50px;
	height: 1px;
	margin: 0 20px 0 0;
	background: #ab0106;
	vertical-align: middle;
}

.btnMore:after {
	width: 8px;
	height: 8px;
	margin: 0 0 0 3px;
	border-top: 1px solid #ab0106;
	border-right: 1px solid #ab0106;
	transform: rotate(45deg);
}

.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: #ab0106;
}

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

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

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

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

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

@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;
	}

	.cdvListItem span {
		letter-spacing: 0.0em;
	}

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

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

	#strength {
		margin: 0 0 218px;
	}

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

	#service {
		margin: 0 0 60px;
	}

	#strength {
		margin: 0 0 150px;
	}

	#strength:before {
		display: none;
	}

	.youtube {
		height: 328px
	}

	.youtube iframe {
		width: 100%;
		height: 100%;
	}
}

/* -------------------------------------------------- */
/* TAB */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.stayingSecTtl {
		margin: 0 0 20px;
		padding: 0 0 20px;
	}

	.stayTtlJp {
		margin: 0 0 8px;
		font-size: 4.8rem;
	}

	.stayTtlEn {
		font-size: 2.5rem;
	}

	.intro {
		margin: 0 0 50px;
		background: url(../../img/staying/intro_ill.jpg) no-repeat center bottom / 437px;
		padding: 0 0 280px;
	}

	.introCatch {
		margin: 0 0 20px;
		font-size: 4.0rem;
	}

	.introTxt {
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.covidArea {
		margin: 0 0 50px;
		padding: 40px 4% 5px;
	}

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

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

	.cdvListItem {
		width: 44%;
		margin: 0 0 30px;
	}

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

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

	.cdvList01:before {
		background: url(../../img/common/sp_icon_wash.png) no-repeat 0 0 / 100%;
	}

	.cdvList02:before {
		background: url(../../img/common/sp_icon_mask.png) no-repeat 0 0 / 100%;
	}

	.cdvList03:before {
		background: url(../../img/common/sp_icon_disinfection.png) no-repeat 0 0 / 100%;
	}

	.cdvList04:before {
		background: url(../../img/common/sp_icon_clean.png) no-repeat 0 0 / 100%;
	}

	.cdvList05:before {
		background: url(../../img/common/sp_icon_checkin.png) no-repeat 0 0 / 100%;
	}

	#service {
		margin: 0 0 80px;
	}

	.serviceBox {
		width: 48.3%;
		margin: 0 0 30px;
		padding: 20px 2.5% 30px;
	}

	.serviceBoxImg {
		width: 100%;
	}

	.serviceBoxFigure {
		margin: 0 0 25px;
	}

	.serviceBoxTtl {
		margin: 0 0 15px;
		font-size: 2.0rem;
		line-height: 1.4;
	}

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

	.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 30px;
		font-size: 3.0rem;
	}

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

	#bnrArea a {
		width: 100%;
		padding: 25px 4.9%;
		flex-wrap: wrap;
	}

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

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

	.propertyTtl {
		margin: 0 0 30px;
	}

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

	.propertyTtlEn {
		font-size: 3.5rem;
	}

	.propertyBox {
		width: 48.3%;
		margin: 0 0 30px;
	}

	.propertyFigure img {
		width: 100%;
	}

	.propertyBox:hover .propertyFigure img {
		transform: scale(1);
	}

	.propertyConts {
		padding: 20px 4.5%;
	}

	.propertyHead {
		margin: 0 0 30px;
		font-size: 2.5rem;
		letter-spacing: 0.05em;
	}

	.propertyBox:hover .btnMore {
		transform: translateX(0);
	}

	.propertyOther {
		padding: 0 4.5%;
	}

	.secTtl02 {
		font-size: 2.0rem;
	}

	.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);
	}

	.minpaku {
		margin: 0 0 50px;
	}

	.youtube {
		height: 240px;
	}

	.youtube iframe {
		width: 100%;
		height: 100%;
	}
}

/* -------------------------------------------------- */
/* SP */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	.stayingTtl {
		background: url(../../img/staying/sp_staying_mv_bg.jpg) no-repeat center center / cover;
	}

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

	.stayTtlJp {
		margin: 0 0 8px;
		font-size: 3.5rem;
	}

	.stayTtlEn {
		font-size: 2.0rem;
	}

	.intro {
		margin: 0 0 50px;
		background: url(../../img/staying/intro_ill.svg) no-repeat center bottom / 437px;
		padding: 0 0 266px;
	}

	.introCatch {
		margin: 0 0 20px;
		font-size: 3.0rem;
		letter-spacing: 0.02em;
	}

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

	.introTxt {
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.covidArea {
		margin: 0 0 50px;
		padding: 40px 15px 5px;
	}

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

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

	.cdvListItem {
		width: 39%;
		max-width: inherit;
		margin: 0 0 30px;
	}

	.cdvListItem span {
		font-size: 1.4rem;
		letter-spacing: 0;
	}

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

	.cdvList02 {
		padding: 0 0 1.7em;
	}

	.cdvList04 {
		padding: 0;
	}

	.cdvList01:before {
		background: url(../../img/common/sp_icon_wash.png) no-repeat 0 0 / 100%;
	}

	.cdvList02:before {
		background: url(../../img/common/sp_icon_mask.png) no-repeat 0 0 / 100%;
	}

	.cdvList03:before {
		background: url(../../img/common/sp_icon_disinfection.png) no-repeat 0 0 / 100%;
	}

	.cdvList04:before {
		background: url(../../img/common/sp_icon_clean.png) no-repeat 0 0 / 100%;
	}

	.cdvList05:before {
		width: 63px;
		height: 90px;
		background: url(../../img/common/sp_icon_checkin.png) no-repeat 0 0 / 100%;
	}

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

	#service {
		margin: 0 0 80px;
	}

	.serviceBox {
		width: 100%;
		margin: 0 0 30px;
		padding: 20px 4.5% 30px;
	}

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

	.serviceBoxImg {
		width: 100%;
	}

	.serviceBoxFigure {
		margin: 0 0 25px;
	}

	.serviceBoxTtl {
		margin: 0 0 15px;
		font-size: 2.0rem;
		line-height: 1.4;
	}

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

	.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 30px;
		font-size: 2.5rem;
		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 {
		width: 100%;
		margin: 0 0 50px;
	}

	#bnrArea a {
		width: 100%;
		padding: 25px 4.9%;
		flex-wrap: wrap;
	}

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

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

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

	.propertyTtl {
		margin: 0 0 30px;
	}

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

	.propertyTtlEn {
		font-size: 3.5rem;
	}

	.propertyBox {
		width: 100%;
		margin: 0 0 30px;
	}

	.propertyFigure img {
		width: 100%;
	}

	.propertyBox:hover .propertyFigure img {
		transform: scale(1);
	}

	.propertyConts {
		padding: 20px 4.5%;
	}

	.propertyHead {
		margin: 0 0 30px;
		font-size: 2.5rem;
	}

	.propertyBox:hover .btnMore {
		transform: translateX(0);
	}

	.propertyOther {
		padding: 0 4.5%;
	}

	.secTtl02 {
		font-size: 2.0rem;
	}

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

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

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

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

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

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

	.minpaku {
		margin: 0 0 50px;
	}

	.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: 470px) {
	.intro {
		margin: 0 0 50px;
		background: url(../../img/staying/intro_ill.svg) no-repeat center bottom / 100%;
		padding: 0 0 59vw;
	}
}