:root {
	--font-main-color: #333333;
	--font-sub-color: #fff;
	--font-required-color: #c1272d;
	--font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	--border-color: #adadad;
	--btn-color: #333333;
	--bg-color: #333333;
	--bg-contents-color: #eaeef2;
	--bg-breadcrumbs-color: #adadad;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	height: 100vh;
	display: grid;
	grid-template-rows: 70px auto 140px;
}

.text-center {
	text-align: center;
}
.bg {
	background: var(--bg-contents-color);
	padding-bottom: 20px;
}
.bgwh{
	background-color: #fff;
}
.weight-midium{
	font-weight: 500!important;
}
.mt--03em{
	margin-top: 0.3em!important;
}
.mt--1em{
	margin-top: 1em!important;
}
.mt--2em{
	margin-top: 2em!important;
}
.mt--4em{
	margin-top: 4em!important;
}
.mb--02em{
	margin-bottom: 0.2em!important;
}
.mb--1em{
	margin-bottom: 1em !important;
}

.gap--1em{
	gap: 1em;
}
.gap--2em{
	gap: 2em;
}
.font-required{
	display: flex !important;
	align-items: center;
}
.font-required > span{
	margin-left: 0.5em;
	font-size: 14px !important;
	color: var(--font-required-color);
}
.color-red{
	color: red;
}
.font-s-15{
	font-size: 15px!important;
}

.inline-block{
	display: inline-block!important;
}
.txt-deco{
	text-decoration: none!important;
}
.font-12{
	font-size: 12px;
}
.mgn-0{
	margin: 0;
}

header {
	border-bottom: 1px solid #adadad;
	position: relative;
}

header .user-menubox{
	display: flex;
	gap: 1.5em;
	position: absolute;
	top: 70%;
	right: 2%;
	transform: translateY(-50%);
}

header .user-menubox a{
	text-decoration: none;
	color: var(--font-main-color);
	display: flex;
	align-items: center;
	font-size: 14px;
}
header .user-menubox .user{
	gap: 0.5em;
	line-height: 1;
}
header .user-menubox .user span{
	margin-right: 0.3em;
}
header .user-menubox .user i::before{
	content: '';
	width: 0.7em;
	height: 0.7em;
	display: inline-block;
	border-right: 1px solid var(--font-main-color);
	border-bottom: 1px solid var(--font-main-color);
	transform: rotate(45deg) translateY(-50%);
}

.header-imgbox {
	max-width: 200px;
	width: 80%;
	margin: 0 auto;
	padding: 19px 0 15px;
	line-height: 1;
	text-align: center;
}

.header-imgbox img {
	width: 100%;
}

.breadcrumbs{
	background: var(--bg-breadcrumbs-color);
	font-family: var(--font-family);
	color: var(--font-sub-color);
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 15px 1%;
	list-style-type: none;
}
.breadcrumbs .done{
	color: var(--font-main-color)
}
.breadcrumbs li{
	padding: 0 0.1em;
	/*position: relative;*/
	font-size: 14px;
}
.breadcrumbs li::before{
	content: '';
	display: inline-block;
	/*position: absolute;*/
	width: 0.5em;
	height: 0.5em;
	top: 50%;
	left: -0.1em;
	transform: translateY(-50%) rotate(-45deg);
	border-right: 1px solid var(--font-sub-color);
	border-bottom: 1px solid var(--font-sub-color);
}
.breadcrumbs li:first-child{
	padding-left: 0;
}
.breadcrumbs li:first-child::before{
	content: none
}
.breadcrumbs li:last-child{
	padding-right: 0;
}
.form-inner {
	max-width: 300px;
	width: 85%;
	margin: 0 auto;
}
.form-inner--mid{
	width: 90%;
	max-width: 342px;
	margin: 0 auto;
}
.form-inner--lx{
	width: 90%;
	margin: 0 auto;
}
.form-body{
	padding-bottom: 5%;
}
.form-body h2 {
	margin: 3em 0;
	font-family: var(--font-family);
	font-size: 22px;
	text-align: center;
	line-height: 1;
	color: var(--font-main-color);
}

.form-body a {
	color: var(--font-main-color);
	font-family: var(--font-family);
	font-size: 14px;
}
.form-body select{
	width: 100%;
	padding: 0.2em 1em 0.2em 0.5em;
	border: 1px solid var(--border-color);
	border-radius: 3px;
	font-size: 18px;
	font-family: var(--font-family);
	appearance: none;
}
.form-body .select-wrapper{
	position: relative;
}
.form-body .select-wrapper::after{
	content: '';
	width: 0.5em;
	height: 0.5em;
	display: inline-block;
	border-right: 1px solid var(--font-main-color);
	border-bottom: 1px solid var(--font-main-color);
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-80%) rotate(45deg);
	
}
.form-body__flex{
	display: flex;
}
.form-body__flex > div{
	flex-grow: 1;
}
.form-body__bg-card{
	background: var(--font-sub-color);
	padding: 0.6em 1em;
	border-radius: 3px;
}
.form-body__bg-card table{
	width: 100%;
}
.form-body__input-group>div {
	margin-bottom: 5%;
}

