@charset "UTF-8";
html {
    scroll-behavior: smooth;
}
body {
	margin: 0;
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	background-color: #f5f5f5;
}
button,input {
	font-family: "Noto Sans JP", sans-serif;
}
details summary {
	list-style: none; /* リストスタイルの削除 */
  }
  summary::-webkit-details-marker {
	display: none;
  }
.row {
	display: flex;
	flex-wrap: wrap;
}
ul,ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
header {
	background-color: #fff;
	padding:2rem 0;
	width: 300px;
	box-sizing: border-box;
	position: relative;
	z-index: 10;
	left: -300px;
	transition: 0.3s ease-out;
	position: fixed;
	height: calc(100svh - 85px);
	overflow-y: scroll;
	box-shadow: 0 1px 8px #00000021;
    scrollbar-width: thin;
}


header.active {
	left:0
}
 hgroup {
	align-items: center;
	margin-bottom: 1rem;
}
hgroup img {
	width: 50px;
	height: auto;
}
 hgroup h1 {
	font-size: 18px;
}
header nav ul.nav_main {
	padding: 1em;
}
header nav ul.nav_main li:first-child {
	border-top: none;
}
header nav .title {
	color: #2F509F;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 0.5em;
	align-items: center;
	gap:0.5em
}
header nav .title .icon {
	background-color: #2F509F;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
}
header nav .title .icon svg {
	width: 8px;
	fill: #fff;
	position: relative;
	top: 1px;
}
header nav .sub-title {
	color: #333;
	font-size: 12px;
	font-weight: bold;
	margin: 0.5em 0 0.25em;
	padding-left: 0.4rem;
}
header nav ul.nav_main li summary {
	font-family:"Noto Sans JP",sans-serif;
	border: none;
	color: #333;
	font-weight: bold;
	font-size: 14px;
	width: 100%;
	align-items: center;
	gap:15px;
	padding: 0.5rem 1rem 0.5em 0.2em;
	position: relative;
	box-sizing: border-box;
	border-bottom: 1px solid #E7E7E7;
}
header nav ul.nav_main li summary .icon {
	background-color: #2F509F;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
header nav ul.nav_main li summary .icon svg {
	fill: #fff;
	width: 8px;
}
header nav ul.nav_main li.active  details  {
	list-style: none;
}
header nav ul.nav_main li.active summary  {
	color: #333;
	list-style: none;
}
header nav ul.nav_main li summary svg {
	width: 15px;
	fill: #333;
}
header nav ul.nav_main li ul.nav_sub {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1em;
	gap:0.8rem;
}
header nav ul.nav_main li ul.nav_sub li {
	box-sizing: border-box;
	position: relative;
	padding-left: 1em;
}
header nav ul.nav_main li.active ul.nav_sub li {
	border: none;
	color: #333;
	border-radius: 20px;
	box-sizing: border-box;
}
header nav ul.nav_main li ul.nav_sub li::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -0.5px;
	width: 8px;
	height: 1px;
	background-color: #B0B0B0;
	z-index: 1;
}

header nav ul.nav_main li ul.nav_sub li a {
	color: #333;
	text-decoration: none;
	font-size: 12px;
	font-weight: 500;
	display: flex;
	width: 100%;
	height: 100%;
}
header nav ul.nav_main li.active ul.nav_sub li  a {
	color: #333;
}
details[open] .content {
	animation: fadeIn 0.85s ease;
  }
  @keyframes fadeIn {
	0% {
	  opacity: 0;
	  transform: translateY(-12px);
	}
	100% {
	  opacity: 1;
	  transform: none;
	}
  }
  /* カスタムアイコン */
.toggle_button {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
  }
  
  .toggle_button span {
	display: block;
	position: relative;
	width: 20px;
	margin-left: 8px;
	flex-shrink: 0;
	transform-origin: center 45%;
	transition: transform 0.75s;
  }
  .toggle_button span::before,.toggle_button span::after {
	content: "";
	position: absolute;
	display: block;
	width: 12px;
	height: 2px;
	background-color: #2F509F;
  }
  .toggle_button span::before {
	left: 0;
	transform: rotate(45deg);
  }
  .toggle_button span::after {
	right: 0;
	transform: rotate(-45deg);
  }
  /* アイコン切り替え */
  details[open] .toggle_button span {
	transform: rotate(180deg);
  }
.main_link {
	display: flex;
	flex-direction: column;
	padding: 0 1em;
	gap:0.8em;
}
  a.top_link{
	text-decoration: none;
	color: #333;
	font-size: 16.5px;
	height: 50px;
	font-weight: bold;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
  }
  a.top_link::before {
	display: block;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background-color: #E7E7E7;
    z-index: 1;
  }

  a.top_link svg {
	fill:#2F509F;
	width: 10px;
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
  }
  .login_complete {
	position: fixed;
	top:0;
	z-index: 20;
	display: flex;
	align-items: center;
	height: 70px;
	gap:1em;
	right: 1em;
  }
  .login_complete .login {
	background-color: #2F509F;;
	color: #fff;
	position: relative;
	top: auto;
	left: auto;
	right: auto;

  }
  .login {
	border: none;
	position: fixed;
	right: 10px;
	top: 18px;
	color: #2F509F;
	font-weight: bold;
	gap:0.5rem;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 35px;
	font-size: 14px;
	gap:0.5rem;
	transition: 0.3s ease-out;
	z-index: 50;
	cursor: pointer;
	background-color: #fff;
  }
  .login svg {
	fill:#2F509F;
	width: 15px;
  }
