@charset "utf-8";
* {
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	font-size : 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	tap-highlight-color: rgba(0, 0, 0, 0);
	max-height: 999999px;
}
*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.transition {
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.transparent {
	opacity: 0.05;
}
a {
	color: #231815;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-decoration: none;
	outline: none;
}
a:hover {
	text-decoration: underline;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

a img {
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
sup,
sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
	font-size: 75%;
	font-weight: inherit;
}
sup {
	bottom: 1ex;
	font-weight: inherit;
}
sub {
	top: .5ex;
	font-weight: inherit;
}
span {
	font-weight: inherit;
}
body {
	margin: 0px;
	padding: 0px;
	line-height: 1.5em;
	font-family: "ヒラギノ角ゴ Pro W4", "Hiragino Kaku Gothic Pro W4", "Hiragino Kaku Gothic Pro", Meiryo, Arial, verdana, 'Trebuchet MS', Helvetica, sans-serif;
	font-size: 1em;
	color: #000;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
	opacity: 0;
}

/* Common */
.clearBoth {
	margin: 0px;
	padding: 0px;
	clear: both;
}
.textindent {
	text-indent: -9999px;
}
.displaynone {
	display: none;
}
img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
strong {
	font-weight: bold;
}
#wrapper {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	min-width: 1200px;
	overflow: hidden;
}
.inner {
	display: block;
	position: relative;
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	clear: both;
}
.pcOnly {
}
.spOnly {
	display: none;
}

/* header___________________________________________________________________________________________________ */
header {
	border-bottom: 4px solid #8DC21F;
	height: 110px;
}
header h1 {
	position: absolute;
	left: 0;
	top: 40px;
	width: 492px;
	height: 57px;
}
header h1 a {
}
header h1 a img {
	width: 492px;
	height: 57px;
}
header h1 a:hover {
	opacity: 0.7;
	text-decoration: none;
}
header span.logo {
	position: absolute;
	top: 40px;
	right: 0;
}



/* footer___________________________________________________________________________________________________ */
footer {
	background-color: #a9c56e;
	padding: 30px 0 50px 0;
	text-align: center;
}
footer .inner {
}
footer .copyright {
	color: #000;
	font-size: 12px;
	margin-bottom: 10px;
}
footer ul.footerList {
	list-style: none;
	margin-bottom: 40px;
}
footer ul.footerList li {
	display: inline-block;
	margin-right: 20px;
}
footer ul.footerList li:last-child {
	margin-right: 0px;
}
footer ul.footerList li h2 {
	font-size: 16px;
	color: #000;
	font-weight: bold;
	text-align: left;
	margin-bottom: 10px;
	letter-spacing: 1em;
}
footer ul.footerList li p {
}
footer ul.footerList li p a {
	margin-right: 8px;
}
footer ul.snsbtn {
	list-style: none;
	display: inline-block;
}
footer ul.snsbtn li {
	display: inline-block;
	margin: 0 8px 0 0;
	padding: 5px 5px 0 5px;
	border: 1px solid #a9c56e;
}



#gotoTopBtn {
	position: fixed;
	right: 40px;
	bottom: 20px;
	width: 127px;
	height: 128px;
	text-indent: -9999px;
	cursor: pointer;
	z-index: 900;
}
#gotoTopBtn::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 127px;
	height: 128px;
	background-image: url(../images/btn_gototop.png);
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1000;
}
#gotoTopBtn::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 127px;
	height: 128px;
	background-color: rgba(255,255,255,1);
	border-radius: 8px;
	opacity: 0.7;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	z-index: 800;
}
#gotoTopBtn:hover::before {
	opacity: 1;
	box-shadow:2px 2px 3px 1px rgba(0,0,0,0.35);
}
.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}



