.bt { border-top: solid 1px; }
.bb { border-bottom: solid 1px; }
.bl { border-left: solid 1px; }
.br { border-right: solid 1px; }

.wh50 { width: 50px; }
.wh100 { width: 100px; }
.wh150 { width: 150px; }
.wh200 { width: 200px; }
.wh250 { width: 250px; }
.wh300 { width: 300px; }
.wh350 { width: 350px; }
.wh400 { width: 400px; }
.wh450 { width: 450px; }
.wh500 { width: 500px; }
.wh550 { width: 550px; }
.wh600 { width: 600px; }
.wh650 { width: 650px; }
.wh700 { width: 700px; }
.wh750 { width: 750px; }
.wh800 { width: 800px; }
.wh850 { width: 850px; }
.full { width: 100%; }

.ht50 { height: 50px; }
.ht100 { height: 100px; }
.ht150 { height: 150px; }
.ht200 { height: 200px; }
.ht250 { height: 250px; }
.ht300 { height: 300px; }
.ht350 { height: 350px; }
.ht400 { height: 400px; }
.ht450 { height: 450px; }
.ht500 { height: 500px; }
.ht550 { height: 550px; }
.ht600 { height: 600px; }
.ht650 { height: 650px; }

.pt0 { padding-top: 0; }
.pt10 { padding-top: 10px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pt50 { padding-top: 50px; }
.pt60 { padding-top: 60px; }
.pt70 { padding-top: 70px; }
.pt80 { padding-top: 80px; }
.pt90 { padding-top: 90px; }
.pt100 { padding-top: 100px; }
.pt110 { padding-top: 110px; }
.pt120 { padding-top: 120px; }
.pt130 { padding-top: 130px; }
.pt140 { padding-top: 140px; }
.pt150 { padding-top: 150px; }
.pt160 { padding-top: 160px; }
.pt170 { padding-top: 170px; }
.pt180 { padding-top: 180px; }
.pt190 { padding-top: 190px; }
.pt200 { padding-top: 200px; }
.pt210 { padding-top: 210px; }
.pt220 { padding-top: 220px; }
.pt230 { padding-top: 230px; }
.pt240 { padding-top: 240px; }
.pt250 { padding-top: 250px; }
.pt260 { padding-top: 260px; }
.pt270 { padding-top: 270px; }
.pt280 { padding-top: 280px; }
.pt290 { padding-top: 290px; }
.pt300 { padding-top: 300px; }

.pb0 { padding-bottom: 0; }
.pb10 { padding-bottom: 10px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }
.pb60 { padding-bottom: 60px; }
.pb70 { padding-bottom: 70px; }
.pb80 { padding-bottom: 80px; }
.pb90 { padding-bottom: 90px; }
.pb100 { padding-bottom: 100px; }
.pb110 { padding-bottom: 110px; }
.pb120 { padding-bottom: 120px; }
.pb130 { padding-bottom: 130px; }
.pb140 { padding-bottom: 140px; }
.pb150 { padding-bottom: 150px; }
.pb160 { padding-bottom: 160px; }
.pb170 { padding-bottom: 170px; }
.pb180 { padding-bottom: 180px; }
.pb190 { padding-bottom: 190px; }
.pb200 { padding-bottom: 200px; }
.pb210 { padding-bottom: 210px; }
.pb220 { padding-bottom: 220px; }
.pb230 { padding-bottom: 230px; }
.pb240 { padding-bottom: 240px; }
.pb250 { padding-bottom: 250px; }
.pb260 { padding-bottom: 260px; }
.pb270 { padding-bottom: 270px; }
.pb280 { padding-bottom: 280px; }
.pb290 { padding-bottom: 290px; }
.pb300 { padding-bottom: 300px; }

.pl0 { padding-left: 0; }
.pl10 { padding-left: 10px; }
.pl20 { padding-left: 20px; }
.pl30 { padding-left: 30px; }
.pl40 { padding-left: 40px; }
.pl50 { padding-left: 50px; }
.pl60 { padding-left: 60px; }
.pl70 { padding-left: 70px; }
.pl80 { padding-left: 80px; }
.pl90 { padding-left: 90px; }
.pl100 { padding-left: 100px; }
.pl110 { padding-left: 110px; }
.pl120 { padding-left: 120px; }
.pl130 { padding-left: 130px; }
.pl140 { padding-left: 140px; }
.pl150 { padding-left: 150px; }
.pl160 { padding-left: 160px; }
.pl170 { padding-left: 170px; }
.pl180 { padding-left: 180px; }
.pl190 { padding-left: 190px; }
.pl200 { padding-left: 200px; }
.pl210 { padding-left: 210px; }
.pl220 { padding-left: 220px; }
.pl230 { padding-left: 230px; }
.pl240 { padding-left: 240px; }
.pl250 { padding-left: 250px; }
.pl260 { padding-left: 260px; }
.pl270 { padding-left: 270px; }
.pl280 { padding-left: 280px; }
.pl290 { padding-left: 290px; }
.pl300 { padding-left: 300px; }

.pr0 { padding-right: 0; }
.pr10 { padding-right: 10px; }
.pr20 { padding-right: 20px; }
.pr30 { padding-right: 30px; }
.pr40 { padding-right: 40px; }
.pr50 { padding-right: 50px; }
.pr60 { padding-right: 60px; }
.pr70 { padding-right: 70px; }
.pr80 { padding-right: 80px; }
.pr90 { padding-right: 90px; }
.pr100 { padding-right: 100px; }
.pr110 { padding-right: 110px; }
.pr120 { padding-right: 120px; }
.pr130 { padding-right: 130px; }
.pr140 { padding-right: 140px; }
.pr150 { padding-right: 150px; }
.pr160 { padding-right: 160px; }
.pr170 { padding-right: 170px; }
.pr180 { padding-right: 180px; }
.pr190 { padding-right: 190px; }
.pr200 { padding-right: 200px; }
.pr210 { padding-right: 210px; }
.pr220 { padding-right: 220px; }
.pr230 { padding-right: 230px; }
.pr240 { padding-right: 240px; }
.pr250 { padding-right: 250px; }
.pr260 { padding-right: 260px; }
.pr270 { padding-right: 270px; }
.pr280 { padding-right: 280px; }
.pr290 { padding-right: 290px; }
.pr300 { padding-right: 300px; }

.mt0 { margin-top: 0; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }
.mt70 { margin-top: 70px; }
.mt80 { margin-top: 80px; }
.mt90 { margin-top: 90px; }
.mt100 { margin-top: 100px; }
.mt110 { margin-top: 110px; }
.mt120 { margin-top: 120px; }
.mt130 { margin-top: 130px; }
.mt140 { margin-top: 140px; }
.mt150 { margin-top: 150px; }
.mt160 { margin-top: 160px; }
.mt170 { margin-top: 170px; }
.mt180 { margin-top: 180px; }
.mt190 { margin-top: 190px; }
.mt200 { margin-top: 200px; }
.mt210 { margin-top: 210px; }
.mt220 { margin-top: 220px; }
.mt230 { margin-top: 230px; }
.mt240 { margin-top: 240px; }
.mt250 { margin-top: 250px; }
.mt260 { margin-top: 260px; }
.mt270 { margin-top: 270px; }
.mt280 { margin-top: 280px; }
.mt290 { margin-top: 290px; }
.mt300 { margin-top: 300px; }

.mb0 { margin-bottom: 0; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mb110 { margin-bottom: 110px; }
.mb120 { margin-bottom: 120px; }
.mb130 { margin-bottom: 130px; }
.mb140 { margin-bottom: 140px; }
.mb150 { margin-bottom: 150px; }
.mb160 { margin-bottom: 160px; }
.mb170 { margin-bottom: 170px; }
.mb180 { margin-bottom: 180px; }
.mb190 { margin-bottom: 190px; }
.mb200 { margin-bottom: 200px; }
.mb210 { margin-bottom: 210px; }
.mb220 { margin-bottom: 220px; }
.mb230 { margin-bottom: 230px; }
.mb240 { margin-bottom: 240px; }
.mb250 { margin-bottom: 250px; }
.mb260 { margin-bottom: 260px; }
.mb270 { margin-bottom: 270px; }
.mb280 { margin-bottom: 280px; }
.mb290 { margin-bottom: 290px; }
.mb300 { margin-bottom: 300px; }

.ml0 { margin-left: 0; }
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }
.ml60 { margin-left: 60px; }
.ml70 { margin-left: 70px; }
.ml80 { margin-left: 80px; }
.ml90 { margin-left: 90px; }
.ml100 { margin-left: 100px; }
.ml110 { margin-left: 110px; }
.ml120 { margin-left: 120px; }
.ml130 { margin-left: 130px; }
.ml140 { margin-left: 140px; }
.ml150 { margin-left: 150px; }
.ml160 { margin-left: 160px; }
.ml170 { margin-left: 170px; }
.ml180 { margin-left: 180px; }
.ml190 { margin-left: 190px; }
.ml200 { margin-left: 200px; }
.ml210 { margin-left: 210px; }
.ml220 { margin-left: 220px; }
.ml230 { margin-left: 230px; }
.ml240 { margin-left: 240px; }
.ml250 { margin-left: 250px; }
.ml260 { margin-left: 260px; }
.ml270 { margin-left: 270px; }
.ml280 { margin-left: 280px; }
.ml290 { margin-left: 290px; }
.ml300 { margin-left: 300px; }

.mr0 { margin-right: 0; }
.mr10 { margin-right: 10px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.mr50 { margin-right: 50px; }
.mr60 { margin-right: 60px; }
.mr70 { margin-right: 70px; }
.mr80 { margin-right: 80px; }
.mr90 { margin-right: 90px; }
.mr100 { margin-right: 100px; }
.mr110 { margin-right: 110px; }
.mr120 { margin-right: 120px; }
.mr130 { margin-right: 130px; }
.mr140 { margin-right: 140px; }
.mr150 { margin-right: 150px; }
.mr160 { margin-right: 160px; }
.mr170 { margin-right: 170px; }
.mr180 { margin-right: 180px; }
.mr190 { margin-right: 190px; }
.mr200 { margin-right: 200px; }
.mr210 { margin-right: 210px; }
.mr220 { margin-right: 220px; }
.mr230 { margin-right: 230px; }
.mr240 { margin-right: 240px; }
.mr250 { margin-right: 250px; }
.mr260 { margin-right: 260px; }
.mr270 { margin-right: 270px; }
.mr280 { margin-right: 280px; }
.mr290 { margin-right: 290px; }
.mr300 { margin-right: 300px; }

.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

.float_left { float: left; }
.float_right { float: right; }

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

.block { display: block; }
.iblock { display: inline-block; }
.inline { display: inline; }
.hidden { display: none; }
.flex {
	display: -webkit-box;
	display: -ms-box;
	display: -webkit-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.black { color: #3C3C3C; }
.white { color: #FFFFFF; }
.red { color: #C81432; }
.blue { color: #08287E; }
.green { color: #00FF33; }
.orange { color: #FF5800 }
.pink { color: #DE006B; }

.bg_grey { background-color: #E5E5E5; }

.bold { font-weight: bold; }
.normal { font-weight: normal; }

.large { font-size: 1.2em; }
.large2 { font-size: 1.4em; }
.small { font-size: 0.8em; }
.small2 { font-size: 0.6em; }

.sans-serif { font-family: sans-serif; }
.serif { font-family: serif; }

.nowrap { white-space: nowrap; }


html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	font-family: 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'メイリオ', meiryo, sans-serif;
	line-height: 1.6;
}

input[type="text"], 
input[type="tel"], 
input[type="number"], 
input[type="password"], 
textarea {
	padding: 10px;
	font-size: 1.6rem;
	border: solid 1px #CCCCCC;
	border-radius: 10px;
}

input[type="file"], 
input[type="submit"] {
	font-size: 1.6rem;
}

input[readonly] {
	cursor: default;
	background-color: #EEEEEE;
}

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

.container {
	padding: 0 15px;
}

#header {
	position: fixed;
	top: 0;
	padding: 10px;
	width: 100%;
	height: 50px;
	background-color: #036E9E;
	z-index: 100;
}

#btn_close {
	position: fixed;
	top: 10px;
	left: 5px;
}

.nav-unshown {
	display: none;
}

#nav-close {
	display: none;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000;
	opacity: 0;
	transition: .3s ease-in-out;
}

#nav-content {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	padding: 20px 10px;
	width: 70%;
	height: 100%;
	background-color: #036E9E;
	overflow: auto;
	transition: .3s ease-in-out;
	transform: translateX(-105%);
}

#nav-content ul {
	padding: 10px 0;
	margin: 20px 0;
	border-top: solid 1px #FFFFFF;
	border-bottom: solid 1px #FFFFFF;
}

#nav-content ul li {
	padding: 10px 20px;
}

#nav-content ul li a {
	font-weight: bold;
	color: #FFFFFF;
}

#nav-content img {
	margin: 0 5px;
}

#nav-input:checked ~ #nav-close {
	display: block;
	opacity: .5;
}

#nav-input:checked ~ #nav-content {
	transform: translateX(0%);
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

#footer {
	margin: 0 0 50px 0;
	text-align: center;
}