.login_comment {
	font-size: 14px;
	margin: 0;
} 
.login_comment span {
	font-weight: bold;
}
.all_contents {
	padding-top: 85px;
	justify-content: flex-end;
}
.calendar_area {
	padding:1rem 1rem 0.5rem 1rem;
}
.calendar_area table {
	width: 100%;
	border-collapse: collapse;
    border-spacing: 0;
}
.calendar_area table .cellTableHead{
	background-color: #000;
	color: #fff;
}
.calendar_area table tbody th {
	background-color: #efefef;
}
.calendar_area table th, .calendar_area table td {
    border: 1px solid #ccc;
	text-align: center;
	font-weight: 500;
}
.calendar_area table .cellSunday {
	background-color: #ECC6C7;
}
.calendar_area table .cellSaturday {
	background-color: #BDE2E8;
}
.date_link {
	padding: 0.5rem 1rem 1rem;
}
.scroll {
	width: 100%;
	transition: 0.3s ease-out;
	margin: 0;
}
.scroll.login_area {
	margin: 0;
}
.scroll.active {
	width: calc(100% - 300px);
}
.scroll.login_area.active {
	width: calc(100% - 300px);
}
.scroll_y {
	height: calc(100svh - 195px);
	overflow: auto;
	box-sizing: border-box;
    scrollbar-width: thin;
	position: relative;
	background-color: #fff;
	padding-bottom: 1em;
}

.contents_area {
	width: 98%;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}
.page_tab {
	gap:1.5rem;
	position: relative;
}
.page_tab a {
	color: #fff;
	text-decoration: none;
	background-color: #2F509F;
	width: 20%;
	text-align: center;
	font-weight: bold;
	box-sizing: border-box;
	height: 50px;
	border-top: 5px solid #2F509F;
	position: relative;
}
.page_tab a span {
	position: relative;
	top: 0.45rem;
	font-weight: 700;
}
.page_tab a.active {
	border-top: 5px solid #2F509F;
	background-color: #fff;
	color: #2F509F;
}
.schedule_title {
	background-color: #fff;
	padding: 1rem;
	position: relative;
	z-index: 1;
	min-width: 1280px;
	box-sizing: border-box;
}

.schedule_title p {
	margin: 0;
	font-size: 18px;
	font-weight: 900;
	color: #333;
}
.main_calendar {
	background-color: #fff;
	position: relative;
	z-index: 2;
	padding:0 1rem 1rem;
	min-width: 1280px;
	box-sizing: border-box;
}

.main_calendar .monthly_calendar_table {
	width: 100%;
	border-collapse: collapse;
    border-spacing: 0;
}
.main_calendar .week_calendar_table {
	width: 100%;
    border-spacing: 0;
}
.main_calendar .monthly_calendar_table thead tr{
	border-bottom: 1px solid #E7E7E7;
}
.main_calendar .week_calendar_table thead tr{
	z-index: 10;
	background-color: #F1F7FD;
}
.main_calendar .week_calendar_table thead tr th:first-child {
	border: 1px solid #E7E7E7;
	border-right: none;
	max-width: 150px;
}
.main_calendar .monthly_calendar_table thead tr th{
	padding: 1rem 0 0.5rem;
	width: calc(100% / 7);
}
.main_calendar .week_calendar_table tbody tr:nth-child(even) {
	background-color: #f9f9f9;
}
.main_calendar .week_calendar_table thead tr th {
	width: calc(100% / 8);
	padding: 0;
	border: 1px solid #E7E7E7;
	position: sticky;
	top: 0;
	z-index: 7;
	background-color: #F1F7FD;
}
.main_calendar .week_calendar_table.loom thead tr th {
	font-size: 12px;
}
.main_calendar .week_calendar_table.loom01 thead tr th {
	width: calc(100% / 11);
	background-color: #F1F7FD;
}
.main_calendar .week_calendar_table thead tr th a {
	text-decoration: none;
	color: #2F509F;
	padding: 0.5em;
	display: block;
	font-size: 12px;
	font-weight: bold;
	background-color: #F1F7FD;
}
.main_calendar .week_calendar_table thead tr th a:hover {
	color: #2F509F;
	background-color: #fff;
}
.main_calendar .monthly_calendar_table tbody tr {
	border-bottom: 1px solid #E7E7E7;
}
.main_calendar .week_calendar_table tbody tr {
	border-bottom: 1px solid #E7E7E7;
}
.main_calendar .monthly_calendar_table tbody tr td {
	vertical-align: top;
	padding: 1rem 0.5rem;
	position: relative;
}
.main_calendar .week_calendar_table tbody tr th {
	border-right: 1px solid #E7E7E7;
	padding: 0;
	font-size: 12px;
}
.main_calendar .week_calendar_table tbody tr th {
	border-bottom: 1px solid #E7E7E7;
	z-index: 8;
	padding: 0;
}
.main_calendar .week_calendar_table tbody tr td {
	border-bottom: 1px solid #E7E7E7;
	border-right: 1px solid #E7E7E7;
	position: relative;
	height: 33px;
	box-sizing: border-box;
}
.main_calendar .week_calendar_table tbody tr td:nth-child(1) {
	border-left: 1px solid #E7E7E7;
}
.main_calendar .week_calendar_table tbody tr td a.dateLinkBox {
	width: 100%;
	height: 30px;
	display: block;
}
.main_calendar .week_calendar_table tbody tr td a.dateLinkBox:hover {
	background-color: #D8E4EE;
}