/* contents___________________________________________________________________________________________________ */
#contents {
}
#contents ul.snsbtn {
	list-style: none;
	background-color: #FFFFFF;
	display: block;
	margin: -15px 0px -10px 0;
	text-align: right;
}
#contents ul.snsbtn li {
	display: inline-block;
	margin: 0;
	padding: 5px 5px 0 5px;
}
#contents ul.menuBtn {
	margin: 20px auto;
	text-align: center;
}
#contents ul.menuBtn li {
	display: inline-block;
	padding: 10px 0px 5px 25px;
	margin: 10px;
	position: relative;
	vertical-align: middle;
}
#contents ul.menuBtn li:nth-child(1) {
	padding: 0px 0px 0px 0px;
	margin: 0px;
}
#contents ul.menuBtn li a {
}
#contents ul.menuBtn li a:hover {
}
#contents ul.menuBtn li a::before {
	content: "";
	display: block;
	position: absolute;
	left: -12px;
	top: 0px;
	width: 25px;
	height: 47px;
	background-image: url(../images/icon_menu_01.png);
	background-repeat: no-repeat;
	opacity: 0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#contents ul.menuBtn li:nth-child(1) a::before {
	background-image: none;
}
#contents ul.menuBtn li:nth-child(2) a::before {
	background-image: url(../images/icon_menu_01.png);
}
#contents ul.menuBtn li:nth-child(3) a::before {
	background-image: url(../images/icon_menu_02.png);
}
#contents ul.menuBtn li:nth-child(4) a::before {
	background-image: url(../images/icon_menu_03.png);
}
#contents ul.menuBtn li:nth-child(5) a::before {
	background-image: url(../images/icon_menu_04.png);
}
#contents ul.menuBtn li:nth-child(6) a::before {
	background-image: url(../images/icon_menu_05.png);
}
#contents ul.menuBtn li a:hover::before {
	left: 2px;
	opacity: 1;
}
#contents #anc01,
#contents #anc02,
#contents #anc03,
#contents #anc04,
#contents #anc05 {
	margin-bottom: 70px;
}
#contents h2 {
	font-size: 21px;
	padding: 0 20px;
	font-weight: bold;
	line-height: 50px;
	border-radius: 8px;
	background-color: #F4A342;
	margin: 20px auto;
}
#contents #anc01 h2 {
	background-color: #F4A342;
}
#contents #anc02 h2 {
	background-color: #F9DC62;
}
#contents #anc03 h2 {
	background-color: #A1CC53;
}
#contents #anc04 h2 {
	background-color: #96C1E7;
}
#contents #anc04 h3 {
	font-weight: bold;
	font-size: 21px;
	border-bottom: solid 2px #C9CACA;
	padding: 10px;
	margin: 20px;
}
#contents #anc05 h2 {
	background-color: #3636C1;
	color: #FFF;
}
#contents p {
	font-size: 15px;
	margin: 20px;
	line-height: 1.75em;
}
#contents p.redBox {
	font-size: 16px;
	padding: 10px;
	font-weight: bold;
	color: #E60F11;
	border: 2px solid #E60F11;
}
#contents p a {
	text-decoration: underline;
}
#contents p a:hover {
	text-decoration: none;
}
#contents img.iconPDF {
	margin-right: 10px;
	vertical-align: middle;
}
#contents dl.list {
	font-size: 15px;
	line-height: 1.75em;
	display: block;
	margin: 50px  20px;
}
#contents dl.list dt {
	clear: both;
	float: left;
	padding: 15px 5px;
	width: 145px;
	font-weight: bold;
	text-align: left;
}
#contents dl.list dd {
	clear: right;
	padding: 15px 5px 15px 145px;
	text-align: left;
	border-top: 1px dashed #8DC21F;
}
#contents dl.list dd ul {
	list-style: none;
}
#contents dl.list dd ul li {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 8px;
	line-height: 1.5em;
}
#contents dl.list dd ul li::before {
    content: "〇";
}
#contents dl.list dd a {
	color: #036EB8;
	text-decoration: underline;
}
#contents dl.list dd a:hover {
	text-decoration: none;
}
#contents dl.list dd img.icon {
	vertical-align: text-top;
	margin-right: 5px;
}
#contents dl.list dd img.floatR {
	 float: right;
	 margin-bottom: 20px;
}
#contents .addressBox {
	position: relative;
	background-color: #FFEEBE;
	border-radius: 8px;
	padding: 20px;
	margin: 20px;
}
#contents .addressBox h3 {
	font-size: 16px;
	position: absolute;
	left: 20px;
	top: 20px;
}
#contents .addressBox p {
	font-size: 16px;
	text-align: center;
	margin: 0;
}
#contents .mbsBox {
	position: relative;
}
#contents .mbsBox h3 {
	position: absolute;
	bottom: 0;
	left: 50px;
	font-weight: bold;
}
#contents .mbsBox p.address {
	padding-left: 180px;
	font-size: 13px;
}
#contents .mbsBox p span.redBorder {
	border: solid 2px #E94740;
	color: #E94740;
	padding: 5px;
	font-weight: bold;
	width: 450px;
	margin-left: 30px;
	margin-bottom: 30px;
	display: block;
	text-align: center;
}
#contents .mbsBox img.icon {
	position: absolute;
	left: 410px;
	top: -40px;
}
#contents .mbsBox img.photo {
	position: absolute;
	right: 40px;
	bottom: 0;
}
#contents #anc03 a {
	color: #036EB8;
	text-decoration: underline;
}
#contents #anc03 a:hover {
	text-decoration: none;
}
#contents dl.qa {
	padding: 0 30px;
	font: 16px;
	line-height: 1.75em;
}
#contents dl.qa dt {
	position: relative;
	padding-left: 20px;
}
#contents dl.qa dt::before {
	content: "Q. ";
	display: block;
	width: 20px;
	position: absolute;
	left: 0;
}
#contents dl.qa dd {
	position: relative;
	padding-left: 20px;
	margin-bottom: 30px;
}
#contents dl.qa dd a {
	text-decoration: underline;
}
#contents dl.qa dd a:hover {
	text-decoration: none;
}
#contents dl.qa dd::before {
	content: "A. ";
	display: block;
	width: 20px;
	position: absolute;
	left: 0;
}
#contents dl.qa .noBefore::before {
	display: none;
}
#contents #anc04 p {
	margin: 20px 30px;
}
#contents #anc04 p span {
	color: #C30D23;
}

