/* -----------------------------------------------------
   共通
  -----------------------------------------------------*/
#zoom {
    --base-color: #0b5cff;
}

#zoom {
    /* -----------------------------------------------------
    レイアウト上書き
    -----------------------------------------------------*/
    #layout-wrap {
        border-top: none;
    }
    #layout-wrap header {
        width: 1058px;
    }
    p {
        color: #444;
    }
    #layout-header-ad {
        display: inline-block;
        width: 728px;
        text-align: -webkit-right;
        background: #ccc;
    }
    #layout-header-ad .adcloud_frame {
        width: 728px;
        background-color: #ccc;
        margin: 0 0;
    }
    #layout-header-logo {
        display: inline-block;
        width: 300px;
        margin-right: 4px;
        vertical-align: top;
    }

    /* -----------------------------------------------------
    ロゴ周り
    -----------------------------------------------------*/
    #layout-header-logo {
        position: relative;
        height: 90px;
        background: url(/assets/img/zoom/logo.png?2025090501);
    }
    #layout-header-logo div#logo_header{
        position: absolute;
        top: 25px;
        left: 15px;
        width: 140px;
        text-indent: -9999px;
    }
    #layout-header-logo div#logo_header a{
        display: block;
        height: 40px;
    }
    header .ascii_logo{
        position: absolute;
        bottom: 25px;
        right: -5px;
        width: 105px;
        text-indent: -9999px;
    }
    header .ascii_logo a{
        display: block;
        height: 40px;
    }

    .catch_box {
        display: inline-block;
    }

    /* -----------------------------------------------------
    アーカイブ
    -----------------------------------------------------*/
    #article_archive{
        margin-bottom: 6px;
    }
    #article_archive .title-box{
        background-color: var(--base-color);
        padding: 8px 15px 6px 10px;
        line-height: 1.2;
    }
    #article_archive .title-box h2{
        font-size: 1rem;
        color: #fff;
        font-weight: 600;
    }
    #article_archive dl{
        background-color: #ffffff;
        font-size: 0.8rem;
        line-height: 1.6;
        padding-top: 5px;
        border: 1px solid #ddd;
        border-width: 0 1px 1px;
    }
    #article_archive dt{
        display: inline-block;
        margin: 0 5px 3px 0;
        padding: 4px 10px;
        font-weight: normal;
    }
    #article_archive dd{
        color: #ccc;
        display: inline-block;
        padding: 4px 9px 4px 0;
        margin-bottom: 3px;
    }

    /* -----------------------------------------------------
    右ペイン
    -----------------------------------------------------*/
    #right-sidebar{
        background-color: #ffffff;
    }

    /* 広告 */
    #ad_box{
        margin-bottom: 15px;
    }
    #ad_box div {
        margin-bottom: 10px;
    }

    /* Twitter・Facebook */
    #tw_box{
        margin-bottom: 15px;
    }
    #fb_box{
        margin-bottom: 15px;
    }

    /* 注目記事 */
    #sponsored_news{
        background-color: #f9f9f9;
        margin-bottom: 10px;
        border: 1px solid #ccc;
    }
    #sponsored_news .title-box{
        background-color: var(--base-color);
        color: #FFF;
    }
    #sponsored_news h2{
        margin: 0 0 0 0;
        padding: 5px 15px 6px 10px;
        font-size: 0.78em;
        font-weight: normal;
    }
    #sponsored_news ol{
        padding-top: 0;
        background: #fff;
    }
    #sponsored_news ol li a:hover {
        background: #f2f2f2;
        color: #000000;
    }
    #sponsored_news li{
        position: relative;
        border-bottom: 1px solid #dfdfdf;
        color: #666;
        display: grid;
        font-size: 0.75rem;
    }
    #sponsored_news li:after{
        display: block;
        clear: both;
        content: "";
    }
    #sponsored_news li i{
        position: absolute;
        top: 7px;
        left: 5px;
        border-radius: 3px;
        border-style: solid;
        border-width: 1px;
        display: block;
        font-style: normal;
        font-weight: bold;
        line-height: 17px;
        text-align: center;
        width: 18px;
        height: 17px;
    }
    #sponsored_news li a{
        display: block;
        padding: 15px 8px 10px 10px;
        color: #000000;
    }
    #sponsored_news li a:hover .img_box {
        opacity: 0.8;
    }
    #sponsored_news li .img_box {
        float: left;
        width: 60px;
        height: 60px;
        overflow: hidden;
    }
    #sponsored_news li .img_box img {
        width: 60px;
        height: 60px;
        object-fit: contain;
    }
    #sponsored_news li h3{
        float: left;
        margin-left: 10px;
        width: 200px;
        font-size: 0.8rem;
        font-weight: normal;
        padding-top: 3px;
    }
    #sponsored_news li .day_time {
        font-size: 0.7rem;
        color: #999;
        margin-left: 10px;
        display: inline-block;
        margin-right: 5px;
    }
}

