@charset "UTF-8";
/* ////////////////////////////// 以下全ページ共通レイアウト（クラス名が「c-」から始まる要素） ////////////////////////////// */



/* ============================== */
/* html, body, main */
/* ============================== */
html{
	font-size: 62.5%;
	scroll-behavior: smooth;
}
@media screen and (min-width: 1000px) and (max-width: 1500px){
	html{
		font-size: calc( .36vw + 4px );
	}
}
@media screen and (min-width: 668px) and (max-width: 768px){
	html{
		font-size: 1.30208vw;
	}
}
@media screen and (max-width: 415px){
	html{
		font-size: 2.41546vw;
	}
}

body{
	width: 100%;
	color: #000;
	background: #132E56;
	font-size: 1.6rem;
	font-family: 'Roboto', sans-serif;
	line-height: 1.875;
	-webkit-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
	position: relative;
}
body.scroll-stop{
	overflow: hidden;
}
.body_wrap{
	width: min( 90%, 120rem );
	margin: 0 auto;
}
main{
	padding: 0 5rem 5rem 5rem;
	background: #fff;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.body_wrap{
		width: calc( 100% - 4rem );
	}
	main{
		padding: 0 2rem 4rem 2rem !important;
	}
}
@media ( max-width : 667px ){
	.body_wrap{
		width: 100%;
	}
}

.replace {
	height: 100px;
	padding: 10px;
	margin: 20px 0;
	border: 1px solid gray;
}


/* ============================== */
/* ログインボタン */
/* ============================== */
.c-login{
	padding: 1rem 0;
	text-align: right;
}
.c-login a{
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	position: relative;
	transition: .3s ease-in-out;
}
@media( min-width : 769px ){
	.c-login a:hover{
		opacity: .7;
	}
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-login a{
		font-size: 1.2rem;
	}
}
@media ( max-width : 667px ){
	.c-login {
		padding: 1rem 2rem;
	}
}