/* award___________________________________________________________________________________________________ */
#contents #award {
}
#contents #award .awardmainPic {
	float: left;
	margin: -15px 30px 60px 0;
}
#contents #award p {
	margin: 45px auto 30px auto;
	font-size: 16px;
}
#contents #award ul {
	list-style: none;
}
#contents #award ul li {
	display: inline-block;
	margin-right: 40px;
}
#contents #award ul li:nth-child(2) {
	margin-right: 100px;
}
#contents #award ul li a {
	font-size: 15px;
	font-weight: bold;
	padding: 5px 10px;
	position: relative;
}
#contents #award ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -2px;
	right:0;
	left:0;
	margin: auto;
	height: 2px;
	width: 0px;
	background-color: transparent;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#contents #award ul li a:hover {
	text-decoration: none;
	opacity: 0.7
}
#contents #award ul li:nth-child(1) a:hover:before {
	width: 100%;
	background-color: #00A8B8;
}
#contents #award ul li:nth-child(2) a:hover:before {
	width: 100%;
	background-color: #F2971B;
}
#contents #award ul li:nth-child(1) a {
	border-bottom: 2px dashed #00A8B8;
}
#contents #award ul li:nth-child(2) a {
	border-bottom: 2px dashed #F2971B;
}
#contents #award ul li:nth-child(3) a {
	border-bottom: 4px solid #8DC21F;
}
#contents #award01 {
	margin: 40px auto;
	clear: both;
}
#contents #award02 {
	margin: 40px auto;
	clear: both;
}
#contents #award03 {
	border: 4px solid #8DC21F;
	clear: both;
	padding: 0;
	margin: 40px auto 80px auto;
}
#contents #award01 .inner.margin:after,
#contents #award02 .inner.margin:after {
	content: "";
	display: block;
	clear: both;
	height: 60px;
}
#contents #award01 .inner.margin2:after,
#contents #award02 .inner.margin2:after {
	content: "";
	display: block;
	clear: both;
	height: 10px;
}
#contents #award03 #anc03 {
	margin-bottom: 40px;
}
#contents #award03 #anc03 h2 {
	margin-top: 0;
	border-radius: 0;
	text-align: center;
	background-color: #8DC21F;
	font-size: 24px;
	line-height: 44px;
	padding-bottom: 2px;
}
#contents #award03 .mbsBox img.icon {
	position: absolute;
	left: 410px;
	top: -60px;
}
#contents #award03 .mbsBox p span.redBorder {
	border: solid 3px #E94740;
	color: #E94740;
	padding: 5px;
	font-weight: bold;
	width: 450px;
	margin-left: 20px;
	margin-bottom: 20px;
	display: block;
	text-align: center;
}
#contents #award03 .mbsBox p span.redBorder span.big {
	font-size: 180%;
}
#contents #award01 h1 {
	border-bottom: 7px solid #00A8B8;
	margin-bottom: 40px;
}
#contents #award02 h1 {
	border-bottom: 7px solid #F2971B;
	margin-bottom: 40px;
}
#contents #award01 h1 .inner:before,
#contents #award02 h1 .inner:before {
	content: "";
	display: inline-block;
	vertical-align: bottom;
	width: 38px;
	height: 53px;
	background-image: url(../images/icon_trophies.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-right: 15px;
}
#contents #award01 h1 .inner,
#contents #award02 h1 .inner {
	font-size: 20px;
	font-weight: bold;
	line-height: 43px;
	position: relative;
}
#contents #award01 h1 .inner span.small,
#contents #award02 h1 .inner span.small {
	display: inline-block;
	position: absolute;
	right: 0px;
	bottom: 0px;
	font-size: 14px;
	font-weight: normal;
}
#contents #award01 hr,
#contents #award02 hr {
	clear: both;
	background-color: #fff;
	border-top: 1px dashed #00A8B8;
	border-bottom: none;
	border-right: none;
	border-left: none;
	margin: 30px -10px 30px -10px;
}
#contents #award02 hr{
	border-top: 1px dashed #F2971B;
}
#contents #award01 .rightBox,
#contents #award02 .rightBox {
	float: right;
	width: 540px;
}
#contents #award01 .leftBox,
#contents #award02 .leftBox {
	float: left;
	width: 440px;
	text-align: center;
}
#contents #award01 .leftBox img,
#contents #award02 .leftBox img {
	max-width: 400px;
	max-height: 400px;
	height: auto;
}
#contents #award01 h2,
#contents #award02 h2 {
	border-radius: 0;
	background-color: transparent;
	padding: 0;
	font-size: 26px;
	line-height: 1.5em;
	margin-top: -10px;
	margin-bottom: 10px;
}
#contents #award01 h2 span,
#contents #award02 h2 span {
	display: block;
	font-size: 19px;
	line-height: 1.5em;
	text-indent: 0;
}
#contents #award01 h2.gold,
#contents #award02 h2.gold {
	text-indent: 35px;
	background-image: url(../images/icon_ranking_1.png);
	background-repeat: no-repeat;
	background-position: left 8px;
}
#contents #award01 h2.silver,
#contents #award02 h2.silver {
	text-indent: 30px;
	background-image: url(../images/icon_ranking_2.png);
	background-repeat: no-repeat;
	background-position: left 10px;
}
#contents #award01 h2.copper,
#contents #award02 h2.copper {
	text-indent: 30px;
	background-image: url(../images/icon_ranking_3.png);
	background-repeat: no-repeat;
	background-position: left 10px;
}
#contents #award01 h3,
#contents #award02 h3 {
	font-size: 14px;
	font-weight: bold;
	border-top: 1px solid #B5B5B6;
	padding: 10px 0 5px 0;
	color: #00A8B8;
}
#contents #award02 h3 {
	color: #F2971B;
}
#contents #award01 p,
#contents #award02 p {
	font-size: 15px;
	line-height: 1.5em;
	margin: 0 0 20px 0;
}
#contents #award01 p.category01,
#contents #award02 p.category01 {
	display: block;
	width: 10.5em;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	margin: 0 auto 10px 0;
	padding: 0;
	line-height: 26px;
	background-color: #F2971B;
	border-radius: 4px;
	min-height: 26px;
}
#contents #award01 p.category02,
#contents #award02 p.category02 {
	display: block;
	width: 10.5em;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	margin: 0 auto 10px 0;
	padding: 0;
	line-height: 26px;
	background-color: #8FC31F;
	border-radius: 4px;
	min-height: 26px;
}
#contents #award01 ul,
#contents #award02 ul {
	list-style: none;
}
#contents #award01 ul li,
#contents #award02 ul li {
	display: inline-block;
	width: 30%;
	margin-right: 4%;
	margin-bottom: 10px;
	text-align: center;
	vertical-align: bottom;
}
#contents #award01 ul li h2,
#contents #award02 ul li h2 {
	line-height: 1.25em;
	font-size: 17px;
	margin-top: 2px;
	margin-bottom: 10px;
}
#contents #award01 ul li p,
#contents #award02 ul li p {
	text-align: left;
	font-size: 14px;
	min-height: 120px;
}
#contents #award01 ul li:nth-child(3n),
#contents #award02 ul li:nth-child(3n) {
	margin-right: 0;
}
#contents #award01 ul li img,
#contents #award02 ul li img {
	max-width: 100%;
	max-height: 320px;
	height: auto;
}




