body {
	color: #715C57;
}

img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}

hr {
	height: 27px;
	border: none;
	background: url(../images/common/hr.png) no-repeat center center;
	background-size: contain;
}

.inner {
	padding: 0 15px;
}

.btn {
	display: block;
	padding: 15px;
	margin: 15px 0;
	font-size: 1.8rem;
	font-weight: bold;
	color: #00728E;
	border: solid 1px #00728E;
	text-align: center;
}

.btn2 {
	display: inline-block;
	padding: 5px 1.6em;
	margin: 10px 0;
	font-size: 1.6rem;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #00728E;
	border-radius: 25px;
	text-align: center;
}

.btn3 {
	display: block;
	padding: 20px 1em;
	margin: 10px auto;
	max-width: 540px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #F99D10;
	border-radius: 15px;
	text-align: center;
}

header {
	position: relative;
	height: 100px;
	border-top: solid 20px #00728E;
	background: url(../images/common/bg_header.jpg) no-repeat center top;
	background-size: cover;
}

#btn_contact, 
#btn_agreement {
	display: inline-block;
	padding: 5px;
	width: 12em;
	font-size: 1.4rem;
	font-weight: bold;
	color: #00728E;
	line-height: 1;
	background-color: #FFFFFF;
	border: solid 1px #00728E;
	border-radius: 15px;
	text-align: center;
}

#navi {

}

#navi > ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	position: absolute;
	top: 10px;
	right: 85px;
	min-height: 60px;
}

#navi nav {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	padding: 80px 0 0 0;
	background-color: #00728E;
	z-index: 500;
}

#navi nav ul li a {
	display: block;
	padding: 16px 40px;
	font-family: serif;
	color: #FFFFFF;
	line-height: 1;
	border-top: solid 1px #FFFFFF;
}

#navi nav ul li a:hover {
	color: #FBFFC2;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	-webkit-transition: all .4s;
	box-sizing: border-box;
}

.menu-trigger {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 60px;
	height: 60px;
	background-color: #00728E;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	z-index: 1000;
}

.menu-trigger span {
	position: absolute;
	left: 12px;
	width: 36px;
	height: 3px;
	background-color: #FFFFFF;
	border-radius: 4px;
}

.menu-trigger span:nth-of-type(1) {
	top: 11px;
}

.menu-trigger span:nth-of-type(2) {
	top: 22px;
}

.menu-trigger span:nth-of-type(3) {
	top: 33px;
}

.menu-trigger::after {
	position: absolute;
	left: 0;
	bottom: 3px;
	content: 'MENU';
	display: block;
	width: 100%;
	color: #FFFFFF;
	font-size: 1.2rem;
	font-family: serif;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	transition: all .4s;
}

#navi.active nav {
	display: inline-block;
}

#navi.active .menu-trigger {
	background-color: #FFFFFF;
}

#navi.active .menu-trigger::after {
	content: '';
}

#navi.active .menu-trigger span {
	background-color: #00728E;
}

#navi.active .menu-trigger span:nth-of-type(1) {
	top: 18px;
	transform: translateY(11px) rotate(-45deg);
	-webkit-transform: translateY(11px) rotate(-45deg);
}

#navi.active .menu-trigger span:nth-of-type(2) {
	opacity: 0;
}

#navi.active .menu-trigger span:nth-of-type(3) {
	top: 44px;
	transform: translateY(-15px) rotate(45deg);
	-webkit-transform: translateY(-15px) rotate(45deg);
}

footer {
	padding-bottom: 30px;
}

footer #f_contact {
	padding: 30px 20px;
	background-color: #00728E;
	text-align: center;
}

footer #f_contact * {
	color: #FFFFFF;
}

footer #f_contact h2 {
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 2;
}

footer #f_contact h2::after {
	content: url(../images/common/line.png);
	display: block;
}

footer #f_contact p {
	padding: 10px 0 0 0;
}

footer #f_contact #btn_tel, 
footer #f_contact #btn_mail {
	display: block;
	padding: 20px 0 20px 14vw;
	margin: 10px 0 0 0;
	border: solid 1px #FFFFFF;
	background: no-repeat left 6vw center;
	background-size: 10vw;
}

footer #f_contact #btn_tel {
	font-size: 1.8rem;
	letter-spacing: 1px;
	line-height: 1;
	background-image: url(../images/common/icon_tel.png);
}

footer #f_contact #btn_tel a {
	display: block;
}

footer #f_contact #btn_mail {
	background-image: url(../images/common/icon_mail.png);
}

footer #logo {
	padding: 30px 0;
	background-color: #FFFFFF;
}

footer #logo #loopslider {
	position: relative;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 75px;
	font-size: 0;
	line-height: 1;
	text-align: left;
	background-color: #FFFFFF;
	overflow: hidden;
}

footer #logo #loopslider ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px 50px;
	padding: 0;
	margin: 0;
	height: 75px;
	overflow: hidden;
}

footer #f_bottom {
	padding: 10px 0;
}

footer #f_bottom img {
	max-width: 29vw;
	vertical-align: middle;
}

