@charset "utf-8";

*{ 
    margin: 0;
    padding: 0;
    font-size:14px;
    font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}

a { text-decoration : none;}
ul, ol { list-style : none}

img { max-width : 100%}

img,p{
    margin:0;
    padding:0;
}

html {
    font-family : verdana, sans-serif;
    font-size : 100%;
    line-height : 1.5;
}

.vitamin_2{
    margin-top:20px;
}

.required{
	color:red;
	padding-left:5px;
}

/*
hgroup h2,h4,h5,h6 {
    font-size : 16px;
    line-height : 1.5;
}
*/

hgroup h2{
    font-size : 12px;
}

header { 
    text-align : left;
    padding-top : 0px;
    background :#fff;
}

header h1 { margin-bottom : 0px}
header h2 { color : #888;}

.clear{
    clear:both;
}

nav.pc {
    margin-bottom : 24px;
    background-color: #7D4934;
    background: linear-gradient(to bottom, rgba(0,128,0,1) 0%,rgba(107,142,35,1) 88%);
}

nav.pc ul { overflow : hidden}

/*nav.pc ul li { width : 25%; float : left}*/
nav.pc ul li { width : 16.666%; float : left}

nav.pc ul li a {
    display : block;
    color : #fff;
    /*padding : 12px 0;*/
}

nav.pc ul li a.normal {
    padding:14px 0px 0px 0px;
    font-size:14px;
    height:42px;
}
nav.pc ul li a.long {
    padding:8px 0px 0px 0px;
    font-size:12px;
    height:48px;
}

nav.pc ul li a:hover {
    color : white;
    background-color : #3CB371;
}

#contents {
    width : 90%;
    margin : 0 auto;
}

#contents p { 
    margin-bottom : 24px;
    text-align : left;
}
#contents img { 
    /*margin-bottom : 24px;*/ 
    /*box-shadow : 0 0 5px #2f1f1f;*/
}

footer {
    padding : 24px 0;
    color : white;
    text-align : center;
    background : url(../images/footer_bg.png);
    margin-top:70px;
}

footer a{
    color : white;
}

a.link{
    color: #006400;
    font-weight:bold;
}

h4{
    background:#4169e1;
    color:#fff;
    padding:10px;
    margin-bottom:10px;

    border-radius: 10px;
    background: linear-gradient(to bottom, #4169e1,#1e90ff);
}

#header_not_pc{
    display:block;
}

#header_pc{
    display:none;
}

.top_info_message{
    margin-top:30px;
}

.aki_ari{
    color:blue;
}

/*---------------------*/

.schedule{
    margin-bottom:20px;
}

.schedule > .one{
    border-bottom:solid 1px #000;
    margin:0px 0px 10px 0px;
}

.schedule > .one > .content_1{
    padding:0px 0px 0px 0px;
}

.schedule > .one > .content_2{
    padding:10px 0px 0px 0px;
}

.schedule > .one > .content_3{
    padding:10px 0px 10px 0px;
}

/*---------------------*/

.vitamin > h3{
    background: url(../../img/title_bg_20.gif) repeat left top;
    margin:0px 0px 10px 0px;
}

.vitamin > h3 > .left_1{
    float:left;
    padding:10px 0px 0px 5px;
    width:30px;
}

.vitamin > h3 > .left_2{
    float:left;
    color:#fff;
    font-size:14px;
    padding:10px 0px 10px 0px;
    width:80%;
}

/*---------------------*/

.report > .one{
    margin:0px 0px 10px 10px;
}

.report > .more{
    text-align:center;
    margin-bottom:20px;
}

.report > .one > .content_2{
    padding-left:50px;
}

/*---------------------*/

.other_site_logo{
    text-align:center;
}

/*---------------------*/

.header {
    /*position: fixed;*/
    left: 0;
    top: 0;
    width: 100%;
    /*height: 55px;*/
    height: 65px;
    background-color: #fff;
    /*box-shadow: 0 2px 6px rgba(0,0,0,.16);*/
}
.global-nav {
    position: fixed;
    right: -320px; /* これで隠れる */
    top: 0;
    width: 300px; /* スマホに収まるくらい */
    height: 100vh;
    padding-top: 40px;
    background-color: #fff;
    transition: all .6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}
