@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');




/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{
	height:100%;
}

html{
	font-size:62.5%;
	overflow-y: scroll;
}

body{
	-webkit-text-size-adjust: 100%;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: 'Noto Sans JP', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
	text-align: left;
	color:#333333;
}

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, form, input, textarea, select{
	font-size: 1.6rem;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
			box-sizing: border-box; }

table{
	border-spacing: 0;
}

input, textarea, select{
	vertical-align:middle;
	font-family: 'HiraginoSans', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
	background-color: #fff;
}
button{
	background-color: transparent;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
}
input,select,button,textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: none;
	border-radius: 0;
	padding: 0;
}
select::-ms-expand{
	display: none;
}
textarea{
	resize: none;
}
button,input[type="submit"],input[type="button"],select{
	cursor:pointer;
}
input[type="radio"]:checked{
	appearance: none;
}

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

a{
	text-decoration: none;
	color: #333;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
@media screen and (min-width: 769px) {
	a:hover{
		opacity: 0.8;
	}

	a[href^="tel:"]{
		display: inline-block;
		pointer-events: none;
	}
}

body{
	min-width: 1200px;
}

.content{
	width: 100%;
	padding-bottom: 70px;
	background: #fff7d9;
	overflow: hidden;
}

.wrap{
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
}

.inner{
	padding: 0 80px;
}

@media screen and (min-width: 769px) {
	.sp{
		display: none !important;
	}
}

@media screen and (max-width: 768px) {
	body{
		min-width: initial;
	}
	.content{
		padding: 15px 4% 40px;
	}
	.wrap{
		width: 100%;
		max-width: initial;
	}
	.inner{
		padding: 0 5%;
	}
	.pc{
		display: none !important;
	}
	.sp{
		display: block;
	}
	.sp_ib{
		display: inline-block;
	}

	h1, h2, h3, h4, h5, h6, p, address,
	ul, ol, li, dl, dt, dd,
	table, th, td, form, input, textarea, select{
		font-size: 1.2rem;
	}
}




/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/
.header_wrap{
	position: fixed;
	z-index: 9999999;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}

.header_wrap .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 150px;
	padding: 0 30px 0 45px;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}

.header_wrap.on .wrap,
header.active .header_wrap .wrap{
	background: #fff;
	box-shadow: 0 3px 5px rgba(0,0,0, 0.2);
}

.gnav ul{
	display: flex;
	flex-wrap: wrap;
	width: 500px;
}

.gnav li + li{
	margin-left: 10px;
}
.gnav li + li:nth-child(3n + 1){
	margin-left: 0;
}
.gnav li:nth-child(n + 4){
	margin-top: 10px;
}

.gnav li a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 40px;
	border-radius: 100px;
	background: #3cc83c;
	color: #fff;
}
.ie .gnav li a{
	padding-top: 6px;
}

.pagetop_btn{
	position: fixed;
	z-index: 9000;
	bottom: 20px;
	right: 20px;
}
.pagetop_btn a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 150px;
	background: #3cc83c;
	border-radius: 50%;
	color: #fff;
	font-size: 1.8rem;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
	visibility: hidden;
	opacity: 0;
	line-height: 1.3;
}
.pagetop_btn.on a{
	visibility: visible;
	opacity: 1;
}
.pagetop_btn .ico{
	display: block;
	width: 0;
	height: 0;
	margin-bottom: 10px;
	border-bottom: 37px solid #fff;
	border-left: 27px solid transparent;
	border-right: 27px solid transparent;
}
@media screen and (min-width: 769px) {
	.pagetop_btn a:hover{
		opacity: 0.8;
	}
}


