@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:18px;line-height:24px;}}
.small{font-size:12px;line-height:20px;}
.red{color:#b7282e;}

/*----- image -----*/
.img960{width:100%;max-width:960px;margin:0 auto;}
.img900{width:100%;max-width:900px;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;
}

/* ------------------------------------------- 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:#578a3d 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;
}


/* ------------------------------------------- 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 30px 0 30px;
font-size:16px;
line-height:30px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0;padding:0 0 30px 0;}
@media only screen and (max-width:750px){
.text{
padding:20px 20px 0 20px;
font-size:14px;
line-height:24px;
text-align:justify;
}
.text p{padding:0 0 20px 0;}
.text br{display:none;}
}

/* ------------------------------------------- CSS Information 
 Style Info: contents01
----------------------------------------------------------- */
#contents01{background:#ffffff;}
.contents01_ul li img{
display:block;
width:auto;
height:30px;
margin:0 auto 10px 0;
}
.text p + ul.contents01_ul{margin:-20px 0 0 0;padding:0;}
@media only screen and (max-width:750px){
#contents01{}
.contents01_ul li img{
display:block;
width:auto;
height:20px;
margin:0 auto 10px 0;
}
.text p + ul.contents01_ul{margin:-10px 0 0 0;padding:0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: contents02
----------------------------------------------------------- */
#contents02{background:#fafaf3;}
.contents02_ul{
margin:0;
padding:0 0 30px 0;
}
.contents02_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;
}
@media only screen and (max-width:750px){
.contents02_ul{padding:0 0 20px 0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: contents03
----------------------------------------------------------- */
#contents03{background:#ffffff;}

/* ------------------------------------------- CSS Information 
 Style Info: contents04
----------------------------------------------------------- */
#contents04{background:#ffffff;}
.contents04_ul{
margin:0 0 30px 0;
padding:20px;
background:#fafaf3;
}
.contents04_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 #eeeeee;
font-weight:bold;
line-height:20px;
}
@media only screen and (max-width:750px){
.contents04_ul{margin:0 0 20px 0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: contents05
----------------------------------------------------------- */
#contents05{background:#fafaf3;}

/* ------------------------------------------- CSS Information 
 Style Info: contents06
----------------------------------------------------------- */
#contents06{background:#eff1e4;}
#contents06.contents{padding:0 0 40px 0;}
@media only screen and (max-width:750px){
#contents06.contents{padding:0 0 20px 0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: contents07
----------------------------------------------------------- */
#contents07{background:#fafaf3;}
@media only screen and (max-width:750px){}

/* ------------------------------------------- CSS Information 
 Style Info: contents08
----------------------------------------------------------- */
#contents08{background:#ffffff;}
@media only screen and (max-width:750px){}

/* ------------------------------------------- CSS Information 
 Style Info: contents09
----------------------------------------------------------- */
#contents09{background:#ffffff;}
@media only screen and (max-width:750px){}

/* ------------------------------------------- CSS Information 
 Style Info: contents10
----------------------------------------------------------- */
#contents10{background:#fafaf3;}
@media only screen and (max-width:750px){
#contents10.contents{padding:40px 0 20px 0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: PRESENT
----------------------------------------------------------- */
#present{
width:100%;
margin:0;
padding:0 20px;
position:relative;
box-sizing:border-box;
}
.present_box{
width:100%;
margin:0 0 40px 0;
padding:0;
background:#ffffff;
box-sizing:border-box;
overflow-y:auto;
}
.present_title{
width:100%;
padding:30px 0;
border-bottom:1px solid #7ba645;
}
.present_box .text{
margin:0;
padding:40px 40px 10px 40px;
box-sizing:border-box;
font-size:16px;
line-height:30px;
text-align:left;
}
.present_ul{
margin:0 0 30px 0;
padding:0;
}
.present_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_box{margin:0 0 20px 0;}
.present_title{
padding:20px 0;
border-bottom:none;
}
.present_box{}
.present_box .text{
margin:0 auto;
padding:0 20px 10px 20px;
font-size:14px;
line-height:24px;
text-align:justify;
}
.present_ul{margin:0 0 20px 0;}
.present_ul li{}
.present_img{
width:50%;
max-width:210px;
float:none;
margin:0 auto;
padding:0 0 20px 0;
}
}

/* ------------------------------------------- CSS Information 
 Style Info: opt
----------------------------------------------------------- */
.opt{
width:100%;
margin:0;
padding:0;
text-align:center;
color:#ffffff;
background:#7ba645;
}
.opt01{background:#004d25;}
.opt02{}
.opt03{background:#fdd835;}
.opt_box{
width:100%;
max-width:960px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.opt_form{width:100%;}
.opt_table{
width:100%;
margin:0 auto 20px auto;
padding:0;
}
.opt_table th{
width:180px;
margin:0;
background:#004d25;
text-align:left;
padding:0;
}
.opt_table th img{height:40px;}
.opt_table td{margin:0;}
.opt_form input[type=text]{
font-size:16px;
line-height:20px;
margin:0;
padding:10px 5px;
width:100%;
border:0;
box-sizing:border-box;
border-radius:0;
background:#ffffff;
}
.opt_form input[type=image]{width:100%;}
/* -- opt_attention -- */
.opt_attention{
margin:20px auto 40px auto;
padding:0;
width:100%;
max-width:960px;
box-sizing:border-box;
}
.opt_attention li{
margin:0;
padding:0 0 0 16px;
font-size:12px;
line-height:20px;
text-align:justify;
list-style:none;
background:url(../img/opt_attention_li.png) no-repeat left top;
background-size:12px 20px;
}
@media only screen and (max-width:750px){
.opt{}
.opt_box{padding:0 20px;}
.opt_form{}
.opt_table{}
.opt_table th{
display:block;
width:100%;
text-align:left;
float:none;
}
.opt_table th img{height:30px;}
.opt_table td{
display:block;
width:100%;
float:none;
box-sizing:border-box;
}
.opt_form input[type=text],.opt_form input[type=email]{
font-size:14px;
line-height:20px;
background-size:30px 30px;
}
.opt_form input[type=image]{}
/* -- opt_attention -- */
.opt_attention{}
.opt_attention li{font-size:12px;}
}

/*----- ボタンアニメーション -----*/
.reflection_box{
margin:0 auto;
width:100%;
max-width:670px;
height:100%;
position:relative;
overflow:hidden;
box-sizing:border-box;
}
.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);
}