@charset "utf-8";
/*  contents.css
---------------------------------------------- */

/*  pc
---------------------------------------------- */
/*  common
---------------------------------------------- */
.inner {
	width: 1080px;
	margin: 150px auto 0;
	padding: 70px 0;
	font-size: 1.6em;
	font-family: source-han-serif-japanese, serif;
	letter-spacing: 0.1em;
	font-weight: 400;
	font-style: normal;
}
h3 {
	color: #231815;
}
h3::before {
	margin-right: 5px;
	margin-bottom: 5px;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f0c8';
}
h3 span {
	margin-left: 3em;
}
span {
	font-size: 0.9em;
}
input[type="text"],input[type="email"],input[type="time"],
input[type="tel"],select,textarea {
	width: 100%;
	height: 40px;
	font-family: inherit;
	font-size: 0.9em;
	line-height: 1.2;
	background: #fff;
	border: 1px solid #898989;
}
input[type="text"],input[type="email"],
input[type="tel"],select {
	padding: 0 10px!important;
}
textarea {
	padding: 10px!important;
}
input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus {
	background: #fff;
}
input[type="checkbox"],
input[type="radio"] {
	margin-right: 10px;
}
input[type="submit"] {
	border-radius: 0;
	-webkit-appearance: none;
}
select {
	appearance: none;
	-webkit-appearance: none;
}
.select-container {
	position: relative;;
}
.select-container::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f078";
	position: absolute;
	top: 8px;
	right: 10px;
	font-size: 12px;
	pointer-events:none
}
.btn_link {
    width: 300px;
	padding: 20px 0;
	margin: 60px auto 0;
    display: block;
    vertical-align: middle;
    font-size: 1.35em;
    font-weight: 500;
	font-family: source-han-serif-japanese, serif;
	background: url("../image/sub_icon01.png") 95% center no-repeat #fff;
    border: 1px solid #231815;
	color: #231815;
    text-align: center;
	line-height: 1.0;
	cursor: pointer;
	transition: all,.4s;
    -moz-transition: all,.4s;
    -o-transition: all,.4s;
    -webkit-transition: all,.4s;
	
}
.btn_link:hover {
	background: url("../image/sub_icon02.png") 95% center no-repeat #231815;
    color: #fff;
}
.pc_none {
	display: none;
}
.red {
  color: #FF192D;
}

