@charset "UTF-8";

@import url("https://use.fontawesome.com/releases/v5.15.4/css/all.css");

/*--------------------------------------------------------
  共通レイアウトパーツ設定
--------------------------------------------------------*/
/* ヘッダー内パーツ */
#hpb-headerMain{
    height: 19px;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
}

#hpb-headerMain h1{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    text-align: left;
    font-weight: normal;
    line-height: 18px;
    font-size: 10px;
    color: #ffffff; /* ヘッダー説明文文字色 */
    overflow: hidden;
}

#hpb-headerLogo{
    width: 400px;
    float: left;
}

#hpb-headerLogo a{
    display: block;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 20px;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    text-indent: -9999px;
    overflow: hidden;
    height: 55px;
    background-image : url(logo_1A.png);
    background-position: center left;
    background-repeat: no-repeat;
}

#hpb-headerExtra1{
    width: 330px;
    margin-top: 0;
    margin-right: 10px;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 20px;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    float: right;
}

#hpb-headerExtra1 p.tel{
    /* 電話番号の文字設定 */
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    font-size: 1.5em;
    font-weight: bold;
    color: #3FAFDE;
    line-height: 1.2;
    text-align: right;
}

#hpb-headerExtra1 p.tel span{
    /* 電話番号の「TEL」文字設定 */
    font-weight: bold;
    color: #3FAFDE;
}

#hpb-headerExtra1 p.address{
    /* 住所文字設定 */
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    line-height: 1.2;
    text-align: right;
}

/* フッター内パーツ */
#hpb-footerMain{
    width: 300px;
    float: right;
    padding-top: 35px;
}

#hpb-footerMain p{
    /* コピーライト文字設定 */
    font-size: 0.8em;
    text-align: right;
}

#hpb-footerExtra1{
    padding-top: 9px;
}

#hpb-footerExtra1 ul{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    list-style-type: none;
    text-align: left;
}

#hpb-footerExtra1 li{
    /* フッターナビ設定 */
    display: inline;
    background-image : url(fpoint_1A.png);
    background-position: 7px 4px;
    background-repeat: no-repeat;
    padding-left: 23px;
    padding-right: 10px;
    font-weight: bold;
}

#hpb-footerExtra1 a:link{
    color: #666666;
    text-decoration: none;
}
#hpb-footerExtra1 a:visited{
    color: #666666;
    text-decoration: none;
}
#hpb-footerExtra1 a:hover{
    color: #188BBC;
    text-decoration: none;
}
#hpb-footerExtra1 a:active{
    color: #188BBC;
    text-decoration: none;
}

#hpb-footerExtra2{
}

/* サイドブロック内パーツ */
#banner{
    margin-top: 15px;
    background-color: #F4F4F4;
    padding-top: 10px;
}

#banner ul{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    list-style-type: none;
}

#banner li{
    padding-bottom: 10px;
}

#banner li a{
    display: block;
    width: 200px;
    height: 70px;
    margin-left: auto;
    margin-right: auto;
    text-indent: -9999px;
    overflow: hidden;
}

#banner a#banner-service{
    /* 製品一覧バナー */
    background-image : url(top_banner_1A_01.png);
    background-position: top left;
    background-repeat: no-repeat;
}

#banner a#banner-recruit{
    /* 採用情報バナー */
    background-image : url(top_banner_1A_02.png);
    background-position: top left;
    background-repeat: no-repeat;
}

#banner a#banner-access{
    /* アクセスバナー */
    background-image : url(top_banner_1A_03.png);
    background-position: top left;
    background-repeat: no-repeat;
}

/*--------------------------------------------------------
  ナビゲーションデザイン設定
--------------------------------------------------------*/

#hpb-nav li a{
    /* ナビゲーション文字設定 */
    font-weight: bold;
}

#hpb-nav li a:link{
    color: #666666;
    text-decoration: none;
}
/* ナビゲーション文字色設定 */
#hpb-nav li a:visited{
    color: #666666;
    text-decoration: none;
}
#hpb-nav li a:hover{
    color: #ffffff;
    text-decoration: none;
}
#hpb-nav li a:action{
    color: #ffffff;
    text-decoration: none;
}
#hpb-nav li.navon a{
    color: #fff;
    background-image : url(mainmenu_1A_01_on.png);
    background-position: left top;
    background-repeat: repeat-x;
}


#hpb-nav li span.en{
    display: none;
}


