@charset "utf-8";

/***********************************

以下、通常のcustom.cssにしたいcss

************************************/

@media (min-width: 640px) {
    .mb {
        display: none !important;
    }

}

@media (max-width: 639px) {
    .pc {
        display: none !important;
    }
}


/***********************************

全体カラー

************************************/
body {
    font-family: "Century Gothic", "Noto Sans JP", Arial, sans-serif;
}

/*----------------------------------
ヘッダ
----------------------------------*/
#header_wrap #header {
    height: auto;
}

#menu_wrap {
    border-bottom: none;
}

#top-mv .rs-thumb-wrap {
    display: none;
}

#top-mv .rs-slider {
    margin-bottom: 0;
}

.company-logo {
    flex-grow: 0;
}

#header_logo_cover {
    display: flex;
    justify-content: space-between;
}

.lang-switcher {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    line-height: 1.3;
    width: calc((100% - 994px) / 2);
    flex-shrink: 0;
    flex-grow: 0;
}

.switch-wrap {
    background-color: #fff;
    display: flex;
    height: 26px;
    align-items: center;
    position: relative;
}

.switch-wrap:after {
    content: '';
    width: 1px;
    height: 24px;
    background: #666;
    position: absolute;
    right: 0;
    bottom: 0;
}


.lang-switcher .earth {
    width: 48px;
    height: 24px;
    background: no-repeat center url("img/global-icon.png");
}

.lang-switcher .sec {
    width: 80px;
    padding: 4px 0;
    display: flex;
    align-items: center;
    position: relative;
}

.lang-switcher .sec:before {
    content: '';
    width: 1px;
    background-color: #666;
    height: 16px;
    display: block;
}

.lang-switcher .sec.current:after {
    content: '';
    background-color: #d01220;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.lang-switcher .sec a {
    text-decoration: none;
    display: block;
    width: 100%;
}

.lang-switcher .sec .lang-label {
    font-family: Lato;
    font-size: 13px;
    font-weight: bold;
    color: #666;
    letter-spacing: 1px;
    display: block;
    text-align: center;
    width: 100%;
}

.lang-switcher .sec.current .lang-label {
    color: #354f76;
}

@media screen and (min-width: 641px) {
    #header_logo_wrap .company-logo {
        display: grid;
        place-content: center;
    }

    #header_logo_wrap .company-logo #logo {
        position: relative;
        margin-left: 1.5rem;
        top: auto;
        bottom: auto;
        height: auto;
    }

    #header_logo_wrap #logo img {
        width: 363px;
        margin-top: 0;
    }


    #header .header_banner {
        width: 100%;
        position: static;
        display: flex;
        justify-content: flex-start;
        flex-direction: row-reverse;
        align-items: center;
        column-gap: 1rem;
        margin-top: 0;
    }

    #header .header_banner .text_row {
        margin-top: 0;
    }

}


@media screen and (max-width: 1600px) {
    #header_logo_cover {
        flex-direction: column;
        padding-right: 10px;
        box-sizing: border-box;
    }

    .lang-switcher {
        width: 100%;
        justify-content: right;
        padding-bottom: 10px;
    }
}

@media screen and (max-width: 1120px) and (min-width: 640px) {
    #header .header_banner {
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        gap: 4px;
    }
}

/*----------------------------------
キャッチフレーズ
----------------------------------*/
#desc_fit {
    width: 100%;
}

/*----------------------------------
ヘッダロゴ背景
----------------------------------*/
#header_wrap {
    background: #fff;
    min-width: unset;
}

@media screen and (max-width: 640px) {
    .header_banner_wrapper.sm .text_header_banner {
        margin-bottom: 0;
        padding-top: 15px;
    }

    #header_wrap + div,
    .header_banner_wrapper.sm{
        background: #f5f5f5;
    }
}


/*----------------------------------
ヘッダーロゴ　640×100の画像を使用した場合
----------------------------------*/
#logo img { /**　ＰＣロゴ調整　**/
    margin: 19px 0 0 0;
    width: 67%;
}

@media screen and (min-width: 641px) {
    #header_logo_wrap {
        height: 105px;
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
}

@media screen and (max-width: 640px) {
    #logo_sm {
        width: 85%;
        margin: 0 auto;
        padding: 20px 0 0 0;
    }
}


/*----------------------------------
ヘッダウィジット
----------------------------------*/
.header_banner .text_row .textwidget p {
    line-height: 1.3;
}


.header_banner .banner_row .barb_text_banner {
    border-radius: 0;
    height: 38px;
    line-height: 38px;
}

@media screen and (min-width: 641px) {
    .header_banner .text_row {
        width: 100%;
    }

    .header_banner .text_row .textwidget {
        height: auto;
        margin-top: 0;
    }
}



/*----------------------------------
サイト説明文部分
----------------------------------*/
#desc_wrap {
    background: #ddd; /*説明文背景*/
}

#site_description {
    color: #333; /*説明文テキスト*/
}

@media screen and (min-width: 641px) {
    #site_description {
        color: #333; /*説明文テキスト*/
        text-align: center;
    }
}


@media screen and (max-width: 640px) {
    /*スマホ*/
    #header {
        background: #999; /*説明文背景*/
    }

    .title_text {
        color: #fff; /*説明文テキスト*/
    }
}

/*----------------------------------
ヘッダブレイクポイントの変更
----------------------------------*/

/*----------------------------------
グローバルメニュー
----------------------------------*/

#menu_wrap {
    background: #e50012; /*全体背景色*/
    border-color: #fff; /*区切り線*/
}

#menu_wrap #menu_fit,
#menu_wrap #menu_fit #global_menu {
    max-width: 100%;
}

#global_menu {
    border-right: none;
}
#global_menu a {
    font-family: "Noto Sans JP", Arial, sans-serif;
}

#global_menu .menu > .menu-item > a {
    font-size: .9rem;
    background: #e50012;
    color: #fff;
    position: relative;
}

#global_menu .sub-menu .menu-item a {
    font-size: .8rem;
    color: #fff;
}

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

    #global_menu .menu {
        display: flex;
    }

    #global_menu .menu > .menu-item {
        height: 100%;
        width: 100%;
    }

    #global_menu .menu > .menu-item > a {
        border: 0;
        line-height: 1.3;
        display: grid;
        place-content: center;
    }

    #global_menu .menu > .menu-item > a > span {
        transform: translateY(-3px);
    }

    #global_menu .menu > .menu-item-has-children > a:after {
        content: "\f0d7";
        font-family: "FontAwesome";
        font-weight: 900;
        font-size: .9em;
        position: absolute;
        display: block;
        height: 1em;
        bottom: 3px;
        left: 50%;
        transform: translateX(-50%);
    }

    #global_menu .menu > .menu-item > a:before,
    #global_menu .menu > .menu-item:last-child:after {
        content: '';
        width: 1px;
        height: 1.8rem;
        background: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }

    #global_menu .menu > .menu-item > a:before {
        left: 0;
    }
    #global_menu .menu > .menu-item:last-child:after {
        right: 0;
    }

    #global_menu .sub-menu {
        background: #191f23;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    #global_menu .sub-menu .menu-item a {
        background: #191f23;
        border: none;
        display: flex;
        align-items: flex-start;
        gap: 6px;
        line-height: 1.4;
        padding: 10px 12px;
        letter-spacing: 1px;
    }

    #global_menu .sub-menu .menu-item a:before {
        content: '●';
        font-size: 8px;
        transform: translateY(3px);
    }

}

@media screen and (max-width: 640px) {
    /**** 折りたたみメニュー ****/
    /**** メニューボタン ****/
    #header a.menu_button {
        color: #fff;
        border: 1px solid #fff;
        background: #111;
    }

    #header a.menu_button:hover,
    #header a.menu_button:active {
        background: #333;
    }


    /**** グローバルメニュー ****/
    #global_menu li a {
        border-color: #999;
        background: #fff url(./img/arrow4.png) no-repeat 20px;
        color: #333;
    }

    #global_menu li a:hover {
        color: #666;
        background: #EFF4F5 url(./img/arrow4.png) no-repeat 20px;
    }

}

/*----------------------------------
電話番号・お問い合わせ・住所
----------------------------------*/
.header_banner.pc.clearfix {
    padding-top: 5px;
}

/*----------------------------------
パンくずリスト
----------------------------------*/
#breadcrumb {
    margin-bottom: 1.5em;
}

@media screen and (max-width: 640px) {
    #breadcrumb {
        padding: 0 1rem;
    }
}

/*----------------------------------
イメージロールオーバー
----------------------------------*/
/** index　メインビジュアル1枚でロールオーバー（リンク）なし**/
　
#recommend_gallery a:hover img,
.rs-slider > li > a:hover img {
    opacity: 1.0;
    cursor: default;
}


/*----------------------------------
ピックアップ
----------------------------------*/
#index_pickup .headline1 { /*ピックアップヘッダ*/
    color: #ccc;
    background: #222;
}


/*----------------------------------
ページタイトルヘッダー　※下層も含む
----------------------------------*/
#main_col .headline1,
.headline2,
.headline3 {
    background: #fff;
    color: #2b2b2b;
}

#main_col .headline1,
.headline2 {
    border-left: 7px solid #666;
    border-bottom: 2px solid #999;
}

.headline3 {
    border-left: 7px solid #666;
    border-bottom: 2px solid #999;
    border-top: none;
}


@media screen and (max-width: 640px) {
    #main_col .headline1,
    .headline2,
    .headline3 { /*トップ・他　調整*/
        border-left: none; /*左線の削除*/
    }

    #main_col .headline1,
    .headline2,
    .headline3 {
        border-left: none; /*左線の削除*/
    }


}


/*----------------------------------
サイドナビ
----------------------------------*/

@media screen and (max-width: 640px) {
    #side_col { /*　スマホでサイドナビを表示しない場合　*/
        display: none;
    }
}

#side_col .barb_side_widget {
    margin-bottom: 10px;
}

/*----------------------------------
フッター
----------------------------------*/
#footer::after {
    content: none !important;
}

#footer img {
    max-width: 100%;
}

#footer_wrap,
#footer_wrap #footer,
#copyright {
    max-width: 100%;
    min-width: unset;
}

#footer_wrap {
    background: #eee;
    padding-bottom: 0;
}

#footer_wrap #footer {
    display: block;
    max-width: 100%;
    color: #333;
    padding: 0 10px;
    box-sizing: border-box;
}
#footer #footer_left {
    display: flex;
    justify-content: center;
    column-gap: 4rem;
}
#footer .footer_menu_wrap {
    margin-top: 4rem;
}

#footer #footer_left,
#footer .footer_menu_wrap {
    float: none;
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

#footer #footer_left .banner_row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    width: 337px;
}

#footer #footer_left .banner_row > * {
    float: none !important
}

#footer_wrap #footer .barb_text_banner {
    border-radius: 0;
}

#footer li a,
#footer li a:visited {
    color: #333;
    border-bottom: 1px dotted #666;
}

#footer li a:hover {
    color: #999;
}

#copyright {
    background: #999;
    color: #f5f5f5;
    margin-top: 40px;
}

#copyright a {
    color: #f5f5f5;
}

#return_top {
    z-index: 99;
    position: absolute;
    right: 7px;
}

@media screen and (max-width: 900px) {
    #footer_wrap #footer {
        flex-wrap: wrap;
    }
    #footer .header_banner.pc .banner_row {
        margin-left: auto;
        margin-right: auto;
        float: none;
    }
    #footer .header_banner.pc .text_row {
        margin-top: 5px;
    }
    #footer .header_banner.pc .text_row .textwidget {
        text-align: center;
    }
    #footer #footer_left {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    #footer .footer_menu_wrap {
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (max-width: 640px) {
    #footer {
        flex-direction: column;
        gap: 40px;
    }
    #footer .footer_menu {
        display: block !important;
    }

    #footer #footer_left,
    #footer .footer_menu_wrap {
        width: 100%;
    }
    #footer .footer_logo {
        text-align: center;
    }
    #footer .banner_row {
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 2rem;
    }

    #footer .header_banner .text_row {
        text-align: center;
    }

    #footer .company-logo {
        max-width: 90%;
        margin: 3rem auto .5rem;
    }
}

/*----------------------------------
フッターロゴ
----------------------------------*/
#footer .footer_logo img {
    width: 400px;
    max-width: 100%;
}

#footer .header_banner {
    margin-top: 10px;
}


/*----------------------------------
フッターメニュー
----------------------------------*/

#footer .footer_menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    gap: 2rem;
}

#footer .footer_menu .footer_menu_column {
    flex-basis: 50%;
}

.footer_menu .menu > .menu-item:not(:last-child) {
    margin-bottom: 17px !important;
}

.footer_menu .menu > .menu-item > a {
    font-size: .95rem !important;
    font-weight: bold;
}
.footer_menu .sub-menu {
    margin-top: 7px !important;
}
.footer_menu .sub-menu > .menu-item > a {
    font-size: .85rem !important;
}

.footer_menu a[href="#"] {
    pointer-events: none;
    border-bottom: none !important;
}

@media screen and (min-width: 640px) {
    #footer .footer_menu {
        width: auto;
    }
}
@media screen and (max-width: 900px) {
    #footer .footer_menu {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 639px) {
    #footer .footer_menu {
        grid-template-columns: 1fr;
    }
    #footer .footer_menu .menu-item {
        text-align: left;
    }
}



/*----------------------------------
テキストリンクカラー
----------------------------------*/
a, a:visited {
    color: #3F7985;
}

a:hover {
    color: #24434A;
}

/*----------------------------------
ページナビ
----------------------------------*/
.page_navi a {
    color: #fff;
    background: #333;
}

.page_navi a:hover {
    background: #990000;
}

/*----------------------------------
コンテンツ
----------------------------------*/
#contents {
    max-width: 100%;
    display: flex;
    margin-top: 40px;
    margin-bottom: 45px;
    column-gap: 25px;
}

#contents:after {
    content: none;
}

@media (min-width: 641px) {
    .post {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
    }

    h2 + #content > .post,
    h2 + .post{
        padding: 30px 15px 10px;
    }
}

@media (max-width: 640px) {
    #contents {
        display: block;
    }
}

/*----------------------------------
記事一覧
----------------------------------*/
#featured_post .post1,
#featured_post ul.post2,
#featured_post ul.post3 {
    border: none;
}

#featured_post ul.post2 {
    padding-bottom: 0;
}

.barb_cont_wrap.iso {
    padding-top: 15px;
}