/* calender
---------------------------------------------- */
.calender_desc {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 50px;
	padding: 15px 20px;
	border: 1px solid #231815;
	line-height: 1.8em;
}
.calender_desc img {
	max-width: 100%;
}
.calender_desc li {
	margin-left: 20px;
	list-style: disc;
}
.calender_desc li a {
	color: #FF192D;
	text-decoration: underline;
}
.calender_desc li a:hover {
	opacity: 0.8;
}
.fc .fc-scrollgrid {
  border-width: 0 0 0 0; 
  font-weight: normal;
}
.fc-theme-standard td, .fc-theme-standard th {
    border: 1px solid #89899!important;
    border: 1px solid var(--fc-border-color, #898989)!important;
}
.fc-theme-standard th {
	border-bottom: none!important;
}
.fc .fc-toolbar {
	position: relative;
	align-items: flex-end!important;
}
.fc .fc-toolbar-title {
	margin-left: 120px!important;
	font-size: 2.2em!important;
	font-weight: bold;
}
.fc-button-group button {
	width: 60px;
	height: 45px;
	background: #231815!important;
	border: none!important;
	border-radius: 0!important;
}
.fc-button-group button:hover {
	opacity: 0.8;
}
.fc .fc-scroller:first-child {
	overflow: visible!important;
}
.fc .fc-scroller-liquid-absolute {
	overflow: inherit!important;
}
.fc-liquid-hack td, .fc-liquid-hack th{
	position: inherit!important;
}
th.fc-day {
	color: #898989;
}
th.fc-day-sat { 
	background-color: #BCD6E2;
	color: #1567C9!important;
} 
th.fc-day-sun { 
	background-color: #F2C8CA;
	color: #C9161E!important;
}
td.fc-day-past {
	background: #F5F4F4!important;
	pointer-events: none!important;
}
td.fc-day-today {
	pointer-events: none!important;
}
td.fc-day-sun {
	color: #C9161E;
	background: #FAEBED;
}
td.fc-day-sat {
	color: #1567C9;
	background: #E9F1F5;
}
.fc .fc-col-header-cell-cushion {
	font-size: 15px;
	pointer-events: none;
}
.fc .fc-daygrid-day-frame {
	height: 100px!important;
	box-sizing: border-box;
}
.fc .fc-daygrid-day-top {
	display: block!important;
	position: relative;
}
.fc .fc-daygrid-day-number {
	position: absolute!important;
	right: 0;
	font-size: 25px!important;
	pointer-events: none;
}
.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
	height: 100%!important;
	position: relative;
	text-align: center;
	font-size: 50px;
	font-weight: 600;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
.fc .fc-daygrid-day-bottom {
	padding: 0!important;
	display: none!important;
}
.fc .fc-daygrid-event-harness {
	height: 100%;
    display: flex;
	justify-content: center;
	align-items: center;
}
.fc-direction-ltr .fc-daygrid-event.fc-event-end, 
.fc-direction-rtl .fc-daygrid-event.fc-event-start {
	box-shadow: none;
}
.event_apply {
	height: fit-content;
	top: 0;
}
.event_apply::after {
	content: "予約する";
	position: absolute;
	transform: translateX(-50%);
	top: 55px;
	color: #AA9777;
	font-size: 14px;
	font-family: source-han-serif-japanese, serif;
}

/* form
---------------------------------------------- */
#application h2,
#confirm h2 {
	padding: 12px 20px 15px;
	margin: 0 0 25px;
	line-height: 1.0;
	color: #fff;
	background: #231815;
	font-size: 1.35em;
	font-weight: 100;
}
form {
	width: 100%;
}
.form-page .form-table {
	margin-bottom: 50px;
}
.form-page .form-table span.absolute {
	padding: 5px;
	font-size: 0.85em;
	background: #FF192D;
	color: #fff;
	line-height: 1;
}
.form-page .form-table .form-tr {
	display: flex;
	border-color: #898989;
	border-style: solid;
	border-width: 0px 1px 1px 1px;
}
.form-page .form-table .form-tr:first-child {
	border-top: 1px solid #898989;
}
.form-page .form-table .form-tr .form-th,
.form-page .form-table .form-tr .form-td {
	padding: 15px 20px;
	font-weight: 400;
}
.form-page .form-table .form-tr .form-th {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 240px;
	font-weight: 400;
	background: #f5f4f4;
	border-right: 1px solid #898989;
}
.form-page .form-table .form-tr .form-td {
	width: calc(100% - 240px);
}
.form-page .form-table .form-tr .form-td .error_text {
	margin-top: 5px;
	display: none;
	font-size: 0.85em;
	color: #FF192D;
}
.form-page .form-table .form-tr .form-td.clm-tenants {
	display: flex;
	align-items: center;
}
.form-page .form-table .form-tr .form-td .tenants_text {
	margin-top: 5px;
}
.form-page .table03 input[type="time"],
.form-page .table03 input[type="text"] {
	height: 35px;
	padding: 5px 10px;	
	font-size: 0.85em;
}
.form-page .table03 .form-td ul {
	width: 100%;
}
.form-page .table03 .bottom-td1 ul li {	
	display: flex;
	align-items: center;
}
.form-page .table03 .bottom-td1 ul li p:nth-child(3) {
	width: 11em;
	margin-right: 10px;
	white-space: nowrap;
}
.form-page .table03 .bottom-td1 ul li p select {
	width: 100%;
}
.form-page .table03 .bottom-td1 ul li p:nth-child(4) {
	width: 60%;
}
.form-page .table03 .bottom-td1 .tenants-usetime {
	display: none;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 11em);
}
.form-page .table03 .bottom-td1 .tenants-usetime .select-container {
	width: 100%;
}
.form-page .table03 .bottom-td1 .tenants-usetime .select-container::after {
	top: 15px;
}
.form-page .table03 .bottom-td1 .tenants-usetime .t_comma {
	margin: 0 5px;
}
.form-page .table03 .bottom-td1 .tenants-usetime .t_between {
	margin: 0 10px;
}
.form-page .table03 .bottom-td3 .content1 {
	display: flex;
}
.form-page .table03 .bottom-td3 .content1:nth-child(-n+2) label {
	margin-right: 20px;
}
.form-page .table03 .bottom-td3 .content2 p {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
}
.form-page .table03 .bottom-td3 .content2 p label {
	width: 50px;
	white-space: nowrap;
}
.form-page .table03 .bottom-td3 .content2 p input {
	margin-left: 20px;
	width: calc(100% - 50px);
}
.form-page .table03 .bottom-td4 ul li {
	display: flex;
	align-items: center;
}
.form-page .table03 .bottom-td4 ul li p:first-child {
	width:  50%;
	white-space: nowrap;
}
.form-page .table04 .form-tr .form-td textarea {
	width: 100%;
	height: 5em;
	resize: none;
}
.form-page .form-money {
	margin-bottom: 80px;
}
.form-page .form-money ul {
	width: 100%;
	display: flex;
	border: 1px solid #231815;
}
.form-page .form-money ul li {
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.form-page .form-money ul li p {
	font-weight: bolder;
}
.form-page .form-money ul li:first-child {
	width: 30%;
	padding: 15px 10px;
	border-right: 1px solid #231815;
	background: #AA9777;
	color: #fff;
	font-size: 1.6em;
}
.form-page .form-money ul li:last-child {
	margin: 0 auto;
	font-size: 3rem;
}
.form-page .form-money ul li:last-child .tenants_text {
	display: none;
	margin-right: 1em;
	margin-left: 0;
	font-weight: bold;
	font-size: 0.4em;
	color: #FF192D;
}
.form-page .form-money ul li:last-child p {
	max-width: 16rem;
    min-width: 4rem;
	font-size: 0.7em;
	text-align: right;
}
.form-money ul li:last-child .money_unit {
	margin-left: 1em;
	font-size: 0.3em;
}
.form-page form .form-agreement p {
	text-align: center;
}
.form-page form .form-agreement p a {
	text-decoration: underline;
	color: #231815;
}
.form-page form .form-agreement p:nth-child(2) {
	margin-top: 30px;
	font-size: 1.1rem;
}
.form-page form .form-agreement .agree_error {
	margin-top: 5px;
	font-size: 0.85em;
	color: #FF192D;
}

/* confirm
---------------------------------------------- */
#confirm .confirm_buttons {
	display: flex;
	justify-content: center;
}
#confirm .table03 .bottom-td2 .program-tr .program-td {
	display: flex;
	align-items: center;
}
#confirm .table03 .bottom-td3 ul li p:first-child {
    width: 200px;
    white-space: normal;
}
#confirm .confirm_buttons form:first-child .btn_link {
	margin: 10px 10px 0 auto;
}
#confirm .confirm_buttons form:last-child .btn_link {
	margin: 10px auto 0 10px;
}
#confirm .table03 .bottom-td2 .program-time .program-time-child .program-tr .program-td p {
	display: block;
	margin: 0;
}

