﻿@charset "UTF-8";
.left {
    text-align: left; }

.right {
    text-align: right; }

.center {
    text-align: center; }

.mt_0 {
    margin-top: 0px; }

.mt_01 {
    margin-top: 1px; }

.mt_02 {
    margin-top: 2px; }

.mt_03 {
    margin-top: 3px; }

.mt_04 {
    margin-top: 4px; }

.mt_05 {
    margin-top: 5px; }

.mt_06 {
    margin-top: 6px; }

.mt_07 {
    margin-top: 7px; }

.mt_08 {
    margin-top: 8px; }

.mt_09 {
    margin-top: 9px; }

.mt_10 {
    margin-top: 10px; }

.mt_11 {
    margin-top: 11px; }

.mt_12 {
    margin-top: 12px; }

.mt_13 {
    margin-top: 13px; }

.mt_14 {
    margin-top: 14px; }

.mt_15 {
    margin-top: 15px; }

.mt_16 {
    margin-top: 16px; }

.mt_17 {
    margin-top: 17px; }

.mt_18 {
    margin-top: 18px; }

.mt_19 {
    margin-top: 19px; }

.mt_20 {
    margin-top: 20px; }

.mt_25 {
    margin-top: 25px; }

.mt_30 {
    margin-top: 30px; }

.mt_35 {
    margin-top: 35px; }

.mt_40 {
    margin-top: 40px; }

.mt_45 {
    margin-top: 45px; }

.mt_50 {
    margin-top: 50px; }

.mt_55 {
    margin-top: 55px; }

.mt_60 {
    margin-top: 60px; }

.mt_65 {
    margin-top: 65px; }

.mt_70 {
    margin-top: 70px; }

@media only screen and (max-width: 780px) {
    .mt_20 {
        margin-top: 15px; }

    .mt_30 {
        margin-top: 20px; }

    .mt_50 {
        margin-top: 30px; } }
@media only screen and (max-width: 580px) {
    .mt_20 {
        margin-top: 15px; }

    .mt_50 {
        margin-top: 25px; } }
.mb_0 {
    margin-bottom: 0px; }

.mb_01 {
    margin-bottom: 1px; }

.mb_02 {
    margin-bottom: 2px; }

.mb_03 {
    margin-bottom: 3px; }

.mb_04 {
    margin-bottom: 4px; }

.mb_05 {
    margin-bottom: 5px; }

.mb_06 {
    margin-bottom: 6px; }

.mb_07 {
    margin-bottom: 7px; }

.mb_08 {
    margin-bottom: 8px; }

.mb_09 {
    margin-bottom: 9px; }

.mb_10 {
    margin-bottom: 10px; }

.mb_11 {
    margin-bottom: 11px; }

.mb_12 {
    margin-bottom: 12px; }

.mb_13 {
    margin-bottom: 13px; }

.mb_14 {
    margin-bottom: 14px; }

.mb_15 {
    margin-bottom: 15px; }

.mb_16 {
    margin-bottom: 16px; }

.mb_17 {
    margin-bottom: 17px; }

.mb_18 {
    margin-bottom: 18px; }

.mb_19 {
    margin-bottom: 19px; }

.mb_20 {
    margin-bottom: 20px; }

.mb_25 {
    margin-bottom: 25px; }

.mb_30 {
    margin-bottom: 30px; }

.mb_35 {
    margin-bottom: 35px; }

.mb_40 {
    margin-bottom: 40px; }

.mb_45 {
    margin-bottom: 45px; }

.mb_50 {
    margin-bottom: 50px; }

.mb_55 {
    margin-bottom: 55px; }

.mb_60 {
    margin-bottom: 60px; }

.mb_65 {
    margin-bottom: 65px; }

.mb_70 {
    margin-bottom: 70px; }

@media only screen and (max-width: 780px) {
    .mb_20 {
        margin-bottom: 15px; }

    .mb_30 {
        margin-bottom: 20px; }

    .mb_50 {
        margin-bottom: 30px; } }
@media only screen and (max-width: 580px) {
    .mb_20 {
        margin-bottom: 15px; }

    .mb_50 {
        margin-bottom: 25px; } }
.mr_0 {
    margin-right: 0px; }

.mr_01 {
    margin-right: 1px; }

.mr_02 {
    margin-right: 2px; }

.mr_03 {
    margin-right: 3px; }

.mr_04 {
    margin-right: 4px; }

.mr_05 {
    margin-right: 5px; }

.mr_06 {
    margin-right: 6px; }

.mr_07 {
    margin-right: 7px; }

.mr_08 {
    margin-right: 8px; }

.mr_09 {
    margin-right: 9px; }

.mr_10 {
    margin-right: 10px; }

.mr_11 {
    margin-right: 11px; }

.mr_12 {
    margin-right: 12px; }

.mr_13 {
    margin-right: 13px; }

.mr_14 {
    margin-right: 14px; }

.mr_15 {
    margin-right: 15px; }

.mr_16 {
    margin-right: 16px; }

.mr_17 {
    margin-right: 17px; }

.mr_18 {
    margin-right: 18px; }

.mr_19 {
    margin-right: 19px; }

.mr_20 {
    margin-right: 20px; }

.mr_25 {
    margin-right: 25px; }

.mr_30 {
    margin-right: 30px; }

.mr_35 {
    margin-right: 35px; }

.mr_40 {
    margin-right: 40px; }

.mr_45 {
    margin-right: 45px; }

.mr_50 {
    margin-right: 50px; }

.mr_55 {
    margin-right: 55px; }

.mr_60 {
    margin-right: 60px; }

.mr_65 {
    margin-right: 65px; }

.mr_70 {
    margin-right: 70px; }

.ml_0 {
    margin-left: 0px; }

.ml_01 {
    margin-left: 1px; }

.ml_02 {
    margin-left: 2px; }

.ml_03 {
    margin-left: 3px; }

.ml_04 {
    margin-left: 4px; }

.ml_05 {
    margin-left: 5px; }

.ml_06 {
    margin-left: 6px; }

.ml_07 {
    margin-left: 7px; }

.ml_08 {
    margin-left: 8px; }

.ml_09 {
    margin-left: 9px; }

.ml_10 {
    margin-left: 10px; }

.ml_11 {
    margin-left: 11px; }

.ml_12 {
    margin-left: 12px; }

.ml_13 {
    margin-left: 13px; }

.ml_14 {
    margin-left: 14px; }

.ml_15 {
    margin-left: 15px; }

.ml_16 {
    margin-left: 16px; }

.ml_17 {
    margin-left: 17px; }

.ml_18 {
    margin-left: 18px; }

.ml_19 {
    margin-left: 19px; }

.ml_20 {
    margin-left: 20px; }

.ml_25 {
    margin-left: 25px; }

.ml_30 {
    margin-left: 30px; }

.ml_35 {
    margin-left: 35px; }

.ml_40 {
    margin-left: 40px; }

.ml_45 {
    margin-left: 45px; }

.ml_50 {
    margin-left: 50px; }

.ml_55 {
    margin-left: 55px; }

.ml_60 {
    margin-left: 60px; }

.ml_65 {
    margin-left: 65px; }

.ml_70 {
    margin-left: 70px; }

.font_size_30 {
    font-size: 30px;
    line-height: 1.7em; }
@media only screen and (max-width: 780px) {
    .font_size_30 {
        font-size: 24px; } }
@media only screen and (max-width: 580px) {
    .font_size_30 {
        font-size: 20px; } }

.font_size_24 {
    font-size: 24px;
    line-height: 1.7em; }
@media only screen and (max-width: 780px) {
    .font_size_24 {
        font-size: 22px; } }
@media only screen and (max-width: 580px) {
    .font_size_24 {
        font-size: 20px; } }

.font_size_22 {
    font-size: 22px;
    line-height: 1.7em; }
@media only screen and (max-width: 780px) {
    .font_size_22 {
        font-size: 20px; } }
@media only screen and (max-width: 580px) {
    .font_size_22 {
        font-size: 18px; } }

.font_size_20, div.article main section span.type {
    font-size: 20px;
    line-height: 1.7em; }
@media only screen and (max-width: 780px) {
    .font_size_20, div.article main section span.type {
        font-size: 18px; } }
@media only screen and (max-width: 580px) {
    .font_size_20, div.article main section span.type {
        font-size: 16px; } }

.font_size_18, div.front div#top_view ul.content li div.detail section article p, div.front section.contents article ul.slider li h2, div.front section.contents article ul.slider li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front section.contents article ul.slider li h1, div.ss ul.maintenance_box dl dt h2, div.ss ul.maintenance_box div.article section.front_content dl.frame dt dd div.detail h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dt dd div.detail h1, div.ss ul.maintenance_box div.article section.front_content dl.frame dd div.detail dt h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dd div.detail dt h1, div.ss dl.dl_box dt, div.info dl.dl_box dt, div.info ul.tire_list li, div.recruit main dl dt {
    font-size: 18px;
    line-height: 1.5em; }
@media only screen and (max-width: 780px) {
    .font_size_18, div.front div#top_view ul.content li div.detail section article p, div.front section.contents article ul.slider li h2, div.front section.contents article ul.slider li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front section.contents article ul.slider li h1, div.ss ul.maintenance_box dl dt h2, div.ss ul.maintenance_box div.article section.front_content dl.frame dt dd div.detail h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dt dd div.detail h1, div.ss ul.maintenance_box div.article section.front_content dl.frame dd div.detail dt h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dd div.detail dt h1, div.ss dl.dl_box dt, div.info dl.dl_box dt, div.info ul.tire_list li, div.recruit main dl dt {
        font-size: 17px; } }
@media only screen and (max-width: 580px) {
    .font_size_18, div.front div#top_view ul.content li div.detail section article p, div.front section.contents article ul.slider li h2, div.front section.contents article ul.slider li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front section.contents article ul.slider li h1, div.ss ul.maintenance_box dl dt h2, div.ss ul.maintenance_box div.article section.front_content dl.frame dt dd div.detail h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dt dd div.detail h1, div.ss ul.maintenance_box div.article section.front_content dl.frame dd div.detail dt h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dd div.detail dt h1, div.ss dl.dl_box dt, div.info dl.dl_box dt, div.info ul.tire_list li, div.recruit main dl dt {
        font-size: 15px; } }

.font_size_16, div.btn_w, div.btn, div.article ul.txt_doc li, div.article section.front_content dl.frame dd div.detail p, div.article section.contents_detail p, div.article section.contents_detail table.tbl th, section.cushion ul li a div.btn_w, div.front div#top_view ul.content li div.detail a div.btn_w, div.front main section.type_block article ul li.head, div.ss div.btn_download, div.info table.tire_tbl th, div.recruit main div.btn_download, section.page_sitemap ul li {
    font-size: 16px;
    line-height: 1.5em; }

section.page_sitemap ul li .link_icon {
    background: url(../img/common/arrow/btn_arrow.svg);
    background-size: 10px 10px;
    background-position: left center;
    background-repeat: no-repeat;
    padding-left:1.2em;
    margin-left:1.2em;
}
@media only screen and (max-width: 780px) {
    section.page_sitemap ul li .link_icon {
        background: none;
        padding: 0;
        margin: 0;
        display: block;
    }
}
@media only screen and (max-width: 780px) {
    .font_size_16, div.btn_w, div.btn, div.article ul.txt_doc li, div.article section.front_content dl.frame dd div.detail p, div.article section.contents_detail p, div.article section.contents_detail table.tbl th, section.cushion ul li a div.btn_w, div.front div#top_view ul.content li div.detail a div.btn_w, div.front main section.type_block article ul li.head, div.ss div.btn_download, div.info table.tire_tbl th, div.recruit main div.btn_download, section.page_sitemap ul li {
        font-size: 15px; } }
@media only screen and (max-width: 580px) {
    .font_size_16, div.btn_w, div.btn, div.article ul.txt_doc li, div.article section.front_content dl.frame dd div.detail p, div.article section.contents_detail p, div.article section.contents_detail table.tbl th, section.cushion ul li a div.btn_w, div.front div#top_view ul.content li div.detail a div.btn_w, div.front main section.type_block article ul li.head, div.ss div.btn_download, div.info table.tire_tbl th, div.recruit main div.btn_download, section.page_sitemap ul li {
        font-size: 14px; } }

.font_size_14, ul.menu > li a, footer section.sitemap ul h2 a span, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a span, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a span, aside ul li a, div.article section.tile_content ul li p, div.article section.contents_detail table.tbl td, div.article section.contents_detail ul.list li a, div.article section.contents_detail ul.txt li, section.cushion ul li p, div.front main section.type_block article p, div.front main section.type_block article ul li ul li, div.front section.news article ul.list li a, div.front section.news article ul.list li a dl, div.front section.contents article ul.slider li p, div.company div.history ul.history_list li a, div.company div.history ul.history_list02 li a, div.company div.history table.history_tbl th, div.company div.history table.history_tbl td, div.company div.movie ul.movie_list li a, div.ss dl.dl_box dd, div.info_c ul.chart li a, div.truck ul.pickup_detail_box li.layout ul.txt_doc li, div.truck ul.truck_list li a, div.info ul.kerosene_list li, div.info ul.chart li a, div.info dl.dl_box dd, div.info span.comment, div.info table.tire_tbl td, div.info ul.tire_list li span, div.recruit main dl dd, div.information main div.information_btn {
    font-size: 14px;
    line-height: 1.5em; }
@media only screen and (max-width: 780px) {
    .font_size_14, ul.menu > li a, footer section.sitemap ul h2 a span, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a span, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a span, aside ul li a, div.article section.tile_content ul li p, div.article section.contents_detail table.tbl td, div.article section.contents_detail ul.list li a, div.article section.contents_detail ul.txt li, section.cushion ul li p, div.front main section.type_block article p, div.front main section.type_block article ul li ul li, div.front section.news article ul.list li a, div.front section.news article ul.list li a dl, div.front section.contents article ul.slider li p, div.company div.history ul.history_list li a, div.company div.history ul.history_list02 li a, div.company div.history table.history_tbl th, div.company div.history table.history_tbl td, div.company div.movie ul.movie_list li a, div.ss dl.dl_box dd, div.info_c ul.chart li a, div.truck ul.pickup_detail_box li.layout ul.txt_doc li, div.truck ul.truck_list li a, div.info ul.kerosene_list li, div.info ul.chart li a, div.info dl.dl_box dd, div.info span.comment, div.info table.tire_tbl td, div.info ul.tire_list li span, div.recruit main dl dd, div.information main div.information_btn {
        font-size: 13px; } }
@media only screen and (max-width: 580px) {
    .font_size_14, ul.menu > li a, footer section.sitemap ul h2 a span, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a span, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a span, aside ul li a, div.article section.tile_content ul li p, div.article section.contents_detail table.tbl td, div.article section.contents_detail ul.list li a, div.article section.contents_detail ul.txt li, section.cushion ul li p, div.front main section.type_block article p, div.front main section.type_block article ul li ul li, div.front section.news article ul.list li a, div.front section.news article ul.list li a dl, div.front section.contents article ul.slider li p, div.company div.history ul.history_list li a, div.company div.history ul.history_list02 li a, div.company div.history table.history_tbl th, div.company div.history table.history_tbl td, div.company div.movie ul.movie_list li a, div.ss dl.dl_box dd, div.info_c ul.chart li a, div.truck ul.pickup_detail_box li.layout ul.txt_doc li, div.truck ul.truck_list li a, div.info ul.kerosene_list li, div.info ul.chart li a, div.info dl.dl_box dd, div.info span.comment, div.info table.tire_tbl td, div.info ul.tire_list li span, div.recruit main dl dd, div.information main div.information_btn {
        font-size: 12px; } }

.font_size_12, div.pan div.in ul li, header ul.doc_menu li, footer section.sitemap ul li.frame ul li, aside ul li ul li a, footer section.copyright ul li, div.front div#top_view ul.content li div.page1 div.cv p, div.front div#top_view ul.content li div.page2 div.cv p, div.front div#top_view ul.content li div.page3 div.cv p, div.company div.history table.history_tbl td.history_tbl_pic, div.ss dl.dl_install dd {
    font-size: 12px;
    line-height: 1.5em; }
@media only screen and (max-width: 780px) {
    .font_size_12, div.pan div.in ul li, header ul.doc_menu li, footer section.sitemap ul li.frame ul li, aside ul li ul li a, footer section.copyright ul li, div.front div#top_view ul.content li div.page1 div.cv p, div.front div#top_view ul.content li div.page2 div.cv p, div.front div#top_view ul.content li div.page3 div.cv p, div.company div.history table.history_tbl td.history_tbl_pic, div.ss dl.dl_install dd {
        font-size: 12px; } }
@media only screen and (max-width: 580px) {
    .font_size_12, div.pan div.in ul li, header ul.doc_menu li, footer section.sitemap ul li.frame ul li, aside ul li ul li a, footer section.copyright ul li, div.front div#top_view ul.content li div.page1 div.cv p, div.front div#top_view ul.content li div.page2 div.cv p, div.front div#top_view ul.content li div.page3 div.cv p, div.company div.history table.history_tbl td.history_tbl_pic, div.ss dl.dl_install dd {
        font-size: 11px; } }

@font-face {
    font-family: 'gothic';
    src: url("../font/gothic.eot"), url("../font/gothic.ttf") format("truetype");
    /* iOS, Android用 */ }
#clearfix:after,
.clearfix:after,
.inner:after,
table:after,
ul.error_list:after,
ul.error_access:after,
div.article section#ttl_head div.pan:after,
div.front section.ad_area article:after,
div.front section.usami_site_slider article:after,
div.info table.tire_tbl:after,
div.support main #fm_form table:after,
div.support main #fm_confirm table:after,
div.support main #fm_complete table:after,
div#container div.column_2:after,
header:after,
ul.hierarchy_1:after,
div.article section.front_content:after,
div.article section.contents_detail figure:after,
div.article section.contents_detail ul.pickup_box:after,
section.cushion ul:after,
div.front main section.type_block:after,
div.front section.news article ul.list li a dl:after,
div.company div.history ul.history_list:after,
div.truck ul.truck_list:after,
ul.carshare_pickup_box:after,
div.carcare ul.oil_pickup_box:after,
div.card ul.card_pickup_box:after,
div.card ul.card_pickup_box2:after,
div.info ul.carshare_pickup_box:after,
div.information main ul#article_index:after,
div.information main .img_right:after,
div.information main .img_left:after {
    content: ".";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden; }

#clearfix,
.clearfix,
.inner:after,
table:after,
ul.error_list:after,
ul.error_access:after,
div.article section#ttl_head div.pan:after,
div.front section.ad_area article:after,
div.front section.usami_site_slider article:after,
div.info table.tire_tbl:after,
div.support main #fm_form table:after,
div.support main #fm_confirm table:after,
div.support main #fm_complete table:after,
div#container div.column_2:after,
header:after,
ul.hierarchy_1:after,
div.article section.front_content:after,
div.article section.contents_detail figure:after,
div.article section.contents_detail ul.pickup_box:after,
section.cushion ul:after,
div.front main section.type_block:after,
div.front section.news article ul.list li a dl:after,
div.company div.history ul.history_list:after,
div.truck ul.truck_list:after,
ul.carshare_pickup_box:after,
div.carcare ul.oil_pickup_box:after,
div.card ul.card_pickup_box:after,
div.card ul.card_pickup_box2:after,
div.info ul.carshare_pickup_box:after,
div.information main ul#article_index:after,
div.information main .img_right,
div.information main .img_left {
    display: inline-block; }

#clearfix,
.clearfix,
.inner:after,
table:after,
ul.error_list:after,
ul.error_access:after,
div.article section#ttl_head div.pan:after,
div.front section.ad_area article:after,
div.front section.usami_site_slider article:after,
div.info table.tire_tbl:after,
div.support main #fm_form table:after,
div.support main #fm_confirm table:after,
div.support main #fm_complete table:after,
div#container div.column_2:after,
header:after,
ul.hierarchy_1:after,
div.article section.front_content:after,
div.article section.contents_detail figure:after,
div.article section.contents_detail ul.pickup_box:after,
section.cushion ul:after,
div.front main section.type_block:after,
div.front section.news article ul.list li a dl:after,
div.company div.history ul.history_list:after,
div.truck ul.truck_list:after,
ul.carshare_pickup_box:after,
div.carcare ul.oil_pickup_box:after,
div.card ul.card_pickup_box:after,
div.card ul.card_pickup_box2:after,
div.info ul.carshare_pickup_box:after,
div.information main ul#article_index:after,
div.information main .img_right,
div.information main .img_left {
    display: block; }

.block, header h1 a, header ul.doc_menu li a, aside ul li a, div.article section.contents_detail ul.list li a, div.front section.news article ul.list li a, div.company div.history ul.history_list li a, div.company div.history ul.history_list02 li a, div.company div.movie ul.movie_list li a, div.info_c ul.chart li a, div.truck ul.truck_list li a, div.info ul.kerosene_list li, div.info ul.chart li a, div.info ul.tire_list li {
    width: 100%;
    height: auto;
    display: block; }

.transitions, a:link, a:visited, a:active, a img, div.btn, header h1, header h1 a:link, header h1 a:visited, header h1 a:active, header h1 a:hover, header nav, ul.menu > li:hover, input,
select,
textarea,
search, input:hover,
select:hover,
textarea:hover,
search:hover, .owl-theme .owl-controls .owl-page span, .remodal-confirm,
.remodal-cancel, .remodal-confirm:hover,
.remodal-confirm:focus, .remodal-cancel:hover,
.remodal-cancel:focus, div.article section.tile_content ul li a div.btn_w, section.cushion ul li a div.btn_w, div.front div#top_view ul.content li div.detail, div.front div#top_view ul.content li div.detail a div.btn_w, div.front section.ad_area article ul .slick-dots li, div.front section.usami_site_slider article ul .slick-dots li, div.information main div.information_btn, div.information main div.information_btn:hover {
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease; }
@media only screen and (max-width: 780px) {
    .transitions, a:link, a:visited, a:active, a img, div.btn, header h1, header h1 a:link, header h1 a:visited, header h1 a:active, header h1 a:hover, header nav, ul.menu > li:hover, input,
    select,
    textarea,
    search, input:hover,
    select:hover,
    textarea:hover,
    search:hover, .owl-theme .owl-controls .owl-page span, .remodal-confirm,
    .remodal-cancel, .remodal-confirm:hover,
    .remodal-confirm:focus, .remodal-cancel:hover,
    .remodal-cancel:focus, div.article section.tile_content ul li a div.btn_w, section.cushion ul li a div.btn_w, div.front div#top_view ul.content li div.detail, div.front div#top_view ul.content li div.detail a div.btn_w, div.front section.ad_area article ul .slick-dots li, div.front section.usami_site_slider article ul .slick-dots li, div.information main div.information_btn, div.information main div.information_btn:hover {
        transition: all 0s ease;
        -webkit-transition: all 0s ease;
        -moz-transition: all 0s ease;
        -o-transition: all 0s ease; } }

.all_transitions, div.front section.ad_area article ul .slick-slide, div.front section.usami_site_slider article ul .slick-slide {
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease; }

.fade, ul.hierarchy_1, ul.hierarchy_1 li ul.hierarchy_2, ul.hierarchy_1 li ul.hierarchy_2 li ul.hierarchy_3 {
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease; }
@media only screen and (max-width: 780px) {
    .fade, ul.hierarchy_1, ul.hierarchy_1 li ul.hierarchy_2, ul.hierarchy_1 li ul.hierarchy_2 li ul.hierarchy_3 {
        transition: all 0s ease;
        -webkit-transition: all 0s ease;
        -moz-transition: all 0s ease;
        -o-transition: all 0s ease; } }

.inner, table, ul.error_list, ul.error_access, div.article section#ttl_head div.pan, div.front section.ad_area article, div.front section.usami_site_slider article, div.info table.tire_tbl, div.support main #fm_form table, div.support main #fm_confirm table, div.support main #fm_complete table {
    width: 95%;
    max-width: 1200px;
    margin: auto;
    position: relative; }

.bg-scale, div.article section.tile_content ul li, div.article section.contents_detail ul.pickup_box li dl dt, section.cushion ul li, div.truck ul.pickup_detail_box li.layout dl dt, div.carcare ul.oil_pickup_box li dl dt, div.card ul.card_pickup_box li dl dt, div.card ul.card_pickup_box2 li dl dt {
    position: relative; }
.bg-scale:after, div.article section.tile_content ul li:after, div.article section.contents_detail ul.pickup_box li dl dt:after, section.cushion ul li:after, div.truck ul.pickup_detail_box li.layout dl dt:after, div.carcare ul.oil_pickup_box li dl dt:after, div.card ul.card_pickup_box li dl dt:after, div.card ul.card_pickup_box2 li dl dt:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out; }
.bg-scale:hover:after, div.article section.tile_content ul li:hover:after, div.article section.contents_detail ul.pickup_box li dl dt:hover:after, section.cushion ul li:hover:after, div.truck ul.pickup_detail_box li.layout dl dt:hover:after, div.carcare ul.oil_pickup_box li dl dt:hover:after, div.card ul.card_pickup_box li dl dt:hover:after, div.card ul.card_pickup_box2 li dl dt:hover:after {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

html, body, div, span, applet, object, iframe,
h1, h2, div.article section.front_content dl.frame dd div.detail h1, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit; }

article, aside, details, figcaption, figure, main,
footer, header, hgroup, menu, nav, section {
    display: block; }

body {
    line-height: 1;
    -webkit-text-size-adjust: none; }

img {
    display: inherit; }

ol, ul {
    list-style: none; }

blockquote, q {
    quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none; }

* {
    box-sizing: border-box;
    word-break: normal;
    word-wrap: break-word; }

div#ie_container {
    display: none;
    width: 100%;
    height: 100%;
    margin: auto; }
div#ie_container div.cover {
    width: 100%;
    height: 100%;
    max-width: none;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    margin: auto; }