/*--------------------------------------------------------
  基本パーツデザイン設定
--------------------------------------------------------*/

/* リンク文字色 */
a:link{
    color: #1F7EA7;
    text-decoration: underline;
}
a:visited{
    color: #1F7EA7;
    text-decoration: underline;
}
a:hover{
    color: #64BEE6;
    text-decoration: none;
}
a:active{
    color: #64BEE6;
    text-decoration: none;
}

#hpb-skip{
    /* ヘッダースキップの非表示 */
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    text-indent: -9999px;
}

p{
    margin-top: 0.5em;
    margin-bottom: 2em;
    padding-right: 0.1em;
    padding-left: 0.1em;
    line-height: 1.4;
    text-align: left;
}

p.large{
    color: #157299;
    font-weight: bold;
}
p.indent{
    padding-left: 25px;
}

.left{
    float: left;
}
.right{
    float: right;
}
.center{
    text-align: center !important;
}

hr{
    width: 100%;
    height: 1px;
    margin-top: 10px;
    margin-right: auto;
    margin-bottom: 20px;
    margin-left: auto;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    clear: both;
    border-top-width: 1px;
    border-top-style: none;
    border-right-width: 1px;
    border-right-style: none;
    border-left-width: 1px;
    border-left-style: none;
    color: #ffffff;
    border-bottom-width: 1px;
    border-bottom-style: none;
}

.hpb-layoutset-02 h2{
    background-image : url(content_title_1A.png);
    width: 650px;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0.5em;
    margin-left: 0;
    height: 50px;
    line-height: 57px;
    text-align: left;
    overflow: hidden;
}

.hpb-layoutset-02 h2 span.ja{
    font-size: 1.15em;
    color: #ffffff;
    padding-right: 10px;
    line-height: 50px;
    padding-left: 18px;
}

h2 span.en{
    font-size: 0.9em;
    color: #B1CCE4;
}

.hpb-layoutset-02 #hpb-wrapper h3.camp{
    margin-top: 1em;
    margin-bottom: 1.5em;
    text-align: left;
    padding-top: 3px;
    padding-left: 1px;
    border-bottom-width: 2px;
    border-bottom-style: solid;
    border-bottom-color: #2CABE2;
    font-size: 1.3em;
    background-color: #3fafde;
    color: #fff;
}
.hpb-layoutset-02 #hpb-wrapper h3{
    margin-top: 0.5em;
    margin-bottom: 1em;
    text-align: left;
    padding-top: 3px;
    padding-left: 1px;
    border-bottom-width: 2px;
    border-bottom-style: solid;
    border-bottom-color: #2CABE2;
    font-size: 1.3em;
    color: #105978;

}

h3.hpb-c-index{
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    text-indent: -9999px;
    background: none;
}

h4{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 2px;
    padding-left: 2px;
    text-align: left;
    font-size: 1.1em;
    line-height: 1.2;
    color: #1F7EA7;
}
h4.sub-index {
    margin: 0 0 30px 0;
    padding: 10px 0 0px 25px;
    text-align: left;
    line-height: 16px;
    font-weight: bold;
    font-size: 1.5em;
    background: url(point_1A21.png) no-repeat 5px 12px;
    color: #1F8DBC;
}
h5{
    display: inline;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 4px;
    padding-right: 10px;
    padding-bottom: 2px;
    padding-left: 0px;
    text-align: left;
    font-size: 1.2em;
    line-height: 1.2;
    color: #1F8DBC;
}

table{
    margin-top: 5px;
    margin-right: auto;
    margin-bottom: 5px;
    margin-left: 0;
    border-collapse: collapse;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #cccccc;
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: #cccccc;
}

table th{
    padding-top: 8px;
    padding-right: 15px;
    padding-bottom: 8px;
    padding-left: 8px;
    text-align: left;
    background-color: #eeeeee;
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: #cccccc;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #cccccc;
}

table td{
    padding-top: 8px;
    padding-right: 15px;
    padding-bottom: 8px;
    padding-left: 8px;
    text-align: left;
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: #cccccc;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #cccccc;
}

/* フォームパーツ設定 */
input.button{
    margin-top: 10px;
    margin-bottom: 15px;
}

textarea{
    width: 400px;
    height: 200px;
}

input.l{
    width: 400px;
}
input.m{
    width: 250px;
}
input.s{
    width: 150px;
}


/* メインコンテンツ内基本パーツ */