/* toppage___________________________________________________________________________________________________ */
body.top {
}
/* header___________________________________________________________________________________________________ */
body.top header {
	border-bottom: none;
	height: auto;
}
body.top header h1 {
	position: relative;
	left: auto;
	top: auto;
	width: 746px;
	height: 87px;
	display: block;
	margin: 0 auto 20px auto;
}
body.top header span.logo {
	position: relative;
	top: auto;
	right: auto;
	display: block;
	margin: 40px auto 20px auto;
	width: 172px;
	z-index: 10000;
}
/* contentsTop___________________________________________________________________________________________________ */
#contentsTop {
	text-align: center;
}
#contentsTop h1 {
	font-size: 27px;
	font-weight: bold;
	line-height: 2em;
	margin: 10px;
}
#contentsTop h1 span {
	font-size: 16px;
	font-weight: bold;
	background-color: #8DC21F;
	border-radius: 5px;
	color: #FFF;
	padding: 5px 10px;
	line-height: 14px;
	vertical-align: middle;
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 5px;
}
#contentsTop h1 ruby {
	font-weight: bold;
}
#contentsTop h1 rt {
	font-size: 11px;
	font-weight: normal;
}
#contentsTop h2 {
	margin-bottom: 10px;
}
#contentsTop h3 {
	font-size: 18px;
	margin-bottom: 10px;
}
#contentsTop p {
	font-size: 18px;
	font-weight: bold;
	line-height: 2em;
	margin-bottom: 30px;
}
#contentsTop p ruby {
	font-weight: bold;
}
#contentsTop p rt {
	font-size: 10px;
	font-weight: normal;
}
#contentsTop ul {
	list-style: none;
	margin-bottom: 10px;
	font-size: 110%;
}
#contentsTop ul li {
	display: inline-block;
	padding: 5px 20px;
	border-right: solid 1px #000;
	font-weight: bold;
}
#contentsTop ul li:last-child {
	border-right: none;
}
#contentsTop p.periodP {
	background-color: #009245;
	border-radius: 19px;
	line-height: 38px;
	width: 619px;
	margin: 15px auto;
	color: #FFF;
	font-size: 110%;
}
#contentsTop p img {
	margin: 5px;
}
#contentsTop p.detailBox {
	width: 619px;
	height: 275px;
	margin: 0 auto 30px auto;
	position: relative;
}
#contentsTop p.detailBox img {
	margin: 0px;
}
#contentsTop p.detailBox span.linkBtn {
	position: absolute;
	left: 53%;
	right: 26%;
	top: 73%;
	bottom: 17%;
}
#contentsTop p.detailBox span.linkBtn a {
	display: block;
	text-indent: -9999px;
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
}
.awardBox {
	margin: 30px 0;
}
#main-img {
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	width: 1280px;
	height: 280px;
	margin: 0 auto;
	background-image: url("../images/top_bg_balloon.png");
	animation: cloudMove 3s infinite;
	background-repeat: no-repeat;
	background-position: center center;
}
#sub-img {
	position: absolute;
	top: -200px;
	left: 0;
	right: 0;
	width: 1280px;
	height: 450px;
	margin: 0 auto;
	background-image: url("../images/top_bg_cloud.png");
	animation: cloudMoveSub 8s infinite;
	background-repeat: no-repeat;
}
@keyframes cloudMove {
    0% {background-position: center 0;}
    50% {background-position: center 20px;}
    100% {background-position: center 0;}
}
@keyframes cloudMoveSub {
    0% {background-position: 20px center;}
    50% {background-position: 60px center;}
    100% {background-position: 20px center;}
}
