@charset "Shift_JIS";

/*--------------------------------------------------------
  フルCSSプロフェッショナルテンプレート部品設定
--------------------------------------------------------*/

.hpb-parts-cnt-style
{
    border-color: #706ae5;
}

#hpb-main .hpb-parts-hl-style
{
    clear: both;
    margin-top: 0.5em;
    margin-bottom: 1em;
    padding-top: 3px;
    padding-left: 1px;
    padding-bottom: 3px;
    text-align: left;
    border-bottom-width: 2px;
    border-bottom-style: solid;
    border-bottom-color: #706ae5;
    font-size: 1.3em;
    color: #333;
    font-weight: normal;
    background-image: none;
	background-color: transparent;
    height: auto;
    line-height: normal;
    letter-spacing: normal;
}

.hpb-parts-cbox-style
{
    border-color: #706ae5;
}

.hpb-parts-hr-style
{
    border-color: #706ae5;
}

.hpb-parts-pbox-style
{
    background-color: #f4f4f4;
    border-color: #dddddd;
}
.hpb-parts-pbox-style h4
{
    padding: 0px !important;
}
.hpb-parts-pbox-style img
{
    background-color: #f4f4f4;
}

.hpb-parts-blist-style
{
    background-color: #e5eafb;
    border-color: #706ae5;
}
a.hpb-parts-blist-style:link
{
    color: #333;
}
a.hpb-parts-blist-style:visited
{
    color: #333;
}
a.hpb-parts-blist-style:hover
{
    color: #706ae5;
}
a.hpb-parts-blist-style:active
{
    color: #706ae5;
}

/*--------------------------------------------------------
  hpbparts
--------------------------------------------------------*/
/* 飾りなし 幅自動 */
.hpb-parts-cnt-01
{
    margin-bottom: 5px;
    margin-right: 10px;
    padding: 5px;
}

/* 飾りなし 幅60px */
.hpb-parts-cnt-01-060
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 飾りなし 幅120px */
.hpb-parts-cnt-01-120
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 飾りなし 幅180px */
.hpb-parts-cnt-01-180
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 飾りなし 幅240px */
.hpb-parts-cnt-01-240
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 飾りなし 幅360px */
.hpb-parts-cnt-01-360
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 線囲み 幅自動 */
.hpb-parts-cnt-02
{
    margin-bottom: 5px;
    margin-right: 10px;
    padding: 5px;
}

/* 線囲み 幅60px */
.hpb-parts-cnt-02-060
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 線囲み 幅120px */
.hpb-parts-cnt-02-120
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 線囲み 幅180px */
.hpb-parts-cnt-02-180
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 線囲み 幅240px */
.hpb-parts-cnt-02-240
{
    margin-bottom: 5px;
    padding: 5px;
}

/* 線囲み 幅360px */
.hpb-parts-cnt-02-360
{
    margin-bottom: 5px;
    padding: 5px;
}

/******************************
 * 見出し (h1-h6)
 ******************************/

/* 飾りなし */
.hpb-parts-hl-01
{
}

/* 下線 1 */
.hpb-parts-hl-02
{
}

/* 下線 2 (2重線) */
.hpb-parts-hl-03
{
}

/* 線囲み 1 */
.hpb-parts-hl-04
{
    padding: 5px 0.2em 3px 5px !important;
    border-bottom-width: 1px !important;
    border-color: #ccc !important;
}

/* 線囲み 2 (2重線) */
.hpb-parts-hl-05
{
    padding: 5px 0.2em 3px 5px !important;
    border-color: #ccc !important;
}

/* 飾りつき 1 (左■付き) */
.hpb-parts-hl-06
{
    padding-left: 0.5em !important;
    border-left-width: 0.5em !important;
    border-left-color: #706ae5 !important;
}

/* 飾りつき 2 (左■付き＆下線) */
.hpb-parts-hl-07
{
    padding-left: 0.5em !important;
    border-left-width: 0.5em !important;
    border-left-color: #706ae5 !important;
    border-bottom-width: 1px !important;
    border-bottom-color: #ccc !important;
    border-bottom-style: dotted !important;
}

