@charset "UTF-8";



/*
----------------------------------------------------*/
body{
    position:relative;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    word-break: break-all;
    font-size:13px;
    color:#333;
    line-height:1.5;
}



/* link
----------------------------------------------------*/
a {cursor:pointer;}
a:link,
a:visited,
a:hover,
a:active {color:#333; text-decoration: none;}

a.c-button{
    padding: 15px;
    text-align: center;
    margin-top: 10px;
    display: block;
    background: #4C430E;
    color: #fff;
    position: relative;
    width: 250px;
}
a.c-button::after{
    content: '';
    display: block;
    width: 0.4em;
    height: 0.4em;
    position: absolute;
    top: 50%;
    bottom: 50%;
    margin: auto;
    right: 15px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

/* common
----------------------------------------------------*/
.fl{float:left;}
.fr{float:right;}

.table_wrap{display:table;}
.table_wrap .cell{display:table-cell;vertical-align:top;}

a.btn{
    display: inline-block;
    padding: 10px 35px 10px 20px;
    color: #fff !important;
    background: #4c430e;
    /*border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;*/
    font-weight: bold;
    position: relative;
}

a.btn:hover{
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}

a.btn:after{
    content: '';
    display: block;
    width: 0.4em;
    height: 0.4em;
    position: absolute;
    top: 50%;
    bottom: 50%;
    margin: auto;
    right: 15px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
/* ========== */
/* ボタン（大） */
/* ========== */
.btn.large {
    box-sizing: border-box;
    width: 50%;
    border-radius: 0;
    margin-right: 25%;
    margin-left: 25%;
    font-weight: normal;
    text-align: center;
}


.ttl{
    margin:0 0 20px;
    color:#4c430e;
    font-size:150%;
    font-weight:bold;
    text-shadow: 1px 1px 3px rgb(140, 137, 119);
}

.ttl02{
    margin:0 0 20px;
    padding-bottom: 10px;
    color:#4c430e;
    font-size:130%;
    font-weight:bold;
    border-bottom: 1px solid #4c430e;
    /*text-shadow: 1px 1px 3px rgb(140, 137, 119);*/
}

.sub{
    color:#80c15a;
    font-size:110%;
    font-weight:bold;
}

.mdd{
    line-height:30px;
    margin:0 0 20px;
    padding:0 10px;
    color:#FFF;
    font-weight:bold;
    background:#4C430E;
}

.mdd2{
    line-height:30px;
    margin:0 0 20px;
    padding:0 10px;
    color:#4c430e;
    font-weight:bold;
    background:#ebe8d9;
}

.top_mdd {
    line-height: 30px;
    margin: 30px 0 20px 0;
    padding: 0 10px;
    color: #FFF;
    font-weight: bold;
    background: #4C430E;
    font-size: 120%;
}

.top_mdd.flex{
    display: flex;
    justify-content: space-between;
}

.min{
    margin:0 0 10px;
    color:#4c430e;
    font-size:120%;
    font-weight:bold;
}

.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb100{margin-bottom:100px;}

.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}

.ps5{padding:0 5px;}
.ps10{padding:0 10px;}
.ps15{padding:0 15px;}

/* txtlink ------ */
a.txtlink{display:inline;border-bottom:1px solid;}
a.txtlink:hover{border-bottom:none;}

.txtlink_r {font-size:11px;text-align:right;display: inline-block;}
.txtlink_r a{display:inline;border-bottom:1px solid;color:#fff;}
.txtlink_r a:hover{border-bottom:none;}



/*  blank link ------ */
a.bllink:after{
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f08e";
    margin:0 0 0 5px;
    color:#80c15a;
    font-weight:bold;
}



/*  contact link ------ */
a.contactlink{margin:0 0 0 3px;}
a.contactlink:after{
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f0e0";
    margin:0 0 0 5px;

}




/* PDF ------ */
a.pdf:before{
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f1c1";
    margin:0 3px;
    color:#7D0404;
    font-size:1.2em;

}




/* img ------ */
img.seo{
    vertical-align: middle;
    display: inline-block;
    padding:0 0 3px;
}




/* youtube ------ */
.youtube{width:100%;height:350px;}



/* clerfix
----------------------------------------------------*/
.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*?*//*/
  height: auto;
  overflow: hidden;
  /**/
}


.indent01 li{
    text-indent: -3em;
    margin: 0 0 0.5em 3em;
}

/* ================================================== */

/* PAGE */

/* ================================================== */
#page{
    width:100%;
    max-width:950px;
    margin:0 auto;
    background:#d6d3c1;
}

#page_in{
    padding:0 5px;
}


