
/* 基本スタイル */
body {
    font-family: "メイリオ", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic ProN", Osaka;
    margin-bottom: 0px;
    padding-bottom: 0px;
    overflow-y: scroll;
}
input, textarea, select {
    font-family: "メイリオ", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic ProN", Osaka;
}

body, html {
    height: 100%;
}

#pageCover {
    min-height: 100%;
    position: relative;
}

p {
    color: black;
    font-size: 16px;
    line-height: 1.5;
}

a {
    color: #00a8ff;
}

a:hover {
    color: silver;
}

.description {
    margin-bottom: 1em;
}

.container .margin-n-top {
    margin-top: -150px;
    padding-top: 150px;
}

/* スマホ版 */
@media (max-width: 767px) {
    p {
        color: black;
        font-size: 14px;
        line-height: 1.7;
    }
}

/* 背景 */
body {
    background: url(../img/rom_pic/background_rom.jpg) repeat;
}

/* リンク */
.link_block {
    text-align: right;
}

.link_block a:hover {
    color: red;
}

/* 写真コンテナ */
.pic_container {
    position: relative;
    margin-bottom: 1.5em;
}

.pic_container video,
.pic_container img {
    width: 100%;
}

.pic_container_2 img {
    width: 86%;
    margin: 0 7% 0 7%;
}

/* 英語表記 */
.ordinal_suffix {
    vertical-align: top;
    font-size: 75%;
}

.pdf_link_area {
    text-align: center;
    padding-bottom: 1.5em;
    font-size: 16px;
}

.pdf_link_area .pdf_description {
    padding-bottom: 0.5em;
}

.pdf_link_area a {
    display: inline-block;
    background: #080;
    color: white;
    padding: 0.5em;
    border-radius: 0.5em;
    width: 100%;
}

.pdf_link_area a:hover {
    display: inline-block;
    background: #4a4;
    color: white;
    padding: 0.5em;
    border-radius: 0.5em;
    width: 100%;
}

/* -------------------------------------------------------------------------- */
/* コンテンツ領域のテンプレート */
/* -------------------------------------------------------------------------- */

/* 各ブロックのスタイル */
.section,
footer {
    background: none;
    padding: 0;
}

.section {
    position: static;
}

.section .container,
footer .container {
    position: static;
}

/* コンテンツ領域 */
.section .container-white,
footer .container-white {
    background: white;
    padding: 80px 10px 20px 10px;
    margin-bottom: -20px;
    min-height: 100%;

    /* box-shadow */
    box-shadow:12px 0px 12px -12px rgba(128,128,128,0.35), -12px 0px 12px -12px rgba(128,128,128,0.35);
    -moz-box-shadow:12px 0px 12px -12px rgba(128,128,128,0.35), -12px 0px 12px -12px rgba(128,128,128,0.35);
    -webkit-box-shadow:12px 0px 12px -12px rgba(128,128,128,0.35), -12px 0px 12px -12px rgba(128,128,128,0.35);
}

.section .container-transparent,
footer .container-transparent {
    background: white;
    padding: 80px 10px 20px 10px;
    margin-bottom: -20px;
    min-height: 100%;
}

@media (min-width: 768px) {
    .section .container-white,
    footer .container-white {
        padding: 80px 40px 0 40px;
    }

    .section .container-transparent,
    footer .container-transparent {
        padding: 80px 40px 0 40px;
    }
}

/* コンテンツ領域 > トップスライド直後の余白 */
.section .container-white-pad,
footer .container-white-pad {
    padding: 0;
    padding-top: 70px;
    /*padding-top: 145px;*/
    padding-bottom: 20px;
    margin-bottom: -20px;
}

.section .container-white-pad-short,
footer .container-white-pad-short {
    padding: 0;
    padding-top: 60px;
    padding-bottom: 20px;
    margin-bottom: -20px;
}

footer .bottom-footer {
    margin-top: 80px;
}

footer .bottom-footer2 {
    padding-top: 0;
    margin-top: 5px;
}

/* コンテンツ領域下部の拡張 */
.section .container-margin-bottom {
    padding-bottom: 40px;
    margin-bottom: -165px;
}

.section .margin-top2 {
    padding-top: 70px;
    /*padding-top: 145px;*/
    z-index: -1;
    position: relative;
}

