@charset "utf-8";
:root {
	--c_main:#790028;
	--c_gy1:#F5F5F5;
	--c_gy2:#E4E4E4;
	--c_gy3:#918E8D;
	--c_bk:#505050;
	--c_rd:#C93117;
	--c_bl:#11628B;
	--c_gr:#337E4B;
	--c_ye:#B1812D;
	--c_bk2:#DADADA;
	--c_rd2:#FFE6E2;
	--c_bl2:#D5E4EC;
	--c_gr2:#D7E8DC;
	--c_ye2:#F0E7D7;
	--c_sun:#E73238;
	--c_sat:#1571F1;
}
.clr-main {color: var(--c_main)!important;}
.clr-main {color: var(--c_main)!important;}
.clr-gy1 {color: var(--c_gy1)!important;}
.clr-gy2 {color: var(--c_gy2)!important;}
.clr-gy3 {color: var(--c_gy3)!important;}
.clr-bk {color: var(--c_bk)!important;}
.clr-rd {color: var(--c_rd)!important;}
.clr-bl {color: var(--c_bl)!important;}
.clr-gr {color: var(--c_gr)!important;}
.clr-ye {color: var(--c_ye)!important;}
.clr-bk2 {color: var(--c_bk2)!important;}
.clr-rd2 {color: var(--c_rd2)!important;}
.clr-bl2 {color: var(--c_bl2)!important;}
.clr-gr2 {color: var(--c_gr2)!important;}
.clr-ye2 {color: var(--c_ye2)!important;}
.clr-sun {color: var(--c_sun)!important;}
.clr-sat {color: var(--c_sat)!important;}
.bg-main {background-color: var(--c_main)!important;}
.bg-gy1 {background-color: var(--c_gy1)!important;}
.bg-gy2 {background-color: var(--c_gy2)!important;}
.bg-gy3 {background-color: var(--c_gy3)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-rd {background-color: var(--c_rd)!important;}
.bg-bl {background-color: var(--c_bl)!important;}
.bg-gr {background-color: var(--c_gr)!important;}
.bg-ye {background-color: var(--c_ye)!important;}
.bg-bk2 {background-color: var(--c_bk2)!important;}
.bg-rd2 {background-color: var(--c_rd2)!important;}
.bg-bl2 {background-color: var(--c_bl2)!important;}
.bg-gr2 {background-color: var(--c_gr2)!important;}
.bg-ye2 {background-color: var(--c_ye2)!important;}
.bg-sun {background-color: var(--c_sun)!important;}
.bg-sat {background-color: var(--c_sat)!important;}
.fo-futura,.num {
	font-family: "futura-pt", sans-serif;
	font-weight: 500;
	font-style: normal;
}
body {
	background: var(--c_gy1);
	color: var(--c_bk);
}
button {
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: var(--c_bk);
	transition: .2s;
}
h2 {
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
input[type="text"],input[type="tel"],input[type="email"],input[type="password"],select,textarea {
	padding: .8rem;
	border: 1px solid #e0e0e0;
	border-radius: .5rem;
}

/*header
---------------------------------------------------------*/
#header {
	padding: 2rem 0;
	border-bottom: 1px solid #e0e0e0;
}
.hWrap {
	width: 90%;
	max-width: 120rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.hLogo {
	display: flex;
	align-items: center;
	gap: .5rem 2rem;
	text-align: left;
}
.hLogo .logo {
	max-width: 20rem;
}
.hLogo  span {
	font-size: 1.6rem;
	font-weight: 500;
}
.hBox {
	gap: .8rem 1.5rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.honbuTxt a,.logout {
	text-align: center;
	background: var(--c_gy3);
	padding: .5rem 2.5rem;
	color: #fff;
	border-radius: .5rem;
	font-size: 1.6rem;
}
.honbuTxt a {
	display: block;
	background: #fff;
	border: 1px solid #e0e0e0;
	color: var(--c_bk);
}
.honbuTxt a:hover,
.logout:hover {
	color: #fff;
	background: #333;
}

/*contetns
---------------------------------------------------------*/
.ttlBox {
	font-size: 2.4rem;
	margin-bottom: 5rem;
}
.ttlBox .tag {
	background: var(--c_gy2);
	border-radius: .5rem;
	display: inline-block;
	padding: .5rem 1rem;
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
}
.ttlBox.row {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 3rem;
}
.ttlBox.row .tag {
	margin: 0 1.5rem 0 0;
}
#login h2 {
	font-size: 3.2rem;
}
.loginBox {
	max-width: 40rem;
	margin: 0 auto;
}
.loginBox dl {
	font-size: 1.8rem;
}
.loginBox dt {
	text-align: left;
	font-size: 2rem;
	margin-bottom: 1.5rem;
}
.loginBox dd input {
	font-size: 2rem;
	width: 100%;
	padding: 1.8rem 1rem;
}
.loginBox dd+dt {
	margin-top: 2rem;
}
.error {
	margin-top: 1rem;
	font-size: 1.5rem;
	color: red;
}
.formBtn {
	margin-top: 8rem;
}
.login {
	background: var(--c_main);
	border: 1px solid #C35579;
	border-radius: .5rem;
	width: 24rem;
	padding: 1rem;
	color: #fff;
	font-size: 2.4rem;
}
.login:hover {
	background: #333;
	border-color: var(--c_gy3);
}
#calendarPage {
	padding: 0 0 6rem;
}
#calendarPage section {
	padding: 3rem 0;
}
#calendarPage section + section {
	border-top: 1px solid #E0E0E0;
}
.calendarNav {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 3rem 4rem;
}
.calendarNav dl:nth-of-type(1) { grid-area: 1 / 1 / 4 / 2; }
.calendarNav dl:nth-of-type(2) { grid-area: 1 / 2 / 4 / 3; }
.calendarNav dl:nth-of-type(3) { grid-area: 1 / 3 / 2 / 4; }
.calendarNav dl:nth-of-type(4) { grid-area: 2 / 3 / 3 / 4; }
.calendarNav dl:nth-of-type(5) { grid-area: 3 / 3 / 4 / 4; }
.calendarNav dl {
	background: #fff;
	padding: 1rem 3rem;
	text-align: left;
	border-radius: .8rem;
	box-shadow: 0 .4rem 1rem 0 rgba(0, 0, 0, 0.07);
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}
.calendarNav dl.active {
	background: var(--c_ye2);
}
.calendarNav dl.black.active {
	background: var(--c_bk2);
}
.calendarNav dl.red.active {
	background: var(--c_rd2);
}
.calendarNav dl.blue.active {
	background: var(--c_bl2);
}
.calendarNav dl.green.active {
	background: var(--c_gr2);
}
.calendarNav dl::after {
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.9rem;
	background-color: var(--c_gy3);
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -2.8rem;
}
.calendarNav dl:nth-of-type(3)::after,
.calendarNav dl:nth-of-type(4)::after {
	transform: translateX(-50%);
	right: auto;
	top: auto;
	left: 50%;
	bottom: -2.2rem;
	width: 2rem;
	height: 1.4rem;
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}
.calendarNav dl:nth-of-type(5)::after {
	display: none;
}
.calendarNav dt {
	display: flex;
	align-items: center;
	white-space: nowrap;
	gap: 1rem;
}
.calendarNav .num {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--c_ye);
	text-align: center;
	letter-spacing: .05em;
	text-indent: .075em;
	width: 3.5rem;
	height: 3.6rem;
	color: #fff;
	font-size: 1.8rem;
	border-radius: .5rem;
}
.calendarNav .black .num {background: var(--c_bk);}
.calendarNav .red .num {background: var(--c_rd);}
.calendarNav .blue .num {background: var(--c_bl);}
.calendarNav .green .num {background: var(--c_gr);}
.calendarNav dd {
	padding-top: 1.5rem;
	margin-top: 1.5rem;
	border-top: 1px solid #c8c8c8;
}
.shinsei {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 1rem;
}
.shinsei label {
	background: #fff;
	border: 1px solid var(--c_bk2);
	border-radius: .5rem;
	text-align: center;
	padding: 1.2rem;
	transition: .2s;
}
.shinsei label:hover {
	background: var(--c_ye2);
}
.shinsei input:checked + label {
	background: var(--c_ye);
	border-color: var(--c_ye);
	color: #fff;
}
.shinsei input {
	display: none;
}
.days {
	display: flex;
	justify-content: center;
	gap: 1rem;
}
.days select {
	min-height: 5rem;
	text-align: center;
	background: #fff url(../img/arrow_btm.svg) right 1rem center no-repeat;
	background-size: 2.1rem auto;
	border: 1px solid var(--c_gy2);
	border-radius: .5rem;
	font-size: 1.8rem;
	padding-right: 3rem;
}
.daysClear {
	width: 18rem;
	border: 1px solid var(--c_gy2);
	background: #e6e6e6;
	font-size: 1.5rem;
	color: var(--c_bk);
	border-radius: .5rem;
	padding: 1.5rem 1rem;
}
.daysClear:hover {
	background: #fff;
}
.resultArea {
	width: 100%;
	max-width: 90rem;
	margin: 0 auto;
	position: relative;
}
.resultWrap {
	background: #fff;
	border-radius: 1rem;
	border: 1px solid #e0e0e0;
	overflow: hidden;
	display: grid;
	grid-template-columns: 30rem 1fr 1fr 1fr;
}
.resultWrap dl + dl {
	border-left: 1px solid #e0e0e0;
}
.resultWrap dt {
	background: var(--c_ye);
	color: #fff;
	padding: 1rem;
}
.resultWrap .green dt {background: var(--c_gr);}
.resultWrap .blue dt {background: var(--c_bl);}
.resultWrap .red dt {background: var(--c_rd);}
.resultWrap dd {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	gap: 1rem;
	padding: 1rem;
	height: 5rem;
	color: var(--c_ye);
}
.resultWrap .green dd {color: var(--c_gr);}
.resultWrap .blue dd {color: var(--c_bl);}
.resultWrap .red dd {color: var(--c_rd);}
.resultWrap dd button img {
	width: 1.6rem;
	display: block;
	margin-bottom: -.1rem;
}
.resultWrap dd button:hover {
	opacity: .5;
}
.clearBtn {
	position: absolute;
	bottom: 0;
	right: -14rem;
	z-index: 1;
}
.clearBtn button {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: 1.5rem;
}
.clearBtn button::before {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 2rem;
	transform: rotate(180deg);
	aspect-ratio: 1;
}
.clearBtn button:hover {
	opacity: .7;
}
.notice {
	margin-bottom: 3rem;
}
.calendarArea {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 5rem;
}
.calendarWrap {
	border-radius: 1.5rem;
	background: #FFF;
	box-shadow: 0 .4rem 1rem 0 rgba(0, 0, 0, 0.07);
	position: relative;
	padding: 2.5rem;
}
.calendarBtn {
	position: absolute;
	z-index: 1;
	top: 2.5rem;
	left: 2.5rem;
	background: var(--c_gy1);
	border-radius: .5rem;
	font-size: 110%;
	padding: 1rem;
	gap: 1rem;
	color: var(--c_bk);
	display: flex;
	justify-content: center;
	align-items: center;
}
.calendarBtn::before {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 2rem;
	aspect-ratio: 1;
	transform: rotate(180deg);
}
.next .calendarBtn {
	flex-direction: row-reverse;
	left: auto;
	right: 2.5rem;
}
.next .calendarBtn::before {
	transform: rotate(0deg);
}
.calendarBtn:hover {
	background: var(--c_rd2);
}
.calendarTtl {
	position: relative;
	font-size: 2rem;
	line-height: 0.7;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 0 1.5rem;
	text-align: left;
	margin-bottom: 3rem;
}
.calendarTtl .month {
	font-size: 300%;
	letter-spacing: -0.1em;
}
.calendarTtl .eng {
	font-size: 1.6rem;
	color: var(--c_gy3);
	margin-bottom: 0.8rem;
}
.calendarTbl table {
	table-layout: fixed;
}
.calendarTbl th {
	padding-bottom: 1.5rem;
}
.sun,.holiday {
	color: var(--c_sun);
}
.sat {
	color: var(--c_sat);
}
.calendarTbl td {
	border: 1px solid #ccc;
	position: relative;
	padding: .5rem;
	padding-top: 3rem;
	height: 8rem;
	text-align: left;
}
.calendarTbl td.available {
	cursor: pointer;
	transition: .1s;
}
.calendarTbl td.available:hover {
	background: var(--c_rd2);
}
.calendarTbl td.sun,
.calendarTbl td.holiday {
	background: #FDEBEC;
}
.calendarTbl td.sat {
	background: #E8F1FE;
}
.calendarTbl .date {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0.2rem;
	left: 0.2rem;
	padding-bottom: 0.3rem;
}
.calendarTbl td small {
	color: var(--c_gy3);
	position: absolute;
	right: .7rem;
	top: .5rem;
	font-size: 1.2rem;
	font-weight: 400;
}
.calendarTbl .today .date {
	color: #fff;
	background: var(--c_main);
}
.calendarTbl .not {
	background: #f1f1f1;
	color: #969696;
}
.calendarTbl .noselect::after,
.calendarTbl .soufu::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.15);
	z-index: 3;
}
.calendarTbl .soufu::before {
	background: rgba(192, 142, 55, 0.30);
	z-index: 2;
}
.calendarTbl .tag {
	text-align: center;
	border-radius: .5rem;
	background: #fff;
	border: 1px solid #4d4d4d;
	color: #4d4d4d;
	font-size: 90%;
	position: relative;
	z-index: 5;
}
.calendarTbl .tag.green {
	border: 1px solid var(--c_gr);
	color: var(--c_gr);
}
.calendarTbl .tag.blue {
	border: 1px solid var(--c_bl);
	color: var(--c_bl);
}
.calendarTbl .tag.red {
	border: 1px solid var(--c_rd);
	color: var(--c_rd);
}
.calendarTbl .tag.yellow {
	border: 1px solid var(--c_ye);
	color: var(--c_ye);
}
.soufuTxt {
	color: var(--c_ye);
	font-size: 90%;
	text-align: center;
	line-height: 1.3;
	position: relative;
	z-index: 5;
}
.print {
	margin-top: 4.5rem;
}
.print button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: .5rem;
	padding: .8rem 2rem;
	background: #fff;
	border-radius: .5rem;
	border: 1px solid #e0e0e0;
}
.print button:hover {
	background: var(--c_rd2);
}
.menuWrap {
	margin: 0 auto;
	max-width: 104rem;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1rem 4rem;
}
.menuWrap a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap:2rem;
	border-radius: 2rem;
	background: #FFF;
	box-shadow: 0 .4rem 1rem 0 rgba(0, 0, 0, 0.07);
	font-size: 2rem;
	height: 19rem;
	border: .2rem solid #fff;
}
.menuWrap a:hover {
	border-color: var(--c_main);
}
.listTbl table {
	background: #fff;
}
.listTbl th,.listTbl td {
	padding: .8rem .5rem;
	border: 1px solid var(--c_gy2);
}
.listTbl th {
	background: var(--c_gy3);
	color: #fff;
	font-weight: 500;
	line-height: 1.1;
}
.listTbl tbody tr:nth-of-type(even) {
	background: #F7F7F7;
}
.listTbl tbody tr td:nth-of-type(4) {
	background: rgba(32, 122, 167, 0.10)
}
.listTbl tbody tr td:nth-of-type(6) {
	background: rgba(35, 153, 73, 0.10);
}
#listPage .print {
	margin: 2.5rem auto 4.5rem;
}
.listPager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 3rem;
	font-size: 2.4rem;
}
.listPager button {
	max-width: 1rem;
}
.listPager button.prev {
	transform: rotate(180deg);
}
.listPager button img {
	display: block;
}
.listPager button:hover {
	opacity: .5;
}
#listPage .ttlBox {
	margin-bottom: 3rem;
}
#calendarPage.calendarPage-honbu {
	padding-top: 4.5rem;
}
.calendarPage-honbu .calendarNav {
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	gap: 1.2rem 4rem;
}
.calendarPage-honbu .calendarNav dl:nth-of-type(1) { grid-area: 1 / 1 / 3 / 2; }
.calendarPage-honbu .calendarNav dl:nth-of-type(2) { grid-area: 1 / 2 / 3 / 3; }
.calendarPage-honbu .calendarNav dl:nth-of-type(3) { grid-area: 1 / 3 / 3 / 4; }
.calendarPage-honbu .calendarNav dl:nth-of-type(3)::after {
	display: none;
}
.calendarTxt {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.4rem;
	gap: 1rem;
}
.calendarTxt img {
	max-height: 4.1rem;
	display: block;
}
.popupArea {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.5);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: opacity .4s;
	pointer-events: none;
	z-index: -999;
	visibility: hidden;
	opacity: 0;
}
.popupArea.active {
	visibility: visible;
	opacity: 1;
	pointer-events: all;
	z-index: 999;
}
.popup {
	background: var(--c_gy1);
	padding: 10rem 2rem;
	font-size: 135%;
	font-weight: 700;
	color: var(--c_bk);
	width: 90%;
	max-width: 80rem;
	margin: 0 auto;
	position: relative;
}
.popup .close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	cursor: pointer;
	transition: .2s;
}
.popup .close:hover {
	opacity: .5;
}
.popup .txt {
	line-height: 1.8;
}
.popup .txt small {
	display: block;
	font-size: 100%;
	font-weight: 700;
	color: red;
	margin-top: 1em;
}
.approval {
	border-radius: 5px;
	border: 2px solid #C35579;
	background: var(--thema, #790028);
	width: 18rem;
	text-align: center;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 1rem 1rem 1.2rem;
	margin-top: 3rem;
}
.approval:hover {
	background: #000;
	border-color: var(--c_gy3);
}
/*print
---------------------------------------------------------*/
body.printPage {
	background: #fff;
}
.printPage .hWrap {
	gap:1rem;
	justify-content: space-between;
}
.printPage .hLogo {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
}
.printPage .hLogo .logo {
	max-width: 13rem;
}
.printPage .hLogo .logo img {
	display: block;
}
.printPage .hLogo span {
	font-size: 2rem;
}
.printBtm {
	display: flex;
	justify-content: space-between;
	margin-top: 2rem;
	font-size: 1.2rem;
	gap: 3rem;
	text-align: left;
}
.printBtm dt {
	font-size: 115%;
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: 0.5rem;
}
.printBtm dt::before {
	content: "▶";
	color: var(--c_main);
}
.printBtm .notice {
	font-size: 0.9rem;
	margin-bottom: 0;
}
.printBtm ol li {
	padding: .5rem 1rem;
	border-bottom: 1px solid #e0e0e0;
}
.printBtm ol .num {
	color: var(--c_main);
}
.printBtm ul {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(5, auto);
	column-gap: 2rem;
	row-gap: .5rem;
}
.printBtm ul li {
	padding-left: 1em;
	text-indent: -1em;
	white-space: nowrap;
}
.printBtm ul li::before {
	content: "・";
}
.printBtm ul li.w100 {
	margin-right: -32rem;
}
.printBtm ul li.red {
	font-size: 120%;
	font-weight: 700;
	color: var(--c_rd);
}
.printBtm+ .date {
	font-size: 1rem;
	text-align: right;
}
.printPage .resultWrap {
	font-size: 1.4rem;
	width: 70rem;
}
.printPage .resultWrap dt {
	padding: .6rem;
}
.printPage .resultWrap dd {
	font-size: 110%;
	height: auto;
	padding: .6rem;
}
.printPage .calendarWrap {
	box-shadow: none;
	background: #f5f5f5;
}
.printPage .calendarWrap tbody {
	background: #fff;
}
.printPage .calendarTtl {
	margin-bottom: 1rem;
}



/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1150px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	h2 {
		font-size: 2rem;
	}
	



	/*header
	-------------------------------------------------------*/
	#header {
		padding: 1rem 0;
	}
	.hLogo {
		flex-direction: column;
		justify-content: center;
	}
	.hLogo .logo {
		max-width: 15rem;
	}
	.hLogo .logo img {
		display: block;
	}
	.hLogo span {
		font-size: 1.2rem;
	}
	.hBox {
		width: 14rem;
		flex-direction: column-reverse
	}
	.honbuTxt {
		width: 100%;
	}
	.honbuTxt a, .logout {
		font-size: 1.4rem;
		padding: 0.5rem;
		width: 100%;
	}
	.honbuTxt a {
		font-size: 1.2rem;
	}

	/*contents
	-------------------------------------------------------*/
	.ttlBox {
		font-size: 1.8rem;
		margin-bottom: 4rem;
	}
	.ttlBox .tag {
		font-size: 1.4rem;
		margin-bottom: 0.5rem;
	}
	.ttlBox.row {
		flex-direction: column;
		margin-bottom: 1rem;
	}
	.ttlBox.row .tag {
		margin: 0 0 .5rem 0;
	}
	#login h2 {
		font-size: 2rem;
	}
	.loginBox dl {
		font-size: 1.6rem;
		display: block;
	}
	.loginBox dt {
		font-size: 1.6rem;
	}
	.loginBox dd input {
		padding: 1rem;
	}
	.formBtn {
		margin-top: 4rem;
	}
	.login {
		font-size: 1.8rem;
		width: 20rem;
	}
	#calendarPage {
		padding-bottom: 4rem;
	}
	#calendarPage.calendarPage-honbu {
		padding-top: 3rem;
	}
	.calendarNav {
		display: block;
	}
	.calendarNav dl {
		padding: 1rem;
		box-shadow: 0 .2rem .5rem 0 rgba(0, 0, 0, 0.07);
	}
	.calendarNav dl + dl {
		margin-top: 3rem;
	}
	.calendarNav dl:nth-of-type(1)::after,
	.calendarNav dl:nth-of-type(2)::after {
    transform: translateX(-50%);
    right: auto;
    top: auto;
    left: 50%;
    bottom: -2.2rem;
    width: 2rem;
    height: 1.4rem;
    clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}
	.days select {
		background-size: 1.6rem auto;
		background-position: right .7rem center;
	}
	.resultArea {
		max-width: 100%;
	}
	.resultWrap {
		grid-template-columns: repeat(2,1fr);
		border-radius: .5rem;
	}
	.resultWrap dl:nth-of-type(odd) {
    border-left: none;
	}
	.resultWrap dd {
		font-size: 1.6rem;
		line-height: 1.3;
		padding: 0.5rem;
	}
	.clearBtn {
		position: relative;
		right: auto;
		margin-top: 1rem;
	}
	.clearBtn button {
		justify-content: center;
		margin: 0 auto;
	}
	.clearBtn button::before {
		transform: rotate(-90deg);
	}
	.notice {
		text-align: left;
	}
	.calendarArea {
		display: block;
	}
	.calendarWrap {
		box-shadow: 0 .2rem .5rem 0 rgba(0, 0, 0, 0.07);
		padding: 2rem 1rem;
		border-radius: 1rem;
	}
	.calendarWrap + .calendarWrap {
		margin-top: 2rem;
	}
	.calendarBtn {
		top: 1rem;
		left: 1rem;
	}
	.next .calendarBtn {
		right: 1rem;
	}
	.calendarBtn::before {
		width: 1.6rem;
	}
	.calendarTtl {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.calendarTtl .month {
		font-size: 250%;
	}
	.calendarTbl {
		overflow: auto;
		font-size: 1.2rem;
	}
	.calendarTbl table {
		width: 40rem;
	}
	.calendarTbl .date {
		width: 1.6rem;
		height: 1.6rem;
		top: 0.7rem;
		padding-bottom: 0.1rem;
	}
	.popup {
		font-size: 100%;
		padding: 3.5rem 2rem;
	}
	.approval {
		font-size: 100%;
		margin-top: 2rem;
	}
	.popup .close {
		top: 0.8rem;
		right: 0.8rem;
		width: 2.8rem;
	}
	.print {
		margin-top: 3rem;
	}
	.menuWrap {
		grid-template-columns: repeat(1,1fr);
	}
	.menuWrap a {
		gap: 1rem;
		font-size: 1.6rem;
		height: 12rem;
		border-radius: 1rem;
	}
	.menuWrap figure img {
		max-height: 4.5rem;
	}
	#listPage .ttlBox {
		margin-bottom: 2rem;
	}
	.listTbl {
		overflow: auto;
	}
	.listTbl table {
		width: 67rem;
		font-size: 1.2rem;
	}
	#listPage .print {
    margin: 2rem auto 3rem;
	}
	/*print
	-------------------------------------------------------*/
	.printPage .hWrap {
		flex-direction: column;
	}
	.printPage .hLogo {
		align-items: center;
	}
	.printPage .resultWrap {
		width: 100%;
	}
	.printBtm {
		flex-direction: column;
	}
	.printBtm ul li {
		white-space: normal;
	}
	.printBtm ul {
    grid-auto-flow: row;
    grid-template-rows: repeat(1, auto);
	}
	.printBtm ul li.w100 {
		margin-right: 0;
	}




























}