.barb_cont_wrap.iso .flex-box1 img {
    margin-bottom: 5px;
}

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

    /** 広告バナーと見出し間の余白調整 **/
    /*
  #main_col #featured_post h3.headline1 {
    margin-top: 40px;
  }
    */
    /** タイトル改行防止 **/
    #recent_post .title {
        font-size: 13.8px;
    }

    /** 参加団体バナー **/
    .barb_cont_wrap.iso .flex-box1 {
        margin: 15px auto 0 auto;
        text-align: center;
        font-size: .9em;
    }

    .barb_cont_wrap.iso .flex-box1 li {
        width: 25%;
    }

    #post_list .image_area {
        margin: 0 0 0 0;
    }

    #post_list a.image img {
        /* width: 100%;
        height: auto; */
    }
}

@media screen and (max-width: 640px) {
    #post_list a.image img {
        width: 100%;
        height: auto;
        width: auto;
        max-height: 360px;
        max-width: 100%;
    }

}


@media screen and (max-width: 640px) {
    #footer_banner li img {
        width: 80%;
        height: auto;
    }

    .barb_cont_wrap.iso .flex-box1 {
        width: 100%;
        margin: 15px auto 0 auto;
    }

    .barb_cont_wrap.iso .flex-box1 li {
        text-align: center;
    }

    .barb_cont_wrap.iso img {
        width: 90%;
        height: auto;
    }

    .barb_cont_wrap.iso a span {
        font-size: .8em;
    }
}


/*----------------------------------
トップ中央の製品情報
----------------------------------*/
.top-item {
    display: flex;
    display: -ms-flexbox; /*--- IE10 ---*/
    display: -webkit-flex; /*--- safari ---*/
    justify-content: space-between;
    -ms-justify-content: space-between; /*--- IE10 ---*/
    -webkit-justify-content: space-between; /*--- safari ---*/
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

@media only screen and (min-width: 641px) {
    .top-item {
        width: 720px;
        margin: 15px auto 28px auto;
    }

    .top-item > div {
        width: 232px;
        margin-bottom: 12px;
    }

    .top-item img {
        width: 232px;
        height: auto;
    }
}

@media screen and (max-width: 640px) {
    .top-item {
        width: 94%;
        margin: 15px auto -10px auto;
    }

    .top-item > div {
        width: 48.5%;
    }

    .top-item img {
        width: 100%;
        height: auto;
        margin-bottom: 10px;
    }

    /*
  .top-item {
      width: 100%;
      flex-direction: column;
        -ms-flex-direction: column;
        -webkit-flex-direction: column;
        padding: 15px 0 0 0;
  }
    .top-item > div {
        padding: 0 15px 15px 15px;
    }
    .top-item img {
        width: 100%;
        height: auto;
    }
    */
}


/***********************************

下層レイアウト

************************************/
/*----------------------------------
下層段落枠　※変更不可
----------------------------------*/
@media only screen and (min-width: 641px) {
    #under {
        overflow: hidden;
        margin: 0 0 -40px 0;
    }

    /*下層の空調整*/
}


@media only screen and (max-width: 640px) {
    #under {
        overflow: hidden;
        margin: 10px 0 0 0;
    }

    /*下層の空調整*/
}

.under_contents {
    width: 100%;
    margin: 0 0 50px 0;
    clear: both;
    overflow: hidden;
    line-height: 1.7;
}


p { /*下層　汎用*/
    margin: 0;
    padding: 0;
    line-height: 1.7;
}


/*----------------------------------
テーブル設定　※変更不可　色とthの％は変更又は上書き可
----------------------------------*/
/*** table 元スタイル打消し ****/
.post table {
    border: none;
    margin: 0;
}

.post td,
.post th {
    border: none;
    padding: 0;
}

.post th {
    background: #eee;
    font-weight: /*normal*/ bold;
}

@media only screen and (max-width: 480px) {
    tbody tr {
        display: table-row; /******/
        margin-bottom: 0;
    }

    tbody th,
    tbody td {
        display: table-cell;
        list-style-type: none;
        border: none;
    }
}


/*******  テーブル再設定　*******/
.under_contents table {
    width: 100%;
    border-collapse: inherit;
    border-spacing: 0;
    border-top: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1;
    margin-bottom: 20px;
}

.under_contents table td,
.under_contents table th {
    border-right: 1px solid #c1c1c1;
    border-bottom: 1px solid #c1c1c1;
    padding: 10px;
    /*white-space: nowrap;*/
}

.under_contents table th {
    width: 30%;
}

.under_contents table td span {
    padding: 0 0 0 0;
}

@media only screen and (max-width: 480px) {
    .under_contents table {
        font-size: 12px;
        line-height: 1.7;
    }

}

.under_contents .media_archive {
    text-align: right;
}

caption {
    text-align: left;
    font-weight: bold;
    color: #004BA8;
    margin: .2em 0 .3em .1em;
    font-size: 1.1em;
}

/* th幅40%の時 */
.under_contents table.w40 th {
    width: 40%;
}


/* 下線のみのバージョン */
.under_contents table.only-bottom,
.under_contents table.only-bottom th,
.under_contents table.only-bottom td {
    border: none;
}

.under_contents table.only-bottom th,
.under_contents table.only-bottom td {
    border-bottom: 1px solid #999;
}

.under_contents table.only-bottom th {
    background: none;
    font-weight: normal;
    text-align: left;
}


/*----------------------------------
テーブル設定　レスポンシブ基本ソース
----------------------------------*/
/****
レスポンシブしたいtableの外側に
<div class="ph_responsive">を入れてください
****/

@media only screen and (max-width: 640px) {
    /*
  .ph_responsive{
      margin: 0 0 -20px 0;}
      */
    .ph_responsive table {
        border: none;
    }

    .ph_responsive table th,
    .ph_responsive table td {
        width: 100%;
        display: inline-block;
        border-right: none;
        text-align: left;
    }

    .ph_responsive table th {
        border-bottom: 1px dotted #8aa8b9;
        padding: 4px 0 2px 6px;
        font-weight: bold;
        background: #e7eff3;
    }

    .ph_responsive table th:before { /*** アイコンが必要な場合　***/
        /*content: "\f00c";*/
        content: "\f13a";
        font-family: FontAwesome;
        color: #0081e3;
        padding: 0 5px 0 2px;
    }

    .ph_responsive table td {
        border-bottom: none;
        padding: 10px 0 20px 0;
    }

    .ph_responsive table.w40 th,
    .ph_responsive table.w40 td,
    .ph_responsive table.only-bottom th,
    .ph_responsive table.only-bottom td {
        width: 100%;
    }

    .ph_responsive table.w40 th,
    .ph_responsive table.only-bottom th {
        background: #e7eff3;
        border-bottom: 1px dotted #999;
    }

    .ph_responsive table.w40 td,
    .ph_responsive table.only-bottom td {
        border: none;
    }
}


/***********************************

ここからページレイアウト雛形

************************************/

/*----------------------------------
コンテンツ共通
----------------------------------*/
.post *, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.map iframe {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 464px;
}

.comment-box {
    background: #ebf9fb;
    /*color: #1d499e;*/
    padding: 15px 15px 15px 18px;
    margin-bottom: 15px;
    border-radius: 10px;
}

#content .post img.p0 { /*元スタイル：画像下の余白打ち消し*/
    padding: 0;
}


/*----------------------------------
固定ページ 下層hタイトル　及びpタグ
----------------------------------*/
/*h3装飾*/
#base .under_contents h3 {
    position: relative;
    padding: .5em .5em .1em 1.8em;
    border-bottom: double 3px #004BA8;
    margin: 0 0 15px 0;
}

#base .under_contents h3:before {
    font-family: FontAwesome;
    /*content: "\f13a";*/
    content: "\f1eb";
    position: absolute;
    font-size: 1.1em;
    left: .1em;
    top: .41em;
    color: #004BA8;
    font-weight: normal;
}

#base .smile .under_contents h3 {
    border-bottom: double 3px #F2D068;
}

#base .smile .under_contents h3:before {
    content: "\f118";
    font-weight: bold;
    left: .25em;
    color: #F2D068;
}

@media only screen and (min-width: 641px) {
    #base .smile .under_contents h3 {
        margin-top: .5em;
    }
}

#pattern1 .under_contents h3,
#pattern2 .under_contents h3 {
    padding: 0.4em 0.25em;
    border-top: solid 2px;
    border-bottom: solid 2px;
    line-height: 1.5;
}

#pattern1 .under_contents h3 {
    color: #B3000C;
}

#pattern2 .under_contents h3 {
    color: #004BA8;
}

.under_contents .privacy h3 {
    margin-bottom: .8em;
}

.under_contents .privacy p {
    margin-bottom: 3em;
}

/*h4装飾*/
.under_contents h4 {
    /*border-bottom: 2px dotted #5C86B2;*/
    margin: 1em 0 0.75em 0;
    border-left: 4px solid #0081E3;
    padding-left: .9em;
    line-height: 2;
}

.under_contents .service h4 {
    color: #fff;
    display: inline-block;
    position: absolute;
    top: -3.4em;
    font-size: 1.2em;
    margin: 1.33em 0;
    border: none;
    padding-left: 0;
}

.under_contents .smile h4 {
    position: relative;
    padding: .5em .5em .1em 1.8em;
    margin: 15px 0 10px 0;
    color: #0081E3;
    border-left: none;
    border-bottom: 2px dotted;
}

.under_contents .smile h4:before {
    font-family: FontAwesome;
    content: "\f118";
    position: absolute;
    font-size: 1.1em;
    left: .2em;
    top: .44em;
}


/*----------------------------------
Ａテキスト　Ｂ画像1列＋テキスト
----------------------------------*/

/*　下層　汎用　pタグ使用　*/


/*----------------------------------
Ｃ画像2列＋テキスト
----------------------------------*/
.column_wrap_01 .left,
.column_wrap_01 .right {
    width: 49%;
}

.column_wrap_01 .left {
    float: left;
}

.column_wrap_01 .right {
    float: right;
}

.column_wrap_01 .left p.wrap01-name,
.column_wrap_01 .right p.wrap01-name {
    text-align: center;
    margin-bottom: 5px;
}

.column_wrap_01 .left p.wrap01-txt,
.column_wrap_01 .right p.wrap01-txt {
    text-align: center;
    margin-top: -5px;
}


@media only screen and (max-width: 640px) {
    .column_wrap_01 .left,
    .column_wrap_01 .right {
        width: 100%;
        float: none;
        text-align: center;
    }

    .column_wrap_01 .right p.wrap01-name {
        margin-top: 10px;
    }

    .column_wrap_01 .left p.wrap01-txt {
        margin-bottom: 20px;
    }

    /* スマホの時も2カラム */
    .sp-float .column_wrap_01 .left {
        width: 49%;
        float: left;
    }

    .sp-float .column_wrap_01 .right {
        width: 49%;
        float: right;
    }
}


/*----------------------------------
Ｄ左画像＋右テキスト
----------------------------------*/
.column_wrap_02 {
    clear: both;
}

.column_wrap_02 .leftimg {
    float: left;
    width: 49%;
    padding: 0;
}

.column_wrap_02 .righttxt {
    float: right;
    width: 48%;
}


@media only screen and (min-width: 641px) {
    #content .post .column_wrap_02 .leftimg img {
        padding-bottom: 0;
    }
}

@media only screen and (max-width: 640px) {
    .column_wrap_02 .leftimg,
    .column_wrap_02 .righttxt {
        float: none;
        width: 100%;
    }

}


/* 横幅30％バージョン（※スマホの時も） */
.column_wrap_02 .l30-r70 .leftimg {
    float: left;
    width: 29%;
    padding: 0;
}

.column_wrap_02 .l30-r70 .righttxt {
    float: right;
    width: 68%;
}

#content .post .column_wrap_02 .l30-r70 .leftimg img {
    padding-bottom: 0;
}


/* スマホ時に画像とテキストの左右表示を解除 */
@media only screen and (max-width: 640px) {
    .column_wrap_02 .l30-r70 .leftimg {
        float: none;
        width: 100%;
        margin: 10px 0;
    }

    .column_wrap_02 .l30-r70 .righttxt {
        float: none;
        width: 100%;
    }
}

/*----------------------------------
Ｅ左テキスト＋右画像
----------------------------------*/
.column_wrap_03 {
    clear: both;
}

.column_wrap_03 .lefttxt {
    float: left;
    width: 48%;
}

.column_wrap_03 .rightimg {
    float: right;
    width: 49%;
    padding: 0;
}

@media only screen and (min-width: 641px) {
    #content .post .column_wrap_03 .rightimg img {
        padding-bottom: 0;
    }
}

@media only screen and (max-width: 640px) {
    .column_wrap_03 .lefttxt,
    .column_wrap_03 .rightimg {
        float: none;
        width: 100%;
    }

}


/*----------------------------------
Ｆ左画像＋右テキスト回り込み
----------------------------------*/
@media only screen and (min-width: 641px) {
    #content .post .around_right img {
        float: left;
        margin: 0 18px 0 0;
        padding: 0;
        width: 49%;
    }
}

@media only screen and (max-width: 640px) {
    .around_right img {
        margin: 0 0 0 0;
        float: none;
        width: 100%;
    }


}


/*----------------------------------
Ｇ左テキスト回り込み＋右画像
----------------------------------*/
@media only screen and (min-width: 641px) {
    #content .post .around_left img {
        float: right;
        margin: 0 0 0 18px;
        padding: 0;
        width: 49%;
    }
}

@media only screen and (max-width: 640px) {
    .around_left img {
        margin: 0 0 0 0;
        float: none;
        width: 100%;
    }

}

/* ※スマホの時も横並び */
#content .post .around_left img.right30, /* 横幅30％ */
#content .post .around_left img.right40 { /* 横幅40％ */
    float: right;
    margin: 0 3px 0 15px;
    padding: 0;
}

#content .post .around_left img.right30 {
    width: 30%;
}

#content .post .around_left img.right40 {
    width: 40%;
}

@media only screen and (max-width: 640px) {
    #content .post .around_left img.right30,
    #content .post .around_left img.right40 {
        margin: 3px 5px 0 10px;
    }
}

/*----------------------------------
Ｈ画像3列＋下段テキスト
----------------------------------*/
.column_wrap_04 {
    clear: both;
}

.column_wrap_04 .columns div {
    background: #ccc;
    overflow: hidden;
}

.column_wrap_04 .columns div span {
    display: block;
    text-align: center;
    font-weight: bold;
    color: #000;
    padding: 10px 5px;
    line-height: 1.3;
}

.column_wrap_04 .columns img {
    width: 100%;
    height: auto;
}

.column_wrap_04 .columns p {
    text-align: justify;
}