.section .margin-top3 {
    padding-top: 5px;
    z-index: -1;
    position: relative;
}

/* 見出し */
.hp_caption {
    background: #fbfeff; /* Old browsers */
    background: -moz-linear-gradient(left,  #fbfeff 0%, #48baef 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left,  #fbfeff 0%,#48baef 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right,  #fbfeff 0%,#48baef 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbfeff', endColorstr='#48baef',GradientType=1 ); /* IE6-9 */

    text-align: left;
    position: relative;
    z-index: 2;
    margin-bottom: -20px;
}

.hp_caption h2:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 10px;
    background: url(../img/rom_pic/header_caption_marker.png) no-repeat center center;
    vertical-align: middle;
    margin-top: -18px;
    margin-bottom: -12px;
}

.hp_caption_toiawase h2:before {
    background: url(../img/rom_pic/header_caption_marker.png) no-repeat center center;
}

.hp_caption_bio h2:before {
    background: url(../img/rom_pic/rom_hpicon_bio.png) no-repeat center center;
}

.hp_caption_medicalbio h2:before {
    background: url(../img/rom_pic/rom_hpicon_medical.png) no-repeat center center;
}

.hp_caption_news h2:before {
    background: url(../img/rom_pic/header_caption_marker.png) no-repeat center center;
}

.hp_caption_na_project h2:before {
    background: url(../img/rom_pic/rom_hpicon_rna.png) no-repeat center center;
}

.hp_caption_dairiten h2:before {
    background: url(../img/rom_pic/header_caption_marker.png) no-repeat center center;
}

.hp_caption_company h2:before {
    background: url(../img/rom_pic/rom_hpicon_company.png) no-repeat center center;
}

.hp_caption h2 {
    padding: 0 20px;
    font-size:28px;
}