/* -----------------------------------------------------
トップページ
-----------------------------------------------------*/
#zoom.top {
    .backnumber{
        margin-bottom: 30px;
    }
    .backnumber:after{
        display: block;
        clear: both;
        content: "";
    }
    .backnumber .title-box{
        background-color: var(--base-color);
        padding: 8px 15px 6px 10px;
        line-height: 1.2;
    }
    .backnumber h2{
        font-size: 1rem;
        color: #fff;
        font-weight: normal;
    }
    .backnumber h3{
        font-size: 0.8rem;
        font-weight: normal;
    }

    .backnumber ul li {
        border-bottom: 1px solid #dce4e7;
    }

    .backnumber ul li a {
        overflow: hidden;
        display: block;
        padding: 10px;
    }

    .backnumber ul li a:hover, #sideR ul li a:hover {
        background: #f2f2f2;
        text-decoration: none;
    }

    .backnumber ul li .thumb_img {
        margin-right: 15px;
        float: left;
    }

    .backnumber ul li .thumb_txt {
        padding: 0 5px 0 0;
        overflow: hidden;
    }

    .backnumber ul li p.subTitle {
        font-size: 80%;
        margin: 0 0 5px;
        font-weight: bold;
        color: #55757a;
    }

    .backnumber ul li h4 {
        font-weight: bold;
        color: #000000;
        font-size: 110%;
    }

    .backnumber ul li p.artTxt {
        font-size: 80%;
    }

    .backnumber .box_footer {
        background: #ffffff;
        border-top: 1px solid #ffffff;
        text-align: center;
        padding: 10px;
    }

    .backnumber .btn {
        display: inline-block;
        height: 30px;
        text-align: center;
        padding: 0 25px 0 10px;
        text-decoration: none;
        line-height: 30px;
        outline: none;
        background: var(--base-color) url(/img/ad/zoom/btn_arrow.png) no-repeat right 10px;
        color: #fff;
        border-radius: 3px;
        box-shadow: 0 3px 3px #ccc, inset 0 1px 1px #666;
    }

    .backnumber .btn:hover {
        /* text-decoration: underline; */
        /* background-color: #d44c4c; */
        opacity: 0.8;
    }
}

/* -----------------------------------------------------
   記事アーカイブ
  -----------------------------------------------------*/
#zoom.archive {
    .list_box h2{
        font-size: 1.2rem;
        margin-bottom: 15px;
        color:#444;
        font-weight: bold;
    }
    .list_box ul{
        margin-bottom: 10px;
        padding: 0 5px 10px;
        border-bottom: 1px solid #ccc;
    }
    .list_box li{
        position: relative;
        padding-left: 12px;
        line-height: 1.2;
        margin-bottom: 5px;
    }
    .list_box li:before{
        position: absolute;
        top: 1px;
        left: 0;
        font-family: "Font Awesome 5 Free";
        content: "\f0da";
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        font-weight: bold;
        color:#444;
    }
}

/* -----------------------------------------------------
   記事詳細
  -----------------------------------------------------*/