/* 飾りつき 3 (左■付き＆線囲み) */
.hpb-parts-hl-08
{
    padding-top: 6px !important;
    padding-left: 0.5em !important;
    border-left-width: 0.5em !important;
    border-left-color: #706ae5 !important;
    border-top-width: 1px !important;
    border-top-color: #ccc !important;
    border-top-style: dotted !important;
    border-bottom-width: 1px !important;
    border-bottom-color: #ccc !important;
    border-bottom-style: dotted !important;
    border-right-width: 1px !important;
    border-right-color: #ccc;
}

/******************************
 * 文章枠 (div)
 ******************************/

/* 装飾なし */
.hpb-parts-cbox-01
{
    margin-bottom: 5px;
    margin-right: 23px;
}

/* 線囲み 1 (実線) */
.hpb-parts-cbox-02
{
    margin-bottom: 5px;
    margin-right: 23px;
}

/* 線囲み 2 (点線) */
.hpb-parts-cbox-03
{
    margin-bottom: 5px;
    margin-right: 23px;
}

/* 線囲み 3 (2重線) */
.hpb-parts-cbox-04
{
    margin-bottom: 5px;
    margin-right: 23px;
}

/******************************
 * 写真/画像 (img)
 ******************************/

/* 余白なし */
.hpb-parts-img-01
{
}

/* 余白あり */
.hpb-parts-img-02
{
}

/* 写真ボックス 左寄せ配置用 */
.hpb-parts-img-03
{
}

/* 写真ボックス 右寄せ配置用 */
.hpb-parts-img-04
{
}

/* 複数写真ボックス 左端用 */
.hpb-parts-img-05
{
}

/* 複数写真ボックス 2列目用 */
.hpb-parts-img-06
{
}

/* 複数写真ボックス 左端・2行目用 */
.hpb-parts-img-07
{
}

/* 複数写真ボックス 2行目用 */
.hpb-parts-img-08
{
}

/******************************
 * 水平線 (hr)
 ******************************/

/* 水平線 1 (実線・細) */
.hpb-parts-hr-01
{
}

/* 水平線 2 (実線・太) */
.hpb-parts-hr-02
{
}

/* 水平線 3 (点線・細) */
.hpb-parts-hr-03
{
}

/* 水平線 4 (点線・太) */
.hpb-parts-hr-04
{
}

/* 水平線 5 (破線・細) */
.hpb-parts-hr-05
{
}

/* 水平線 6 (破線・太) */
.hpb-parts-hr-06
{
}

/* 水平線 7 (2重線) */
.hpb-parts-hr-07
{
}

/******************************
 * 写真ボックス (div)
 ******************************/

/* 飾りなし */
.hpb-parts-pbox-01
{
}

.hpb-parts-pbox-01 h4
{
    margin-bottom: 0.5em;
}

/* 飾りなし 画像幅60px */
.hpb-parts-pbox-01-060
{
}

/* 飾りなし 画像幅120px */
.hpb-parts-pbox-01-120
{
}

/* 飾りなし 画像幅180px */
.hpb-parts-pbox-01-180
{
}

/* 飾りなし 画像幅240px */
.hpb-parts-pbox-01-240
{
}

/* 線囲み */
.hpb-parts-pbox-02
{
}

.hpb-parts-pbox-02 h4
{
    margin-bottom: 0.5em;
}

/* 線囲み 画像幅60px */
.hpb-parts-pbox-02-060
{
}

/* 線囲み 画像幅120px */
.hpb-parts-pbox-02-120
{
}

/* 線囲み 画像幅180px */
.hpb-parts-pbox-02-180
{
}

/* 線囲み 画像幅240px */
.hpb-parts-pbox-02-240
{
}

/* 写真ボックス用 文章領域 */
.hpb-parts-pbox-desc
{
}