.hp_caption_medicalbio {
    background: #fbfeff; /* Old browsers */
    background: -moz-linear-gradient(left,  #fbfeff 0%, #F898F1 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left,  #fbfeff 0%,#F898F1 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right,  #fbfeff 0%,#F898F1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbfeff', endColorstr='#F898F1',GradientType=1 ); /* IE6-9 */

}

.hp_caption_agriculture {
    background: #fbfeff; /* Old browsers */
    background: -moz-linear-gradient(left,  #fbfeff 0%, #7A4F19 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left,  #fbfeff 0%,#7A4F19 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right,  #fbfeff 0%,#7A4F19 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbfeff', endColorstr='#7A4F19',GradientType=1 ); /* IE6-9 */

}

.hp_caption_agriculture h2:before {
    background: url(../img/rom_pic/rom_hpicon_agri.png) no-repeat center center;
}

/* -------------------------------------------------------------------------- */
/* ヘッダ */
/* -------------------------------------------------------------------------- */

header {
    background: none;
}

.header-overray {
    position :relative;
    z-index: 2;
}
.header-overray h2 {
    color: white;
    text-align: left;
}

.header-overray .description {
    position :relative;
    z-index: 2;
    background: rgba(0,0,0,0.3);
    padding: 15px;
    /*padding: 25px;*/

    color: white;
    text-align: left;
}

.owl-header {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
}

/* ナビゲーションバー */
nav.navbar-fixed-top {
    padding-top: 10px;
    padding-bottom: 10px;
}

.navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
}

.navbar-brand {
    display: inline-block;
    position: relative;
    height: 40px;
}

.navbar-brand > img {
    width: auto;
    height: 100%;
}

nav.navbar {
    border-bottom: 1px solid white;
}

nav.navbar.original {
    top: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    /*padding-top: 25px;
    padding-bottom: 25px;*/

    background: url(../img/rom_pic/header_black_35.png) repeat;
    border-bottom: 1px solid #1d2087;
}

nav.navbar.original li a {
    color: white;
}

nav.navbar.original li a:hover {
    background: url(../img/rom_pic/header_black_25.png) repeat;
}

nav.navbar.navbar-white li a:hover,
nav.navbar.navbar-fixed-top li a:hover {
    color: #00a8ff;
    text-decoration: underline;
}

/* ナビゲーションバー > タブレットサイズ */
@media (min-width: 768px) {
    nav.navbar .navbar-nav > li > a {
        padding: 15px 10px;
    }
    nav.navbar .navbar-nav > li {
        float: left;
        margin-left: 10px;
    }
    nav.navbar .navbar-nav li {
        padding: 0;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    nav.navbar .container {
        width: auto;
    }

}

@media (min-width: 768px) and (max-width: 900px) {
    nav.navbar .navbar-nav > li > a {
        padding:15px 5px;
    }
    nav.navbar .navbar-nav > li {
        float: left;
        margin-left: 5px;
    }
}

@media (min-width: 768px) and (max-width: 850px) {
    nav.navbar .navbar-nav > li > a {
        font-size: 100%;
    }
}

/* ナビゲーションバー > トップページ以外 */
nav.navbar-white.original {
    background: white;
    color: #bbb;

    border-top: none;
    border-bottom: 1px solid white;
    box-shadow: 0 4px 3px rgba(0, 0, 0, 0.05);
}

nav.navbar-white.original li a {
    color: #bbb;
}

nav.navbar-white.original li a:hover {
    background: white;
}


/* スライドショー */
.owl-header {
    height: 100%;
    overflow: hidden;
}

@media (min-width: 768px) and (max-width: 991px) {
    .owl-header {
        margin-top: 72px;
        /*margin-top: 100px;*/
    }
}

@media (max-width: 768px){
    .owl-header {
        margin-top: 70px;
        /*margin-top: 70px;*/
    }
}

/* お問合せリンク */
nav.navbar .navbar-toiawase {
    position: absolute;
    right: 36px;

    background: #78c5e2;
    color: white;

    border: 1px solid #78c5e2;
    border-top: none;
    border-radius: 0 0 6px 6px;

    padding-top: 1px;
    bottom: -43px;
    /*bottom: -58px;*/
}

nav.navbar .navbar-toiawase a {
    display: block;

    color: white;
    padding: 5px 10px;

    font-size: 16px;
    line-height: 20px;
}

nav.navbar .navbar-toiawase:hover {
    background: #a8d8e9;
}

nav.navbar.original .navbar-toiawase {
    border-color: #1d2087;

    padding-top: 0px;
    bottom: -42px;
    /*bottom: -57px;*/
}

nav.navbar-white.original .navbar-toiawase {
    border-color: #78c5e2;
    padding-top: 0px;
}

/* ページトップへ */
#page_top_button {
    display: block;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 100px;
    height: 100px;

    line-height: 20px;
    background: silver;
    text-decoration: none;
    text-align: center;
    display: block;

    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    z-index: 100;
    display: none;

    background: url(../img/rom_pic/rom_top_parts.png) no-repeat left top;
    background-size: 100%;

    z-index: 1000;

    transition: none;
}

#page_top_button:hover {
    /* background-position: left bottom; */
    background-position: left bottom;
    sbackground-image: url(../img/rom_pic/rom_top_parts_on.png);


}

@media(max-width:991px) {
    #page_top_button {
        bottom: 10px;
        right: 10px;
        width: 80px;
        height: 80px;
        background: url(../img/rom_pic/rom_top_parts.png) no-repeat left top;
        background-size: 100%;
    }
}

@media(max-width: 768px) {
    #page_top_button {
        bottom: 10px;
        right: 10px;
        width: 64px;
        height: 64px;
        background: url(../img/rom_pic/rom_top_parts.png) no-repeat left top;
        background-size: 100%;
    }
}

/* タブレット版の短めバージョン */
@media (max-width: 768px) {
    nav.navbar.original,
    nav.navbar.navbar-fixed-top {
        padding-top: 12px;
        padding-bottom: 8px;
    }
    nav.navbar.original .navbar-toiawase {
        bottom: -40px;
    }
    nav.navbar.navbar-fixed-top .navbar-toiawase {
        bottom: -41px;
    }
}

/* スライドショー */
.slideshow_container {
    position: relative;
    overflow: hidden;
    z-index: 10;
    padding-bottom: 32px;
}

.slideshow_margin {
    position: relative;
}

.slideshow_container .item {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    /*visibility: hidden;*/
    transition: opacity 1000ms 0s linear;
    opacity: 0;
    z-index: 0;
}
.slideshow_container .item:first-child {
    position: relative;
    opacity: 1;
    z-index: 2;
}