#hpb-main ul{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    list-style-type: none;
}

#hpb-main ul li{
    text-align: left;
    line-height: 1.4;
    padding-top: 10px;
    padding-right: 15px;
    padding-bottom: 10px;
    padding-left: 25px;
    background-image : url(point_1A.png);
    background-position: 5px 12px;
    background-repeat: no-repeat;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #DDDDDD;
    color: #000000;
}

#hpb-main dl{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 20px;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    zoom: 100%;
}

#hpb-main dt{
    float: left;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    text-align: left;
    line-height: 16px;
    min-height: 16px;
    font-weight: bold;
    width: 170px !important;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 25px;
    background-image : url(point_1A.png);
    background-position: 5px 12px;
    background-repeat: no-repeat;
    color: #1F8DBC;
}

#hpb-main dd{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 10px;
    padding-right: 15px;
    padding-bottom: 10px;
    text-align: left;
    line-height: 16px;
    min-height: 16px;
    padding-left: 195px;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #DDDDDD;
}

*:first-child + html #hpb-main dd{
    /* for IE7 */
    padding-left: 10px;
    min-height: 20px;
}

* html #hpb-main dd{
    /* for IE6 */
    height: 20px;
    padding-left: 0px;
}

#hpb-main dl::after{
    content: ".";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}

#hpb-main img.left{
    margin-top: 5px;
    margin-right: 20px;
    margin-bottom: 10px;
    float: left;
}

#hpb-main img.right{
    margin-top: 5px;
    margin-bottom: 10px;
    margin-left: 20px;
    float: right;
}
#hpb-main img.center{
    margin: 0 auto;
    display: block;
}

#pagetop{
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
}

#pagetop a{
    /* ページの先頭へのリンク設定 */
    display: block;
    margin-left: auto;
    width: 125px;
    height: 21px;
    overflow: hidden;
    background-image : url(returnTop_1A.png);
    background-position: top left;
    background-repeat: no-repeat;
    text-align: left;
    text-indent: -9999px;
}


/* トップページ デザイン定義 */
.hpb-layoutset-01 #hpb-title h2{
    color: #fff;
    font-family: 'YuMincho','????','Yu Mincho','???','Hiragino Mincho ProN' , '?????? ProN' , 'Hiragino Mincho Pro' , '?????? Pro';
    font-size: 1.8em;
    line-height: 1.2em;
    text-align: left;
    text-shadow: 2px 2px 4px #000;
    padding: 20px 20px 0;
    margin: 0;
    /*-overflow: hidden;
    text-indent: -9999px;-*/
    height: 235px;
    background-image : url(top_mainimg_1A_01.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 900px;
}

#toppage-topics h3{
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    height: 26px;
    overflow: hidden;
    background-image : url(top_indexBg_1A.png);
    background-position: top left;
    background-repeat: no-repeat;
    line-height: 28px;
    padding-left: 10px;
    text-align: left;
    color: #ffffff;
    font-size: 1.2em;
}

#toppage-news h3{
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    height: 26px;
    overflow: hidden;
    background-image : url(top_indexBg_1A.png);
    background-position: top left;
    background-repeat: no-repeat;
    line-height: 28px;
    padding-left: 10px;
    text-align: left;
    color: #ffffff;
    font-size: 1.2em;
}

#toppage-news h3 span.ja{
    display: none;
}

#hpb-inner #companyinfo{
    padding-top: 0px;
    padding-bottom: 10px;
    background-color: #F3F3F3;
}

#hpb-inner #companyinfo h3{
    color: #FFFFFF;
    text-align: left;
    font-weight: bold;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 5px;
    background-color: #56BFED;
    font-size: 1em;
}

.iyc2025{
    display: flex;
    column-gap: 50px;
    align-items: center;
    justify-content: flex-start;
    /* background: #e6f9b3; */
    padding:5px;
    margin-bottom: 20px;
}
.iyc2025 img{
    width: 30%;
}
.iyc2025 p{
    padding:10px 0;
    margin: 0px;
    width: 60%;
    font-size: 1.05em;
}
.iyc2025 a{
    font-size: 0.9em;
}

#toppage-news dl dt {
    width: 140px !important;
}
#toppage-news dl dt span {
    color: #fff !important;
}
#toppage-news dd {
    padding-left: 145px !important;
    position: relative;
}