#footer #sponsorship {
	padding: 25vw 0 22vw 0;
	font-size: 1.8rem;
	font-weight: bold;
	color: #FFFFFF;
	background: url(../images/bg_wave_sp.png) repeat-x center top;
	background-size: contain;
}

#footer #sponsorship2 {
	padding: 20px 0;
	background-color: #F2F2F2;
}

#footer #sponsorship2 strong {
	font-size: 1.8rem;
	font-weight: bold;
	color: #036E9E;
}

#footer #sponsorship2 ul {
	padding: 20px 0 40px 0;
	font-size: 0;
}

#footer #sponsorship2 ul li {
	display: inline-block;
	padding: 0 5px 10px 5px;
}

#footer #sponsorship2 ul li img {
	border:solid 1px #000080;
}

#footer #copyright {
	padding: 0 0 15px 0;
	font-size: 1.1rem;
	background-color: #FFFFFF;
}

#share {
	position: fixed;
	bottom: 0;
	width: 100%;
	font-size: 0;
	background-color: #FFFFFF;
	text-align: center;
}

#share a {
	display: inline-block;
	padding: 5px;
	width: 33.3%;
	height: 50px;
	font-size: 1rem;
	color: #FFFFFF;
	vertical-align: top;
}

#share a:nth-of-type(1) {
	background-color: #3B579D;
}