.slideshow_link_container {
    display: block;
    position: absolute;
    bottom: 32px;
    right: 24px;
    width: 160px;
    height: 24px;
    z-index: 10;
}

.slideshow_link {
    display: block;
    position: relative;
    width: 24px;
    height: 24px;
    margin-left: 12px;
    border-radius: 12px;
    background: white;
    float: left;
    box-sizing: content-box;
    cursor: pointer;

    box-shadow:0px 0px 2px 2px rgba(136,136,136,0.15);
    -moz-box-shadow:0px 0px 2px 2px rgba(136,136,136,0.15);
    -webkit-box-shadow:0px 0px 2px 2px rgba(136,136,136,0.15);
}
.slideshow_link::before {
    content: "";
    display: block;
    position: absolute;
    top: -6px;
    left: -6px;
    right: -6px;
    bottom: -6px;
}


.slideshow_link.current {
    background: #ffff80;
}

@media(max-width: 768px) {
    .slideshow_link_container {
        bottom: 12px;
        right: 12px;
        width: 100px;
        height: 16px;
    }
    .slideshow_link {
        width: 14px;
        height: 14px;
        margin-left: 8px;
        border-radius: 7px;
    }
    .slideshow_link::before {
        top: -4px;
        left: -4px;
        right: -4px;
        bottom: -4px;
    }
}

/* -------------------------------------------------------------------------- */
/* -Naプロジェクトページ */
/* -------------------------------------------------------------------------- */

/* -Naプロジェクトページ */
.na_project_banner a {
    display: block;
    color: white;
    /*border: 1px solid black;*/

    font-size: 150%;
    line-height: 3;
    text-align: center;

    margin-top: 30px;
    margin-bottom: 40px;
}

/*.na_project_banner a:hover {
	background: #50ca71;

	cursor: pointer;
	border-color: silver;
}*/

.ma_project_banner a img {
    background: url(../img/rom_pic/rom_rna_banner_off.jpg) no-repeat left top;
    background-size: 100%;
}

.ma_project_banner a img:hover {
    background-position: left bottom;
    sbackground-image: url(../img/rom_pic/rom_rna_banner_on.jpg);
}


/* -Naプロジェクト 文章ブロック */
.na_project_message {
    padding-bottom: 2em;
    border-bottom: #009944 3px solid;
}

.na_project_message h3 {
    border-bottom: #009944 3px solid;
    margin: 0;

    font-size: 175%;
    font-weight: normal;
    padding: 4px 0;
}

.na_project_message .location {
    font-size: 175%;
    font-weight: normal;
    padding: 4px 0;
}

.na_project_message h4 {
    line-height: 1.5;

    font-weight: normal;
    font-size: 150%;
    vertical-align: middle;
}

.na_project_message h4:before {
    content: " ";
    color: #009944;

    font-size: 10px;
    vertical-align: middle;
    margin-right: 3px;

    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background: #009944;
}

/* 協賛リスト */
.kyousan-list {
    margin-bottom: 1.5em;
}

.kyousan-header {
    margin-top: 1.0em;
}

.kyousan-item:first-child {
    border-top: 1px dashed silver;
    padding-top: 0.5em;
    margin-top: 0.5em;
}

.kyousan-item {
    border-bottom: 1px dashed silver;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}

.kyousan-item .kyousan-name {
    position: relative;
}

.kyousan-item .kyousan-description {
    position: relative;
}

.kyousan-item .kyousan-description p {
    font-size: 100%;
    padding-right: 8em;
    margin: 0;
}

.kyousan-item .kyousan-description .link-container {
    text-align: right;
    position: absolute;
    top: 0;
    right: 0;
    width: 8em;
    z-index: 1;
}

.kyousan-item .kyousan-description .link-container a {

}

@media (max-width: 767px) {
    .kyousan-item .kyousan-description p {
        padding-right: 0;
    }

    .kyousan-item .kyousan-description .link-container {
        text-align: left;
        position: static;
        width: auto;
        margin-top: 0.5em;
    }
}

/* -------------------------------------------------------------------------- */
/* 会社概要ページ */
/* -------------------------------------------------------------------------- */

.company-table-container-short {
    max-height: 200px;
    overflow: hidden;

    position: relative;
}