.form-body__input-group>div span {
	display: block;
	font-family: var(--font-family);
	font-size: 18px;
}

.form-body__input-group>div input {
	font-size: 18px;
	width: 100%;
	padding: 0.25em;
	border: 1px solid var(--border-color);
	border-radius: 3px;
	display: block;
}
.form-body__input-group>div input[type="date"]{
	width: auto;
}
.form-body__btn-group {
	margin: 0 auto;
	max-width: 300px;
	display: flex;
	flex-flow: column;
}

.form-body__btn-group .btn {
	font-size: 18px;
	font-family: var(--font-family);
	background-color: var(--btn-color);
	color: var(--font-sub-color);
	padding: 1em 0;
	border-radius: 3px;
	margin-top: 10%;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	cursor: pointer;
	border: 1px solid var(--btn-color);
	transition : 0.5s;
}
.form-body__btn-group .btn:hover {
	border: 1px solid var(--btn-color);
	background-color: #fff;
	color: var(--btn-color);
	transition : 0.5s;
}

.form-body__btn-group .btn--next {
	position: relative;
	font-size: 18px;
	font-family: var(--font-family);
	background-color: var(--btn-color);
	color: var(--font-sub-color);
	padding: 1em 0;
	border: 1px solid var(--btn-color);
	border-radius: 3px;
	margin-top: 10%;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	cursor: pointer;
	transition : 0.5s;
}
.form-body__btn-group .btn--next:hover {
	background-color: var(--font-sub-color);
	color: var(--btn-color);
	border: 1px solid var(--btn-color);
	transition : 0.5s;
}
.form-body__btn-group .btn--next::before{
	content: '';
	position: absolute;
	top: 50%;
	right: 1.3em;
	transform: translate(0, -50%) rotate(-45deg);
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	border-right: 1px solid var(--font-sub-color);
	border-bottom: 1px solid var(--font-sub-color);
	transition : 0.5s;
}
.form-body__btn-group .btn--next:hover::before{
	border-right: 1px solid var(--btn-color);
	border-bottom: 1px solid var(--btn-color);
	transition : 0.5s;
}
.form-body__btn-group .btn--prev {
	position: relative;
	font-size: 18px;
	font-family: var(--font-family);
	background-color: var(--font-sub-color);
	color: var(--font-main-color);
	padding: 1em 0;
	border: 1px solid var(--font-main-color);
	border-radius: 3px;
	margin-top: 10%;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	cursor: pointer;
	transition : 0.5s;
}
.form-body__btn-group .btn--prev:hover {
	border: 1px solid var(--font-main-color);
	background-color: var(--btn-color);
	color: var(--font-sub-color);
	transition : 0.5s;
}
.form-body__btn-group .btn--prev::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 1.3em;
	transform: translate(0, -50%) rotate(-45deg);
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	border-top: 1px solid var(--font-main-color);
	border-left: 1px solid var(--font-main-color);
	transition : 0.5s;
}
.form-body__btn-group .btn--prev:hover::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 1.3em;
	transform: translate(0, -50%) rotate(-45deg);
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	border-top: 1px solid var(--font-sub-color);
	border-left: 1px solid var(--font-sub-color);
	transition : 0.5s;
}

.form-reservation h2{
	margin: 2em 0;
}
.form-reservation p{
	font-size: 18px;
	margin: 2em 0;
}

.form-reservation .roomname{
	margin: 0;
}

.section-inner {
	margin: 0 auto;
	max-width: 650px;
	width: 85%;
}

.section-inner h2 {
	margin: 3em 0;
	font-family: var(--font-family);
	font-size: 22px;
	text-align: center;
	line-height: 1;
	color: var(--font-main-color);
}

.section-inner__wapper .reserve-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1em;
}

.section-inner__wapper .reserve-list li {
	border-radius: 3px;
	background: var(--font-sub-color);
	border: 1px solid var(--font-sub-color);
	transition : 0.5s;
}	
.section-inner__wapper .reserve-list li:hover {
	border: 1px solid var(--btn-color);
	transition : 0.5s;
}	
.section-inner__wapper .reserve-list li a {
	padding: 25% 0;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	color: var(--font-main-color);
	text-decoration: none;
}
.section-inner__wapper .reserve-list li a .reserve-list__img-box {
	flex-basis: 39px;
	display: flex;
	align-items: baseline;
}
.section-inner__wapper .reserve-list li span {
	display: block;
	line-height: 1;
	font-family: var(--font-family);
	font-size: 16px;
}