/* ================================================== */

/* HEADER */

/* ================================================== */
#pageHeadTxt{
    font-size:90%;
    line-height:30px;
}

#appHeader{
    background:#f7f6f0;
    padding:10px;
    position:relative;
    line-height:0;
}

#appHeader .bg{width:100%;height:auto;}

#appHeader .inner{
    position:absolute;
    top:20px;
    left:2%;
    display:block;
    width:92%;
    padding:20px 2%;
    background:rgba(255,255,255,0.7)
}


#appHeader .inner .table_wrap{width:100%;}
#appHeader .inner .table_wrap .cell{
    vertical-align:middle;
}

#appHeader .inner .table_wrap h2.cell img{
    display:block;
    padding:5px 0;
}

#appHeader .inner .table_wrap p.cell{text-align:right;}
#appHeader .inner .table_wrap p.cell a{
    display:inline-block;
    line-height:45px;
    padding:0 20px;
    color:#FFF;
    font-size:90%;
    text-shadow: 1px 1px 3px rgb(140, 137, 119);
    border-radius:6px;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    background:url(../img/common/nav/bg.png) 0 0 repeat-x;
}

#appHeader .inner .table_wrap p.cell a:hover{
    filter:alpha(opacity=85);
    -moz-opacity:0.85;
    opacity:0.85;
}

#appHeader .inner .table_wrap p.cell a:before{
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f0e0";
    margin-right: 10px;
    font-size:1.2em;
}




#appHeader .inner h3{
    line-height:1.5;
    padding:15px 0 0;
}



/* gNav
----------------------------------------------------*/
#trgger{display:none;}
#gNav{background:url(../img/common/nav/bg.png) 0 0 repeat-x;}
#gNav li{
    display:block;
    width:20%;
    float:left;
    background:url(../img/common/nav/border.png) 0 50% no-repeat;
}
#gNav li.mbnav,
#gNav li.under{display:none}
#gNav li:not(.mbnav):not(.under):first-child{background:none;}
#gNav li a{
    display:block;
    text-align:center;
    line-height:45px;
    color:#FFF;
    font-size:14px;
    font-weight:bold;
    letter-spacing:1.4px;
    text-shadow: 1px 1px 3px rgb(0, 0, 0);
}
#gNav li a:hover{background-color:rgba(130,122,122,0.3);}







/* ================================================== */

/* FOOTER */

/* ================================================== */
#appFooter{padding:25px 0;}
#appFooter nav{text-align:center;}
#appFooter ul{
    display:inline-block;
    margin:0 auto;
    border-right:#a6a081 solid 1px;
}
#appFooter li{float:left;}
#appFooter li a{
    display:block;
    padding:2px 10px;
    font-size:90%;
    color:#757260;
    border-left:#a6a081 solid 1px;
}
#appFooter .copyright{
    display:block;
    margin:30px 0 0;
    font-size:80%;
    text-align:center;
}
#appFooter li a:hover{text-decoration:underline;}



/* ================================================== */

/* WRAPPER */

/* ================================================== */
#wrapper{
    padding:10px 10px 50px;
    background:#f7f6f0;
}
#side{
    display:block;
    width:220px;
    float:right;
}
#container{
    display:block;
    padding:0 220px 0 0;
}
#container_in{
    padding:0 40px 0 10px;
}


/* ================================================== */

/* A SIDE */

/* ================================================== */

#side dl.under{
    margin:0 0 15px;
    border-top:#d5d2c1 solid 3px;
    border-bottom:#d5d2c1 solid 3px;
}