.company-table-container-short:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    z-index: 0;

    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,cbebff+100,ffffff+100 */
    background: #ffffff; /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(255,255,255,0),#ffffff 80%,#ffffff 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0),#ffffff 80%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(255,255,255,0),#ffffff 80%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}

.company-logo-container {
    text-align: center;
}

.company-logo-container img {
    max-width: 320px;
    vertical-align: middle;
    padding-top: 10%;
    padding-bottom: 10%;
}

/* 会社概要ナビ */
.company-navbar {
    margin-bottom: 2em;
}

.company-navbar .btn {
    width: 100%;
}

.company-navbar-col {
    padding: 5px;
}

/* -------------------------------------------------------------------------- */
/* お知らせページ */
/* -------------------------------------------------------------------------- */

/* お知らせ */
.news-header {
    border-bottom: 3px solid #FF4500;
    margin-bottom: 16px;
}

.news-title {
    font-size: 150%;
    line-height: 1.5;
}

.news-title a {
    color: black;
}

.news-date {
    font-size: 140%;
    line-height: 2.1;
    padding-right: 0.8em;
    padding-bottom: 0.2em;
    text-align: right;
    float: right;
    width: 132px;
}

.news-description {
    margin-bottom: 60px;
}

@media (min-width: 768px) {
    .news-title {
        font-size: 175%;
    }

    .news-date {
        font-size: 150%;
        text-align: right;
    }
}

/* お知らせリスト */
.info-list {
    margin-bottom: 0;
}

.info-list a {
    display: block;
    color: black;
}

.info-list tr:hover a {
    color: #00a8ff;
}

.info-list tr {
    -webkit-transition-transition: all 0.3s ease 0s;
    -o-transition-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.info-list tr:hover {
    background: #EEE;
}

.info-page-nav {
    padding: 0.5em;
}

/* -------------------------------------------------------------------------- */
/* 環境バイオ製品ページ */
/* -------------------------------------------------------------------------- */

/* 環境バイオ製品 文章ブロック */
.product_bio_message {
    margin: 2.5em 0;
}

.product_bio_message h3  {
    border-bottom: #8a6509 3px solid;
    margin: 0;

    font-size: 175%;
    font-weight: normal;
    padding: 4px 0;
}

.product_bio_message_sub h3 {
    font-size: 150%;
    font-weight: normal;
}

.product_bio_message + .product_bio_message h3 {
    border-color: #65aadd;
}

.product_bio_message + .product_bio_message_3 h3 {
    border-color: #25B45D;
}

.product_bio_message .location {
    font-size: 175%;
    font-weight: normal;
    padding: 4px 0;
}

.product_bio_message h4 {
    line-height: 1.5;

    font-weight: normal;
    font-size: 150%;
    vertical-align: middle;
}

.product_bio_message h4:before {
    content: " ";
    color: #009944;

    font-size: 10px;
    vertical-align: middle;
    margin-right: 3px;

    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background: #009944;
}

.product_bio_message .pic_container {
    margin-top: 0.5em;
}

/* 実績テーブル */
.jisseki-table {
    margin: 1.5em 1em;
}

.jisseki-table th {
    font-weight: normal;
    width: 5em;
    text-align: center;
    vertical-align: middle;
    background: #d7ffff;
    font-size: 150%;
}

.jisseki-table td {
    padding: 1em 0.5em;
    padding-left: 2em;
}

/* -------------------------------------------------------------------------- */
/* 代理店制度ページ */
/* -------------------------------------------------------------------------- */

/* 代理店情報テーブル */
.dairiten-table {
    border-collapse: separate;
    border-spacing: 5px;
    width: 100%;
}

.dairiten-table td {
    background: silver;
    border-radius: 12px;
    box-sizing: border-box;
    padding: 0.5em 0.8em;
}

.dairiten-table td:first-child {
    width: 24%;
}

.dairiten-table td + td {
    width: 38%;
}

.dairiten-table-1 td {
    background-color: #aae7ff;
}

.dairiten-table-1 #head_list td {
    background-color :#758DEC;
    font-size: 115%;
}

.dairiten-table-2 td {
    background-color: #f6d7ae;
}

