@charset "UTF-8";

/* ------------------------------------------- CSS Information 
 Style Info:     ブラウザスタイルのリセット設定
----------------------------------------------------------- */  
html{overflow-y:scroll;} 
body,div,blockquote,pre,h1,h2,h3,h4,h5,h6,dl,dt,dd,ul,ol,li,table,th,td,form,input,textarea,fieldset{margin: 0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}   
img,abbr,acronym,fieldset{border:none;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
hr,legend{display:none;}
object,embed{vertical-align:top;}
li{list-style:none;}

/* ------------------------------------------- CSS Information 
 Style Info:     基本設定
----------------------------------------------------------- */
/*A Style*/  
a:link{text-decoration: underline;color: #666666;}
a:visited{text-decoration: none;color: #66666;}
a:hover{text-decoration: underline;color: #999999;}
a:active{text-decoration: none;color: #66666;}
/*font*/
.b{font-weight:bold;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:20px;line-height:30px;}@media only screen and (max-width:750px){.big{font-size:16px;line-height:24px;}}
.small{font-size:12px;line-height:20px;}
.red{color:#b7282e;}
/*----- image -----*/
.img960{width:100%;max-width:960px;margin:0 auto;}
.img920{width:100%;max-width:920px;margin:0 auto;}
.img840{width:100%;max-width:840px;margin:0 auto;}
.img750{width:100%;max-width:750px;margin:0 auto;}
.img670{width:100%;max-width:670px;margin:0 auto;}
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

/* ------------------------------------------- CSS Information 
 Style Info: body
----------------------------------------------------------- */
body{  
font-family:"メイリオ",Osaka,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",Arial,Sans-Serif;
color:#333333;
font-size:16px;
line-height:0;
text-align:center;
background:#ffffff;
letter-spacing:0em;
overflow:hidden;
min-width:320px;
}

/* ------------------------------------------- CSS Information 
 Style Info: header
----------------------------------------------------------- */
/*----- header -----*/
#header01{
width:100%;
margin:0;
padding:0;
text-align:center;
background:#004d25;
position:relative;
}
#header02{
width:100%;
margin:0;
padding:0;
text-align:center;
background:url(../img/header02_bg.png) no-repeat center top;
background-size:cover;
position:relative;
}
#header03{
width:100%;
margin:0;
padding:0;
text-align:center;
background:#fdd835;
position:relative;
}
@media only screen and (max-width:750px){}

/* ------------------------------------------- CSS Information 
 Style Info: 共通設定
----------------------------------------------------------- */
/* -- contents -- */
.contents{
width:100%;
margin:0;
padding:80px 0 40px 0;
position:relative;
}
.contents_box{
width:100%;
max-width:960px;
margin:0 auto;
padding:40px 0;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.contents{padding:40px 0 40px 0;}
.contents_box{padding:20px 0 0 0;}
}

/* -- title -- */
.title{
width:100%;
margin:0;
padding:0;
text-align:center;
}
.title.scrollin:after{
content:"";
display:block;
margin:40px auto 0 auto;
padding:0;
width:0;
max-width:240px;
height:10px;
background:#268300;
animation:title_hr 1s linear 1s both;
-webkit-animation:title_hr 1s linear 1s both;
}
@keyframes title_hr{0%{width:0%;}100%{width:100%;}}
@-webkit-keyframes title_hr{0%{width:0%;}100%{width:100%;}}
@media only screen and (max-width:750px){
.title{}
.title.scrollin:after{
margin:20px auto 0 auto;
max-width:120px;
height:5px;
}
}

/* -- text -- */
.text{
width:100%;
max-width:960px;
margin:0 auto;
padding:30px 20px 0 20px;
font-size:16px;
line-height:30px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0;padding:0 0 30px 0;}

/* -- ul -- */
.text ul{margin:0 0 30px 0;}
.text ul li{font-weight:bold;}

/* -- ol -- */
.text ol{
margin:0 0 30px 0;
}
.text ol li.list_01{
margin:0;
padding:10px 0 10px 30px;
background:url(../img/list_01.png) no-repeat top left;
background-size:20px 40px;
font-weight:bold;
line-height:20px;
}
.text ol li.list_02{
margin:0;
padding:10px 0 10px 30px;
background:url(../img/list_02.png) no-repeat top left;
background-size:20px 40px;
font-weight:bold;
line-height:20px;
}

@media only screen and (max-width:750px){
.text{
padding:20px 20px 0 20px;
font-size:14px;
line-height:24px;
}
.text p{padding:0 0 20px 0;}
.text br{display:none;}

/* -- ul -- */
.text ul{margin:0 0 20px 0;}
.text ul li{}

/* -- ol -- */
.text ol{margin:0 0 20px 0;}
.text ol li.list_01{}
.text ol li.list_02{}
}

/* -- img -- */
.img01{width:100%;max-width:600px;box-shadow:2px 2px 4px 0px rgba(0,0,0,0.2);}
.img02{width:100%;max-width:600px;box-shadow:2px 2px 4px 0px rgba(0,0,0,0.2);}
.img03{width:100%;max-width:600px;box-shadow:2px 2px 4px 0px rgba(0,0,0,0.2);}
.img04{width:100%;max-width:600px;box-shadow:2px 2px 4px 0px rgba(0,0,0,0.2);}
.img05{width:100%;max-width:600px;box-shadow:2px 2px 4px 0px rgba(0,0,0,0.2);}

/* -- contents01 -- */
#contents01{background:#ffffff;}
.contents01_ul{
padding:20px;
background:#f3f3f3;
}
.contents01_ul li{
margin:0;
padding:10px 0 10px 30px;
background:url(../img/list_check.png) no-repeat top left;
background-size:20px 40px;
border-bottom:1px dashed #9fc24d;
font-weight:bold;
line-height:20px;
}
/* -- contents02 -- */
#contents02{background:#f6f6f6;}
/* -- contents03 -- */
#contents03{background:#ffffff;}
/* -- contents04 -- */
#contents04{background:#f6f6f6;}
/* -- contents05 -- */
#contents05{background:#ffffff;}
/* -- contents06 -- */
#contents06{background:#f6f6f6;}
/* -- contents07 -- */
#contents07{background:#ffffff;}
/* -- contents08 -- */
#contents08{background:#f6f6f6;}
/* -- contents09 -- */
#contents09{background:#ffffff;}
/* -- contents10 -- */
#contents10{background:#f6f6f6;}
/* -- contents11 -- */
#contents11{background:#ffffff;}
/* -- contents12 -- */
#contents12{background:#f6f6f6;}
.contents12_ul{
padding:20px;
background:#ffffff;
}
.contents12_ul li{
margin:0;
padding:10px 0 10px 30px;
background:url(../img/list_check.png) no-repeat top left;
background-size:20px 40px;
border-bottom:1px dashed #9fc24d;
font-weight:bold;
line-height:20px;
}
/* -- contents13 -- */
#contents13{background:#f6f6f6;}

/* ------------------------------------------- CSS Information 
 Style Info: MERIT
----------------------------------------------------------- */
#merit{}
#merit dl{
width:100%;
max-width:960px;
margin:20px auto;
padding:0 20px;
box-sizing:border-box;
}
#merit dt{
font-size:16px;
line-height:30px;
text-align:justify;
font-weight:bold;
margin:0;
padding:20px;
background:#f3f3f3;
border-bottom:1px solid #9fc24d;
}
.merit_dt{
display:inline-block;
margin:0 10px 0 0;
padding:5px;
width:80px;
height:30px;
background:#b8d200;
color:#535353;
font-size:12px;
line-height:20px;
text-align:center;
border-radius:6px;
box-sizing:border-box;
vertical-align:top;
}
#merit dd{
font-size:14px;
line-height:24px;
text-align:justify;
margin:0 0 30px 0;
padding:20px;
background:#f3f3f3;
}
#merit dd:last-child{margin:0;}
#merit dd p{margin:0;padding:0 0 20px 0;}
#merit dd p:last-child{padding:0;}
@media only screen and (max-width:750px){
#merit{}
#merit dl{}
#merit dt{
padding:20px;
font-size:14px;
line-height:24px;
text-align:center;
}
.merit_dt{
display:block;
margin:0 0 16px 0;
padding:5px;
width:100%;
height:30px;
font-size:12px;
line-height:20px;
text-align:center;
border-radius:6px;
box-sizing:border-box;
vertical-align:top;
}
#merit dd{margin:0 0 20px 0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: PROGRAM
----------------------------------------------------------- */
#program{}
#program dl{
width:100%;
max-width:960px;
margin:20px auto;
padding:0 20px;
box-sizing:border-box;
}
#program dt{
margin:0;
padding:0;
text-align:left;
background:url(../img/program_dt_pc.png) no-repeat bottom left;
background-size:cover;
border-bottom:1px solid #9fc24d;
}
#program dd{
font-size:16px;
line-height:30px;
text-align:left;
margin:0 0 30px 0;
padding:40px 40px 10px 40px;
background:#ffffff;
}
#program dd:last-child{margin:0;}
#program dd p{margin:0;padding:0 0 30px 0;}
#program dd ol{margin:0 0 30px 0;}
#program dd li.list_01{
margin:0;
padding:5px 0 5px 30px;
background:url(../img/list_01.png) no-repeat top left;
background-size:20px 40px;
font-weight:bold;
line-height:30px;
}
#program dd li.list_02{
margin:0;
padding:5px 0 5px 30px;
background:url(../img/list_02.png) no-repeat top left;
background-size:20px 40px;
font-weight:bold;
line-height:30px;
}
@media only screen and (max-width:750px){
#program{}
#program dl{}
#program dt{
background:url(../img/program_dt_sp.png) no-repeat bottom left;
background-size:cover;
}
#program dt .img670{margin:0 auto 0 0;}
#program dd{
margin:0 0 20px 0;
padding:20px 20px 0 20px;
font-size:14px;
line-height:24px;
}
#program dd p{padding:0 0 20px 0;}
#program dd br{display:none;}
#program dd ol{margin:0 0 20px 0;}
#program dd li.list_01{
margin:0;
padding:10px 0 10px 30px;
background:url(../img/list_01.png) no-repeat top left;
background-size:20px 40px;
font-weight:bold;
line-height:20px;
}
#program dd li.list_02{
margin:0;
padding:10px 0 10px 30px;
background:url(../img/list_02.png) no-repeat top left;
background-size:20px 40px;
font-weight:bold;
line-height:20px;
}
}