div#ie_container div.cover p {
    width: 100%;
    position: absolute;
    font-size: 12px;
    line-height: 1.5em;
    top: 50%;
    left: 0;
    right: 0;
    text-align: center; }

.ie7 body {
    overflow: hidden;
    background: #FFFFFF; }

.ie7 div#container {
    display: none; }

.ie8 body {
    overflow: hidden;
    background: #FFFFFF; }

.ie8 div#container {
    display: none; }

.ie8 div#ie_container {
    display: inherit; }

html,
body {
    width: 100%;
    height: 100%;
    min-width: 1024px;
    margin: auto; }
@media only screen and (max-width: 780px) {
    html,
    body {
        min-width: inherit; } }

body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Roboto", sans-serif;
    font-size: 14px;
    color: #444444;
    background-color: #FFFFFF;
    line-height: 1.5em;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased; /* Chrome, Safari */
    font-smooth: always; /* Firefox */
    text-rendering: optimizeLegibility; /* All browsers */
    }

main {
    display: block;
    background-color: #FFFFFF; }

::selection {
    background: #ed1c24;
    color: #FFF; }

::-moz-selection {
    background: #ed1c24;
    color: #FFF; }

a:link, a:visited, a:active {
    text-decoration: none;
    color: #444444; }
a:hover {
    text-decoration: none;
    color: #ba1313; }
a:hover img {
    opacity: 0.7; }

a.white:link, footer section.sitemap ul h2 a:link, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a:link, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a:link, aside ul li.main a:link, div.article section#ttl_head a:link, div.article section.tile_content ul li a:link, section.cushion ul li a:link, div.front main section.type_block article a:link, a.white:visited, footer section.sitemap ul h2 a:visited, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a:visited, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a:visited, aside ul li.main a:visited, div.article section#ttl_head a:visited, div.article section.tile_content ul li a:visited, section.cushion ul li a:visited, div.front main section.type_block article a:visited, a.white:active, footer section.sitemap ul h2 a:active, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a:active, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a:active, aside ul li.main a:active, div.article section#ttl_head a:active, div.article section.tile_content ul li a:active, section.cushion ul li a:active, div.front main section.type_block article a:active {
    color: #FFF; }
a.white:hover, footer section.sitemap ul h2 a:hover, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a:hover, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a:hover, aside ul li.main a:hover, div.article section#ttl_head a:hover, div.article section.tile_content ul li a:hover, section.cushion ul li a:hover, div.front main section.type_block article a:hover {
    color: #BDBDBD; }

h1 {
    font-size: 30px;
    font-family: 'gothic';
    letter-spacing: -2px;
    line-height: 1.2em; }
@media only screen and (max-width: 1280px) {
    h1 {
        font-size: 30px; } }
@media only screen and (max-width: 780px) {
    h1 {
        font-size: 28px; } }
@media only screen and (max-width: 580px) {
    h1 {
        font-size: 26px; } }

h2, div.article section.front_content dl.frame dd div.detail h1 {
    font-size: 38px;
    font-family: 'gothic';
    letter-spacing: -2px;
    line-height: 1.2em; }
@media only screen and (max-width: 1280px) {
    h2, div.article section.front_content dl.frame dd div.detail h1 {
        font-size: 32px; } }
@media only screen and (max-width: 780px) {
    h2, div.article section.front_content dl.frame dd div.detail h1 {
        font-size: 28px; } }
@media only screen and (max-width: 580px) {
    h2, div.article section.front_content dl.frame dd div.detail h1 {
        font-size: 24px; } }

hr {
    height: 1px;
    clear: both;
    border: none;
    border-top: #F0F0F0 1px solid;
    color: #FFF; }

.nomal {
    font-weight: normal; }

.bold {
    font-weight: bold; }

.red {
    color: #BF292C; }

.corners {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px; }

div.btn_w {
    min-width: 200px;
    border: #F0F0F0 1px solid;
    margin: auto;
    display: inline-block; }
@media only screen and (max-width: 580px) {
    div.btn_w {
        display: block; } }
div.btn_w a {
    width: 100%;
    height: 100%;
    display: block;
    text-align: center;
    padding: 15px 20px;
    font-weight: bold; }
div.btn_w a:link, div.btn_w a:visited, div.btn_w a:active {
    color: #444444; }
div.btn_w a:hover {
    color: #ed1c24; }
div.btn_w a span {
    padding: 5px 30px 5px 10px;
    background-image: url(../img/common/arrow/btn_arrow_w.svg);
    background-size: 15px 15px;
    background-position: left center;
    background-repeat: no-repeat; }

div.btn {
    min-width: 350px;
    border: #ba1313 1px solid;
    margin: auto;
    display: inline-block;
    text-align: center;
    background-color: #ba1313; }
@media only screen and (max-width: 780px) {
    div.btn {
        min-width: inherit;
        padding: 0 10px; } }
@media only screen and (max-width: 580px) {
    div.btn {
        display: block; } }
div.btn:hover {
    background-color: #313131;
    border: #313131 1px solid; }
div.btn a {
    display: block;
    color: #FFF;
    padding: 0 30px; }
@media only screen and (max-width: 580px) {
    div.btn a {
        padding: 0 10px; } }
div.btn span {
    padding: 15px 10px 15px 25px;
    display: inline-block;
    background-image: url(../img/common/arrow/btn_arrow_w.svg);
    background-size: 15px 15px;
    background-position: left center;
    background-repeat: no-repeat; }

div.btn_w {
    min-width: 200px;
    border: #F0F0F0 1px solid;
    margin: auto;
    padding: 15px 30px;
    text-align: center;
    display: inline-block; }
@media only screen and (max-width: 780px) {
    div.btn_w {
        min-width: inherit; } }
@media only screen and (max-width: 580px) {
    div.btn_w {
        display: block; } }
div.btn_w span {
    padding: 0 10px 0 25px;
    background-image: url(../img/common/arrow/btn_arrow_w.svg);
    background-size: 15px 15px;
    background-position: left center;
    background-repeat: no-repeat; }

div.txt_btn {
    min-width: 280px;
    border: #ed1c24 1px solid;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    display: table;
    margin: auto; }
@media only screen and (max-width: 780px) {
    div.txt_btn {
        min-width: inherit; } }
@media only screen and (max-width: 580px) {
    div.txt_btn {
        display: block; } }
div.txt_btn a {
    width: 100%;
    height: 100%;
    display: block;
    text-align: center;
    padding: 15px 20px;
    font-weight: bold; }
div.txt_btn a:link, div.txt_btn a:visited, div.txt_btn a:active {
    color: #444444; }
div.txt_btn a:hover {
    color: #ed1c24; }
div.txt_btn a span {
    padding: 5px 30px 5px 10px;
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-size: 30px 30px;
    background-position: right center;
    background-repeat: no-repeat; }

div#container {
    width: 100%;
    height: 100%; }
@media only screen and (max-width: 780px) {
    div#container {
        padding: 60px 0 0 0; } }
@media only screen and (max-width: 580px) {
    div#container {
        padding: 50px 0 0 0; } }
div#container div#content {
    width: 100%;
    max-width: 1200px;
    margin: auto; }
div#container div.column_2 main {
    width: 75%;
    float: left; }
@media only screen and (max-width: 1300px) {
    div#container div.column_2 main {
        width: 70%; } }
@media only screen and (max-width: 780px) {
    div#container div.column_2 main {
        width: 100%;
        float: none; } }
div#container div.column_2 aside {
    width: 25%;
    float: left;
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 1300px) {
    div#container div.column_2 aside {
        width: 30%; } }
@media only screen and (max-width: 780px) {
    div#container div.column_2 aside {
        width: 100%;
        display: inherit;
        float: none;
        border-left: none; } }

ul#pager {
    text-align: center;
    padding: 50px 0; }
ul#pager li {
    min-width: 50px;
    display: inline-block;
    letter-spacing: 2px;
    padding: 10px;
    font-weight: bold;
    font-size: 14px;
    vertical-align: top; }
@media only screen and (max-width: 580px) {
    ul#pager li {
        padding: 5px;
        font-size: 12px;
        min-width: 40px; } }
@media only screen and (max-width: 480px) {
    ul#pager li {
        padding: 0;
        min-width: 30px; } }
ul#pager li:first-child a span {
    display: inherit; }
ul#pager li:last-child a span {
    display: inherit; }
ul#pager li a {
    display: block;
    width: 100%;
    height: 100%;
    font-weight: normal;
    padding: 0 0 10px 0; }

div#pageup {
    width: 100%;
    height: 40px; }
div#pageup a {
    width: 100%;
    height: 40px;
    display: block;
    background-color: #ed1c24;
    background-image: url(../img/common/footer/pageup_icon.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 25px 25px; }

table {
    width: 100%;
    margin: auto;
    border-collapse: collapse; }
table th, table td {
    padding: 10px;
    text-align: left;
    vertical-align: top; }
@media only screen and (max-width: 780px) {
    table th, table td {
        width: 100%;
        padding: 10px;
        display: block; } }
table th {
    width: 30%; }
@media only screen and (max-width: 1280px) {
    table th {
        width: 10%; } }
@media only screen and (max-width: 780px) {
    table th {
        width: 100%;
        padding:  10px; } }
@media only screen and (max-width: 780px) {
    table td {
        width: 100%;
        padding: 10px; } }

div.pan {
    width: 100%;
    margin: auto;
    overflow: hidden;
    height: 2em; }