.dairiten-table-2 #head_list td {
    background-color :#AC7D42;
    font-size: 115%;
}

.dairiten-table-3 td {
    background-color: #ffdbff;
}

.dairiten-table-3 #head_list td {
    background-color :#FD8EEB;
    font-size: 115%;
}

/* 代理店見出し */
.dairiten-caption-container {
    margin: 1.5em 0 0.5em 0;
}

/* 代理店見出し > リンク */
.dairiten-link-block {
    margin: 14px 0;
}

.dairiten-link-block a {
    font-size: 14px;
    display: inline-block;
}

.dairiten-link-block a:hover {
    color: red;
}

/* 代理店見出し > Hタグ */
.dairiten-caption {
    padding-left: 36px;
    position: relative;
}

.dairiten-caption:before {
    content: "";
    display: block;
    background-size: 100% 100%;
    background-image: url(../img/rom_pic/service_icons_1_on.png);
    width: 32px;
    height: 32px;
    position: absolute;
    left: -8px;
    top: 50%;
    margin-top: -16px;
}

.dairiten-caption-2:before {
    background-image: url(../img/rom_pic/service_icons_2_on.png);
}

.dairiten-caption-3:before {
    background-image: url(../img/rom_pic/service_icons_3_on.png);
}

.dairiten-caption-4:before {
    background-image: url(../img/rom_pic/service_icons_4_on.png);
}

.dairiten-description {
    margin-left: 0.5em;
}



/* -------------------------------------------------------------------------- */
/* 個別スタイル */
/* -------------------------------------------------------------------------- */

/* 新サービスリスト */

.serviceN {
    display: block;
    color: black;
    text-align: center;
    position: relative;

    border: 1px solid silver;
    height: 320px;
    padding-top: 100px;
    margin: 60px 0;

    text-shadow:
            +2px +2px 4px white,
            -2px +2px 4px white,
            +2px -2px 4px white,
            -2px -2px 4px white,
            +2px +2px 4px white,
            -2px +2px 4px white,
            +2px -2px 4px white,
            -2px -2px 4px white;
}

.serviceN:hover {
    color: #00a0e9;

    text-shadow:
            +2px +2px 4px white,
            -2px +2px 4px white,
            +2px -2px 4px white,
            -2px -2px 4px white,
            +2px +2px 4px white,
            -2px +2px 4px white,
            +2px -2px 4px white,
            -2px -2px 4px white,

            +3px +3px 4px white,
            -3px +3px 4px white,
            +3px -3px 4px white,
            -3px -3px 4px white,
            +3px +3px 4px white,
            -3px +3px 4px white,
            +3px -3px 4px white,
            -3px -3px 4px white;
}

.serviceN-1:hover {
    border-color: #00a0e9;
}
.serviceN-2:hover {
    border-color: #6a3906;
}
.serviceN-3:hover {
    border-color: #ff007f;
}

.serviceN .icon-holder {
    padding: 15px;

    position: absolute;
    top: -45px;
    left: 50%;
    margin-left: -45px;
    padding: 10px;
    background: white;
}

.serviceN .icon-holder > img.icon {
    width: 60px;
}

.serviceN .heading {
    display: block;
    font-size: 150%;
    padding: 0 10px;
    font-weight: bold;
}

.serviceN .description {
    margin-top: 1.5em;
    display: block;
    font-size: 120%;
    padding: 0 25px;
}

.serviceN:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.10;
    background: center no-repeat;
    background-size: contain;
}

.serviceN:hover:before {
    opacity: 0.30;
}

.serviceN-1:before {
    background-image: url(../img/rom_pic/service_icons_back_1.jpg);
}
.serviceN-2:before {
    background-image: url(../img/rom_pic/service_icons_back_2.jpg);
}
.serviceN-3:before {
    background-image: url(../img/rom_pic/service_icons_back_3.jpg);
}

.serviceN > span {
    z-index: 1;
    position: relative;
}



/* サービスリスト */
.service {
    display: block;
    color: black;
    margin: 60px 0;
}

.service:hover {
    color: #00a8ff;
}

.service .heading {
    display: block;
    font-size: 150%;
}

.service .description {
    display: block;
    font-size: 120%;
}

/* アイコン */
.service .icon-holder {
    padding: 15px;
}