/* ------------------------------------------- CSS Information 
 Style Info: PRESENT
----------------------------------------------------------- */
#present{}
#present dl{
width:100%;
max-width:960px;
margin:20px auto;
padding:0 20px;
box-sizing:border-box;
}
#present dt{
margin:0;
padding:0;
text-align:left;
background:#edf5e1;
border-bottom:1px solid #9fc24d;
}
#present dd{
font-size:16px;
line-height:30px;
text-align:left;
margin:0 0 30px 0;
padding:40px;
background:#edf5e1;
overflow-y:auto;
}
#present dd:last-child{margin:0;}
#present dd p{margin:0;padding:0 0 30px 0;}
#present dd p:last-child{margin:0;padding:0;}
#present dd ul{margin:0 0 30px 0;}
#present dd ul li{
margin:0;
padding:10px 0 10px 30px;
background:url(../img/list_check.png) no-repeat top left;
background-size:20px 40px;
font-weight:bold;
line-height:20px;
}
.present_img{
display:block;
float:right;
width:210px;
padding:0 0 0 30px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#present{}
#present dl{}
#present dt{}
#present dt .img670{margin:0 auto 0 0;}
#present dd{
margin:0 0 20px 0;
padding:20px;
font-size:14px;
line-height:24px;
}
#present dd p{padding:0 0 20px 0;}
#present dd br{display:none;}
#present dd ul{margin:0 0 20px 0;}
#present dd ul li{}
.present_img{
width:50%;
max-width:210px;
float:none;
margin:0 auto;
padding:0 0 20px 0;
}
}

