@charset "utf-8";

.area {
position: relative;
padding: 90px 0;
}
.area a {
color: #363636;
}
.inner {
max-width: 940px;
margin: 0 auto;
padding: 0 10px;
}
.inner img {
max-width: 100%;
}
.bar {
position: relative;
font-size: 170%;
text-align: center;
padding: 0 0 20px;
margin-bottom: 40px;
font-weight: bold;
}
.bar::before {
content: "";
display: inline-block;
position: absolute;
left: 50%;
bottom: 0;
width: 70px;
height: 3px;
transform: translateX(-50%);
background: #363636;
}
.tc {
text-align: center!important;
}
.pc {
display: block;
}
.sp {
display: none;
}
.yellow {
color: #ffde00;
}
.btn_box {
display: flex;
flex-flow: column;
align-items: center;
justify-content: center;
}
.btn_box a:not(:last-child) {
margin: 0 0 20px;
}
.btn01 {
max-width: 500px;
height: 80px;
border-radius: 50px;
color: #fff!important;
margin: 0 auto;
background: #363636;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
font-size: 130%;
width: 100%;
}
.btn02 {
max-width: 360px;
height: 60px;
border-radius: 50px;
color: #363636!important;
margin: 0 auto;
background: #ffde00;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
font-size: 110%;
width: 100%;
}
@media only screen and (max-width: 767px){
	.area {
	font-size: 90%;
	padding: 40px 0;
	}
	.pc {
	display: none;
	}
	.sp {
	display: block;
	}
	.bar {
	font-size: 150%;
	}
	.btn01 {
	max-width: 500px;
	height: 50px;
	font-size: 100%;
	}
	.btn02 {
	max-width: 360px;
	height: 50px;
	font-size: 100%;
	}
}
#main {
font-size: 18px;
line-height: 1.6;
}

/* visual */
#visual {
background: url("../img/visual_bg.png")no-repeat center/cover;
}
#visual.area {
padding: 0;
}
#visual .inner {
padding: 50px 0;
max-width: 1400px;
}
#visual img {
width: 100%;
}
@media only screen and (max-width: 767px){
	#visual .inner {
	padding: 0;
	}
}
/* area00 */
#area00 {
background: #363636;
color: #fff;
}
#area00.area {
padding: 30px 0 50px 0;
}
#area00 .inner {
position: relative;
}
/* area01 */
#area01 {
background: none;
}
#area01.area {
padding: 50px 0 120px;
}
#area01 .inner {
position: relative;
}
#area01 .ttl {
background: #363636;
width: 200px;
height: 60px;
border-radius: 50px;
font-size: 160%;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
position: absolute;
top: -80px;
right: 50%;
transform: translate(50%,0);
}
#area01 .schedule {
color: #363636;
font-weight: 700;
font-size: 230%;
text-align: center;
margin: 0 0 40px;
}
#area01 .schedule span {
font-size: 170%;
}
#area01 dl {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: flex-start;
font-weight: 700;
line-height: 1.2;
}
#area01 dl:not(:last-child) {
margin: 0 0 20px;
}
#area01 dl dt {
min-width: 140px;
height: 140px;
background: #363636;
margin: 0 20px 0 0;
color: #ffde00;
text-align: center;
font-size: 160%;
display: flex;
justify-content: center;
align-items: center;
}
#area01 dl dt span.small {
font-size: 60%;
}
#area01 dl dd {
background: #ffde00;
height: 140px;
width: 100%;
color: #222222;
padding: 0 30px;
display: flex;
justify-content: flex-start;
align-items: center;
font-size: 140%;
}
#area01 dl:first-child dd {
font-size: 190%;
}
@media only screen and (max-width: 767px){
	#area01.area {
	padding: 40px 0 60px;
	}
	#area01 .ttl {
	width: 200px;
	height: 40px;
	font-size: 130%;
	font-weight: 700;
	top: -60px;
	}
	#area01 .schedule {
	font-size: 110%;
	margin: 0 0 30px;
	}
	#area01 .schedule span {
	}
	#area01 dl {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	}
	#area01 dl:not(:last-child) {
	margin: 0 0 20px;
	}
	#area01 dl dt {
	min-width: 100%;
	height: 100%;
	margin: 0 0 10px;
	font-size: 110%;
	padding: 5px;
	}
	#area01 dl dt span.small {
	font-size: 60%;
	}
	#area01 dl dd {
	height: 70px;
	padding: 0 20px;
	font-size: 90%;
	}
	#area01 dl:first-child dd {
	font-size: 100%;
	}
}