#side dl.under dt{
    line-height:40px;
    font-weight:bold;
    padding:0 10px;
}
#side dl.under dd{
    line-height:40px;
    padding:0 10px;
    border-top:#d5d2c1 solid 1px;
}
#side dl.under dd a{
    display:block;
    line-height:40px;
}
#side dl.under dd a:after{
    display:inline-block;
    font-family:FontAwesome;
    font-style:normal;
    font-weight:normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content:"\f105";
    font-size:1em;
    float:right;
    line-height:40px;
}
#side dl.under dd a.current{color:#80c15a; font-weight: bold;}
#side dl.under dd a.current:after{content:"";font-size:1em;}





#side .links{
    margin:0 0 15px;
    border:#e0ddce solid 1px;
    border-bottom:none;
}
#side .links li{border-bottom:#e0ddce solid 1px;}
#side .links li a{
    display: block;
    /* line-height:40px; */
    padding:10px 10px 10px 30px;
    position: relative;
    color:#4C430E;
    font-size:14px;
    font-weight: bold;
    background:url(../img/common/i_arrow.png) 96% 50% no-repeat #fdfcfb;
    font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}
#side .links li a .fa{
    width:1.5em;
    color:#5EB12D;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
}

#side .links li a p{
    display: inline-block;
    font-weight: bold;
}

#side .links li a p span{
    display: block;
    font-weight: bold;
}

#side .links li a p .c-indent{
    text-indent: -8px;
    font-size: 12px;
}

#side .links li small{
    font-size: 85%;
    display: inline-block;
    margin-top: 5px;
}

#side .links.info{
    margin: 15px 0;
}

#side .links.info a{
    line-height: 1.5;
    padding: 10px 25px 10px 10px;
}

#side dl.under dd a:hover{color:#80c15a;}
#side .links li a:hover{background-color:#ECE9E6;}
#side .bnrs li a:hover{
    filter:alpha(opacity=80);
    -moz-opacity:0.8;
    opacity:0.8;
}

#side .bnrs > li{
    margin-bottom: 15px;
}

#side .bnrs > li:last-child{
    margin-bottom: 0;
}

#side .bnrs .joint,
.joint_sp{
    border: #e0ddce solid 1px;
}

.joint_sp{
    margin-top: 15px;
    /*border: none;*/
}

#side .bnrs .joint > a,
.joint_sp > a{
    display: block;
    background: url('../img/common/bg_joint_pc.jpg') center center no-repeat;
    background-size: cover;
    padding: 10px;
}

.joint_sp > a{
    background: url('../img/common/bg_joint_sp.jpg') center center no-repeat;
    background-size: cover;
}

.joint_sp > a:hover{
    opacity: 0.8;
}

#side .bnrs .joint dl,
.joint_sp dl{
    /*padding: 10px;*/
    /*background: #fdfcfb;*/
    /*margin: 10px;*/
    padding: 20px 0;
    text-align: center;
    background: rgba(255,255,255,0.9);
}

.joint_sp dl{
    width: 198px;
    margin: 0 auto;
}

#side .bnrs .joint dt,
.joint_sp dt{
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 15px;
}

#side .bnrs .joint dd,
.joint_sp dd{
    font-size: 12px;
    display: inline-block;
    text-align: left;
    /*padding: 15px 0;*/
    /*letter-spacing: -1px;*/
}

#side .bnrs .joint .inner,
.joint_sp .inner{
    background: #fdfcfb;
    padding: 0 10px 10px;
    /*border-bottom: #e0ddce solid 1px;*/
    border-top: #e0ddce solid 1px;
}

#side .bnrs .joint .inner a,
.joint_sp .inner a{
    padding: 8px;
    text-align: center;
    margin-top: 10px;
    display: block;
    background: #4C430E;
    color: #fff;
    position: relative;
}