@media screen and (max-width: 768px) {
	.header_wrap{
		top: 15px;
		height: 50px;
		padding: 0 4%;
	}
	.header_wrap.on,
	header.active .header_wrap{
		top: 0;
	}

	.header_wrap .wrap{
		height: 50px;
		padding: 0 5%;
	}

	.header_wrap .logo{
		width: 137px;
	}

	.gnav{
		display: none;
	}

	.menu_btn{
		position: fixed;
		z-index: 10000000;
		top: 15px;
		right: 4%;
		margin: auto;
		width: 50px;
		height: 50px;
		cursor: pointer;
		-webkit-transition: all .4s ease;
		transition: all .4s ease;
	}
	.header_wrap.on .menu_btn,
	header.active .menu_btn{
		top: 0;
	}

	.menu_btn .line{
		position:absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 50%;
		height: 4px;
		background: #3cc83c;
		transition: all 0.5s ease-out;
	}
	.menu_btn .line:nth-child(1){
		z-index: 2;
		top: -18px;
	}
	.menu_btn .line:nth-child(2){
		z-index: 3;
	}
	.menu_btn .line:nth-child(3){
		z-index: 1;
		top: 18px;
	}

	.menu_btn.active .line:nth-child(1){
		top: 0;
		transform: rotate(45deg);
	}
	.menu_btn.active .line:nth-child(2){
		background-color:rgba(255,255,255,0);
	}
	.menu_btn.active .line:nth-child(3){
		top: 0;
		transform: rotate(-45deg);
	}

	.gnav{
		position: fixed;
		z-index: 10000;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		max-width: 100%;
		height: 100vh;
		padding: 60px 0 0;
		background: rgba(35,24,21, 0.9);
		-webkit-transition: all .4s ease-in-out;
		transition: all .4s ease-in-out;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
	}
	.gnav.active{
		opacity: 1;
		visibility: visible;
	}

	.gnav_wrap{
		display: none;
		width: 100%;
		height: 100vh;
		padding: 30px 0 150px;
		overflow-y: auto;
	}

	.gnav_wrap .logo{
		position: fixed;
		top: 10px;
		left: 4%;
	}

	.gnav_list{
		flex-direction: column;
	}

	.gnav ul{
		width: 100%;
	}

	.gnav_list li a{
		width: 80%;
		margin: 0 auto;
		font-size: 1.6rem;
		color: #fff;
		line-height: 1.6;
	}
	.gnav_list li + li,
	.gnav li:nth-child(n + 4){
		margin-left: 0;
		margin-top: 15px;
	}
	.gnav_list li + li::before{
		display: none;
	}

	.pagetop_btn{
		right: 10px;
		bottom: 10px;
	}
	.pagetop_btn a{
		width: 75px;
		height: 75px;
		font-size: 1.0rem;
	}
	.pagetop_btn .ico{
		margin-bottom: 5px;
		margin-top: -5px;
		border-bottom: 20px solid #fff;
		border-left: 13px solid transparent;
		border-right: 13px solid transparent;
	}
}



/* ----------------------------------------------------------------------------------------------------
*  フッター
* --------------------------------------------------------------------------------------------------*/


@media screen and (max-width: 768px) {

}




/* ----------------------------------------------------------------------------------------------------
*  共通
* --------------------------------------------------------------------------------------------------*/
.txt{
	line-height: 1.8;
}

.bold{
	font-weight: bold;
}

.txt_up{
	text-transform: uppercase;
}
.txt_noup{
	text-transform: none;
}

.center{
	text-align: center;
}

.txt_green{
	color: #3cc83c;
}
.txt_orange{
	color: #f08c28;
}

.note{
	padding-left: 1em;
	text-indent: -1em;
}


@media screen and (max-width: 768px) {
	.img img{
		width: 100%;
	}
}



/* ------------------------------
    ttl
------------------------------ */
.sec_ttl{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 200px;
	padding-top: 10px;
	background: url(../img/sec_ttl_bg.jpg) no-repeat center center;
	background-size: cover;
	text-align: center;
	font-size: 3.2rem;
	line-height: 1.3;
	font-weight: bold;
}
.sec_ttl .en{
	margin-top: 4px;
	font-size: 1.6rem;
	color: #333333;
	letter-spacing: 0.01em;
	opacity: 0.5;
}


@media screen and (max-width: 768px) {
	.sec_ttl{
		height: 100px;
		font-size: 1.6rem;
	}
	.sec_ttl .en{
		font-size: 0.9rem;
	}
}



/* ------------------------------
    box
------------------------------ */
.flex{
	display: flex;
	justify-content: space-between;
}

.bg_box{
	background: #fff;
	box-shadow: 5px 5px 20px rgba(0,0,0, 0.2);
	border-radius: 10px;
	overflow: hidden;
}

.bg_box + .bg_box{
	margin-top: 100px;
}

