@charset "utf-8";
/* CSS Document */

#mv { clear:both; background:linear-gradient(#E6E6FF 73%,#FFFCF1 90%); text-align:center;}

@media only screen and (min-width: 641px) {
    #mv img.sp { display:none; }
}

@media only screen and (max-width: 640px) {
    #mv img.pc { display:none; }
}

/* ===================================================================
 main
=================================================================== */
#main { clear: both; width:100%; }
#main section { width:90%; max-width:1400px; margin:0 auto; padding:90px 0;}

@media only screen and (max-width: 640px) {
    #main section { padding:50px 0; }
}

#main ul {}
#main ul li {}

#main section#top-about {padding-top: 0;}
#top-about { }
#top-about h3 { color:#0C662A; font-size:31px; position:relative; display:inline-block; margin-bottom:1.3em;}
#top-about h3:before { content:''; position:absolute; bottom:-10px; display:inline-block; width:90px; height:2px; left:0; background-color:#97CD8C;}
#top-about .boxL { width:77%; padding:0;}
#top-about .photo { width:18%; text-align: center; padding-top: 10px;}
#top-about .txt { position: relative; margin-bottom:60px; padding-right: 320px;}
#top-about p { text-wrap: pretty; text-align: justify; text-align-last: left;}

@media only screen and (min-width: 961px) {
    #top-about a.btn { position: absolute; right:0; bottom:0;}
}
   
@media only screen and (max-width: 960px) {
    #top-about .txt { padding-right:0;}
}

@media only screen and (max-width: 640px) {
    #top-about h3 { font-size:25px;}
    #top-about h3 span { font-size:20px;}
    #top-about .boxL { width:100%; }
    #top-about .photo { width:100%; text-align: center; }
    #top-about .photo img { max-width: 180px; margin: 0 auto;}
}

#top-choose {}
#top-choose h3 { font-size:41px; font-weight:bold; color:#fff; text-align:center;}
#top-choose img.cut {padding: 20px 0 30px 0;}
#top-choose .box { padding:50px; border-radius:20px; border:1px solid #FFFCF1; color: #fff;} 
#top-choose .box .txtL{ width: 32%; }
#top-choose .box .txtL ul li {position: relative; list-style: none; font-size: 21px; font-weight: bold; border-bottom:1px dashed #fff; margin-bottom:20px; padding: 0 0 20px 20px; line-height: 1.35; text-wrap: pretty; text-align: justify; text-align-last: left;}
#top-choose .box .txtL ul li:before { position: absolute; top:3px; left: 0;  content: '●'; color: #F6DA6C; font-size:15px; vertical-align: top;}
#top-choose .box .txtR{ width: 35%; margin-bottom: 30px;}
#top-choose .box .photo{ width:18.6%;}
#top-choose .box p { text-wrap: pretty; text-align: justify; text-align-last: left;}

@media only screen and (max-width: 640px) {
    #top-choose h3 { font-size: 25px;}
    #top-choose img.cut {padding: 10px 0 20px 0;}
    #top-choose .box { padding:20px; }
    #top-choose .box .txtL{ width:100%; margin-bottom: 15px;}
	#top-choose .box .txtR{ width:100%;}
    #top-choose .box .photo{ width:100%; margin:0 auto 20px auto; text-align: center;}
}

#top-target { text-align: center; }
#top-target h3 { color: #0C662A; font-size: 31px; font-weight: bold; text-align: center; margin-bottom: 1.5em;}
#top-target .box { width:100%; max-width:960px; border-radius:15px; padding:30px 50px; margin:0 auto 30px auto; border:2px solid #CFEBD3; }
#top-target ul { display: table; text-align: left; margin-left: auto; margin-right: auto; }
#top-target ul li {position: relative; list-style: none; font-size:19px; font-weight:bold; border-bottom:1px dashed #97CD8C; padding:10px 15px 10px 30px; line-height: 1.35;}
#top-target ul li:before { position: absolute; top:12px; left:5px;  content: '●'; color: #F6DA6C; font-size:15px; vertical-align: top;}
#top-target p { text-align: center;}

@media only screen and (max-width: 640px) {
    #top-target h3 { font-size: 25px; }
    #top-target .box { padding:20px 30px; margin:0 auto 30px auto; font-size:18px; }
}


#top-faq h3 { color: #0C662A; font-size: 31px; font-weight: bold; text-align: center; margin-bottom: 1.5em;}
#top-faq .box{ width:100%; max-width:1200px; margin:0 auto; text-align:center; padding-left:70px; } 
#top-faq dl.acc { width:100%; max-width:1130px; font-size:18px; text-align:left;}
#top-faq dl.acc dt { position:relative; background:#FFF; padding:0 30px 0 0; margin-top:10px; border-radius:10px;}
#top-faq dl.acc dt:hover{ cursor:pointer;}
#top-faq dl.acc dt:before { content: ''; display: inline-block; width:60px; height:60px; background-image: url(../images/faq_q.png); background-size: contain; vertical-align: middle; margin-left: -70px; margin-right: 30px;}
#top-faq dl.acc dt:after{ position: absolute; right:10px; top:10px; font-size:29px; font-weight: bold; color:#4EB53F; content: "＋";}
#top-faq dl.acc dt.open:after{ content: "×";}
#top-faq dl.acc dd{ background:#FDF8CE; padding:20px; margin-top: 5px; border-radius: 10px; text-wrap: pretty; text-align: justify; text-align-last: left; }
#top-faq dl.acc dt.open{  }

@media only screen and (max-width:640px) {
    #top-faq h3 { font-size: 25px; }
    #top-faq .box{ padding-left:45px; }
    #top-faq dl.acc { width: 100%; font-size:17px; line-height: 1.2;}
    #top-faq dl.acc dt { padding:8px 20px 8px 10px;}
    #top-faq dl.acc dt:before { width:30px; height:30px; margin-left:-45px; margin-right:10px;}
    #top-faq dl.acc dt:after{ position: absolute; right:3px; top:5px; font-size:25px; content: "＋";}
}


