/* css document */

/* メインフレーム */
body {
    xxfont-family: "Mplus 1p",'Helvetica Neue','Helvetica','Arial', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-family: 'Helvetica Neue','Helvetica','Arial', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    background: #fff;
    color: #454545;
}

/* リンク */

a { color: #333; }
a:hover { color: #333; }

a.file { border-bottom: 2px dotted #22AC38; }
a.file:hover { color: #22AC38; }

a.site { 
    //background: #b3d465;
    color: #545454;
    font-weight: normal;
    padding: 3px;
    border-bottom: 2px dotted #22AC38;
}
a.site:hover { 
    
    color: #22AC38;
    border-bottom: 2px dotted #22AC38;
}

/* 画像リンクエフェクト */

.shadow img:hover {
    -webkit-box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
}

.light img:hover {
    opacity: 0.9;
}

/* フォント */

.wf-mplus1p { font-family: "Mplus 1p"; }


/* ヘッダ */

header {
    background: #fff;
}
header a {
    text-decoration: none;
}

header a:hover {
    text-decoration: underline;
}

header a.tel-link {
    font-weight: bold;
}

/* フッタ */

div#footer-nav {
    color:#000;
}

div#footer-leaf{
    background: url(img/common/footer-leaf.jpg)no-repeat;
    background-position: 50px 10px;
    color:#000;
    height: 80px;
}

footer {
    background: url(img/common/footer-bg.jpg)repeat-x;
    color:#fff;
}

div#footer-nav a {
    text-decoration: none;
    color:#333;
}

div#footer-nav a:hover {
    text-decoration: underline;
    color:#333;    
}

footer a { 
    text-decoration: none;
    color:#FFF;
}

footer a:hover {
    text-decoration: underline;
    color:#FFF;    
}

.companyname-box a{
    color: #fff;
}

/* nav */