.main_calendar .week_calendar_table tbody tr td .reservation_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	min-height: 100%;
	height: 33px;
	z-index: 5;
}

.main_calendar .week_calendar_table tbody tr td .reservation_box a {
	background-color: hsla(217,100%,57%,0.40);
	width: 100%;
	display: flex;
	color: #000;
	text-decoration: none;
	font-size: 10px;
	font-weight: bold;
	padding: 0.5em;
	box-sizing: border-box;
	height: 33px;
	position: relative;
	z-index: 1;
	align-items: flex-start;
}
.main_calendar .week_calendar_table tbody tr td .reservation_box a span {
	position: sticky;
	top: 5em;
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box2,.main_calendar .week_calendar_table tbody tr td .reservation_box.box2 a {
	height: calc(33px * 2);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box3,.main_calendar .week_calendar_table tbody tr td .reservation_box.box3 a {
	height: calc(33px * 3);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box4,.main_calendar .week_calendar_table tbody tr td .reservation_box.box4 a {
	height: calc(33px * 4);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box5,.main_calendar .week_calendar_table tbody tr td .reservation_box.box5 a {
	height: calc(33px * 5);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box6,.main_calendar .week_calendar_table tbody tr td .reservation_box.box6 a {
	height: calc(33px * 6);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box7,.main_calendar .week_calendar_table tbody tr td .reservation_box.box7 a {
	height: calc(33px * 7);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box8,.main_calendar .week_calendar_table tbody tr td .reservation_box.box8 a {
	height: calc(33px * 8);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box9,.main_calendar .week_calendar_table tbody tr td .reservation_box.box9 a {
	height: calc(33px * 9);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box10,.main_calendar .week_calendar_table tbody tr td .reservation_box.box10 a {
	height: calc(33px * 10);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box11,.main_calendar .week_calendar_table tbody tr td .reservation_box.box11 a  {
	height: calc(33px * 11);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box12,.main_calendar .week_calendar_table tbody tr td .reservation_box.box12 a  {
	height: calc(33px * 12);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box13,.main_calendar .week_calendar_table tbody tr td .reservation_box.box13 a  {
	height: calc(33px * 13);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box14,.main_calendar .week_calendar_table tbody tr td .reservation_box.box14 a  {
	height: calc(33px * 14);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box15,.main_calendar .week_calendar_table tbody tr td .reservation_box.box15 a  {
	height: calc(33px * 15);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box16,.main_calendar .week_calendar_table tbody tr td .reservation_box.box16 a  {
	height: calc(33px * 16);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box17,.main_calendar .week_calendar_table tbody tr td .reservation_box.box17 a  {
	height: calc(33px * 17);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box18,.main_calendar .week_calendar_table tbody tr td .reservation_box.box18 a  {
	height: calc(33px * 18);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box19,.main_calendar .week_calendar_table tbody tr td .reservation_box.box19 a  {
	height: calc(33px * 19);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box20,.main_calendar .week_calendar_table tbody tr td .reservation_box.box20 a {
	height: calc(33px * 20);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box21,.main_calendar .week_calendar_table tbody tr td .reservation_box.box21 a {
	height: calc(33px * 21);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box22,.main_calendar .week_calendar_table tbody tr td .reservation_box.box22 a {
	height: calc(33px * 22);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box23,.main_calendar .week_calendar_table tbody tr td .reservation_box.box23 a {
	height: calc(33px * 23);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box24,.main_calendar .week_calendar_table tbody tr td .reservation_box.box24 a {
	height: calc(33px * 24);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box25,.main_calendar .week_calendar_table tbody tr td .reservation_box.box25 a {
	height: calc(33px * 25);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box26,.main_calendar .week_calendar_table tbody tr td .reservation_box.box26 a {
	height: calc(33px * 26);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box27,.main_calendar .week_calendar_table tbody tr td .reservation_box.box27 a {
	height: calc(33px * 27);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box28,.main_calendar .week_calendar_table tbody tr td .reservation_box.box28 a {
	height: calc(33px * 28);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box29,.main_calendar .week_calendar_table tbody tr td .reservation_box.box29 a {
	height: calc(33px * 29);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box30,.main_calendar .week_calendar_table tbody tr td .reservation_box.box30 a {
	height: calc(33px * 30);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box31,.main_calendar .week_calendar_table tbody tr td .reservation_box.box31 a {
	height: calc(33px * 31);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box32,.main_calendar .week_calendar_table tbody tr td .reservation_box.box32 a {
	height: calc(33px * 32);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box33,.main_calendar .week_calendar_table tbody tr td .reservation_box.box33 a {
	height: calc(33px * 33);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box34,.main_calendar .week_calendar_table tbody tr td .reservation_box.box34 a {
	height: calc(33px * 34);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box35,.main_calendar .week_calendar_table tbody tr td .reservation_box.box35 a {
	height: calc(33px * 35);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box36,.main_calendar .week_calendar_table tbody tr td .reservation_box.box36 a {
	height: calc(33px * 36);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box37,.main_calendar .week_calendar_table tbody tr td .reservation_box.box37 a {
	height: calc(33px * 37);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box38,.main_calendar .week_calendar_table tbody tr td .reservation_box.box38 a {
	height: calc(33px * 38);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box39,.main_calendar .week_calendar_table tbody tr td .reservation_box.box39 a {
	height: calc(33px * 39);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box40,.main_calendar .week_calendar_table tbody tr td .reservation_box.box40 a {
	height: calc(33px * 40);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box41,.main_calendar .week_calendar_table tbody tr td .reservation_box.box41 a {
	height: calc(33px * 41);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box42,.main_calendar .week_calendar_table tbody tr td .reservation_box.box42 a {
	height: calc(33px * 42);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box43,.main_calendar .week_calendar_table tbody tr td .reservation_box.box43 a {
	height: calc(33px * 43);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box44,.main_calendar .week_calendar_table tbody tr td .reservation_box.box44 a {
	height: calc(33px * 44);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box45,.main_calendar .week_calendar_table tbody tr td .reservation_box.box45 a {
	height: calc(33px * 45);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box46,.main_calendar .week_calendar_table tbody tr td .reservation_box.box46 a {
	height: calc(33px * 46);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box47,.main_calendar .week_calendar_table tbody tr td .reservation_box.box47 a {
	height: calc(33px * 47);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.box48,.main_calendar .week_calendar_table tbody tr td .reservation_box.box48 a {
	height: calc(33px * 48);
}


.main_calendar .week_calendar_table tbody tr td .reservation_box.category02 a {
	background-color: hsla(237, 100%, 80%, 0.80);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.category03 a {
	background-color: hsla(170, 100%, 80%, 0.70);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.category04 a {
	background-color: hsla(100, 100%, 80%, 0.50);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.category05 a {
	background-color: hsla(60, 100%, 77%, 0.50);
}
.main_calendar .week_calendar_table tbody tr td .reservation_box.category06 a {
	background-color: hsla(345, 100%, 80%, 0.40);
}
.main_calendar .monthly_calendar_table tbody tr td .row {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	height: 100%;
	min-height: 5rem;
}
.main_calendar .monthly_calendar_table tbody tr td .row .day {
	text-decoration: none;
	color: #333;
	display: flex;
	align-items: center;
	justify-content: center;
}
.main_calendar .monthly_calendar_table tbody tr td .row span {
	text-align: center;
	font-weight: bold;
	margin-bottom: 0.8rem;
	position: relative;
	line-height: 1;
}
.main_calendar .monthly_calendar_table tbody tr td .row span.active {
	color: #fff;
}
.main_calendar .monthly_calendar_table tbody tr td .row span::before  {
	content: "";
	position: absolute;
	background-color: #3e5f89;
	opacity: 0;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
}
.main_calendar .monthly_calendar_table tbody tr td .row a:hover span::before {
	opacity: 0.5;
}
.main_calendar .monthly_calendar_table tbody tr td .row span.active::before {
	content: "";
	position: absolute;
	background-color: #2F509F;
	opacity: 1;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link {
	border: none;
	font-size: 10px;
	background-color:hsla(217,100%,57%,0.40);
	font-weight: bold;
	border: 1px solid hsla(217,100%,57%,0.40);
	padding: 0;
	cursor: pointer;
	position: relative;
	display: flex;
	align-items: stretch;
	text-align: left;
	gap:0.4rem;
	width: 100%;
	margin-bottom: 0.2em;
	color: #000;
	text-decoration: none;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link .time {
	background-color: #fff;
	white-space: nowrap;
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 0.5rem;
	line-height: 1;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link .time span {
	writing-mode:vertical-lr;
	margin-bottom: 0;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link p {
	margin: 0;
	display: flex;
	align-items: center;
	padding-right: 0.2em;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link.category02 {
	background-color:hsla(237,100%,80%,0.80);
	border: 1px solid hsla(237,100%,80%,0.80);
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link.category03 {
	background-color:hsla(170,100%,80%,0.70);
	border: 1px solid hsla(170,100%,80%,0.70);
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link.category04 {
	background-color:hsla(100,100%,80%,0.50);
	border: 1px solid hsla(100,100%,80%,0.50);
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link.category05 {
	background-color:hsla(60,100%,77%,0.50);
	border: 1px solid hsla(60,100%,77%,0.50);
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link.category06 {
	background-color:hsla(345,100%,80%,0.40);
	border: 1px solid hsla(345,100%,80%,0.40);
}
.main_calendar .monthly_calendar_table .dateLinkBox {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	top: 0;
	left: 0;
}
.main_calendar .monthly_calendar_table .dateLinkBox:hover {
	background-color: #F1F7FD;
}
.legend {
	margin: 1rem auto 0 1em;
	gap: 1.5rem;
}
.legend li {
	position: relative;
	padding-left: 1rem;
	font-weight: bold;
	font-size: 14px;
}
.legend li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	background-color:hsla(217,100%,57%,0.40);
}
.legend li:nth-child(2)::before {
	background-color:hsla(237,100%,80%,0.80);
}
.legend li:nth-child(3)::before {
	background-color:hsla(170,100%,80%,0.70);
}
.legend li:nth-child(4)::before {
	background-color:hsla(100,100%,80%,0.50);
}
.legend li:nth-child(5)::before {
	background-color:hsla(60,100%,77%,0.50);
}
.legend li:nth-child(6)::before {
	background-color:hsla(345,100%,80%,0.40);
}
.menu_area {
	position: fixed;
	width: 100%;
	height: 70px;
	background-color: #fff;
	padding:0 1rem;
	box-sizing: border-box;
	align-items: center;
	gap:1.5rem;
	z-index: 20;
	box-shadow: 0 1px 8px #00000021;
}
.menu_area hgroup {
	margin: 0;
}
.menu_area hgroup a {
	text-decoration: none;
	color: #000;
}
.btn-trigger {
	position: relative;
	width: 40px;
	height: 30px;
	cursor: pointer;
  }
  .btn-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #333;
	border-radius: 4px;
  }
  .btn-trigger, .btn-trigger span {
	display: inline-block;
	transition: all .5s;
	box-sizing: border-box;
  }
  .btn-trigger span:nth-of-type(1) {
	top: 0;
  }
  .btn-trigger span:nth-of-type(2) {
	top: 13px;
  }
  .btn-trigger span:nth-of-type(3) {
	bottom: 0;
  }
  #menu::after {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	width: 50px;
	height: 50px;
	margin: -30px 0 0 -30px;
	border-radius: 50%;
	transition: all .75s;
  }
  #menu.active span:nth-of-type(1) {
	-webkit-transform: translateY(13px) rotate(-45deg);
	transform: translateY(13px) rotate(-45deg);
	background-color: #00536D;
  }
  #menu.active span:nth-of-type(2) {
	left: 60%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
  }
  @-webkit-keyframes active-menu-bar02 {
	100% {
	  height: 0;
	}
  }
  @keyframes active-menu-bar02 {
	100% {
	  height: 0;
	}
  }
  #menu.active span:nth-of-type(3) {
	-webkit-transform: translateY(-14px) rotate(45deg);
	transform: translateY(-14px) rotate(45deg);
	background-color: #00536D;
  }
  #menu.active::after {
	-webkit-animation: active-menu .7s .25s forwards;
	animation: active-menu .7s .25s forwards;
	
  }
  @-webkit-keyframes active-menu {
	0% {
	  border-color: transparent;
	  -webkit-transform: rotate(0);
	}
	25% {
	  border-color: transparent #fff transparent transparent;
	}
	50% {
	  border-color: transparent #fff #fff transparent;
	}
	75% {
	  border-color: transparent #fff #fff #fff;
	}
	100% {
	  border-color: #fff;
	  -webkit-transform: rotate(-680deg);
	}
  }
  @keyframes active-menu {
	0% {
	  border-color: transparent;
	  transform: rotate(0);
	}
	25% {
	  border-color: transparent #fff transparent transparent;
	}
	50% {
	  border-color: transparent #fff #fff transparent;
	}
	75% {
	  border-color: transparent #fff #fff #fff;
	}
	100% {
	  border-color: #fff;
	  transform: rotate(-680deg);
	}
  }
.inner_login {
	position: fixed;
	z-index: 20;
	width: 100%;
	height: 100svh;
	top: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
}
.inner_login.active {
	opacity: 1;
	visibility: visible;
}
.inner_login::before {
	content: "";
	position: fixed;
	width: 100%;
	height: 100svh;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	opacity: 0;
	visibility: hidden;
}
.inner_login.active::before {
	opacity: 1;
	visibility: visible;
}
.inner_login .login_box {
	position: relative;
	background-color: #fff;
	box-shadow: 2px 2px 7px #ccc;
	padding:2em 1.5em 3em;
	width: 80%;
	max-width: 400px;
	box-sizing: border-box;
}
.inner_login .login_box svg {
	width: 30px;
	fill: #2F509F;
	display: block;
	margin: 0 auto;
}
.inner_login .login_box h2 {
	font-weight: bold;
	text-align: center;
	margin: 1em auto 1em;
}
.inner_login .login_box p {
	margin: 0;
	position: absolute;
	background-color: #fff;
	left: 0.5em;
	top:-0.8em;
	font-weight: bold;
	padding: 0 0.5em;
}
.inner_login .login_box .input_box {
	position: relative;
	margin-bottom: 1em;
}
.inner_login .login_box .input_box input {
	-webkit-appearance: none;
    display: block;
    padding: 18px 14px;
    border-radius: 0;
    border: 1px solid #ccc;
    width: 100%;
    line-height: normal;
    resize: none;
    transition: border-color .1s ease-in-out;
    background: transparent;
	box-sizing: border-box;
}
.inner_login .login_box .input_box #showPasswordButton {
	border: none;
	background-color: transparent;
	position: absolute;
	right: 0.2em;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	font-weight: bold;
	color: #ccc;
	cursor: pointer;
}
.inner_login .login_box .inner_login_btn {
	width: 100%;
	margin-top: 1em;
	background-color: #2F509F;
	color: #fff;
	border: none;
	padding: 10px 14px;
	font-weight: bold;
	font-size: 16px;
	cursor: pointer;
}
.inner_login .login_box .close_btn {
	position: absolute;
	top: 0.5em;
	right: 1em;
	background-color: transparent;
	border: none;
	cursor: pointer;
	color: #2F509F;
	font-weight: 900;
	font-size: 20px;
	padding: 0;
}
.keyword_input_box {
	position: relative;
    width: 100%;
    background: #f9f9f9;
    min-height: 40px;
    border: 1px solid rgba(34, 34, 34, .1);
    border-radius: .4rem;
	flex-wrap: nowrap;
	justify-content: space-between;
	padding: 0.25em;
	gap:0.25em;
	box-sizing: border-box;
}
.keyword_input_box input {
	border: none;
    background: #f9f9f9;
    font-size: 12px;
	padding: 8px;
	width: 100%;
}
.keyword_input_box.type-day {
	width: auto;
}
.keyword_input_box.type-day input {
	box-sizing: border-box;
	font-weight: bold;
	width: auto;
}
.keyword_input_box input[type="submit"]{
	border: none;
	height: 100%;
    background: #2F509F;
	color: #fff;
	font-size: 12px;
    display: flex;
    justify-content: center;
    border-radius: .3rem;
    align-items: center;
	cursor: pointer;
	font-weight: bold;
	padding: 0;
	height: auto;
	width: 50px;
}
.calendar_arrow {
	position: absolute;
	top: 0.85em;
	right: 0;
	align-items: center;
	gap:0.5em
}
.calendar_arrow a {
	text-decoration: none;
	color: #005AB7;
	background-color: #fff;
	border: 1px solid #2F509F;
	font-weight: bold;
	padding:0.25em 0.5em;
	line-height: 1;
	font-size: 14px;
}
.calendar_arrow a.prev,.calendar_arrow a.next {
	background-color: #2F509F;
	width: 20px;
	height: 20px;
	position: relative;
	padding: 0;
}
.calendar_arrow a.prev::before {
	content: "";
	clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
	background-color: #fff;
}
.calendar_arrow a.next::before {
	content: "";
	clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
	background-color: #fff;
}
.program_table {
	width: 100%;
	margin-top: 1.5em;
	border-collapse: collapse;
}
.program_table th {
	background-color: #2F509F;
	color: #fff;
	padding: 0.25em 1em;
	font-size: 14px;
	width: 200px;
	border: 1px solid #D1D1D1;
	text-align: left;
}
.program_table td {
	font-size: 14px;
	font-weight: bold;
	padding: 1em;
	border: 1px solid #ccc;
}
.page_login .inner_contents{
	background-color: #f5f5f5!important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: none!important;
}
.inner_contents .login_box {
    position: relative;
    background-color: #fff;
    box-shadow: 2px 2px 7px #ccc;
    padding: 2em 1.5em 3em;
    width: 80%;
    max-width: 400px;
    box-sizing: border-box;
}
.inner_contents .login_box svg {
	width: 30px;
    fill: #2F509F;
    display: block;
    margin: 0 auto;
}
.inner_contents .login_box h2 {
	font-weight: bold;
    text-align: center;
    margin: 1em auto 1em;
}
.inner_contents .login_box p {
	margin: 0;
	position: absolute;
	background-color: #fff;
	left: 0.5em;
	top:-0.8em;
	font-weight: bold;
	padding: 0 0.5em;
}
.inner_contents .login_box .input_box {
	position: relative;
	margin-bottom: 1em;
}
.inner_contents .login_box .input_box input {
	-webkit-appearance: none;
    display: block;
    padding: 18px 14px;
    border-radius: 0;
    border: 1px solid #ccc;
    width: 100%;
    line-height: normal;
    resize: none;
    transition: border-color .1s ease-in-out;
    background: transparent;
	box-sizing: border-box;
}
.inner_contents .login_box .input_box #showPasswordButton {
	border: none;
	background-color: transparent;
	position: absolute;
	right: 0.2em;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	font-weight: bold;
	color: #ccc;
	cursor: pointer;
}
.inner_contents  .login_box .inner_login_btn {
    width: 100%;
    margin-top: 1em;
    background-color: #2F509F;
    color: #fff;
    border: none;
    padding: 10px 14px;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
}
.search_table {
	border-collapse:  collapse;
	margin-top: 1.5em;
	width: 100%;
}
.search_table th{
	background-color: #2F509F;
    color: #fff;
    padding: 0.25em 1em;
    font-size: 14px;
	border-right: 1px solid #fff;
	padding:0.5em 1em;
	text-align: left;
	white-space: nowrap;
}
.search_table tr th:last-child {
	border: none;
}
.search_table td {
	border: 1px solid #ccc;
	padding:0.5em 1em;
	font-size: 14px;
	font-weight: bold;
}
.search_table td a {
	color: #c53562;
}
.search_word {
    position: relative;
    margin-top: 2em;
    margin-bottom: 1em;
    padding-left: 38px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.6;
}
.search_word p {
	margin: 0;
}
.search_word::before {
	display: block;
    content: "";
    position: absolute;
    top: 0.7em;
    width: 8px;
    height: 8px;
	left: 0;
    background-color: #F0A60F;
}
.search_word::after {
	display: block;
    content: "";
    position: absolute;
    top: 0.7em;
    width: 8px;
    height: 8px;
    left: 12px;
    background-color: #2F509F;
}

.contents_area .inner_contents {
	background-color: #fff;
	padding: 1em;
	width: 100%;
	box-sizing: border-box;
	height: calc(100svh - 95px);
	overflow: auto;
	box-shadow: 0 1px 8px #00000021;
	scrollbar-width: thin;

}
.contents_area .inner_contents .search_word {
	min-width: auto;
}
.iconBack {
	display: flex;
	align-items: center;
	line-height: 1;
	text-decoration: none;
	color: #2F509F;
	font-weight: 800;
	margin-top: 1.5em;
	margin-left: 1em;
	gap:0.5em;
	font-size: 14px;
}
.iconBack span {
	background-color: #D8E4EE;
    width: 20px;
    height: 20px;
    position: relative;
    padding: 0;
}
.iconBack span::before {
    content: "";
    clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: #2F509F;
}
.contents_title{
	margin: 1em;
}
.contents_title p {
	font-weight: 600;
    letter-spacing: 0.03em;
	font-size: 20px;
	padding-bottom: 1em;
	margin: 0;
	position: relative;
}
.contents_title p::before {
	display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #E7E7E7;
}
.contents_title p::after {
	display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: #2F509F;
}
.bg_inner {
	margin: 1em;
}
.bg_inner .system_comment {
	font-weight: 500;
	line-height: 1.8;
	font-size: 14px;
}
.searchDetailBox {
	background-color: #F1F7FD;
	padding: 1em;
}
.searchDetailBox .iconSearch {
	margin: 0;
	display: flex;
	align-items: center;
	line-height: 1;
	border-bottom: 2px dotted #E7E7E7;
	padding-bottom: 0.4em;
	gap:0.5em;
	font-weight: bold;
	margin-bottom: 0.4em;
}
.searchDetailBox .iconSearch svg {
	width: 15px;
}
.searchDetailBox table th {
	padding: 0.2em 1em;
	text-align: left;
	font-size: 14px;
}
.searchDetailBox table td {
	font-size: 14px;
	font-weight: 500;
}
.formTable {
	border-collapse: collapse;
	width: 100%;
}
.formTable tr{
	border-bottom: 3px solid #fff;
}
.formTable tr th {
	padding: 1em 0.5em 1em 1.5em;
	font-size: 14px;
	background-color: #2F509F;
	border-bottom: 3px solid #fff;
	color: #fff;
	font-weight: bold;
	text-align: left;
}
.formTable tr td {
	padding: 1em 1.5em;
	font-size: 14px;
	background: #f9f9f9;
	display: flex;
	flex-wrap: wrap;
	gap:0.5em;
	align-items: center;
}
.formTable tr td span {
	font-weight: bold;
}
.formTable tr td span.formError {
	color: #c53562;
	display: block;
	width: 100%;
	margin-top: 0.5em;
}
.formTable tr td ul.radio_box {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	gap:1.5em;
}
.formTable tr td ul.radio_box li input[type=radio],.formTable tr td ul.radio_box li input[type=checkbox]{
	position: absolute;
	visibility: hidden;
}
.formTable tr td ul.radio_box li {
	position: relative;
	font-weight: bold;
}
.formTable tr td ul.radio_box li label{
	display: block;
	position: relative;
	z-index: 9;
	cursor: pointer;
	-webkit-transition: all 0.25s linear;
	padding-left: 25px;
  }
  .formTable tr td ul.radio_box li label.disabled {
	opacity: 0.5;
  }
  .formTable tr td ul.radio_box li .check{
	display: block;
	position: absolute;
	border: 3px solid #535353;
	border-radius: 100%;
	height: 20px;
	width: 20px;
	top: 0;
	transition: border .25s linear;
	-webkit-transition: border .25s linear;
	box-sizing: border-box;
  }
  .formTable tr td ul.radio_box .check::before {
	display: block;
	position: absolute;
	content: '';
	border-radius: 100%;
	height: 10px;
	width: 10px;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
	margin: auto;
	transition: background 0.25s linear;
	-webkit-transition: background 0.25s linear;
  }
  .formTable tr td ul.radio_box input[type=radio]:checked ~ .check {
	border: 3px solid #2F509F;
  }
  .formTable tr td ul.radio_box input[type=radio]:checked ~ .check::before{
	background: #2F509F;
  }
  .formTable tr td ul.radio_box input[type=radio]:checked ~ label {
	color: #2F509F;
  }
.formTable tr td ul.radio_box li .check02{
	display: block;
	position: absolute;
	border: 2px solid #535353;
	height: 20px;
	width: 20px;
	top: 0.1em;
	transition: border .25s linear;
	-webkit-transition: border .25s linear;
	box-sizing: border-box;
}
.formTable tr td ul.radio_box li .check02::after {
	content: "";
	position: absolute;
	top: 2px;
    left: 1px;
	width: 12px;
	height: 6px;
	border-bottom: 2px solid #ffffff;
	border-left: 2px solid #ffffff;
	transform: rotate(-45deg);
  }
.formTable tr td ul.radio_box input[type=checkbox]:checked  ~ .check02 {
	background-color: #2F509F;
	border: 2px solid #2F509F;
}
.formTable tr td ul.radio_box .check02::before {
	display: block;
	position: absolute;
	content: '';
	border-radius: 100%;
	height: 10px;
	width: 10px;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
	margin: auto;
	transition: background 0.25s linear;
	-webkit-transition: background 0.25s linear;
  }
.selectbox {
	display: inline-flex;
    align-items: center;
    position: relative;
}
.selectbox::before {
    position: absolute;
    right: 0;
    width: 30px;
    height: 100%;
    background-color: #535353;
    content: '';
    pointer-events: none;
	border-radius:0 5px 5px 0;
}
.formTable input[type="text"] {
	width: 100%;
	border: 1px solid #E7E7E7;
	border-radius: 5px;
	padding: 0.8em;
	box-sizing: border-box;
	box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
}
.formTable textarea {
	width: 100%;
	resize: vertical;
	max-width: 100%;
	border: 1px solid #E7E7E7;
	border-radius: 5px;
	padding: 0.8em;
	box-sizing: border-box;
	box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
}
.selectbox::after {
    position: absolute;
    right: 10px;
    width: 10px;
    height: 7px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.formTable .selectbox select {
	appearance: none;
    min-width: 230px;
    padding: 0.8em 2.5em 0.8em 1em;
    border: 1px solid #E7E7E7;
    border-radius: 5px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
	font-weight: bold;
    cursor: pointer;
}
.formTable .selectbox.type_number select {
	min-width: auto;
	padding: 0.8em 3.5em 0.8em 1em;
} 
.formTable #repeat_cycle input[type="text"] {
	max-width: 100px;
}
.submitButton {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2em;
}
.submitButton input[type="submit"]  {
	background-color: #F0A60F;
	border:1px solid #F0A60F;
	width: 70%;
	max-width: 250px;
	padding: 1em;
	box-sizing: border-box;
	font-weight: bold;
	cursor: pointer;
	font-size: 16px;
	transition: background 0.25s linear;
	-webkit-transition: background 0.25s linear;
}
.submitButton input[type="submit"]:hover {
	background-color: #fff;
}
.resetButton {
	background-color: lightgray!important;
	border:1px solid lightgray!important;
	width: 70%;
	max-width: 250px;
	padding: 1em;
	box-sizing: border-box;
	font-weight: bold;
	cursor: pointer;
	font-size: 16px;
	transition: background 0.25s linear;
	-webkit-transition: background 0.25s linear;
	margin-right:20px;
}
.resetButton:hover {
	background-color: #fff!important;
}
.reservation_list {
	margin-top: 1.5em;
	display: inline-block;
}
.reservation_list li {
	margin-bottom: 1em;
}
.reservation_list a {
	text-decoration: none;
	display: flex;
	align-items: center;
	color: #333;
	font-weight: bold;
	gap:0.25em;
	line-height: 1;
	font-size: 14px;
}
.reservation_list  a .icon {
    background-color: #2F509F;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reservation_list  a .icon svg {
    fill: #fff;
    width: 8px;
}
@media screen and (max-width:890px) {
header {
	height: calc(100svh - 55px);
	left: 0;
	padding: 1.5rem 0;
}
hgroup img 	{
	width: 25px;
}
hgroup h1 {
	font-size: 14px;
}
.menu_area {
	padding: 0.5em;
	min-height: 55px;
	height: 55px;
}
.btn-trigger {
	width: 30px;
	height: 25px;
}
.btn-trigger span:nth-of-type(2) {
	top: 10px;
}
.all_contents {
	padding-top: 55px;
}
.scroll.active {
	width: 95%;
}
.scroll {
	width: 95%;
	margin: 1em auto;
}
.scroll {
	font-size: 14px;
}
.page_tab,.legend {
	gap:0.5em;
}
.page_tab {
	padding-left: 0;
}
.page_tab a {
	padding: 0.5em;
	line-height: 1;
	font-size: 12px;
	height: 30px;
}
.page_tab a span {
	top: -0.2em;
}
.schedule_title p {
	font-size: 14px;
}
.main_calendar,.schedule_title {
	min-width: 1000px;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link {
	flex-direction: column;
}
.legend li {
	font-size: 12px;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link .time {
	flex-direction: row;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link .time span {
	writing-mode: lr;
}
.main_calendar .monthly_calendar_table tbody tr td .row a.schedule_link p {
	padding:0 0.5em 0.5em;
}
.program_table th {
	max-width: 100px;
	font-size: 12px;
	text-align: left;
}
.scroll.login_area.active,.scroll.login_area {
	width: 100%;
}
.calendar_arrow {
	top: auto;
	bottom: -5em;
}
.search_word {
	min-width: 890px;
}
.main_calendar .week_calendar_table tbody tr td .reservation_box a span {
	top: 0;
}
.login {
	height: 35px;
	font-size: 12px;
	top: 10px;
}
header.active {
	left: -300px;
}
.main_calendar .week_calendar_table thead tr th a {
	font-size: 10px;
}
a.top_link {
	font-size: 14px;
}
header nav .title {
	font-size: 14px;
}
header nav ul.nav_main li summary {
	font-size: 12px;
}
header nav ul.nav_main li ul.nav_sub li a {
	font-size: 10px;
}
.search_word p {
	font-size: 16px;
}
.search_table th {
	font-size: 12px;
}
.search_table td {
	font-size: 10px;
}
.search_word p span {
	font-size: 18px;
}
.contents_area .inner_contents {
	height: calc(100svh - 85px);
}
.contents_area .inner_contents .search_word {
	padding-left: 1.8em;
}
.contents_title {
	margin: 1em 0;
}
.contents_title p{
	font-size: 16px;
}
.bg_inner {
	margin: 0;
}
.program_table td {
	font-size: 12px;
}
.formTable tr th,.formTable tr td {
	box-sizing: border-box;
	width: 100%;
	display: block;
	padding: 1em;
}
.selectbox {
	margin-bottom: 0.5em;
}
.formTable tr td ul.radio_box {
	gap: 1em;
}
.login_complete {
	flex-direction: column;
	height: auto;
	gap:0.1em;
	align-items: flex-end;
	top: 0.25em;
}
.login_complete .login {
	height: 25px;
}
.login_comment {
	font-size: 12px;
}
.inner_contents .login_box {
	width: 100%;
}
}