@media only screen and (min-width: 641px) {
    .column_wrap_04 .three.columns {
        width: 30.6666666667%;
    }

    .column_wrap_04 .columns {
        width: 100%;
        float: left;
        box-sizing: border-box;
        margin-left: 4%;
    }

    .column_wrap_04 .columns:first-child {
        margin-left: 0;
    }

    .column_wrap_04 .columns p.space {
        margin: -5px 0 0 0;
    }

}

.column_wrap_04 .columns p.wrap01-txt {
    font-size: 0.9em;
    text-align: center;
    margin-top: -5px;
    margin-bottom: 15px;
    line-height: 1.2em;
}

@media only screen and (max-width: 640px) {
    .column_wrap_04 {
        margin: 0 0 -40px 0;
    }

    .column_wrap_04 .three.columns {
        margin: 0 0 40px 0;
    }

    .column_wrap_04 .columns p {
        margin: 0;
    }

    .clean .column_wrap_04 {
        margin: 0 0 -15px 0;
    }

    #content .post .clean .column_wrap_04 img {
        padding: 0;
        margin-bottom: -5px;
    }

    .column_wrap_04 .columns p.wrap01-txt {
        margin-bottom: 20px;
    }

    .column_wrap_04 .columns img.t20 {
        margin-top: 40px;
    }
}


/*----------------------------------
flexbox
----------------------------------*/
/*--- 両端余白なし ---*/
.flex-box1 {
    width: 100%;
    display: flex;
    display: -ms-flexbox; /*--- IE10 ---*/
    display: -webkit-flex; /*--- safari ---*/
    justify-content: space-between;
    -ms-justify-content: space-between; /*--- IE10 ---*/
    -webkit-justify-content: space-between; /*--- safari ---*/
    /*--- 折り返す場合 ---*/
    /*
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
    */
}

/*--- 縦並び ---*/
.flex-box2 {
    display: flex;
    display: -ms-flexbox; /*--- IE10 ---*/
    display: -webkit-flex; /*--- safari ---*/
    flex-direction: column;
    　-ms-flex-direction: column; /*--- IE10 ---*/
    -webkit-flex-direction: column; /*--- safari ---*/
    flex-wrap: wrap;
    　-ms-flex-wrap: wrap; /*--- IE10 ---*/
    -webkit-flex-wrap: wrap; /*--- safari ---*/
}

/*--- 折り返す場合 ---*/
.flex-box3 {
    width: 100%;
    display: flex;
    display: -ms-flexbox; /*--- IE10 ---*/
    display: -webkit-flex; /*--- safari ---*/
    justify-content: space-between;
    -ms-justify-content: space-between; /*--- IE10 ---*/
    -webkit-justify-content: space-between; /*--- safari ---*/
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

/*----------------------------------
flexbox　レスポンシブする場合
----------------------------------*/
/****
レスポンシブしたいflexboxの外側に
<div class="flexbox_responsive">を入れてください
****/

@media only screen and (max-width: 640px) {
    /*--- スマホ時：1カラム ---*/
    .flexbox_responsive .flex-box1,
    .flexbox_responsive .flex-box3 {
        flex-direction: column;
        -ms-flex-direction: column; /*--- IE10 ---*/
        -webkit-flex-direction: column; /*--- safari ---*/
    }
}


/*----------------------------------
配置・フロート解除
----------------------------------*/
.center {
    text-align: center;
}

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

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

.f-left {
    float: left;
}

.f-right {
    float: right;
}

.clear {
    clear: both;
}

.column_wrap_01:after,
.column_wrap_02:after,
.column_wrap_03:after,
.staff {
    clear: both;
    display: block;
    content: "";
}

/*----------------------------------
余白
----------------------------------*/
.m-0 {
    margin-bottom: 0;
}

.m-05 {
    margin-bottom: 5px;
}

.m-top1 {
    margin-top: 10px;
}

.m-top2 {
    margin-top: 20px;
}

.m-top3 {
    margin-top: 30px;
}

.m-top4 {
    margin-top: 40px;
}

.m-top5 {
    margin-top: 50px;
}

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

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

.m-bottom3 {
    margin-bottom: 30px;
}

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

.m-bottom5 {
    margin-bottom: 50px;
}

.m-left1 {
    margin-left: 10px;
}

.m-top-10 {
    margin-top: -10px;
}

/*----------------------------------
PCのみ表示
----------------------------------*/
@media only screen and (max-width: 640px) {
    .pc-only {
        display: none;
    }
}

/*----------------------------------
スマホのみ表示、スマホのみ改行
----------------------------------*/
.sp2-only { /* 481px以上は非表示 */
    display: none;
}

@media only screen and (min-width: 641px) {
    .sp-only { /* 641px以上は非表示 */
        display: none;
    }
}

@media only screen and (max-width: 480px) {
    .sp2-only {
        display: block;
    }
}


/*----------------------------------
リスト
----------------------------------*/
.post ul li {
    background: none;
    padding: 0;
    line-height: 1.7;
    margin-bottom: .5em;
}

.post ul:not(.flex-box1) li:last-child {
    margin-bottom: 0;
}

ul.check { /* チェックマーク */
    margin-bottom: -.5em;
}

ul.check li {
    position: relative;
    margin-left: 1.7em;
    line-height: 1.7;
}

ul.check li:not(last-child) {
    margin-bottom: .5em;
}

ul.check li:before {
    font-family: FontAwesome;
    content: "\f00C";
    position: absolute;
    font-size: 1.1em;
    left: -1.5em;
    top: -.05em;
    color: #C5151E;
}

.right-mark ul.check li { /* 左画像＋右テキストの場合 */
    display: inline-block;
}

ul.dotte li {
    border-bottom: 1px dotted;
    padding-bottom: 1em;
}

ul.dotte li:not(last-child) {
    margin-bottom: 1em;
}

ul.dotte li:first-child:not(.dotte-none) {
    border-top: 1px dotted;
    padding-top: 1em;
}

@media only screen and (max-width: 640px) {
    ul.check li:not(last-child) {
        margin-bottom: .5em;
    }
}


/*----------------------------------
フォント（サイズ・カラー・装飾）
----------------------------------*/
.u-line {
    text-decoration: underline;
}

.bold {
    font-weight: bold;
}

.normal {
    font-weight: normal;
}

.big1 {
    font-size: 1.1em;
}

.big2 {
    font-size: 1.2em;
}

.small1 {
    font-size: 0.9em;
}

.small2 {
    font-size: 0.8em;
}

.red {
    color: #B3000C;
}

.blue {
    color: #004BA8;
}

.green {
    color: #0fe300;
}

.orange {
    color: #e36200;
}

.l-hiegt1 {
    line-height: 1.3;
}

.l-space1 {
    letter-spacing: -.01em;
}

.l-space2 {
    letter-spacing: -.05em;
}

.bg-red {
    background: #B3000C;
    color: #f5f5f5;
    padding: 2px 6px;
    display: inline-block;
}

.marker {
    background: linear-gradient(transparent 70%, #FDFAC1 70%);
    display: inline-block;
}

/* ボーダー下部のスタイルを二重線で指定する */
.double {
    border-bottom: double 3px #004BA8;
}

/* 文頭が記号の時の位置調整 */
.first-mark {
    margin-left: -.5em;
}

/* 最初の文字だけ大きくする */
p.first-big:first-letter {
    color: #990000;
    font-size: 150%;
}

p.first-big-b:first-letter {
    color: #004BA8;
    font-size: 150%;
}

/* 強調コメント枠（背景ブルー） */
.comment-box1 {
    background: #effbfd;
    padding: 15px 15px 15px 18px;
    margin-bottom: 15px;
    border-radius: 10px;
}

/* 強調コメント枠（背景イエロー） */
.comment-box2 {
    background: #fff7e0;
    padding: 15px 15px 15px 18px;
    margin-bottom: 15px;
    border-radius: 10px;
}

/* 強調コメント枠（背景イエロー） */
.comment-box3 {
    background: #ffe3e0;
    padding: 15px 15px 15px 18px;
    margin-bottom: 15px;
    border-radius: 10px;
}


/***********************************

固定ページ

************************************/

/*----------------------------------
納品後の保守システム
----------------------------------*/
.service {
    width: 49%;
    border: 3px solid #2d5793;
    border-top: 40px solid;
    border-radius: 5px;
    padding: 12px 12px 12px 15px;
    position: relative;
}

.service:nth-of-type(1),
.service:nth-of-type(2) {
    border-color: #2d5793;
}

.service:after {
    clear: both;
    display: block;
    content: "";
}

.service-space { /* 画像を右下に配置するための空白スペース */
    float: right;
    height: 7.5em;
}

.service-img {
    float: right;
    clear: both; /* .spaceのfloat解除 */
    margin: 10px 0 0 12px;
}

@media only screen and (min-width: 641px) {
    /*
      .service:nth-of-type(2) > .service-space {
      height: 6.5em;
    }
      */
}


@media only screen and (max-width: 640px) {
    .service {
        width: 100%;
    }

    .service:nth-of-type(1) {
        margin-bottom: 15px;
    }

    .service-space {
        height: 2em;
    }
}


/*----------------------------------
日本初の実用化した製品・システム
----------------------------------*/
.system th {
    background: #d9e7f0;
}

.system-image {
    text-align: center;
    margin-top: 20px;
}

.system .under_contents h4 {
    font-size: 1.1em;
}

.system .under_contents .service h4 {
    color: #3d4f6b;
}

.system .service:nth-of-type(1),
.system .service:nth-of-type(2) {
    border-color: #d9e7f0;
}

.system .flex-box1.box-top {
    margin-bottom: 15px;
}

@media only screen and (min-width: 641px) {
    #content .post .system-image img {
        width: 90%;
        margin: 0 auto;
    }
}

/*----------------------------------
未来創りへの研究投資
----------------------------------*/
.name-dotte {
    font-weight: bold;
    padding: .8em 0;
    margin-bottom: 1em;
    border-top: 1px dotted #999;
    border-bottom: 1px dotted #999;
}

@media only screen and (max-width: 640px) {
    .name-dotte {
        border: none;
        padding: 0;
        margin-bottom: 0;
    }
}


/*----------------------------------
会社沿革
----------------------------------*/
.under_contents table.history th {
    width: 20%;
}

.under_contents table.history td {
    width: 80%;
}

@media only screen and (min-width: 641px) {
    .under_contents table.history th {
        text-align: right;
        padding-right: 1em;
        background: #e7f2f5;
    }
}

@media only screen and (max-width: 640px) {
    .under_contents table.history th,
    .under_contents table.history td {
        width: 100%;
    }
}


/*----------------------------------
採用情報
----------------------------------*/
.voice-btn {
    width: 30%;
    padding: 10px;
    background: #2d5793;
    margin: 0 auto 20px auto;
    border-radius: 5px;
}

.voice-btn a {
    color: #fff;
    text-decoration: none;
}

.voice-btn:hover,
.voice-btn:active {
    background: #4184BA;
}

@media only screen and (max-width: 640px) {
    .voice-btn {
        width: 50%;
        padding: 5px;
    }
}

/*----------------------------------
先輩社員の声
----------------------------------*/
.break {
    margin-bottom: 60px;
    padding-bottom: 10px;
    border-bottom: 3px double #ccc;
}

.profimg {
    width: 29%;
}

.proftxt {
    background: #f5fbff;
    width: 68.5%;
    margin-left: 2.5%;
    display: flex;
    display: -ms-flexbox; /*--- IE10 ---*/
    display: -webkit-flex; /*--- safari ---*/
    flex-direction: column;
    　-ms-flex-direction: column; /*--- IE10 ---*/
    -webkit-flex-direction: column; /*--- safari ---*/
    /*
  flex-wrap: wrap;
　-ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    */
}

.proftxt1,
.proftxt2 {
    flex: 1;
}

.proftxt2 { /*先輩の声　メッセージ*/
    display: flex;
    display: -ms-flexbox; /*--- IE10 ---*/
    display: -webkit-flex; /*--- safari ---*/
    padding: 7px 5px 5px 10px;
    color: #37709D;
    align-items: center;
    background: #ebf6fd;
    font-weight: bold;
}

.name {
    padding: 7px 5px 5px 10px;
    border-top: 2px solid #4184BA;
    border-bottom: 2px solid #4184BA;
    font-size: 1.15em;
    font-weight: bold;
}

.school {
    padding: 7px 5px 5px 10px;
}

p.subhead { /*先輩の声　サブタイトル*/
    color: #0081E3;
    font-weight: bold;
    font-size: 1.1em;
    border-bottom: 2px dotted #0081E3;
    margin-bottom: 10px;
    padding: 0 .5em .1em 1.5em;
    position: relative;
}

p.subhead:before {
    font-family: FontAwesome;
    content: '\f103';
    color: #0081E3;
    font-size: 1.3em;
    font-weight: normal;
    position: absolute;
    top: -.15em;
    left: .1em;
}

dl.schedule dt {
    float: left;
    width: 22%;
    font-weight: normal;
    text-align: right;
    padding-top: .2em;
}

dl.schedule dd {
    border-bottom: 1px dotted #999;
    padding-left: 30%;
    padding-top: .4em;
    padding-bottom: .4em;
    padding-right: .5em;
    line-height: 1.5;
}

#content .post .around_left img.prof { /* PCの時は横幅25％、スマホの時は横幅40% */
    float: right;
    margin: 0 3px 0 15px;
    padding: 0;
}

#content .post .around_left img.prof {
    width: 25%;
}

@media only screen and (min-width: 641px) {
    .proftxt2 span {
        font-weight: bold;
        font-size: 1.1em;
    }
}

@media only screen and (max-width: 640px) {
    dl.schedule dt {
        width: 28%;
    }

    dl.schedule dd {
        padding-left: 34%;
    }

    #content .post .around_left img.prof {
        margin: 3px 5px 0 10px;
        width: 40%;
    }
}

@media only screen and (max-width: 480px) {
    .name {
        padding: 7px 5px 5px 7px;
        font-size: 1em;
        line-height: 1.3;
    }

    .school {
        font-size: .9em;
        line-height: 1.5;
    }

    .proftxt2 {
        font-size: .9em;
        line-height: 1.5;
    }

    dl.schedule dt {
        font-size: .9em;
        width: 33%;
    }

    dl.schedule dd {
        padding-left: 37%;
    }
}


/*----------------------------------
社員紹介・福利厚生
----------------------------------*/
/*各部署へのアンカーリンク装飾*/
.staff ul.flex-box1 {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap; /*IE10*/
    -webkit-flex-wrap: wrap; /* Safari6.1以降 */
    align-items: center;
    -ms-flex-align: center; /*IE10*/
    -webkit-box-align: center; /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-align-items: center; /* Safari6.1以降 */
    margin-bottom: 0;
}

.staff ul.flex-box1 li {
    width: 32.5%;
    text-align: center;
    border-radius: 5px;
    padding: 10px;
    border: 2px solid #F2D068;
}