#side .bnrs .joint .inner a:after,
.joint_sp .inner a:after{
    content: '';
    display: block;
    width: 0.4em;
    height: 0.4em;
    position: absolute;
    top: 50%;
    bottom: 50%;
    margin: auto;
    right: 15px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

.consideration {
    display: block;
    margin: 15px auto 0;
    max-width: 400px;
    width: 100%;
}

/* .consideration a{
    display: block;
    padding: 15px;
    background-color: #fff;
    font-size: 14px;
    color: #757260;
} */

.consideration a:hover{
    opacity: .7;
}

/* .consideration a:after {
    font-family: FontAwesome;
    content: "\f105";
    display: inline-block;
    float: right;
    font-size: 16px;
} */

.consideration a img{
    display: block;
    width: 100%;
}

.schedule_sp,
.kyudai_sp{
    margin-top: 15px;
}

.schedule_sp a img,
.schedule a img{
    display: block;
    width: 100%;
}

.kyudai_sp a img,
.kyudai a img{
    display: block;
    width: 100%;
}


@media screen and (min-width: 769px) {
    .joint_sp,
    .consideration,
    .schedule_sp,
    .kyudai_sp{
        display: none;
    }
}

.color_black{
    color: #333 !important;
    font-weight: bold !important;
}

/* ================================================== */

/* OUTER_FRAME */

/* ================================================== */

/* 外枠 */
.outer_frame {
    padding: 10px;
    border: 3px double #e0ddce;
}

/* 強調（赤文字） */
.emphasize { color: #c00; }

/* センタリング */
.center { text-align: center; }


/* ================================================== */

/* 丸数字リスト */

/* ================================================== */

ol.circle_numbers {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
}
ol.circle_numbers li {
  margin-bottom: 1em;
  padding-left: 2em;
  position: relative;
}
ol.circle_numbers li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  display: block;
  float: left;
  border: 1px solid #333;
  line-height: 1.3em;
  margin-left: -2em;
  text-align: center;
  height: 1.2em;
  width: 1.2em;
  border-radius: 50%;
  font-size: 95%;
}
ol.circle_numbers::after {
    content: '';
    display: block;
    /*clear: both;*/
    height: 1px;
}

/* ================================================== */

/* DOUBLE_ROW（２段組） */

/* ================================================== */

.double_row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 20px 0;
    padding: 0;
}
.double_row li {
    float: left;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: calc((100% - 60px) / 2);
    margin: 0 0 20px 0;
    padding: 10px;
    border: 1px solid #e0ddce;
    background-color: #fff;
}
.double_row li h3  {
    font-size: 14px;
}
.double_row li div  {
    width: 100%;
    /*min-height: 8em;*/
}
.double_row li p {
    text-align: center;
    width: 90%;
    margin: 10px 5%;
}
.double_row li p a.btn {
    display: block;
    margin: 10px auto 0;
}



/* ================================================== */

/* リスト用インデント */

/* ================================================== */

.indent10 {
    padding-left: 1em;
    text-indent: -1em;    
}
.indent11 {
    padding-left: 1.1em;
    text-indent: -1.1em;    
}
.indent12 {
    padding-left: 1.2em;
    text-indent: -1.2em;    
}
.indent13 {
    padding-left: 1.3em;
    text-indent: -1.3em;    
}
.indent14 {
    padding-left: 1.4em;
    text-indent: -1.4em;    
}
.indent15 {
    padding-left: 1.5em;
    text-indent: -1.5em;    
}
.indent20 {
    padding-left: 2em;
    text-indent: -2em;    
}
.indent25 {
    padding-left: 2.5em;
    text-indent: -2.5em;    
}
.indent30 {
    padding-left: 3em;
    text-indent: -3em;    
}


/* ================================================== */

/* デバイス表示用 */

/* ================================================== */


.u-only--lg { display: block; }
.u-only-inline--lg { display: inline-block; }
.u-only--sm { display: none; }
.u-only-inline--sm { display: none; }



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