.igreen { color: #4cba3c; }
.igreen2 { color: #22ac38; }
.navline { color: #c9c9c9; }
.lightG { color: #a2df86; }

.i-10 { margin-right: 10px; }

@media ( min-width : 769px ) {  
    nav#main-nav ul li { 
        font-size: 1.0em;
    }    
}

/* スマホ用プルダウンメニュー */

.slicknav_menu {
    background-color:#fff;
}

.slicknav_btn {
    background-color:#a2df86;
    color:#333;
}
.slicknav_menu .slicknav_menutxt {
    color: #fff;
    xxtext-shadow: 0px 1px 3px #0086AB;
}

.slicknav_nav a:hover {
    color:#333;
    background-color:#fff;        
}

/* ボタンエフェクト */

.button {
    display: inline-block;
    width: 200px;
    height: 54px;
    text-align: center;
    text-decoration: none;
    line-height: 54px;
    outline: none;
    margin: 30px 0;
    position: relative;
    z-index: 2;
    border: 2px solid #017db7;
    color: #017db7;
    line-height: 50px;
    overflow: hidden;
    /* border-radius */
    border-radius:4px;
}
.button a:link {color: #017db7;}
.button::before,
.button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button,
.button::before,
.button::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button:hover {
    color: #fff;
}
.button::after {
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
}
.button:hover::after {
    left: 0;
    background-color: #017db7;
    color: #fff;
}

/* ボタンエフェクト event */

.btn-event{
    text-align: center;
}

.btn-event4{
    text-align: center;
    max-width: 450px;
    margin: 30px auto;
}

.button2 {
    display: inline-block;
    width: 280px;
    height: 54px;
    text-align: center;
    text-decoration: none;
    line-height: 54px;
    outline: none;
    margin: 30px 0;
    position: relative;
    z-index: 2;
    border: 2px solid #369e5c;
    color: #369e5c;
    line-height: 50px;
    overflow: hidden;
    /* border-radius */
    border-radius:4px;
}
.button2 a:link {color: #369e5c;}
.button2::before,
.button2::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button2,
.button2::before,
.button2::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button2:hover {
    color: #fff;
}
.button2::after {
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
}
.button2:hover::after {
    left: 0;
    background-color: #369e5c;
    color: #fff;
}

/* ボタンエフェクト３ */

.button3 {
    display: inline-block;
    width: 60%;
    height: 60px;
    text-align: center;
    text-decoration: none;
    line-height: 54px;
    outline: none;
    font-weight: bold;
    border-radius: 5px;
    padding-top:3px; 
    text-align: center;
}
.button3::before,
.button3::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button3,
.button3::before,
.button3::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button3 {
    background-color: #46b950;
    border: 2px solid #46b950;
    color: #fff;
    line-height: 50px;
}
.button3:hover {
    background-color: #fff;
    border-color: #46b950;
    color: #46b950;
}

/* ボタンエフェクト４ */

.button4 {
    display: inline-block;
    width: 100%;
    height: 60px;
    text-align: center;
    text-decoration: none;
    line-height: 54px;
    outline: none;
    font-weight: bold;
    border-radius: 5px;
    padding-top:3px;
}
.button4::before,
.button4::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button4,
.button4::before,
.button4::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button4 {
    background-color: #46b950;
    border: 2px solid #46b950;
    color: #fff;
    line-height: 50px;
}
.button4:hover {
    background-color: #fff;
    border-color: #46b950;
    color: #46b950;
}


/**/
#index-slide {
    background-color:transparent;
    background-image:url(./img/index/slide-bg2.jpg);
    xxbackground-position: 0 -40px;
    margin-bottom: 10px;
}

.flexslider img{
    /* box-shadow */
    box-shadow:4px 5px 5px 2px #8d8c8f;
    -moz-box-shadow:4px 5px 5px 2px #8d8c8f;
    -webkit-box-shadow:4px 5px 5px 2px #8d8c8f;
}

/* index 
 banner*/
.so-info img{
    width:55px;
}

.info-bn{
    color: #2d8a20;
    font-size: 15.5px;
    line-height: 30px;
    font-weight: bold;
}

.info-strong{
    font-size: 18px;
}

.url-info img{
    max-width: 306px;
}

.url-tirasi img{
    max-width: 180px;
}

.info-left{
    background: #DBE9B4;
    padding: 4px;
    color: #0a651f;
    margin-right: 5px;
}

.column {
    width: 100%;
    height: 275px;
    padding: 20px;
}
.cat1 {
    background: url(img/index/info-bg.jpg) no-repeat top left;
    text-align: left;
}
.cat2 {
    background: url(img/index/info-bg2.jpg) no-repeat center center;
}

@media all and (min-width: 600px) {
    .wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .cat1 {
        background: url(img/index/info-bg.jpg) no-repeat top left;
        text-align: center;
    }
}


.finalistwrap{
        display: flex;
flex-wrap:wrap;
        padding: 10px;
justify-content:space-between;
}
.finalistchil{
margin-top:20px;
}
.finalistchil-2{
margin-top:50px;
}
@media ( min-width : 768px ) {
.finalistchil{
        width: 18%;
}
.finalistchil-2{
        width: 38.5%;
}
}

@media ( max-width : 768px ) {
.finalistchil{
        width: 45%;
}
.finalistchil-2{
        width: 100%;
}
}

.flexbox-center{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; /* 子要素をflexboxで揃える */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
}

.topnews{
    height: 400px;
    overflow: scroll;
}

p.newstt { 
    font-size:1em;
    font-weight: bold;
    text-align: left;
    margin:10px;
    //padding-left: 20px;
}

/* about */

h3.about {
    background-color:#007AB7; 
    padding:5px; 
    margin-bottom: 10px; 
    color:#fff; 
}

h3.ribon{
    position: relative;
    padding: 0.5em;
    background: #9bd4a0;
    color: white;
    text-align: left;
}

h3.ribon::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px rgb(149, 158, 155);
}



/*** 会社概要 ***/

.about4-box dl:nth-child(2n) { 
    background-color:#f3f8e6;
}
.about2-box dl { 
    border-bottom:1px dotted #bfbfbf;
}
.about3-box dl { 
    border-bottom:1px solid #d2d2d2;
}

/* content1 */

article {
    max-height: 150px;
    background: #fff;
}

.containerlt { 
    display: -webkit-box; 
    display: -ms-flexbox; 
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

h3.content {
    background-color:#9bd4a0; 
    padding:10px;
    padding-left: 30px;
    margin-bottom: 30px; 
    color:#fff; 
    font-size: 1.3em;
}

h3.content1 {
    color: #22ac38;
    text-shadow: 0 0 5px white;
    padding: 0.3em 0.5em;
    background: -webkit-repeating-linear-gradient(-45deg, #e4efc8, #e4efc8 3px,#fff 3px, #fff 6px);
    background: repeating-linear-gradient(-45deg, #e4efc8, #e4efc8 3px,#fff 3px, #fff 6px);
    padding:6px;
    margin-bottom: 30px;
}

h3.content2 {
    color: #fff;
    padding: 0.3em 0.5em;
    background: -webkit-repeating-linear-gradient(-45deg, #1da92a, #1da92a 3px,#51bd5b 3px, #51bd5b 6px);
    background: repeating-linear-gradient(-45deg, #1da92a, #1da92a 3px,#51bd5b 3px, #51bd5b 6px);
    padding:6px;
    margin-bottom: 30px;
}

h3.content4{
    position: relative;
    padding: 0.6em;
    background: -webkit-repeating-linear-gradient(-45deg, #62c38b, #62c38b 4px,#46b977 3px, #46b977 8px);
    background: repeating-linear-gradient(-45deg, #62c38b, #62c38b 4px,#46b977 3px, #46b977 8px);
    border-radius: 7px;
    color: #fff;
    font-size: 1.1em;
    margin-bottom: 20px;
}

h3.content4:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #62c38b;
    width: 0;
    height: 0;
}

section p{
    line-height: 170%;
    font-size: 14px;
    padding-bottom: .1rem;
    color: #454545;
}

p.intro{
    line-height: 250%;
}

h2.top01{
    text-align: left;
    font-size: 1em;
    color: #32b16c;
    padding-left: 6px;
    /* border-radius */
    border-radius:6px;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    /* border */
    border:2px solid #32b16c;
}

h2.leaf {
    font-size: 1.5em;
    background-color: #333;
    padding: 0px 8px 12px 0px;
    color: #333;
    background: rgba(0, 0, 0, 0) url("./img/common/line-01.jpg") repeat-x scroll center bottom;
    text-align: left;
    color: #22ac38;
}

h2.leaf img{
    max-width: 32px;
    margin: 0 8px 0 0;
    display: inline;
}

.twtter{
    border: 1px solid #545454;
}

.about-btn img{
    max-width: 280px;
}

.hr-bo{
    background: rgba(0, 0, 0, 0) url("./img/common/line-02.png") repeat-x scroll center bottom;
    height: 16px;
    margin: 80px 0 100px 0;
}

section.shien-bg{
    background: #fcf3e5;
    
}

.shien-in{
    margin-top: -30px;
    padding: 0 30px 50px 30px;
}

h2.tree{
    position: relative;
    top:-40px;
}

h2.tree img{
    width: 93px;
}

h3.tree{
    font-size: 1.5em;
    color: #017db7;
    line-height: 1.5em;
    margin-bottom: 20px;
}

.cont-in{
    padding: 10px 20px;
}

.bn-bosyu img{
    max-width: 1086px;
}




p.cont{
    color: #46b950;
    font-size: 1.4em;
    font-weight: bold;
    text-align: center;
    text-decoration: underline;
    padding-bottom: 5px;
}

p.cont2{
    color: #46b950;
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
    text-decoration: underline;
    padding-bottom: 5px;
}


.contact-bg{
    background-image: url(./img/index/slide-bg.jpg);
    padding:80px 0; 
    margin-bottom: 50px;
}

.box-w{
    background: #fff;
    padding: 70px 30px;
    margin-bottom: 0;
}

.box-w-s{
    background: #fff;
    padding: 0;
    margin-bottom: 0;
}

.box-s-tt{
    margin: 10px;
    font-weight: bold;
}

.box-s-tt-kiji{
    margin: 10px;
}

/* ニュースレターflexbox */

.newsletter{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.newsletter-in{
    width: 23.5%;
    margin-left: 1%;
}

@media (max-width: 480px){
    .newsletter-in{
        width: 100%;
    }
}



/* about */

@media ( min-width : 769px ) {  
    header .content-title.about {
        background-image:url(./img/about/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:300px;
    }
}

@media ( max-width : 768px ) {
    header .content-title.about {
        background-image:url(./img/about/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:200px;
    }
}

/* content1 */

@media ( min-width : 769px ) {  
    header .content-title.content1 {
        background-image:url(./img/content1/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:210px;
    }
}

@media ( max-width : 768px ) {
    header .content-title.content1 {
        background-image:url(./img/content1/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:200px;
    }
}

/* content2 */

.cont2-tt{
    font-weight: bold;
    color: #22ac38;
    font-size: 1.2em;
}

.li-eve-left{
    background: #369E5C;
    color: #fff;
    margin-right: 12px;
    width:120px;
    text-align: center;
    font-size: .9em;
}

@media ( min-width : 769px ) {  
    header .content-title.content2 {
        background-image:url(./img/content2/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:210px;
    }
}

@media ( max-width : 768px ) {
    header .content-title.content2 {
        background-image:url(./img/content2/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:200px;
    }
}

/* content3 */

@media ( min-width : 769px ) {  
    header .content-title.content3 {
        background-image:url(./img/content3/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:210px;
    }
}

@media ( max-width : 768px ) {
    header .content-title.content3 {
        background-image:url(./img/content3/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:200px;
    }
}

.bn-event img{
    max-width: 1099px;
}

.jyusyo-r{
    background: #f3f8e6;
    padding: 6px;
    font-weight: bold;
    margin-bottom: 8px;
    font-size: .9em;
    line-height: 250%;
}

.jyusyo-b{
    background: #f3f8e6;
    padding: 6px;
    font-weight: bold;
    margin-bottom: 8px;
    font-size: .9em;
    line-height: 220%;
}

.nendo{
    background: #369e5c;
    color: #fff;
    padding: 4px 10px;
    margin-right: 20px;
    font-size:13px;
    width: 250px;
}
.katudo{
    background: #369e5c;
    color: #fff;
    padding: 4px 11.5px;
    margin-right: 20px;
    font-size:13px;
    width: 250px;
}

.caption{
    text-align: right;
    font-size:1rem;
}

.weblink{
    font-size:11px;
    margin-right: 10px;
}

.weblink-s{
    font-size:10px;
}


.name{
    margin-right: 20px;
}

.flow{
    text-align: center;
    line-height: 180%;
}

/* h2 円 */
.site-logo {
    margin: 0 auto;
    /* サイズ指定 */ 
    width:150px;
    height:150px;
    /* 背景色 */
    background-color:#46b950;
    /* 角を丸くする */
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
}

.site-info {
    padding-top:65px; /* 真ん中にまで文字を下ろす */
}

.site-logo h2,
.site-logo p {
    text-align: center; /* 中央寄せ */
    color: #fff; /* 文字を白色に */
    line-height: 1;
    margin: 0; /* h1とpの余白をリセット */
}

/* あとは文字サイズや太字を指定 */
.site-logo h2 {font-size:20px;}
.site-logo p {font-size:10px; font-weight:bold;}



.googlemap iframe { width:100%; height:350px; }
.googlemap-link-box { text-align: right; }
.about1-box dl { 
    padding:6px; 
    border-bottom: solid #d2d2d2 1px;
}
.about1-box dl dt { 
    width: 100px;
    background: #22ac38;
    color: #fff;
    text-align: center;
    font-size: 14px;
    margin-bottom: 6px;
}


.about2-box { margin-bottom:30px; }
.about2-box dl { 
    padding:6px; 
}
.about2-box dt { 
    font-weight: bold;
    margin-right: 6px;
}
.about2-box dl dt { float:left; width: 70px; }
.about2-box dl dd{
    margin-left: 10px;
}

.about3-box { margin-bottom:30px; }
.about3-box dl { 
    padding:6px;
}
.about3-box dt { font-weight: bold;}
.about3-box dl dt { float:left; }

.about4-box { margin-bottom:30px; }
.about4-box dl { 
    padding:6px;
    padding-left: 20px;
}
.about4-box dt { font-weight: bold;}
.about4-box dl dt { float:left;  }




/* content4 */

@media ( min-width : 769px ) {  
    header .content-title.content4 {
        background-image:url(./img/content4/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:210px;
    }
}

@media ( max-width : 768px ) {
    header .content-title.content4 {
        background-image:url(./img/content4/bg-header.jpg);
        background-repeat:no-repeat;
        background-size:100%;
        background-position:center;
        height:200px;
    }
}

.btn-mem img{
    max-width: 360px;
}

.mem-me img {
    max-width: 300px;
}


/* マージンとか */

.t-center{
    text-align: center;
}

.t-right{
    text-align: right;
}

.l-h230{
    line-height: 230%;
}

.l-h200{
    line-height: 200%;
}

.l-h190{
    line-height: 190%;
}

.l-h180{
    line-height: 180%;
}

.l-h170{
    line-height: 170%;
}

.p-2{
    padding: 2px;
}

.p-10{
    padding: 10px;
}

.p-lr20 { padding: 0 20px;}

.m-b3{
    margin-bottom: 3px;
}

.m-b6{
    margin-bottom: 6px;
}

.m-b10{
    margin-bottom: 10px;
}

.m-b20{
    margin-bottom: 20px;
}

.m-b40{
    margin-bottom: 40px;
}

.m-b60{
    margin-bottom: 60px;
}

.m-r10{
    margin-right: 10px;
}

.m-r12{
    margin-right: 12px;
}
.m-r14{
    margin-right: 14px;
}
.m-r20{
    margin-right: 20px;
}

.m-l20{
    margin-left: 20px;
}

.tbg-lg{
    background: #e6f7be;
    padding: 3px;
}

.ul-dash{
    padding: 2px;
    border-bottom: 2px dotted #22ac38;
}

.bg-dash{
    padding: 10px;
    border: 2px dashed #22ac38;
}

.img-260 img{
    max-width: 260px
}

/* フォントカラー */
.pink{
    color: #ed716a;
}
.blue{
    color: #008FD1;   
}
.red{
    color: #ff0000;   
}

/* ライン系 */
mark{
    background: #ff0;
    color: #2d8a20;
}

.line-y {
    background: -webkit-gradient(linear,left top, left bottom,color-stop(30%, transparent),color-stop(0%, #fff799));
    background: linear-gradient(transparent 30%,#fff799 0%);
}


/* ブラウザ指定 */

/* IE11 */
_:-ms-lang(x)::-ms-backdrop,
.ie11none {
    color: #545454;
    line-height: 160%;
    font-size: 12.6px;
}

/* chrome safari opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .ie11none { display: none; }
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    .ie11none { display: none; }
}

/* safari */
_::-webkit-full-page-media, _:future, :root .ie11none {
    display: none;
}

/* Firefox */
@-moz-document url-prefix() {
    .ie11none { display: none; }
}

/* Edge */
@supports (-ms-ime-align: auto) {
    .ie11none { display: none; }
}