.section-inner__wapper .section__card{
	max-width: 420px;
	margin: 0 auto 2.5%;
	padding: 5% 0 7%;
	border-radius: 3px;
	background: var(--font-sub-color);
	text-align: center;
	font-family: var(--font-family);
	font-size: 16px;
	color: var(--font-main-color);
	line-height: 1;
}
.section-inner__wapper .section__card h3{
	margin: 0 0 1.5em;
	font-size: 20px;
}
.section-inner__wapper .section__card p{
	margin:0 0 2.3em;
}
.section-inner__wapper .section__card input[type="checkbox"]{
	width: 1em;
}
.mypage__bg-card{
	background: var(--font-sub-color);
	padding: 1.5em;
	border-radius: 3px;
}

.mypage__menu-list{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.mypage__menu-list li{
	border-bottom: 1px solid var(--border-color);
}
.mypage__menu-list li a{
	padding: 0.9em 0;
	text-decoration: none;
	font-size: 18px;
	color: var(--font-main-color);
	font-family: var(--font-family);
	display: flex;
	align-items:flex-end;
	position: relative;
}
.mypage__menu-list li a::after{
	content: '';
	display: inline-block;
	position: absolute;
	width: 0.6em;
	height: 0.6em;
	top: 50%;
	right: 0.6em;
	border-right: 1px solid var(--border-color);
	border-bottom: 1px solid var(--border-color);
	transform: translateY(-50%) rotate(-45deg);
}
.mypage__menu-list li a span{
	margin-left: 1em;
	line-height: 1;
}
.mypage__menu-list li a:hover{
	color: #005D77;
}
/*ホバーしたらドロップダウンメニューを表示するナビゲーション*/
ul {
	padding: 0;
	list-style: none;
}

a {
	text-decoration: none;
}

.list {
	display: flex;
	justify-content: center;
	gap: 2em;
	padding:10px;
}

.dropDown {
	position: absolute;
	top:0;
	display: none;
	padding:10px;
	margin-top: -40px;
	background-color: #fff;
	box-shadow: 0px 3px 8px -2px #777;
	color: initial;
	transform: translate(0, 100%);
	width: 75%;
}


.link:hover > .dropDown,
.link:focus-within > .dropDown {
 	display: block;
}

.dropDown__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.dropDown__link:hover{
	color: #005D77;
}
footer {
	background-color: var(--bg-color);
	color: var(--font-sub-color);
	font-family: var(--font-family);
}

footer > div {
	text-align: center;
}

footer .footer-link {
	padding: 18px 0;
	display: inline-flex;
	flex-flow: column;
	font-size: 14px;
	row-gap: 1em;
}

footer .footer-link a {
	text-decoration: none;
	color: var(--font-sub-color);
}
footer .footer-link .contact span{
	position: relative;
	font-size: 16px;
}
footer .footer-link .contact span::before {
	content: '';
	position: absolute;
	top: 46%;
	left: -1.5em;
	transform: translate(0, -50%) rotate(-45deg);
	display: inline-block;
	width: 0.7em;
	height: 0.7em;
	border-right: 1px solid var(--font-sub-color);
	border-bottom: 1px solid var(--font-sub-color);
}

footer .footer-copyright {
	padding: 14px 0;
	border-top: 1px solid var(--font-sub-color);
	line-height: 1;
}

footer small {
	font-size: 12px;
}

.mypage-ul li{
	padding: 5px;
	border-bottom: 1px solid #a9a9a9;
	display: flex;
	position: relative;
}
.mypage-ul li::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 8px;   /* arrow size */
	height: 8px;  /* arrow size */
	border-top: 1px solid #808080;  /* thickness, color */
	border-right: 1px solid #808080;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.mypage-ul li svg{
	margin-right: 10px;
}


.form-body__input-group>div input.checkbox-unset{
	width: unset;
}

.description-text p{
	text-align: left;
	font-size:16px;
}