#share a:nth-of-type(2) {
	background-color: #1DA1F2;
}

#share a:nth-of-type(3) {
	background-color: #00B800;
}

#pagetop {
	position: fixed;
	bottom: 60px;
	right: 10px;
	z-index: 50;
}

#pagetop a {
	display: inline-block;
	padding: 10px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #609FAB;
	border: solid 2px #FFFFFF;
	border-radius: 20px;
}

#form dt {
	font-size: 2rem;
	font-weight: bold;
}

#form dd {
	padding: 0 0 30px 0;
}

#form input, 
#form textarea {
	font-size: 2rem;
	border-color: #036E9E;
}

#form input {
	width: 70%;
}

#form input[type="image"] {
	width: 80%;
}

#form textarea {
	width: 100%;
	height: 380px;
}

.item {
	padding: 0;
	margin: 15px 0;
}

.item img {
	width: 100%;
}

.item label {
	position: relative;
	display: block;
	padding: 5px;
	font-size: 2.2rem;
	font-weight: bold;
	vertical-align: middle;
	cursor: pointer;
	text-align: center;
}

.item label::before, 
.item label::after {
	content: "";
	position: absolute;
	margin: auto;
	vertical-align: middle;
}

.item label::before {
	top: 0;
	bottom: 0;
	right: 22%;
	width: 24px;
	height: 24px;
	border-radius: 50%;
}