footer #f_bottom a {
	font-size: 1.3rem;
	color: #231815;
}

#pagetop {
	position: fixed;
	bottom: 30px;
	right: 0;
	z-index: 100;
}

#pagetop img {
	width: 80px;
}

#pager {
	padding: 30px 0;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}

#pager a, 
#pager b {
	display: inline-block;
	padding: 10px 0;
	margin: 0 7px;
	width: 2em;
	line-height: 1;
	border: solid 1px #00728E;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
}

#pager a {
	color: #00728E;
	background-color: #FFFFFF;
}

#pager b {
	color: #FFFFFF;
	background-color: #00728E;
}

#pager a:first-child, 
#pager b:first-child {
	margin-left: 0;
}

#pager a:last-child, 
#pager b:last-child {
	margin-right: 0;
}

#contents h1 {
	padding: 30px 10vw;
	text-align: center;
}

#pp, 
#ma {
	font-size: 1.6rem;
	text-align: left;
}

#pp ol {
	list-style-type: decimal;
	padding: 15px 0 15px 1.2em;
}

#pp ol li ol, 
#ma ul li ol {
	padding: 0 0 0 2em;
	text-indent: -2.55em;
}

#pp ol li ol li, 
#ma ul li ol li {
	list-style-type: none;
	counter-increment: cnt;
}

#pp ol li ol li::before, 
#ma ul li ol li::before{
	display: marker;
	content: "（" counter(cnt) "）";
}

#ma dd {
	padding: 0 0 15px 0;
}

#ma ul {
	list-style-type: disc;
	padding: 0 0 0 1.2em;
}

#ma ol {
	padding: 0 0 0 1.2em;
	list-style-type: decimal;
}

#ma ol li ol {
	padding: 0 0 0 2em;
	text-indent: -2.55em;
}

#ma ol li ol li {
	list-style-type: none;
	counter-increment: cnt;
}

#ma ol li ol li::before{
	display: marker;
	content: "（" counter(cnt) "）";
}

.box {
	padding: 15px;
	margin: 50px auto;
	height: 250px;
	border: solid 1px #543D16;
	overflow: hidden;
	overflow-y: scroll;
}

.box h2 {
	padding: 30px 0 0 0;
	margin: 0;
	text-align: center;
}

.box h2:first-of-type {
	padding: 0;
}

.end, 
.end2, 
.end3,
.end4, 
.end5 {
	display: block;
	position: relative;
}


.end::before, 
.end2::before,
.end3::before, 
.end4::before, 
.end5::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(100,100,100,0.5);
	z-index: 20;
}

.end::after, 
.end2::after, 
.end3::after, 
.end4::after, 
.end5::after {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 10px 0;
	width: 75%;
	color: #EC0000;
	background-color: #FFFFFF;
	border: solid 2px #EC0000;
	text-align: center;
	z-index: 30;
	transform: translate(-50%,-50%);
}

.end::after {
	content: "締め切りました";
}

.end2::after {
	content: "終了しました";
}

.end3::after {
	content: "中止となりました";
}

.end4::after {
	content: "今年度は調整中です";
}

.end5::after {
	content: "調整中です";
}


@media only screen and (max-width: 619px) {
	.pc { display: none; }
}


@media only screen and (min-width: 620px) {
	a[href^="tel:"] {
		color: #4D4D4D;
		cursor: default;
		pointer-events: none;
		text-decoration: none;
	}

	.sp { display: none; }

	.container {
		margin: auto;
		width: 1080px;
	}

	.inner {
		margin: auto;
	}

	header, 
	#contents, 
	footer {
		min-width: 1080px;
	}

	header {
		padding: 60px 0 0 0;
		height: 170px;
		background-size: auto;
		text-align: center;
	}

	#menu ul {
		display: flex;
		justify-content: center;
		font-size: 0.9em;
		font-weight: bold;
		font-family: serif;
	}

	#menu ul li {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 73px;
	}

	#menu ul li a {
		display: block;
		padding: 0 15px;
		width: 100%;
		color: #231815;
		border-right: solid 1px #231815;
	}

	#menu ul li:last-of-type a {
		border: none;
	}

	#menu ul li:hover, 
	#menu ul li.active {
		background: url(../images/common/bg_flower.png) no-repeat center center;
	}

	footer {
		padding-bottom: 60px;
	}

	footer #f_contact {
		padding: 60px 0 40px 0;
	}

	footer #f_contact #btn_tel, 
	footer #f_contact #btn_mail {
		padding: 20px;
		background: none;
	}

	footer #f_contact #btn_tel {
		margin: 0;
		font-size: 2.2rem;
		letter-spacing: 3px;
		border: none;
	}

	footer #f_contact #btn_fax {

	}

	footer #f_contact #btn_mail {
		margin: 10px auto 40px auto;
		width: 530px;
	}

	#pagetop {
		bottom: 30px;
		right: 10px;
	}

	#contents {
		min-height: 600px;
	}

	#contents h1 {
		padding: 50px 0 25px 0;
	}

	.box {
		padding: 30px;
		margin: 50px auto;
	}
}