@media screen and (max-width: 750px){
	main{
		padding-bottom: 18%;
	}
	.sp-hidden{
		display: none;
	}
	.header-menu{
		display: flex;
		justify-content: space-between;
	}
	.header-menu .header-imgbox{
		margin: auto 0 auto 5%;
		padding: 0;
		max-width: inherit;
		width: auto;
	}
	.header-menu .user-menubox{
		right: 5%;
	}
	.form-body{
		padding-bottom: 0;
	}
	.form-body a{
		display: inline-block;
		margin-bottom: 3%;
	}
	.form-body__input-group>div{
		margin-bottom: 6%;
	}
	.form-body__btn-group .btn{
		margin-top: 8%;
	}
	.form-body__btn-group .btn--next{
		margin-top: 8%;
	}
	.form-body__btn-group .btn--prev{
		margin-top: 8%;
	}
	.section-inner__wapper .reserve-list{
		margin: 0 auto;
		width: 95%;
		grid-template-columns: repeat(2,1fr);
	}
	.reservation-coution{
		line-height: 1.5 !important;
		margin: 2.5em 0 !important;
	}
	.section-inner__wapper .section__card{
		padding: 9% 7% 11%;
	}
	.section-inner__wapper .section__card p{
		line-height: 1.5;
	}
	.breadcrumbs{
		padding: 3.5% 3%;
		row-gap: 0.2em;
	}
/*ホバーしたらドロップダウンメニューを表示するナビゲーション*/
	.dropDown {
		width: 100%;
		right: -20px;
	}
	.reserve_confirm-table th,.reserve_confirm-table td{
		display: block;
    	width: 100%;
	}
	.reserve_confirm-table td:first-child,.reserve_confirm-table td:last-child{
		width: 100%;
	}
	
}



.icon-category {
    width: 30px;
    height: 24px;
}

.jconfirm .jconfirm-box .jconfirm-buttons button {
    border: 1px solid #333333;
}

.bg-main-button {
    background-color: #333333;
    color: #fff;
}

.calendar-input {
    position: relative;
}


.calendar-input::after {
    position: absolute;
    content: "\ebcc";
    display: inline-block;
    font-family: "Material Icons";
    width: 18px;
    height: 18px;
    border: 0px;
    top: 0;
    right: 20px;
    font-size: 1.5rem;
    color: var(--fc-gray);
}

/* .jconfirm .jconfirm-box .jconfirm-buttons button */
.jconfirm .jconfirm-box .jconfirm-buttons button.bg-main-button:hover {
    border: 1px solid #333333;
    background-color: #fff;
    color: #333333;
    transition: 0.5s;
}


.section-inner .line-h-1{
	line-height: 1.5;
}

.error-li li{
	list-style: square;
	list-style-position: outside;
	margin-left: 8px;
}

.yoyakukikan{
	padding: 10px;
}
.kikanarea{
	height: 80px;
}

/* trimming */
.imgbox {
	width: 100%;  /* トリミングしたい幅 */
	height: 150px;  /* トリミングしたい高さ */
	overflow: hidden;
	position: relative;
	background-color: #d3d3d3;
	margin-bottom: 10px;
}
.imgbox img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}
.flex{
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	/*-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;*/
	
}

.boxarea{
	width: calc( 98% / 2 );
	flex-wrap: wrap;
	border: 2px solid #fff;
	margin-bottom: 20px;
	margin-left: 0;
}

.boxarea a{
	color: #333;
}

.boxarea-select{
	width: calc( 98% / 2 );
	flex-wrap: wrap;
	border: 4px solid #F05E1C;
}
.boxarea:hover{
	border: 2px solid #F05E1C;
}

@media screen and (max-width : 650px){
	.sp-boxflex{
		display: block;
	}
	.boxarea{
		width: 100%;
		margin: 0 auto;
		margin-bottom: 10px;
	}
	.kikanarea{
		font-size: 15px!important;
		height: 70px;
	}
}

.boxarea-reserve-form{
	width: calc( 98% / 2 );
	flex-wrap: wrap;
	border: 2px solid #fff;
	margin-bottom: 20px;
	margin-left: 0;
}

.boxarea-reserve-form a{
	color: #333;
}

.boxarea-select{
	width: calc( 90% / 2 );
	flex-wrap: wrap;
	border: 4px solid #F05E1C;
}


@media screen and (max-width : 650px){
	.sp-boxflex{
		display: block;
	}
	.boxarea-reserve-form{
		width: 100%;
		margin: 0 auto;
		margin-bottom: 10px;
	}
}

.list-box{
	text-align: left;
}
.list-box li{
	font-size: 15px;
	
}
.list-box .label-box{
	background-color: #005E84;
	color: #fff;
	padding: 4px 8px;
	margin-bottom: 1px;
	font-size: 9px;
}
.description-text-reserve-form p{
	margin: 0;
	font-size: 13px;
}


.form-reservation .property-title{
	margin: 0;
}

.form-inner-reserve-form{
	padding: 10px 0;
}

.form-inner-profile input{
	width: 100%;
}