.service .icon-holder > img.icon {
    width: 60px;
}

.service:hover .icon-holder {
    top: -40px;
}

.service-1:hover .icon-holder:before,
.service-2:hover .icon-holder:before,
.service-3:hover .icon-holder:before {
    content: " ";
    display: block;
    background-size: 100% 100%;

    z-index: 10;
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
}

.service-1:hover {
    border-color: #00a0e9;
}
.service-2:hover {
    border-color: #6a3906;
}
.service-3:hover {
    border-color: #ff007f;
}

.service-1:hover .icon-holder:before {
    background-image: url(../img/rom_pic/service_icons_1_on.png);
}
.service-2:hover .icon-holder:before {
    background-image: url(../img/rom_pic/service_icons_2_on.png);
}
.service-3:hover .icon-holder:before {
    background-image: url(../img/rom_pic/service_icons_3_on.png);
}

.social-facebook a {
    background: #3b579d;
    height: 27px;
    width: 27px;
    display: block;
    padding: 0 2px;
    border-radius: 2px;
    text-align: right;

}
.social-facebook a i {
    vertical-align: baseline;
    font-size: 24px; line-height: 28px;
}

/* 見出しマーカー */
.caption-circle {
    line-height: 1.5;
    font-size: 200%;

    font-weight: normal;
    vertical-align: middle;
    position: relative;

    margin: 0.5em 0;
}

.caption-circle:before {
    content: " ";
    color: #1B2A74;

    font-size: 180%;
    vertical-align: baseline;
    margin-right: 6px;

    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #1B2A74;
}

.caption-circle-small {
    line-height: 1.5;
    font-size: 125%;
}

.caption-circle-small:before {
    font-size: 125%;

    vertical-align: -10%;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #2B3A84;
}

.caption-green:before {
    color: #22ac38;
    background: #22ac38;
}

.caption-cyan:before {
    color: #00a0e9;
    background: #00a0e9;
}

/* 代理店リンク */
.dairiten_link_container {
    text-align: center;
}

.dairiten_link_container a {
    display: inline-block;
    text-align: center;
    padding: 5px 1em;
    line-height: 40px;

    /*background: #f8b62d;
    color: black;
    border-radius: 20px;*/
}

@media (max-width: 768px){
    .dairiten_link_container a{
        padding: 5px 0px;
    }
}


/* -------------------------------------------------------------------------- */
/* モーダルウィンドウ */
/* -------------------------------------------------------------------------- */

.modalText_content {
    width: 50% ;
    margin: 0 ;
    padding: 10px 20px ;
    border: 2px solid #aaa ;
    background: #fff ;
    position: fixed ;
    display: none ;
    z-index:10001 ;
}

.modalText_overlay {
    z-index: 10000 ;
    display: none ;
    position: fixed ;
    top: 0 ;
    left: 0 ;
    width: 100% ;
    height: 120% ;
    background-color: rgba( 0,0,0, 0.75 ) ;
}

.modalText_close {
    align-content:center;
}


.modalText_link,
.modalText_close {
    color: #00f ;
    text-decoration: underline ;
}

.modalText_link:hover,
.modalText_close:hover {
    cursor: pointer ;
    color: #f00 ;
}

.modalText_source {
    display: none;
}

.modalText_message {
    border-bottom:#737373 3px solid;
    padding-bottom:20px;
    margin-bottom:10px;
}

.modalText_message h3 {
    border-bottom:#737373 3px solid;
    padding-bottom:5px;
    margin-bottom:20px;
}




.footer_selectpage{
    /*min-height: 30px;*/
    /*width:100%;*/
    /*position: absolute;*/
    /*bottom: 0;*/
    /*margin-bottom: 0;*/
    position: absolute;
    bottom: 0;
    left: 0; right: 0;
}


/* フッター調整 */
footer.footer-topPage {
    background: white;
}

footer .container {
    padding-top: 0;
}

.footer_selectpage .container-back {
    height: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -2;
}

@media (min-width: 768px) {
    /* ナビゲーションバー > タブレットサイズ */
    footer .row li,
    footer .row p {
        height: 40px;
        line-height: 40px;
    }

    footer .row a {
        display: inline-block;
        line-height: 1rem;
        vertical-align: middle;
    }
}