/* ------------------------------------------- CSS Information 
 Style Info: FAQ
----------------------------------------------------------- */
#faq{background:#ffffff;}
#faq dl{
width:100%;
max-width:960px;
margin:40px auto 0 auto;
padding:0 20px;
box-sizing:border-box;
}
#faq dt{
font-size:16px;
line-height:30px;
text-align:justify;
margin:0;
padding:20px 20px 20px 70px;
background:#f3f3f3 url(../img/faq_q.png) no-repeat 20px 20px;
background-size:30px 30px;
border-bottom:1px solid #9fc24d;
}
#faq dd{
font-size:14px;
line-height:24px;
text-align:justify;
margin:0 0 30px 0;
padding:20px 20px 20px 70px;
background:#f3f3f3 url(../img/faq_a.png) no-repeat 20px 20px;
background-size:30px 30px;
z-index:2;
}
#faq dd:last-child{margin:0;}
#faq dd p{
margin:0;
padding:0 0 20px 0;
}
#faq dd p:last-child{padding:0;}
@media only screen and (max-width:750px){
#faq{}
#faq dl{
margin:20px 0 0 0;
padding:0 20px;
}
#faq dt{
font-size:14px;
line-height:24px;
padding:20px 20px 20px 40px;
background:#f3f3f3 url(../img/faq_q.png) no-repeat 10px 20px;
background-size:24px 24px;
}
#faq dd{
font-size:14px;
line-height:24px;
text-align:justify;
margin:0 0 20px 0;
padding:20px 20px 20px 40px;
background:#f3f3f3 url(../img/faq_a.png) no-repeat 10px 20px;
background-size:24px 24px;
}
#faq dd:last-child{margin:0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: PS
----------------------------------------------------------- */
#ps{background:#f6f6f6;}
.sign{
display:block;
margin:20px 0 0 auto;
}
@media only screen and (max-width:750px){
.sign{
display:block;
margin:10px 0 0 auto;
width:100px;
height:24px;
}
}