.hamburger {
    /*position: absolute;*/
    position: fixed;
    right: 0;
    top: 0;
    width: 50px; /* クリックしやすいようにちゃんと幅を指定する */
    height: 50px; /* クリックしやすいようにちゃんと高さを指定する */
    cursor: pointer;
    z-index: 300;
    background:green;
}
.global-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.global-nav__item {
    text-align: center;
    padding: 0 14px;
}
.global-nav__item a {
    display: block;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    text-decoration: none;
    color: #111;
}
.global-nav__item a:hover {
    background-color: #eee;
}
.hamburger__line {
    position: absolute;
    /*left: 11px;*/
    left: 16px;
    width: 18px;
    height: 1px;
    background-color: #fff;
    transition: all .6s;
}
.hamburger__line--1 {
    /*top: 14px;*/
    top: 17px;
}
.hamburger__line--2 {
    /*top: 20px;*/
    top: 23px;
}
.hamburger__line--3 {
    /*top: 26px;*/
    top: 29px;
}
.black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all .6s;
    cursor: pointer;
}
/* 表示された時用のCSS */
.nav-open .global-nav {
    right: 0;
}
.nav-open .black-bg {
    opacity: .8;
    visibility: visible;
}
.nav-open .hamburger__line--1 {
transform: rotate(45deg);
    /*top: 20px;*/
    top: 23px;
}
.nav-open .hamburger__line--2 {
    width: 0;
    left: 50%;
}
.nav-open .hamburger__line--3 {
    transform: rotate(-45deg);
    /*top: 20px;*/
    top: 23px;
}

/*---------------------*/

#not_pc_logo_area{
    margin:10px 0px 0px 10px;
}

#not_pc_logo_area > .left_1{
    float:left;
    font-size:12px;
}

#not_pc_logo_area > .left_2{
    float:left;
    margin:0px 0px 0px 10px;
}

/*---------------------*/

.top_syugou > img{
    width:100%;
}

/*-----------------------------*/

#mail_contact{
    margin:0px auto 0px auto;
    width:320px;
}

#mail_contact > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#mail_contact > .title{
    background:blue;
    color:#fff;
    margin:20px 0px 0px 0px;
    padding:10px;
}

#mail_contact > .content_1{
    margin:10px 0px 0px 20px;
}

#mail_contact > .content_2{
    margin:10px 0px 0px 20px;
}

#mail_contact > .content_3{
    margin:10px 0px 0px 20px;
}

#mail_contact > .content_4{
    margin:10px 0px 0px 20px;
}

#mail_contact > .content_5{
    text-align:center;
    margin:20px 0px 0px 0px;
}

/*-----------------------------*/

.title_bar{
    background:#004d25;
    color:#fff;
    padding:10px;
    margin:10px 0px 0px 0px;
}

/*------------------------------------*/

.notice_mail_not_reach{
    margin:30px 10px 30px 10px;
    padding:20px;
    line-height:160%;
    border:solid 1px #777;
}

/*------------------------------------*/

#mail_frm_message{
    text-align:center;
    margin-top:10px;
}

ul{
    margin:0px;
    padding:0px;
}

ul li{
    list-style-type: none;
}

.error li{
    color:red;
}

/*------------------------------------*/

#mail_contact_complete_page{
    margin:0px auto 0px auto;
    width:320px;
}

#mail_contact_complete_page > .content{
    margin:30px 20px 0px 20px;
    line-height:160%;
}

/*------------------------------------*/

#mail_event_complete_page{
    margin:0px auto 0px auto;
    width:320px;
}

#mail_event_complete_page > .content{
    margin:30px 20px 0px 20px;
    line-height:160%;
}

/*------------------------------------*/

#mail_join{
    margin:0px auto 0px auto;
    width:320px;
}

#mail_join > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#mail_join > .title{
    background:blue;
    color:#fff;
    margin:20px 0px 0px 0px;
    padding:10px;
}

#mail_join > .content_1{
    margin:10px 10px 0px 20px;
}

#mail_join > .content_2{
    margin:10px 0px 0px 20px;
}

#mail_join > .content_3{
    margin:10px 0px 0px 20px;
}

#mail_join > .content_4{
    margin:10px 0px 0px 20px;
}

#mail_join > .content_5{
    margin:10px 0px 0px 20px;
}

#mail_join > .content_6{
    margin:10px 0px 0px 20px;
}

#mail_join > .content_7{
    margin:10px 10px 0px 20px;
}

#mail_join > .content_8{
    margin:10px 0px 0px 20px;
}

#mail_join > .content_9{
    text-align:center;
    margin:20px 0px 0px 0px;
}

/*-----------------------------*/