#zoom.detail {
    #detail_contents h2,
    #detail_contents h3{
        margin: 2em 0 1em;
        padding: 5px 5px 2px 12px;
        font-size: 1.1rem;
        line-height: 1.2;
        font-weight: 600;
        color: #263D5E;
        border-left: 8px solid #263D5E;
        background: #ccc;
        background: -moz-linear-gradient(top, #E8EAEE 0%, #fff 100%);
        background: -webkit-linear-gradient(top, #E8EAEE 0%,#fff 100%);
        background: linear-gradient(to bottom, #E8EAEE 0%,#fff 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E8EAEE', endColorstr='#fff',GradientType=0 );
    }
    #detail_contents h3{
        font-size: 1.0rem;
    }
    #detail_contents .style1 caption,
    #detail_contents .style2 caption {
        caption-side: top;
        text-align: center;
        color: #444;
        margin:0 0 5px;
        font-weight: 600;
    }
    #detail_contents tr.header th,
    #detail_contents tr.header th {
        background-color: #999;
    }
    #detail_contents .style1 th,
    #detail_contents .style2 th {
        background-color: #eee;
    }
    #detail_contents .photo {
        width: 600px;
    }
    #detail_contents .photo .rows2 {
        display: inline-block;
        width: 240px;
        vertical-align: top;
    }
    #detail_contents .photo.single {
        width: 600px;
    }
    #detail_special h2{
        border-left: 7px solid var(--base-color);
        border-bottom: 1px solid var(--base-color);
    }
    #detail_recommend h2{
        border-left: 7px solid var(--base-color);
        border-bottom: 1px solid var(--base-color);
    }
    #detail_contents .correct p{
        color: #f00;
    }
}

/* -----------------------------------------------------
   特集・連載
  -----------------------------------------------------*/
#zoom.special {
    #special_title{
        padding: 40px 10px 10px;
        border-top: 1px solid #aaa;
        border-bottom: 1px solid #ccc;
        background-color: #F4F5F7;
        position: relative;
        color: #444;
        min-height: 205px;
    }
    #special_title .special_type{
        background-color: #c00;
        color: #fff;
        padding: 0 5px;
        display: inline-block;
        font-size: 1.0rem;
        position: absolute;
        top: 10px;
        left: 10px;
    }
    #special_title h1{
        font-size: 1.4rem;
        color: #000;
        font-weight: 500;
        width: 550px;
    }
    #special_title p.lead{
        font-size: 1.0rem;
        width: 550px;
        margin-bottom: 15px;
    }
    #special_title .special_info{
        position: absolute;
        bottom: 10px;
        width: 710px;
    }
    #special_title .special_info:after{
        display: block;
        clear: both;
        content: "";
    }
    #special_title .author{
        font-size: 0.9rem;
        width: 480px;
        float: left;
    }
    #special_title time{
        font-size: 0.8rem;
        color: #666;
        text-align: right;
        display: block;
        float: right;
        width: 220px;
    }
    #special_title .title_img {
        width: 150px;
        height: 150px;
        position: absolute;
        top: 10px;
        right: 10px;
        background-color: #ffffff;
    }
    #special_title .title_img img {
        width: 150px;
        height: 150px;
        object-fit: contain;
    }
    #special_list .specail_box{
        position: relative;
        padding: 0 10px 15px;
        margin-bottom: 15px;
        border-bottom: 1px solid #ccc;
    }
    #special_list .specail_box a:hover {
        text-decoration: none;
    }
    #special_list .text_box{
        width: 575px;
        min-height: 125px;
    }
    #special_list .text_box h2{
        font-size: 1.1rem;
        line-height: 1.2;
        font-weight: 600;
        margin-bottom: 10px;
        color:#000000;
    }
    #special_list .specail_box a:hover h2 {
        text-decoration: underline;
    }
    #special_list .text_box .subtitle{
        font-size: 0.9rem;
        color: #55757a;
        font-weight: 600;
    }
    #special_list .text_box p{
        font-size: 0.9rem;
        line-height: 1.6;
        color: #444;
        margin-bottom: 15px;
    }
    #special_list .text_box time{
        font-size: 0.7rem;
        color: #666;
    }
    #special_list .img_box {
        width: 120px;
        height: 120px;
        position: absolute;
        top: 0;
        right: 10px;
        overflow: hidden;
        border:1px solid #ccc;
    }
    #special_list .specail_box a:hover .img_box {
        opacity: 0.8;
    }
    #special_list .img_box img {
        width: 120px;
        height: 120px;
        object-fit: contain;
    }
    #special_list .img_box img {
        width: 120px;
        height: 120px;
        object-fit: contain;
    }
}