#toppage-news .icon {
    position: absolute;
    margin-left: 5px;
    background-color: orange;
    color: #fff;
    font-size:70%;
    padding: 0 2px;
    border-radius: 2px;
}

#toppage-news .news-more {
    float: right;
  position: relative;
  display: inline-block;
  padding-left: 20px;
}
#toppage-news .news-more:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #5bc0de;
  border-right: solid 2px #5bc0de;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -4px;
  position: absolute;
  top: 50%;
  left: 0;
}

#hpb-inner #companyinfo{
    padding-top: 0px;
    padding-bottom: 10px;
    background-color: #F3F3F3;
}

#hpb-inner #companyinfo h3{
    color: #FFFFFF;
    text-align: left;
    font-weight: bold;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 5px;
    background-color: #56BFED;
    font-size: 1em;
}

#hpb-inner #companyinfo p{
    margin-bottom: 10px;
    padding-left: 15px;
    padding-right: 5px;
}
/*- フラッシュ デザイン定義 -*/
#slideshow {
  position: relative;
  height: 350px;
  width: 100%;
  overflow: hidden;
}

#slideshow a {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

#slideshow a img {
  width: 100%;
  height: auto;
  display: block;
}

#slideshow a.active {
  opacity: 1;
  z-index: 2;
}


/*-組合員の皆様へ-*/
#news .news-frame{
    padding: 20px 10px;
    margin-top: -25px;
    margin-bottom: 30px;
    border: 1px solid #ccc;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    background-color: #fdfdfd;
    overflow: hidden;
}
#news .news-frame h5{
    display: block;
    color: #fff;
    text-align: center;
    margin-bottom: 5px;
    padding: 4px 10px;
    border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
    -o-border-radius: 30px;
    background-color: #9ac212;
    background-image: none;
}
#news .news-frame .date{
    margin-right: 5px;
    float: right;
}
#news .news-frame .detail{
    clear: both;
    padding: 5px;
    overflow: hidden;
}
#news .detail h6 {
    font-size: 110%;
    padding:0;
    margin: 10px 0 0;
}
#news .detail-left{
    float: left;
    width: 360px;
}

#news .detail .info {
    font-weight:bold;
    background-color: #eaf2f2;
    padding: 20px 10px 0;
    margin: 10px 30px 30px;
}
#news .detail .info h6 {
    margin: 5px 10px 0;
}
#news .detail .info p{
    color:rgb(2, 2, 143);
    font-size:1.1em;
    margin-bottom: 1em;
}
#news .detail .info p span{
    letter-spacing: -0.3em;
    padding-right:5px;
}
#news .detail .info div{
    padding-left:3em;
}
#news .detail img.wd{
        width:90%;
}

.wd50{width: 42%;}
.mt-50{margin-top: -30px;}
.txt-num span{
    letter-spacing: -0.3em;
    padding-right:5px;
}
.gap10{gap:10px;}

ul.list-none {
    font-weight:bold;
    /* margin-bottom: 3em !important; */
}
ul.list-none li{
    padding: 5px 0px 3px 5em!important;
    background: none !important;
    text-indent: -5em;
}

#news .news-open{
    float: left;
    width: 350px;
}
#news .news-open dl{
    padding: 15px 5px 15px 15px;
    margin: 0px 0 0px 0px;
    background-color: #ffdfdf;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
}
#news .news-open dl.bg-blue{
    background-color: #dffaff;
}
#news .news-open dl.bg-yellow{
    background-color: #ffc;
}
#news .news-open dt{
    color: #000;
    padding: 5px 0;
    width: 100px !important;
    background-image: none;
}
#news .news-open dl{
    margin-bottom: 0;
}
#news .news-open dd{
    padding: 5px 5px 5px 105px;
    text-align: left;
    line-height: 16px;
    min-height: auto;
    border: none;
    font-weight: bold;
}
#news .detail p.news-date{
    padding: 0;
    margin-top: -0.2em;
    margin-bottom: 0.5em;
}
#news .detail strong {
    color: #600;
    font-size: 120%;
}
#news .news-open dl.bg-blue strong {
    color: rgb(0, 10, 102);
}
#news ul.notic{
    padding:0;
    margin: 5px 0 0;
}
#news  ul.notic li{
    background: none !important;
    border: none !important;
    text-indent: -1.0em;
    padding: 0 0 0 1.0em;;
    margin:0;
}