#detail_page{
    margin:0px auto 30px auto;
    width:320px;
}

#detail_page > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#detail_page > .title{
    background:blue;
    color:#fff;
    margin:20px 0px 0px 0px;
    padding:10px;
}

#detail_page > .catch_copy{
    margin:10px 0px 0px 0px;
    color:blue;
}

#detail_page > .image_1{
    margin:10px 0px 0px 0px;
}

#detail_page > .image_2{
    margin:10px 0px 0px 0px;
}

#detail_page > .image_3{
    margin:10px 0px 0px 0px;
}

#detail_page > .content{
    margin:10px 0px 0px 0px;
    line-height:160%;
}

#detail_page > .to_form{
    display:block;
    width:280px;
    margin:20px auto 0px auto;
    background:green;
    color:#fff;
    text-align:center;
    padding:10px 0px 10px 0px;
}

#detail_page > .event_finish_disp{
    background:#999;
    color:#fff;
    text-align:center;
    padding:10px 0px 10px 0px;
    margin-top:20px;
}

#detail_page > .event_report{
    margin-top:30px;
}

#detail_page > .event_report > .title{
    background:blue;
    color:#fff;
    margin:20px 0px 0px 0px;
    padding:10px;
}

#detail_page > .event_report > .content{
    line-height:160%;
    margin-top:10px;
}

#detail_page > .event_report > .more{
    margin-top:10px;
    text-align:center;
}

/*-----------------------------*/

#detail_blog_page{
    margin:0px auto 30px auto;
    width:320px;
}

#detail_blog_page > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#detail_blog_page > .before_next_area{
    margin:20px 0px 20px 0px;
    font-size:12px;
}

#detail_blog_page > .before_next_area .content_2{
    text-align:center;
    padding:10px 0px 10px 0px;
}

#detail_blog_page > .before_next_area .content_3{
    text-align:right;
}

#detail_blog_page > .blog_title{
    background:#004d25;
    color:#fff;
    padding:10px;
    margin:10px 0px 0px 0px;
    font-size:14px;
}

#detail_blog_page > .blog_posted_date{
    margin:10px 0px 0px 0px;
}

#detail_blog_page > .blog_content{
    line-height:180%;
    margin:20px 0px 0px 0px;
    word-break:break-all;
    font-size:14px;
}

/*-----------------------------*/

#detail_report_page{
    margin:0px auto 30px auto;
    width:320px;
}

#detail_report_page > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#detail_report_page > .before_next_area{
    margin:20px 0px 20px 0px;
    font-size:12px;
}

#detail_report_page > .before_next_area .content_2{
    text-align:center;
    padding:10px 0px 10px 0px;
}

#detail_report_page > .before_next_area .content_3{
    text-align:right;
}

#detail_report_page > .report_title{
    background:#004d25;
    color:#fff;
    padding:10px;
    margin:10px 0px 0px 0px;
    font-size:14px;
}

#detail_report_page > .report_content{
    line-height:180%;
    margin:20px 0px 0px 0px;
    word-break:break-all;
    font-size:14px;
}

/*-----------------------------*/

#page_404{
    margin:0px auto 30px auto;
    width:320px;
}

#page_404 > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#page_404 > .content{
    margin:30px 0px 0px 0px;
    text-align:center;
}

/*-----------------------------*/

#page_error{
    margin:0px auto 30px auto;
    width:320px;
}

#page_error > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#page_error > .content{
    margin:30px 0px 0px 0px;
    text-align:center;
}

/*-----------------------------*/

#page_staff{
    margin:0px auto 30px auto;
    width:320px;
}

#page_staff > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#page_staff > .content_1{
    margin:20px 0px 0px 0px;
}

#page_staff > .content_1 > .title{
    border-bottom:solid 2px #004d25;
    font-size:16px;
    padding:0px 0px 5px 0px;
}

#page_staff > .content_1 > .content{
    margin:10px 0px 0px 0px;
    line-height:160%;
}

#page_staff > .content_1 > .content > .content_1{
}

#page_staff > .content_1 > .content > .content_1 > .left_1{
    float:left;
    width:120px;
}

#page_staff > .content_1 > .content > .content_1 > .left_2{
    float:left;
}

#page_staff > .content_1 > .content > .content_1 > .left_2 > .title{
    background:#cee4ae;
    color:#004d25;
    width:177px;
    margin:0px 0px 0px 10px;
    padding:5px 5px 5px 5px;
    border-left:solid 3px #79c06e;
}