.staff ul.flex-box1 li:hover,
.staff ul.flex-box1 li:active {
    background: #fffcef;
}

.staff ul.flex-box1 li a {
    text-decoration: none;
}


/*スタッフプロフィール、及び、福利厚生*/
.staff p {
    line-height: 1.5;
}

.staff-left,
.staff-right {
    width: 49%;
    border: 1px solid #ccc;
    padding: 10px 8px 2px 8px;
}

.staff-left:not(.last),
.staff-right:not(.last) {
    margin-bottom: 20px;
}

.staff-left {
    float: left;
}

.staff-right {
    float: right;
}

.staff .name {
    font-size: 1em;
    padding: 5px;
    margin-bottom: 7px;
}

.staff .column_wrap_02 {
    margin-bottom: 10px;
}

.staff .column_wrap_02 .l30-r70 .righttxt {
    color: #333;
    font-size: .9em;
}

.pr p:nth-child(2n+1) { /*アンケート項目*/
    color: #3E75AF;
    font-weight: bold;
    font-size: .95em;
    border-bottom: 1px dotted #3E75AF;
    margin-bottom: .2em;
}

.pr p:nth-child(2n) { /*アンケート答え*/
    font-size: .9em;
    margin-bottom: .5em;
}


/*福利厚生のみ*/
.benefits .bene-title {
    font-size: 1.1em;
    padding: 10px;
    text-align: center;
    background: #0081e3;
    color: #fff;
    margin-bottom: 25px;
    position: relative;
}

.benefits .bene-title:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 46%;
    border: 20px solid transparent;
    border-top: 13px solid #0081e3;
    width: 0;
    height: 0;
}

.benefits .column_wrap_02 {
    margin-bottom: 15px;
    border-bottom: 1px dotted #999;
    padding-bottom: 10px;
}

.benefits .column_wrap_02.bene-last {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 8px;
}

.benefits .column_wrap_02 .l30-r70 .leftimg {
    padding: 0 3px;; /* 社員画像の余白調整 */
    text-align: center;
}

.benefits .column_wrap_02 .l30-r70 .leftimg img {
    margin-bottom: 3px; /* 社員画像と名前の余白調整 */
}

#content .post .bene-img { /* 枠内に挿入画像を配置した場合の調整 */
    text-align: center;
    border: none;
    padding: 0;
}

.benefits .comment-box1 {
    margin-top: 22px;
    margin-bottom: 6px;
}

.tennis_img p {
    text-align: center;
    float: right;

}

.kosodate_img p {
    text-align: center;
    float: right;
}

.smile .st_sankaku {
    color: #333;
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 5px;
}

.smile .st_sankaku::before {
    content: "▼ ";
}

@media only screen and (min-width: 641px) {
    .adjust {
        padding-bottom: 1.45em; /* アンケートの左右高さ（空白）調整 */
    }

    .adjust2 {
        padding-bottom: .55em; /* 福利厚生の左右高さ（空白）調整 */
    }

    .tennis_img img {
        width: 25% !important;
        margin-left: 15px;
        margin-top: -13px;
        float: left;
    }

    .tennis_img p {
        width: 23%;
        float: right;
        margin-top: 50px;
    }

    .kosodate_img img {
        width: 30% !important;
        margin-left: 15px;
        margin-top: -13px;
        float: left;
    }

    .kosodate_img p {
        width: 18%;
        float: right;
        margin-top: 80px;
    }
}

@media only screen and (max-width: 640px) {
    .staff ul.flex-box1 li {
        width: 49%;
        padding: 7px 0;
    }

    .staff-left,
    .staff-right {
        float: none;
        width: 100%;
        border: none;
        padding: 0;
    }

    .staff-left:not(.last),
    .staff-right:not(.last) {
        margin-bottom: 40px;
    }

    .staff .column_wrap_02 .l30-r70 .righttxt {
        font-size: 1em;
    }


    /*福利厚生のみ*/
    .benefits .staff-left,
    .benefits .staff-right {
        border: 1px solid #ccc;
    }

    .benefits .column_wrap_02 .l30-r70 .leftimg {
        padding: 0 3px 0 10px; /* 社員画像の余白調整 */
    }

    .column_wrap_04.benefits .three.columns {
        margin: 0 0 10px 0;
    }

    .tennis_img img {
        width: 100% !important;
    }

    .kosodate_img img {
        max-width: 300px !important;
        width: 100%;
    }

    .kosodate_img2 img {
        max-width: 400px !important;
        width: 100%;
    }

    .kosodate_img p {
        width: 100% !important;
        text-align: center;
    }
}


@media only screen and (max-width: 480px) {
    .staff ul.flex-box1 li:last-child {
        letter-spacing: -.01em;
    }

    .staff .column_wrap_02 .l30-r70 .righttxt {
        font-size: .9em;
    }
}


/*----------------------------------
講演会のご案内
----------------------------------*/
.seminar p {
    line-height: 1.5;
}

.seminar-left,
.seminar-right {
    width: 49.1%;
    border: 2px solid #ccc;
    padding: 10px 5px 8px 8px;
    position: relative;
}

.seminar-left:not(.last),
.seminar-right:not(.last) {
    margin-bottom: 15px;
}

.seminar-left {
    float: left;
}

.seminar-right {
    float: right;
}

.guest {
    position: absolute;
    right: .5em;
    bottom: .1em;
}

.case1 {
    border-color: #E3D400;
}

.case2 {
    border-color: #81E300;
}

.case3 {
    border-color: #00E3D4;
}

.case4 {
    border-color: #0081E3;
}

.case5 {
    border-color: #8944E3;
}


@media only screen and (max-width: 640px) {
    .seminar-left,
    .seminar-right {
        float: none;
        width: 100%;
    }

    .seminar-left:not(.last),
    .seminar-right:not(.last) {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 480px) {
    .seminar .column_wrap_02 .l30-r70 .righttxt {
        font-size: .9em;
    }
}

.list-box { /*講演先ご紹介*/
    border: 1px solid #99dce2;
    padding: 10px 10px 10px 15px;
}

@media only screen and (min-width: 641px) {
    .list-box span {
        display: inline-block;
    }

    .list-box span:not(.no-comma):after {
        content: "、\00a0";
    }
}

@media only screen and (max-width: 640px) {
    .list-box span {
        display: block;
    }
}


/*----------------------------------
講演会のご案内
----------------------------------*/

@media only screen and (min-width: 641px) {
    .detail-bottom {
        position: relative;
    }

    .detail-bottom > .t-right {
        position: absolute;
        bottom: 0;
        right: 0;
    }
}


/*----------------------------------
会社紹介用動画
----------------------------------*/
@media only screen and (max-width: 640px) {
    .movie {
        position: relative;
        height: 0;
        padding: 30px 0 56.25%;
        overflow: hidden;
    }

    .movie iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}


/*----------------------------------
Q&A
----------------------------------*/

ul.q-a {
    margin-bottom: 10px;
}

ul.q-a li {
    margin-bottom: 1.7em;
    line-height: 1.7;
}

ul.q-a li:nth-child(2n+1) {
    color: #004BA8;
    border-bottom: 2px dotted #004BA8;
    margin-bottom: 5px;
    padding: 0;
    font-weight: bold;
    letter-spacing: .1em;
}

ul.q-a li:nth-child(2n+1):before {
    content: "Q.";
    font-weight: bold;
    font-size: 17px;
    margin-right: .5em;
}

/*----------------------------------
技術紹介
----------------------------------*/
.sekkei-img img {
    padding-bottom: .5rem !important;
}
.sekkei-img {
    font-size: 13px;
}
@media only screen and (min-width: 641px) {
    .sekkei-img {
        padding-left: .5rem;
        padding-right: .5rem;
    }
    
}
@media only screen and (max-width: 640px) {
    .left-txt {
        text-align: left !important;
        margin-bottom: .5rem;
    }

}
/*----------------------------------
サイトマップ
----------------------------------*/
.sitemap ul li {
    background: none;
}

.sitemap ul li ul {
    margin-top: .5em;
    margin-bottom: .75em;
    margin-left: 48px;
}

.sitemap ul li ul li {
    margin-bottom: .25em;
    position: relative;
    background: none;
    padding-left: .5em;
}

.sitemap ul li ul li::before {
    content: "";
    position: absolute;
    top: -0.5em;
    left: -12px;
    width: 10px;
    height: calc(100% + .75em);
    border-left: 1px solid #999;
}

.sitemap ul li ul li:last-child::before {
    height: calc(1em + .25em);
}

.sitemap .menu:not(:last-child) > li:last-child::before {
    height: calc(100% + .75em);
}

.sitemap ul li ul li::after {
    content: "";
    position: absolute;
    top: .75em;
    left: -12px;
    width: 10px;
    border-bottom: 1px solid #999;
}

.sitemap a[href="#"] {
    pointer-events: none;
    border-bottom: none !important;
    text-decoration: none;
}

@media only screen and (min-width: 641px) {
    　.sitemap {
        max-width: 500px;
        margin-left: 30%;
    }
}

@media only screen and (max-width: 640px) {
    　.sitemap {
        margin-left: 20%;
    }
}

@media only screen and (max-width: 480px) {
    　.sitemap {
        margin-left: 0;
    }
}


/*----------------------------------
お問合せ
----------------------------------*/
#contact > div:not(:last-child) {
    border: none !important;
    margin-bottom: 5px;
}

#contact > div > div {
    margin-bottom: 5px;
}

span.wpcf7-list-item {
    margin: 0 3em 0 1em;
}

/*----------------------------------
製品情報一覧（カテゴリ一覧）
----------------------------------*/
@media screen and (max-width: 640px) {
    .item-category .wp-block-columns {
        row-gap: 0;
    }
}



/*----------------------------------
製品情報
----------------------------------*/
.itemname {
    font-size: 1.2em;
    padding: 4px 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
    margin-bottom: 20px;
}

.itembtn {
    width: 80%;
    margin: 0 auto;
}

.itembtn > .column_wrap_01 > .left,
.itembtn > .column_wrap_01 > .right {
    padding: 12px 0;
    border-radius: 5px;
    background: #3E75AF;
}

.itembtn > .column_wrap_01 > .left:hover,
.itembtn > .column_wrap_01 > .left:active,
.itembtn > .column_wrap_01 > .right:hover,
.itembtn > .column_wrap_01 > .left:active {
    background: #5689bf;
}

.itembtn > .column_wrap_01 > .left a,
.itembtn > .column_wrap_01 > .right a {
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
}

ul.itemcategory li {
    text-align: center;
    border-radius: 5px;
    padding: 10px;
    border: 2px solid #1BA8BF;
}

ul.itemcategory li:hover,
ul.itemcategory li:active {
    background: #F5F9F8;
}

ul.itemcategory li a {
    text-decoration: none;
}

@media only screen and (min-width: 641px) {
    #base .link {
        font-size: 12px;
        display: block;
        background: url('../../uploads/2018/10/arrow-icon.gif') no-repeat left top;
        padding: 0 0 0 30px;
        height: 13px;
        line-height: 13px;
        margin: 0 0 20px 0;
    }

    ul.itemcategory {
        width: 100%;
    }

    ul.itemcategory li {
        float: left;
        width: 32.3%;
        margin-right: 1.3%;
    }

    ul.itemcategory li:nth-child(3) {
        margin-right: 0;
    }

    .itembtn > .column_wrap_01 > .left,
    .itembtn > .column_wrap_01 > .right {
        width: 47%
    }
}

@media only screen and (max-width: 640px) {
    .itemname {
        margin-top: 20px;
    }

    #base .link {
        font-size: 12px;
        display: block;
        background: url('../../uploads/2018/10/arrow-icon.gif') no-repeat left top;
        padding: 0 0 0 30px;
        height: 13px;
        line-height: 13px;
        margin: 0 0 20px 0;
    }

    ul.itemcategory {
        width: 80%;
        margin: 0 auto;
    }

    ul.itemcategory li {
        float: none;
    }

    .itembtn > .column_wrap_01 > .left {
        margin-bottom: 15px;
    }

}

@media screen and (min-width: 641px) {
    body.category .under_contents ul {
        display: flex;
        flex-wrap: wrap;
        gap: 1.25rem .5rem;
    }

    body.category .under_contents li {
        width: 173px;
        padding: 0 0 0 0;
        min-height: 270px;
        float: left;
        background: #fff;
    }

    body.category .under_contents li a {
        width: 160px;
        height: 160px;
        margin: 0 auto;
    }

    body.category .under_contents li a.image {
        margin: 0 auto;
    }

    body.category .under_contents li a.image img {
        display: block;
        opacity: 1;
        border: none;
    }

    body.category .under_contents li .info .title {
        border-top: none;
        padding: 0 0 0 0;
        margin: 7px 14px 5px 14px;
        display: inline-block;
        height: auto;
    }

    body.category .under_contents li .info .excerpt {
        margin: 0 15px;
        text-align: justify;
        font-size: 12px;
    }
}

@media screen and (max-width: 640px) {
    body.category .under_contents li {
        border-bottom: 1px dotted #999;
        margin: 0;
        border: none;
        padding: 15px;
    }

    body.category .under_contents li a.image img {
        border: 0;
        padding: 0;
        width: 32%;
        height: auto;
        float: left;
    }

    body.category .under_contents li .info {
        width: 62%;
        float: right;
        margin: 0 5px 0 0;
        line-height: 1.6;
        font-size: 12px;
    }

    body.category .under_contents li .info .title {
        border-top: none;
        padding: 0 0 0 0;
        margin-bottom: 8px;
    }

    body.category .under_contents li .info .excerpt {
        margin: 0 10px 0 0;
        text-align: justify;
        font-size: 12px;
    }
}


.line22 {
    line-height: 2.2;
}

.line18 {
    line-height: 1.8;
}

.line13 {
    line-height: 1.3;
}

.l_text {
    font-size: 1.05em;
}

.bgreen {
    color: #3F7985;
}

.sub_p {
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin: 0 0 15px 0;
    line-height: 1.6;
    font-size: 1.5em;
    color: #B3000C;
}

.sub_p:before, .sub_p:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: #B3000C;
}

.sub_p.sub_p:before {
    left: 0;
}

.sub_p:after {
    right: 0;
}

.red_txt {
    color: #B3000C;
    font-size: 1.2em;
}

@media only screen and (max-width: 640px) {
    .sub_p {
        font-size: 1.3em;
    }

    .red_txt {
        font-size: 1.15em;
    }
}

/*----------------------------------
メディア掲載
----------------------------------*/
/* 過去の記事ページ */
.under_contents table.past,
.under_contents table.past th,
.under_contents table.past td {
    border: none;
}