/* area02 */
#area02 {
background: #f2f2f2;
}
#area02.area {
padding: 50px 0;
}
#area02 .ttl {
text-align: center;
font-size: 160%;
margin-bottom: 10px;
}
#area02 .ttl span {
border-bottom: 1px solid #1d1d1d;
}
@media only screen and (max-width: 767px){
	#area02.area {
	padding: 40px 0;
	}
	#area02 .ttl {
	font-size: 150%;
	}
}
/* area03 */
#area03 {
background: url("../img/bg.jpg")no-repeat center/cover;
}
#area03 .box {
border: 5px solid #363636;
background: rgba(255,255,255,0.7);
padding: 80px 100px 100px;
text-align: center;
}
#area03 .txt {
font-size: 110%;
line-height: 2;
}
#area03 .txt:first-child {
margin: 0 0 40px;
border-bottom: 2px solid #1d1d1d;
padding: 0 0 50px;
}
#area03 .ttl {
font-weight: 700;
}
@media only screen and (max-width: 767px){
	#area03 .box {
	padding: 30px 20px;
	}
	#area03 .txt {
	font-size: 90%;
	}
	#area03 .txt:first-child {
	margin: 0 0 30px;
	padding: 0 0 30px;
	}
}

/* area04 * /
#area04 {
background: url("../img/area04_bg.png")no-repeat center/cover;
}
#area04 .top_txt {
text-align: center;
font-size: 110%;
margin: 0 0 30px;
}
#area04 ul {
display: flex;
flex-flow: row nowrap;
align-items: flex-start;
justify-content: center;
margin: 0 0 30px;
}
#area04 ul li {
width: 100%;
max-width: 800px;
background: #fff;
border: 5px solid #363636;
border-radius: 10px;
padding: 40px 30px;
position: relative;
text-align: center;
}
#area04 ul li .num {
position: absolute;
right: 50%;
top: -80px;
transform: translate(50%,0);
}
#area04 ul li .num img {
max-width: 88px;
}
#area04 ul li .icon {
text-align: center;
margin: 0 0 30px;
}
#area04 ul li .icon img {
width: 100%;
max-width: 681px;
}
#area04 ul li .caution {
font-size: 80%;
}
@media only screen and (max-width: 767px){
	#area04 .top_txt {
	font-size: 90%;
	margin: 0 0 20px;
	}
	#area04 ul {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	margin: 0 0 30px;
	}
	#area04 ul li {
	width: 100%;
	padding: 30px 20px;
	height: inherit;
	}
	#area04 ul li:not(:last-child) {
	margin: 0 0 50px;
	}
	#area04 ul li .num {
	top: -45px;
	}
	#area04 ul li .num img {
	max-width: 70px;
	}
	#area04 ul li .icon {
	margin: 0 0 20px;
	}
	#area04 ul li .icon img {
	}
	#area04 ul li .txt {
	font-size: 90%;
	}
}
*/
/* area04 */
#area04 {
background: #FFDE00;
background: url("../img/area04_bg.png")no-repeat center/cover;
}
#area04 .top_txt {
text-align: center;
font-size: 110%;
margin: 0 0 100px;
}
#area04 ul {
display: flex;
flex-flow: row nowrap;
align-items: flex-start;
justify-content: space-between;
margin: 0 0 30px;
}
#area04 ul li {
width: 30%;
background: #fff;
border: 5px solid #363636;
border-radius: 10px;
padding: 40px 30px;
position: relative;
text-align: center;
height: 368px;
}
#area04 ul li .num {
position: absolute;
right: 50%;
top: -80px;
transform: translate(50%,0);
}
#area04 ul li .num img {
max-width: 88px;
}
#area04 ul li .icon {
text-align: center;
margin: 0 0 30px;
}
#area04 ul li .icon img {
max-width: 181px;
}
#area04 ul li .caution {
font-size: 80%;
}
@media only screen and (max-width: 767px){
	#area04 .top_txt {
	font-size: 90%;
	margin: 0 0 70px;
	}
	#area04 ul {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	margin: 0 0 30px;
	}
	#area04 ul li {
	width: 100%;
	padding: 30px 20px;
	height: inherit;
	}
	#area04 ul li:not(:last-child) {
	margin: 0 0 50px;
	}
	#area04 ul li .num {
	top: -45px;
	}
	#area04 ul li .num img {
	max-width: 70px;
	}
	#area04 ul li .icon {
	margin: 0 0 20px;
	}
	#area04 ul li .icon img {
	max-width: 150px;
	}
	#area04 ul li .txt {
	font-size: 90%;
	}
}
/* area05 * /
#area05 {
background: url("../img/area05_bg.png")repeat-y center/contain;
}
#area05 .top_txt {
text-align: center;
line-height: 2;
font-size: 110%;
margin: 0 0 80px;
}
#area05 ul li {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: space-between;
background: #fff;
box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
}
#area05 ul li:not(:last-child) {
margin: 0 0 80px;
}
#area05 ul li .info {
width: 48%;
padding: 20px 40px;
}
#area05 ul li .info .ttl {
text-align: center;
line-height: 1.6;
position: relative;
font-weight: 700;
margin: 0 0 20px;
}
#area05 ul li .info .ttl::before,#area05 ul li .info .ttl::after {
position: absolute;
display: block;
content: "";
width: 35px;
height: 55px;
top: 50%;
transform: translate(0,-50%);
}
#area05 ul li .info .ttl::before {
background: url("../img/ttl_icon.png")no-repeat center/35px 55px;
left: 0;
}
#area05 ul li .info .ttl::after {
background: url("../img/ttl_icon.png")no-repeat center/35px 55px;
right: 0;
transform: translate(0,-50%) scale(1,-1);
}
#area05 ul li .info .img {
margin: 0 0 20px;
}
#area05 ul li .info .txt {
margin: 0 0 30px;
}
#area05 ul li .info .txt span {
font-weight: 700;
}
#area05 .btn01 {
max-width: 360px;
height: 60px;
font-size: 110%;
color: #ffde00!important;
}
#area05 ul li .pdf {
width: 52%;
border: 5px solid #363636;
}
#area05 ul li .pdf a {
position: relative;
display: block;
}
#area05 ul li .pdf a:not(:last-child) {
border-bottom: 5px solid #363636;
}
#area05 ul li .pdf a .btn02 {
position: absolute;
bottom: 50px;
right: 50%;
transform: translate(50%,0);
}
#area05 .com {
font-size: 80%;
margin: 10px 0 0;
}
@media only screen and (max-width: 767px){
	#area05 .top_txt {
	font-size: 90%;
	margin: 0 0 30px;
	}
	#area05 ul li {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	}
	#area05 ul li:not(:last-child) {
	margin: 0 0 30px;
	}
	#area05 ul li .info {
	width: 100%;
	padding: 30px;
	}
	#area05 ul li .info > * {
	max-width: 400px;
	margin-left: auto!important;
	margin-right: auto!important;
	}
	#area05 ul li .info .ttl {
	font-size: 90%;
	}
	#area05 ul li .info .ttl::before,#area05 ul li .info .ttl::after {
	width: 21px;
	height: 34px;
	}
	#area05 ul li .info .ttl::before {
	background: url("../img/ttl_icon.png")no-repeat center/21px 34px;
	}
	#area05 ul li .info .ttl::after {
	background: url("../img/ttl_icon.png")no-repeat center/21px 34px;
	}
	#area05 ul li .info .img {
	margin: 0 0 10px;
	}
	#area05 ul li .info .txt {
	font-size: 100%;
	margin: 0 0 20px;
	}
	#area05 .btn01 {
	max-width: 360px;
	height: 50px;
	}
	#area05 ul li .pdf {
	width: 100%;
	}
	#area05 ul li .pdf img {
	width: 100%;
	}
	#area05 ul li .pdf a:not(:last-child) {
	}
	#area05 ul li .pdf a .btn02 {
	bottom: 20px;
	right: 50%;
	transform: translate(50%,0);
	width: 90%;
	}
}
*/
#area05.area {
padding: 90px 0;
}
#area05 .top_txt {
text-align: center;
}
.howto_box {
margin-bottom: 20px;
padding-top: 30px;
}
.howto_box .image {
text-align: center;
padding: 0 20px 20px;
}
.howto_box .image img {
max-width: 700px;
width: 100%;
}
.howto_box .txt {
padding: 20px;
font-size: 100%;
}
.howto_box .txt b {
display: block;
text-align: center;
font-size: 120%;
font-weight: bold;
margin-bottom: 20px;
}
.howto_btn > span {
max-width: 500px;
height: 80px;
border-radius: 50px;
color: #363636!important;
margin: 0 auto;
background: #FFDE00;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
font-size: 130%;
width: 100%;
padding: 0px 30px;
text-decoration: none;
cursor: pointer;
/*transform: translate(0,-50%);*/
}
.howto_title {
max-width: 500px;
height: 80px;
border-radius: 50px;
color: #363636!important;
margin: 0 auto;
background: #FFDE00;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
font-size: 130%;
width: 100%;
padding: 0px 30px;
text-decoration: none;
cursor: pointer;
transform: translate(0,-50%);
}
.howto_title br {
display: none;
}
.howto_box .accordion-contents {
padding: 30px 0 0 0;
display: none;
}
.howto_box_in {
border: 5px solid #FFDE00;
padding: 0 0 50px;
}
.howto_box .accordion-btn {
transition: .3s;
}
.howto_box .accordion-btn br {
display: none;
}
.howto_box .accordion-btn.active {
transform: translate(0,-50%);
}
.video {
width:100%;
padding-bottom: 56.25%;
height:0px;
position: relative;
margin: 50px 0;
}
.video iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
    @media screen and (max-width: 600px) {
    .howto_box .title {
    margin: 0 auto;
    }
    .howto_title,
    .howto_box .accordion-btn > * {
    max-width: 300px;
    }
    .howto_title br,
    .howto_box .accordion-btn br {
    display: block;
    }
    .howto_box .image {
    text-align: center;
    padding: 0 10px 5px;
    }
    }
