:root {
	--content-width: 60vw;
	--font-base: calc(var(--content-width) * 0.02);
	--margin-base: calc(var(--content-width) * 0.08);
	--offset-base: 2px;
}

body{
	background-color: rgb(255, 228, 141);
}

.sans{
	font-size: var(--font-base);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.serif{
	font-size: var(--font-base);
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-style: normal;
}
.rounded{
	font-size: var(--font-base);
	font-family: "M PLUS Rounded 1c", serif;
	font-weight: 700;
	font-style: normal;
}
.kaisei{
	font-family: "Kaisei Opti", serif;
	font-weight: 500;
	font-style: normal;
}
.title{font-size: calc(var(--font-base) * 2.0);}
.subtitle{font-size: calc(var(--font-base) * 1.4);}
.paragraph{font-size: calc(var(--font-base) * 1.0);}

.decorated-link{color: rgb(160, 112, 8); cursor: pointer;}
th.decorated-link{color: gold;}

table{
	position: relative; table-layout: fixed;
	border-collapse: separate; border-spacing:  calc(var(--font-base) * 0.4);
	font-size: calc(var(--font-base) * 0.9);
}
table th{
	padding: calc(var(--font-base) * 0.8);
	background-color: rgb(201, 107, 0); color: white;
	border-radius: calc(var(--font-base) * 0.2);
}
table td{
	padding: calc(var(--font-base) * 0.8);
	background-color: rgb(173, 221, 128);
	border-radius: calc(var(--font-base) * 0.2);
}
table tr:nth-child(2n) th {
	background-color: rgb(230, 138, 0);
}
table tr:nth-child(2n+1) td {
	background-color: rgb(145, 199, 94);
}

form table{width: 88%; left: 6%;}
form table tr{width: 100%;}
form table th{width: 30%;}
form table th.required:after{content: " ※";}
form .half-input{
	width: calc(var(--font-base) * 10);
	height: calc(var(--font-base) * 2);
	border: 0;
	margin-right: calc(var(--font-base) * 1);
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.9);
	font-family: "Kiwi Maru", sans-serif;
	font-weight: 500;
	font-style: normal;
}
form .full-input{
	width: calc(var(--font-base) * 23.2);
	height: calc(var(--font-base) * 2);
	border: 0;
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.9);
	font-family: "Kiwi Maru", sans-serif;
	font-weight: 500;
	font-style: normal;
}
form textarea{
	width: calc(var(--font-base) * 23.2);
	height: calc(var(--font-base) * 7);
	border: 0;
	padding: calc(var(--font-base) * 0.5) calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.9);
	font-family: "Kiwi Maru", sans-serif;
	font-weight: 500;
	font-style: normal;
	background-color: white;
}
form .date-input{
	width: calc(var(--font-base) * 4);
	height: calc(var(--font-base) * 2);
	border: 0;
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.9);
	font-family: "Kiwi Maru", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-right: calc(var(--font-base) * 0.5);
}
form .uploader{
	padding: 0 calc(var(--font-base) * 1);
	font-family: "Kiwi Maru", sans-serif;
	font-weight: 500;
	font-style: normal;
}
form button{
	width: calc(var(--content-width) * 0.20); left: calc(var(--content-width) * 0.40);
	height: calc(var(--content-width) * 0.05);
	background-color: rgb(201, 107, 0);
	border-radius: calc(var(--font-base) * 0.4);
	margin-top: calc(var(--content-width) * 0.04);
	margin-bottom: calc(var(--content-width) * 0.04);
}
.contact-button-cover{
	width: calc(100% - var(--offset-base) * 4); height: calc(100% - var(--offset-base) * 4);
	left: calc(var(--offset-base) * 2); top: calc(var(--offset-base) * 2);
	background-color: rgb(255, 236, 149);
	border-radius: calc(var(--font-base) * 0.4);
	transition: 0.4s;
}
form button:hover .contact-button-cover{opacity: 0;}
form button p{
	display: block; position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%,-50%);
}
form button:hover p{color: white;}

.whiteblock{background-color: rgba(255, 254, 247, 0.8);}

.link-button{background: linear-gradient(135deg, rgb(235, 147, 47), rgb(201, 107, 0)); height: calc(var(--content-width) * 0.06); border-radius: calc(var(--content-width) * 0.03);}
.link-button-cover{background-color: rgb(255,232,194); border-radius: calc(var(--content-width) * 0.03);}
.link-button p{transition: 0.4s; color: rgb(235, 128, 10); left: 44%;}
.link-button:hover p{color: white;}
.link-button .button-arrow{height: 60%; top: 20%; left: 88%; transform: translate(-50%,0); opacity: 1; transition: 0.4s;}
.link-button:hover .button-arrow.noselect{opacity: 0;}

.twoblock-visual .image{border-radius: calc(var(--font-base) * 0.3);}