.under_contents table.past th {
    width: 22%;
}

.under_contents table.past td {
    width: 78%;
}

.past a {
    text-decoration: none;
}

.past a:hover {
    text-decoration: underline;
}


@media only screen and (min-width: 641px) {
    .under_contents table.past th {
        text-align: left;
        padding-right: 1em;
        background: none;
        border: none;
        font-weight: normal;
        vertical-align: top;
    }

    .blog_entry p {
        margin-top: 1.4em;
        margin-bottom: 1.3em;

    }
}

@media only screen and (max-width: 640px) {
    .under_contents table.past th,
    .under_contents table.past td {
        width: 100%;
    }
}


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

.videos {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    width: 100%;
}

.videos .video iframe {
    width: 100%;

}

.videos .video {
    width: 100%;
    margin-top: 20px;
}

.videos .video iframe {
    height: calc((100vw - 30px) * .56);
}

@media screen and (min-width: 641px) {
    .videos .video {
        width: 48%;
    }

    .videos .video iframe {
        height: 194px;
    }

}

#side_col .barb_side_widget #searchform {
    background: #fff;
    border: 1px solid #ddd;
    position: relative;
    height: 56px;

}

#side_col .barb_side_widget #searchform #search_button {
    float: right;
    margin: 10px 10px 0 0;
}

#side_col .barb_side_widget #searchform #search_input {
    float: left;
    margin: 11px 0 0 11px;
    border: 1px solid #ccc;
    background: #f2f2f2;
    width: 75px;
    height: 33px;
    position: relative;
    padding: 0 10px;
    box-shadow: 2px 2px 3px 0px #ddd inset;
}

/*外部リンクへ*/
.linkb a::after {
    content: " \f08e";
    font-family: FontAwesome;
}

.linkb a:hover {
    background: #eee;
    color: #3F7985;
}

/*クリックで詳細表示*/
.hidden_box {
    margin: 0;
    padding: 0;
}

.hidden_box label {
    cursor: pointer;
    border-bottom: solid #3F7985 1px;
    color: #3F7985;
}

.hidden_box label:hover {
    background: #eee;
}

.hidden_box input {
    display: none;
}

.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}

/*----------------------------------
google-maps
----------------------------------*/
.google-maps {
    position: relative;
    padding-bottom: 50%;
    height: 0;
    overflow: hidden;
}

.google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

/*----------------------------------
大日電子の列車無線の特徴
----------------------------------*/
.solid_box {
    position: relative;
    display: inline-block;
    font-weight: bold;
    padding: 0.5em 1.0em;
    text-decoration: none;
    color: #FFF;
    background: #2D5793;
    border-radius: 3px;
    transition: .4s;
}

.marker_b {
    background: linear-gradient(transparent 70%, #D9E7F0 70%);
    display: inline-block;
}

.diff_icon {
    font-family: FontAwesome;
    display: inline-block;
    vertical-align: top
}

.solid_box2 {
    display: inline-block;
    padding: 0.3em 1.5em;
    text-decoration: none;
    color: #2D5793;
    border: solid 2px #2D5793;
    border-radius: 30px;
    transition: .4s;
}

.solid_box2:hover {
    border: solid 2px #6E8EBB;
    background: #F7F9E5;
}

.solid_box2 a {
    color: #2D5793;
    text-decoration: none;
}

.solid_box2 a:hover {
    color: #FCB319;
    text-decoration: none;
}

.difference .big2 {
    font-size: 16px;
    line-height: 1.6;
}

/*----------------------------------
フランス語・英語ページ用 フォント指定
----------------------------------*/
body.fr #main_col,
body.en #main_col {
    font-family: Lato, Verdana, Segoe UI, SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Ｈ画像3列＋下段テキスト 二段目用 ---*/
.column_wrap_041 {
    clear: both;
}

.column_wrap_041 .columns div {
    background: #ccc;
    overflow: hidden;
}

.column_wrap_041 .columns div span {
    display: block;
    text-align: center;
    font-weight: bold;
    color: #000;
    padding: 10px 5px;
    line-height: 1.3;
}

.column_wrap_041 .columns img {
    width: 100%;
    height: auto;
}

.column_wrap_041 .columns p {
    text-align: justify;
}


@media only screen and (min-width: 641px) {
    .column_wrap_041 .three.columns {
        width: 30.6666666667%;
    }

    .column_wrap_041 .columns {
        width: 100%;
        float: left;
        box-sizing: border-box;
        margin-left: 4%;
    }

    .column_wrap_041 .columns:first-child {
        margin-left: 0;
    }

    .column_wrap_041 .columns p.space {
        margin: -5px 0 0 0;
    }

}

.column_wrap_041 .columns p.wrap01-txt {
    font-size: 0.9em;
    text-align: center;
    margin-top: -5px;
    margin-bottom: 15px;
    line-height: 1.2em;
}

@media only screen and (max-width: 640px) {
    .column_wrap_041 {
        margin: 0 0 -20px 0;
    }

    .column_wrap_041 .three.columns {
        margin: 0 0 20px 0;
    }

    .column_wrap_041 .columns p {
        margin: 0;
    }

    .clean .column_wrap_041 {
        margin: 0 0 -15px 0;
    }

    #content .post .clean .column_wrap_041 img {
        padding: 0;
        margin-bottom: -5px;
    }

    .column_wrap_041 .columns p.wrap01-txt {
        margin-bottom: 20px;
    }

    .column_wrap_041 .columns img.t20 {
        margin-top: 40px;
    }
}

/* 製品情報 ---*/
#base .under_contents .item_info h3 {
    position: relative;
    padding: .5em .5em .1em 1.8em;
    border-bottom: double 3px #004BA8;
    margin: 0 0 20px 0;
}

#base .under_contents .item_info h4 {
    margin: 1em 0 0.75em 0;
    border-left: 4px solid #0081E3;
    padding-left: .9em;
    line-height: 2;
}

#base .under_contents .item_info h5 {
    padding: 0.3em 0.8em;
    margin: 0.5em 0 10px;
    border: solid 1px #325A8C;
    color: #325A8C;
    font-weight: bold;
    font-size: 14px;
}

#base .under_contents .txt {
    margin-bottom: 40px;
}

#base .under_contents .txt_m {
    margin-bottom: 15px;
}

#base .under_contents .txt_n {
    margin-bottom: 10px;
}

#base .under_contents .c_img {
    text-align: center;
    margin-bottom: 30px;
}

#base .under_contents .subt {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 5px;
    margin-left: -7px;
}

#base .under_contents .subt-n {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 5px;
}

.under_contents .item_table table {
    width: auto;
    border-collapse: inherit;
    border-spacing: 0;
    border-top: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1;
    margin-bottom: 20px;
}

.under_contents .item_table table th {
    text-align: left;
    padding: 5px 10px;
    width: 200px;
}

.under_contents .item_table table td {
    line-height: 2;
    padding: 5px 10px;
    vertical-align: top;
}

.under_contents .item_table .tbl_t {
    margin-bottom: 5px;
    margin-left: 3px;
}

#base .under_contents .t_contact {
    position: relative;
    display: inline-block;
    padding: 0 55px;
    font-size: 1.2em;
    font-weight: bold;
    color: #B3000C;
    margin-top: 40px;
    margin-bottom: 1px;
}

#base .under_contents .t_contact:before,
#base .under_contents .t_contact:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: #B3000C;
}

#base .under_contents .t_contact:before {
    left: 0;
}

#base .under_contents .t_contact:after {
    right: 0;
}

#shiyou ul li {
    background: none;
    padding: 0;
    line-height: 1.7;
    margin-bottom: 10px;
}

#shiyou .p02 li {
    line-height: 1.8;
    margin-bottom: 20px;
}

#shiyou .tb_b {
    border: 1px solid #e1e1e1;
}

#shiyou table {
    border: 1px solid #e1e1e1;
    border-collapse: collapse;
}

#shiyou td,
th {
    padding: 8px;
    white-space: nowrap;
}

#shiyou td.norm {
    white-space: normal;
}


.list-box_gray {
    border: 1px solid #e1e1e1;
    padding: 10px 10px 10px 15px;
}

.uwatuki {
    vertical-align: super;
}

/* ▲（キャプション用） ---*/
.caption {
    color: #3F7985;
    font-size: 14px;
}

#base .blue1 {
    margin: 8px 0 8px 10px;
    /*font-weight: bold;*/
    color: #004BA8;
    font-size: 1.2em;
}

/*----------------------------------
製品詳細ページ 追記 22025/03
----------------------------------*/
/*ダムテレメーター・放流警報装置*/
.products-contents h3 {
    margin-top: 2rem !important;
}
.products-contents h4 {
    font-size: 15px;
}
.products-contents p {
    margin-bottom: 1rem;
}
.products-contents .b {
    font-weight: bold;
}
.products-contents .mt0 {
    margin-top: 0 !important;
}
.products-contents .mb0 {
    margin-bottom: 0 !important;
}
.products-contents .mbsp {
    margin-bottom: 2rem !important;
}
.products-contents .kome {
    padding-left: 1em;
    text-indent: -1em;
}
.products-contents .kome::before {
    content: "※";
}
.products-contents a.to-link {
    text-decoration: none;
}
.products-contents a.to-link::before {
    font-family: FontAwesome;
    content: "\f138";
    margin-right: 3px;
}
.products-contents a.to-link:hover {
    background: #F7F9E5;
}
.products-contents .single-img,
.products-contents .single-img-500,
.products-contents .single-img-tall {
    text-align: center;
}
.products-contents .single-img img {
    max-width: 400px;
    width: 100%;
}
.products-contents .single-img-500 img {
    max-width: 500px;
    width: 100%;
}
.products-contents .single-img-tall img {
    max-height: 600px;
    width: auto;
}
.products-contents ul {
    list-style-type: disc;
    margin-left: 1rem;
    margin-bottom: 0;
}
.products-contents ul li {
    margin-bottom: 0;
}
.products-contents .intro-list li {
    margin-bottom: .5rem;
}
.products-contents .two-column,
.products-contents .in-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.products-contents .under-img-txt {
    text-align: center;
    margin-bottom: 2rem;
}
.products-contents .procedure {
    margin-bottom: 2rem;
}
.products-contents .procedure p {
    margin-left: .5rem;
}
.products-contents .procedure .colon-txt {
    margin-bottom: 1rem;
}
.products-contents .procedure .colon-txt p {
    margin-bottom: .2rem;
    /* padding-left: 1em;
    text-indent: -1em; */
}
.products-contents .procedure .colon-txt p.example-ind {
    margin-left: 5rem;
}
.products-contents p.num-line {
    border: #2D5793 1px solid;
    color: #2D5793;
    font-weight: bold;
    border-radius: .6rem;
    padding: 0 .5rem;
    margin-bottom: .3rem;
    margin-left: 0;
}
.products-contents table td p {
    margin-bottom: 0;
}
.products-contents table td ul:not(:last-child) {
    margin-bottom: 1rem;
}
.products-contents .box-yellow {
    padding: 1rem;
    background: #fff7d2;
}
.products-contents .box-yellow .line-text {
    font-size: .9rem;
    font-weight: bold;
}
.products-contents .box-yellow h5 {
    font-size: .9rem;
    font-weight: bold;
    background: #fff;
    padding: .2rem .5rem;
    margin: .75rem auto;
}
.products-contents .box-yellow h5::before {
    font-family: FontAwesome;
    content: "\f0c8";
    margin-right: 3px;
}
.products-contents .page-link-box {
    border: #d9e7f0 2px solid;
    margin-bottom: 2rem;
}
.products-contents .page-link-box .two-column {
    gap: 0;
}
.products-contents .page-link-box .in-two-column {
    border: #d9e7f0 2px solid;
    gap: 0;
}
.products-contents .page-link-box span {
    display: block;
    background: #d9e7f0;
    color: #2D5793;
    font-weight: bold;
    font-size: 1rem;
}
.products-contents .page-link-box img {
    padding-bottom: 0 !important;
}
.products-contents .page-link-box .left-inner>a {
    display: block;
    margin: .5rem;
}
.products-contents .box-list {
    border: #d9e7f0 4px solid;
    padding: .75rem 1rem;
    margin-bottom: 1rem;
}
.products-contents .box-list ul {
    margin: 0;
}
.products-contents .box-list li {
    display: inline-block;
    margin-right: .5rem;
}
.products-contents .box-list li::before {
    font-family: FontAwesome;
    content: "\f111";
    margin-right: 3px;
    color: #6c9aa5;
}
.products-contents .keihou-column div,
.products-contents .gamen-column div {
    text-align: center;
}
.products-contents .keihou-column strong {
    font-size: .95rem;
}
.products-contents .gamen-column strong {
    font-size: .95rem;
    display: block;
    margin-bottom: .5rem;
}
@media only screen and (min-width:641px) {

}
@media only screen and (max-width:640px) {
    .products-contents .two-column{
        grid-template-columns: 1fr;
    }
    .products-contents .under-img-txt {
        text-align: left;
    }
    .products-contents .page-link-box {
        max-width: 400px;
        width: 100%;
        margin: auto;
    }
    .products-contents .procedure .colon-txt p {
        padding-left: 5em;
        text-indent: -5em;
    }
    .products-contents .procedure .colon-txt p.example-ind {
        margin-left: 1rem;
        padding-left: 2em;
        text-indent: -2em;
    }

}

/*----------------------------------
「新スプリアス規格」 追記 2021/01/13～
----------------------------------*/

#case-box {
    margin: 1em 0;
    padding: 1.5em 1em 1em;
    position: relative;
    border: 1px solid #0081E3;
    background-color: #e1f5fe;
}

#case-box .title {
    position: absolute;
    top: -0.8em;
    left: 20px;
    font-weight: bold;
    font-size: 1.1em;
    background-color: #0081E3;
    color: #fff;
    padding: 0 0.5em;
}

#case-box p {
    margin: 0;
    padding: 0;
}

#case-box .txt1 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 10px;
}

#case-box .txt2 {
    margin: 0 10px;
}

@media only screen and (max-width: 640px) {
    #case-box .txt1 {
        font-size: 1.1em;
    }
}

.arr01 {
    position: relative; /*相対位置*/
    padding: 0.5em 0.5em 0.5em 1.5em; /*アイコン分のスペース*/
    line-height: 1.9; /*行高*/
    /*color: #ff6a6a;文字色*/
    background: #fffff4;
}

.arr01::before {
    font-family: "FontAwesome"; /*忘れずに*/
    content: "\f138"; /*アイコンのユニコード*/
    font-weight: 900;
    position: absolute; /*絶対位置*/
    font-size: 1.1em; /*サイズ*/
    left: 0.25em; /*アイコンの位置*/
    top: 0em; /*アイコンの位置*/
    color: #0081E3; /*アイコン色*/
}