.hpb-parts-pbox-desc h4
{
    margin-bottom: 0.5em;
}

/******************************
 * 複数写真ボックス (div)
 ******************************/

/* 飾りなし 画像幅60px 横2x縦1 */
.hpb-parts-mpbox-01-2060
{
}

/* 飾りなし 画像幅60px 横3x縦1 */
.hpb-parts-mpbox-01-3060
{
}

/* 飾りなし 画像幅60px 横4x縦1 */
.hpb-parts-mpbox-01-4060
{
}

/* 飾りなし 画像幅120px 横2x縦1 */
.hpb-parts-mpbox-01-2120
{
}

/* 飾りなし 画像幅120px 横3x縦1 */
.hpb-parts-mpbox-01-3120
{
}

/* 飾りなし 画像幅120px 横4x縦1 */
.hpb-parts-mpbox-01-4120
{
}

/* 飾りなし 画像幅180px 横2x縦1 */
.hpb-parts-mpbox-01-2180
{
}

/* 飾りなし 画像幅180px 横3x縦1 */
.hpb-parts-mpbox-01-3180
{
}

/* 飾りなし 画像幅180px 横4x縦1 */
.hpb-parts-mpbox-01-4180
{
}

/* 飾りなし 画像幅240px 横2x縦1 */
.hpb-parts-mpbox-01-2240
{
}

/* 飾りなし 画像幅240px 横3x縦1 */
.hpb-parts-mpbox-01-3240
{
}

/* 飾りなし 画像幅240px 横4x縦1 */
.hpb-parts-mpbox-01-4240
{
}

/* 線囲み 画像幅60px 横2x縦1 */
.hpb-parts-mpbox-02-2060
{
}

/* 線囲み 画像幅60px 横3x縦1 */
.hpb-parts-mpbox-02-3060
{
}

/* 線囲み 画像幅60px 横4x縦1 */
.hpb-parts-mpbox-02-4060
{
}

/* 線囲み 画像幅120px 横2x縦1 */
.hpb-parts-mpbox-02-2120
{
}

/* 線囲み 画像幅120px 横3x縦1 */
.hpb-parts-mpbox-02-3120
{
}

/* 線囲み 画像幅120px 横4x縦1 */
.hpb-parts-mpbox-02-4120
{
}

/* 線囲み 画像幅180px 横2x縦1 */
.hpb-parts-mpbox-02-2180
{
}

/* 線囲み 画像幅180px 横3x縦1 */
.hpb-parts-mpbox-02-3180
{
}

/* 線囲み 画像幅180px 横4x縦1 */
.hpb-parts-mpbox-02-4180
{
}

/* 線囲み 画像幅240px 横2x縦1 */
.hpb-parts-mpbox-02-2240
{
}

/* 線囲み 画像幅240px 横3x縦1 */
.hpb-parts-mpbox-02-3240
{
}

/* 線囲み 画像幅240px 横4x縦1 */
.hpb-parts-mpbox-02-4240
{
}

/******************************
 * バナーリスト
 ******************************/

/* 文字型 1 */
.hpb-parts-blist-01
{
    clear: both;
}
.hpb-parts-blist-01 ul
{
    margin-bottom: 5px;
}
.hpb-parts-blist-01 li
{
    border-bottom: none !important;
    padding: 2px !important;
    padding-left: 0 !important;
    background-image: none !important;
}
.hpb-parts-blist-01 li a
{
    padding: 7px !important;
}

/* 文字型 2 */
.hpb-parts-blist-02
{
    clear: both;
}
.hpb-parts-blist-02 ul
{
    margin-bottom: 5px;
}
.hpb-parts-blist-02 li
{
    border-bottom: none !important;
    padding: 2px !important;
    padding-left: 0 !important;
    background-image: none !important;
}
.hpb-parts-blist-02 li a
{
    border-style: dotted;
}