#header-area{overflow: visible;}
.header-top.disabled{display: none;}
.header-top .logo{width: 36%; left: 30%; top: calc(var(--content-width) * 0.02); z-index: 10;}
.header-top .recruit{width: 16%; right: 0; top: calc(var(--content-width) * 0.04); z-index: 10;}
.header-normal{width: 100%; height: calc(var(--content-width) * 0.24);}
.header-normal.disabled{display: none;}
.header-normal .logo{width: 36%; left: 50%; top: 55%; transform: translate(-50%, -50%);}
.header-line{width: 100%; height: calc(var(--content-width) * 0.20); position: relative; z-index: 10;}
.header-line.orange{background-color: rgb(220,150,16); color: white;}
.header-button-block{
	width: 60%; left: 20%; height: 100%;
}
.header-button-block{top: calc(var(--content-width) * 0.0); height: calc(var(--content-width) * 0.06);}
.header-button{
	background-color: transparent;
	font-size: calc(var(--font-base) * 1.4);
	margin: 0 2%;
	transition: 0.4s;
}
.header-button-base{top: calc(var(--content-width) * 0.07);}
.header-button-base p{color: rgb(201, 107, 0);}
.orange .header-button-base p{color: white;}
.header-button-base:hover {background-color: rgba(255, 255, 255, 0.7);}
.header-button.current .header-button-base{border-bottom: calc(var(--font-base) * 0.3) solid firebrick;}

#footer-area .header-line{position: absolute;}
#footer-area .header-button-base p{color: white;}
#footer-area .header-button-base:hover p{color: rgb(201, 107, 0);}
.rollback{width: 6%; left: 88%; top: 50%; transform: translate(-50%,-50%);}
#footer-area p.title{left: 50%; top: 55%; transform: translate(-50%,-50%); z-index: 1;}

#main-area{background-color: rgb(220,150,16);}
.text-block{width: 100%;}
.text-block .title{font-size: calc(var(--font-base) * 2.6);}
.text-block .paragraph{font-size: calc(var(--font-base) * 1.1);}

.access-block{width: 100%;}
.access-map{width: 30%; left: 20%; height: calc(var(--content-width) * 0.30);}
.access-caption{left: 55%; width: 45%; height: calc(var(--content-width) * 0.30);}
.access-caption .title{top: 35%; transform: translate(0,-50%);}
.access-caption .paragraph{top: 60%; transform: translate(0,-50%);}

.photoframe{width: 22%; transform-origin: 50% 10%; opacity: 0; animation: tremble ease-in-out 2s infinite ,fade-in 1s forwards;}
.photoframe1{left: -6%; top: calc(var(--content-width) * 0.00); transform: rotate(5deg);}
.photoframe2{left: 88%; top: calc(var(--content-width) * 0.02); transform: rotate(-5deg); animation-delay: 1s;}
#recruit-overview-area .link-button{width: 30%; left: 35%;}
#recruit-overview-area .area-bottom{height: calc(var(--content-width) * 0.03);}
#recruit-overview-area .instagram-link{width: 12%; left: 60%; bottom: 0;}
#recruit-overview-area .message{width: 70%; left: 15%;}

#message-area .image{width: 35%; left: 65%; height: calc(var(--content-width) * 0.50); border-radius: calc(var(--content-width) * 0.03);}
#message-area .message{width: 70%; left: 15%;}
#message-area .link-button{width: 30%; left: 35%;}
#message-area .link-button p{left: 50%;}

#detail-area table{width: 90%; left: 5%;}
#detail-area table tr{width: 100%;}
#detail-area table th{width: 20%;}

#entry-link-area .link-button{width: 30%; left: 35%;}
#form-complete-area .link-button{width: 10%; left: 45%;}

#news-area{margin-bottom: calc(var(--content-width) * 0.06);}
#news-area .area-content{border-radius: calc(var(--content-width) * 0.06) 0 calc(var(--content-width) * 0.06) 0;}
#news-area p.title{left: 2%; margin-bottom: calc(var(--content-width) * 0.06);}
#news-area p.paragraph{right: 2%; top: calc(var(--content-width) * 0.06); white-space: nowrap;}
#news-area table{
	position: relative;
	width: 84%; left: 8%;
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing:  calc(var(--font-base) * 0.3);
	font-size: calc(var(--font-base) * 0.8);
}
#news-area table tr{
	border-top: 1px solid dimgray;
	border-bottom: 1px solid dimgray;
}
#news-area table td{
	background-color: transparent;
	padding: calc(var(--font-base) * 0.5);
}
#news-area table td.news-date{
	width: calc(var(--content-width) * 0.12);
	padding-left: calc(var(--content-width) * 0.02);
	padding-right: calc(var(--content-width) * 0.08);
}