.arr02 {
    position: relative; /*相対位置*/
    padding: 0.5em 0.5em 0.5em 1.5em; /*アイコン分のスペース*/
    line-height: 1.9; /*行高*/
    /*color: #ff6a6a;文字色*/
    /*background: #fffff4;*/
}

.arr02::before {
    font-family: "FontAwesome"; /*忘れずに*/
    content: "\f103"; /*アイコンのユニコード*/
    font-weight: 900;
    position: absolute; /*絶対位置*/
    font-size: 1.1em; /*サイズ*/
    left: 0.25em; /*アイコンの位置*/
    top: 0.1em; /*アイコンの位置*/
    color: #004BA8; /*アイコン色*/
}

.arr03 {
    position: relative; /*相対位置*/
    padding: 0.5em 0.5em 0.5em 2.2em; /*アイコン分のスペース*/
    line-height: 1.9; /*行高*/
    /*color: #ff6a6a;文字色*/
}

.arr03::before {
    font-family: "FontAwesome"; /*忘れずに*/
    content: "\f138"; /*アイコンのユニコード*/
    font-weight: 900;
    position: absolute; /*絶対位置*/
    font-size: 1.1em; /*サイズ*/
    left: 0.7em; /*アイコンの位置*/
    top: 0.05em; /*アイコンの位置*/
    color: #3F7985; /*アイコン色*/
}

.arr04 {
    position: relative; /*相対位置*/
    padding: 0.5em 0.5em 0.5em 1.5em; /*アイコン分のスペース*/
    line-height: 1.9; /*行高*/
    /*color: #ff6a6a;文字色
    background: #fffff4;*/
}

.arr04::before {
    font-family: "FontAwesome"; /*忘れずに*/
    content: "\f13a"; /*アイコンのユニコード*/
    font-weight: 900;
    position: absolute; /*絶対位置*/
    font-size: 1.1em; /*サイズ*/
    left: 0.25em; /*アイコンの位置*/
    top: 2px; /*アイコンの位置*/
    color: #0081E3; /*アイコン色*/
}

#hr01 hr {
    border: 1px dashed #ccc;
}

#hr02 hr {
    border-top: 1px #ccc dashed;
    border-bottom: 0px;
    margin: 20px 0;
}

.s_txt {
    font-size: 0.9em
}


/*----------------------------------
トップスマホナビ用 2021/01/18～
----------------------------------*/
.sp_navi {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100%;
}

.sp_nb01 {
    border-top: #aaaaaa 0.5px dotted;
    border-left: #aaaaaa 0.5px dotted;
    border-right: #aaaaaa 0.5px dotted;
}

.sp_nb02 {
    border-left: #aaaaaa 0.5px dotted;
    border-right: #aaaaaa 0.5px dotted;
}

.sp_nb03 {
    border-bottom: #aaaaaa 0.5px dotted;
    border-left: #aaaaaa 0.5px dotted;
    border-right: #aaaaaa 0.5px dotted;
}

/*----------------------------------
flexbox
----------------------------------*/

.f_box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.f_box .f_item {
    text-align: center;
    border-top: #aaaaaa 0.5px dotted;
    border-bottom: #aaaaaa 0.5px dotted;
    border-left: #aaaaaa 0.5px dotted;
    padding-top: 10px;
}

.f_box .f_item:last-child {
    border-right: #aaaaaa 0.5px dotted;
}

@media only screen and (max-width: 640px) {
    .f_box {
        flex-wrap: wrap;
    }

    .f_box .f_item {
        border-bottom: none;
        border-left: none;
        padding-top: 20px;
    }

    .f_box .f_item:last-child {
        border-bottom: #aaaaaa 0.5px dotted;
        border-right: none;
        margin-bottom: 50px;
    }
}

/*----------------------------------
製品情報
----------------------------------*/
.h_center {
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin-bottom: 20px;
}

.h_center_l {
    position: relative;
    display: inline-block;
    padding: 0 110px;
    margin-bottom: 5px;
    font-size: 1.15em;
}

.h_center:before, .h_center:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

.h_center_l:before, .h_center_l:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 100px;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

.h_center:before, .h_center_l:before {
    left: 0;
}

.h_center:after, .h_center_l:after {
    right: 0;
}

@media only screen and (max-width: 640px) {
    .h_center_l {
        font-size: 1.1em;
    }
}

.kome_txt {
    font-size: 0.9em;
    margin: -25px 5px 40px;
}

/* ページリンク ---*/
.btn {
    display: inline-block;
    width: 450px;
    padding: 1rem 4rem;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    border-radius: 0.5rem;
    margin-bottom: 10px;
}

.btn-link,
a.btn-link {
    color: #fff;
    background-color: #2D5793;
}

.btn-link:hover,
a.btn-link:hover {
    color: #fff;
    background: #3662A2;
}

@media only screen and (max-width: 640px) {
    .btn {
        width: 100%;
    }
}

/* 青いテーブル ---*/
.bl_tbl {
    width: 100%
}

.bl_tbl tbody th, .bl_tbl tbody td {
    padding: 8px;
    width: auto;
    vertical-align: top;
}

.bl_tbl th {
    padding: 5px;
    background-color: #2D5793;
    color: #fff;
}

.bl_tbl tbody .b {
    font-weight: bold;
}

.bl_tbl tbody .nw {
    white-space: nowrap
}

.bl_tbl tbody .b_tr01 {
    background-color: #C5E0F9
}

.bl_tbl tbody .b_tr02 {
    background-color: #E1F0FF;
}

.bl_tbl tr .h_td {
    width: 80px;
}

#kinou h2 {
    font-weight: bold;
    text-align: center;
    font-size: 1.3em;
    margin-bottom: 30px;
}

@media only screen and (max-width: 640px) {
    #kinou h2 {
        font-size: 1.2em;
    }
}

#kinou h5 {
    padding: 0.3em 0.8em;
    margin: 0.5em 0 10px;
    border: solid 1px #325A8C;
    color: #325A8C;
    font-weight: bold;
    font-size: 14px;
}

#kinou div {
    margin: 0 5px 10px;
}

#kinou .righttxt {
    width: 60%;
    padding-top: 20px;
}

#kinou .leftimg {
    width: 38%;
    padding: 0 10px;
}

@media only screen and (max-width: 640px) {
    #kinou .righttxt, #kinou .leftimg {
        width: 100%;
        margin: 0;
    }
}

.box_sub {
    background: #325A8C;
    color: #fff;
    font-size: 1.1em;
    text-align: center;
    padding: 5px 10px;
    border-radius: 6px;
}

@media only screen and (max-width: 640px) {
    .box_sub {
        text-align: left;
    }
}

#hr02 div .d_link {
    margin-left: auto;
    margin-right: auto;
    line-height: 1.8;
    width: 500px;
}

@media only screen and (max-width: 640px) {
    #hr02 div .d_link {
        width: 90%;
    }
}

#hr03 hr {
    border-top: 1px #ccc dotted;
    border-bottom: 0px;
    margin: 20px 0;
}

/*----------------------------------
「製品情報」新規追加ページ作成に伴う追記
　2022/05/20～ "product_items"
----------------------------------*/
.product_items h3 {
    margin-top: 40px !important;
}

.product_items h4 {
    font-size: 15px;
}

.product_items h5 {
    padding: 0.3em 0.8em;
    margin: 0.5em 0 10px;
    border: solid 1px #325A8C;
    color: #325A8C;
    font-weight: bold;
    font-size: 14px;
}

.product_items p {
    margin-bottom: 20px;
}

.product_items table {
    margin-bottom: 40px;
}

.product_items table th {
    width: 25%;
}

.product_items table td,
.product_items table th {
    border-right: 1px solid #c1c1c1;
    border-bottom: 1px solid #c1c1c1;
    padding: 8px;
}

.product_items .column_wrap_03 .leftimg {
    float: left;
    width: 48%;
}

.product_items .column_wrap_03 .righttxt {
    float: right;
    width: 49%;
    padding: 0;
}

.product_items ul li {
    text-indent: -1em;
    padding-left: 1em;
}

.product_items ul li.kakko {
    text-indent: -0.5em;
    padding-left: 0.5em;
}

.product_items ul li:before {
    content: '•';
    font-weight: bold;
    padding-right: 5px;
}
@media only screen and (max-width:640px) {
	.product_items .column_wrap_03 .leftimg,
	.product_items .column_wrap_03 .righttxt{
		float: none;
		width: 100%;
	}
	.product_items br.pc {
		display: none;
	}
	.products_img img {
		margin-top: 5px;
	}
}
.products_img {
	text-align: center;
}
.product_items .products_img .type_wide {
	width: 85%;
	height: auto;
}
.product_items .products_img .type_long,
.product_items .products_img .type_long_w {
	width: auto;
	height: 500px;
}
.product_items .products_img .type_square {
	width: 350px;
	height: auto;
}
.product_items .products_img .type_square2 {
	width: 450px;
	height: auto;
}

.product_items .sankaku {
    margin: 0 10px 40px;
    text-indent: -1em;
    padding-left: 1em;
    font-size: 12px;
}

.product_items .sankaku::before {
    content: "▲";
    color: #004BA8;
}
@media only screen and (max-width:640px) {
	.product_items .products_img .type_wide {
		width: 100%;
	}
	.product_items .products_img .type_square,
	.product_items .products_img .type_square2{
		max-width: 350px;
		width: 90%;
	}
	.product_items .products_img .type_long {
		width: auto;
		height: 450px;
	}
	.product_items .products_img .type_long_w {
		max-width: 300px;
		width: 90%;
		height: auto;
	}
	.product_items .sankaku br{
		display: none;
	}
}

.product_items .columns-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
}

.product_items .columns-two span {
    font-weight: bold;
    display: block;
}

.product_items .columns-two img,
.product_items .columns-button img {
    padding: 0 !important;
    margin: 0;
}

.product_items .waku {
    border: solid 1px #c1c1c1;
}

.product_items .page_link_four {
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 10px;
}

.product_items .columns-button {
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    gap: 10px;
    margin-bottom: 20px;
    border: solid 1px #c1c1c1;
    padding: 20px;
}

.product_items .columns-button .columns-inner {
    text-align: center;
}

.product_items .columns-button .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}

.product_items .columns-button .arrow img {
    width: 40px;
    height: 40px;
}

.product_items .columns-button img.sp {
    display: none;
}

.product_items .t_kakaku {
    width: 100%;
    max-width: 500px;
    margin-bottom: 5px;
}

.product_items .t_m-button {
    border: none;
    margin-bottom: 30px;
}

.product_items .t_m-button th,
.product_items .t_m-button td {
    text-align: center;
    width: auto;
}

.product_items .t_m-button .top {
    border-top: solid 1px #c1c1c1;
}

.product_items .t_m-button .corner1 {
    border-top: none;
    border-bottom: none;
}

.product_items .t_m-button .corner2 {
    border-top: none;
}

.product_items .t_m-button .corner3 {
    border-left: solid 1px #c1c1c1;
}

.product_items .t_m-button .col01 {
    width: 22%;
}

.product_items .t_m-button .col02 {
    width: 15%;
}

.product_items .t_m-button .col03 {
    width: 21%;
}

.product_items .top_img img,
.product_items .in_img img {
    margin: 0;
}

.product_items .bd_img img {
    margin: 0;
    border: solid 1px #c1c1c1;
}

.product_items ol {
    margin-left: 30px;
}

.product_items .banner_contact {
    text-align: center;
}

.product_items a.anchor {
    display: block;
    padding-top: 5px;
    margin-top: -5px;
}

@media screen and (max-width: 639px) {
    .product_items .page_link_four {
        grid-template-columns: 1fr 1fr;
        gap: 5px;
    }

    .product_items .columns-two,
    .product_items .columns-button {
        grid-template-columns: 1fr;
    }

    .product_items .columns-button {
        max-width: 340px;
        width: 100%;
        margin: 0 auto 20px;
        gap: 0px;
        padding: 5px 20px;
    }

    .product_items .columns-button .arrow img {
        width: 80px;
        height: auto;
    }

    .product_items .columns-button img.pc {
        display: none;
    }

    .product_items .columns-button img.sp {
        display: block;
    }

    .product_items .t_m-button .col01,
    .product_items .t_m-button .col02 {
        width: auto;
    }

    .product_items .t_m-button .col03 {
        width: 24%;
    }

    .product_items .t_m-button .corner3 {
        writing-mode: vertical-rl;
        width: 45px;
    }

    .product_items .bd_img img {
        max-width: 400px;
        width: 100%;
    }
}

@media screen and (min-width: 360px) {
    .product_items .t_m-button br {
        display: none;
    }
}

@media screen and (max-width: 479px) {
    .product_items .page_link_four {
        grid-template-columns: 1fr;
        gap: 0px;
    }

}

@media screen and (min-width: 480px) {
    .product_items .page_link_four sm {
        display: none;
    }

}

/*--「保守無線」"maintenance-radio" --*/
.maintenance-radio .products_img{
	margin: auto;
	width: 75%;
}

.maintenance-radio .column_wrap_03 .leftimg,
.maintenance-radio .column_wrap_03 .rightimg {
    text-align: center;
    color: #004BA8;
    line-height: 1.5;
    border-bottom: #ccc dotted 1px;
    padding: 10px 0;
    background-color: #f4fcff;
}

.maintenance-radio .column_wrap_03 .leftimg img,
.maintenance-radio .column_wrap_03 .rightimg img {
    width: 330px;
    height: auto;
    padding-bottom: 10px !important;
}

.maintenance-radio .column_wrap_03 .non {
    border: none !important;
    background-color: #fff;
}
@media only screen and (max-width:640px) {
	.maintenance-radio .products_img{
		width: auto;
	}
	.maintenance-radio .column_wrap_03 .leftimg,
	.maintenance-radio .column_wrap_03 .rightimg{
		background-color: #fff;
	}
	.maintenance-radio .column_wrap_03 .leftimg img,
	.maintenance-radio .column_wrap_03 .rightimg img {
		max-width: 350px;
		width:100%;
	}
}

/*--「緊急地震速報装置」"eew_souchi" --*/
.eew_souchi .righttxt span {
    display: block;
    margin-bottom: -10px;
    margin-top: 5px;
}

.eew_souchi .leftimg {
    text-align: center;
}

.eew_souchi .leftimg img {
    width: 65%;
}

.eew_souchi .arrow span {
    display: block;
    margin: 0px 25px 5px
}

@media only screen and (max-width: 640px) {
    .eew_souchi .leftimg img {
        max-width: 220px;
    }
}