/* error
---------------------------------------------- */
#error p {
	font-size: 2em;
	text-align: center;
}

/* complete
---------------------------------------------- */
#complete p {
	text-align: center;
}
#complete .complete_ttl {
	font-size: 2em;
	color: #231815;
}
#complete .complete_text {
	margin-top: 30px;
}

/*  mobile & smart phone
---------------------------------------------- */
@media only screen and (max-width: 1280px) {	
	.inner{
		width: 90%;
	}	
}
@media only screen and (max-width: 959px) {	
	/*  common
	---------------------------------------------- */
	.inner {
		padding: 50px 0;
		margin-top: 80px;
		width: 94%;
		font-size: 1.4em;	
	}
	h3 {
		margin-right: 1em;
	}
	h3 span {
		display: block;
		margin-left: 1em;
	}
	span {
		font-size: 0.85em;
	}
	.pc_none {
		display: block!important;
	}
	
    /* calender
	---------------------------------------------- */
	.calender_desc {
		flex-direction: column-reverse;
		padding: 10px 3%;
	}
	.calender_desc img {
		margin-bottom: 15px;
	}
	.fc .fc-view-harness {
		height: 640px!important;
	}
	.fc .fc-toolbar {
		margin-bottom: 15px!important;
	}
	.fc .fc-toolbar-title {
		font-size: 2.1em!important;
	}
	.fc-toolbar-chunk:nth-child(1) {
		display: none;
	}
	.fc .fc-toolbar-title {
		margin: 0!important;
		padding: 0;
	}
	.fc-button-group button {
		width: 50px;
		height: 40px;
		display: flex!important;
		justify-content: center;
		align-items: center;
	}
	.fc .fc-daygrid-day-number {
		font-size: 20px!important;
	}
	.fc .fc-scroller-liquid-absolute {
		overflow: inherit!important;
	}
	.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
		font-size: 40px;
	}
	.event_apply {
		font-size: 30px!important;
	}
	.event_apply::after {	
		position: absolute;
		top: 40px;
		transform: translateX(-50%);
		font-size: 10px;
	}
   
	/* form
	---------------------------------------------- */
	#application h2,
	#confirm h2 {
		padding: 10px 10px 12px;
		margin: 0 0 20px;
		font-size: 1.2em;
	}
	#comfirm.form-page .table03 .bottom-td2 .program-tr {
		min-height: 40px;
	}
	#confirm .confirm_buttons {
		flex-direction: column-reverse;
	}
	#confirm .confirm_buttons form:first-child .btn_link {
		margin-right: auto;
		margin-top: 20px;
	}
	#confirm .confirm_buttons form:last-child .btn_link {
		
		margin-left: auto;
	}
	.form-page .form-table {
		margin-bottom: 30px;
	}
	.form-page .form-table span.absolute {
		font-size: 1em;
	}
	.form-page .table03 input[type="text"] {
		height: 40px;
		padding: 0 2px;
		font-size: 0.9em;	
	}
	.form-page .form-table .form-tr {
		display: block;
		border-color: #898989;
		border-style: solid;
		border-width: 0px 1px 1px 1px;
	}
	.form-page .form-table .form-tr:first-child {
		border-top: 1px solid #898989;
	}
	.form-page .form-table .form-tr .form-th,
	.form-page .form-table .form-tr .form-td {
		width: 100%!important;
		padding: 10px 3%;
	}
	.form-page .form-table .form-tr .form-th {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #898989;
	}
	.form-page .form-table .form-tr .form-td {
		width: 100%;
		min-height: 40px;
	}
	.form-page .table03 select {
		padding: 5px;
	}
	.form-page .table03 .form-td ul {
		width: 100%;
	}
	.form-page .table03 .bottom-td1 ul li p:first-child {
		width: 30%;
		white-space: nowrap;
	}
	.form-page .table03 .bottom-td1 ul li p span:last-child {
		margin-left: 3px;
	}
	.form-page .table03 .bottom-td1 ul li p:last-child {
		width: 100%;
	}
	.form-page .table03 .bottom-td1 .tenants-usetime {
		margin-top: 10px;
	}
	.form-page .table03 .bottom-td3 .content1 {
		flex-wrap: wrap;
	}
	.form-page .table03 .bottom-td3 .content1 p {
		width: 50%;
	}
	.form-page .table03 .bottom-td3 .content1:nth-child(-n+2) label {
		margin-right: 0;
	}
	.form-page .table03 .bottom-td3 .content1 p:nth-last-child(-n+2) {
		margin-top: 10px;
	}
	.form-page .table03 .bottom-td3 .content2 input[type="text"] {
		height: 38px;
	}
	.form-page .table03 .bottom-td4 ul li {
		justify-content: space-between;
	}
	.form-page .table03 .bottom-td4 ul li:last-child p:last-child,
	.form-page .table03 .bottom-td4 ul li:last-child span {
		text-align: right;
	}
	.form-page .form-money {
		margin-bottom: 50px;
	}
	.form-page .form-money ul li:first-child {
		font-size: 1.2em;
	}
	.form-page .form-money ul li:last-child .tenants_text {
		margin-right: 0.5em;
		font-size: 0.3em;
	}
	.form-page .form-money ul li:last-child p {
		font-size: 0.5em;
		min-width: 1em;
	}
	.form-money ul li:last-child .money_unit {
		margin-left: 0.5em;
		font-size: 0.25em;
	}
	.form-page form .form-agreement p {
		text-align: left;
	}
	.form-page form .form-agreement p:nth-child(2) {
		text-align: center;
		margin-top: 20px;
		font-size: 1em;
	}
	.form-page form .form-agreement p:last-child {
		text-align: center;	
	}	

	/* complete
	---------------------------------------------- */
	#complete .complete_ttl{
		font-size: 1.7em;
	}
	
	
	/* error
	---------------------------------------------- */
	#error p{
		font-size: 1.7em;
	}

    
}


/* 230420 add */
.notes {
  margin-top: 30px;
  line-height: 2em;
}
.notes a {
  color: #000;
  text-decoration: underline;
}