/* 文字型 3 */
.hpb-parts-blist-03
{
    clear: both;
}
.hpb-parts-blist-03 ul
{
    margin-bottom: 5px;
}
.hpb-parts-blist-03 li
{
    border-bottom: none !important;
    padding: 2px !important;
    padding-left: 0 !important;
    background-image: none !important;
}
.hpb-parts-blist-03 li a
{
    border-left-width: 1em;
    border-right-width: 1em;
    border-right-style: solid;
    border-top-style: dotted;
    border-bottom-style: dotted;
}

/* 画像付き 1 */
.hpb-parts-blist-04
{
}
.hpb-parts-blist-04 ul
{
    margin-bottom: 5px;
}
.hpb-parts-blist-04 li
{
    border-bottom: none !important;
    padding: 2px !important;
    padding-left: 0 !important;
    background-image: none !important;
}
.hpb-parts-blist-04 li a
{
}
.hpb-parts-blist-04 li a img
{
}

/* 画像付き 2 */
.hpb-parts-blist-05
{
}
.hpb-parts-blist-05 ul
{
}
.hpb-parts-blist-05 li
{
    border-bottom: none !important;
    padding: 2px !important;
    padding-left: 0 !important;
    background-image: none !important;
}
.hpb-parts-blist-05 li a
{
    border-style: dotted;
}
.hpb-parts-blist-05 li a img
{
}

/*--------------------------------------------------------
  ユーザー設定スタイル
--------------------------------------------------------*/


/* =======================================================
   Smartphone layout fixes for index_sp_test.html
   Added overrides only; desktop rules above are preserved.
   ======================================================= */
@media screen and (max-width: 568px) {
    html, body {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    /* Header image: override the fixed inline dimensions */
    #hpb-header {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box;
    }
    #hpb-header > img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        box-sizing: border-box;
    }

    /* Main content should fit the phone viewport */
    #hpb-inner,
    #hpb-wrapper,
    #hpb-main,
    #hpb-aside,
    #toppage,
    #toppage-news,
    #banner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }

    #hpb-main {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* Undo fixed coordinates/offsets applied inline to content images */
    #hpb-main img[style*="position"],
    #hpb-aside img[style*="position"] {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
    }

    #hpb-main img {
        max-width: 100% !important;
        height: auto !important;
        box-sizing: border-box;
    }

    /* Keep the four banner images in a vertical, centered stack */
    #hpb-aside #banner a {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: 268px !important;
        height: auto !important;
        margin: 8px auto !important;
        text-indent: 0 !important;
        overflow: visible !important;
    }
    #hpb-aside #banner a img {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: 268px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    /* Navigation should not be pulled upward by the desktop offset */
    #hpb-nav {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        box-sizing: border-box;
    }

    /* Footer image should not force a wide page */
    #hpb-footer {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box;
    }
    #hpb-footer > img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* Avoid oversized inline-positioned text */
    #hpb-main span[style*="position"] {
        position: static !important;
        width: auto !important;
        max-width: 100% !important;
    }
}


/* =======================================================
   Mobile banner order fix - appended override
   Keeps desktop layout unchanged.
   Intended mobile order:
   1. 当社の方針  2. サービス・製品
   3. 主要設備    4. アクセス
   ======================================================= */
@media screen and (max-width: 568px) {
    /* Establish one mobile stack for the banner area */
    #hpb-aside #banner {
        position: relative !important;
        width: 100% !important;
        max-width: 268px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto 16px auto !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    /* Remove empty list rows that can create large gaps */
    #hpb-aside #banner ul,
    #hpb-aside #banner li {
        display: contents !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        list-style: none !important;
    }

    /* Put all banner links at a consistent width */
    #hpb-aside #banner a {
        display: block !important;
        position: static !important;
        width: 268px !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        text-indent: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        clear: both !important;
    }

    #hpb-aside #banner a img {
        display: block !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 268px !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-sizing: border-box !important;
    }

    /* Remove the fixed desktop positioning on the banner images */
    #hpb-aside #banner img[style*="position"] {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
    }
}