/*--「アナログ列⾞無線システム」 "analog_train" --*/
@media only screen and (min-width: 500px) {
    .analog_train .column_wrap_03 .leftimg {
        float: left;
        width: 20%;
        padding: 0;
        text-align: center;
        margin: 0 10px;
    }

    .analog_train .column_wrap_03 .righttxt {
        float: right;
        width: 70%;
        margin: 10px;
    }
}

@media only screen and (max-width: 499px) {
    .analog_train .column_wrap_03 .leftimg,
    .analog_train .column_wrap_03 .righttxt {
        float: none;
        width: 100%;
        margin: 0;
    }

    .analog_train .column_wrap_03 .leftimg {
        text-align: center;
    }

    .analog_train .column_wrap_03 .leftimg .in_img {
        width: 100%;
        max-width: 160px;
        margin-bottom: 10px;
    }
}

/*--「デジタル列⾞無線システム」 "digita_train" --*/
.digita_train .column_wrap_03 .lefttxt {
    float: left;
    width: 56%;
    margin-left: 8px;
}

.digita_train .column_wrap_03 .rightimg {
    float: right;
    width: 40%;
    padding: 0;
    text-align: center;
    margin-bottom: 10px;
}

.digita_train .comment-box2 b {
    font-size: 110%;
}

@media only screen and (max-width: 640px) {
    .digita_train .column_wrap_03 .lefttxt,
    .digita_train .column_wrap_03 .rightimg {
        float: none;
        width: 100%;
    }

    .digita_train .column_wrap_03 .lefttxt {
        margin: 0;
    }

    .digita_train .column_wrap_03 .rightimg {
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 0;
    }

    .digita_train .column_wrap_03 .rightimg img {
        width: 100%;
    }
}

.digita_train div.box_ip {
    padding: 5px;
    margin: 60px 0 20px;
    border: 1px solid #99dce2;
}

.digita_train div.box_ip p {
    margin: 5px 15px 10px;
    padding: 0;
    text-align: center;
}

.digita_train div.box_ip p.text_ue {
    text-align: left;
    margin-bottom: 5px;
}

.digita_train div.box_ip p.text_shita {
    font-size: 15px;
}

.digita_train div.box_ip p.text_kome {
    text-align: left;
    font-size: 12px;
    color: #555;
}

.digita_train div.box_ip span {
    display: block;
    color: #fff;
    background-color: #4ec4d3;
    padding: 2px 5px;
    margin-bottom: 5px;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
}

.digita_train div.box_ip hr {
    border-top: 1px #ccc dashed;
    border-bottom: 0px;
    margin: 15px 10px;
}

/*--「鋼索鉄道用無線システム」 "cable_railway" --*/
.cable_railway .box {
    position: relative;
    margin: 15px 0 20px;
    padding: 25px 10px 7px;
    border: dotted 2px #325A8C;
}

.cable_railway .box .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 12px;
    height: 25px;
    line-height: 25px;
    font-size: 15px;
    background: #325A8C;
    color: #ffffff;
    margin-top: 1px;
}

.cable_railway .box p {
    margin: 0;
    padding: 0;
}

/*--「IP変換装置」"ip_henkan" --*/
.ip_henkan div.box_ip {
    padding: 5px;
    margin: 60px 0 20px;
    border: 1px solid #99dce2;
}

.ip_henkan div.box_ip p {
    margin: 5px 15px 10px;
    padding: 0;
    text-align: center;
}

.ip_henkan div.box_ip p.text_ue {
    text-align: left;
    margin-bottom: 5px;
}

.ip_henkan div.box_ip p.text_shita {
    font-size: 15px;
}

.ip_henkan div.box_ip p.text_kome {
    text-align: left;
    font-size: 12px;
    color: #555;
}

.ip_henkan div.box_ip span {
    display: block;
    color: #fff;
    background-color: #4ec4d3;
    padding: 2px 5px;
    margin-bottom: 5px;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
}

.ip_henkan div.box_ip hr {
    border-top: 1px #ccc dashed;
    border-bottom: 0px;
    margin: 15px 10px;
}

.ip_henkan .img_caption {
    margin-top: -20px;
    margin-bottom: 20px;
    font-size: 12px;
    text-align: center;
}

/*----------------------------------
トップカタログ請求バナー 220912追加
----------------------------------*/
.catalog_bnr {
    text-align: center;
}

.catalog_bnr img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

@media only screen and (max-width: 640px) {
    .catalog_bnr img {
        max-width: calc(100% - 10px);
    }
}

/*--「鉄道各社様からの各種ご相談・対応事例」"various_cases" --*/
.various_cases .box_case {
    position: relative;
    padding: 0 1em;
    margin: 2em 0;
    border: solid 1px #0081E3;
    border-radius: 15px;
}

.various_cases .box_case:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 45%;
    border: 40px solid transparent;
    border-top: 15px solid #0081E3;
    width: 0;
    height: 0;
}

.various_cases .box_taisaku {
    position: relative;
    padding: 0 1em;
    margin: 2em 0 4em;
    border: solid 1px #d01220;
    border-radius: 15px;
}

.various_cases h4 {
    border-right: 1px solid #0081E3;
    border-bottom: 1px dashed #0081E3;
    border-top: 1px dashed #0081E3;
    margin-bottom: 5px;
}

.various_cases h4.taisaku {
    border-left: 4px solid #d01220;
    border-right: 1px solid #d01220;
    border-bottom: 1px dashed #d01220;
    border-top: 1px dashed #d01220;
    margin-bottom: 12px;
}

.various_cases .box_taisaku p {
    padding: 0 5px;
}

.various_cases .box_case p {
    padding: 7px 10px 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background: #eaf6ff;
    margin-bottom: 15px;
}

.various_cases .box_taisaku div.hosoku {
    padding: 5px 10px;
    background: #fff;
    font-size: 13px;
    border: solid 3px #fce3e3;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-bottom: 16px;
}

.various_cases .box_taisaku div.hosoku p {
    margin-bottom: 5px;
}

.various_cases .box_taisaku p.hosoku {
    font-size: 14px;
    font-weight: bold;
    display: block;
    margin-bottom: 3px;
    text-align: center;
    background: #fef0f0;
}

.various_cases .arr01 {
    padding: 2px 10px 2px 24px !important;
    margin-top: -5px;
    margin-bottom: 10px;
}

@media only screen and (max-width: 640px) {
    .under_contents table.past th,
    .under_contents table.past td {
        width: auto;
        background: #fff;
        vertical-align: top;
        font-weight: 100;
    }
}

.ceo_name {
    margin-top: 40px;
    text-align: right;
    font-size: 18px;
}

td.lh_yakuin {
    padding-top: 16px !important;
}

/*製品情報 追記*/
.product_contents h4 {
    margin-top: 1rem;
}
.product_contents p {
    margin-bottom: 20px;
}
.product_contents p.bold-line {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
.product_contents a.to-link {
    text-decoration: none;
    text-align: left;
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
}
.product_contents a.to-link::before {
    font-family: FontAwesome;
    content: "\f105";
    margin-right: .5rem;
}
.product_contents a.to-link:hover {
    background-color: #fffeed;
}
.product_contents img.alignleft {
    margin: 10px 30px 10px 0;
}
.product_contents .blue-ds-box {
    border: 1px dashed #325A8C;
    padding: 1rem;
}
.product_contents .blue-ds-box p:first-child {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 5px;
    color: #325A8C;
}
.product_contents .blue-ds-box p:last-child {
    margin-bottom: 0;
}
.product_contents .subt-center-hyphen {
    font-size: 16px;
    color: #325A8C;
    text-align: center;
    font-weight: bold;
}
.product_contents .subt-center-hyphen::before {
    content: "―";
    margin-right: 5px;
}
.product_contents .subt-center-hyphen::after {
    content: "―";
    margin-left: 5px;
}
.product_contents img.middle-size {
    width: 100%;
    max-width: 600px;
    margin: auto;
}
.product_contents .num-list {
    margin-bottom: 30px;
}
.product_contents .num-list p:nth-child(2n-1) {
    font-weight: bold;
    margin-bottom: 5px;
}
.product_contents .num-list p:nth-child(2n) {
    padding-left: 2rem;
    margin-bottom: 7px;
}
.product_contents .two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
}
.product_contents .gray-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #eee;
}
.product_contents .gray-two-column div {
    text-align: center;
    border: 1px solid #c1c1c1;
    padding: .75rem 1rem 1rem;
}
.product_contents .gray-two-column div p:first-child {
    margin-bottom: .75rem;
    font-weight: bold;
}
.product_contents .gray-two-column div p:last-child {
    margin-bottom: 0;
}
.product_contents .gray-two-column div:last-child {
    border-left: none;
}
.product_contents .gray-two-column div img {
    max-height: 450px;
    width: auto;
    padding-bottom: 0 !important;
}
.product_contents .img-description {
    font-size: 14px;
    padding-left: 1em;
    text-indent: -1em;
}
.product_contents .img-description::before {
    content: "▲";
}
.product_contents .products-contents p.num-line {
    padding: 0 .7rem;
}
.product_contents .products-contents p:nth-child(2n) {
    margin-left: .65rem;
    margin-top: .4rem;
    margin-bottom: .8rem;
}
@media only screen and (max-width:640px) {
    .product_contents .two-column,
    .product_contents .gray-two-column {
        grid-template-columns: 1fr;
    }
    .product_contents .gray-two-column div:last-child {
        border-left: 1px solid #c1c1c1;
        border-top: none;
    }
}

/*--------------------------------------------------------------
/////   20250606～
        ここからトップ改修関連の追記  /////
--------------------------------------------------------------*/
:root {
    --main-red: #b81b26;
    --main-red-light: #e50012;
    --main-red-dark:#B3000C;
    --main-font: #333;
    --main-gray:#666;
    --main-gray-light: #999;
    --background-gray: #e0e5e8;
    --gray-green: #3F7985;
    --blue-gray: #637c8c;
    --deep-blue: #172676;
    --light-blue: #cae1f2;
}

/*--------------------------------------------------------------
# トップページ
--------------------------------------------------------------*/
/* --- 共通設定 --- */
.top-content {
    font-size: 1rem;
}
.top-content h2 {
    border-bottom: solid 1px var(--main-gray-light);
    position: relative;
    font-size: 1.75rem;
    padding-bottom: .35rem;
    z-index: 0;
    margin: 1rem .8rem 1.85rem;
}
.top-content h2::before {
    content: "";
    display: block;
    background: url(/wp-content/uploads/2025/06/top-header-red-square.png)  100% 100% / cover;
    height: 23px;
    width: 23px;
    position: absolute;
    z-index: -1;
    left: -.7rem;
}
.top-content h2::after  {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px var(--main-red-light);
    bottom: -1px;
    width: 13%;
}
.top-content .sub-english {
    margin-left: .85rem;
    margin-top: -1.5rem;
    margin-bottom: 1.85rem;
    font-weight: bold;
}
.top-content h3 {
    font-size: 1.5rem;
}
.top-content > div > section {
    margin-left: .5rem;
    margin-right: .85rem;
    margin-bottom: 5rem;
}
@media only screen and (max-width: 640px) {
    .home #main_col {
        padding-top: 0;
    }
    .top-content > div > section {
        margin-bottom: 3.5rem;
    }
}

/*PC と SP と画像が違う場合*/
@media only screen and (min-width: 641px) {
    .top-content .sp-img {
        display: none;
    }
}
@media only screen and (max-width: 631px) {
    .top-content .pc-img {
        display: none;
    }
}

/*スマホのみ表示
・新スプリアス規格*/
.top-content .sp-top-new-spurious-bn {
    padding-right: .5rem;
    margin-bottom: .5rem;
}
.top-content .sp-top-new-spurious .new-spurious-info {
    text-align: center;
    color: var(--gray-green);
    margin-bottom: .75rem;
    font-size: .9rem;
    padding: 0 .5rem;
}
.top-content .new-spurious-menu p {
    background: var(--light-blue);
    margin-bottom: .5rem;
    padding: .2rem 1rem;
    font-size: 0.95rem;
    border-left: 5px solid var(--deep-blue);
}
.top-content .new-spurious-menu a {
    display: inline-block;
    width: 100%;
    color: var(--deep-blue);
    text-decoration: none;
    font-weight: bold;
}
.top-content .new-spurious-menu a::after {
    font-family: FontAwesome;
    content: "\f105";
    position: absolute;
    right: 2.5rem;
    font-size: 1.2rem;
    margin-top: -.2rem;

}
@media only screen and (min-width: 641px) {
    .top-content .sp-top-new-spurious-bn,
    .top-content .sp-top-new-spurious {
        display: none;

    }
}
@media only screen and (max-width: 500px) {
    .top-content .sp-top-new-spurious br {
        display: none;
    }

}

/* --- 以下 各パート --- */
/*NEWS*/
.top-content .news-list li {
    background-color: var(--background-gray);
    padding: 5px 0 5px 1rem;
    border: none;
    column-gap: .8rem;
    position: relative;
}