#page_staff > .content_1 > .content > .content_1 > .left_2 > .content{
    width:177px;
}

#page_staff > .content_1 > .content > .content_1 > .left_2 > .content > .one{
    margin:5px 0px 0px 10px;
}

#page_staff > .content_1 > .content > .content_1 > .left_2 > .content > .one > .content_1{
    border-bottom:solid 1px #ccc;
    color:#004d25;
    font-weight:bold;
}

#page_staff > .content_1 > .content > .content_1 > .left_2 > .content > .one > .content_2{
    margin:2px 0px 0px 0px;
}

#page_staff > .content_1 > .content > .content_2{
    margin:10px 20px 0px 20px;
}

.page_staff_hr{
    margin:20px 0px 20px 0px;
}

/*-----------------------------*/

#page_agreement{
    margin:0px auto 30px auto;
    width:320px;
}

#page_agreement > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#page_agreement > .content_1{
    margin:20px 0px 0px 0px;
}

#page_agreement > .content_1 > .title{
    border-bottom:solid 2px #004d25;
    font-size:16px;
    padding:0px 0px 5px 0px;
}

#page_agreement > .content_1 > .content{
    margin:10px 0px 0px 0px;
    line-height:160%;
}

#page_agreement > .content_2{
    margin:20px 0px 0px 0px;
}

#page_agreement > .content_2 > .title{
    background:blue;
    color:#fff;
    padding:5px;
}

#page_agreement > .content_2 > .content{
    margin:10px 0px 0px 0px;
    line-height:160%;
}

/*-----------------------------*/

#page_summary{
    margin:0px auto 30px auto;
    width:320px;
}

#page_summary > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#page_summary > .title{
    background:blue;
    color:#fff;
    padding:10px;
    margin:20px 0px 0px 0px;
}

#page_summary > .content{
    margin:10px 0px 0px 0px;
}

#page_summary > .content table tr td{
    padding:10px;
}

/*-----------------------------*/

#page_privacy{
    margin:0px auto 30px auto;
    width:320px;
}

#page_privacy > .breadcrumb{
    margin:10px 0px 0px 0px;
}

#page_privacy > .content_1{
    margin:20px 0px 0px 0px;
}

#page_privacy > .content_1 > .title{
    border-bottom:solid 2px #004d25;
    font-size:16px;
    padding:0px 0px 5px 0px;
}

#page_privacy > .content_1 > .content{
    margin:10px 0px 0px 0px;
    line-height:160%;
}

#page_privacy > .content_2{
    margin:20px 0px 0px 0px;
}

#page_privacy > .content_2 > .title{
    background:blue;
    color:#fff;
    padding:5px;
}

#page_privacy > .content_2 > .content{
    margin:10px 0px 0px 0px;
    line-height:160%;
}

/*-----------------------------*/

#top_page{
    margin:0px auto 30px auto;
    width:320px;
}

#top_page > .image{
    margin:20px 0px 0px 0px;
}

#top_page > .concept{
    margin:10px 20px 0px 20px;
    line-height:160%;
}

#top_page > .event_list{
}

#top_page > .event_list > .title{
    background:#004d25;
    color:#fff;
    padding:10px;
    margin:10px 0px 0px 0px;
}

#top_page > .event_list > .content{
}

#top_page > .event_list > .content_concept{
    margin:10px 20px 0px 20px;
    line-height:160%;
}

#top_page > .event_list > .content > .one{
    margin:20px 0px 0px 0px;
}

#top_page > .event_list > .content > .one > a{
    font-weight:bold;
}

#top_page > .event_list > .content > .one > .left_2 > .content_1 > a{
    font-weight:bold;
    color:#004d25;
}

#top_page > .event_list > .content > .one > .left_1{
    float:left;
    width:85px;
}

#top_page > .event_list > .content > .one > .left_2{
    float:left;
    width:215px;
}

#top_page > .event_list > .content > .one > .left_2 > .content_1{
}

#top_page > .event_list > .content > .one > .left_2 > .content_2{
    margin:5px 0px 0px 0px;
}

#top_page > .event_list > .blog_content{
}

#top_page > .event_list > .blog_content > .one{
    margin:20px 0px 0px 0px;
}

#top_page > .event_list > .blog_content > .one > .content_1 > a{
    font-weight:bold;
}

#top_page > .event_list > .blog_content > .one > .content_2{
    margin:5px 0px 0px 0px;
    text-align:right;
}