.accordion-btn {
text-align: center;
cursor: pointer;
}
.accordion-btn > * {
max-width: 400px;
width: 100%;
}
.accordion-btn > * > * {
width: 100%;
}
.accordion-btn .closebtn {
background-color: #363636;
color: #fff!important;
}
.accordion-btn .closebtn,
.accordion-btn.active .openbtn {
display: none;
}
.accordion-btn.active .closebtn,
.accordion-btn .openbtn {
display: flex;
}
/* outline */
#outline {
background: #F2F2F2;
}
#outline .box {
border: 5px solid #363636;
padding: 50px;
background: #fff;
}
.outlinelist .tit {
position: relative;
margin-bottom: 1em;
padding-bottom: 1em;
font-weight: bold;
}
.outlinelist .tit:before {
content: "";
position: absolute;
display: inline-block;
left: 0;
bottom: 0;
width: 50px;
height: 2px;
background: #363636;
}
.outlinelist .txt {
margin-bottom: 2em;
}
.outline_btn > span {
max-width: 500px;
height: 80px;
border-radius: 50px;
color: #fff!important;
margin: 0 auto;
background: #363636;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
font-size: 130%;
width: 100%;
padding: 0px 30px;
text-decoration: none;
cursor: pointer;
}
.outline_btn > span.closebtn {
transform: translate(0,-50%);
}
#footer {
margin: 0;
}
@media only screen and (max-width: 767px){
	#outline .box {
	padding: 30px;
	}
}

/* contact */
#contact {
background: #F2F2F2;
}
#contact.area {
padding: 0 0 90px;
}
#contact .box {
border: 5px solid #363636;
background: #fff;
padding: 50px;
line-height: 1.6;
}
#contact .box .ttl {
font-weight: 700;
}
#contact .box a {
text-decoration: underline;
}
#contact .box .caution {
margin: 20px 0 0;
}
@media only screen and (max-width: 767px){
	#contact.area {
	padding: 0 0 40px;
	}
	#contact .box {
	padding: 30px;
	}
}