.top-content .news-list .list-date {
    white-space: nowrap;
    font-size: .95rem;
    font-weight: bold;
    letter-spacing: 1px;
}
.top-content .news-list .list-title a {
    position: relative;
    display: inline-block;
    padding-right: 3.5rem;
    width: 100%;
}
.top-content .news-list li::after {
    content: '';
    position: absolute;
    background: url(img/news-arrow.png) no-repeat center / cover;
    display: block;
    width: 36px;
    height: 36px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.top-content .news-list .list-title a {
    z-index: 1;
    color: #333;
}

.top-content .news-list + .post_list_link {
    width: fit-content;
    margin-right: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .4em;
}

.top-content .news-list + .post_list_link:before {
    font-family: fontawesome;
    content: "\f105";
    color: #3F7985;
    font-size: 1.4em;
}

.top-content .news-list + .post_list_link:has(> a:hover):before{
    color: #24434A;
}

.top-content .news-list + .post_list_link:has(> a:visited):before{
    color: #3F7985;
}

@media only screen and (max-width: 639px) {
    .top-content .news-list li {
        display: grid;
        grid-template-columns: 1fr;
        padding-top: .625rem;
        padding-bottom: .625rem;
    }
}

/*バナー：スタッフブログ*/
.top-content .banner-staff-blog .pc img {
    max-width: 550px;
    width: 100%;
}

/*カテゴリ別 製品情報*/

/* -- グレー囲み*/
.top-content .product-info .box-gray {
    background-color: var(--background-gray);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    margin: 2rem auto 2.5rem;
}
.top-content .product-info .box-gray .wp-block-columns {
    display: grid;
    grid-template-columns: auto auto;
    gap: .1rem;
    margin-bottom: 0;
    font-size: .9rem;
    color: var(--gray-green);
}

.top-content .product-categories {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.875rem 0;
    align-items: start;
}

.top-content .product-categories .product-category {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    border-bottom: 1px solid #637c8c;
    font-size: 1rem;
    row-gap: 1rem;
    padding-bottom: 2.875rem;
}


.top-content .product-categories .product-category:last-child {
    border-bottom: none;
}

.top-content .product-categories .product-category:nth-child(odd) {
    padding-right: .8rem;
}

.top-content .product-categories .product-category:nth-child(even) {
    padding-left: .8rem;
}

.top-content .product-categories img {
    padding-bottom: 0 !important;
}

.top-content .product-categories .show-detail {
    margin-top: 12px;
}

.top-content .product-categories .show-detail a {
    text-decoration: none;
    color: #333;
    display: flex;
    font-size: .9375rem;
    align-items: center;
    gap: .75rem;

}

.top-content .product-categories .show-detail a:before {
    content: '';
    display: block;
    width: 35px;
    height: 35px;
    background: url(/wp-content/uploads/2025/06/top-arrow-white.png) no-repeat center / 60%, linear-gradient(#000, #000)
}

@media (min-width: 640px) {
    .top-content .product-categories .product-category:nth-last-child(2):nth-child(odd) {
        border-bottom: none;
    }
}


@media (max-width: 639px) {
    .top-content .product-categories {
        grid-template-columns: 1fr;
        row-gap: 2.25rem;
    }
    .top-content .product-categories .product-category {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 2.25rem;
    }
    .top-content .product-info .box-gray .wp-block-columns {
        grid-template-columns: 1fr;
    }
}



/*大日電子の特長*/
/* -- バナー：大日電子の強み*/

/* -- 右文字｜画像＆リンク */
.features .features-columns .inner-columns {
    display: grid;
    grid-template-columns: minmax(auto, 180px) auto;
    gap: 0;
}
.features .features-columns .inner-columns .inner-in-columns {
    display: grid;
    grid-template-columns: auto 30px;
    gap: 0;
    margin: 0;
}
.features .features-columns .inner-columns > div:first-child {
    background: var(--blue-gray);
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 1.2rem 1.25rem;
    font-size: 1.15rem;
}
.features .features-columns .inner-columns > div:last-child {
    background-image: repeating-linear-gradient(125deg, #e0e5e8, #e0e5e8 3px, #eaeef0 3px, #eaeef0 6px);
    padding: 0;
}

.features .inner-in-columns div:first-child {
    padding: 1.2rem;
}
.features .inner-in-columns div:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
}



.features .features-columns .inner-columns figure {
    margin: 0;
}
.features .features-columns .inner-columns figure img {
    padding: 0 !important;
}
@media only screen and (max-width: 767px) {
    .features .features-columns .inner-columns {
        grid-template-columns: 1fr;
    }
    .features .features-columns .inner-columns div:first-child {
        padding: .5rem 1rem;
    }
    .features .features-columns .inner-columns div:first-child br {
        display: none;
    }
    .features .features-columns .inner-columns div:last-child {
        padding-right: 0;
    }
}

/* -- 品質管理と納品までの流れ*/
.features .flow-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
}
.features .flow-columns img {
    padding: 0 !important;
}
@media only screen and (min-width: 941px) {
    .features .flow-columns .s-img {
        display: none;
    }
}
@media (min-width: 801px) and (max-width: 940px) {
    .features .flow-columns .l-img {
        display: none;
    }
}
@media (min-width: 701px) and (max-width: 800px) {
    .features .flow-columns .s-img {
        display: none;
    }
}
@media only screen and (max-width: 700px) {
    .features .flow-columns .l-img {
        display: none;
    }
}
@media only screen and (max-width: 800px) {
    .features .flow-columns {
        grid-template-columns: 1fr 1fr;
    }
}
@media only screen and (max-width: 640px) {
    .features .flow-columns {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/*＜共通部分＞
・会社案内
・大日電子の社会的取り組み */
.top-content .blue-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}
.top-content .blue-columns div {
    color: #fff;
    background: var(--deep-blue);
    text-align: center;
    padding: 1rem .85rem;
}
.top-content .blue-columns p {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.9rem;
    line-height: 1.4;
    height: 2.5rem;
}
.top-content .blue-columns img {
    max-width: 86px;
    margin: .5rem auto;
    padding-bottom: 0 !important;
}
.top-content .blue-columns figure {
    margin: 0;
}
.top-content .blue-columns a {
    color: #fff;
    text-decoration: none;
    width: 100%;
}
.top-content .blue-columns a:hover {
    opacity: .8;

}
@media only screen and (max-width: 840px) {
    .top-content .blue-columns {
        grid-template-columns: 1fr 1fr 1fr;
    }
    
}
@media  (min-width: 641px) and (max-width: 700px) {
    .top-content .blue-columns {
        grid-template-columns: 1fr 1fr;
    }

}
@media only screen and (max-width: 480px) {
    .top-content .blue-columns {
        grid-template-columns: 1fr 1fr;
    }
}

/*採用情報*/
.top-content .recruit-columns {
    gap: 1rem;
}
.top-content .recruit-columns > div {
    background-image: repeating-linear-gradient(135deg, #e50012, #e50012 4px, transparent 4px, transparent 8px);
    padding: 0 0 0 1.25rem;
}
.top-content .recruit-columns a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: #000;
    padding: 1rem .5rem;
    width: 100%;
}
.top-content .recruit-columns a:hover {
    background: #3a3a3a;
}

@media  (min-width: 641px) and (max-width: 781px) {
    .top-content .recruit-columns {
        gap: .75rem;
    }
    .top-content .recruit-columns a {
        padding: .5rem;        
    }

}
@media (min-width: 521px)  and (max-width: 640px) {
    .top-content .recruit-columns {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
}
@media only screen and (max-width: 520px) {
    .top-content .recruit-columns {
        gap: .5rem;
    }
    .top-content .recruit-columns a {
        padding: .5rem;        
    }

}

/*アクセス*/
.top-content .access iframe {
    margin-top: 1rem;
}

/*参加団体*/
.top-content .participation h4 {
    margin: 0 .5rem .5rem;
    text-align: center;
    color: var(--gray-green);
}
.top-content .participation .pt-frame {
    padding: 1rem;
    border: var(--gray-green) 1px solid;
    max-width: 640px;
    width: 100%;
    margin: auto;
}
.pt-frame .pt-columns {
    gap: 1rem;
    margin-bottom: 0;
}
.pt-frame .pt-columns > div {
    text-align: center;
}
.pt-frame .pt-columns figure {
    margin: 0;
}
.pt-frame .pt-columns img {
    max-width: 90px;
    width: 100%;
}
.pt-frame .pt-columns a {
    display: inline-block;
    font-size: .8rem;
    line-height: 1.4;
    letter-spacing: -1px;
}
@media  (min-width: 641px) and (max-width: 781px) {
    .pt-frame .pt-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .top-content .participation .pt-frame {
        max-width: 400px;
    }

}
@media (min-width: 521px)  and (max-width: 640px) {
    .pt-frame .pt-columns {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}
@media only screen and (max-width: 520px) {
    .pt-frame .pt-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .top-content .participation .pt-frame {
        max-width: 400px;
    }
}
@media only screen and (max-width: 339px) {
    .pt-frame .pt-columns {
        display: grid;
        grid-template-columns: 1fr;
    }
    .top-content .participation .pt-frame {
        max-width: 250px;
    }

}



/*--------------------------------------------------------------
# サイドナビ
--------------------------------------------------------------*/
/*共通*/
.side-navigation {
    
}
.side-navigation .figure-bm0 {
    margin-bottom: 0;
}
.side-navigation .link-button {
    margin-top: 1rem;
}
.side-navigation .link-button figure:last-child {
    margin-bottom: 0;
}
.side-navigation a:hover {
    opacity: .8;
}

/*新スプリアス規格*/
.side-navigation .new-spurious {
    border: 1px solid var(--deep-blue);
    padding-bottom: 1rem;
    margin-bottom: 1em;
}
.side-navigation .new-spurious p {
    font-size: .75rem;
    line-height: 1.5;
    color: var(--gray-green);
    letter-spacing: -.4px;
    padding: .3rem;
    margin: .6rem .8rem 0.2rem;
    border-top: 1px solid var(--gray-green);
    border-bottom: 1px solid var(--gray-green);
    
}
.side-navigation .new-spurious p mark {
    display: inline-block;
    margin-left: -7px;
}
.side-navigation .new-spurious figure {
    text-align: center;
}
.side-navigation .new-spurious .link-button img {
    padding: 0 .85rem;
}

/*＜共通部分＞
・ユーザーメリットを追求した技術と体制
・品質管理と納品までの流れ*/
.side-navigation .gray-stripe {
    background-image: repeating-linear-gradient(125deg, #e0e6e9, #e0e6e9 5px, transparent 5px, transparent 10px);
    padding: 1rem;
    margin-bottom: 1em;
}
.side-navigation .gray-stripe p {
    color: var(--blue-gray);
    font-weight: bold;
    line-height: 1.5;
    font-size: 1.1rem;
    letter-spacing: 0;
}

/*＜共通部分＞
・製品情報
・会社案内／社会的取り組み*/
.side-navigation .red-box {
    border: 1px solid var(--main-red-light);
    padding: .75rem .5rem 1rem; 
    margin-bottom: 1em;
}
.side-navigation .red-box .navi-title {
    color: var(--main-red-light);
    font-weight: bold;
    font-size: 1.1rem;
    letter-spacing: 0.05rem;
    padding-bottom: .5rem;
    margin: 0 .5rem 1rem;
    border-bottom: 2px dashed var(--main-red-light);
}
.side-navigation .red-box .navi-title:not(:first-child) {
    margin-top: 1.5rem;
}
.side-navigation .red-box ul {
    padding-left: 1rem;
    padding-right: .5rem;
    margin-bottom: 0;
}
.side-navigation .red-box li {
    position: relative;
    padding-left: .95rem;
    margin-bottom: .5rem;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
}
.side-navigation .red-box li:before {
    content: "";
    position: absolute;
    top: .55em;
    left: 0;
    width: 6px;
    height: 6px;
    background-color: var(--main-red-light);
    border-radius: 50%;
}
.side-navigation .red-box a {
    text-decoration: none;
    display: inline-block;
}
.side-navigation .red-box .navi-title a {
    color: var(--main-red-light);
    width: 100%;
}
.side-navigation .red-box .navi-title a::before {
    content: url(/wp-content/uploads/2025/06/sidenavi-arrow-red.png);
    position: relative;
    right: -11.1rem;
    top: 0.1rem;
    margin-left: -1rem;
}
.side-navigation .red-box li a {
    color: var(--main-font);
}
.side-navigation .red-box li.shrink-space {
    letter-spacing: -.0425rem;
}

.side-navigation .red-box .link-button figure:not(:last-child) {
    margin-bottom: .2rem;
}
@media only screen and (max-width: 960px) {
    .side-navigation .red-box .navi-title a::before {
        display: none;
    }
    .side-navigation .red-box .navi-title a::after {
        content: url(/wp-content/uploads/2025/06/sidenavi-arrow-red.png);
        position: absolute;
        right: 1.5rem;
    }
    .side-navigation .red-box .navi-title a {
        padding-left: .3rem;
        width: 85%;
    }

}


/*採用情報*/
.side-navigation .recruit {
    background: var(--main-red-light);
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 1em;
    background-image: repeating-linear-gradient(110deg, #655e5ec2, #655e5ec2 1px, transparent 1px, transparent 76px);
}
.side-navigation .recruit figure {
    text-align: center;
}
.side-navigation .recruit .link-button img {
    padding: 0 .85rem;
}

/*大日電子*/
.side-navigation .photo-dainichi {
    margin-bottom: 0;
}
.side-navigation .dainichi-info  {
    background: var(--background-gray);
    padding: 1rem;
    margin-bottom: 1em;
    font-weight: bold;
}
.side-navigation .dainichi-info .dainichi-logo img {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--gray-green);

}
.side-navigation .dainichi-info .address {
    line-height: 1.5;
    padding-left: .3rem;
}
.side-navigation .tel-fax {
    background: #fff;
    text-align: center;
    padding: .1rem;
    font-size: 1.1rem;
    letter-spacing: 0.05rem;
}
.side-navigation .dainichi-info p:not(:last-child) {
    margin-bottom: .8rem;

}

/*言語選択*/
.side-navigation .language-columns {
    gap: 0;
    margin-bottom: 3rem;
}
.side-navigation .language-columns div {
    text-align: center;
    color: var(--blue-gray);
    border: 1px solid var(--blue-gray);
}
.side-navigation .language-columns div:first-child {
    color: #fff;
    background: var(--blue-gray);
}
.side-navigation .language-columns div:not(:first-child) {
    letter-spacing: 0.005rem;
    border-left: none;
}
.side-navigation .language-columns div a {
    text-decoration: none;
    display: block;
    width: 100%;
    padding: .2rem 0;
}
.side-navigation .language-columns div:first-child a {
    color: #fff;
}
.side-navigation .language-columns div a:hover {
    background: var(--gray-green);
    color: #fff;
}

/*ブロックエディター向けに追加した設定*/
/*--------------------------------------------------------------
# 下層ページ
--------------------------------------------------------------*/
.dainichi_contents h2 {
    color: #B3000C;
    font-size: 1.17em;
    margin-top: 3rem;
    padding: 0.4em 0.25em;
    border-top: solid 2px;
    border-bottom: solid 2px;
    line-height: 1.5;
}
.dainichi_contents h2:first-child {
    margin-top: 0;
}
.dainichi_contents h3 {
    position: relative;
    padding: .5em .5em .1em 1.8em;
    border-bottom: double 3px #004BA8;
    margin: 2rem 0 15px 0;    
}
.dainichi_contents h3::before {
    font-family: FontAwesome;
    content: "\f1eb";
    position: absolute;
    font-size: 1.1em;
    left: .1em;
    top: .41em;
    color: #004BA8;
    font-weight: normal;
}
.dainichi_contents p {
    margin-bottom: 0.8rem;
    line-height: 1.8;
}
.dainichi_contents .wp-block-columns {
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.dainichi_contents .wp-block-columns figure,
.dainichi_contents .wp-block-columns img {
    padding: 0 !important;
    margin: 0;
}
.dainichi_contents .to-detail {
  padding-left: 1.2em;
  text-indent: -1.2em;

}
.dainichi_contents .to-detail::before {
    font-family: FontAwesome;
    content: "\f061";
    margin-right: .2rem;
    color: var(--gray-green);

}
/*大日電子の強み*/
.dainichi_contents .advantage-features-img img {
    max-width: 500px;
    width: 100%;
}