/* ------------------------------------------- CSS Information 
 Style Info: VOICE
----------------------------------------------------------- */
#contents_voice01{background:#ffffff;}
#contents_voice02{background:#ffffff;}

/* -- comment -- */
.comment{
width:100%;
max-width:960px;
margin:0 auto;
padding:40px 20px;
box-sizing:border-box;
}
.comment_attention{
margin:0;
padding:0 0 10px 0;
font-size:12px;
line-height:20px;
text-align:right;
color:#666666;
}
.comment_wrapper{
width:100%;
height:600px;
margin:0;
padding:20px;
box-sizing:border-box;
border:1px solid #a0a0a0;
background:#f6f6f6;
overflow-y:scroll;
}
.comment_box{
display:block;
width:100%;
margin:0 0 20px 0;
padding:20px;
font-size:14px;
line-height:20px;
text-align:justify;
background:#ffffff;
border:1px solid #eeeeee;
box-sizing:border-box;
}
.comment_wrapper .comment_box:last-child{margin:0;}
.comment_info{
width:100%;
margin:0;
padding:0 0 20px 0;
box-sizing:border-box;
display:-webkit-box;
display:flex;
-webkit-box-align:stretch;
align-items:stretch;
border-bottom:1px dotted #cccccc;
}
.comment_img{
width:60px;
height:60px;
margin:0;
padding:0 10px 0 0;
}
.comment_img img{width:100%;}
.comment_header{
-webkit-flex:1;
flex:1;
align-self:center;
font-size:14px;
line-height:20px;
font-weight:bold;
text-align:left;
}
.comment_name{
display:block;
font-weight:normal;
font-size:12px;
line-height:20px;
}
.comment_text{
display:block;
width:100%;
margin:0;
padding:20px 0 0 0;
font-size:14px;
line-height:24px;
text-align:justify;
box-sizing:border-box;
position:relative;
}
.comment_text p{margin:0;padding:0 0 20px 0;}
.comment_text ul li{
margin:0;
padding:0;
list-style:inside square;
}
.comment_date{
width:100%;
margin:0;
padding:20px 0 0 0;
text-align:center;
}
.comment_date img{
display:block;
width:100%;
max-width:600px;
margin:0 auto;
padding:0 0 20px 0;
}
.more{
position:relative;
width:100%;
max-height:50px;
overflow:hidden;
transition:1s;
}
.more::before {/*グラデーション部分*/
content:"";
position:absolute;
width:100%;
height:100%;
bottom:0;
background:linear-gradient(rgba(255,255,255,0.5), #ffffff);
transition: 1s;
}
.comment_textbox input{display:none;}
.comment_textbox label{/*ボタン部分のスタイル*/
display:block;
position:absolute;
width:180px;
height:30px;
margin:0 auto;
padding:5px 0;
bottom:0;
left:0;
right:0;
font-size:12px;
line-height:20px;
text-align:center;
color:#ffffff;
background:#578a3d;
border-radius:15px;
cursor:pointer;
text-transform: uppercase;
z-index:999;
box-sizing:border-box;
}
.comment_textbox label:hover{background:#b8d200;}
.comment_textbox label:before{content:"続きを読む";}
.comment_textbox input:checked + label{display:none;}
input[type=checkbox]:checked ~ .more{max-height:100%;}
input[type=checkbox]:checked ~ .more:before{opacity:0;}
@media only screen and (max-width:750px){
.comment{padding:20px;}
.comment_wrapper{padding:10px;}
.comment_box{
margin:0 0 10px 0;
padding:10px;
font-size:14px;
line-height:20px;
}
.comment_wrapper .comment_box:last-child{margin:0;}
.comment_info{padding:0 0 10px 0;}
.comment_img{
width:40px;
height:40px;
padding:0 10px 0 0;
}
.comment_img img{width:100%;}
.comment_header{font-size:13px;}
.comment_name{font-size:11px;}
.comment_text{
padding:10px 0 0 0;
font-size:12px;
line-height:20px;
}
.comment_text ul li{
margin:0;
padding:0;
list-style:inside square;
}
}

/* ------------------------------------------- CSS Information 
 Style Info: MOVIE
----------------------------------------------------------- */
.movie{
margin:20px auto 40px auto;
padding:0;
width:100%;
position:relative;
box-sizing:border-box;
}
.movie_box{
position:relative;
width:100%;
max-width:840px;
max-height:473px;
margin:0 auto; 
padding-top:56.25%;
}
.movie_box iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
max-width:840px;
max-height:473px;
border:5px solid #535353;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.movie{}
.movie_box{}
.movie_box iframe{border:2px solid #535353;}
}




/* ------------------------------------------- CSS Information 
 Style Info: cta
----------------------------------------------------------- */
.cta{
width:100%;
margin:0;
padding:0 0 40px 0;
text-align:center;
color:#ffffff;
background:#7ba645;
}
.cta01{background:#004d25;}
.cta02{}
.cta03{background:#fdd835;}
.cta_btn{
width:100%;
max-width:710px;
margin:0 auto 20px auto;
padding:0 20px;
box-sizing:border-box;
}
.cta_btn img{width:100%;}
.attention{
width:100%;
max-width:710px;
margin:0 auto;
padding:0 20px 20px 20px;
box-sizing:border-box;
}
.attention ul{
list-style:none;
font-size:14px;
line-height:20px;
text-align:left;
}
@media only screen and (max-width:750px){
.cta{padding:0 0 20px 0;}
.attention{padding:0 20px;}
.attention ul{
font-size:12px;
text-align:justify;
}
}
/*----- ボタンアニメーション -----*/
.reflection_box{
margin:0 auto;
width:100%;
max-width:670px;
height:100%;
position:relative;
overflow:hidden;
box-sizing:border-box;
border-radius:10px;
border:2px solid #b7282e;
}
.reflection{
width:30px;
height:100%;
position:absolute;
top:-180px;
left:0;
background-color:rgba(255,255,255,0.8);
opacity:0;
transform:rotate(45deg);
animation:reflection 3s ease-in-out infinite;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 4s ease-in-out infinite;
-moz-transform: rotate(45deg);
-moz-animation: reflection 4s ease-in-out infinite;
-ms-transform: rotate(45deg);
-ms-animation: reflection 4s ease-in-out infinite;
-o-transform: rotate(45deg);
-o-animation: reflection 4s ease-in-out infinite;
}
@keyframes reflection {
0%{ transform: scale(0) rotate(45deg); opacity: 0; }
80%{ transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ transform: scale(4) rotate(45deg); opacity: 1; }
100%{ transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
0%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100%{ -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

/* ------------------------------------------- CSS Information 
 Style Info:     フッター設定
----------------------------------------------------------- */
footer{
margin:0;
padding:40px 0;
width:100%;
background:#333333;
color:#ffffff;
}
#fnav a{color:#ffffff;text-decoration:none;}
#fnav a:hover{color:#ffffff;text-decoration:underline;}
#fnav{margin:0 0 20px 0;}
#fnav ul{list-style-type:none;}
#fnav li{
font-size:12px;
line-height:20px;
display:inline-block;
padding:0 20px;
border-right:1px solid #cccccc;
}
#fnav li:last-child{border-right:none;}
address{
text-align:center;
font-size:12px;
line-height:20px;
padding:0;
}
@media only screen and (max-width:767px){
#fnav{margin:0 0 40px 0;}
#fnav li{
display:block;
border-right:0;
margin:0 0 20px 0;
}
.sp_no{display:none;}
}

/* --------------------------------- CSS Information 
 Style Info: fadein
------------------------------------------------- */
.fadein{
opacity:0;
transition:all ease 1s;
}
.fadein.scrollin{opacity:1;}
/*左から----------*/
.fadein_left{
opacity:0;
transform:translateX(-40px);
transition:all 1s;
}
.fadein_left.scrollin{
opacity:1;
transform:translateX(0);
}
/*右から----------*/
.fadein_right{
opacity:0;
transform:translateX(40px);
transition:all 1s;
}
.fadein_right.scrollin{
opacity:1;
transform:translateX(0);
}
/*上から----------*/
.fadein_top{
opacity:0;
transform:translateY(-20px);
transition:all 1s;
}
.fadein_top.scrollin{
opacity:1;
transform:translateY(0);
}
/*下から----------*/
.fadein_bottom{
opacity:0;
transform:translateY(20px);
transition:all 1s;
}
.fadein_bottom.scrollin{
opacity:1;
transform:translateY(0);
}