.block-news-list{
	width: 100%; height: calc(var(--content-width) * 0.20);
	border-bottom: 1px solid dimgray;
}
.border-top{border-top: 1px solid dimgray;}
.block-news-list .image,.block-news-list .image-full{width: 25%; height: 90%; left: 25%; top: 5%;}
.news-list-date{left: 12.5%; top: 50%; transform: translate(-50%,-50%);}
.news-list-title{width: 44%; left: 75%; top: 50%; transform: translate(-50%,-50%); text-align: center;}
#news-list-area table{
	position: relative;
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing:  calc(var(--font-base) * 0.3);
	font-size: calc(var(--font-base) * 0.8);
}
#news-list-area table tr{
	border-top: 1px solid dimgray;
	border-bottom: 1px solid dimgray;
}
#news-list-area table td{
	background-color: transparent;
	padding: calc(var(--font-base) * 0.5);
}
#news-list-area table td.news-date{
	width: calc(var(--content-width) * 0.12);
	padding-left: calc(var(--content-width) * 0.02);
	padding-right: calc(var(--content-width) * 0.08);
}
#year-switch{right: 0%; top: calc(var(--content-width) * 0.04);}
#news-2025.disabled{display: none;}
#news-2024.disabled{display: none;}
#news-2023.disabled{display: none;}
#news-2022.disabled{display: none;}

.block-news-detail{width: 60%; left: 20%;}
.block-news-detail .image-full{width: 100%; height: calc(var(--content-width) * 0.40);}
.news-detail-date{right: 0%; text-align: right;}

#login-area table{width: 88%; left: 6%;}
#login-area table tr{width: 100%;}
#login-area table th{width: 30%;}

#news-edit-list-area .block-news-list{
	width: 100%; height: calc(var(--content-width) * 0.16);
	border-bottom: 1px solid dimgray;
}
#news-edit-list-area .block-news-list .image{width: 20%; height: 90%; left: 20%; top: 5%;}
#news-edit-list-area .block-news-list .image-full{width: 20%; height: 90%; left: 20%; top: 5%;}
#news-edit-list-area .news-list-date{left: 10%; top: 50%; transform: translate(-50%,-50%);}
#news-edit-list-area .news-list-title{width: 40%; left: 60%; top: 50%; transform: translate(-50%,-50%); text-align: center;}
#news-edit-list-area button{
	width: 10%; left: 85%;
	height: calc(var(--content-width) * 0.05); top: 50%;
	transform: translate(0,-50%);
	background-color: white;
	border: solid 1px rgb(65, 46, 13);
	transition: background-color 0.4s, color 0.4s;
}
#news-edit-list-area button:hover{
	border: none;
	background-color: forestgreen;
	color: white;
}
#news-edit-list-area button.button-new-post{
	width: 15%; left: 50%; transform: translate(-50%,0);
}

#news-edit-area table{
	width: 100%;
}
#news-edit-area table tr{
	width: 100%;
}
#news-edit-area table th{
	width: 20%;
}
#news-edit-area table td{
	background-color: khaki;
}
#news-edit-area .date-input{
	width: calc(var(--font-base) * 4);
	height: calc(var(--font-base) * 2);
	border: 0;
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.9);
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-style: normal;
	margin-right: calc(var(--font-base) * 0.5);
}
#news-edit-area .full-input{
	width: calc(var(--font-base) * 23.2);
	height: calc(var(--font-base) * 2);
	border: 0;
	padding: 0 calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.9);
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-style: normal;
}
#news-edit-area .uploader{
	padding: 0 calc(var(--font-base) * 1);
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-style: normal;
}
#news-edit-area textarea{
	width: calc(var(--font-base) * 23.2);
	height: calc(var(--font-base) * 14);
	border: 0;
	padding: calc(var(--font-base) * 0.5) calc(var(--font-base) * 1);
	font-size: calc(var(--font-base) * 0.9);
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-style: normal;
	background-color: white;
}
#news-edit-area button{
	width: 15%; left: 50%;
	height: calc(var(--content-width) * 0.05);
	transform: translate(-50%,0);
	background-color: white;
	border: solid 1px rgb(65, 46, 13);
	transition: background-color 0.4s, color 0.4s;
}
#news-edit-area button:hover{
	border: none;
	background-color: forestgreen;
	color: white;
}

#schedule-edit-area table{
	width: 80%; left: 10%;
}
#schedule-edit-area table tr{
	width: 100%;
}
#schedule-edit-area table th{
	width: 20%;
}

#news-complete-area button{
	width: 15%; left: 50%;
	height: calc(var(--content-width) * 0.05);
	transform: translate(-50%,0);
	background-color: white;
	border: solid 1px rgb(65, 46, 13);
	transition: background-color 0.4s, color 0.4s;
}
#news-complete-area button:hover{
	border: none;
	background-color: forestgreen;
	color: white;
}