#news div#PageBody {
    margin: 0;
    padding: 0;
    float: right;
    width: 250px;
}
#news div#PageBody ul.Photos {
    padding: 0px;
    margin: 0.5em 0;
    list-style: none;
}
#news div#PageBody ul.Photos li {
    display: inline;
    border: none;
    width: 135px;
    height: 110px;
    background: none;
    padding: 0 3px;
}
#news div#PageBody ul.Photos li img {
    background-color: #ffffff;
}

#news div#PageBody ul.Photos li a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}


#news .shinsei-frame{
    width: 630px;
    padding: 20px 10px;
    margin-top: -25px;
    margin-bottom: 30px;
    border: 1px solid #ccc;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    background-color: #fdfdfd;
}

/*-組合長挨拶-*/
#column p{
    font-size: 1.2em;
    text-indent: 1em;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.714;
}

#column .photo{
    float: left;
    margin-right: 1.2em;
    margin-bottom: 1em;
}

#column .text{
    color: #000;
    width: 393px;
    font-size: 90%;
    float: right;
}

#column .column-foot{
    font-size: 1.2em;
    margin-top: 30px;
    float: right;
}

/*-渋川広域森林組合について-*/
#about p{
    text-indent: 1em;
}
#about ul{
    margin-bottom: 5px;
}
#about ul li{
    padding: 0px 0 3px 2.0em;
    background : none;
    border: none;
}
#about ul.special li{
    padding-left: 1.0em !important;
}
#about p.message{
    font-size: 102%;
    font-weight: bold;
    padding-right: 10px;
    margin: 30px 0;
/*-
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    background-color: #fdfdfd;
    overflow: hidden;
-*/
}

/*-組合業務-*/
.servicemap{
	/*-position: static !important;-*/
    position: relative;
}
.servicemap .tooltip_section {
	margin: 0 auto;
}
.servicemap .tooltip_section img.map_link{
    width: 100%;
    height: auto;
}
#yasuragi .parkmap img{
    display: flex;
    justify-content: center;
}



.cf:before,
.cf:after{
  content:"";
  display:table;
}
 
.cf:after{
  clear:both;
}
 
.cf{
  zoom:1;
}

#content {
  max-width: 650px;
  margin: 3rem auto;
  text-align: center;
}

#featured_img img,
#thumb_img img {
  max-width: 100%;
}

#thumb_img {
  margin-top:2%;
}
#thumb_img  img {
    float:left;
    max-width: 32%;
    width: 32%;
    cursor: pointer;
    margin-right:2%;
    border:2px solid #eee;
    box-sizing:border-box;
}
#thumb_img a.active{
      border:2px solid #cac6b8;
    }
    #thumb_img a:last-child{
      margin-right:0;
    }




/*-採用情報-*/
#recruit .recruit-frame{
    width: 600px;
    display: inline-table;
    padding: 20px 18px;
    margin-bottom: 30px;
/*-
    border: 1px solid #ccc;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
-*/
    background-color: #fdfdfd;
}
#recruit p{
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
#recruit p.recruit-no{
    color: #157299;
    font-size: 14px;
    font-weight: bold;
    padding-left: 1.5em;
}
#recruit .photo{
    margin-top: 50px;
}


#recruit .message{
    display: block;
    color: #2CABE2;
    font-size: 24px;
    font-weight:bold;
    font-family: '游明朝','Yu Mincho';
    text-align: center;
    margin: 0 auto;
}

#recruit h3{
    margin-top: 20px !important;
}
#recruit table{
    width: 100%;
}
#recruit table th{
    width: 120px;
    text-align: center;
}

/*-SDGs宣言-*/
#hpb-nav #sdgson a{
    color: #fff;
    background-image : url(mainmenu_1A_01_on.png);
    background-position: left top;
    background-repeat: repeat-x;
}

h2.sdgs{
    text-align: center;
    line-height: 1px;
    height: 70px !important;
}
h2.sdgs .ja{
    padding: 0 !important;
}
h2.sdgs .caption{
    color: #fff;
    font-size: 80%;
    font-weight: normal;
    text-align: center;
}
#sdgs h4{
    font-size: 1.15em;
        display: block;
        color: #fff;
        text-align: center;
        margin-bottom: 5px;
        padding: 4px 10px;
        border-radius: 30px;
        -moz-border-radius: 30px;
        -webkit-border-radius: 30px;
        -o-border-radius: 30px;
        background-color: #9ac212;
        background-image: none;
}
#sdgs h5{
    color: rgb(0,102,0);
}
#sdgs .frame{
    position: relative;
    padding: 20px 10px;
    margin-top: 0px;
    margin-bottom: 30px;
    border: 1px solid #ccc;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    background-color: #fdfdfd;
    overflow: hidden;
}