.u-only--lg { display: none; }
.u-only-inline--lg { display: none; }
.u-only--sm { display: block; }
.u-only-inline--sm { display: inline-block; }


    /* ================================================== */

    /* HEADER */

    /* ================================================== */
    #pageHeadTxt{
        padding:5px;
        font-size:70%;
        line-height:1.2;
    }
    #appHeader{padding:5px 0 0;}
    #appHeader .bg{display:none;}
    #appHeader .inner{
        position:static;
        width:auto;
        padding:0 10px;
        background:none;
    }

    #appHeader .inner .table_wrap,
    #appHeader .inner .table_wrap .cell{
        display:block;
        text-align:center;
    }
    #appHeader .inner .table_wrap h2.cell{}
    #appHeader .inner .table_wrap h2.cell img{
        margin:0 auto;
        max-width:200px;
        height:auto;
    }

    #appHeader .inner .table_wrap p.cell{
        text-align:center;
        padding:10px 0;
    }


    #appHeader .inner .table_wrap p.cell a{padding:0 15px;}


    #appHeader .inner h3{
        padding:0; font-size:85%;}

    /* gNav
    ----------------------------------------------------*/
    #trgger{display:block;margin:10px 0 0;}
    #trgger a{
        display:block;
        line-height:45px;
        padding:0 15px;
        color:#FFF;
        font-size:16px;
        font-weight:bold;
        background:url(../img/common/nav/bg.png) 0 0 repeat-x;
        background-size:100% 100%;
    }
    #trgger a:after{
        font-family:FontAwesome;
        content:"\f0c9";
        display: inline-block;
        float:right;
        font-size:16px;
    }

    #trgger a.navon:after{content:"\f00d";}



    #appHeader nav{
        height:55px;
        overflow:hidden;
    }



    #gNav{background:#F3EDED;}
    #gNav li,
    #gNav li.mbnav,
    #gNav li.under{
        display:block;
        width:auto;
        float:none;
        background:none;
    }
    #gNav li a{
        text-align:left;
        line-height:40px;
        padding:0 15px;
        color:#333;
        letter-spacing:0;
        border-bottom:#BBB solid 1px;
        text-shadow:none;
    }
    #gNav li a:after{
        font-family:FontAwesome;
        content:"\f105";
        display: inline-block;
        float:right;
        font-size:16px;
    }
    #gNav li.under a{
        padding:0 15px 0 30px;
        background:#DCD7D7;
    }
    #gNav li.under a:after{content:"\f0da";}
    #gNav li.under a.current{color:#80c15a;}



    /* ================================================== */

    /* FOOTER */

    /* ================================================== */
    #appFooter{padding:15px 0;}
    #appFooter nav{text-align:left;}
    #appFooter ul{
        display:block;
        margin:0 auto;
        border-right:none;
    }

    #appFooter li{float:none;}
    #appFooter li a{
        display:block;
        padding:0 15px;
        line-height:35px;
        background:#FFF;
        font-size:90%;
        color:#757260;
        border-left:none;
        border-bottom:#F3F2ED solid 1px;
    }

    #appFooter li a:after{
        font-family:FontAwesome;
        content:"\f105";
        display: inline-block;
        float:right;
        font-size:16px;
    }

    #appFooter li:last-child a{border-bottom:none;}

    #appFooter .copyright{
        margin:15px 5px 0;
        text-align:left;
        line-height:1.2;
    }



    /* ================================================== */

    /* WRAPPER */

    /* ================================================== */
    #wrapper{
        margin:10px 0 0;
        padding:10px 10px 20px;
    }
    #side{display:none;}
    #container,#container_in{padding:0;}


    /* ========== */
    /* ボタン（大） */
    /* ========== */
    .btn.large {
        box-sizing: border-box;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        font-size: 100%;
    }

    /* ================================================== */

    /* DOUBLE_ROW（２段組） */

    /* ================================================== */
    /*.double_row li div {
        min-height: 6em;
    }*/
    .double_row li p a.btn {
        width: 80%;
        margin: 0 auto;
        text-align: center;
    }



}


@media screen and (max-width: 640px) {
    .youtube{height:300px;}

    /* ================================================== */

    /* DOUBLE_ROW（２段組） */

    /* ================================================== */
    .double_row li div {
        min-height: auto;
    }
    .double_row li {
        float: none;
        width: 100%;
        margin: 0 0 10px 0;
    }
}

@media screen and (max-width: 460px) {.youtube{height:250px;}}
@media screen and (max-width: 320px) {.youtube{height:180px;}}

.tableStyle{
	width: 100%;
	table-layout: fixed;
	margin-bottom: 20px;
}

.tableStyle th,
.tableStyle td{
	border: 1px solid #e0ddce;
	background: #FDFCFB;
	padding: 10px;
}

.tableStyle thead th{
	font-weight: bold;
	background: #d6d2c0;
}

.tableStyle tbody th{
	font-weight: bold;
	text-align: left;
	vertical-align: top;
}


.small { font-size: 85%; }
.txt_right { text-align: right; }