#top_page > .sns_img{
    margin:30px 0px 0px 0px;
}

#top_page > .sns_img > .left_1{
    float:left;
    width:160px;
    text-align:center;
}

#top_page > .sns_img > .left_2{
    float:left;
    width:160px;
    text-align:center;
}

/*------------------------------------*/

.selected_paging_num_box a{
	display:block;
	text-decoration:none;
	float:left;
	margin-left:10px;
	border:solid 2px #999;
	font-size:12px;
	font-weight:bold;
	padding:10px 10px 10px 10px;
	background-color:#ddd;
}

.selected_paging_num_box a:hover{
	display:block;
	text-decoration:none;
	float:left;
	margin-left:10px;
	border:solid 2px #999;
	font-size:12px;
	font-weight:bold;
	padding:10px 10px 10px 10px;
	background-color:#999;
}

.paging_num_box a{
	display:block;
	text-decoration:none;
	float:left;
	margin-left:10px;
	border:solid 2px #999;
	font-size:12px;
	font-weight:bold;
	padding:10px 10px 10px 10px;
}

.paging_num_box a:hover{
	display:block;
	text-decoration:none;
	float:left;
	margin-left:10px;
	border:solid 2px #999;
	font-size:12px;
	font-weight:bold;
	padding:10px 10px 10px 10px;
	background-color:#999;
}

.paging_num_forward a{
	
	display:block;
	margin-left:10px;
	font-size:12px;
	padding:10px 10px 10px 10px;
	text-decoration:underline;
	
}

.paging_num_next a{
	
	display:block;
	margin-left:10px;
	font-size:12px;
	padding:10px 10px 10px 10px;
	text-decoration:underline;
	
}

.paging_num_dod {
	display:block;
	float:left;
	font-size:12px;
	font-weight:bold;
	margin-left:10px;
}

/*------------------------------------*/

.event_history{

}

.event_history > .content{
    margin-bottom:20px;
    border:solid 1px #666;
    padding:10px;
}

.event_history > .content > .content_1{
    
}

.event_history > .content > .content_2{
    
}

.event_history > .content > .content_3{
    
}

.event_history > .content > .content_4{
    
}

.event_history > .more{
    margin:0px 30px 30px 0px;
    text-align:right;
}

/*------------------------------------*/

.top_blog_list{
    margin-bottom:20px;
}

/*------------------------------------*/

#page_top {
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    /*transform: translate3d(0, 0, 0);*/
    transform: translateZ(0);
}
#page_top a {
    display: none;
    width: 100%;
    height: 100%;
    /*background: url(../../img/btn_to-page-top_ov.gif) no-repeat;*/
    background: url(../../img/btn_to-page-top.gif) no-repeat;
}
#page_top a:hover img {
    visibility: hidden;
}

/*------------------------------------*/

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

    #contents { text-align : left}

    #header_not_pc{
        display:none;
    }

    #header_pc{
        display:block;
    }

    #header_pc hgroup{
        width:600px;
        margin:0px auto 20px auto;
    }

    #header_pc hgroup .left_1{
        float:left;
    }

    #header_pc hgroup .left_2{
        float:left;
    }

    header { 
        text-align : center;
        padding-top : 24px;
    }

    header h1 { margin-bottom : 20px}

    /*
    hgroup h2{
        font-size : 16px;
        line-height : 1.0;
    }
    */

    .top_info_message{
        margin-top:0px;
    }

    .vitamin > h3 > p{
        font-size: 18px;
    }

    .vitamin > h3 > .left_1{
        padding:15px 0px 0px 5px;
    }

    .vitamin > h3 > .left_2{
        font-size: 18px;
        padding:10px 0px 10px 0px;
    }

}

@media screen and (min-width : 1024px) {

    nav ul {
        width : 93.75%;/* 960/1024 */
        margin : 0 auto;
    }

    #contents {
        overflow : hidden;
        width : 93.75%;
    }

    #contents #main,
    #contents #sub { 
        float : left;
        margin : 0 1.0416667%;
    } 

    #contents #main { width : 64.5833333%}
    #contents #sub { width : 31.25%}

    footer {
        width : 91.796875%;
        margin : 0 auto;
    }

/*-----------------------------*/

#detail_blog_page{
    width:480px;
}

#detail_blog_page > .blog_title{
    font-size:16px;
}

#detail_blog_page > .blog_content{
    font-size:16px;
}

/*-----------------------------*/

}