div.pan div.in {
    width: 100%;
    height: 3.5em;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
div.pan div.in ul {
    width: auto;
    max-width: 200px;
    display: table;
    text-align: left; }
div.pan div.in ul li {
    display: table-cell;
    white-space: nowrap; }
div.pan div.in ul li a {
    width: 100%;
    height: 100%;
    display: block;
    white-space: nowrap;
    background-image: url(../img/common/arrow/pan_arrow_w.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px 10px;
    padding: 0 30px 0 0; }
div.pan div.in ul li a:link {
    text-decoration: underline !important; }

div.image {
    width: 100%;
    height: 100%;
    position: relative;
    padding: 100% 0 0;
    margin: 0 0 5px 0; }
div.image div.inner, div.image div.article section#ttl_head div.pan, div.article section#ttl_head div.image div.pan {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
div.image div.inner img, div.image div.article section#ttl_head div.pan img, div.article section#ttl_head div.image div.pan img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto; }

div.logbox {
    width: 90%;
    max-width: 700px;
    height: 200px;
    margin: 30px auto;
    overflow: auto;
    padding: 20px 0; }
@media only screen and (max-width: 780px) {
    div.logbox {
        margin: 10px auto; } }
div.logbox h2, div.logbox div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.logbox h1 {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 10px 50px;
    border-bottom: #F0F0F0 1px solid; }
@media only screen and (max-width: 780px) {
    div.logbox h2, div.logbox div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.logbox h1 {
        font-size: 14px;
        padding: 10px; } }
div.logbox ul {
    padding: 20px 50px; }
@media only screen and (max-width: 780px) {
    div.logbox ul {
        padding: 10px; } }
div.logbox ul li {
    line-height: 1.5em;
    padding: 0 0 20px 0;
    font-size: 90%;
    color: #444444; }

header {
    width: 100%;
    position: relative;
    background-color: #FFFFFF;
    z-index: 100;
    border-bottom: #F0F0F0 1px solid;
    /* clearfix */ }
@media only screen and (max-width: 780px) {
    header {
        position: fixed;
        top: 0;
        height: 60px; } }
@media only screen and (max-width: 580px) {
    header {
        height: 50px; } }
header div.frame {
    width: 100%;
    z-index: 500;
    background-color: #FFFFFF; }
@media only screen and (max-width: 780px) {
    header div.frame {
        position: fixed;
        height: 60px; } }
@media only screen and (max-width: 580px) {
    header div.frame {
        height: 50px; } }
header h1 {
    width: 20%;
    height: auto;
    display: inline-flex;
    border-right: #F0F0F0 1px solid; }
@media only screen and (min-width: 1280px) {
    header h1 {
        width: 15%; } }
@media only screen and (min-width: 1920px) {
    header h1 {
        width: 10%; } }
@media only screen and (max-width: 780px) {
    header h1 {
        width: 25%;
        min-width: 150px;
        height: 60px;
        border-right: none; } }
@media only screen and (max-width: 580px) {
    header h1 {
        min-width: 120px;
        height: 50px; } }
header h1 a {
    /*padding: 64px 0;*/
    padding: 54px 0; }
@media only screen and (max-width: 780px) {
    header h1 a {
        padding: 15px 0; } }
@media only screen and (max-width: 580px) {
    header h1 a {
        padding: 15px 0; } }
header h1 a:link {
    background: #FFFFFF; }
header h1 a:visited {
    background: #FFFFFF; }
header h1 a:active {
    background: #FFFFFF; }
header h1 a:hover {
    background: #FAFAFA; }
header h1 a img {
    opacity: 1; }
header h1 a:hover img {
    opacity: 1; }
header h1 img {
    width: 80%;
    max-width: 150px;
    height: auto;
    margin: auto; }
@media only screen and (max-width: 780px) {
    header h1 img {
        width: 120px; } }
@media only screen and (max-width: 580px) {
    header h1 img {
        width: 85px; } }
header ul.doc_menu {
    position: absolute;
    top: 0;
    /*right: 0;*/
    right: 302px;
    display: table; }
@media only screen and (max-width: 780px) {
    header ul.doc_menu {
        right: 61px; } }
@media only screen and (max-width: 580px) {
    header ul.doc_menu {
        right: 56px; } }
header ul.doc_menu li {
    display: table-cell; }
header ul.doc_menu li a {
    height: 40px;
    padding: 10px 25px; }
@media only screen and (max-width: 780px) {
    header ul.doc_menu li a {
        height: 60px; } }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li a {
        padding: 10px 12px;
        height: 50px; } }
header ul.doc_menu li a:link, header ul.doc_menu li a:visited, header ul.doc_menu li a:active {
    background: #ba1313;
    color: #FFF; }
header ul.doc_menu li a:hover {
    background: #F5F5F5;
    color: #ba1313; }
header ul.doc_menu li a p {
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 20px;
    /*padding: 10px 0 10px 35px;*/
    padding-left: 24px; }
@media only screen and (max-width: 780px) {
    header ul.doc_menu li a p {
        padding: 10px 0 10px 25px; } }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li a p {
        padding: 8px 3px; } }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li a p span.pc {
        display: none; } }
header ul.doc_menu li a p span.sp {
    display: none; }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li a p span.sp {
        display: inherit; } }
header ul.doc_menu li:nth-child(1) {
    padding: 0 1px 0 0; }
header ul.doc_menu li:nth-child(1) a:link p, header ul.doc_menu li:nth-child(1) a:visited p, header ul.doc_menu li:nth-child(1) a:active p {
    background-image: url(../img/common/header/doc_menu_1_w.svg);
    background-size:auto 18px; }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li:nth-child(1) a:link p, header ul.doc_menu li:nth-child(1) a:visited p, header ul.doc_menu li:nth-child(1) a:active p {
        background-image: none; } }
header ul.doc_menu li:nth-child(1) a:hover p {
    background-image: url(../img/common/header/doc_menu_1.svg);
    background-size:auto 18px; }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li:nth-child(1) a:hover p {
        background-image: none; } }
header ul.doc_menu li:nth-child(2) a:link p, header ul.doc_menu li:nth-child(2) a:visited p, header ul.doc_menu li:nth-child(2) a:active p {
    background-image: url(../img/common/header/doc_menu_3_w.svg); }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li:nth-child(2) a:link p, header ul.doc_menu li:nth-child(2) a:visited p, header ul.doc_menu li:nth-child(2) a:active p {
        background-image: none; } }
header ul.doc_menu li:nth-child(2) a:hover p {
    background-image: url(../img/common/header/doc_menu_3.svg); }
@media only screen and (max-width: 580px) {
    header ul.doc_menu li:nth-child(2) a:hover p {
        background-image: none; } }
@media only screen and (min-width: 781px) {
    header nav {
        position: absolute;
        bottom: 0;
        right: 0; } }

header nav {
    margin: auto;
    width: 80%; }
@media only screen and (min-width: 1280px) {
    header nav {
        width: 85%; } }
@media only screen and (min-width: 1920px) {
    header nav {
        width: 90%; } }
@media only screen and (max-width: 780px) {
    header nav {
        position: fixed; } }

ul.menu {
    position: relative;
    width: 100%;
    display: table;
    table-layout: fixed; }
@media only screen and (max-width: 1280px) {
    ul.menu {
        table-layout: auto; } }
@media only screen and (max-width: 780px) {
    ul.menu {
        width: 100%;
        display: block;
        padding: 0 0 60px 0; } }
@media only screen and (max-width: 580px) {
    ul.menu {
        padding: 0 0 50px 0; } }
ul.menu > li {
    display: table-cell;
    text-align: center;
    border-top: #FFFFFF 1px solid; }
@media only screen and (max-width: 780px) {
    ul.menu > li {
        width: 100%;
        display: inherit;
        text-align: left; } }
ul.menu > li.frame {
    position: relative; }
ul.menu > li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 31px 5px;
    font-weight: bold; }
ul.menu > li a.init-bottom {
    background-image: url(../img/common/header/nav_bottom.svg);
    background-position: bottom 10px center;
    background-size: 10px 10px;
    background-repeat: no-repeat; }
@media only screen and (max-width: 780px) {
    ul.menu > li a.init-bottom {
        border-bottom: #CCCCCC 1px solid;
        background-image: url(../img/common/header/nav_right.svg);
        background-position: right 10px center;
        background-size: 20px 20px; } }
ul.menu > li a.init-right {
    background-image: url(../img/common/header/nav_right.svg);
    background-position: right 10px center;
    background-size: 15px 15px;
    background-repeat: no-repeat; }
@media only screen and (max-width: 1280px) {
    ul.menu > li a.init-right {
        background-image: none; } }
@media only screen and (max-width: 780px) {
    ul.menu > li a.init-right {
        background-image: none; } }
@media only screen and (max-height: 860px) {
    ul.menu > li a.init-right {
        background-image: none; } }
@media only screen and (max-width: 780px) {
    ul.menu > li a {
        font-size: 14px;
        padding: 15px 12px;
        border-bottom: #CCCCCC 1px solid;
        background-image: url(../img/common/header/nav_right.svg);
        background-position: right 10px center;
        background-size: 20px 20px;
        background-repeat: no-repeat; } }
ul.menu > li a span {
    display: block;
    font-size: 11px;
    font-family: 'gothic'; }
ul.menu > li a:hover {
    text-decoration: none;
    color: #FFF; }
ul.menu > li:hover {
    background-color: #ba1313; }
@media only screen and (max-width: 780px) {
    ul.menu > li:hover {
        background-color: inherit; } }
ul.menu > li:hover a {
    color: #FFF; }
@media only screen and (max-width: 780px) {
    ul.menu > li:hover a {
        color: #ba1313; } }
ul.menu > li:hover ul.hierarchy_1 {
    bottom: -50%;
    visibility: visible;
    opacity: 1; }

ul.hierarchy_1 {
    position: absolute;
    width: 100%;
    min-width: 200px;
    top: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: 1; }
@media only screen and (max-width: 780px) {
    ul.hierarchy_1 {
        min-width: inherit;
        display: block;
        position: static;
        visibility: inherit;
        opacity: 1;
        text-align: left;
        background-color: #FFFFFF; } }
ul.hierarchy_1 li {
    position: relative;
    background-color: #F0F0F0;
    text-align: left; }
@media only screen and (max-width: 780px) {
    ul.hierarchy_1 li {
        width: 50%;
        float: left;
        background-color: none; } }
@media only screen and (max-width: 780px) {
    ul.hierarchy_1 li:nth-child(odd) a {
        border-right: #CCCCCC 1px solid; } }
ul.hierarchy_1 li a {
    padding: 20px 35px 20px 20px;
    display: block;
    border-top: #CCCCCC 1px solid;
    font-size: 12px; }
@media only screen and (max-width: 780px) {
    ul.hierarchy_1 li a {
        border-top: none;
        font-size: 10px;
        padding: 12px;
        background-image: none;
        border-top: none; } }
ul.hierarchy_1 li a:link {
    color: #444444; }
ul.hierarchy_1 li a:visited {
    color: #444444; }
ul.hierarchy_1 li a:active {
    color: #444444; }
ul.hierarchy_1 li a:hover {
    text-decoration: none;
    color: #FFF;
    background-color: #ba1313; }
ul.hierarchy_1 li:hover {
    background-color: #CCCCCC; }
ul.hierarchy_1 li ul.hierarchy_2 {
    display: none
    /* width: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    visibility: hidden;
    opacity: 0; */ }
@media only screen and (max-width: 780px) {
    ul.hierarchy_1 li ul.hierarchy_2 {
        display: none; } }
@media only screen and (max-height: 860px) {
    ul.hierarchy_1 li ul.hierarchy_2 {
        display: none; } }
@media only screen and (max-width: 1280px) {
    ul.hierarchy_1 li ul.hierarchy_2 {
        display: none; } }
ul.hierarchy_1 li ul.hierarchy_2 li {
    position: relative; }
ul.hierarchy_1 li ul.hierarchy_2 li ul.hierarchy_3 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    visibility: hidden;
    opacity: 0; }

li.frame ul.hierarchy_1 li:hover ul.hierarchy_2 {
    visibility: visible;
    opacity: 1; }

li.frame ul.hierarchy_1 li ul.hierarchy_2 li:hover ul.hierarchy_3 {
    visibility: visible;
    opacity: 1; }

footer section.sitemap {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 30px 0 0; }
@media only screen and (max-width: 780px) {
    footer section.sitemap {
        padding: 15px 0; } }
footer section.sitemap ul {
    text-align: left;
    letter-spacing: -.40em; }
footer section.sitemap ul h2, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 {
    letter-spacing: 0;
    padding: 0 0 5px 0; }
footer section.sitemap ul h2 a span, footer section.sitemap ul div.article section.front_content dl.frame dd div.detail h1 a span, div.article section.front_content dl.frame dd div.detail footer section.sitemap ul h1 a span {
    padding: 0 25px 0 0;
    background-image: url(../img/common/arrow/btn_arrow_w.svg);
    background-size: 15px 15px;
    background-position: right center;
    background-repeat: no-repeat;
    display: inline-block; }
footer section.sitemap ul li.frame {
    width: 25%;
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
    padding: 0 10px 50px 0; }
@media only screen and (max-width: 780px) {
    footer section.sitemap ul li.frame {
        width: 33%;
        padding: 0 15px 50px 15px; } }
@media only screen and (max-width: 580px) {
    footer section.sitemap ul li.frame {
        width: 50%;
        padding: 0 15px 25px 15px; } }
footer section.sitemap ul li.frame ul li {
    letter-spacing: normal;
    padding: 2px 0; }

aside ul li {
    border-top: #FFFFFF 1px solid; }
aside ul li a {
    background-color: #F0F0F0;
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 25px 25px;
    padding: 20px 50px 20px 20px;
    font-weight: bold; }
@media only screen and (max-width: 580px) {
    aside ul li a {
        padding: 15px 40px 15px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
aside ul li.main a {
    padding: 30px 50px 30px 20px;
    background-color: #555f84;
    background-image: url(../img/common/arrow/link_arrow_w.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 25px 25px; }
@media only screen and (max-width: 580px) {
    aside ul li.main a {
        padding: 20px 40px 20px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
aside ul li.main a span {
    display: block;
    font-size: 11px;
    font-family: 'gothic'; }
aside ul li ul {
    background-color: #F0F0F0;
    padding: 0 0 10px 20px; }
aside ul li ul li {
    border-top: #CCCCCC  1px solid; }
aside ul li ul li a {
    padding: 8px 20px 8px 0;
    background-image: none;
    font-weight: normal; }

input,
select,
textarea,
search {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Roboto", sans-serif;
    border: #F0F0F0 1px solid;
    background: #FFF;
    -webkit-appearance: none; }

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: 0;
    border-color: #ed1c24; }

input {
    width: 100%;
    padding: 10px;
    margin: 5px 0; }
@media only screen and (max-width: 780px) {
    input::-webkit-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    input::-moz-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    input:-ms-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    input:focus::-webkit-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    input:focus:-ms-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    input:focus::-moz-placeholder {
        color: transparent; } }

input.wth_80 {
    width: 80%; }
@media only screen and (max-width: 780px) {
    input.wth_80 {
        width: 100%; } }

input.wth_70 {
    width: 70%; }
@media only screen and (max-width: 780px) {
    input.wth_70 {
        width: 100%; } }

input.wth_50 {
    width: 50%; }
@media only screen and (max-width: 780px) {
    input.wth_50 {
        width: 100%; } }

input.wth_30 {
    width: 30%; }
@media only screen and (max-width: 780px) {
    input.wth_30 {
        width: 100%; } }

input.wth_20 {
    width: 20%; }
@media only screen and (max-width: 780px) {
    input.wth_20 {
        width: 50%; } }

textarea {
    width: 100%;
    height: 10em;
    padding: 10px;
    resize: vertical; }
@media only screen and (max-width: 780px) {
    textarea::-webkit-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    textarea::-moz-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    textarea:-ms-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    textarea:focus::-webkit-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    textarea:focus:-ms-input-placeholder {
        color: transparent; } }
@media only screen and (max-width: 780px) {
    textarea:focus::-moz-placeholder {
        color: transparent; } }

ul.variable {
    width: 100%; }
ul.variable li {
    display: inline-block;
    padding: 0 5px; }
ul.variable li:last-child {
    padding: 0 0 0 5px; }
@media only screen and (max-width: 580px) {
    ul.variable li:last-child {
        padding: 0; } }
ul.variable li:nth-child(1) {
    padding: 0 5px 0 0; }
@media only screen and (max-width: 580px) {
    ul.variable li:nth-child(1) {
        padding: 0; } }
@media only screen and (max-width: 580px) {
    ul.variable li {
        display: inherit;
        padding: 0; } }
ul.variable li input {
    width: auto;
    max-width: 150px;
    margin: 5px 0; }
@media only screen and (max-width: 580px) {
    ul.variable li input {
        width: 70px; } }

select {
    width: auto;
    padding: 10px 60px 10px 10px;
    background-image: url(../img/common/arrow/input_select.svg);
    background-repeat: no-repeat;
    background-position: right 5px center;
    background-size: 25px 25px;
    vertical-align: middle;
    border: #F0F0F0 1px solid;
    margin: 5px 0;
    border-radius: 0;
    webkit-border-radius: 0;
    -moz-border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }

/*IE*/
select::-ms-expand {
    display: none; }

input[type="radio"],
input[type="checkbox"] {
    display: none; }

input[type="radio"] + label {
    padding: 7px 0px 7px 25px;
    margin: 2px 20px 2px 0px;
    display: inline-block;
    background-image: url(../img/common/arrow/input_check_off.svg);
    background-repeat: no-repeat;
    background-position: left 50%;
    background-size: 18px 18px;
    cursor: pointer; }

input[type="radio"]:checked + label {
    background-image: url(../img/common/arrow/input_check_on.svg);
    background-repeat: no-repeat;
    background-position: left 50%;
    background-size: 18px 18px; }

input[type="checkbox"] + label {
    padding: 7px 0px 7px 25px;
    margin: 2px 20px 2px 0px;
    background-image: url(../img/common/arrow/input_check_off.svg);
    background-repeat: no-repeat;
    background-position: left 50%;
    background-size: 18px 18px;
    display: inline-block;
    cursor: pointer; }

input[type="checkbox"]:checked + label {
    background-image: url(../img/common/arrow/input_check_on.svg);
    background-repeat: no-repeat;
    background-position: left 50%;
    background-size: 18px 18px; }

input[type="submit"],
input[type="reset"],
input[type="button"] {
    min-width: 150px;
    border: #ed1c24 1px solid;
    background: #FFF;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    color: #ed1c24;
    text-align: center;
    font-weight: bold;
    padding: 15px 30px;
    cursor: pointer; }

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
    color: #FFF;
    background: #ed1c24; }

div.error_area {
    width: 100%;
    margin: auto;
    padding: 10px 0; }

ul.error_list {
    width: 100%;
    margin: auto;
    padding: 5px 0; }
ul.error_list li {
    display: block;
    padding: 5px 0 5px 20px;
    line-height: 1.5em;
    font-weight: bold;
    color: #BF292C;
    background-image: url(../img/common/arrow/input_error.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 15px 15px; }

ul.error_access {
    width: 100%;
    margin: auto;
    padding: 20px;
    border: #BF292C 1px solid; }
ul.error_access li {
    display: block;
    padding: 5px 0 5px 20px;
    line-height: 1.5em;
    font-weight: bold;
    color: #BF292C;
    background-image: url(../img/common/arrow/input_error.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 15px 15px; }

p#fm_ajax_message {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5em;
    color: #ed1c24;
    letter-spacing: 1px; }

footer {
    width: 100%;
    margin: auto;
    text-align: center;
    background-color: #313131;
    color: #FFF; }
footer a:link {
    color: #a1a1a1; }
footer a:visited {
    color: #a1a1a1; }
footer a:active {
    color: #a1a1a1; }
footer a:hover {
    color: #a1a1a1;
    text-decoration: underline; }
footer h1 {
    padding: 20px 0;
    background: #FFFFFF; }
footer h1 img {
    width: 80%;
    max-width: 150px;
    height: auto;
    margin: auto; }
@media only screen and (max-width: 780px) {
    footer h1 img {
        width: 120px; } }
@media only screen and (max-width: 580px) {
    footer h1 img {
        width: 85px; } }
footer section.copyright {
    padding: 30px 0;
    border-top: #434343 1px solid; }
@media only screen and (max-width: 580px) {
    footer section.copyright {
        padding: 15px 0; } }
footer section.copyright ul {
    width: 100%;
    text-align: center;
    margin: auto; }
footer section.copyright ul li {
    display: inline-block;
    padding: 5px 10px; }
@media only screen and (max-width: 580px) {
    footer section.copyright ul li {
        padding: 0 5px; } }
footer section.copyright p {
    font-size: 10px; }

.drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%; }

.drawer-open .drawer-overlay {
    display: block; }

@media only screen and (max-width: 780px) {
    .top nav {
        top: 500%;
        left: 0;
        width: 100%;
        height: auto;
        max-height: 100%;
        -webkit-transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        background: #FFF; } }

.top.drawer-open nav {
    top: 60px; }
@media only screen and (max-width: 580px) {
    .top.drawer-open nav {
        top: 50px; } }

.hamburger {
    display: none; }
@media only screen and (max-width: 780px) {
    .hamburger {
        background-color: #555f84;
        position: fixed;
        z-index: 100;
        top: 0;
        right: 0;
        display: block;
        width: 60px;
        height: 60px;
        padding: 0px .75rem 0;
        border-radius: 0;
        -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        outline: 0;
        border: 0; } }
@media only screen and (max-width: 580px) {
    .hamburger {
        width: 55px;
        height: 50px; } }

.hamburger:hover {
    cursor: pointer; }

.icon {
    position: relative;
    display: block; }

.icon,
.icon:after,
.icon:before {
    width: 100%;
    height: 2px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #FFFFFF; }

.icon:after,
.icon:before {
    position: absolute;
    top: -10px;
    left: 0;
    content: ' '; }

.icon:after {
    top: 10px; }

.drawer-open .icon {
    background-color: transparent; }

.drawer-open .icon:after,
.drawer-open .icon:before {
    top: 0; }

.drawer-open .icon:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

.drawer-open .icon:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }

.mask {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0; }

.mask-focusable:active,
.mask-focusable:focus {
    position: static;
    overflow: visible;
    clip: auto;
    width: auto;
    height: auto;
    margin: 0; }

.drawer--sidebar,
.drawer--sidebar .drawer-contents {
    background-color: #fff; }

@media (min-width: 64em) {
    .drawer--sidebar .hamburger {
        display: none;
        visibility: hidden; }

    .drawer--sidebar nav {
        display: block;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        position: fixed;
        width: 12.5rem;
        height: 100%; }

    .drawer--sidebar.left nav {
        left: 0;
        border-right: 1px solid #ddd; }

    .drawer--sidebar.left .drawer-contents {
        margin-left: 12.5rem; }

    .drawer--sidebar.right nav {
        right: 0;
        border-left: 1px solid #ddd; }

    .drawer--sidebar.right .drawer-contents {
        margin-right: 12.5rem; }

    .drawer--sidebar .drawer-container {
        max-width: 48rem; } }
@media (min-width: 75em) {
    .drawer--sidebar nav {
        width: 16.25rem; }

    .drawer--sidebar.left .drawer-contents {
        margin-left: 16.25rem; }

    .drawer--sidebar.right .drawer-contents {
        margin-right: 16.25rem; }

    .drawer--sidebar .drawer-container {
        max-width: 60rem; } }
.drawer--navbarTopGutter {
    padding-top: 3.75rem; }

navbar navbar-header {
    border-bottom: 1px solid #ddd;
    background-color: #fff; }

navbar {
    z-index: 3;
    top: 0;
    width: 100%; }

navbar--fixed {
    position: fixed; }

navbar-header {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    width: 100%;
    height: 3.75rem;
    padding: 0 .75rem;
    text-align: center; }

navbar .drawer-brand {
    line-height: 3.75rem;
    display: inline-block;
    padding-top: 0;
    padding-bottom: 0;
    text-decoration: none; }

navbar .drawer-brand:hover {
    background-color: transparent; }

navbar nav {
    padding-top: 3.75rem; }

@media (min-width: 64em) {
    navbar {
        height: 3.75rem;
        border-bottom: 1px solid #ddd;
        background-color: #fff; }

    navbar navbar-header {
        position: relative;
        display: block;
        float: left;
        width: auto;
        padding: 0;
        border: 0; }

    navbar .hamburger {
        display: none; }

    navbar nav {
        position: relative;
        left: 0;
        overflow: visible;
        width: auto;
        height: 3.75rem;
        padding-top: 0;
        -webkit-transform: translateZ(0);
        transform: translateZ(0); }

    navbar .drawer-dropdown-menu {
        position: absolute;
        width: 16.25rem;
        border: 1px solid #ddd; }

    navbar .drawer-dropdown-menu-item {
        padding-left: .75rem; } }
.drawer-dropdown-menu {
    display: none;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff; }

.drawer-dropdown-menu > li {
    width: 100%;
    list-style: none; }

.drawer-dropdown-menu-item {
    line-height: 3.75rem;
    display: block;
    padding: 0;
    padding-right: .75rem;
    padding-left: 1.5rem;
    text-decoration: none;
    color: #222; }

.drawer-dropdown-menu-item:hover {
    text-decoration: underline;
    color: #555;
    background-color: transparent; }

.drawer-dropdown.open > .drawer-dropdown-menu {
    display: block; }

.drawer-dropdown .drawer-caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 4px;
    -webkit-transition: opacity .2s ease,-webkit-transform .2s ease;
    transition: opacity .2s ease,-webkit-transform .2s ease;
    transition: transform .2s ease,opacity .2s ease;
    transition: transform .2s ease,opacity .2s ease,-webkit-transform .2s ease;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    vertical-align: middle;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent; }

.drawer-dropdown.open .drawer-caret {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }

.drawer-container {
    margin-right: auto;
    margin-left: auto; }

@media (min-width: 64em) {
    .drawer-container {
        max-width: 60rem; } }
@media (min-width: 75em) {
    .drawer-container {
        max-width: 70rem; } }
.owl-carousel .owl-wrapper:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }

.owl-carousel {
    width: 100%;
    display: none;
    position: relative;
    -ms-touch-action: pan-y;
    padding: 0 0 30px 0; }

.owl-carousel .owl-wrapper {
    display: none;
    position: relative;
    -webkit-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-wrapper-outer {
    overflow: hidden;
    position: relative;
    width: 100%; }

.owl-carousel .owl-wrapper-outer.autoHeight {
    -webkit-transition: height 500ms ease-in-out;
    -moz-transition: height 500ms ease-in-out;
    -ms-transition: height 500ms ease-in-out;
    -o-transition: height 500ms ease-in-out;
    transition: height 500ms ease-in-out; }

.owl-carousel .owl-item {
    float: left; }

.owl-controls .owl-page,
.owl-controls .owl-buttons div {
    cursor: pointer; }

.owl-controls {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent; }

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }

.owl-theme .owl-controls {
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }

.owl-theme .owl-controls .owl-page {
    display: inline-block;
    zoom: 1; }

.owl-theme .owl-controls .owl-page span {
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    background: #555f84; }

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
    opacity: 1;
    background: #ba1313; }

@media only screen and (max-width: 580px) {
    .owl-theme .owl-controls .owl-page span {
        margin: 0 5px; } }
.owl-origin {
    -webkit-perspective: 1200px;
    -webkit-perspective-origin-x: 50%;
    -webkit-perspective-origin-y: 50%;
    -moz-perspective: 1200px;
    -moz-perspective-origin-x: 50%;
    -moz-perspective-origin-y: 50%;
    perspective: 1200px; }

.owl-fade-out {
    z-index: 10;
    -webkit-animation: fadeOut .7s both ease;
    -moz-animation: fadeOut .7s both ease;
    animation: fadeOut .7s both ease; }

.owl-fade-in {
    -webkit-animation: fadeIn .7s both ease;
    -moz-animation: fadeIn .7s both ease;
    animation: fadeIn .7s both ease; }

.owl-backSlide-out {
    -webkit-animation: backSlideOut 1s both ease;
    -moz-animation: backSlideOut 1s both ease;
    animation: backSlideOut 1s both ease; }

.owl-backSlide-in {
    -webkit-animation: backSlideIn 1s both ease;
    -moz-animation: backSlideIn 1s both ease;
    animation: backSlideIn 1s both ease; }

.owl-goDown-out {
    -webkit-animation: scaleToFade .7s ease both;
    -moz-animation: scaleToFade .7s ease both;
    animation: scaleToFade .7s ease both; }

.owl-goDown-in {
    -webkit-animation: goDown .6s ease both;
    -moz-animation: goDown .6s ease both;
    animation: goDown .6s ease both; }

.owl-fadeUp-in {
    -webkit-animation: scaleUpFrom .5s ease both;
    -moz-animation: scaleUpFrom .5s ease both;
    animation: scaleUpFrom .5s ease both; }

.owl-fadeUp-out {
    -webkit-animation: scaleUpTo .5s ease both;
    -moz-animation: scaleUpTo .5s ease both;
    animation: scaleUpTo .5s ease both; }

@-webkit-keyframes empty {
    0% {
        opacity: 1; } }
@-moz-keyframes empty {
    0% {
        opacity: 1; } }
@keyframes empty {
    0% {
        opacity: 1; } }
@-webkit-keyframes fadeIn {
    0% {
        opacity: 0; }
    100% {
        opacity: 1; } }
@-moz-keyframes fadeIn {
    0% {
        opacity: 0; }
    100% {
        opacity: 1; } }
@keyframes fadeIn {
    0% {
        opacity: 0; }
    100% {
        opacity: 1; } }
@-webkit-keyframes fadeOut {
    0% {
        opacity: 1; }
    100% {
        opacity: 0; } }
@-moz-keyframes fadeOut {
    0% {
        opacity: 1; }
    100% {
        opacity: 0; } }
@keyframes fadeOut {
    0% {
        opacity: 1; }
    100% {
        opacity: 0; } }
@-webkit-keyframes backSlideOut {
    25% {
        opacity: .5;
        -webkit-transform: translateZ(-500px); }
    75% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(-200%); }
    100% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(-200%); } }
@-moz-keyframes backSlideOut {
    25% {
        opacity: .5;
        -moz-transform: translateZ(-500px); }
    75% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(-200%); }
    100% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(-200%); } }
@keyframes backSlideOut {
    25% {
        opacity: .5;
        transform: translateZ(-500px); }
    75% {
        opacity: .5;
        transform: translateZ(-500px) translateX(-200%); }
    100% {
        opacity: .5;
        transform: translateZ(-500px) translateX(-200%); } }
@-webkit-keyframes backSlideIn {
    0%, 25% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(200%); }
    75% {
        opacity: .5;
        -webkit-transform: translateZ(-500px); }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0) translateX(0); } }
@-moz-keyframes backSlideIn {
    0%, 25% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(200%); }
    75% {
        opacity: .5;
        -moz-transform: translateZ(-500px); }
    100% {
        opacity: 1;
        -moz-transform: translateZ(0) translateX(0); } }
@keyframes backSlideIn {
    0%, 25% {
        opacity: .5;
        transform: translateZ(-500px) translateX(200%); }
    75% {
        opacity: .5;
        transform: translateZ(-500px); }
    100% {
        opacity: 1;
        transform: translateZ(0) translateX(0); } }
@-webkit-keyframes scaleToFade {
    to {
        opacity: 0;
        -webkit-transform: scale(0.8); } }
@-moz-keyframes scaleToFade {
    to {
        opacity: 0;
        -moz-transform: scale(0.8); } }
@keyframes scaleToFade {
    to {
        opacity: 0;
        transform: scale(0.8); } }
@-webkit-keyframes goDown {
    from {
        -webkit-transform: translateY(-100%); } }
@-moz-keyframes goDown {
    from {
        -moz-transform: translateY(-100%); } }
@keyframes goDown {
    from {
        transform: translateY(-100%); } }
@-webkit-keyframes scaleUpFrom {
    from {
        opacity: 0;
        -webkit-transform: scale(1.5); } }
@-moz-keyframes scaleUpFrom {
    from {
        opacity: 0;
        -moz-transform: scale(1.5); } }
@keyframes scaleUpFrom {
    from {
        opacity: 0;
        transform: scale(1.5); } }
@-webkit-keyframes scaleUpTo {
    to {
        opacity: 0;
        -webkit-transform: scale(1.5); } }
@-moz-keyframes scaleUpTo {
    to {
        opacity: 0;
        -moz-transform: scale(1.5); } }
@keyframes scaleUpTo {
    to {
        opacity: 0;
        transform: scale(1.5); } }
html.remodal-is-locked {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none; }

.remodal,
[data-remodal-id] {
    display: none; }

.remodal-overlay {
    position: fixed;
    z-index: 9999;
    top: -5000px;
    right: -5000px;
    bottom: -5000px;
    left: -5000px;
    display: none; }

.remodal-wrapper {
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    overflow: auto;
    text-align: center;
    -webkit-overflow-scrolling: touch; }

.remodal-wrapper:after {
    display: inline-block;
    height: 100%;
    margin-left: -0.05em;
    content: ""; }

.remodal-overlay,
.remodal-wrapper {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }

.remodal {
    position: relative;
    outline: none;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%; }

.remodal-is-initialized {
    display: inline-block; }

.remodal-overlay {
    background: rgba(255, 255, 255, 0.7); }

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; }

.remodal-overlay.remodal-is-opening {
    -webkit-animation-name: remodal-overlay-opening-keyframes;
    animation-name: remodal-overlay-opening-keyframes; }

.remodal-overlay.remodal-is-closing {
    -webkit-animation-name: remodal-overlay-closing-keyframes;
    animation-name: remodal-overlay-closing-keyframes; }

.remodal-wrapper {
    padding: 10px 10px 0; }

.remodal {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
    padding: 35px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    color: #2b2e38;
    background: #fff;
    border: #F0F0F0 1px solid; }

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; }

.remodal.remodal-is-opening {
    -webkit-animation-name: remodal-opening-keyframes;
    animation-name: remodal-opening-keyframes; }

.remodal.remodal-is-closing {
    -webkit-animation-name: remodal-closing-keyframes;
    animation-name: remodal-closing-keyframes; }

.remodal,
.remodal-wrapper:after {
    vertical-align: middle; }

.remodal-close {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    overflow: visible;
    width: 35px;
    height: 35px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    color: #95979c;
    border: 0;
    outline: 0;
    background: transparent; }

.remodal-close:hover,
.remodal-close:focus {
    color: #2b2e38; }

.remodal-close:before {
    font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
    font-size: 25px;
    line-height: 35px;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 35px;
    content: "\00d7";
    text-align: center; }

.remodal-confirm,
.remodal-cancel {
    font: inherit;
    display: inline-block;
    overflow: visible;
    min-width: 110px;
    margin: 0;
    padding: 12px 0;
    cursor: pointer;
    -webkit-transition: background 0.2s;
    transition: background 0.2s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 0;
    outline: 0; }

.remodal-confirm {
    color: #fff;
    background: #ed1c24; }

.remodal-confirm:hover,
.remodal-confirm:focus {
    opacity: 0.7; }

.remodal-cancel {
    color: #fff;
    background: #e57373; }

.remodal-cancel:hover,
.remodal-cancel:focus {
    opacity: 0.7; }

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
    padding: 0;
    border: 0; }

@-webkit-keyframes remodal-opening-keyframes {
    from {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        opacity: 0; }
    to {
        -webkit-transform: none;
        transform: none;
        opacity: 1; } }
@keyframes remodal-opening-keyframes {
    from {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        opacity: 0; }
    to {
        -webkit-transform: none;
        transform: none;
        opacity: 1; } }
@-webkit-keyframes remodal-closing-keyframes {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1; }
    to {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
        opacity: 0; } }
@keyframes remodal-closing-keyframes {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1; }
    to {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
        opacity: 0; } }
@-webkit-keyframes remodal-overlay-opening-keyframes {
    from {
        opacity: 0; }
    to {
        opacity: 1; } }
@keyframes remodal-overlay-opening-keyframes {
    from {
        opacity: 0; }
    to {
        opacity: 1; } }
@-webkit-keyframes remodal-overlay-closing-keyframes {
    from {
        opacity: 1; }
    to {
        opacity: 0; } }
@keyframes remodal-overlay-closing-keyframes {
    from {
        opacity: 1; }
    to {
        opacity: 0; } }
@media only screen and (min-width: 641px) {
    .remodal {
        max-width: 700px; } }
.lt-ie9 .remodal-overlay {
    background: #2b2e38; }

.lt-ie9 .remodal {
    width: 700px; }

.mCustomScrollbar {
    -ms-touch-action: none;
    touch-action: none; }

.mCustomScrollbar.mCS_no_scrollbar, .mCustomScrollbar.mCS_touch_action {
    -ms-touch-action: auto;
    touch-action: auto; }

.mCustomScrollBox {
    position: relative;
    overflow: hidden;
    height: 100%;
    max-width: 100%;
    outline: none;
    direction: ltr; }

.mCSB_container {
    overflow: hidden;
    width: auto;
    height: auto; }

.mCSB_inside > .mCSB_container {
    margin-right: 25px; }

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
    margin-right: 0; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container {
    margin-right: 25px;
    margin-left: 0; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
    margin-left: 0; }

.mCSB_scrollTools {
    position: absolute;
    width: 16px;
    height: auto;
    left: auto;
    top: 0;
    right: 0;
    bottom: 0; }

.mCSB_outside + .mCSB_scrollTools {
    right: -26px; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools,
.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
    right: auto;
    left: 0; }

.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
    left: -26px; }

.mCSB_scrollTools .mCSB_draggerContainer {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: auto; }

.mCSB_scrollTools a + .mCSB_draggerContainer {
    margin: 20px 0; }

.mCSB_scrollTools .mCSB_draggerRail {
    width: 2px;
    height: 100%;
    margin: 0 auto;
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    border-radius: 16px; }

.mCSB_scrollTools .mCSB_dragger {
    cursor: pointer;
    width: 100%;
    height: 30px;
    z-index: 1; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    position: relative;
    width: 4px;
    height: 100%;
    margin: 0 auto;
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    border-radius: 16px;
    text-align: center; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
    width: 12px; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
    width: 8px; }

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown {
    display: block;
    position: absolute;
    height: 20px;
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
    cursor: pointer; }

.mCSB_scrollTools .mCSB_buttonDown {
    bottom: 0; }

.mCS-main.mCSB_scrollTools .mCSB_draggerRail {
    background-color: #F0F0F0; }

.mCS-main.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: #ed1c24; }

.mCS-main.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
    background-color: rgba(0, 0, 0, 0.85); }

.mCS-main.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-main.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
    background-color: #ed1c24; }

.mCS-main.mCSB_scrollTools .mCSB_buttonUp {
    background-position: -80px 0; }

.mCS-main.mCSB_scrollTools .mCSB_buttonDown {
    background-position: -80px -20px; }

.mCS-main.mCSB_scrollTools .mCSB_buttonLeft {
    background-position: -80px -40px; }

.mCS-main.mCSB_scrollTools .mCSB_buttonRight {
    background-position: -80px -56px; }

div.article section#ttl_head {
    width: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #555f84;
    position: relative;
    color: #FFF; }
div.article section#ttl_head div.pan {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    margin: auto; }
@media only screen and (max-width: 580px) {
    div.article section#ttl_head div.pan {
        top: 10px; } }
div.article section#ttl_head div.ttl {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center; }
@media only screen and (max-width: 580px) {
    div.article section#ttl_head div.ttl {
        width: 80%; } }
div.article section#ttl_head div.ttl h1 {
    padding: 0 0 10px 0; }
div.article section#ttl_head div.ttl h1 br {
    display: none; }
@media only screen and (max-width: 580px) {
    div.article section#ttl_head div.ttl h1 br {
        display: block; } }
div.article section.main {
    height: 400px; }
@media only screen and (max-width: 780px) {
    div.article section.main {
        height: 350px; } }
@media only screen and (max-width: 580px) {
    div.article section.main {
        height: 250px; } }
div.article section.sub {
    height: 200px; }
@media only screen and (max-width: 580px) {
    div.article section.sub {
        height: 150px; } }
div.article main {
    margin: auto;
    border-top: #FFFFFF 1px solid; }
div.article main section img {
    max-width: 100%;
    height: auto; }
div.article main section img.main {
    width: 100%; }
div.article main section span.type {
    margin: 0 0 5px 0;
    padding: 0 0 0 10px;
    display: block;
    color: #444444;
    font-weight: normal;
    border-left: #ba1313 5px solid; }
div.article ul.txt_doc li {
    list-style: disc;
    list-style-position: inside;
    padding: 0 0 5px 0; }
div.article section.front_content {
    padding: 0 0 1px 0; }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame {
        display: block; } }
div.article section.front_content dl.frame dt {
    width: 50%;
    position: relative;
    overflow: hidden;
    background-color: #F0F0F0; }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dt {
        width: 100%; } }
div.article section.front_content dl.frame dt:before {
    content: "";
    display: block;
    padding-top: 80%; }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dt:before {
        display: none; } }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dt {
        width: 100%;
        display: block; } }
div.article section.front_content dl.frame dt img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out; }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dt img {
        position: static; } }
div.article section.front_content dl.frame:hover dt img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
div.article section.front_content dl.frame dd {
    width: 50%;
    position: relative; }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dd {
        width: 100%; } }
div.article section.front_content dl.frame dd:before {
    content: "";
    display: block;
    padding-top: 80%; }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dd:before {
        display: none; } }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dd {
        width: 100%;
        display: block; } }
div.article section.front_content dl.frame dd div.detail {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    padding: 80px;
    text-align: left; }
@media only screen and (max-width: 780px) {
    div.article section.front_content dl.frame dd div.detail {
        padding: 10px 20px; } }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dd div.detail {
        position: static;
        top: inherit;
        left: inherit;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        padding: 20px 20px 30px 20px; } }
div.article section.front_content dl.frame dd div.detail hr {
    width: 50px;
    text-align: left;
    margin: 0 0 20px 0;
    border-top: #555f84 5px solid; }
div.article section.front_content dl.frame dd div.detail p {
    padding: 20px 0; }
@media only screen and (max-width: 580px) {
    div.article section.front_content dl.frame dd div.detail p {
        padding: 10px 0 20px 0; } }
div.article a div.btn {
    color: #FFF; }
div.article a:hover div.btn {
    background-color: #313131;
    border: #313131 1px solid; }
div.article a:hover img {
    opacity: 1; }
div.article section.box_l dl dt {
    float: left; }
@media only screen and (max-width: 580px) {
    div.article section.box_l dl dt {
        float: none; } }
div.article section.box_l dl dd {
    float: left; }
@media only screen and (max-width: 580px) {
    div.article section.box_l dl dd {
        float: none; } }
div.article section.box_r dl dt {
    float: right; }
@media only screen and (max-width: 580px) {
    div.article section.box_r dl dt {
        float: none; } }
div.article section.box_r dl dd {
    float: right; }
@media only screen and (max-width: 580px) {
    div.article section.box_r dl dd {
        float: none; } }
div.article section.tile_content {
    width: 100%;
    height: auto; }
div.article section.tile_content ul {
    width: 100%;
    margin: auto;
    display: table;
    table-layout: fixed; }
@media only screen and (max-width: 780px) {
    div.article section.tile_content ul {
        display: block;
        table-layout: inherit; } }
div.article section.tile_content ul li {
    height: 350px;
    display: table-cell;
    overflow: hidden;
    background-color: #555f84; }
@media only screen and (max-width: 780px) {
    div.article section.tile_content ul li {
        width: 100%;
        height: 250px;
        display: block; } }
@media only screen and (max-width: 580px) {
    div.article section.tile_content ul li {
        height: 200px; } }
div.article section.tile_content ul li h2, div.article section.tile_content ul li section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.tile_content ul li h1 {
    padding: 20px 0 20px 0; }
@media only screen and (max-width: 780px) {
    div.article section.tile_content ul li h2, div.article section.tile_content ul li section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.tile_content ul li h1 {
        padding: 20px 0 15px 0; } }
@media only screen and (max-width: 580px) {
    div.article section.tile_content ul li h2, div.article section.tile_content ul li section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.tile_content ul li h1 {
        padding: 15px 0 10px 0; } }
@media only screen and (max-width: 780px) {
    div.article section.tile_content ul li h2 br, div.article section.tile_content ul li section.front_content dl.frame dd div.detail h1 br, div.article section.front_content dl.frame dd div.detail section.tile_content ul li h1 br {
        display: none; } }
div.article section.tile_content ul li p {
    width: 75%;
    padding: 0 0 20px 0;
    margin: auto; }
@media only screen and (max-width: 780px) {
    div.article section.tile_content ul li p {
        padding: 0 0 15px 0; } }
@media only screen and (max-width: 780px) {
    div.article section.tile_content ul li p br {
        display: none; } }
div.article section.tile_content ul li hr {
    width: 50px;
    margin: auto;
    border-top: #FFFFFF 5px solid; }
div.article section.tile_content ul li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 780px) {
    div.article section.tile_content ul li + li {
        border-left: none;
        border-top: #FFFFFF 1px solid; } }
div.article section.tile_content ul li a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    z-index: 1; }
div.article section.tile_content ul li a:link, div.article section.tile_content ul li a:visited, div.article section.tile_content ul li a:active, div.article section.tile_content ul li a:hover {
    color: #FFF; }
div.article section.tile_content ul li a:hover div.btn_w {
    background-color: #ba1313; }
div.article section.tile_content ul li figure {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center; }
@media only screen and (max-width: 580px) {
    div.article section.tile_content ul li figure {
        width: 80%; } }
div.article section.contents_detail {
    padding: 50px 0;
    border-bottom: #F0F0F0 1px solid;
    text-align: left; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail {
        padding: 30px 5%; } }
div.article section.contents_detail:first-child {
    padding: 0 0 50px 0; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail:first-child {
        padding: 0 5% 30px 5%; } }
div.article section.contents_detail:last-child {
    padding: 50px 0 0 0;
    border-bottom: none; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail:last-child {
        padding: 30px 5% 30px 5%; } }
div.article section.contents_detail h1 {
    padding: 0 5% 0 20px;
    margin: 0 auto 15px auto;
    font-size: 32px;
    line-height: 1.4em;
    border-left: #555f84 5px solid; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail h1 {
        font-size: 30px;
        padding: 0 0 0 20px;
        margin: 0 auto 10px auto; } }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail h1 {
        font-size: 26px; } }
div.article section.contents_detail h2, div.article section.contents_detail section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.contents_detail h1 {
    padding: 0 5% 15px 0;
    font-size: 24px;
    line-height: 1.5em; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail h2, div.article section.contents_detail section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.contents_detail h1 {
        font-size: 22px;
        padding: 0 0 15px 0; } }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail h2, div.article section.contents_detail section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.contents_detail h1 {
        font-size: 18px;
        padding: 0 0 10px 0; } }
div.article section.contents_detail p {
    padding: 0 5% 0 0; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail p {
        padding: 0; } }
div.article section.contents_detail p:last-child {
    padding: 0 5% 0 0;
    margin: inherit; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail p:last-child {
        padding: 0; } }
div.article section.contents_detail figure {
    width: 100%;
    height: auto; }
div.article section.contents_detail figure img {
    width: 50%;
    height: auto; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail figure img {
        width: 100%; } }
div.article section.contents_detail figure figcaption {
    width: 50%; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail figure figcaption {
        width: 100%; } }
div.article section.contents_detail table.tbl th {
    background-color: #F0F0F0;
    border-bottom: #FFFFFF 1px solid;
    font-weight: bold; }
div.article section.contents_detail table.tbl td {
    border-bottom: #F0F0F0 1px solid; }
div.article section.contents_detail table.tbl tr:last-child td {
    border-bottom: none; }
div.article section.contents_detail figure.box_l img {
    float: left;
    padding: 0 20px 0 0; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail figure.box_l img {
        float: none;
        padding: 0 0 20px 0; } }
div.article section.contents_detail figure.box_l figcaption {
    float: left; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail figure.box_l figcaption {
        float: none; } }
div.article section.contents_detail figure.box_r img {
    float: right;
    padding: 0 0 0 20px; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail figure.box_r img {
        float: none;
        padding: 0 0 20px 0; } }
div.article section.contents_detail figure.box_r figcaption {
    float: right; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail figure.box_r figcaption {
        float: none; } }
div.article section.contents_detail ul.list li {
    border-top: #FFFFFF 1px solid;
    padding: 0;
    flex: auto; }
div.article section.contents_detail ul.list li a {
    background-color: #F0F0F0;
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 25px 25px;
    padding: 20px 50px 20px 20px;
    font-weight: bold; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.list li a {
        padding: 15px 40px 15px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
div.article section.contents_detail ul.list li a:hover {
    background-color: #fff; }
div.article section.contents_detail ul.list li span {
    font-weight: normal; }
div.article section.contents_detail ul.txt {
    padding: 3px 0; }
div.article section.contents_detail ul.txt li {
    padding: 2px 0; }
@media only screen and (max-width: 780px) {
    div.article section.contents_detail ul.txt li {
        padding: 1px 0; } }
div.article section.contents_detail article.bg_box {
    width: 100%;
    height: auto;
    color: #FFF;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
div.article section.contents_detail article.bg_box div.detail {
    padding: 50px 30px; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail article.bg_box div.detail {
        padding: 30px 20px; } }
div.article section.contents_detail ul.pickup_box {
    width: 100%;
    display: inline-block;
    letter-spacing: -.40em;
    text-align: left; }
div.article section.contents_detail ul.pickup_box li {
    width: 50%;
    padding: 0 5px;
    letter-spacing: normal;
    vertical-align: top;
    display: inline-block; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.pickup_box li {
        width: 100%; } }
div.article section.contents_detail ul.pickup_box li + li {
    border: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.pickup_box li + li {
        border-top: #FFFFFF 20px solid; } }
div.article section.contents_detail ul.pickup_box li a h2, div.article section.contents_detail ul.pickup_box li a section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.contents_detail ul.pickup_box li a h1 {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 20px 20px;
    padding: 0 30px 0 0 !important;
    display: inline; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.pickup_box li a h2, div.article section.contents_detail ul.pickup_box li a section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.contents_detail ul.pickup_box li a h1 {
        padding: 0 25px 0 0 !important;
        background-position: right center;
        background-size: 15px 15px; } }
div.article section.contents_detail ul.pickup_box li dl dt {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
    padding: 56% 0 0 0; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.pickup_box li dl dt {
        padding: 0; } }
div.article section.contents_detail ul.pickup_box li dl dt img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.pickup_box li dl dt img {
        position: static; } }
div.article section.contents_detail ul.pickup_box li dl:hover dt img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
div.article section.contents_detail ul.pickup_box li dl dd {
    padding: 20px 20px 50px 0; }
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.pickup_box li dl dd {
        padding: 10px 10px 10px 0; } }
div.article section.contents_detail ul.pickup_box li dl dd h2, div.article section.contents_detail ul.pickup_box li section.front_content dl.frame dd div.detail h1, div.article section.front_content section.contents_detail ul.pickup_box li dl.frame dd div.detail h1 {
    padding: 0 0 5px 0;
    color: #555f84; }
div.article section.contents_detail ul.pickup_box li dl dd p {
    padding: 0; }

section.cushion {
    width: 100%;
    height: auto;
    border-top: #F0F0F0 1px solid;
    padding: 50px 0 0 0;
    margin: 50px auto 0 auto; }
section.cushion ul {
    width: 100%;
    height: auto;
    margin: auto; }
section.cushion ul li {
    width: 50%;
    height: 300px;
    float: left;
    position: relative;
    overflow: hidden; }
@media only screen and (max-width: 580px) {
    section.cushion ul li {
        width: 100%;
        height: 250px; } }
section.cushion ul li h2, section.cushion ul li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.cushion ul li h1 {
    padding: 50px 0 20px 0; }
@media only screen and (max-width: 780px) {
    section.cushion ul li h2, section.cushion ul li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.cushion ul li h1 {
        padding: 35px 0 15px 0; } }
@media only screen and (max-width: 580px) {
    section.cushion ul li h2, section.cushion ul li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.cushion ul li h1 {
        padding: 35px 0 10px 0; } }
section.cushion ul li p {
    width: 75%;
    padding: 0 0 20px 0;
    margin: auto; }
@media only screen and (max-width: 780px) {
    section.cushion ul li p {
        padding: 0 0 15px 0; } }
@media only screen and (max-width: 780px) {
    section.cushion ul li p br {
        display: none; } }
section.cushion ul li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    section.cushion ul li + li {
        border-left: none;
        border-top: #FFFFFF 1px solid; } }
section.cushion ul li:nth-child(1):after {
    background-image: url(../img/content/parts/cushion/cushion_bg_1_pc.jpg); }
section.cushion ul li:nth-child(1) h2, section.cushion ul li:nth-child(1) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.cushion ul li:nth-child(1) h1 {
    background-image: url(../img/content/parts/cushion/cushion_icon_1.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 30px 30px; }
@media only screen and (max-width: 780px) {
    section.cushion ul li:nth-child(1) h2, section.cushion ul li:nth-child(1) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.cushion ul li:nth-child(1) h1 {
        background-size: 25px 25px; } }
section.cushion ul li:nth-child(2):after {
    background-image: url(../img/content/parts/cushion/cushion_bg_2_pc.jpg); }
section.cushion ul li:nth-child(2) h2, section.cushion ul li:nth-child(2) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.cushion ul li:nth-child(2) h1 {
    background-image: url(../img/content/parts/cushion/cushion_icon_2.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 30px 30px; }
@media only screen and (max-width: 780px) {
    section.cushion ul li:nth-child(2) h2, section.cushion ul li:nth-child(2) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.cushion ul li:nth-child(2) h1 {
        background-size: 25px 25px; } }
section.cushion ul li a {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1; }
section.cushion ul li a:hover {
    color: #FFF; }
section.cushion ul li a:hover div.btn_w {
    background-color: #ba1313; }
section.cushion ul li figure {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center; }
@media only screen and (max-width: 580px) {
    section.cushion ul li figure {
        width: 80%; } }

.yt {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin: 15px 0; }

.yt iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

div.page section#ttl_head {
    background-image: url(../img/content/page/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.page section#ttl_head {
        background-image: url(../img/content/page/ttl_bg_sp.jpg); } }
div.page section.tile_content ul li:nth-child(1):after {
    background-image: url(../img/content/page/content_small_bg_01.jpg); }
div.page section.tile_content ul li:nth-child(2):after {
    background-image: url(../img/content/page/content_small_bg_02.jpg); }
div.page section.tile_content ul li:nth-child(3):after {
    background-image: url(../img/content/page/content_small_bg_03.jpg); }
div.page article.content_01 {
    background-image: url(../img/content/page/contents_01/sub_02_bg.jpg); }

div.front div#top_view {
    width: 100%;
    height: auto; }
div.front div#top_view ul.content li div.detail {
    width: 100%;
    height: 600px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
@media only screen and (max-width: 580px) {
    div.front div#top_view ul.content li div.detail {
        height: 400px; } }
div.front div#top_view ul.content li div.detail section {
    position: relative;
    width: 95%;
    height: 100%;
    margin: auto; }
div.front div#top_view ul.content li div.detail section article {
    width: 100%;
    position: absolute; }
div.front div#top_view ul.content li div.detail section article h1 {
    font-size: 42px;
    line-height: 1.5em;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7); }


div.front div#top_view ul.content li div.detail section article p {
    line-height: 1.5em; }


div.front div#top_view ul.content li div.detail a:link, div.front div#top_view ul.content li div.detail a:visited, div.front div#top_view ul.content li div.detail a:active, div.front div#top_view ul.content li div.detail a:hover {
    color: #FFF; }

div.front div#top_view ul.content li div.detail a:hover img {
    opacity: 1; }

div.front div#top_view ul.content li div.detail a div.btn_w {
    min-width: 300px; }

@media only screen and (max-width: 580px) {
    div.front div#top_view ul.content li div.detail a div.btn_w {
        min-width: 200px; } }

div.front div#top_view ul.content li div.detail a div.btn_w span {
    padding: 5px 10px 5px 25px;
    background-size: 20px 20px;
    background-position: left center;
    background-repeat: no-repeat; }

div.front div#top_view ul.content li div.detail a:hover div.btn_w {
    background-color: #ba1313; }

div.front div#top_view ul.content li div.detail article {
    top: 27%;
}

@media only screen and (max-width: 580px) {
    div.front div#top_view ul.content li div.detail article {
        top: 20%; }
}

div.front div#top_view ul.content li div.detail article img {
    width: 500px;
    height: auto;
    margin: 20px auto;
}

@media only screen and (max-width: 580px) {
    div.front div#top_view ul.content li div.detail article img {
        width: 90%;
        margin: 10px auto;
    }
}

div.front div#top_view ul.content li div.detail div.cv {
    width: 90%;
    position: absolute;
    bottom: 160px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    text-shadow: 0 0 10px #000;
}

@media only screen and (max-width: 580px) {
    div.front div#top_view ul.content li div.detail div.cv {
        bottom: 100px;
    }
}

div.front div#top_view ul.content li div.detail .movie_link {
    position: absolute;
    bottom: 50px;
    right: 50px;
    color: #fff;
    text-shadow: 0 0 10px #000;
}

div.front div#top_view ul.content li div.detail div.cv div.btn_w span {
    background-image: url(../img/common/header/doc_menu_1_w.svg); }
div.front div#top_view ul.content li div.detail div.cv p {
    padding: 15px 0 0 0;
}


div.front div#top_view ul.content li div.page1 {
    background-image: url(../img/content/front/top_view_bg1_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page1 {
        background-image: url(../img/content/front/top_view_bg1_sp.jpg); }
}

div.front div#top_view ul.content li div.page2 {
    background-image: url(../img/content/front/top_view_bg2_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page2 {
        background-image: url(../img/content/front/top_view_bg2_sp.jpg); }
}

div.front div#top_view ul.content li div.page3 {
    background-image: url(../img/content/front/top_view_bg3_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page3 {
        background-image: url(../img/content/front/top_view_bg3_sp.jpg); }
}

div.front div#top_view ul.content li div.page4 {
    background-image: url(../img/content/front/top_view_bg4_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page4 {
        background-image: url(../img/content/front/top_view_bg4_sp.jpg); }
}

div.front div#top_view ul.content li div.page5 {
    background-image: url(../img/content/front/top_view_bg5_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page5 {
        background-image: url(../img/content/front/top_view_bg5_sp.jpg); }
}

div.front div#top_view ul.content li div.page6 {
    background-image: url(../img/content/front/top_view_bg6_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page6 {
        background-image: url(../img/content/front/top_view_bg6_sp.jpg); }
}

div.front div#top_view ul.content li div.page7 {
    background-image: url(../img/content/front/top_view_bg7_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page7 {
        background-image: url(../img/content/front/top_view_bg7_sp.jpg); }
}

div.front div#top_view ul.content li div.page8 {
    background-image: url(../img/content/front/top_view_bg8_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page8 {
        background-image: url(../img/content/front/top_view_bg8_sp.jpg); }
}

div.front div#top_view ul.content li div.page9 {
    background-image: url(../img/content/front/top_view_bg9_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page9 {
        background-image: url(../img/content/front/top_view_bg9_sp.jpg); }
}

div.front div#top_view ul.content li div.page10 {
    background-image: url(../img/content/front/top_view_bg10_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page10 {
        background-image: url(../img/content/front/top_view_bg10_sp.jpg); }
}

div.front div#top_view ul.content li div.page11 {
    background-image: url(../img/content/front/top_view_bg11_pc.jpg);
}
@media only screen and (max-width: 780px) {
    div.front div#top_view ul.content li div.page11 {
        background-image: url(../img/content/front/top_view_bg11_sp.jpg); }
}




div.front main {
    width: 100%; }
div.front main section.type_block {
    width: 100%;
    height: auto;
    padding: 1px 0 0 0; }
div.front main section.type_block article {
    width: 50%;
    height: 380px;
    float: left;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center center; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article {
        width: 100%;
        height: 320px;
        border-left: none; } }
div.front main section.type_block article + article {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article + article {
        border-left: none;
        border-top: #FFFFFF 1px solid; } }
div.front main section.type_block article h1 {
    padding: 0 0 20px 0;
    display: inline-block; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article h1 {
        padding: 0 0 15px 0; } }
@media only screen and (max-width: 580px) {
    div.front main section.type_block article h1 {
        padding: 0 0 10px 0; } }
div.front main section.type_block article h1 a {
    padding: 0 40px 0 0;
    background-image: url(../img/common/arrow/link_arrow_w.svg);
    background-repeat: no-repeat;
    background-size: 25px 25px;
    background-position: right center; }
div.front main section.type_block article a {
    display: block; }
div.front main section.type_block article p {
    width: 75%;
    padding: 0 0 20px 0;
    margin: auto; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article p {
        padding: 0 0 15px 0; } }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article p br {
        display: none; } }
div.front main section.type_block article ul {
    width: 95%;
    max-width: 500px;
    margin: auto; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul {
        max-width: 300px; } }
div.front main section.type_block article ul li {
    width: 100%; }
div.front main section.type_block article ul li.head {
    text-align: left;
    border-bottom: #FFFFFF 1px solid; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul li.head {
        border-bottom: none; } }
div.front main section.type_block article ul li.head a {
    background-position: left center, right center;
    background-repeat: no-repeat, no-repeat;
    background-size: 30px 30px,15px 15px;
    padding: 15px 20px 15px 40px; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul li.head a {
        background-size: 25px 25px,15px 15px;
        padding: 10px 20px 10px 35px; } }
div.front main section.type_block article ul li.head a:hover {
    text-decoration: underline;
    color: #FFF; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul li br {
        display: none; } }
div.front main section.type_block article ul li ul {
    width: 100%;
    display: table;
    table-layout: fixed;
    padding: 20px 0 0 0; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul li ul {
        display: block;
        table-layout: inherit;
        padding: 0; } }
div.front main section.type_block article ul li ul li {
    width: auto;
    text-align: center;
    display: table-cell; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul li ul li {
        width: 100%;
        display: block;
        text-align: left;
        font-size: 15px; } }
@media only screen and (max-width: 580px) {
    div.front main section.type_block article ul li ul li {
        font-size: 14px; } }
div.front main section.type_block article ul li ul li a {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 40px 40px;
    padding: 50px 0 0 0; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul li ul li a {
        background-position: left center, right center;
        background-repeat: no-repeat, no-repeat;
        background-size: 25px 25px,15px 15px;
        padding: 10px 20px 10px 35px; } }
div.front main section.type_block article ul li ul li a:hover {
    text-decoration: underline;
    color: #FFF; }
div.front main section.type_block article ul li ul li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article ul li ul li + li {
        border-left: none; } }
div.front main section.type_block article:nth-child(1) {
    background-image: url(../img/content/front/corporation_bg_pc.jpg); }
div.front main section.type_block article:nth-child(1) h2, div.front main section.type_block article:nth-child(1) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front main section.type_block article:nth-child(1) h1 {
    background-image: url(../img/content/front/corporation_ttl_icon.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 30px 30px; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(1) h2, div.front main section.type_block article:nth-child(1) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front main section.type_block article:nth-child(1) h1 {
        background-image: url(../img/content/front/corporation_bg_sp.jpg);
        background-size: 25px 25px; } }
div.front main section.type_block article:nth-child(1) ul li.head a {
    background-image: url(../img/content/front/corporation_icon_1.svg), url(../img/common/arrow/btn_arrow_w.svg); }
div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(1) a {
    background-image: url(../img/content/front/corporation_icon_2.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(1) a {
        background-image: url(../img/content/front/corporation_icon_2.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(2) a {
    background-image: url(../img/content/front/corporation_icon_3.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(2) a {
        background-image: url(../img/content/front/corporation_icon_3.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(3) a {
    background-image: url(../img/content/front/corporation_icon_4.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(3) a {
        background-image: url(../img/content/front/corporation_icon_4.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(4) a {
    background-image: url(../img/content/front/corporation_icon_5.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(4) a {
        background-image: url(../img/content/front/corporation_icon_5.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(5) a {
    background-image: url(../img/content/front/corporation_icon_6.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(1) ul li ul li:nth-child(5) a {
        background-image: url(../img/content/front/corporation_icon_6.svg), url(../img/common/arrow/btn_arrow_w.svg); } }


div.front main section.type_block article:nth-child(2) {
    background-image: url(../img/content/front/service_bg_pc.jpg); }
div.front main section.type_block article:nth-child(2) h2, div.front main section.type_block article:nth-child(2) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front main section.type_block article:nth-child(2) h1 {
    background-image: url(../img/content/front/service_ttl_icon.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 30px 30px; }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(2) h2, div.front main section.type_block article:nth-child(2) div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front main section.type_block article:nth-child(2) h1 {
        background-image: url(../img/content/front/service_bg_sp.jpg);
        background-size: 25px 25px; } }
div.front main section.type_block article:nth-child(2) ul li.head a {
    background-image: url(../img/content/front/service_icon_1.svg), url(../img/common/arrow/btn_arrow_w.svg); }
div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(1) a {
    background-image: url(../img/content/front/service_icon_2.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(1) a {
        background-image: url(../img/content/front/service_icon_2.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(2) a {
    background-image: url(../img/content/front/service_icon_4.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(2) a {
        background-image: url(../img/content/front/service_icon_4.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(3) a {
    background-image: url(../img/content/front/service_icon_3.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(3) a {
        background-image: url(../img/content/front/service_icon_3.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(4) a {
    background-image: url(../img/content/front/service_icon_5.svg); }
@media only screen and (max-width: 780px) {
    div.front main section.type_block article:nth-child(2) ul li ul li:nth-child(4) a {
        background-image: url(../img/content/front/service_icon_5.svg), url(../img/common/arrow/btn_arrow_w.svg); } }
div.front main section.type_block article figure {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center; }
@media only screen and (max-width: 580px) {
    div.front main section.type_block article figure {
        width: 80%; } }
div.front section.news article {
    /* padding: 100px 0 50px 0; */
    padding: 30px 0 50px;
    text-align: center; }
@media only screen and (max-width: 780px) {
    div.front section.news article {
        padding: 30px 5%; } }
div.front section.news article ul.list {
    width: 100%;
    max-width: 900px;
    margin: auto;
    padding: 20px 0; }
@media only screen and (max-width: 580px) {
    div.front section.news article ul.list {
        padding: 10px 0 25px 0; } }
div.front section.news article ul.list li + li {
    border-top: #F0F0F0 1px solid; }
div.front section.news article ul.list li a {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 25px 25px;
    padding: 20px 50px 20px 20px; }
@media only screen and (max-width: 580px) {
    div.front section.news article ul.list li a {
        padding: 15px 25px 15px 5px;
        background-position: right center;
        background-size: 20px 20px; } }
div.front section.news article ul.list li a:link, div.front section.news article ul.list li a:visited, div.front section.news article ul.list li a:active {
    color: #555f84; }
div.front section.news article ul.list li a:hover {
    background-color: #f5f5f5; }
div.front section.news article ul.list li a dl {
    text-align: left; }
div.front section.news article ul.list li a dl dt {
    width: 20%;
    float: left;
    font-weight: bold;
    color: #444444; }
@media only screen and (max-width: 580px) {
    div.front section.news article ul.list li a dl dt {
        width: 30%; } }
div.front section.news article ul.list li a dl dd {
    width: 80%;
    float: left;
    padding: 0 0 0 10px; }
@media only screen and (max-width: 580px) {
    div.front section.news article ul.list li a dl dd {
        width: 70%; } }
div.front section.contents {
    background-color: #F5F5F5; }
div.front section.contents article {
    padding: 100px 0 50px 0;
    text-align: center; }
@media only screen and (max-width: 780px) {
    div.front section.contents article {
        padding: 30px 0; } }
div.front section.contents article ul.slider {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 30px 0; }
@media only screen and (max-width: 780px) {
    div.front section.contents article ul.slider {
        padding: 10px 0; } }
div.front section.contents article ul.slider li {
    text-align: left;
    padding: 0 20px; }
@media only screen and (max-width: 780px) {
    div.front section.contents article ul.slider li {
        padding: 0 10px; } }
div.front section.contents article ul.slider li h2, div.front section.contents article ul.slider li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front section.contents article ul.slider li h1 {
    padding: 0 25px 0 0;
    background-image: url(../img/common/arrow/btn_arrow.svg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 15px 15px;
    display: inline; }
@media only screen and (max-width: 780px) {
    div.front section.contents article ul.slider li h2, div.front section.contents article ul.slider li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.front section.contents article ul.slider li h1 {
        background-size: 15px 15px; } }
div.front section.contents article ul.slider li p {
    padding: 5px 0 20px 0; }
div.front section.contents article ul.block {
    max-width: 500px;
    display: table;
    table-layout: fixed; }
div.front section.contents article ul.block li {
    display: table-cell; }
div.front section.ad_area {
    padding: 20px 0 40px 0; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area {
        padding: 20px 0 30px 0; } }
div.front section.ad_area article {
    padding: 0 80px; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article {
        padding: 0 !important;
        width: 100%; } }
div.front section.ad_area article h1 {
    text-align: center;
    font-size: 30px;
    padding-bottom: 10px; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article h1 {
        font-size: 24px;
        padding-bottom: 10px; } }
div.front section.ad_area article ul li {
    padding: 5px; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article ul li {
        padding: 0; } }
div.front section.ad_area article ul .slick-prev,
div.front section.ad_area article ul .slick-next {
    width: 10%;
    height: 100%;
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 50px 50px; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article ul .slick-prev,
    div.front section.ad_area article ul .slick-next {
        background-size: 30px 30px; } }
div.front section.ad_area article ul .slick-prev:before,
div.front section.ad_area article ul .slick-next:before {
    content: ""; }
div.front section.ad_area article ul .slick-prev {
    left: -100px;
    background-image: url(../img/common/arrow/slide_arrow_1_c.svg); }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article ul .slick-prev {
        left: 20px; } }
div.front section.ad_area article ul .slick-next {
    right: -100px;
    background-image: url(../img/common/arrow/slide_arrow_2_c.svg); }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article ul .slick-next {
        right: 20px; } }
div.front section.ad_area article ul .slick-arrow {
    z-index: 10; }
div.front section.ad_area article ul .slick-dots {
    bottom: -30px; }
div.front section.ad_area article ul .slick-dots li {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ddd; }
div.front section.ad_area article ul .slick-dots li:hover, div.front section.ad_area article ul .slick-dots li.slick-active {
    background-color: #ed1c24; }
div.front section.ad_area article ul .slider {
    width: 90%;
    margin: 0 auto 80px; }
div.front section.ad_area article ul .slick-slide img {
    width: 100%;
    height: auto; }
div.front section.ad_area article ul .slick-slide {
    position: relative;
    margin: 5px; }
div.front section.ad_area article ul .slick-slide a {
    display: block;
    width: 100%;
    height: 100%; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article ul .slick-slide:not(.slick-center) {
        position: relative;
        width: 100%;
        height: 100%; }
    div.front section.ad_area article ul .slick-slide:not(.slick-center):before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6); } }
div.front section.ad_area article a img {
    width: 100%;
    height: auto; }
div.front section.ad_area article.usami_site_link {
    margin-top: 70px;
    padding: 50px 30px 30px 30px!important;
    background-color: #f0f0f0; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article.usami_site_link {
        padding: 30px 0!important;
        width: 100%;
        margin-top: 30px; } }
div.front section.ad_area article.usami_site_link h1 {
    text-align: center;
    font-size: 30px;
    margin-top: -70px;
    padding-bottom: 20px; }
@media only screen and (max-width: 780px) {
    div.front section.ad_area article.usami_site_link h1 {
        font-size: 24px;
        margin-top: 0;
        padding-bottom: 10px; } }
div.front section.usami_site_slider article ul li {
    padding: 0 5px; }
@media only screen and (max-width: 780px) {
    div.front section.usami_site_slider article ul li {
        padding: 0; } }
div.front section.usami_site_slider article ul li img {
    width: 100%;
    height: auto; }
div.front section.usami_site_slider article ul .slick-prev,
div.front section.usami_site_slider article ul .slick-next {
    width: 10%;
    height: 100%;
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 50px 50px; }
@media only screen and (max-width: 780px) {
    div.front section.usami_site_slider article ul .slick-prev,
    div.front section.usami_site_slider article ul .slick-next {
        background-size: 30px 30px; } }
div.front section.usami_site_slider article ul .slick-prev:before,
div.front section.usami_site_slider article ul .slick-next:before {
    content: ""; }
div.front section.usami_site_slider article ul .slick-prev {
    left: -100px;
    background-image: url(../img/common/arrow/slide_arrow_1_c.svg); }
@media only screen and (max-width: 780px) {
    div.front section.usami_site_slider article ul .slick-prev {
        left: 20px; } }
div.front section.usami_site_slider article ul .slick-next {
    right: -100px;
    background-image: url(../img/common/arrow/slide_arrow_2_c.svg); }
@media only screen and (max-width: 780px) {
    div.front section.usami_site_slider article ul .slick-next {
        right: 20px; } }
div.front section.usami_site_slider article ul .slick-arrow {
    z-index: 10; }
div.front section.usami_site_slider article ul .slick-dots {
    bottom: -30px; }
div.front section.usami_site_slider article ul .slick-dots li {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ddd; }
div.front section.usami_site_slider article ul .slick-dots li:hover, div.front section.usami_site_slider article ul .slick-dots li.slick-active {
    background-color: #ed1c24; }
div.front section.usami_site_slider article ul .slider {
    width: 90%;
    margin: 0 auto 80px; }
div.front section.usami_site_slider article ul .slick-slide img {
    width: 100%;
    height: auto; }
div.front section.usami_site_slider article ul .slick-slide {
    position: relative;
    margin: 5px; }
div.front section.usami_site_slider article ul .slick-slide a {
    display: block;
    width: 100%;
    height: 100%; }
@media only screen and (max-width: 780px) {
    div.front section.usami_site_slider article ul .slick-slide:not(.slick-center) {
        position: relative;
        width: 100%;
        height: 100%; }
    div.front section.usami_site_slider article ul .slick-slide:not(.slick-center):before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6); } }

section.toptopics article ul.list li a dl:after {
    content: ".";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden; }

div.front section.toptopics article ul.list li a dl:after {
    display: inline-block; }

div.front section.toptopics article ul.list li a dl:after {
    display: block; }

div.front section.toptopics article ul.list li a {
    width: 100%;
    height: auto;
    display: block; }

div.front section.toptopics article {
    padding: 100px 0 50px 0;
    text-align: center; }

@media only screen and (max-width: 780px) {
    div.front section.toptopics article {
        padding: 30px 5%; } }
div.front section.toptopics article ul.list {
    width: 100%;
    max-width: 900px;
    margin: auto;
    padding: 50px 0; }

@media only screen and (max-width: 580px) {
    div.front section.toptopics article ul.list {
        padding: 10px 0 25px 0; } }
div.front section.toptopics article ul.list li + li {
    border-top: #f0f0f0 1px solid; }

div.front section.toptopics article ul.list li a {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 25px 25px;
    padding: 20px 50px 20px 20px; }

@media only screen and (max-width: 580px) {
    div.front section.toptopics article ul.list li a {
        padding: 15px 25px 15px 5px;
        background-position: right center;
        background-size: 20px 20px; } }
div.front section.toptopics article ul.list li a:link, div.front section.toptopics article ul.list li a:visited, div.front section.toptopics article ul.list li a:active {
    color: #555f84; }

div.front section.toptopics article ul.list li a:hover {
    background-color: #f5f5f5; }

div.front section.toptopics article ul.list li a dl {
    text-align: left; }

div.front section.toptopics article ul.list li a dl dt {
    width: 20%;
    float: left;
    font-weight: bold;
    color: #444; }

@media only screen and (max-width: 580px) {
    div.front section.toptopics article ul.list li a dl dt {
        width: 30%; } }
div.front section.toptopics article ul.list li a dl dd {
    width: 80%;
    float: left;
    padding: 0 0 0 10px; }

@media only screen and (max-width: 580px) {
    div.front section.toptopics article ul.list li a dl dd {
        width: 70%; } }
@media only screen and (max-width: 780px) {
    section.toptopics {
        padding: 0 10px; } }
div.company section#ttl_head {
    background-image: url(../img/content/company/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.company section#ttl_head {
        background-image: url(../img/content/company/ttl_bg_sp.jpg); } }
div.company section.tile_content ul li:nth-child(1):after {
    background-image: url(../img/content/company/content_small_bg_01.jpg); }
div.company section.tile_content ul li:nth-child(2):after {
    background-image: url(../img/content/company/content_small_bg_02.jpg); }
div.company section.tile_content ul li:nth-child(3):after {
    background-image: url(../img/content/company/content_small_bg_03.jpg); }
div.company article.content_01 {
    background-image: url(../img/content/company/contents_01/sub_02_bg.jpg); }
div.company div.message .name {
    width: 100%;
    padding: 0 5% 0 0;
    overflow: hidden; }
div.company div.message .name img {
    max-width: 280px;
    float: right; }
div.company table a {
    color: #ba1313;
    padding-right: 30px;
    background: url(../img/common/arrow/external_link.svg) no-repeat right center;
    background-size: 16px 16px; }
@media only screen and (max-width: 580px) {
    div.company table a {
        background-size: 12px 12px; } }
div.company table .btn a {
    color: #fff;
    padding-right: 0;
    background: none; }
div.company table p {
    margin-bottom: 20px; }
div.company ul.company_group_link li {
    display: inline-block; }
div.company ul.company_group_link li:first-child {
    padding-right: 10px; }
@media only screen and (max-width: 580px) {
    div.company ul.company_group_link li:first-child {
        margin-bottom: 10px;
        padding-right: 0; } }
@media only screen and (max-width: 580px) {
    div.company ul.company_group_link li {
        display: block; } }
div.company h1.engineering_h1 {
    font-size: 32px; }
@media only screen and (max-width: 580px) {
    div.company h1.engineering_h1 {
        font-size: 24px; } }
div.company div.history ul.history_list {
    width: 100%; display: flex; flex-direction: row; }
@media only screen and (max-width: 580px) {
    div.company div.history ul.history_list {
        flex-direction: column; } }
@media only screen and (max-width: 580px) {
    div.company div.history ul.history_list li {
        width: 100%; } }
div.company div.history ul.history_list li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.company div.history ul.history_list li + li {
        border-left: none;
        border-top: #FFFFFF 1px solid; } }
div.company div.history ul.history_list li:nth-child(1) a {
    background-color: rgba(85, 95, 131, 0.4); }
div.company div.history ul.history_list li:nth-child(2) a {
    background-color: rgba(85, 95, 131, 0.5); }
div.company div.history ul.history_list li:nth-child(3) a {
    background-color: rgba(85, 95, 131, 0.7); }
div.company div.history ul.history_list li:nth-child(4) a {
    background-color: rgba(85, 95, 131, 0.8); }
div.company div.history ul.history_list li:nth-child(5) a {
    background-color: #555f83; }
div.company div.history ul.history_list li a {
    background-image: url(../img/common/arrow/link_arrow_w.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 25px 25px;
    padding: 20px 50px 20px 20px;
    color: #fff;
    font-weight: bold; }
@media only screen and (max-width: 580px) {
    div.company div.history ul.history_list li a {
        padding: 15px 40px 15px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
div.company div.history ul.history_list li a:hover {
    background-color: #ba1313; }
div.company div.history ul.history_list02 {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: -webkit-wrap;
    flex-wrap: -moz-wrap;
    flex-wrap: -ms-wrap;
    flex-wrap: -o-wrap;
    flex-wrap: wrap; }
div.company div.history ul.history_list02 li {
    width: 25%;
    border: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.company div.history ul.history_list02 li {
        width: 50%; } }
div.company div.history ul.history_list02 li a {
    background-color: #F0F0F0;
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 20px 20px;
    padding: 10px 50px 10px 20px;
    font-weight: bold; }
@media only screen and (max-width: 580px) {
    div.company div.history ul.history_list02 li a {
        padding: 15px 40px 15px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
@media only screen and (max-width: 780px) {
    div.company div.history .scroll {
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap; }
    div.company div.history .scroll::-webkit-scrollbar {
        height: 5px; }
    div.company div.history .scroll::-webkit-scrollbar-track {
        background: #F0F0F0; }
    div.company div.history .scroll::-webkit-scrollbar-thumb {
        background: #ba1313; } }
div.company div.history table.history_tbl th {
    width: 10%;
    background-color: rgba(85, 95, 131, 0.4);
    border-bottom: #FFFFFF 1px solid;
    vertical-align: middle; }
@media only screen and (max-width: 780px) {
    div.company div.history table.history_tbl th {
        width: 10%;
        background-color: rgba(85, 95, 131, 0.4);
        border-bottom: #FFFFFF 1px solid;
        display: table-cell; } }
div.company div.history table.history_tbl td {
    background-color: #fff;
    border-bottom: #F0F0F0 1px solid;
    vertical-align: middle; }
@media only screen and (max-width: 780px) {
    div.company div.history table.history_tbl td {
        width: auto;
        background-color: #fff;
        border-bottom: #F0F0F0 1px solid;
        display: table-cell; } }
div.company div.history table.history_tbl td.history_tbl_pic {
    width: 180px;
    background-color: #F0F0F0;
    vertical-align: top; }
@media only screen and (max-width: 780px) {
    div.company div.history table.history_tbl td.history_tbl_pic {
        width: 180px;
        background-color: #F0F0F0; } }
div.company div.history table.history_tbl td.history_tbl_pic p {
    font-size: 12px;
    width: 180px;
    white-space: normal; }
div.company div.history table.history_tbl td.history_tbl_pic p span {
    display: block;
    font-weight: 700; }
div.company div.history table.history_tbl td.history_tbl_pic img {
    width: 100%;
    margin-bottom: 5px; }
div.company div.movie ul.movie_list {
    overflow: hidden; }
div.company div.movie ul.movie_list li {
    width: 50%;
    float: left;
    border: #FFFFFF 1px solid; }
@media only screen and (max-width: 780px) {
    div.company div.movie ul.movie_list li {
        width: 100%;
        float: none; } }
div.company div.movie ul.movie_list li a {
    background-color: #F0F0F0;
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 25px 25px;
    padding: 20px 50px 20px 20px;
    font-weight: bold; }
@media only screen and (max-width: 580px) {
    div.company div.movie ul.movie_list li a {
        padding: 15px 40px 15px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
div.company div.movie div.movie_box {
    position: relative;
    width: 100%;
    padding-top: 56.25%; }
div.company div.movie div.movie_box img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }
div.company div.organization {
    margin-top: 20px;
    width: 100%; }
div.company div.organization ul li {
    display: inline-block;
}
div.company div.organization ul li a {
    margin: 0 10px 10px 0;
    padding: 10px 10px 10px 30px;
    color: #fff;
    font-weight: 500;
    background-color: #555f84;
    background-image: url(../img/common/arrow/btn_arrow_w.svg);
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: left 10px center;
    display: block;
}
div.company div.organization ul li a .link_icon {
    background-image: url(../img/orga/arrow/btn_arrow_w.svg);
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: left 10px center;
    padding-left: 30px;
    margin-left: 10px;
}

/* 20241128追記 */
div.company .group-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

div.company .group-list a {
    display: inline-flex;
    align-items: center;
    padding: 10px 30px 10px 10px;
    justify-content: center;
    text-decoration: none;
    background-color: #555f84;
    position: relative;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}

div.company .group-list a:hover {
    opacity: 0.7;
}

div.company .group-list a.link-page {
    background-image: url(../img/content/company/organization/icon_link.svg);
    background-size: 13px 13px;
    background-position: right 10px center;
    background-repeat: no-repeat;
}

div.company div.group-list a.link-blank {
    background-image: url(../img/content/company/organization/icon_link_blank.svg);
    background-size: 13px 13px;
    background-position: right 10px center;
    background-repeat: no-repeat;
}

div.company div.group-list button {
    all: unset; /* デフォルトのスタイルをリセット */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #555f84;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    padding: 10px;
    cursor: default;
    transition: background-color 0.3s;
    text-align: center;
}

div.company div.group-list br.hide_pc {
    display: none;
}

@media screen and (max-width: 780px) {
    div.company .group-list a {
        font-size: 12px;
    }
    div.company .group-list a.link-page {
        background-size: 12px 12px;
    }
    div.company div.group-list a.link-blank {
        background-size: 12px 12px;
    }
    div.company div.group-list button {
        font-size: 12px;
    }
    div.company div.group-list br.hide_pc {
        display: block;
    }
}


@media screen and (max-width: 780px) {
    div.company div.organization ul li a .link_icon {
        background: none;
        padding-left: 0;
        margin: 0;
        display: block;
    }
}
div.company div.organization ul li a:hover {
/*    color: #ba1313;*/
    background-color: #313131; }
div.company div.organization table {
    width: 100%;
    margin: 40px 0 0;
    border-top: 1px solid #F0F0F0;
    border-right: 1px solid #F0F0F0;
    border-collapse: collapse; }
@media screen and (max-width: 780px) {
    div.company div.organization table {
        border: none; } }
@media screen and (max-width: 780px) {
    div.company div.organization table thead {
        display: none; } }
@media screen and (max-width: 780px) {
    div.company div.organization table tr {
        border-top: 1px solid #F0F0F0;
        display: block;
        margin-bottom: 20px;
        background: #fff; } }
div.company div.organization table th {
    border-left: 1px solid #F0F0F0;
    border-bottom: 1px solid #F0F0F0;
    padding: 10px;
    background: #eee;
    text-align: left; }
div.company div.organization table td {
    border-left: 1px solid #F0F0F0;
    border-bottom: 1px solid #F0F0F0;
    padding: 10px; }
@media screen and (max-width: 780px) {
    div.company div.organization table td {
        border-right: 1px solid #F0F0F0;
        border-bottom: 1px solid #F0F0F0;
        display: block;
        padding: 10px;
        text-align: right; } }
@media screen and (max-width: 780px) {
    div.company div.organization table td::before {
        content: attr(data-label);
        float: left;
        font-weight: bold; } }
@media screen and (max-width: 780px) {
    div.company div.organization_image {
        overflow: auto;
    }
    div.company div.organization_image figcaption {
        width: 130%;
        margin-right: 5px;
    }
}

div.ss section#ttl_head {
    background-image: url(../img/content/ss/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.ss section#ttl_head {
        background-image: url(../img/content/ss/ttl_bg_sp.jpg); } }
div.ss main {
    width: 100%;
    max-width: 1200px; }
div.ss main section article h1 br {
    display: none; }
@media only screen and (max-width: 780px) {
    div.ss main section article h1 br {
        display: block; } }
div.ss main section article strong {
    font-weight: 700; }
div.ss section.tile_content ul li:nth-child(1):after {
    background-image: url(../img/content/ss/content_small_bg_01.jpg); }
div.ss section.tile_content ul li:nth-child(2):after {
    background-image: url(../img/content/ss/content_small_bg_02.jpg); }
div.ss section.tile_content ul li:nth-child(3):after {
    background-image: url(../img/content/ss/content_small_bg_03.jpg); }
div.ss article.content_01_service {
    background-image: url(../img/content/ss/service/sub_02_bg.jpg); }
div.ss article.content_01_eco_cng {
    background-image: url(../img/content/ss/truckstation/eco_cng/sub_01_bg.jpg); }
div.ss ul.maintenance_box {
    width: 100%; }
div.ss ul.maintenance_box li {
    width: 25%;
    min-height: 300px;
    float: left;
    padding: 0 5px; }
@media only screen and (max-width: 1200px) {
    div.ss ul.maintenance_box li {
        min-height: 350px; } }
@media only screen and (max-width: 780px) {
    div.ss ul.maintenance_box li {
        width: 50%;
        min-height: 240px; } }
@media only screen and (max-width: 580px) {
    div.ss ul.maintenance_box li {
        width: 100%;
        min-height: auto;
        padding: 0; } }
div.ss ul.maintenance_box dl {
    margin: 0; }
@media only screen and (max-width: 580px) {
    div.ss ul.maintenance_box dl {
        min-height: auto; } }
div.ss ul.maintenance_box dl dt {
    padding: 15px 0 0;
    text-align: center;
    background: #ba1313; }
@media only screen and (max-width: 580px) {
    div.ss ul.maintenance_box dl dt {
        padding: 10px 0 0; } }
div.ss ul.maintenance_box dl dt h2, div.ss ul.maintenance_box div.article section.front_content dl.frame dt dd div.detail h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dt dd div.detail h1, div.ss ul.maintenance_box div.article section.front_content dl.frame dd div.detail dt h1, div.article section.front_content div.ss ul.maintenance_box dl.frame dd div.detail dt h1 {
    color: #fff; }
div.ss ul.maintenance_box dl dd {
    padding: 20px 10px; }
@media only screen and (max-width: 580px) {
    div.ss ul.maintenance_box dl dd {
        padding: 15px 0 20px 0; } }
div.ss ul.pickup_box li dl dd div.btn {
    margin: 10px 0 0 0; }
div.ss dl.dl_box {
    width: 100%;
    margin: 30px 0;
    padding: 20px;
    background: #F0F0F0;
    overflow: hidden; }
div.ss dl.dl_box dt {
    margin: 0 0 10px;
    padding: 0;
    font-weight: 700; }
div.ss dl.dl_box dd {
    margin: 0;
    padding: 0 0 10px 0; }
div.ss dl.dl_box dd a {
    text-decoration: underline; }
div.ss ul.dl_link {
    width: 100%; }
div.ss ul.dl_link li {
    padding-right: 10px;
    display: table-cell; }
@media only screen and (max-width: 580px) {
    div.ss ul.dl_link li {
        margin-bottom: 10px;
        display: block; } }
div.ss dl.dl_install {
    width: 100%;
    padding: 20px 0 0; }
div.ss dl.dl_install dt {
    margin-right: 20px;
    float: left; }
@media only screen and (max-width: 580px) {
    div.ss dl.dl_install dt {
        float: none; } }
div.ss dl.dl_install dd a {
    text-decoration: underline; }
div.ss div.btn_download {
    min-width: 240px;
    border: #555f84 1px solid;
    margin: auto;
    display: inline-block;
    text-align: center; }
@media only screen and (max-width: 580px) {
    div.ss div.btn_download {
        display: block; } }
div.ss div.btn_download:hover {
    background: #fff; }
div.ss div.btn_download a {
    display: block;
    padding: 15px 0; }
div.ss div.btn_download span {
    padding: 0 25px 0 10px;
    background-image: url(../img/common/arrow/btn_arrow_dl.svg);
    background-size: 17px 17px;
    background-position: right center;
    background-repeat: no-repeat; }
div.ss ul.txt_doc {
    margin: 30px 0; }

div.corporation section#ttl_head {
    background-image: url(../img/content/corporation/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.corporation section#ttl_head {
        background-image: url(../img/content/corporation/ttl_bg_sp.jpg); } }
div.corporation main {
    width: 100%;
    max-width: 1200px; }

div.info_c section#ttl_head {
    background-image: url(../img/content/corporation/info/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.info_c section#ttl_head {
        background-image: url(../img/content/corporation/info/ttl_bg_sp.jpg); } }
div.info_c section.tile_content ul li:nth-child(1):after {
    background-image: url(../img/content/corporation/info/content_small_bg_01.jpg); }
div.info_c section.tile_content ul li:nth-child(2):after {
    background-image: url(../img/content/corporation/info/content_small_bg_02.jpg); }
div.info_c section.tile_content ul li:nth-child(3):after {
    background-image: url(../img/content/corporation/info/content_small_bg_03.jpg); }
div.info_c ul.chart {
    width: 100%;
    display: table;
    table-layout: fixed; }
@media only screen and (max-width: 780px) {
    div.info_c ul.chart {
        display: block;
        table-layout: inherit; } }
div.info_c ul.chart li {
    display: table-cell; }
@media only screen and (max-width: 780px) {
    div.info_c ul.chart li {
        width: 100%;
        display: block;
        border-bottom: #FFFFFF 1px solid; } }
div.info_c ul.chart li span {
    display: block; }
@media only screen and (max-width: 780px) {
    div.info_c ul.chart li span {
        display: inline-block;
        padding: 0 10px 0 0; } }
div.info_c ul.chart li a {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-color: #F0F0F0;
    background-size: 25px 25px;
    padding: 10px 40px 10px 20px;
    font-weight: bold; }
@media only screen and (max-width: 780px) {
    div.info_c ul.chart li a {
        background-image: url(../img/common/arrow/link_arrow_down.svg);
        padding: 15px 40px 15px 15px;
        background-position: right 15px center;
        background-size: 20px 20px; } }
div.info_c ul.chart li a:hover {
    background-color: #FFFFFF; }
div.info_c ul.chart li:last-child a {
    background-image: none; }
@media only screen and (max-width: 780px) {
    div.info_c ul.chart li:last-child a {
        background-image: url(../img/common/arrow/link_arrow_down.svg); } }
div.info_c article.content_01 {
    background-image: url(../img/content/corporation/truck/road_service/sub_01_bg.jpg); }
div.info_c section.center {
    text-align: center; }
div.info_c section.center div.btn {
    margin: 0 auto 20px auto; }
div.info_c table.shop_list_table {
    width: 95%;
    margin: 0;
    border-collapse: collapse; }
@media only screen and (max-width: 780px) {
    div.info_c table.shop_list_table {
        width: 100%; } }
div.info_c table.shop_list_table thead th {
    width: 25% !important;
    padding: 10px;
    color: #fff;
    background: #ba1313; }
@media only screen and (max-width: 780px) {
    div.info_c table.shop_list_table thead th {
        display: none; } }
@media only screen and (max-width: 780px) {
    div.info_c table.shop_list_table tbody tr {
        display: block;
        margin-bottom: 10px;
        width: 100% !important;
        border: 1px solid #F0F0F0; } }
div.info_c table.shop_list_table tbody th {
    width: 25% !important;
    text-align: left;
    padding: 10px;
    border: 1px solid #fff;
    background: #F0F0F0;
    vertical-align: middle; }
@media only screen and (max-width: 780px) {
    div.info_c table.shop_list_table tbody th {
        display: block;
        width: 100% !important;
        border: none; } }
div.info_c table.shop_list_table tbody td {
    width: 25% !important;
    text-align: left;
    padding: 10px;
    border: 1px solid #fff;
    vertical-align: middle; }
@media only screen and (max-width: 780px) {
    div.info_c table.shop_list_table tbody td {
        display: list-item;
        list-style: none;
        width: 100% !important;
        border: none;
        background: #fff; } }
div.info_c table.shop_list_table tbody td a:link {
    text-decoration: underline; }

div.truck section#ttl_head {
    background-image: url(../img/content/corporation/truck/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.truck section#ttl_head {
        background-image: url(../img/content/corporation/truck/ttl_bg_sp.jpg); } }
div.truck section.tile_content ul li:nth-child(1):after {
    background-image: url(../img/content/corporation/truck/content_small_bg_01.jpg); }
div.truck section.tile_content ul li:nth-child(2):after {
    background-image: url(../img/content/corporation/truck/content_small_bg_02.jpg); }
div.truck section.tile_content ul li:nth-child(3):after {
    background-image: url(../img/content/corporation/truck/content_small_bg_03.jpg); }
div.truck section.center {
    text-align: center; }
div.truck section.center div.btn {
    margin: 0 auto 20px auto; }
div.truck ul.pickup_detail_box {
    width: 100%;
    display: inline-block;
    letter-spacing: -.40em;
    text-align: left; }
div.truck ul.pickup_detail_box li.layout {
    width: 50%;
    padding: 0 !important;
    letter-spacing: normal;
    vertical-align: top;
    display: inline-block; }
@media only screen and (max-width: 580px) {
    div.truck ul.pickup_detail_box li.layout {
        width: 100%; } }
div.truck ul.pickup_detail_box li.layout + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.truck ul.pickup_detail_box li.layout + li {
        border-left: none;
        border-top: #FFFFFF 20px solid; } }
div.truck ul.pickup_detail_box li.layout ul li {
    width: auto;
    height: auto;
    float: none; }
@media only screen and (max-width: 580px) {
    div.truck ul.pickup_detail_box li.layout ul li {
        border-left: none;
        border-top: none; } }
div.truck ul.pickup_detail_box li.layout ul li + li {
    border-left: none; }
div.truck ul.pickup_detail_box li.layout ul a h2, div.truck ul.pickup_detail_box li.layout ul a div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.truck ul.pickup_detail_box li.layout ul a h1 {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 20px 20px;
    padding: 0 30px 0 0;
    display: inline; }
@media only screen and (max-width: 580px) {
    div.truck ul.pickup_detail_box li.layout ul a h2, div.truck ul.pickup_detail_box li.layout ul a div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.truck ul.pickup_detail_box li.layout ul a h1 {
        padding: 0 25px 0 0;
        background-position: right center;
        background-size: 15px 15px; } }
div.truck ul.pickup_detail_box li.layout ul.txt_doc li {
    padding: 0 0 15px 0;
    font-weight: bold; }
div.truck ul.pickup_detail_box li.layout ul.txt_doc li p {
    font-weight: normal;
    padding: 5px 0 0 0; }
div.truck ul.pickup_detail_box li.layout dl dt {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
    padding: 56% 0 0 0; }
@media only screen and (max-width: 580px) {
    div.truck ul.pickup_detail_box li.layout dl dt {
        padding: 0; } }
div.truck ul.pickup_detail_box li.layout dl dt img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out; }
@media only screen and (max-width: 580px) {
    div.truck ul.pickup_detail_box li.layout dl dt img {
        position: static; } }
div.truck ul.pickup_detail_box li.layout dl:hover dt img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
div.truck ul.pickup_detail_box li.layout dl dd {
    padding: 10px; }
div.truck ul.pickup_detail_box li.layout dl dd p {
    padding: 0; }
div.truck article.content_01 {
    background-image: url(../img/content/ss/truckstation/eco_cng/sub_01_bg.jpg); }
div.truck section.center {
    text-align: center; }
div.truck section.center div.btn {
    margin: 0 auto 20px auto; }
div.truck span.asterisk {
    font-size: 10px; }
div.truck ul.asterisk_txt {
    color: #ba1313;
    font-size: 12px; }
div.truck ul.truck_how {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8; }
div.truck ul.truck_how li {
    margin-bottom: 30px; }
div.truck strong {
    font-weight: 700; }
div.truck ul.truck_list li {
    width: 50%;
    float: left;
    border: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.truck ul.truck_list li {
        width: 100%;
        float: none; } }
div.truck ul.truck_list li a {
    background-color: #ba1313;
    background-image: url(../img/common/arrow/link_arrow_w.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 25px 25px;
    padding: 20px 50px 20px 20px;
    color: #fff;
    font-weight: bold; }
@media only screen and (max-width: 580px) {
    div.truck ul.truck_list li a {
        padding: 15px 40px 15px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
div.truck ul.truck_list li a:hover {
    color: #ba1313;
    background-color: #F0F0F0; }
div.truck ul.truck_products {
    overflow: hidden; }
div.truck ul.truck_products li {
    width: 50%;
    float: left;
    margin: 5px 0;
    list-style: disc;
    list-style-position: inside; }
@media only screen and (max-width: 580px) {
    div.truck ul.truck_products li {
        width: 100%;
        float: none; } }
div.truck ul.truck_products li br {
    display: none; }
@media only screen and (max-width: 580px) {
    div.truck ul.truck_products li br {
        display: block; } }

div.co_card section#ttl_head {
    background-image: url(../img/content/corporation/card/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.co_card section#ttl_head {
        background-image: url(../img/content/corporation/card/ttl_bg_sp.jpg); } }
div.co_card main section article h1 span.card_small {
    font-size: 20px;
    display: block; }
div.co_card section.contents_detail article figure.box_l img {
    padding: 0 60px 0 0; }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article figure.box_l img {
        padding: 0 0 20px 0; } }
div.co_card section.contents_detail article figure.box_l figcaption h3 {
    border-bottom: 1px solid #dcdcdc; }
div.co_card section.contents_detail article figure.box_r img {
    padding: 0 0 0 60px; }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article figure.box_r img {
        padding: 0 0 20px 0; } }
div.co_card section.contents_detail article ul.pickup_box_card {
    width: 100%;
    display: inline-block;
    letter-spacing: -.40em; }
div.co_card section.contents_detail article ul.pickup_box_card li {
    width: 50%;
    height: 390px;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top;
    background-color: #ECECEC; }
div.co_card section.contents_detail article ul.pickup_box_card li:first-child {
    margin: 0 1px 0 0; }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article ul.pickup_box_card li {
        width: 100%;
        height: auto;
        margin: 0;
        border-top: #F6F6F6 20px solid; } }
div.co_card section.contents_detail article ul.pickup_box_card li dl {
    width: 100%; }
div.co_card section.contents_detail article ul.pickup_box_card li dl dt {
    width: 100%;
    height: auto;
    display: inline-block; }
div.co_card section.contents_detail article ul.pickup_box_card li dl dt img {
    max-width: 100%;
    width: 100%; }
div.co_card section.contents_detail article ul.pickup_box_card li dl dd {
    display: inline-block;
    padding: 20px; }
div.co_card section.contents_detail article ul.corporation_card_link li {
    display: inline-block; }
div.co_card section.contents_detail article ul.corporation_card_link li:first-child {
    padding-right: 10px; }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article ul.corporation_card_link li:first-child {
        padding-right: 0; } }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article ul.corporation_card_link li {
        display: block; } }
div.co_card section.contents_detail article div.gray_area {
    width: 100%;
    margin: 30px 0;
    padding: 20px;
    background: #F0F0F0;
    overflow: hidden; }
div.co_card section.contents_detail article div.gray_area div.gray_area_left {
    width: 50%;
    margin-bottom: 15px;
    float: left; }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article div.gray_area div.gray_area_left {
        width: 100%;
        float: none; } }
div.co_card section.contents_detail article div.gray_area div.gray_area_left span {
    font-size: 18px; }
div.co_card section.contents_detail article div.gray_area div.gray_area_right {
    width: 50%;
    float: right;
    padding-top: 20px; }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article div.gray_area div.gray_area_right {
        width: 100%;
        float: none;
        padding: 10px 0; } }
div.co_card section.contents_detail article div.gray_area div.gray_area_right strong {
    font-size: 30px;
    font-weight: 700; }
@media only screen and (max-width: 780px) {
    div.co_card section.contents_detail article div.gray_area div.gray_area_right strong {
        font-size: 24px; } }
div.co_card section.contents_detail article div.gray_area div.btn {
    min-width: 290px;
    margin: 20px 0 0 0; }
@media only screen and (max-width: 580px) {
    div.co_card section.contents_detail article div.gray_area div.btn {
        min-width: auto;
        display: block; } }
div.co_card section.contents_detail article.content_01 {
    background-image: url(../img/content/corporation/card/sub_02_bg.jpg); }
div.co_card section.contents_detail strong {
    font-weight: 700; }
div.co_card section.contents_detail dl dt {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-weight: 700;
    border-bottom: 1px solid #F0F0F0; }
div.co_card section.contents_detail dl dd {
    margin-bottom: 30px; }

section.center {
    text-align: center; }
section.center div.btn {
    margin: auto; }

ul.carshare_pickup_box {
    width: 100%;
    display: inline-block;
    letter-spacing: -.40em; }
ul.carshare_pickup_box li {
    width: 25%;
    letter-spacing: normal;
    vertical-align: top;
    display: inline-block; }
@media only screen and (max-width: 780px) {
    ul.carshare_pickup_box li {
        width: 50%;
        padding: 0 5px; } }
@media only screen and (max-width: 580px) {
    ul.carshare_pickup_box li {
        width: 100%;
        padding: 0; } }
ul.carshare_pickup_box li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    ul.carshare_pickup_box li + li {
        border-left: none; } }
ul.carshare_pickup_box li dl dt {
    width: 100%; }
ul.carshare_pickup_box li dl dt img {
    width: 70%;
    height: auto;
    margin: auto; }
ul.carshare_pickup_box li dl dd {
    padding: 0 0 40px 0; }
ul.carshare_pickup_box li dl dd h2.carshare_ttl, ul.carshare_pickup_box li div.article section.front_content dl.frame dd div.detail h1.carshare_ttl, div.article section.front_content ul.carshare_pickup_box li dl.frame dd div.detail h1.carshare_ttl {
    text-align: center;
    font-size: 22px; }
ul.carshare_pickup_box li dl dd p {
    padding: 0 8px;
    text-align: left; }

div.movie_box {
    position: relative;
    width: 100%;
    padding-top: 56.25%; }
div.movie_box iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

div.service section#ttl_head {
    background-image: url(../img/content/personal/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.service section#ttl_head {
        background-image: url(../img/content/personal/ttl_bg_sp.jpg); } }
div.service main {
    width: 100%;
    max-width: 1200px; }
div.service main section.tile_content ul li:nth-child(1):after {
    background-image: url(../img/content/personal/content_small_bg_01.jpg); }
div.service main section.tile_content ul li:nth-child(2):after {
    background-image: url(../img/content/personal/content_small_bg_02.jpg); }
div.service main section.tile_content ul li:nth-child(3):after {
    background-image: url(../img/content/personal/content_small_bg_03.jpg); }

div.carcare section#ttl_head {
    background-image: url(../img/content/personal/carcare/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.carcare section#ttl_head {
        background-image: url(../img/content/personal/carcare/ttl_bg_sp.jpg); } }
div.carcare strong {
    margin-top: 10px;
    display: block;
    font-weight: 700; }
div.carcare section.center {
    text-align: center; }
div.carcare section.center div.btn {
    min-width: 280px;
    margin: 30px auto; }
@media only screen and (max-width: 580px) {
    div.carcare section.center div.btn {
        min-width: auto; } }
div.carcare table.shop_list_table {
    width: 95%;
    margin: 0;
    border-collapse: collapse; }
@media only screen and (max-width: 780px) {
    div.carcare table.shop_list_table {
        width: 100%; } }
div.carcare table.shop_list_table thead th {
    width: 25% !important;
    padding: 10px;
    color: #fff;
    background: #ba1313; }
@media only screen and (max-width: 780px) {
    div.carcare table.shop_list_table thead th {
        display: none; } }
@media only screen and (max-width: 780px) {
    div.carcare table.shop_list_table tbody tr {
        display: block;
        margin-bottom: 10px;
        width: 100% !important;
        border: 1px solid #F0F0F0; } }
div.carcare table.shop_list_table tbody th {
    width: 25% !important;
    text-align: left;
    padding: 10px;
    border: 1px solid #fff;
    background: #F0F0F0;
    vertical-align: middle; }
@media only screen and (max-width: 780px) {
    div.carcare table.shop_list_table tbody th {
        display: block;
        width: 100% !important;
        border: none; } }
div.carcare table.shop_list_table tbody td {
    width: 25% !important;
    text-align: left;
    padding: 10px;
    border: 1px solid #fff;
    vertical-align: middle; }
@media only screen and (max-width: 780px) {
    div.carcare table.shop_list_table tbody td {
        display: list-item;
        list-style: none;
        width: 100% !important;
        border: none;
        background: #fff; } }
div.carcare table.shop_list_table tbody td a:link {
    text-decoration: underline; }
div.carcare ul.oil_pickup_box {
    width: 100%; }
div.carcare ul.oil_pickup_box li {
    width: 50%;
    height: 500px;
    float: left;
    padding: 0;
    background-color: #F0F0F0; }
@media only screen and (max-width: 780px) {
    div.carcare ul.oil_pickup_box li {
        height: 450px; } }
@media only screen and (max-width: 580px) {
    div.carcare ul.oil_pickup_box li {
        width: 100%;
        height: auto;
        float: none; } }
div.carcare ul.oil_pickup_box li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.carcare ul.oil_pickup_box li + li {
        border-left: none;
        border-top: #FFFFFF 20px solid; } }
div.carcare ul.oil_pickup_box li a h2, div.carcare ul.oil_pickup_box li a div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.carcare ul.oil_pickup_box li a h1 {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 20px 20px;
    padding: 0 30px 0 0;
    display: inline; }
@media only screen and (max-width: 580px) {
    div.carcare ul.oil_pickup_box li a h2, div.carcare ul.oil_pickup_box li a div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.carcare ul.oil_pickup_box li a h1 {
        padding: 0 25px 0 0;
        background-position: right center;
        background-size: 15px 15px; } }
div.carcare ul.oil_pickup_box li dl dt {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
    padding: 56% 0 0 0; }
@media only screen and (max-width: 580px) {
    div.carcare ul.oil_pickup_box li dl dt {
        padding: 0; } }
div.carcare ul.oil_pickup_box li dl dt img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out; }
@media only screen and (max-width: 580px) {
    div.carcare ul.oil_pickup_box li dl dt img {
        position: static; } }
div.carcare ul.oil_pickup_box li dl:hover dt img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
div.carcare ul.oil_pickup_box li dl dd {
    padding: 20px; }
div.carcare ul.oil_pickup_box li dl dd p {
    padding: 0; }

div.original section#ttl_head {
    background-image: url(../img/content/personal/original/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.original section#ttl_head {
        background-image: url(../img/content/personal/original/ttl_bg_sp.jpg); } }
div.original section.center {
    text-align: center; }
div.original section.center div.btn {
    min-width: 280px;
    margin: 30px auto; }
@media only screen and (max-width: 580px) {
    div.original section.center div.btn {
        min-width: auto; } }
div.original h2.price, div.original div.article section.front_content dl.frame dd div.detail h1.price, div.article section.front_content dl.frame dd div.detail div.original h1.price {
    color: #ed1c24; }
div.original section.battery_box h2, div.original section.battery_box div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.original section.battery_box h1 {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #F0F0F0; }

div.card section#ttl_head {
    background-image: url(../img/content/personal/card/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.card section#ttl_head {
        background-image: url(../img/content/personal/card/ttl_bg_sp.jpg); } }
div.card section.center {
    text-align: center; }
div.card section.center div.btn {
    min-width: 280px;
    margin: 30px auto; }
div.card strong {
    margin-top: 10px;
    display: block;
    font-weight: 700; }
div.card ul.card_pickup_box {
    width: 100%;
    background-color: #F0F0F0; }
div.card ul.card_pickup_box li {
    width: 50%;
    height: auto;
    float: left;
    padding: 0 !important;
    background-color: #F0F0F0; }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box li {
        width: 100%;
        height: auto;
        float: none; } }
div.card ul.card_pickup_box li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box li + li {
        border-left: none;
        border-top: #FFFFFF 20px solid; } }
div.card ul.card_pickup_box li a h2, div.card ul.card_pickup_box li a div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.card ul.card_pickup_box li a h1 {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 20px 20px;
    padding: 0 30px 0 0;
    display: inline; }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box li a h2, div.card ul.card_pickup_box li a div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.card ul.card_pickup_box li a h1 {
        padding: 0 25px 0 0;
        background-position: right center;
        background-size: 15px 15px; } }
div.card ul.card_pickup_box li dl dt {
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: 56% 0 0 0; }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box li dl dt {
        padding: 0; } }
div.card ul.card_pickup_box li dl dt img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out; }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box li dl dt img {
        position: static; } }
div.card ul.card_pickup_box li dl:hover dt img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
div.card ul.card_pickup_box li dl dd {
    padding: 10px 20px; }
div.card ul.card_pickup_box li dl dd p {
    padding: 0; }
div.card ul.card_pickup_box2 {
    width: 100%; }
div.card ul.card_pickup_box2 li {
    width: 50%;
    height: auto;
    min-height: 680px;
    float: left;
    padding: 0 !important;
    background-color: #F0F0F0; }
@media only screen and (max-width: 780px) {
    div.card ul.card_pickup_box2 li {
        min-height: 620px; } }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box2 li {
        width: 100%;
        height: auto;
        min-height: auto;
        float: none; } }
div.card ul.card_pickup_box2 li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box2 li + li {
        border-left: none;
        border-top: #FFFFFF 20px solid; } }
div.card ul.card_pickup_box2 li dl dt {
    width: 100%;
    height: 260px;
    position: relative;
    overflow: hidden; }
@media only screen and (max-width: 780px) {
    div.card ul.card_pickup_box2 li dl dt {
        height: 150px; } }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box2 li dl dt {
        height: auto; } }
div.card ul.card_pickup_box2 li dl dt img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out; }
@media only screen and (max-width: 580px) {
    div.card ul.card_pickup_box2 li dl dt img {
        position: static; } }
div.card ul.card_pickup_box2 li dl dd {
    padding: 20px; }
div.card ul.card_pickup_box2 li dl dd p {
    padding: 0; }
div.card ul.card_pickup_box2 li .btn {
    margin-top: 20px !important; }
div.card dl dt {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #F0F0F0;
    font-weight: 700; }
div.card dl dd {
    margin-bottom: 30px; }
div.card dl dd a {
    text-decoration: underline; }
div.card figure.card_r img {
    padding: 0 60px 0 0 !important; }
@media only screen and (max-width: 580px) {
    div.card figure.card_r img {
        margin: 0 auto 10px;
        padding: 0 0 0 0 !important; } }

div.card .card_r_caption div {
    float: left;
    width: 50%;
}
div.card .card_r_caption div img {
    float: none;
    width: 100%;
}
div.card .card_r_caption div p {
    float: left;
    margin-right: 20px!important;
}
@media only screen and (max-width: 580px) {
    div.card .card_r_caption div {
        float: none;
        width: 100%;
    }
    div.card .card_r_caption div p {
        margin-right: 0!important;
        margin-bottom: 10px!important;
    }
}

div.info section#ttl_head {
    background-image: url(../img/content/personal/info/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.info section#ttl_head {
        background-image: url(../img/content/personal/info/ttl_bg_sp.jpg); } }
div.info section.center {
    text-align: center; }
div.info section.center div.btn {
    min-width: 280px;
    margin: 30px auto; }
@media only screen and (max-width: 580px) {
    div.info section.center div.btn {
        min-width: auto; } }
div.info strong {
    font-weight: 700; }
div.info ul.kerosene_list {
    margin-bottom: 30px; }
div.info ul.kerosene_list li {
    border-top: #FFFFFF 1px solid;
    background-color: #F0F0F0;
    padding: 20px 50px 20px 20px; }
@media only screen and (max-width: 580px) {
    div.info ul.kerosene_list li {
        padding: 15px 40px 15px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
div.info ul.kerosene_list li span {
    margin-right: 20px;
    font-weight: 700; }
@media only screen and (max-width: 580px) {
    div.info ul.kerosene_list li span {
        margin-right: 0;
        margin-bottom: 5px;
        display: block; } }
div.info ul.chart {
    width: 100%;
    display: table;
    table-layout: fixed; }
@media only screen and (max-width: 780px) {
    div.info ul.chart {
        display: block;
        table-layout: inherit; } }
div.info ul.chart li {
    display: table-cell;
    border: #FFFFFF 1px solid;
    background-color: #FFF; }
@media only screen and (max-width: 780px) {
    div.info ul.chart li {
        width: 100%;
        display: block; } }
div.info ul.chart li span {
    display: block; }
@media only screen and (max-width: 780px) {
    div.info ul.chart li span {
        display: inline-block;
        padding: 0 10px 0 0; } }
div.info ul.chart li a {
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 25px 25px;
    padding: 10px 40px 10px 20px;
    font-weight: bold; }
@media only screen and (max-width: 780px) {
    div.info ul.chart li a {
        padding: 10px 40px 10px 15px;
        background-position: right 10px center;
        background-size: 20px 20px; } }
div.info ul.chart li:last-child a {
    background-image: none; }
@media only screen and (max-width: 780px) {
    div.info ul.chart li:last-child a {
        background-image: url(../img/common/arrow/link_arrow.svg);
        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: 20px 20px; } }
div.info dl.dl_box {
    width: 100%;
    margin: 30px 0;
    padding: 20px;
    background: #F0F0F0;
    overflow: hidden; }
div.info dl.dl_box dt {
    margin: 0 0 10px;
    padding: 0;
    font-weight: 700; }
div.info dl.dl_box dd {
    margin: 0; }
div.info span.comment {
    padding-left: 20px; }
@media only screen and (max-width: 580px) {
    div.info span.comment {
        padding-left: 0;
        display: block; } }
div.info ul.list li.nolink {
    margin-top: 10px;
    text-align: right; }
div.info div.rentacar_arealink {
    width: 100%;
    margin: 0 auto 30px; }
div.info div.rentacar_arealink ul li {
    display: inline-block; }
div.info div.rentacar_arealink ul li a {
    margin: 0 10px 10px 0;
    padding: 10px 20px;
    color: #fff;
    font-weight: 500;
    background: #ba1313;
    display: block; }
div.info div.rentacar_arealink ul li a:hover {
    color: #ba1313;
    background: #fff; }
div.info table.tire_tbl {
    width: 100%;
    margin: auto;
    border-collapse: collapse; }
div.info table.tire_tbl th, div.info table.tire_tbl td {
    padding: 20px;
    text-align: left;
    vertical-align: top; }
@media only screen and (max-width: 780px) {
    div.info table.tire_tbl th, div.info table.tire_tbl td {
        width: 100%;
        padding: 10px;
        display: block; } }
div.info table.tire_tbl th {
    width: 20% !important;
    background-color: #F0F0F0;
    border-bottom: #FFFFFF 1px solid;
    font-weight: bold; }
@media only screen and (max-width: 1280px) {
    div.info table.tire_tbl th {
        width: 35% !important; } }
@media only screen and (max-width: 780px) {
    div.info table.tire_tbl th {
        width: 100% !important;
        padding: 15px 10px; } }
div.info table.tire_tbl td {
    border-bottom: #F0F0F0 1px solid; }
@media only screen and (max-width: 780px) {
    div.info table.tire_tbl td {
        width: 100%;
        padding: 15px 10px 20px 10px; } }
div.info table.tire_tbl tr:last-child td {
    border-bottom: none; }
div.info ul.tire_list li {
    border-top: #FFFFFF 1px solid;
    background-color: #F0F0F0;
    background-image: url(../img/common/arrow/link_arrow_down.svg);
    background-repeat: no-repeat;
    background-position: left 25px center;
    background-size: 25px 25px;
    padding: 20px 20px 20px 70px; }
@media only screen and (max-width: 580px) {
    div.info ul.tire_list li {
        padding: 15px 40px 15px 15px;
        background-position: right 15px center;
        background-size: 20px 20px; } }
div.info ul.tire_list li:last-child {
    color: #fff;
    background-color: #ba1313;
    background-image: none; }
@media only screen and (max-width: 580px) {
    div.info ul.tire_list li span {
        display: block; } }
div.info ul.tire_list li span.redbox {
    display: inline-block;
    margin-left: 10px;
    padding: 5px;
    color: #fff;
    background: #ba1313; }
div.info ul.carshare_pickup_box {
    width: 100%;
    display: inline-block;
    letter-spacing: -.40em; }
div.info ul.carshare_pickup_box li {
    width: 25%;
    letter-spacing: normal;
    vertical-align: top;
    display: inline-block; }
@media only screen and (max-width: 780px) {
    div.info ul.carshare_pickup_box li {
        width: 50%;
        padding: 0 5px; } }
@media only screen and (max-width: 580px) {
    div.info ul.carshare_pickup_box li {
        width: 100%;
        padding: 0; } }
div.info ul.carshare_pickup_box li + li {
    border-left: #FFFFFF 1px solid; }
@media only screen and (max-width: 580px) {
    div.info ul.carshare_pickup_box li + li {
        border-left: none; } }
div.info ul.carshare_pickup_box li dl dt {
    width: 100%; }
div.info ul.carshare_pickup_box li dl dt img {
    width: 70%;
    height: auto;
    margin: auto; }
div.info ul.carshare_pickup_box li dl dd {
    padding: 0 0 40px 0; }
@media only screen and (max-width: 580px) {
    div.info ul.carshare_pickup_box li dl dd {
        padding: 0; } }
div.info ul.carshare_pickup_box li dl dd h2.carshare_ttl, div.info ul.carshare_pickup_box li div.article section.front_content dl.frame dd div.detail h1.carshare_ttl, div.article section.front_content div.info ul.carshare_pickup_box li dl.frame dd div.detail h1.carshare_ttl {
    text-align: center;
    font-size: 20px; }
div.info ul.carshare_pickup_box li dl dd p {
    padding: 0 8px;
    text-align: left; }
@media only screen and (max-width: 580px) {
    div.info ul.carshare_pickup_box li dl dd p {
        padding: 0; } }
@media only screen and (max-width: 580px) {
    div.info dl dt {
        height: auto !important; } }
div.info dl dd p {
    padding-bottom: 10px !important; }

div.csr section#ttl_head {
    background-image: url(../img/content/csr/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.csr section#ttl_head {
        background-image: url(../img/content/csr/ttl_bg_sp.jpg); } }
div.csr main {
    width: 100%;
    max-width: 1200px; }
div.csr main section article h1 span {
    display: block;
    font-size: 14px; }
div.csr main ul.csr_list {
    padding: 20px;
    background: #F0F0F0; }
div.csr main ul.csr_list li {
    margin-bottom: 15px; }
div.csr main ul.csr_list li:last-child {
    margin-bottom: 0; }
div.csr main section.center {
    text-align: center; }
div.csr main section.center div.btn {
    margin: auto;
    min-width: 260px; }
div.csr main article.content_01 {
    background-image: url(../img/content/csr/contribution/sub_01_bg.jpg); }

div.recruit section#ttl_head {
    background-image: url(../img/content/recruit/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.recruit section#ttl_head {
        background-image: url(../img/content/recruit/ttl_bg_sp.jpg); } }
div.recruit main {
    width: 100%;
    max-width: 1200px; }
div.recruit main dl {
    width: 100%;
    margin: 30px 0;
    padding: 20px;
    background: #F0F0F0;
    overflow: hidden; }
div.recruit main dl dt {
    margin: 0 0 10px;
    padding: 0;
    font-weight: 700; }
div.recruit main dl dd {
    margin: 0; }
div.recruit main div.btn_download {
    min-width: 280px;
    border: #555f84 1px solid;
    margin: auto;
    display: inline-block;
    text-align: center; }
@media only screen and (max-width: 580px) {
    div.recruit main div.btn_download {
        min-width: auto;
        display: block; } }
div.recruit main div.btn_download a {
    padding: 10px 20px;
    display: block; }
@media only screen and (max-width: 580px) {
    div.recruit main div.btn_download a {
        padding: 12px 0; } }
div.recruit main div.btn_download a:hover {
    background: #fff; }
div.recruit main div.btn_download span {
    padding: 0 25px 0 10px;
    background-image: url(../img/common/arrow/btn_arrow_dl.svg);
    background-size: 18px 18px;
    background-position: right center;
    background-repeat: no-repeat; }
@media only screen and (max-width: 580px) {
    div.recruit main div.btn_download span {
        line-height: 1.8;
        background-size: 16px 16px; } }
div.recruit main ul div.btn_download {
    min-width: 240px;
    margin-bottom: 10px; }

div.information section#ttl_head {
    background-image: url(../img/content/information/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.information section#ttl_head {
        background-image: url(../img/content/information/ttl_bg_sp.jpg); } }
div.information main {
    width: 100%;
    max-width: 1200px;
    /* 画像回り込み */
    /* lists */
    /* list with number */
    /* list with triangle */ }
div.information main ul#article_index {
    padding: 0 0 10px 0px;
    width: 95%;
    max-width: 1200px;
    margin: auto;
    position: relative; }
div.information main ul#article_index li {
    margin-bottom: 10px;
    text-align: left;
    padding: 20px 0;
    border-bottom: #F0F0F0 1px solid; }
@media only screen and (max-width: 580px) {
    div.information main ul#article_index li {
        padding: 10px 0 20px 0; } }
div.information main ul#article_index li h2, div.information main ul#article_index li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.information main ul#article_index li h1 {
    display: inline;
    font-size: 20px;
    line-height: 1.3em;
    font-weight: bold;
    vertical-align: middle; }
@media only screen and (max-width: 580px) {
    div.information main ul#article_index li h2, div.information main ul#article_index li div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.information main ul#article_index li h1 {
        font-size: 16px; } }
div.information main ul#article_index li div.article_day {
    color: #ba1313;
    font-size: 12px;
    padding: 0 0 5px 0; }
div.information main div.information_btn {
    min-width: 240px;
    border: #555f84 1px solid;
    margin: 50px auto 0;
    display: inline-block;
    text-align: center; }
@media only screen and (max-width: 580px) {
    div.information main div.information_btn {
        display: block; } }
div.information main div.information_btn:hover {
    background: #fff; }
div.information main div.information_btn a {
    display: block; }
div.information main div.information_btn span {
    padding: 10px 10px 10px 25px;
    display: inline-block;
    background-image: url(../img/common/arrow/btn_arrow.svg);
    background-size: 15px 15px;
    background-position: left center;
    background-repeat: no-repeat; }
div.information main .img_right {
    float: right;
    margin: 0% 0% 4% 4%;
    max-width: 35%; }
div.information main .img_left {
    float: left;
    margin: 0% 4% 4% 0%;
    max-width: 35%; }
div.information main .img_center {
    text-align: center;
    margin: 3% auto;
    max-width: 100%; }
div.information main .img_right img,
div.information main .img_left img,
div.information main .img_center img {
    height: auto; }
div.information main section.article h2, div.information main section.article div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.information main section.article h1 {
    clear: both;
    padding: 2% 0%;
    margin: 4% 0% 2% 0%; }
div.information main section.article h3 {
    border-left: 5px solid #ba1313;
    margin: 5% 0% 2% 0%;
    padding: 0.5% 2%;
    font-size: 32px; }
div.information main section.article h4 {
    background: #f5f5f5;
    margin: 5% 0% 2% 0%;
    padding: 1.5%;
    font-size: 26px; }
div.information main section.article h5 {
    border-bottom: 1px solid #F0F0F0;
    margin: 5% 0% 2% 0%;
    padding: 1.5%;
    font-size: 24px; }
div.information main section.article h6 {
    margin: 5% 0% 2% 0%;
    font-size: 20px; }
div.information main ul.u-list {
    margin: 4% 0 4% 5px; }
div.information main ul.u-list li {
    list-style-type: disc;
    margin: 2% 0% 0% 4%; }
div.information main ol.o-list {
    margin: 4% 0 4% 0px; }
div.information main ol.o-list li {
    list-style-type: decimal;
    margin-left: 6%; }
div.information main ul.triStyle {
    margin: 4% 0 4% 0; }
div.information main ul.triStyle li {
    background: url(common/img/list_img.png) no-repeat;
    background-position: 10px 8px;
    padding: 0 0 0 26px; }

div.support section#ttl_head {
    background-image: url(../img/content/support/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.support section#ttl_head {
        background-image: url(../img/content/support/ttl_bg_sp.jpg); } }
div.support main {
    width: 100%;
    max-width: 1200px; }
div.support main h3 {
    margin: 30px 0 20px;
    padding: 10px 0;
    font-size: 30px;
    font-weight: 100; }
@media screen and (max-width: 780px) {
    div.support main h3 {
        margin: 10px 0;
        padding: 15px 0;
        font-size: 20px; } }
@media screen and (max-width: 580px) {
    div.support main h3 {
        padding: 0;
        font-size: 18px;
        line-height: 1.8; } }
div.support main h3 span.type {
    margin: 0 0 20px 0; }
div.support main h4 {
    margin: 0;
    padding: 20px 0;
    color: #ba1313;
    font-size: 20px;
    line-height: 1.6; }
@media screen and (max-width: 580px) {
    div.support main h4 {
        font-size: 16px; } }
div.support main p {
    display: inline-block;
    vertical-align: middle; }
@media screen and (max-width: 780px) {
    div.support main p br {
        /* display: none; */ } }
div.support main #fm_form, div.support main #fm_confirm, div.support main #fm_complete {
    margin: 50px 0;
    padding: 0 10px; }
@media screen and (max-width: 780px) {
    div.support main #fm_form, div.support main #fm_confirm, div.support main #fm_complete {
        margin: 20px 0;
        padding: 0 10px; } }
div.support main #fm_form table, div.support main #fm_confirm table, div.support main #fm_complete table {
    width: 100%;
    margin: auto;
    border-collapse: collapse;
    font-size: 13px; }
div.support main #fm_form table tbody, div.support main #fm_confirm table tbody, div.support main #fm_complete table tbody {
    background: #fff; }
div.support main #fm_form table th, div.support main #fm_form table td, div.support main #fm_confirm table th, div.support main #fm_confirm table td, div.support main #fm_complete table th, div.support main #fm_complete table td {
    padding: 15px 20px;
    text-align: left;
    vertical-align: top; }
@media only screen and (max-width: 780px) {
    div.support main #fm_form table th, div.support main #fm_form table td, div.support main #fm_confirm table th, div.support main #fm_confirm table td, div.support main #fm_complete table th, div.support main #fm_complete table td {
        width: 100%;
        padding: 10px;
        display: block; } }
div.support main #fm_form table th, div.support main #fm_confirm table th, div.support main #fm_complete table th {
    width: 30%;
    border: #F0F0F0 1px solid; }
@media only screen and (max-width: 1280px) {
    div.support main #fm_form table th, div.support main #fm_confirm table th, div.support main #fm_complete table th {
        width: 35%; } }
@media only screen and (max-width: 780px) {
    div.support main #fm_form table th, div.support main #fm_confirm table th, div.support main #fm_complete table th {
        width: 100%;
        color: #fff;
        background-color: rgba(85, 95, 131, 0.8);
        border: none; } }
div.support main #fm_form table td, div.support main #fm_confirm table td, div.support main #fm_complete table td {
    border: #F0F0F0 1px solid; }
@media only screen and (max-width: 780px) {
    div.support main #fm_form table td, div.support main #fm_confirm table td, div.support main #fm_complete table td {
        width: 100%;
        border: none; } }
@media only screen and (max-width: 480px) {
    div.support main #fm_form table td, div.support main #fm_confirm table td, div.support main #fm_complete table td {
        padding: 10px; } }
div.support main #fm_form table td span, div.support main #fm_confirm table td span, div.support main #fm_complete table td span {
    color: #666;
    font-size: 12px; }
div.support main #fm_form table td p.has, div.support main #fm_confirm table td p.has, div.support main #fm_complete table td p.has {
    display: block;
    margin: 10px 0;
    font-weight: 700; }
div.support main #fm_form table td p.has span, div.support main #fm_confirm table td p.has span, div.support main #fm_complete table td p.has span {
    padding-left: 10px;
    color: #ff4f42;
    font-size: 11px;
    font-weight: normal; }
div.support main #fm_form table td img, div.support main #fm_confirm table td img, div.support main #fm_complete table td img {
    margin-right: 10px; }
div.support main div.alert {
    width: 100%;
    margin: 20px auto;
    padding: 30px 20px;
    color: #ff4f42;
    font-size: 14px;
    font-weight: 700;
    border: 1px dotted #ff4f42;
    background: #ffdfde; }
@media screen and (max-width: 780px) {
    div.support main div.alert {
        margin: 10px auto;
        padding: 10px;
        font-size: 13px; } }
div.support main .error_info {
    padding: 3px 0 0 0;
    color: #ff4f42;
    font-size: 13px;
    display: block; }
div.support main .error_info:before {
    margin: 0 10px 3px 0;
    content: " ";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url(../img/content/support/icon.svg);
    background-size: 18px 18px;
    background-repeat: no-repeat;
    vertical-align: middle; }
div.support main .agree {
    width: 80%;
    margin: 20px auto 30px;
    padding: 20px;
    color: #ff4f42;
    text-align: center;
    border: 1px solid #ff4f42;
    background: #fff; }
@media screen and (max-width: 580px) {
    div.support main .agree {
        width: 100%; } }
div.support main .agree ul.check_doui {
    width: 100%; }
div.support main .agree ul.check_doui li {
    width: 100%;
    padding: 0; }
div.support main span.essential {
    white-space: nowrap;
    padding: 3px 10px;
    font-size: 80%;
    border-radius: 20px;
    webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    color: #FFF;
    background: #ed1c24;
    font-weight: normal;
    margin: 0 5px; }
div.support main div.logbox {
    width: 90%;
    max-width: 700px;
    height: 200px;
    margin: 30px auto;
    padding: 20px 0 20px 10px;
    overflow: auto;
    background: #fff; }
@media only screen and (max-width: 780px) {
    div.support main div.logbox {
        margin: 10px auto; } }
@media screen and (max-width: 580px) {
    div.support main div.logbox {
        width: 100%; } }
div.support main div.logbox h2, div.support main div.logbox div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.support main div.logbox h1 {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 10px 50px;
    border-bottom: #F0F0F0 1px solid; }
@media only screen and (max-width: 780px) {
    div.support main div.logbox h2, div.support main div.logbox div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail div.support main div.logbox h1 {
        font-size: 14px;
        padding: 10px; } }
div.support main div.logbox ul {
    padding: 20px 50px; }
@media only screen and (max-width: 780px) {
    div.support main div.logbox ul {
        padding: 10px; } }
div.support main div.logbox ul li {
    line-height: 1.5em;
    padding: 0;
    font-size: 90%;
    color: #444444; }
div.support main div.logbox a {
    text-decoration: underline; }
div.support main div.address_btn input[type="button"] {
    width: 120px;
    border: 1px solid #ba1313;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    color: #ba1313;
    text-align: center;
    font-weight: bold;
    padding: 10px;
    cursor: pointer; }
@media only screen and (max-width: 580px) {
    div.support main div.address_btn input[type="button"] {
        margin: 5px 0;
        padding: 5px; } }
div.support main div.address_btn input[type="submit"]:hover,
div.support main div.address_btn input[type="reset"]:hover,
div.support main div.address_btn input[type="button"]:hover {
    color: #fff;
    background: #ed1c24; }

#fm_confirm th {
    font-weight: 700; }
#fm_confirm p.confirm_info {
    width: 100%;
    margin: 20px auto;
    text-align: center; }

#fm_complete div.comp_box {
    width: 90%;
    max-width: 800px;
    margin: auto;
    padding: 50px 0;
    text-align: center; }
@media only screen and (max-width: 580px) {
    #fm_complete div.comp_box {
        padding: 30px 0; } }
#fm_complete div.comp_box h2, #fm_complete div.comp_box div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail #fm_complete div.comp_box h1 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3em;
    padding: 30px 0;
    text-align: center; }
@media only screen and (max-width: 580px) {
    #fm_complete div.comp_box h2, #fm_complete div.comp_box div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail #fm_complete div.comp_box h1 {
        font-size: 16px; } }
#fm_complete div.comp_box p {
    line-height: 1.5em;
    margin-bottom: 10px; }
@media only screen and (max-width: 580px) {
    #fm_complete div.comp_box p {
        font-size: 12px; } }

/* Slider */
.slider {
    display: none; }

.slider.slick-initialized {
    display: block; }

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent; }

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0; }
.slick-list:focus {
    outline: none; }
.slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block; }
.slick-track:before, .slick-track:after {
    content: "";
    display: table; }
.slick-track:after {
    clear: both; }
.slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none; }
[dir="rtl"] .slick-slide {
    float: right; }
.slick-slide img {
    display: block; }
.slick-slide.slick-loading img {
    display: none; }
.slick-slide.dragging img {
    pointer-events: none; }
.slick-initialized .slick-slide {
    display: block; }
.slick-loading .slick-slide {
    visibility: hidden; }
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
    display: none; }

/* Slider */
.slick-loading .slick-list {
    background: #fff url(../img/common/arrow/ajax-loader.gif) center center no-repeat; }

/* Arrows */
.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none; }
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1; }
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: 0.25; }
.slick-prev:before,
.slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
    left: -25px; }
[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
.slick-prev:before {
    content: "←"; }
[dir="rtl"] .slick-prev:before {
    content: "→"; }

.slick-next {
    right: -25px; }
[dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
.slick-next:before {
    content: "→"; }
[dir="rtl"] .slick-next:before {
    content: "←"; }

/* Dots */
.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%; }
.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    height: 20px;
    width: 20px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer; }
.slick-dots li button:hover, .slick-dots li button:focus {
    outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
    opacity: 1; }

div.doc main {
    width: 100%;
    max-width: 1200px; }
div.doc main div.right {
    text-align: right; }
div.doc main div.privacy_info {
    margin: 50px 0;
    padding: 20px;
    font-size: 18px;
    line-height: 1.8;
    text-align: center;
    background: #fff;
    border: #ba1313; }
@media screen and (max-width: 580px) {
    div.doc main div.privacy_info {
        font-size: 16px; } }

div.doc_privacy section#ttl_head {
    background-image: url(../img/content/privacy/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.doc_privacy section#ttl_head {
        background-image: url(../img/content/privacy/ttl_bg_sp.jpg); } }

section.privacy dl {
    margin: 0 0 30px; }
section.privacy dl dt {
    margin: 0 0 10px;
    font-size: 16px; }
section.privacy dl dd {
    margin: 0 0 0 20px;
    font-size: 14px;
    line-height: 1.6; }
@media screen and (max-width: 780px) {
    section.privacy dl dd {
        margin: 0 0 0 10px; } }
@media screen and (max-width: 580px) {
    section.privacy dl dd {
        margin: 0; } }
section.privacy dl dd dl dt {
    margin: 20px 0;
    font-size: 15px;
    font-weight: 700; }
section.privacy dl dd dl dd {
    margin: 0 0 5px 30px; }
@media screen and (max-width: 780px) {
    section.privacy dl dd dl dd {
        margin: 0 0 0 10px; } }
@media screen and (max-width: 580px) {
    section.privacy dl dd dl dd {
        margin: 0; } }

div.doc_sitemap section#ttl_head {
    background-image: url(../img/content/sitemap/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.doc_sitemap section#ttl_head {
        background-image: url(../img/content/sitemap/ttl_bg_sp.jpg); } }

section.page_sitemap {
    margin-top: 50px; }
section.page_sitemap h2, section.page_sitemap div.article section.front_content dl.frame dd div.detail h1, div.article section.front_content dl.frame dd div.detail section.page_sitemap h1 {
    padding: 10px 20px;
    margin-bottom: 20px;
    background: #F0F0F0; }
section.page_sitemap h2 a span, section.page_sitemap div.article section.front_content dl.frame dd div.detail h1 a span, div.article section.front_content dl.frame dd div.detail section.page_sitemap h1 a span {
    padding: 0 40px 0 0;
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-size: 20px 37px;
    background-position: right center;
    background-repeat: no-repeat;
    display: inline-block;
    font-size: 30px;
    line-height: 2; }
@media screen and (max-width: 780px) {
    section.page_sitemap h2 a span, section.page_sitemap div.article section.front_content dl.frame dd div.detail h1 a span, div.article section.front_content dl.frame dd div.detail section.page_sitemap h1 a span {
        background-size: 13px 30px;
        font-size: 26px; } }
@media screen and (max-width: 580px) {
    section.page_sitemap h2 a span, section.page_sitemap div.article section.front_content dl.frame dd div.detail h1 a span, div.article section.front_content dl.frame dd div.detail section.page_sitemap h1 a span {
        font-size: 24px;
        line-height: 1.4; } }
section.page_sitemap h3 {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #F0F0F0; }
@media screen and (max-width: 780px) {
    section.page_sitemap h3 {
        padding: 0 20px; } }
@media screen and (max-width: 580px) {
    section.page_sitemap h3 {
        margin-bottom: 10px;
        padding: 0 20px 10px; } }
section.page_sitemap h3 a span {
    padding: 0 25px 0 0;
    background-image: url(../img/common/arrow/link_arrow.svg);
    background-size: 20px 20px;
    background-position: right center;
    background-repeat: no-repeat;
    display: inline-block;
    font-size: 20px;
    line-height: 2; }
@media screen and (max-width: 780px) {
    section.page_sitemap h3 a span {
        background-size: 18px 18px;
        font-size: 18px; } }
@media screen and (max-width: 580px) {
    section.page_sitemap h3 a span {
        background-size: 16px 16px;
        font-size: 16px; } }
section.page_sitemap ul {
    position: relative;
    width: 100%;
    margin: 0 0 1.5em 0;
    padding: 0;
    position: relative;
    margin: 0 0 24px 0; }
@media screen and (max-width: 780px) {
    section.page_sitemap ul {
        padding: 0 20px; } }
section.page_sitemap ul li {
    display: inline-block;
    background: url(../img/common/arrow/btn_arrow.svg);
    background-size: 10px 10px;
    background-position: left center;
    background-repeat: no-repeat;
    position: relative;
    margin: 0.5em 0;
    padding: 0 1.2em; }
@media screen and (max-width: 780px) {
    section.page_sitemap ul li {
        width: 50%; } }
@media screen and (max-width: 580px) {
    section.page_sitemap ul li {
        width: 100%; } }

div.not_found section#ttl_head {
    background-image: url(../img/content/404/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.not_found section#ttl_head {
        background-image: url(../img/content/404/ttl_bg_sp.jpg);
        background-position: 30% center; } }
div.not_found main {
    width: 100%;
    max-width: 1200px; }
div.not_found main section {
    width: 90%;
    margin: auto;
    padding: 50px 0 0 0;
    text-align: center; }
@media only screen and (max-width: 780px) {
    div.not_found main section {
        padding: 25px 0 0 0; } }
div.not_found main section p {
    font-size: 18x;
    padding: 20px 0;
    line-height: 1.5em; }
@media only screen and (max-width: 780px) {
    div.not_found main section p {
        text-align: left;
        font-size: 16px; } }

/** usamart_ec.php **/
#cm-movie{
    margin: 30px 0;}
#cm-movie-inner{
    display: flex;
    border: 1px solid #a9a9a9;
    padding: 10px 5px;
    border-radius: 5px;}

#cm-movie h3{
    font-size: 20px;
    text-align: center;
    margin-bottom: 5px;
    font-family: 'gothic';
}
#cm-movie-inner .movie{
    padding: 0 1%;}
#cm-movie img:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

@media only screen and (max-width: 780px) {
    #cm-movie h3{
        font-size: 14px;}}
@media only screen and (max-width: 356px) {
    #cm-movie h3{
        font-size: 12px;}}

/** usamikaiinkiyaku **/
div.doc main div.usamikaiinkiyaku_info {
    margin: 50px 0;
    padding: 20px;
    font-size: 18px;
    line-height: 1.8;
    text-align: center;
    background: #fff;
    border: #ba1313; }
@media screen and (max-width: 580px) {
    div.doc main div.usamikaiinkiyaku_info {
        font-size: 16px; } }

div.doc_usamikaiinkiyaku section#ttl_head {
    background-image: url(../img/content/usamikaiinkiyaku/ttl_bg_pc.jpg); }
@media only screen and (max-width: 780px) {
    div.doc_usamikaiinkiyaku section#ttl_head {
        background-image: url(../img/content/usamikaiinkiyaku/ttl_bg_sp.jpg); } }

.usamikaiinkiyaku h2 {
    padding:15px 5% 10px 0!important;}
.usamikaiinkiyaku h3 {
    font-weight:bold;font-size:16px;margin: 30px 0 0 0;}
section.usamikaiinkiyaku dl {
    margin: 0 0 30px; }
section.usamikaiinkiyaku dl dt {
    margin: 0 0 10px 20px;
    font-size: 16px; }
section.usamikaiinkiyaku dl dd {
    margin: 0 0 15px 40px;
    font-size: 14px;
    line-height: 1.6;
    text-indent: -2em;
    padding-left:2em;}

section.usamikaiinkiyaku dl dd a:link {
    text-decoration: underline;
    color: #0366D6;
}
section.usamikaiinkiyaku dl dd.noindent {
    text-indent: 0em;
    padding-left:0em;}
section.usamikaiinkiyaku dl dd span {
    color:#999999;font-size:12px;padding-left:26px;text-indent:-26px;}
@media scemreen and (max-width: 780px) {
    section.usamikaiinkiyaku dl dd {
        margin:; } }
@media screen and (max-width: 580px) {
    section.usamikaiinkiyaku dl dd {
        margin: 0 0 15px 20px; } }
section.usamikaiinkiyaku dl dd dl dt {
    margin: 20px 0;
    font-size: 15px;
    font-weight: 700; }
section.usamikaiinkiyaku dl dd dl dd {
    margin: 0 0 5px 0px;
    text-indent: -1em;
    padding-left: 1em;}
@media screen and (max-width: 780px) {
    section.usamikaiinkiyaku dl dd dl dd {
        margin: ; } }
@media screen and (max-width: 580px) {
    section.usamikaiinkiyaku dl dd dl dd {
        margin: 0; } }


/** faq **/
div.faq section#ttl_head {
    background-image: url(../img/content/faq/ttl_bg_pc.jpg);}
@media only screen and (max-width: 780px) {
    div.faq section#ttl_head {
        background-image: url(../img/content/faq/ttl_bg_sp.jpg); } }

div.article section.contents_detail ul.faqlist li a {
    background-image: url(../img/content/faq/q.svg);
    background-position: left 15px center;
    padding: 20px 20px 20px 58px;
    background-size: 32px 32px;
}
@media only screen and (max-width: 580px) {
    div.article section.contents_detail ul.faqlist li a {
        padding: 15px 15px 15px 45px;
        background-position: left 10px center;
        background-size: 28px 28px;} }

div.article section.contents_detail .faq-item dt {
    font-size:1.2em;
    font-weight:700;
    position:relative;
    line-height:35px;
    padding-left:50px;
}
div.article section.contents_detail .faq-item dt:before {
    position:absolute;
    left:0;
    content:"";
    display:inline-block;
    width:35px;
    height:35px;
    background-image:url(../img/content/faq/q.svg);
    background-size:contain;

}
div.article section.contents_detail .faq-item dd {
    position:relative;
    line-height:35px;
    padding-left:50px;
    margin-top:20px;
}
div.article section.contents_detail .faq-item dd:before {
    position:absolute;
    left:0;
    content:"";
    display:inline-block;
    width:35px;
    height:35px;
    background-image:url(../img/content/faq/a.svg);
    background-size:contain;
}

@media only screen and (max-width: 580px) {
    div.article section.contents_detail .faq-item dt,div.article section.contents_detail .faq-item dd {
        padding-left:35px;}
    div.article section.contents_detail .faq-item dd:before, div.article section.contents_detail .faq-item dt:before{
        width:25px;
        height:25px;} }


/*ゆーわんカード*/
.card_special {
    position: relative;
}

.card_special span {
    position: absolute;
    top: 256px;
    left: 0;
    width: 47%;
}

@media only screen and (max-width: 580px) {
    .card_special span {
        position: static;
        top: inherit;
        left: inherit;
        width: 100%;
       padding-bottom: 20px;
        display: block;
    }
}

/*宇佐美エンジニアリングお問い合わせ*/
div.engineering_form main h2 {
    padding: 0 5% 0 20px;
    margin: 50px auto 15px auto;
    font-size: 32px;
    line-height: 1.4em;
    border-left: #555f84 5px solid;
    width: 90%;
    max-width: 700px;
}
@media only screen and (max-width: 780px) {
    div.engineering_form main h2 {
        font-size: 22px;} }

div.engineering_form main .lead_text{
    margin: 50px auto 0;
    display: block;
    background-color: #f0f0f0;
    width: 90%;
    max-width: 700px;
    padding: 10px;
}
div.engineering_form main .lead_text a {
    color: #4055a6
}

div.engineering_form main .policy-box {
    margin-top: 30px;
    font-family: inherit;
}

div.engineering_form main .policy-box div.logbox h3{
    font-family: inherit!important;
    font-weight: normal!important;
}
div.engineering_form main .policy-box div.logbox h3.bold {
    font-weight: bold!important;
}

div.engineering_form main .contents_detail  span{
    margin-bottom: 20px;
}

div.engineering_form main .mCSB_scrollTools .mCSB_draggerRail {
    width: 10px;
    background-color: #fff;
}

div.engineering_form main .mCS-main.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: #7F7F7F;
    width: 10px;
}

div.engineering_form main .agree_lead {
    width: 90%;
    max-width: 700px;
    margin: 0 auto;
    display: block;
}

@media only screen and (max-width: 780px) {
    div.engineering_form main .mail_lead {
        margin-bottom: 20px;
    }
}

div.engineering_form main section.contents_detail {
    text-align: center;
}

/*SNSアカウント追加(20220627)*/
header .sns_menu {
    background-color: #f0f0f0;
    display: inline-flex;
    align-items: center;
    position: absolute;
    right: 0;
    padding: 5px 10px;
    height: 40px;
    width: 300px;
}
@media only screen and (max-width: 780px) {
   header .sns_menu {
    display: none;
   } 
}
header .sns_menu p {
    font-weight: bold;
    font-size: 12px;
    padding-right: 8px;
}
header .sns_menu ul {
    display: flex;
}
header .sns_menu ul li{
    padding: 0 5px;
    display: flex;
    align-items: center;
}
header .sns_menu ul li a {
    display: block;
}
header .sns_menu ul li a img {
    width: 27px;
    height: auto;
}

header ul.menu .sns_menu_nav_area {
    display: none;
}
@media only screen and (max-width: 780px) {
    header ul.menu .sns_menu_nav_area {
        display: block;
        text-align: center;
        padding: 10px;
    }
    header ul.menu .sns_menu_nav {
        background-color: #f0f0f0;
        display: inline-flex;
        align-items: center;
        padding: 10px;
        /*width: 100%;*/
    }
    header ul.menu .sns_menu_nav p {
        font-weight: bold;
        font-size: 12px;
        padding-right: 8px;
        width: 100px;
    }
    header ul.menu .sns_menu_nav ul {
        display: flex;
        width: calc(100% - 100px);
    }
    header ul.menu .sns_menu_nav ul li{
        padding: 0 6px;
        display: flex;
        align-items: center;
    }
    header ul.menu .sns_menu_nav ul li a {
        display: block;
        padding: 0 !important;
        background-image: none !important;
        border-bottom: none !important;
        height: inherit !important;
    }
    header ul.menu .sns_menu_nav ul li a img {
        width: 35px;
        height: auto;
    }
}

footer section.sns_footer .sns_menu {
    padding-bottom: 40px;
}
footer section.sns_footer .sns_menu p {
    font-weight: bold;
    font-size: 14px;
    padding-bottom: 10px;
}
@media only screen and (max-width: 580px) {
    footer section.sns_footer .sns_menu p {
        font-size: 12px;
        padding-bottom: 5px;
    }
}
footer section.sns_footer .sns_menu ul {
    display: flex;
    justify-content: center;
}
footer section.sns_footer .sns_menu ul li{
    padding: 0 7px;
    display: flex;
    align-items: center;
}
footer section.sns_footer .sns_menu ul li a {
    display: block;
}
footer section.sns_footer .sns_menu ul li a img {
    width: 33px;
    height: auto;
}

/*TOP動画*/
#top_view .movie_cont {
    overflow: hidden;
}
@media only screen and (min-width: 1366px) {
    #top_view .movie_cont {
        /* height: 50vw; */
        height: 600px;
    }
}
/* @media only screen and (max-width: 580px) { */
@media only screen and (max-width: 780px) {
    #top_view .movie_cont {
        /* height: 70vh; */      
        height: 840px;
    }
}
#top_view .movie_cont #topvideo {
    position: relative;
    height: 100%;
}
#top_view .movie_cont #topvideo video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
@media only screen and (max-width: 780px) {
    #top_view .movie_cont #topvideo video {
        display: none!important;
    }
}

div.front div#top_view #topvideo div.detail {
    position: absolute;
    top: calc(50% - 300px);
    left: 0;
    right: 0;
    width: 100%;
    height: 600px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
@media only screen and (max-width: 786px) {
    div.front div#top_view #topvideo div.detail {
        top: calc(50% - 50px);
        height: 400px; } }
@media only screen and (max-width: 580px) {
    div.front div#top_view #topvideo div.detail {
        top: calc(50% - 0px);
        height: 400px; } }
div.front div#top_view #topvideo div.detail section {
    position: relative;
    width: 95%;
    height: 100%;
    margin: auto; }
div.front div#top_view #topvideo div.detail section article {
    width: 100%;
    position: absolute; }
div.front div#top_view #topvideo div.detail section article h1 {
    font-size: 42px;
    line-height: 1.5em;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7); }


div.front div#top_view #topvideo div.detail section article p {
    line-height: 1.5em; }


div.front div#top_view #topvideo a:link, div.front div#top_view #topvideo a:visited, div.front div#top_view #topvideo a:active, div.front div#top_view #topvideo a:hover {
    transition: all 0.4s ease;
    color: #FFF; }

div.front div#top_view #topvideo div.detail a:hover img {
    transition: all 0.4s ease;
    opacity: 1; }

div.front div#top_view #topvideo a div.btn_w {
    min-width: 300px; }

@media only screen and (max-width: 580px) {
    div.front div#top_view #topvideo a div.btn_w {
        min-width: 200px; } }

div.front div#top_view #topvideo a div.btn_w span {
    padding: 5px 10px 5px 25px;
    background-size: 20px 20px;
    background-image: url(../img/common/header/doc_menu_1_w.svg);
    background-position: left center;
    background-repeat: no-repeat; }

div.front div#top_view #topvideo a:hover div.btn_w {
    transition: all 0.4s ease;
    background-color: #ba1313; }

div.front div#top_view #topvideo div.detail article {
    top: 27%;
}

@media only screen and (max-width: 780px) {
    div.front div#top_view #topvideo div.detail article {
        /* top: 20%;  */
        top: auto;
        bottom: 51%;
    }
}

div.front div#top_view #topvideo div.detail article img {
    width: 500px;
    height: auto;
    margin: 20px auto;
}

@media only screen and (max-width: 780px) {
    div.front div#top_view #topvideo div.detail article img {
        width: 400px;
        margin: 10px auto;
    }
}
@media only screen and (max-width: 580px) {
    div.front div#top_view #topvideo div.detail article img {
        width: 90%;
    }
}

div.front div#top_view #topvideo div.cv {
    width: 93%;
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: right;
    text-shadow: 0 0 10px #000;
}

div.front div#top_view #topvideo div.cv {
    transition: all 0.4s ease;
}
@media only screen and (max-width: 780px) {
    div.front div#top_view #topvideo div.cv {
        /* bottom: 100px; */
        top: 49%;
        width: 400px;
    }
    div.front div#top_view #topvideo div.cv .btn_w {
        display: block;
    }
}
@media only screen and (max-width: 580px) {
    div.front div#top_view #topvideo div.cv {
        /* bottom: 100px; */
        width: 93%;
    }
}

div.front div#top_view #topvideo div.detail .movie_link {
    position: absolute;
    bottom: 50px;
    right: 50px;
    color: #fff;
    text-shadow: 0 0 10px #000;
}

div.front div#top_view #topvideo div.cv div.btn_w span {
    padding: 5px 14px 5px 25px;
    background-size: 20px 20px, 7px auto;
    background-image: url(../img/common/header/doc_menu_1_w.svg), url(../img/common/arrow/link_arrow_w.svg);
    background-position: left center, right center;
}
div.front div#top_view #topvideo div.cv p {
    padding: 15px 0 0 0;
    text-align: left;
}
/* メディアクエリでモバイル対応 */
@media screen and (max-width: 768px) {
    #topvideo video {
        display: none;
    }

    #topvideo {
        background-image: url('../img/content/front/movie/bg_tablet.jpg');
        background-size: cover;
        background-position: bottom;
        height: 100vh;
        background-repeat: no-repeat;
    }

    .hide_pc { display: block; }
}
@media screen and (max-width: 580px) {
    #topvideo video {
        display: none;
    }

    #topvideo {
        background-image: url('../img/content/front/movie/bg_sp2.jpg');
        background-size: cover;
        background-position: bottom;
        height: 100vh;
        background-repeat: no-repeat;
    }

    .hide_pc { display: block; }
}

/*アスリート支援*/
.contents_detail .athlete_history_box {
    background-color: #F0F0F0;
    padding: 20px;
    margin-bottom: 20px;
}
.contents_detail .athlete_history_box h3 {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 5px;
}
.contents_detail .athlete_history_box h3 span {
    font-size: 12px;
    color: #9b9b9b;
    font-weight: normal;
}
.contents_detail .athlete_history_box ul {
    list-style: disc;
    padding-left: 14px;
}

.contents_detail .athlete_history_box ul li + li {
    margin-top: 10px;
}


/* 20240213 法人お問い合わせフォントサイズ変更 */
p.entry_text_size {
    font-size: 18px;
    line-height: 1.6;
}

@media only screen and (max-width: 580px) {
    p.entry_text_size {
        font-size: 12px;
        line-height: 1.6;
    }
}

@media only screen and (max-width: 580px) {
    div.alert2 br {
        display: none;
    }
}


/* 20240314  採用情報ムービーセクション追加 */
.youtube {
    position: relative;
    height: 0;
    margin-bottom: 20px;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.movie_area img{
    max-width: 100%;
}
 
/* ココから下がPC表示（600px以上）のレイアウト */
@media screen and (min-width: 600px) {
    .movie_area {
        display: flex;
        margin-bottom: 1.5rem;
        justify-content: space-between;
        align-items: flex-start;
    }
    .movie_item {
        flex-basis: 49.5%;
    }
}


/* 20240509　うさn@vi ＤＤlite追加 */
ul.ddlite_service_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

ul.ddlite_service_list li {
    width: 33.3%;
    padding: 0 15px;
    margin-bottom: 45px;
}

ul.ddlite_service_list li img {
    width: 100%;
}
@media screen and (max-width: 580px) {
    ul.ddlite_service_list li {
        width: 50%;
        padding: 0 5px;
        margin-bottom: 10px;
    }
}


/* 20240518　TOPページ アスリート画像追加 */
.movie_cont {
    position: relative;
}
.top_view_first {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.top_view_first_head, .top_view_first_bottom {
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
}
.top_view_first_head {
    background-color: #3A3A3A;
}
.top_view_first_bottom {
    background-color: #707070;
}
.top_view_first_image {
    height: calc(100% - 94px);
    display: block;
}
.top_view_first_image_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (min-width: 580px) {
    .hide_more_sp {
        display: none;
    }
}

@media screen and (max-width: 780px) {
    .top_view_first_head, .top_view_first_bottom {
        height: 25px;
        font-size: 12px;
    }
    .top_view_first_image {
        height: calc(100% - 50px);
    }
    .top_view_first_image_img {
        object-position: top center;
    }
}
@media screen and (max-width: 580px) {
    .top_view_first_head, .top_view_first_bottom {
        height: 47px;
    }
    .top_view_first_image {
        height: calc(100% - 94px);
    }
}




/* 20240912 TVCMをYouTube埋め込みに変更 */
.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9のアスペクト比を保持 */
    height: 0;
    overflow: hidden;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* 20240918 お知らせフォント変更 */
.information h1 {
    font-weight: 700;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.information #content div.main h2 {
    font-size: 32px;
    font-weight: 700;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    line-height: 1.2;
    border-left: 10px solid #ba1313;
    padding: 0 20px 0;
}

.information #content div.main p {
    font-size: 18px;
    line-height: 1.8;
}

@media screen and (max-width: 780px) {

    .information #content div.main h2 {
        font-size: 28px;
    }
    .information #content div.main p {
        font-size: 16px;
        line-height: 1.6;
    }
}

/* 20241010 東日本宇佐美リンク設定 */
table.organization_east {
    margin: 20px 0 0!important;
}
table.organization_east a {
    color: #1a0dab!important;
    padding-right: 30px;
    background: url(../img/common/arrow/external_link.svg) no-repeat right center;
    background-size: 13px 13px!important;
    text-decoration: underline;
}
h3.group_h3 {
    padding: 0 5% 0 20px;
    margin: 40px auto 0;
    font-size: 20px;
    line-height: 1.4em;
    border-left: #555f84 3px solid;
}

/* 窓口表の調整 */
div.organization table.window th.name {
    width: 15%!important;
}
div.organization table.window th.tel {
    width: 15%!important;
}
div.organization table.window th.area {
    width: 70%!important;
}


/* 20241010 TOP各種キャンペーンのバナーサイズ調整 2個のとき */
ul.top_campaign {
    max-width: 700px;
}

@media screen and (max-width: 780px) {
    ul.top_campaign {
        display: block!important;       
    }
    ul.top_campaign li {
        width: 70%;
        margin: auto;
    }
}


/* 20241021 グループ企業紹介改修 */
.group_list { 
    padding: 50px 0 0;
}

.group_list h1.main-title {
    padding: 0 5% 0 20px;
    margin: 0 auto 20px;
    color: #555f84;
    font-size: 30px;
    line-height: 1!important;
    letter-spacing: normal!important;
    border-left: #555f84 5px solid;
}

.group_list h1.main-title span {
    font-size: 20px;
}

.group_list .grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.group_list .grid-item {
    border: 1px solid #A3A3A3;
    align-items: center;
    padding: 20px;
}

.group_list .card {
    display: flex;
    justify-content: space-between;
    background: url(../img/common/arrow/icon_link.svg);
    background-size: 18px 18px;
    background-position: right center;
    background-repeat: no-repeat;
    text-decoration: none;
    color: inherit; /* リンクの下線や色をデフォルトにしない */
}

.group_list .card-blank {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: url(../img/common/arrow/icon_link_blank.svg);
    background-size: 18px 18px;
    background-position: right center;
    background-repeat: no-repeat;
    text-decoration: none;
    color: inherit; /* リンクの下線や色をデフォルトにしない */
}

.group_list .card-nolink {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none!important;
    text-decoration: none;
}

.group_list .grid-item:hover {
    background-color: #f9f9f9; /* ホバー時に背景色を変える */
}
.group_list .grid-item-nolink:hover {
    background-color: #fff; /* ホバー時に背景色を変えない */
}

.group_list .card-content {
    display: flex;
}

.group_list h2.card-title {
    margin: 0 0 15px 0!important;
    padding: 0 0 0 10px!important;
    display: block;
    color: #444444;
    font-size: 20px!important;
    font-weight: normal;
    line-height: 1!important;
    border-left: #ba1313 5px solid;
    letter-spacing: normal!important;
}

.group_list h2.card-title-small {
    margin: 0 0 10px 0!important;
    padding: 0 0 0 10px!important;
    display: block;
    color: #444444;
    font-size: 18px!important;
    font-weight: normal;
    line-height: 1.2!important;
    border-left: #ba1313 5px solid;
    letter-spacing: normal!important;
}

.group_list p.card-description {
    font-size: 14px!important;
    padding: 0 5px 0 0!important;
}

.group_list p.card-description span {
    font-size: 12px!important;
    padding: 0 0 0 10px!important;
}

.group_list br.hide_pc {
    display: none;
}
.group_list br.hide_sp {
    display: block;
}

/* スマホ対応のメディアクエリ */
@media screen and (max-width: 780px) {
    .group_list { 
        padding: 30px 10px 0;
    }

    .group_list .grid-item {
        padding: 15px;
    }

    .group_list h1.main-title {
        padding: 0 0 0 10px;
        font-size: 20px;
        line-height: 1.2!important;
    }

    .group_list h1.main-title span {
        display: block;
        font-size: 16px;
    }

    .group_list .grid-container { 
        grid-template-columns: 1fr; /* 1列レイアウトに変更 */
    }

    .group_list .card-blank {
        padding: 0 10px 0 0;
        background-size: 14px 14px;
        background-position: right center;
    }

    .group_list .card {
        padding: 0 10px 0 0;
        background-size: 14px 14px;
        background-position: right center;
    }

    .group_list .link-blank {
        padding: 0 10px 0 0;
        background-size: 14px 14px;
        background-position: right center;
    }

    .group_list h2.card-title {
        margin: 0 0 10px 0!important;
        font-size: 14px;
    }
    .group_list h2.card-title-small {
        font-size: 16px;
    }
    .group_list p.card-description {
        padding: 0 15px 0 0!important;
    }

    .group_list br.hide_pc {
        display: block;
    }
    .group_list br.hide_sp {
        display: none;
    }
}

/* グループ子会社 */
.grid-group-list .grid-group-item {
    margin-top: 20px;
    align-items: center;
}
.grid-group-list h2.card-title {
    margin: 0 0 15px 0!important;
    padding: 0 0 0 10px!important;
    display: block;
    color: #444444;
    font-size: 18px!important;
    font-weight: normal;
    line-height: 1!important;
    border-left: #ba1313 5px solid;
    letter-spacing: normal!important;
}

.grid-group-list .card-group-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3列 */
    grid-template-rows: repeat(2, auto);  /* 2行 */
    gap: 10px; /* 隙間 */
}

.grid-group-list .card-group-content a {
    display: flex;
    align-items: center;
    padding: 10px;
    font-size: 15px!important;
    text-decoration: none;
    transition: background 0.3s;
    border: 1px solid #A3A3A3;
}
.grid-group-list .card-group-content a:hover {
    background-color: #f9f9f9; /* ホバー時に背景色を変える */
}

.grid-group-list .card {
    background: url(../img/common/arrow/icon_link.svg);
    background-size: 16px 16px;
    background-position: right 10px center;
    background-repeat: no-repeat;
}

.grid-group-list .card-blank {
    background: url(../img/common/arrow/icon_link_blank.svg);
    background-size: 16px 16px;
    background-position: right 10px center;
    background-repeat: no-repeat;
}

.grid-group-list .card-group-content button {
    all: unset;
    padding: 10px;
    font-size: 15px!important;
    text-decoration: none;
    transition: background 0.3s;
    border: 1px solid #A3A3A3;
    background-color: #fff;
}

/* スマホサイズ（768px以下）の時は1列表示 */
@media (max-width: 768px) {
    .grid-group-list .card-group-content {
        grid-template-columns: 1fr; /* 1列 */
    }
}




/* 20250130 沿革改修 */
ul.history_ul {
    list-style-type: none;
    padding-left: 0;
  }

  ul.history_ul li {
    display: flex;
    align-items: flex-start; /* アイコンとテキストの高さを揃える */
    gap: 0.5em; /* アイコンとテキストの間隔 */
  }

  ul.history_ul li::before {
    content: "";
    display: inline-block;
    width: 0.3em;
    height: 0.3em;
    background-color: #444;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 0.7em;
  }


/* 20250212 レンタカー改修 */
.rentacar_list ul li a {
    line-height: 1.5;
}

.rentacar_list ul li a .rentacar_icon {
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
}

.rentacar_list ul li a img {
    width: 25px;
    height: 25px;
    vertical-align: middle;
}


/* 20250716 マルチステークホルダー */
ul.multi_list li a .multi_icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    width: 20px;
}