.item label::after {
	top: 0;
	bottom: 4px;
	right: calc(22% + 8px);
	width: 8px;
	height: 8px;
	border-top: 2px solid;
	border-right: 2px solid;
	transform: rotate(135deg);
}

.item input:checked ~ label::after {
	top: 4px;
	bottom: 0;
	transform: rotate(-45deg);
}

.item input {
	display: none;
}

.item strong {
	display: block;
	padding: 2px 0;
	font-size: 2.4rem;
	color: #FFFFFF;
	border-radius: 8px 8px 0 0;
	text-align: center;
}

.item .photo {
	position: relative;
}

.item .photo span {
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 48%;
	font-size: 1.6rem;
	color: #000000;
	background-color: #FFFFFF;
	text-align: center;
}

.item .detail {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
}

.item input:checked ~ .detail {
	padding: 15px 20px;
	height: auto;
	background-color: #FFFFFF;
	opacity: 1;
}

.item .detail p {
	margin: 0 0 15px 0;
	font-size: 1.8rem;
	color: #000000;
	background: url(../images/bg_detail.gif) center bottom #FFFFFF;
	line-height: 2.25;
	text-align: left;
}

.item .detail a {
	font-size: 2rem;
	font-weight: bold;
	color: #C1272D;
}


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


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

	.sp { display: none; }

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

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

	#header {
		height: 93px;
	}

	#header #logo {
		position: absolute;
		top: 0;
		left: 0;
	}

	#nav-content {
		position: absolute;
		top: 0;
		left: auto;
		right: 10px;
		padding: 0;
		width: auto;
		height: 93px;
		line-height: 1;
		overflow: hidden;
		transform: translateX(0%);
	}

	#nav-content ul {
		border: none;
	}

	#nav-content ul li {
		display: inline-block;
		padding: 10px 15px;
	}

	#footer {
		margin: 0;
	}

	#footer #sponsorship {
		padding: 80px 0;
		height: 254px;
		font-size: 3.6rem;
		background-image: url(../images/bg_wave.png);
		background-size: auto;
	}

	#footer #sponsorship2 strong {
		font-size: 3.6rem;
		line-height: 2.4;
	}

	#footer p {
		font-size: 1.6rem;
	}

	#form dt {
		font-size: 3.6rem;
	}

	#form input[type="image"] {
		width: auto;
	}

	.item {
		display: inline-block;
		margin-left: 15px;
		width: 330px;
		vertical-align: top;
	}

	.item:nth-of-type(3n+1) {
		margin-left: 0;
	}

	.item .detail p {
		line-height: 2.2;
	}
}