#sdgs ul.goal{
    display:flex;
    flex-wrap: wrap;
    list-style: none;
    padding-left: 0;
    text-align: center;
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
}
#sdgs ul.goal li{
    font-size: 90%;
    width: calc(100% / 5);
    padding: 0 5px;
    margin: 0;
    box-sizing: border-box;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    background: none;
}
#sdgs ul.goal li.link{
    border: solid 2px #ccc;
    background: #c6f8b2;
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
}
/*#sdgs ul.goal li{
        text-overflow: ellipsis;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
}*/
#sdgs ul.goal li:hover {
	background-color: #dad6d6;
	text-decoration: none;
}
#sdgs ul.goal li img{
    margin: 7px auto;
    display: block;
}

#sdgs .detail {
    position: absolute;
    top: 30px;
    left: 180px;
    padding-right: 10px;
}

iframe.sdgsframe{
    border: 2px #008000 dotted;
}
.hpb-layoutset-03 #sdgs{
    margin-top: 10px;
}
.hpb-layoutset-03 #sdgs .frame{
    border: none;
}

/*共通*/
.flex{display: flex;}
.col-red{
    color: #ff0000;
}
.col-end{
    color: #ff0000;
    border: 1px solid #f00;
    padding: 0 10px;
    margin: 20px 10px 20px 0;
    border-radius: 3px;
    font-size: 85%;
    float:left;
}
.col-bul{color: #157299;}
.big {font-size: 110%;letter-spacing: 0.1em;}
.mini {font-size: 85%;}

.p10{padding:10px;}
.pr10{padding-right:10px;}
.pl10{padding-left:10px;}
.pt0{padding-top:0px !important;}

.mt30{margin-top: 30px;}
.mr10{margin-right: 10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom: 30px;}
.mb50{margin-bottom: 50px;}

.bg-pink{background-color: #ffdfdf;}
.bg-none{background: none !important;}
.bg-skyblue{background-color: #dffaff;}
.brd-dub{border-bottom: 3px double #f00;}
img.c{display:block;margin-right: auto; margin-left: auto;}

.txtind p{
    text-indent: 1em;
    margin:0;
}

.btn {
    display: inline-block;
    width: 250px;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
}
.btn a {
    display: inline-block;
    width: 300px;
    font-weight: bold;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 2px solid #9ac212;
    border-radius: 5px;
    background-color: #9ac212;
    position: relative;
}
.btn a::before {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    bottom: 0;
    content: "";
    height: 7px;
    width: 7px;
    margin: auto;
    position: absolute;
    right: 30px;
    top: 0;
    transform: rotate(45deg);
    transition: right .3s;
}
.btn a:hover{
    color: #9ac212;
    border: 2px solid #9ac212;
    border-radius: 5px;
    background-color: #fff;
}
.btn a:hover::before {
    right: 25px;
    border-right: 2px solid #9ac212;
    border-top: 2px solid #9ac212;
}

.pc{display: block;}
.sp{display: none;}

.slide {
    position: relative;
    width: 100%;
    padding-top: 62.5%;
    overflow: hidden;
    background-color: #c6c6c6;
}

a[href*=".pdf"]::after {
    content: "\f1c1";
    font-family: "Font Awesome 5 Free";
    color: #F30401;    
    padding-left: 5px;
    transform: scale(1.4);
    transition: 0.3s;
}
a[href*=".pdf"].none::after {
    content: "";
}
  
  @keyframes slideshow {
    0% {
      opacity: 0;
    }
  
    10% {
      opacity: 1;
    }
  
    28% {
      opacity: 1
    }
  
    38% {
      opacity: 0;
    }
  
    100% {
      opacity: 0;
    }
  }
  
  .slide img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    opacity: 0;
    animation: slideshow 24s linear infinite;
  }
  
  .slide img:nth-child(2) {
    animation-delay: 8s;
  }
  
  .slide img:last-child {
    animation-delay: 16s;
  }

.fnt-normal{
    font-weight: normal !important;
}
.fnt-bold{
    font-weight: bold;
}
.fnt-size120{
    letter-spacing: 0em !important;
    font-size:120% !important;
}
span.marker {
    letter-spacing: 0em !important;
    padding-right:5px;
    text-decoration: underline wavy red;
}
.p30{padding:30px !important;}
.pl0{padding-left:0 !important}
.mt5{margin-top:5px !important}
.mt20{margin-top:20px !important}
.boder-none li{
    border:none !important;
}
/*ボックス表示非表示*/
.switchbox {
    margin: 0px 0 0px;
    padding: 0;
}
.switchbox label {
	clear: both;
    display: block;
    font-weight: bold;
    cursor :pointer;
	color:#fe7200;
    color:#9ac212;
	background-color: #efefef;
    border-radius: 5px;
	padding: 4px 0px;
	margin-bottom: 20px !important;
}
.switchbox input {
    display: none; 
}
.switchbox div.labelblock {
    height: 0;
    overflow-y: hidden;
    transition: 11.8s;   	
    opacity: 0;
}
.switchbox input:checked + label + div {
    height: auto;
    opacity: 1;
	transition: 2.8s;
	margin-top:-10px;
}
.switchbox label::after {
    content: '[表示]';
	font-weight: normal;
    padding-right: 8px;
	text-decoration: underline;
}
.switchbox input:checked + label::after {
    content: '[非表示]';
}


/* =======================================================
  レスポンシブ設定
======================================================= */
@media screen and (max-width: 568px) {

	/*--------------------------------------------------------
	  共通レイアウトパーツ設定
	--------------------------------------------------------*/
	/* ヘッダー内パーツ */
	#hpb-headerMain{
		height: auto;
	}
	#hpb-headerMain h1{
		padding-left: 5px;
		padding-right: 5px;
		padding-top: 5px;
		padding-bottom: 5px;
		line-height: 1.4;
		background-color: #11739d;
	}
	#hpb-headerLogo{
		width: 98%;
		float: none;
		margin-left: auto;
		margin-right: auto;
	}
	#hpb-headerLogo a{
		display: block;
		max-width: 100%;
        background-image : url(logo_1A_sp.svg);
        background-size: contain;
		background-position: top center;
		margin-top: 10px;
		margin-bottom: 10px;
		margin-left: auto;
		margin-right: auto;
        height: auto;
	}
	#hpb-headerExtra1{
		width: 98%;
		margin-left: auto;
		margin-right: auto;
		float: none;
		padding-top: 10px;
	}

	/* フッター内パーツ */
	#hpb-footerMain{
		width: 100%;
		float: none;
		padding-top: 10px;
		padding-bottom: 10px;
		background-color: #F3F3F3;
	}
	#hpb-footerMain p{
		/* コピーライト文字設定 */
		text-align: center;
		margin-top: 0;
		margin-bottom: 0;
		padding-left: 5px;
		padding-right: 5px;
		word-break: break-all;
	}
	#hpb-footerExtra1{
		padding-top: 15px;
		padding-bottom: 15px;
	}
	#hpb-footerExtra1 ul{
		text-align: center;
	}
	#hpb-footerExtra1 li{
		/* フッターナビ設定 */
		display: inline-block;
		margin-top: 2px;
		margin-bottom: 2px;
	}

	/* サイドブロック内パーツ */
	#banner{
		margin-top: 0;
	}
	#banner li a{
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#banner a#banner-service,
	#banner a#banner-recruit,
	#banner a#banner-access{
		background-position: top center;
		background-size: contain;
	}

    /*-採用情報-*/
    #recruit .recruit-frame{
        width: 100%;
        display: inline-table;
        padding: 20px 0px;
        margin-bottom: 30px;
    }
    .btn a {
        width: 250px;
    }

	/*--------------------------------------------------------
	  ナビゲーションデザイン設定
	--------------------------------------------------------*/
	#hpb-nav h3.hpb-c-index{
		width: 27px;
		height: 20px;
		background-image : url(btn_menu.png);
		background-position: top left;
		background-repeat: no-repeat;
		margin-left: 10px;
		margin-top: 10px;
		margin-bottom: 10px;
		overflow: hidden;
		text-indent: -9999px;
		cursor: pointer;
	}

	/*--------------------------------------------------------
	  基本パーツデザイン設定
	--------------------------------------------------------*/
	p{
		padding-right: 0;
		padding-left: 0;
	}
	img.left{
		margin-left: 0;
	}
	img.right{
		margin-right: 0;
	}
	.hpb-layoutset-02 h2{
		background-image : none;
		background-color : #33a8da;
		width: 100%;
		height: auto;
		line-height: 1.4;
		padding-top: 12px;
		padding-bottom: 12px;
		word-break: break-all;
		box-sizing: border-box;
	}
	.hpb-layoutset-02 h2 span.ja{
		display: inline-block;
		line-height: 1.4;
		padding-right: 18px;
	}
	h2 span.en{
		display: block;
		padding-right: 18px;
		padding-left: 18px;
	}
	h4{
		padding-right: 0;
		padding-left: 0;
	}
	h5{
		padding-right: 0;
	}
	table{
		width: 96%;
		padding-right: 0;
		padding-left: 0;
		margin-left: auto;
		margin-right: auto;
	}

	/* フォームパーツ設定 */
	textarea{
		width: 96%;
	}

	input.l{
		width: 96%;
	}
	input.m{
		width: 60%;
	}
	input.s{
		width: 30%;
	}

	/* メインコンテンツ内基本パーツ */
	#hpb-main p{
		margin-left: 0;
		margin-right: 0;
	}
	#hpb-main ul li{
		padding-right: 0;
	}
	#hpb-main dt{
		float: none;
		max-width: 100% !important;
		padding-bottom: 0;
	}
	#hpb-main dd{
		padding-right: 0;
		padding-left: 25px;
	}
	#hpb-main img.left{
		margin-right: 0;
		float: none;
	}
    #sdgs img.left {
        margin-top: 5px;
        margin-right: 20px;
        margin-bottom: 10px;
        float: left !important;
    }
	#hpb-main img.right{
		margin-left: 0;
		float: none;
	}
    #pagetop {
        position: initial;
    }
    #pagetop a{
		/* ページの先頭へのリンク設定 */
		max-width: 100%;
	}

	/* トップページ デザイン定義 */
	.hpb-layoutset-01 #hpb-title h2{
        font-size: 1.3em;
        height: 200px;
        background-size: contain;
        background-image: url(top_mainimg_sp.svg);
	}

    #slideshow {
        height: auto;
    }
    .iyc2025 {
        display: flex;
        column-gap: 10px;
    }

    .iyc2025 img{
        width: 30%;
    }
    .iyc2025 p{
        font-size: 1em;
        width: 100%;
    }


    #toppage-news dd {
        padding-left: 25px !important;
    }

    #column .text {
        margin-left:93px;
        width: 100%;
    }
    #news .news-open dd {
        padding: 5px 5px 5px 20px;
        text-align: left;
        line-height: 16px;
        min-height: auto;
        border: none;
        font-weight: bold;
    }


    h2.sdgs {
        font-size: 90%;
    }


    #sdgs .frame-sp {
    /*    position: relative;*/
        padding: 20px 10px;
        margin-top: 0px;
        margin-bottom: 30px;
        border: 1px solid #ccc;
        border-radius: 3px;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
        -o-border-radius: 3px;
        background-color: #fdfdfd;
        overflow: hidden;
    }
    #sdgs .detail-sp {
        padding-right: 10px;
    }
    
    #sdgs ul.goal li img {
        width: 100%;
    }
    #sdgs ul.goal li{
        width: calc(100% / 3);
    }

    #slideshow{
        width: 100% !important;
    }
    #slideshow::after{
        content: '';
        display: block;
        height: 200px;
    }
    #slideshow img{
        display: block;
        max-width: 100%;
        width: 100% !important;
    }

    #news .detail .info{
        padding: 10px 10px;
        margin: 10px 0px 30px;
    }
    #news .detail .info div {
        padding-left: 1em;
    }
    #news .detail .info h6 {
        margin: 5px 0px 0;
    }
    #news .detail img.wd{
        width:100%;
    }
    #news .detail .info div {
        padding-left: 1em;
    }
    .sp-wd100{width: 100%;}
    .sp-p10{padding: 10px !important;}
    .mt-50{margin-top: 0px;}
    .sp-block{display: block;}

    .pc{display: none;}
    .sp{display: block;}
    
}
@media screen and (max-width: 400px) {
	.hpb-layoutset-01 #hpb-title h2{
        font-size: 1.1em;
        height: 150px;
	}
}
@media screen and (max-width: 390px) {

    #slideshow::after{
        content: '';
        display: block;
        height: 180px;
    }
}
@media screen and (max-width: 380px) {

    #slideshow::after{
        content: '';
        display: block;
        height: 150px;
    }
}