.d-flex {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

.flex-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.justify-content-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.justify-content-between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.justify-content-end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.align-items-start {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.align-items-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.align-items-end {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.flex-column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.flex-row-reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.position-relative {
	position: relative;
}
.flex-1 {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.line-2 {
	line-height: 2.5;
}


@media screen and (max-width: 768px) {
	.bg_box{
		border-radius: 6px;
	}

	.bg_box + .bg_box{
		margin-top: 40px;
	}
}



/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */







/* ----------------------------------------------------------------------------------------------------
*  style
* --------------------------------------------------------------------------------------------------*/


/* ------------------------------
	.fv
------------------------------ */
.fv{
	position: relative;
}

.fv .img,
.fv .img img{
	width: 100%;
}

.slick-dots{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.slick-dots li{
	width: 21px;
	height: 21px;
	margin: 0;
	padding: 0;
}
.slick-dots li + li{
	margin-left: 25px;
}
.slick-dots li button{
	display: block;
	width: 100%;
	height: 100%;
	color: transparent;
	background: #c8c8c8;
	border-radius: 50%;
}
.slick-dots li.slick-active button{
	background: #3cc83c;
}
.slick-dots li button::before{
	display: none;
}


@media screen and (max-width: 768px){
	.fv{
		padding: 50px 0 40px;
	}

	.slick-dots{
		bottom: -25px;
	}

	.slick-dots li{
		width: 11px;
		height: 11px;
	}
	.slick-dots li + li{
		margin-left: 9px;
	}

	.sp_bg_box{
		border-radius: 0;
	}
}



/* ------------------------------
	.about
------------------------------ */
.about{
	padding: 30px 0;
	background: url(../img/about_bg.jpg) no-repeat center center;
	background-size: cover;
}

.about .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.about .img{
	flex-shrink: 0;
	position: relative;
	width: 475px;
	margin-bottom: -5px;
	margin-right: -50px;
}

.about .txt{
	font-size: 2.0rem;
}

.about .bg_txt{
	display: inline-block;
	padding: 8px 10px 8px 20px;
	background: #fff;
	font-size: 2.8rem;
}

.about .ttl{
	margin: 10px 0;
	white-space: nowrap;
	font-size: 4.8rem;
	line-height: 1.3;
}

.about .line_txt{
	padding: 0.5em 0;
	margin-top: 15px;
	border-top: 4px dotted #fff;
	border-bottom: 4px dotted #fff;
	font-size: 2.4rem;
	line-height: 1.6;
}

.about .note{
	margin-top: 5px;
	font-size: 1.4rem;
}


@media screen and (max-width: 768px){
	.about{
		padding: 30px 0 15px;
	}

	.about .inner{
		flex-direction: column;
		align-items: center;
	}

	.about .txt_box{
		width: 100%;
		text-align: center;
	}

	.about .bg_txt{
		font-size: 1.4rem;
	}

	.about .ttl{
		font-size: 3.0rem;
		text-align: center;
	}

	.about .txt{
		font-size: 1.5rem;
	}

	.about .bg_txt{
		padding: 8px 10px;
		font-size: 1.4rem;
	}

	.about .note{
		font-size: 1.0rem;
	}

	.about .img{
		width: 95%;
		margin: 10px auto 0;
	}
}



/* ------------------------------
	.message
------------------------------ */
.message{
	padding-top: 120px;
}

.message .sec_ttl{
	height: 360px;
	background: url(../img/message_ttl_bg.png) no-repeat center center;
}

.message .ttl{
	margin: 35px 0;
	font-weight: bold;
	text-align: center;
	font-size: 4.4rem;
	line-height: 1.3;
}

.message .txt_box{
	max-width: 780px;
	width: 100%;
	margin: 0 auto;
}

.message .txt{
	font-size: 1.9rem;
	line-height: 2.1;
}

.message .txt + .txt{
	margin-top: 1.5em;
}

.message .inner .img{
	width: 497px;
	margin: 40px auto 140px;
}

.message .wide_img,
.message .wide_img img{
	width: 100%;
}


@media screen and (max-width: 768px){
	.message{
		padding-top: 23px;
	}

	.message .sec_ttl{
		height: 187px;
		background-size: 213px;
	}

	.message .ttl{
		margin: 15px auto;
		font-size: 2.6rem;
	}

	.message .txt{
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.message .inner .img{
		width: 100%;
		margin: 40px auto 10px;
	}
}



/* ------------------------------
	.award
------------------------------ */
.award{
	position: relative;
	padding: 175px 0 155px;
}

.award .sec_ttl{
	height: 355px;
	background: url(../img/award_ttl_bg.png) no-repeat center center;
	margin-bottom: 110px;
}

.award .img1{
	position: absolute;
	top: 200px;
	left: 45px;
}

.award .img2{
	position: absolute;
	top: 315px;
	right: 30px;
}

.acc_box + .acc_box{
	margin-top: 15px;
}

.acc_btn{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 60px;
	background: #3cc83c;
	text-align: center;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	cursor: pointer;
}
.ie .acc_btn{
	padding-top: 6px;
}

.acc_btn .ico{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 30px;
	border-radius: 100px;
	background: #fff;
	font-size: 1.4rem;
	color: #333;
}
.acc_btn .ico::after{
	content: "確認する";
}
.acc_btn .ico .arw{
	width: 0;
	height: 0;
	margin-right: 5px;
	border-top: 9px solid #333;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
}
.acc_box.open .acc_btn .ico{
	background: rgba(255,255,255, 0.2);
	color: #fff;
}
.acc_box.open .acc_btn .ico::after{
	content: "閉じる";
}
.acc_box.open .acc_btn .ico .arw{
	border-top: 0;
	border-bottom: 9px solid #fff;
}

.ie .acc_btn .ico{
	padding-top: 5px;
}
.ie .acc_btn .ico .arw{
	margin-bottom: 5px;
}

.acc_txt_box{
	display: none;
	background: #fef8eb;
}

.award_list{
	padding: 0 15px;
}

.award_list li {
	display: flex;
	align-items: center;
	max-width: 780px;
	margin: 0 auto;
	padding: 35px 0;
	border-bottom: 4px dotted #f08c28;
}
.award_list li:last-child {
	border-bottom: none;
}

.award_level {
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	margin-right: 20px;
	border-radius: 50%;
	font-weight: bold;
	color: #fff;
}
.award_level-gold {
	background: #d3be4d;
}
.award_level-silver {
	background: #bebabf;
}
.award_level-brown {
	background: #bb9991;
}

.award_level-green {
	background: #3cc83c;
    width: 100px;
	height: 100px;
}

.ie .award_level{
	padding-top: 5px;
}

.award_list .txt_box .ttl{
	margin-bottom: 2px;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.3;
	color: #634216;
}

.award_list .txt_box .txt{
	font-size: 1.4rem;
	color: #634216;
}

.award_list .sohyo{
	font-size: 2rem;
    line-height: 1.5;
	color: #634216;
}

.award .border_box{
	position: relative;
	padding-bottom: 50px;
	margin-top: 175px;
	border-bottom: 4px dotted #f08c28;
}

.award .border_box .line_txt{
	position: relative;
	margin-bottom: 35px;
	text-align: center;
	font-size: 3.0rem;
	font-weight: bold;
}
.award .border_box .line_txt .line{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 100%;
	height: 0;
	border-top: 4px dotted #f08c28;
}
.award .border_box .line_txt .txt{
	position: relative;
	z-index: 2;
	display: inline-block;
	padding: 0 30px 0 20px;
	background: #fff;
}

.award .border_box .big{
	font-size: 7.0rem;
	font-weight: bold;
	line-height: 1;
}
.award .border_box .min{
	margin-top: 15px;
	font-size: 1.4rem;
}


@media screen and (max-width: 768px){
	.award{
		padding: 10px 0 40px;
	}

	.award .sec_ttl{
		height: 175px;
		background-size: 169px;
	}

	.award_list .txt_box .ttl{
		font-size: 2.2rem;
	}

	.award .img1{
		top: 150px;
		left: auto;
		right: 50%;
		width: 50%;
		max-width: 170px;
	}
	.award .img2{
		top: 150px;
		right: auto;
		left: 50%;
		width: 50%;
		max-width: 170px;
	}

	.acc_btn{
		height: auto;
		min-height: 30px;
		padding: 5px 0;
		font-size: 1.4rem;
	}

	.acc_btn .ico{
		width: 80px;
		height: 20px;
		font-size: 1.0rem;
	}

	.award_list li{
		padding: 20px 0;
	}

	.award_level{
		width: 45px;
		height: 45px;
		margin-right: 15px;
		font-size: 1.2rem;
	}

	.award_list .txt_box .ttl{
		margin-bottom: 5px;
		font-size: 1.8rem;
	}
	.award_list .txt_box .txt{
		font-size: 1.3rem;
		line-height: 1.3;
	}
    
    .award_list .sohyo{
	font-size: 1.5rem;
    line-height: 1.5;
}

	.award .border_box{
		margin-top: 35px;
		padding: 20px 0;
		border-top: 4px dotted #f08c28;
	}

	.award .border_box .line_txt{
		margin-bottom: 10px;
		font-size: 2.0rem;
	}
	.award .border_box .line_txt .line{
		display: none;
	}
	.award .border_box .line_txt .txt{
		padding: 0;
		line-height: 1.6;
	}

	.award .border_box .big{
		font-size: 5.5rem;
	}

	.award .border_box .min{
		margin-top: 10px;
		font-size: 1.0rem;
	}
}



/* ------------------------------
	.requirements
------------------------------ */
.requirements{
	padding-bottom: 180px;
}

.requirements .sec_ttl{
	height: 370px;
	background: url(../img/requirements_ttl_bg.png) no-repeat center center;
	margin-bottom: 40px;
}

.requirements dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 10px;
}

.requirements dl dt {
	display: flex;
	align-items: center;
	width: 180px;
	margin-right: 10px;
	padding: 20px;
	background: #3cc83c;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: bold;
}

.requirements dl dd {
	position: relative;
	flex: 1;
	background: #fef4de;
	padding: 20px;
	line-height: 1.8;
}
.requirements dd *{
	line-height: 1.8;
}

.ie .requirements dl dt{
	padding-top: 22px;
	padding-bottom: 17px;
}
.ie .requirements dl dd{
	padding-top: 22px;
	padding-bottom: 17px;
}

.requirements dl dd a {
	display: block;
	margin: 15px 0;
	padding: 12px;
	text-align: center;
	background: #f7ac3b;
	color: #fff;
	border-radius: 100px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, .3);
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
}

.requirements dl dd .dd_ttl {
	width: 85px;
	background: #f7ac3b;
	color: #fff;
	padding: 15px 0;
}
.ie .requirements dl dd .dd_ttl {
	padding-top: 20px;
}

.requirements dl dd .bg-white {
	padding: 15px;
	background: #fff;
	font-size: 1.5rem;
}

.requirements .min{
	font-size: 1.4rem;
}

.requirements .f-16{
	font-size: 1.6rem;
}
.requirements .f-18{
	font-size: 1.8rem;
}
.requirements .f-20{
	font-size: 2.0rem;
}

.requirements .award_level{
	margin-right: 0;
}

.requirements .prize_wrap + .prize_wrap{
	margin-top: 10px;
}

.requirements .prize{
	font-weight: bold;
	font-size: 3.0rem;
}
.requirements .prize .min{
	font-size: 1.6rem;
}

.requirements .prize_box{
	display: inline-block;
	width: 6em;
	text-align: right;
}

.requirements .ma_to10{
	margin-top: 10px;
}
.requirements .ma_bo05{
	margin-bottom: 5px;
}

.requirements .flex{
	justify-content: flex-start;
}

.requirements .list li{
	padding-left: 1em;
	text-indent: -1em;
}


@media screen and (max-width: 768px) {
	.requirements dl:last-of-type dd::after {
		font-size: 2rem;
	}
}


@media screen and (max-width: 768px){
	.requirements{
		padding-bottom: 40px;
	}

	.requirements .sec_ttl{
		height: 185px;
		background-size: 202px;
		margin-bottom: 30px;
	}

	.requirements dl dt {
		width: 100%;
		margin-right: 0;
		padding: 5px 10px;
		justify-content: center;
		font-size: 1.4rem;
	}
	.requirements dl dd {
		flex: none;
		width: 100%;
		padding: 10px;
	}
	.requirements dl dd a {
		padding: 15px 10px;
		border-radius: 20px;
	}
	.requirements dl dd .dd__ttl {
		width: 100%;
	}
	.requirements dl dd .bg-white {
		flex: none !important;
		width: 100%;
	}

	.requirements .f-20{
		font-size: 1.4rem;
	}

	.requirements .min{
		font-size: 1.0rem;
	}

	.requirements .prize .min{
		font-size: 1.2rem;
	}

	.requirements .prize_box{
		width: 5.2em;
		font-size: 2.7rem;
	}

	.requirements dl dd a{
		padding: 15px 0;
		font-size: 1.4rem;
		border-radius: 15px;
	}

	.requirements dl dd .dd_ttl{
		width: 100%;
		margin-right: 0;
		padding: 5px 10px;
		justify-content: center;
		font-size: 1.4rem;
	}

	.requirements dl dd .bg-white{
		font-size: 1.2rem;
	}
}



/* ------------------------------
	.sponsor
------------------------------ */
.sponsor{
	padding-bottom: 145px;
}

.sponsor .sec_ttl{
	height: 320px;
	margin-bottom: 35px;
	background: url(../img/sponsor_ttl_bg.png) no-repeat center center;
}

.sponsor .txt{
	font-size: 2.9rem;
	font-weight: bold;
}


@media screen and (max-width: 768px){
	.sponsor{
		padding-bottom: 30px;
	}

	.sponsor .sec_ttl{
		height: 156px;
		background-size: 230px;
		margin-bottom: 20px;
	}

	.sponsor .txt{
		font-size: 1.8rem;
	}
}



/* ------------------------------
	.judge
------------------------------ */
.judge{
	padding-bottom: 50px;
}

.judge_box{
	display: flex;
	align-items: center;
	padding: 70px 0;
}
.judge_box + .judge_box{
	border-top: 4px dotted #f08c28;
}

.judge_box .img_box{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 350px;
	margin-right: 40px;
}

.judge_box .txt_box{
	width: 100%;
}

.judge_box .txt_box .ttl{
	margin-bottom: 30px;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
}
.judge_box .txt_box .ttl .min{
	font-size: 2.0rem;
}

.judge_box .txt_box .txt{
	font-size: 1.4rem;
	line-height: 2;
}


@media screen and (max-width: 768px){
	.judge_box{
		flex-direction: column;
		padding: 30px 0;
	}

	.judge_box .txt_box .txt{
		line-height: 1.8;
		font-size: 1.2rem;
	}

	.judge_box .txt_box .ttl_box{
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}

	.judge_box .txt_box .img_box{
		width: 37%;
		max-width: 120px;
		margin: 0;
	}
	.judge_box .txt_box .img{
		width: 100%;
	}
	.judge_box .txt_box .img.min{
		width: 80%;
		margin: 0 auto;
	}

	.judge_box .txt_box .ttl{
		margin: 0 0 0 15px;
		font-size: 2.2rem;
		line-height: 1.3;
	}
	.judge_box .txt_box .ttl .min{
		font-size: 1.4rem;
	}
}



/* ------------------------------
	.faq
------------------------------ */
.faq_wrap{
	padding: 80px 0;
}

.faq .acc_btn{
	justify-content: flex-start;
	font-size: 1.8rem;
	text-align: left;
}

.acc_box .ttl_box{
	display: flex;
	align-items: center;
}

.acc_box .faq_txt_box{
	display: flex;
	align-items: center;
	padding: 15px 15px 15px 0;
}

.faq .acc_box .faq_ico{
	flex-shrink: 0;
	width: 65px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.0rem;
	font-weight: bold;
}

.faq .acc_box .faq_txt_box .faq_ico{
	color: #3cc83c;
}


@media screen and (max-width: 768px){
	.faq_wrap{
		padding: 22px 0;
	}

	.faq .acc_btn{
		justify-content: space-between;
		padding: 5px 5px 5px 10px;
		font-size: 1.4rem;
		line-height: 1.3;
		word-break: break-all;
	}

	.faq .acc_box .faq_ico{
		width: auto;
		height: auto;
		margin-right: 10px;
		font-size: 1.5rem;
	}

	.faq .acc_btn .ico{
		position: relative;
		flex-shrink: 0;
		right: 0;
		margin: 0;
		margin-left: 10px;
	}

	.acc_box .faq_txt_box{
		align-items: flex-start;
		padding: 10px;
	}

	.faq .acc_box .faq_txt_box .faq_ico{
		padding: 5px 0;
	}
}



/* ------------------------------
	.info
------------------------------ */
.info .inner{
	padding: 0 130px;
}

.info_top_box{
	display: flex;
	justify-content: space-between;
	padding: 80px 0;
}

.info_top_box .logo{
	width: 208px;
}

.info .txt{
	font-size: 1.8rem;
}

.info_top_box .tel_wrap{
	display: flex;
	justify-content: space-between;
	padding: 30px 0;
	margin: 20px 0;
	border-top: 4px dotted #f7ac3b;
	border-bottom: 4px dotted #f7ac3b;
}

.info_top_box .tel_txt a{
	padding-left: 38px;
	background: url(../img/tel_ico.png) no-repeat left center;
	background-size: 32px;
	font-size: 4.5rem;
	font-weight: bold;
	line-height: 1;
}
.ie .info_top_box .tel_txt a{
	padding-top: 5px;
	background-position: left top;
}

.info_top_box .tel_box .txt{
	margin-top: 15px;
	font-size: 1.4rem;
}

.info_top_box .mail_btn{
	margin-left: 15px;
}
.info_top_box .mail_btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 40px;
	border-radius: 100px;
	background: #3cc83c;
}
.info_top_box .mail_btn img{
	width: 30px;
}

.info_top_box .txt.min{
	font-size: 1.2rem;
}

.info_btm_box{
	padding: 75px 0;
	border-top: 4px dotted #3cc83c;
}

.info .ttl{
	margin-bottom: 20px;
	line-height: 1.3;
	font-weight: bold;
	font-size: 3.6rem;
	text-align: center;
}

.info_btm_box .btn_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

.info_btn + .info_btn{
	margin-top: 26px;
}

.info_btn{
	width: 100%;
	height: 100px;
}
.info_btn a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #3cc83c;
	border-radius: 10px;
	color: #fff;
	text-align: center;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.3;
}
.info_btn.orange a{
	background: #f7ac3b;
}

.info_btn a .min{
	margin-top: 5px;
	font-size: 1.8rem;
	font-weight: normal;
}

.ie .info_btn a{
	padding-top: 8px;
}

.info_btn.w50{
	width: calc(50% - 13px);
}

.info_sns_box{
	padding-bottom: 80px;
}

.info_sns_box .ttl{
	margin-bottom: 30px;
}

.info_sns_box .sns_box{
	display: flex;
	justify-content: center;
	align-items: center;
}

.info_sns_box .sns_box .ico{
	width: 50px;
}
.info_sns_box .sns_box .ico + .ico{
	margin-left: 65px;
}


@media screen and (max-width: 768px){
	.info .inner{
		padding: 0 5%;
	}

	.info_top_box{
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 30px 0;
	}

	.info_top_box .logo{
		width: 112px;
		margin-bottom: 22px;
	}

	.info .txt{
		text-align: center;
		font-size: 1.4rem;
	}

	.info_top_box .right_box{
		width: 100%;
	}

	.info_top_box .tel_wrap{
		flex-direction: column;
		width: 100%;
		padding: 22px 0;
		margin-bottom: 10px;
	}

	.info_top_box .tel_txt{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.info_top_box .tel_txt a{
		padding-left: 30px;
		font-size: 2.8rem;
		background-size: 23px;
	}

	.info_top_box .tel_box .txt{
		margin-top: 8px;
		font-size: 0.9rem;
	}

	.info_top_box .mail_btn{
		margin: 12px auto 0;
	}
	.info_top_box .mail_btn a{
		width: 135px;
		height: 30px;
		background-size: 22px;
		margin: 0 auto;
	}
	.info_top_box .mail_btn img{
		width: 22px;
	}

	.info_top_box .txt.min{
		text-align: center;
		font-size: 0.9rem;
	}

	.info .ttl{
		margin-bottom: 15px;
		font-size: 2.6rem;
	}

	.info_btm_box .btn_wrap{
		margin-top: 15px;
	}

	.info_btm_box{
		padding: 25px 0 20px;
	}

	.info_btn + .info_btn{
		margin-top: 10px;
	}

	.info_btn{
		height: 50px;
	}
	.info_btn a{
		border-radius: 5px;
		font-size: 1.4rem;
	}
	.info_btn a .min{
		font-size: 1.2rem;
	}

	.info_btn.w50{
		width: calc(50% - 5px);
	}

	.info_sns_box{
		padding: 25px 0 30px;
		border-top: 4px dotted #3cc83c;
	}

	.info_sns_box .ttl{
		margin-bottom: 20px;
	}

	.info_sns_box .sns_box .ico + .ico{
		margin-left: 50px;
	}
}