/* ============================== */
/* ヘッダー */
/* ============================== */
.c-header{
	padding: 2rem 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.c-header__left{
	display: flex;
}
.c-header__logo{
	width: 7rem;
	min-width: 7rem;
}
.c-header__info{
	padding-left: 1.5rem;
}
.c-header__info__name{
	margin-bottom: 1rem;
	display: flex;
	justify-content: left;
}
.c-header__info__name dt{
	margin-right: 1rem;
	padding: 1rem;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	background: #000;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-header__info__name dd{
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-header__info__address{
	display: flex;
	align-items: center;
	justify-content: left;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
}
.c-header__info__address dl{
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-header__info__address dl dt{
	margin-right: .5rem;
	padding: .6rem 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	border: solid .1rem #707070;
	white-space: nowrap;
	text-align: center;
}
.c-header__info__address dl dd{
	font-size: 1.4rem;
	font-weight: 700;
}
.c-header__info__address dl dd a{
	color: #132E56;
	position: relative;
}
.c-header__info__address dl dd a::before{
	content: '';
	width: 100%;
	height: .1rem;
	background: #132E56;
	position: absolute;
	bottom: -.1rem;
	left: 0;
	right: 0;
}
@media( min-width : 769px ){
	.c-header__info__address dl dd a:hover::before{
		animation: widthAni .2s ease-in-out forwards;
	}
}

/* 施設詳細ナビ */
.c-header__nav ul{
	display: flex;
	align-items: center;
	justify-content: right;
	gap: .7rem;
}
.c-header__nav ul li{
	font-size: 1.4rem;
	font-weight: 700;
	white-space: nowrap;
	transition: .3s ease-in-out;
	position: relative;
}
.c-header__nav ul li:not( .-space ){
	cursor: pointer;
}
.c-header__nav ul li:not( .-space ):before{
	content: '';
	width: 100%;
	height: .1rem;
	background: #000;
	position: absolute;
	bottom: -.1rem;
	left: 0;
	right: 0;
}
@media( min-width : 769px ){
	.c-header__nav ul li:hover::before{
		animation: widthAni .2s ease-in-out forwards;
	}
}
@keyframes widthAni{
	0%   { width: 0; }
	100% { width: 100%; }
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-header {
		padding: 2rem 0;
		flex-direction: column-reverse;
		gap: 2rem;
	}
	.c-header__right{
		width: 100%;
		padding-bottom: 2rem;
		border-bottom: solid .1rem #707070;
	}
	.c-header__info__name dt{
		padding: 1rem 1rem .8rem 1rem;
		font-size: 1.6rem;
	}
	.c-header__info__name dd{
		font-size: 1.8rem;
	}
	.c-header__info__address dl dt{
		font-size: 1.2rem;
		padding: 0.7rem 1rem 0.5rem 1rem;
	}
	.c-header__info__address dl dd {
		font-size: 1.2rem;
	}

	.c-header__nav ul li{
		font-size: 1.2rem;
	}
}
@media ( max-width : 667px ){
	.c-header__left{
		flex-direction: row-reverse;
	}
	.c-header__logo{
		width: 5rem;
		min-width: 5rem;
	}
	.c-header__info {
		padding-left: 0;
		padding-right: 1.5rem;
	}
	.c-header__info__address{
		gap: .5rem 1rem;
	}
	.c-header__info__address dl:first-of-type{
		width: 100%;
		align-items: normal;
		justify-content: left;
	}
	.c-header__info__address dl dt{
		width: 4.6rem;
	}
	.c-header__info__address dl:first-of-type dt{
		padding: 1rem;
		display: flex;
		align-items: center;
		justify-content: center;	
	}
	.c-header__info__address dl:first-of-type dd{
		padding: .5rem 0;
		line-height: 1.5;
		display: flex;
		align-items: center;
		justify-content: left;
		flex-wrap: wrap;
	}
	.c-header__info__address dl dd a{
		text-decoration: underline;
	}
	.c-header__info__address dl dd a::before{
		display: none;
	}
}



/* ============================== */
/* フッター */
/* ============================== */
.c-footer{
	color: #fff;
	padding: 5rem 0 2.5rem 0;
	text-align: right;
}
.c-footer h3{
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: 700;
}
.c-footer nav{
	margin-bottom: 5rem;
}
.c-footer nav ul{
	display: flex;
	align-items: center;
	justify-content: right;
	gap: 2rem;
}
.c-footer nav ul li a{
	color: #fff !important;
	font-size: 1.6rem;
	font-weight: 400;
	position: relative;
}
.c-footer nav ul li a::before{
	content: '';
	width: 100%;
	height: .1rem;
	background: #fff;
	position: absolute;
	bottom: -.1rem;
	left: 0;
	right: 0;
}
@media( min-width : 769px ){
	.c-footer nav ul li a:hover::before{
		animation: widthAni .2s ease-in-out forwards;
	}
}
.c-footer small{
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	text-align: center !important;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-footer{
		padding: 2rem 0;
	}
	.c-footer h3{
		margin-bottom: 1rem;
		font-size: 1.6rem;
	}
	.c-footer nav ul li a{
		font-size: 1.2rem;
	}
	.c-footer nav{
		margin-bottom: 4rem;
	}
	.c-footer small {
		font-size: 1.2rem;
	}
}
@media ( max-width : 999px ){
	.c-footer{
		padding: 2rem;
	}
}



/* ============================== */
/* パンくずリスト */
/* ============================== */
.c-bread{
	margin-bottom: 4rem;
}
.c-bread ul{
	display: flex;
	align-items: center;
	justify-content: left;
}
.c-bread ul li{
	background: #ccc;
	clip-path: polygon( 2rem 0, 100% 0%, calc( 100% - 2rem ) 100%, 0% 100% );
	position: relative;
}
.c-bread ul li:not( .-now )::before{
	content: '';
	width: 110%;
	height: 110%;
	clip-path: polygon(0 0, 100% 0%, calc( 100% - 2rem ) 100%, 0% 100%);
	background: #132E56;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	transform: translateX( -120% );
	transition: opacity .3s, transform 0s;
	transition-delay: 0s, .3s;
}
@media( min-width : 769px ){
	.c-bread ul li:not( .-now ):hover::before{
		opacity: 1;
		transform: translateX( 0 );
		transition-delay: 0s;
		transition: opacity .3s, transform .3s ease-in-out;
	}
}
.c-bread ul li a{
	padding: 2.2rem 2rem 1.8rem 2rem;
	font-size: 1.4rem;
	font-weight: 700;
	display: block;
	position: relative;
	z-index: 1;
}
.c-bread ul li:not( .-now ) a{
	transition: .3s ease-in-out;
}
@media( min-width : 769px ){
	.c-bread ul li:not( .-now ):hover a{
		color: #fff !important;
	}
}
.c-bread ul li.-now{
	background: #000;
}
.c-bread ul li.-now a{
	color: #fff;
	pointer-events: none;
}
.c-bread ul li:first-of-type{
	clip-path: polygon( 0 0, 100% 0%, calc( 100% - 2rem ) 100%, 0% 100% );
}
.c-bread ul li:nth-of-type(2){
	left: -1.9rem;
}
.c-bread ul li:nth-of-type(3){
	left: -3.8rem;
}
.c-bread ul li:nth-of-type(4){
	left: -5.7rem;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-bread{
		margin-bottom: 2rem;
	}
	.c-bread ul li {
		clip-path: polygon( 1rem 0, 100% 0%, calc( 100% - 1rem ) 100%, 0% 100% );
	}
	.c-bread ul li:first-of-type {
		clip-path: polygon( 0 0, 100% 0%, calc( 100% - 1rem ) 100%, 0% 100% );
	}
	.c-bread ul li:nth-of-type(2){
		left: -.9rem;
	}
	.c-bread ul li:nth-of-type(3){
		left: -1.8rem;
	}
	.c-bread ul li:nth-of-type(4){
		left: -2.7rem;
	}
	.c-bread ul li a{
		padding: 1rem 2rem;
		font-size: 1.0rem;
		overflow: hidden;
		word-break: keep-all;
	}
}
@media ( max-width : 667px ){
	.c-bread ul{
		width: calc( 100% + .8rem );
		flex-wrap: wrap;
		justify-content: space-between;
		gap: .8rem 0;
	}
	.c-bread ul li{
		width: calc( 50% - .4rem );
		left: auto !important;
	}
	.c-bread ul li:nth-child( even ){
		left: -.8rem !important;
	}
	.c-bread ul li a{
		padding: 1.5rem 1rem;
		text-align: center;
	}
}



/* ============================== */
/* 画像ポップアップ */
/* ============================== */
.c-popup{
	width: 100%;
	height: 100dvh;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
.c-popup.-visible{
	opacity: 1;
	visibility: visible;
}
.c-popup__b-color{
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .6;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
	cursor: pointer;
}
.c-popup__img{
	width: min( 90%, 120rem );
	height: min( 90%, 120rem );
	object-fit: contain;
	object-position: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}
.c-popup__img img{
	width: 100%;
	object-fit: contain;
	object-position: center;
}
.c-popup__img .c-popup__close {
	display: none;
}
.c-popup__close{
	width: 8rem;
	aspect-ratio: 1 / 1;
	border: solid .2rem #fff;
	border-radius: 50%;
	position: absolute;
	top: 3rem;
	right: 3rem;
	cursor: pointer;
	z-index: 9999;
}
.c-popup__close span{
	width: 60%;
	height: .2rem;
	background: #fff;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50% );
}
.c-popup__close span:first-of-type{
	transform:  translate( -50%, -50% ) rotate( 45deg );
}
.c-popup__close span:last-of-type{
	transform:  translate( -50%, -50% ) rotate( -45deg );
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-popup__img{
		width: calc( 100% - 4rem );
	}
	.c-popup__close {
		width: 6rem;
		top: 2rem;
		right: 2rem;
	}
}
@media ( max-width : 667px ){
	.c-popup__img{
		width: 100%;
		padding-top: 8rem;
		flex-direction: column;
		align-items: flex-end;
	}

	.c-popup__close {
		display: none;
	}
	.c-popup__img .c-popup__close {
		margin: 0 auto;
		position: relative !important;
		top: 2rem;
		right: auto;
		display: block;
	}
}



/* ============================== */
/* プランから選択 */
/* ============================== */
.c-plan ul{
	display: flex;
	align-items: center;
	justify-content: left;
	gap: 1rem;
}
.c-plan ul li{
	height: 11rem;
	border: solid .1rem #707070;
	border-radius: 1.5rem;
	position: relative;
	overflow: hidden;
	transition: .3s;
}
@media( min-width : 769px ){
	.c-plan ul li:hover{
		border: solid .1rem #132E56;
	}
}
.c-plan ul li::before{
	content: '';
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #132E56;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate( -50%, -50% ) scale( 0 );
	transition: opacity .3s, transform 0s;
	transition-delay: 0s, .3s;
}
@media( min-width : 769px ){
	.c-plan ul li:hover::before{
		opacity: 1;
		transform: translate( -50%, -50% ) scale( 1.35 );
		transition-delay: 0s;
		transition: opacity .3s, transform .3s ease-in-out;
	}
}
.c-plan ul li a{
	padding: 0 2rem;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	z-index: 1;
	transition: .3s;
}
@media( min-width : 769px ){
	.c-plan ul li:hover a{
		color: #fff;
	}
}
.c-plan ul li a h5{
	font-size: 1.6rem;
	margin-bottom: .8rem;
}
.c-plan ul li a p{
	font-size: 2rem;
	font-weight: 700;
}
.c-plan ul li a p.-small{
	margin-top: .5rem;
	font-size: 1.6rem;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-plan ul{
		gap: .5rem;
	}
	.c-plan ul li a{
		padding: 0 1rem;
	}
	.c-plan ul li a h5 {
		font-size: 1.2rem;
		line-height: 1.5;
		margin-bottom: 0.5rem;
		word-break: keep-all;
		text-align: center;
	}
	.c-plan ul li a p {
		font-size: 1.6rem;
	}
	.c-plan ul li a p.-small {
		font-size: 1.2rem;
	}
}
@media ( max-width : 667px ){
	.c-plan ul{
		flex-wrap: wrap;
		justify-content: left;
	}
	.c-plan ul li{
		width: calc( 50% - .5rem );
	}
}



/* ============================== */
/* 見出し */
/* ============================== */
.c-ttl{
	width: 100%;
	margin-bottom: 1.5rem;
	padding-bottom: .8rem;
	border-bottom: solid .1rem #000;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: left;
	gap: 1rem;
}
.c-ttl::before{
	content: '';
	width: 2.5rem;
	aspect-ratio: 1 / 1;
	background: url( ../img/common/icon_check.svg ) no-repeat center / contain;
	position: relative;
	top: -.2rem;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-ttl{
		font-size: 1.6rem;
	}
	.c-ttl::before {
		content: '';
		width: 1.8rem;
		top: -0.1rem;
	}
}



/* ============================== */
/* 部屋詳細 */
/* ============================== */
.c-info{
	width: 40%;
}
.c-info img{
	width: 100%;
	margin-bottom: 1rem;
	aspect-ratio: 440 / 294;
	object-fit: cover;
	object-position: center;
}
.c-info p{
	font-size: 1.6rem;
	line-height: 1.875;
}

/* 現在の選択内容 */
.c-info__now{
	margin-bottom: 4rem;
}
.c-info__now h3{
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: 700;
}
.c-info__now .c-info__list {
	width: 100%;
}
.c-info__now td {
	padding: 1.1rem;
	line-height: 1.5;
	font-size: 1.5rem;
	border: 3px solid white;
}
.c-info__now td:first-of-type{
	width: 40%;
	color: #fff;
	font-weight: 700;
	background: #132E56 !important;
	text-align: center;
}
.c-info__now td:last-of-type{
	width: 60%;
	font-weight: 700;
	background: #ccc;
}

.c-info__now dl{
	margin-bottom: .3rem;
	display: flex;
	justify-content: space-between;
}
.c-info__now dl:last-of-type{
	margin: 0;
}
.c-info__now dl dt{
	width: 13rem;
	padding: 1.2rem 0 1rem 0;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	background: #132E56;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-info__now dl dd{
	width: calc( 100% - 13.3rem );
	padding: 1.2rem 1.5rem 1rem 1.5rem;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 700;
	background: #ccc;
	display: flex;
	align-items: center;
	justify-content: left;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-info{
		width: 100%;
		display: flex;
		justify-content: space-between;
		gap: 1rem;
	}
	.c-info img{
		width: calc( 50% - 1rem );
		margin: 0;
	}
	.c-info p{
		width: calc( 50% - 1rem );
		font-size: 1.4rem;
	}

	.c-info__now{
		width: calc( 50% - 1rem );
	}
	.c-info__now h3{
		margin-bottom: 1rem;
		font-size: 1.6rem;
	}
	.c-info__now dl dt{
		width: 10rem;
		font-size: 1.4rem;
	}
	.c-info__now dl dd{
		width: calc( 100% - 10.3rem );
		font-size: 1.4rem;
	}

	.p-customer .c-info{
		width: 40%;
	}
	.p-customer .c-info__now{
		width: 100%;
	}
}
@media ( max-width : 667px ){
	.c-info{
		flex-direction: column;
		gap: 1.5rem;
	}
	.c-info img{
		width: 100%;
	}
	.c-info p{
		width: 100%;
	}

	.c-info__now{
		width: 100%;
		margin-bottom: 0;
	}
	.c-info__now dl dt{
		font-size: 1.3rem;
	}
	.c-info__now dl dd{
		font-size: 1.3rem;
	}
	.p-customer .c-info{
		width: 100%;
	}
}



/* ============================== */
/* カレンダー (FullCalendar) */
/* ============================== */
.fc-day, .fc-daygrid, .fc-timegrid, .fc-timegrid-axis{
	border: solid .1rem #707070 !important;
}
.fc-timegrid .fc-timegrid-slot{
	border-right: solid .1rem #707070 !important;
}
.fc-toolbar-title{
	font-size: 2rem !important;
	font-weight: 700;
	display: block;
	white-space: nowrap;
}
/** 利用不可能日 */
.fc-day.disabled{
	background: hsla(0,0%,82%,.3);
}
.fc-day.disabled .fc-daygrid-day-number {
	color: lightgray;
}

/* 日曜日・祝日 */
.fc-col-header .fc-day-sun{
	background: rgba(255, 0, 0, .3);
}
.fc-day-sun, .holiday{
	background: rgba(255, 0, 0, .1);
}
/* 土曜日 */
.fc-col-header .fc-day-sat{
	background: rgba(0, 103, 255, .3);
}
.fc-day-sat{
	background: rgba(0, 103, 255, .1);
}
.fc-col-header {
	background: rgba(204, 204, 204, .5);
}
.fc-button:not(:last-child) {
    margin-right: 5px !important;
    border-radius: 5px !important;
    width: 75px;
}
.fc-button:last-child{
    border-radius: 5px !important;
    width: 75px;
}
.fc-day .fc-daygrid-event-harness{
	width: 80%;
	margin: auto;
}
.fc-daygrid-event-harness .full{
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	background: #FF0000;
	border-color: unset;
	border-radius: .5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.fc-timegrid-event-harness .full {
	color: #fff;
	background: #FF0000;
	border-color: unset;
	border-radius: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fc-timegrid-event-harness .full .fc-event-time {
	margin: 3px 0;
}

/* レスポンシブ */
@media ( max-width : 667px ){
	.fc-day {
		font-size: 0.75em;
	}
	.fc-toolbar-title{
		font-size: 1em !important;
	}
	.fc-button {
		font-size: 0.8em !important;
		width: 70px !important;
	}
	.fc-timegrid-slot-label {
		font-size: 0.75em;
	}
}


/* ============================== */
/* カレンダー (自前の場合) */
/* ============================== */
.c-calendar{
	width: calc( 60% - 3rem );
	padding-top: .2rem;
}
.c-calendar__important{
	margin-bottom: 2rem;
}
.c-calendar__important li{
	font-size: 1.6rem;
	line-height: 1.625;
}

/* c-calendar__top */
.c-calendar__top{
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.c-calendar__top time{
	font-size: 2rem !important;
	font-weight: 700;
	display: block;
	white-space: nowrap;
}
.c-calendar__top__btn{
	display: flex;
	align-items: center;
	justify-content: right;
	gap: .7rem;
}
.c-calendar__top__btn a{
	width: 8rem;
	aspect-ratio: 8 / 3;
	color: #fff;
	background: #000;
	border-radius: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.c-calendar__top__btn a::before{
	content: '';
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #132E56;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate( -50%, -50% ) scale( 0 );
	transition: opacity .3s, transform 0s;
	transition-delay: 0s, .3s;
}
@media( min-width : 769px ){
	.c-calendar__top__btn a:hover::before{
		opacity: 1;
		transform: translate( -50%, -50% ) scale( 1.2 );
		transition-delay: 0s;
		transition: opacity .3s, transform .3s ease-in-out;
	}
}
.c-calendar__top__btn a span{
	position: relative;
	z-index: 1;
}

/* c-calendar__main */
.c-calendar__main{
	width: 100%;
	border: solid .1rem #707070;
}
.c-calendar__main thead{
	width: 100%;
}
.c-calendar__main thead tr{
	width: 100%;
	border-bottom: solid .1rem #707070;
	display: flex;
	align-items: flex-start;
}
.c-calendar__main thead tr th{
	width: calc( 100% / 7 );
	height: 2.5rem;
	padding-top: .3rem;
	background: rgba(204, 204, 204, .5);
	border-collapse: collapse;
	border-right: solid .1rem #707070;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-calendar__main thead tr th:last-of-type{
	border: none;
}
.c-calendar__main tbody{
	width: 100%;
}
.c-calendar__main tbody tr{
	width: 100%;
	border-bottom: solid .1rem #707070;
	display: flex;
	align-items: flex-start;
}
.c-calendar__main tbody tr:last-of-type{
	border: none;
}
.c-calendar__main tbody tr td{
	width: calc( 100% / 7 );
	aspect-ratio: 9 / 7;
	padding: 1rem;
	text-align: right;
	border-right: solid .1rem #707070;
	position: relative;
}
.c-calendar__main tbody tr td:last-of-type{
	border: none;
}

/* ---------- 以下、曜日別のカスタマイズ ---------- */
/* 日曜日 */
.c-calendar__main thead tr th:first-of-type,
.fc-col-header .fc-day-sun{
	background: rgba(255, 0, 0, .3);
}
.c-calendar__main tbody tr td:first-of-type,
.fc-day-sun{
	background: rgba(255, 0, 0, .1);
}

/* 土曜日 */
.c-calendar__main thead tr th:last-of-type,
.fc-col-header .fc-day-sat{
	background: rgba(0, 103, 255, .3);
}
.c-calendar__main tbody tr td:last-of-type,
.fc-day-sat{
	background: rgba(0, 103, 255, .1);
}

/* 祝日 */
.c-calendar__main tbody tr td.holiday{
	background: rgba(255, 0, 0, .1);
}

/* 先月、来月の日にち */
.c-calendar__main tbody tr td.not{
	background: #ccc;
}

/* 満室 */
.c-calendar__main tbody tr td.full::before{
	content: '満室';
	width: calc( 100% - 2rem );
	height: 2rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	background: #FF0000;
	border-radius: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: .5rem;
	left: 50%;
	right: 0;
	transform: translateX( -50% );
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-calendar{
		width: 100%;
	}
	.c-calendar__important{
		margin-bottom: 1rem;
	}
	.c-calendar__important li{
		font-size: 1.2rem;
	}
}
@media ( max-width : 667px ){
	.c-calendar__top time{
		font-size: 1.6rem;
	}
	.c-calendar__top__btn a{
		width: 6rem;
		font-size: 1.2rem;
	}
	.c-calendar__main thead tr th{
		font-size: 1.2rem;
	}
	.c-calendar__main tbody tr td{
		aspect-ratio: 9 / 10;
		padding: .5rem;
		font-size: 1.0rem;
	}
	.c-calendar__main tbody tr td.full::before{
		font-size: 1.0rem;
		height: 1.5rem;
		padding-top: .2rem;
	}
}



/* ============================== */
/* 予約ナビ */
/* ============================== */
.c-nav{
	width: 100%;
	height: 5rem;
	margin-bottom: 4rem;
	display: flex;
	align-items: center;
	border: solid .1rem #000;
}
.c-nav li{
	width: calc( 100% / 5 );
	height: 100%;
	font-size: 1.4rem;
	font-weight: 700;
	border-right: solid .1rem #000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
}
.c-nav li:last-of-type{
	border: none !important;
}
.c-nav li::before{
	content: '1';
	font-size: 2.6rem;
	font-weight: 700;
}
.c-nav li:nth-of-type(2):before{
	content: '2';
}
.c-nav li:nth-of-type(3):before{
	content: '3';
}
.c-nav li:nth-of-type(4):before{
	content: '4';
}
.c-nav li:nth-of-type(5):before{
	content: '5';
}

/* 前のページ */
.c-nav li.-prev{
	color: #fff;
	background: #707070;
	position: relative;
}
.c-nav li.-prev::after{
	content: '';
	width: 1.5rem;
	aspect-ratio: 1 / 1;
	background: #707070;
	border-top: solid .1rem #000;
	border-right: solid .1rem #000;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate( 55%, -50% ) rotate( 45deg );
	z-index: 1;
}


/* 現在のページ */
.c-nav li.-now{
	color: #fff;
	background: #132E56;
	position: relative;
}
.c-nav li.-now::after{
	content: '';
	width: 1.5rem;
	aspect-ratio: 1 / 1;
	background: #132E56;
	border-top: solid .1rem #000;
	border-right: solid .1rem #000;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate( 55%, -50% ) rotate( 45deg );
	z-index: 1;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-nav{
		height: 4rem;
		margin-bottom: 2rem;
	}
	.c-nav li{
		font-size: 1.2rem;
		gap: .8rem;
	}
	.c-nav li::before{
		font-size: 1.8rem;
	}
	.c-nav li.-now::after{
		width: 1rem;
	}
	.c-nav li.-prev::after{
		width: 1rem;
	}
}
@media ( max-width : 667px ){
	.c-nav {
		height: 5rem;
	}
	.c-nav li{
		flex-direction: column;
		gap: .3rem;
		font-size: 1rem;
	}
	.c-nav li::before{
		font-size: 1.6rem;
	}
	.c-nav li.-now::after{
		width: .8rem;
	}
	.c-nav li:nth-of-type( 2 ){
		padding-bottom: .05rem;
		font-size: .9rem;
		gap: .35rem;
	}
}

/* ============================== */
/* メッセージ */
/* ============================== */
.ui.message {
	position: relative;
	min-height: 1em;
	margin: 1em 0em;
	background: #F8F8F9;
	padding: 1em 1.5em;
	line-height: 1.4285em;
	color: rgba(0, 0, 0, 0.87);
	transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;
	border-radius: 0.28571429rem;
	box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}
  
.ui.message:first-child {
	margin-top: 0em;
}
  
.ui.message:last-child {
	margin-bottom: 0em;
}

.ui.message .list:not(.ui) {
	text-align: left;
	padding: 0em;
	opacity: 0.85;
	list-style-position: inside;
	margin: 0.5em 0em 0em;
}
  
.ui.message .list:not(.ui):first-child {
	margin-top: 0em;
}
  
.ui.message .list:not(.ui):last-child {
	margin-bottom: 0em;
}
  
.ui.message .list:not(.ui) li {
	position: relative;
	list-style-type: none;
	margin: 0em 0em 0.3em 1em;
	padding: 0em;
}
  
.ui.message .list:not(.ui) li:before {
	position: absolute;
	content: '•';
	left: -1em;
	height: 100%;
	vertical-align: baseline;
}
  
.ui.message .list:not(.ui) li:last-child {
	margin-bottom: 0em;
}

.error.message {
	display: block;
	background-color: #FFF6F6;
	color: #9F3A38;
	box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);
}



/* ============================== */
/* 入力フォーム */
/* ============================== */
/* 予約情報入力フォーム */
.c-form__check{
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
}
.c-form__check .row{
	display: flex;
}
.c-form__check dl{
	width: calc( 100% / 2 );
	height: 4rem;
	margin-bottom: 1.5rem;
	display: flex;
}
.c-form__check dl dt{
	width: 40%;
	height: 100%;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-form__check dl dd{
	width: 60%;
	height: 100%;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-form__check dl dd input{
	width: 100%;
	height: 100%;
	text-align: center;
	border: solid .1rem #000;
	border-radius: 0 !important;
	background: rgba(238, 135, 0, .2);
}

/* お客様情報入力フォーム */
.c-form__customer{
	width: calc( 60% - 3rem );
}
.c-form__customer dl{
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}
.c-form__customer dl dt{
	width: 24rem;
	padding-left: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
	position: relative;
}
.c-form__customer dl dd{
	width: calc( 100% - 21rem );
	height: 3.5rem;
}
.c-form__customer dl:not( .c-form__customer__file ) dd input{
	width: 100%;
	height: 100%;
	font-size: 1.6rem;
	font-weight: 400;
	background: rgba(238, 135, 0, .2);
	border: solid .1rem #EE8700;
	border-radius: .5rem;
	padding-left: 1em;
}
.c-form__customer dl:not( .c-form__customer__file ) dd input:disabled{
	background: #dcdcdc;
	border: solid .1rem gray;
}

/* 以下「必須」ボタン */
.c-form__customer dl.must dt::before{
	content: '必須';
	width: 4rem;
	aspect-ratio: 2 / 1;
	padding-top: .2rem;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	border-radius: .5rem;
	background: #FF0000;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY( -50% );
}
/* 以下パスポート画像アップボタンのカスタマイズ */
.c-form__customer__file dd{
	display: flex;
	align-items: center;
	justify-content: left;
	gap: 1rem;
}
.c-form__customer__file dd input[type="file"]{
	display: none;
}
.c-form__customer__file dd label{
	width: 12rem;
	height: 100%;
	padding: 0 1.5rem;
	font-size: 1.2rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid .1rem #000;
	border-radius: .5rem;
	background: #f3f3f3;
	cursor: pointer;
}
.c-form__customer__file dd label span{
	position: relative;
	top: .2rem;
}
.c-form__customer__file dd p{
	font-size: 1.2rem;
	font-weight: 700;
}

/** 代理入力 */
.c-form__proxy {
	padding-top: 3rem;
}
.c-form__proxy dl{
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}
.c-form__proxy dl dt{
	width: 24rem;
	padding-left: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
	position: relative;
}
.c-form__proxy dl dd{
	width: calc( 100% - 21rem );
	height: 3.5rem;
}
.c-form__proxy dd input{
	width: 100%;
	height: 100%;
	font-size: 1.6rem;
	font-weight: 400;
	background: rgba(238, 135, 0, .2);
	border: solid .1rem #EE8700;
	border-radius: .5rem;
	padding-left: 1em;
}
.c-form__proxy dd input:disabled{
	background: #dcdcdc;
	border: solid .1rem gray;
}
.c-form__proxy dl.must dt::before{
	content: '必須';
	width: 4rem;
	aspect-ratio: 2 / 1;
	padding-top: .2rem;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	border-radius: .5rem;
	background: #FF0000;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY( -50% );
}

.pickr {
	position: relative;
}
.pickr input {
	padding-right: 1.8em;
}
.pickr img {
	position: absolute;
	right: 5px;
	aspect-ratio: 1 / 1;
	width: 1.8em;
}
.accept {
    padding: 10px;
	font-size: 1.2em;
}
.accept a {
	text-decoration: underline;
	color: blue;
}
.accept input[type="checkbox"] { display: none; } 
.accept input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
  font: 16px/24px 'Open Sans', Arial, sans-serif;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.accept input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid #6cc0e5;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}
.accept input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ============================== */
/* スピナー表示 */
/* ============================== */
#overlay{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    height:100%;
    display: none;
    background: rgba(0,0,0,0.6);
}
.cv-spinner {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.spinner {
    width: 80px;
    height: 80px;
    border: 4px #ddd solid;
    border-top: 4px #999 solid;
    border-radius: 50%;
    animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(359deg); }
}
.is-hide{
    display:none;
}

/* ============================== */
/* hr */
/* ============================== */
.fac-sep{
	margin-top: 50px;
	margin-bottom: 10px;
	border: 0;
	height: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}


/* レスポンシブ */
@media ( max-width : 999px ){
	.c-form__check dl dt{
		font-size: 1.2rem;
	}
	.c-form__check .row {
		display: block;
	}
	.c-form__check dl {
		padding-top: .4rem;
	}

	.c-form__customer dl{
		gap: 1rem;
	}
	.c-form__customer dl dt{
		width: 20rem;
		font-size: 1.2rem;
	}
	.c-form__customer dl.must dt::before{
		width: 3.5rem;
		font-size: 1rem;
		padding: .2rem .1rem 0 0;
	}
	.c-form__customer dl dd{
		width: calc( 100% - 21rem );
		height: 3rem;
	}
	.c-form__customer dl:not( .c-form__customer__file ) dd input{
		font-size: 1.3rem;
	}
	.c-form__customer__file dd label{
		width: 10rem;
		padding: 0 1rem;
		font-size: 1.0rem;
	}
	.c-form__customer__file dd label span{
		top: .1rem;
	}
	.c-form__customer__file dd p{
		font-size: 1rem;
		line-height: 1.5;
	}
}
@media ( max-width : 667px ){
	.c-form__check{
		margin-bottom: 1rem;
		flex-direction: column;
	}
	.c-form__check dl{
		width: 100%;
		margin: 0;
	}
	.c-form__check dl dt{
		width: 10rem;
	}
	.c-form__check dl dd{
		width: calc( 100% - 10rem );
	}
	.c-form__check dl dd input{
		text-align: left;
		padding: 0 1.5rem;
	}

	.c-form__customer{
		width: 100%;
	}
	.c-form__customer dl dt{
		width: 20rem;
		font-size: 1.3rem;
		padding: .2rem 0 0 0;
	}
	.c-form__customer dl dd{
		width: calc( 100% - 21rem );
	}
}



/* ============================== */
/* INFORMATION */
/* ============================== */
.c-infomation{
	width: 100%;
	height: 100dvh;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
.c-infomation.-visible{
	opacity: 1;
	visibility: visible;
}
.c-infomation .c-popup__b-color{
	position: fixed;
}
.c-infomation__inr{
	width: min( 85%, 100rem );
	margin: 0 auto;
	border: solid .1rem #132E56;
	border-radius: 1.4rem;
	background: #EEEEEE;
	overflow: hidden;
	position: relative;
	z-index: 9999;
}
.c-infomation__ttl{
	padding: 1.8rem 0;
	background: #132E56;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-infomation__ttl h4{
	font-size: 2rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}
.c-infomation__ttl h4::before{
	content: '';
	width: 3.6rem;
	aspect-ratio: 36 / 28;
	background: url( ../img/common/icon_introduction.svg ) no-repeat center / contain;
	display: inline-block;
	position: relative;
}
.c-infomation__txt{
	padding: 2.5rem;
	font-size: 1.6rem;
	line-height: 1.875;
}
.c-infomation__txt h5{
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
}

.c-infomation.-introduction .c-infomation__ttl h4::before{
	top: -.2rem;
}

.c-infomation.-news .c-infomation__inr {
	border: solid .1rem #000;
}
.c-infomation.-news .c-infomation__ttl{
	background: #000;
}
.c-infomation.-news .c-infomation__ttl h4::before{
	background: url( ../img/common/icon_news.svg ) no-repeat center / contain;
}

/* レスポンシブ */
@media ( max-width : 999px ){
	.c-infomation__inr{
		width: calc( 100% - 12rem );
	}
	.c-infomation__ttl h3{
		padding: 0 1.5rem;
		font-size: 1.8rem;
	}
	.c-infomation__ttl{
		padding: 1rem 0;
	}
	.c-infomation__ttl h4{
		font-size: 1.6rem;
	}
	.c-infomation__ttl h4::before{
		width: 2.8rem;
	}
	.c-infomation__txt{
		padding: 1.5rem 2rem;
		font-size: 1.2rem;
	}

	.c-infomation__txt h5{
		font-size: 1.4rem;
	}
}
@media ( max-width : 667px ){
	.c-infomation{
		padding: 4rem 0;
		display: block;
		overflow: auto;
	}
	.c-infomation__inr{
		width: calc( 100% - 8rem );
	}
	.c-infomation .c-popup__close{
		display: block;
		position: relative;
		right: auto;
		margin: 0 auto;
	}
}