/* KFC店舗紹介 */
    .kfc { width: 90%; }

    /* region (h2) */
    .region { display:flex; align-items:center; gap:12px; margin-top:26px; margin-bottom:12px; }
    .region .bar { width:6px; height:28px; background:#ba1313; }
    .region h2 { margin:0; padding: 0!important; font-size:30px; color:#3b4658; letter-spacing: 1; }

    /* prefecture (h3) */
    .prefecture { display:flex; align-items:center; gap:12px; background:#e9e9e9; padding:10px 14px; margin-bottom:14px; }
    .prefecture .small-bar { width:6px; height:18px; background:#ba1313; }
    .prefecture h3 { margin:0; font-size:20px;}

    /* cards grid */
    .kfc-cards { display:grid; grid-template-columns:1fr; gap:18px; margin-bottom:26px; }

    /* card */
    .kfc-card {
        border:2px solid #46536a;
        border-radius:10px;
        padding:16px;
        background:#fff;
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    /* header: アイコン + 店舗名（上段） */
    .card-header { display:flex; align-items:center; gap:12px; }
    .shop-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; }
    .shop-title { margin:0; font-weight:700; font-size:20px; }

    /* 下線（タイトルの下の横線） */
    .divider { height:1px; background:#d6d6d6; width:100%; margin:0; }

    /*
    ここが肝：content-row を Grid にしておく
    - grid-template-columns: 1fr auto → 左が住所（可変幅）、右がボタン（自動幅）
    - grid-template-rows: auto auto → 1行目（住所 + ボタン）, 2行目（営業時間）
    - ボタンは row1 / col2 に置き、align-self: end で下揃えにする
    */
    .content-row {
        display:flex;
        justify-content:space-between;
        gap:16px;
    }

    .info-block {
        display:flex;
        flex-direction:column;
        justify-content:space-between;
        flex:1;
        font-size:14px;
        line-height:1.6;
        color: #1D1D1D;
    }

    .address { white-space:pre-line; margin-bottom:6px; }

    .card-footer {
        display:flex;
        align-items:flex-end;
    }

    .card-footer img { 
        max-width: 120px!important;
        border-radius: 3px;
    }

    .btn-info {
        background:#b23225;
        color:#fff;
        border:none;
        padding:6px 16px;
        border-radius:4px;
        font-weight:700;
        cursor:pointer;
        display:inline-flex;
        align-items:center;
        gap:8px;
    }
    .btn-info svg { width:14px; height:14px; }

    /* レスポンシブ：画面が狭いときは縦積みにする（住所→営業時間→ボタン） */
    @media (max-width:560px){
    .kfc { width:100%; }
    .kfc br.hide_sp { display: none; }
    .kfc-card { padding:12px; }
    .shop-title { font-size:16px; }
    .card-footer { display:block; grid-column:auto; grid-row:auto; align-self:stretch; }
    .btn-info { width:100%; justify-content:center; font-size:15px; padding:6px;}
    }

    /* 中幅以上でカードを2列 */
    @media (min-width:720px) {
    .kfc-cards { grid-template-columns:repeat(2, 1fr); }
    }


/* 2025.10.10 TOPバナー改修 */
div.top-banner-wrapper {
  font-family: sans-serif;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

div.top-banner-wrapper .banner-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  max-width: 1000px;
  width: 100%;
  justify-items: center;
}

div.top-banner-wrapper .banner-container a img {
  width: 240px;
  height: 88px;
  object-fit: cover;
  transition: opacity 0.3s;
}

div.top-banner-wrapper .banner-container a:hover img {
  opacity: 0.8;
}

/* スマホ対応（2列表示） */
@media screen and (max-width: 768px) {
  div.top-banner-wrapper .banner-container {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 10px;
  }
  div.top-banner-wrapper .banner-container a img {
    width: 100%;
    max-width: 240px;
  }
}

/* 2025.10.10 キャンペーンバナー改修 */
div.top-campaign-wrapper {
  font-family: sans-serif;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

div.top-campaign-wrapper .campaign-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  max-width: 1000px;
  width: 100%;
  justify-items: center;
}

div.top-campaign-wrapper .campaign-container a img {
  max-width: 320px;
  max-height: 140px;
  object-fit: cover;
  transition: opacity 0.3s;
}

div.top-banner-wrapper .banner-container a:hover img {
  opacity: 0.8;
}

/* スマホ対応（2列表示） */
@media screen and (max-width: 768px) {
  div.top-campaign-wrapper .campaign-container {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 10px;
  }
  div.top-campaign-wrapper .campaign-container a img {
    width: 100%;
    max-width: 240px;
  }
}

div.top-campaign-wrapper .campaign-container2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  max-width: 1000px;
  width: 100%;
  justify-items: center;
}
div.top-campaign-wrapper .campaign-container4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  max-width: 1000px;
  width: 100%;
  justify-items: center;
}

/* スマホ対応（2列表示） */
@media screen and (max-width: 768px) {
  div.top-campaign-wrapper .campaign-container4 {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 10px;
  }
  div.top-campaign-wrapper .campaign-container4 a img {
    width: 100%;
    max-width: 240px;
  }
}
