@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Lato:300,400");

@font-face {
    font-family: 'icomoon';
    src: url("fonts/icomoon.eot?vnrqq5");
    src: url("fonts/icomoon.eot?vnrqq5#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?vnrqq5") format("truetype"), url("fonts/icomoon.woff?vnrqq5") format("woff"), url("fonts/icomoon.svg?vnrqq5#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-btn_arrow_down:before {
    content: "\e900";
    color: #e40012;
}

.icon-btn_arrow:before {
    content: "\e901";
    color: #e40012;
}

@media screen and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) {
    .icon-btn_arrow:before {
        background: url(/common/images/ico_arrow_l01.png) no-repeat;
    }
}

/* wrapper
----------------------------------------------------------------*/
#wrapper {
    min-width: 1160px;
    padding-bottom: 108px;
}

@media screen and (max-width: 979px) {
    #wrapper {
        min-width: 0;
        padding-bottom: 0px;
    }
}

@media screen and (max-width: 767px) {
    #wrapper {
        padding-bottom: 0px;
        overflow: hidden;
    }
}

/* main
----------------------------------------------------------------*/
#main.col1 {
    width: auto;
}

/* areaShareButtons
----------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .areaShareButtons {
        padding-bottom: 0;
    }
}

/* bxslider
----------------------------------------------------------------*/
.bx-viewport {
    overflow: visible !important;
}

/* topContainer
----------------------------------------------------------------*/
#topContainer * {
    box-sizing: border-box;
}

/* indexSlider01
----------------------------------------------------------------*/
#indexSlider01Wrap {
    /*padding-bottom: 50px;*/
    background-color: #f2f2f2;
}

#indexSlider01 {
    position: relative;
    width: 100%;
    margin: auto;
    background-color: #f2f2f2;
    background-image: url(/indexImage/ico_loader01.gif);
    background-repeat: no-repeat;
    background-position: center;
}

@media screen and (min-width: 768px) {
    #indexSlider01 {
        margin-right: auto;
        margin-left: auto;
    }

    .slick-slider,
    #indexSlider01 li.sp-slides {}
}

@media screen and (max-width: 767px) {
    #indexSlider01 {
        height: calc(51.8vw);
    }

    .slick-slider,
    #indexSlider01 .sp-slides {
        height: calc(51.8vw);
        ;
    }
}

#indexSlider01 .sp-slides {
    margin: 0 auto;
    max-width: 1920px !important;
    width: 100%;
}

#indexSlider01 .sp-slides a {
    display: block;
    height: 100%;
}

#indexSlider01 .sp-slides a .btn {
    display: table;
    width: 160px;
    height: 42px;
    position: absolute;
    right: 36px;
    bottom: 7.8048%;
    margin: 0;
    opacity: 0.85;
    transition: .2s;
}

@media screen and (max-width: 767px) {
    #indexSlider01 .sp-slides a .btn {
        display: none;
        right: 10px;
    }
}

#indexSlider01 .sp-slides a .btn span {
    display: table-cell;
    padding: 11px 15px 9px 36px;
    text-align: center;
    vertical-align: middle;
    background: #000 url(/common/images/ico_arrow_l01.png) no-repeat 15px center;
    color: #fff;
    font-weight: 600 !important;
    opacity: 0.85;
    transition: .2s;
}

#indexSlider01 .sp-slides a:hover .btn {
    opacity: 1;
}

#indexSlider01 .sp-slides a:hover .btn span {
    opacity: 1;
}

#indexSlider01.init {
    background-image: none;
}



.sp-horizontal .sp-arrows {
    display: inline-flex;
    opacity: .85;
    top: auto;
    left: 0;
    width: auto;
    margin-top: 0;
    box-sizing: border-box;
    transition: opacity .2s ease;
    z-index: 9999;
}

.sp-fade-arrows {
    transition: none;
}

@media screen and (min-width: 980px) {
    .sp-horizontal .sp-arrows {
        padding-left: 36px;
        bottom: 4%;
        opacity: 0;
        visibility: hidden;
    }

    #indexSlider01:hover .sp-arrows {
        opacity: .85;
        visibility: visible;
    }

    .sp-horizontal .sp-next-arrow {
        margin-left: 5px;
    }

}

@media screen and (max-width: 979px) {
    .sp-horizontal .sp-arrows {
        justify-content: center;
        bottom: 2%;
        left: 50%;
        transform: translateX(-50%);
        transition: all .2s ease;
    }

    .sp-horizontal .sp-next-arrow {
        margin-left: 35px;
    }
}

.sp-arrow {
    position: relative;
    width: 32px;
    height: 32px;
    border: solid 1px #cacaca;
    border-radius: 0;
    background-image: url(/indexImage/ico_arrow02.png);
    background-repeat: no-repeat;
    background-size: auto 50%;
    background-position: center center;
    background-color: #000;
    font-size: 0;
    z-index: 10;
    transition: all ease .2s;
}

@media screen and (max-width: 979px) {
    .sp-arrow {
        width: 24px;
        height: 24px;
    }
}

.sp-arrow:hover {
    opacity: 1;
}

.sp-horizontal .sp-next-arrow,
.sp-horizontal.sp-rtl .sp-previous-arrow,
.sp-horizontal .sp-previous-arrow {
    left: auto;
    right: auto;
}

.sp-arrow:before,
.sp-arrow:after {
    display: none;
}

.sp-next-arrow {
    transform: rotate(0);
}

.sp-horizontal.sp-rtl .sp-previous-arrow,
.sp-horizontal .sp-previous-arrow {
    transform: rotate(180deg);
}

.slide img {
    width: 100%;
}

/* indexProductInfo01
----------------------------------------------------------------*/
#indexProductInfo01 {
    background-color: #090909;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 {
        background-color: #222;
    }

    #indexProductInfo01 h2 {
        padding: 9px 0 4px;
        text-align: center;
        font-size: 18px;
        color: #fff;
        font-weight: 600 !important;
    }
}

#indexProductInfo01 a {
    text-decoration: none;
}

#indexProductInfo01 .cardList {
    overflow: hidden;
    border-top: solid 1px #2e2e2e;
}

@media screen and (min-width: 1536px) {
    #indexProductInfo01 .cardList {
        width: 1536px;
        margin-right: auto;
        margin-left: auto;
        border-left: 1px solid #666;
        border-right: 1px solid #666;
    }
}

#indexProductInfo01 .cardList > li {
    position: relative;
    float: left;
    width: calc(1/3*100%);
    height: 170px;
    border-left: 1px solid #3a3a3a;
    border-top: 1px solid #2e2e2e;
    background-color: #000;
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
    -webkit-tap-highlight-color: transparent;
}

#indexProductInfo01 .cardList > li:first-child {
    height: 340px;
    border-left: none;
    background-image: url(/indexImage/bg_indexProductInfo01_pc.jpg);
}

#indexProductInfo01 .cardList > li:nth-child(2) {
    background-image: url(/indexImage/bg_indexProductInfo02.jpg);
}

#indexProductInfo01 .cardList > li:nth-child(3) {
    background-image: url(/indexImage/bg_indexProductInfo03.jpg);
}

#indexProductInfo01 .cardList > li:nth-child(4) {
    background-image: url(/indexImage/bg_indexProductInfo04.jpg);
}

#indexProductInfo01 .cardList > li:nth-child(5) {
    background-image: url(/indexImage/bg_indexProductInfo05.jpg);
}

@media screen and (min-width: 980px) {
    #indexProductInfo01 .cardList > li:nth-child(-n+3) {
        border-top: none;
    }

    #indexProductInfo01 .cardList > li.current::after {
        background-color: rgba(38, 38, 38, 0.95);
    }
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    #indexProductInfo01 .cardList > li {
        width: calc(1/2*100%);
        height: 150px;
    }

    #indexProductInfo01 .cardList > li:first-child {
        height: 300px;
    }

    #indexProductInfo01 .cardList > li:first-child.current::after {
        background-color: rgba(38, 38, 38, 0.95);
    }

    #indexProductInfo01 .cardList > li:nth-child(-n+2) {
        border-top: none;
    }

    #indexProductInfo01 .cardList > li:nth-child(4) {
        border-left: none;
    }
}


@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li {
        width: 100%;
        height: 70px;
        border: none;
        background-size: auto 70px;
        margin-bottom: 5px;
        box-sizing: border-box;
    }

    #indexProductInfo01 .cardList > li:first-child {
        height: auto;
        background-size: auto 90px;
        background-image: url(/indexImage/bg_indexProductInfo01_sp.jpg);
        background-position: -39px top;
        margin-bottom: 20px;
        border-top: 1px solid #757575;
        border-bottom: 1px solid #757575;
    }

    #indexProductInfo01 .cardList > li:not(:first-child) {
        width: calc(100% - 20px);
        background-position: -19px top;
        margin: 0 10px 5px;
        border: 1px solid #757575;
    }

    #indexProductInfo01 .cardList > li:last-child {
        margin-bottom: 0;
    }
}

#indexProductInfo01 .cardList > li::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .2s;
}

@media screen and (-ms-high-contrast: none) and (min-width: 980px) {
    #indexProductInfo01 .cardList > li {
        width: calc((1/3 * 100%) - .1px) !important;
    }
}

@media screen and (-ms-high-contrast: none) and (min-width: 768px) and (max-width: 979px) {
    #indexProductInfo01 .cardList > li {
        width: calc((1/2 * 100%) - .1px) !important;
    }
}



#indexProductInfo01 .cardList > li > a {
    display: block;
    width: 100%;
    height: 100%;
}

#indexProductInfo01 .cardList > li > a[target="_blank"] .ttl .ja::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -2px;
    vertical-align: middle;
    width: 11px;
    height: 10px;
    margin-left: 11px;
    background-image: url(/common/images/ico_external02.png);
    background-repeat: no-repeat;
    background-size: 11px auto;
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li > a[target="_blank"] .ttl .ja::after {
        margin-left: 7px;
    }
}



#indexProductInfo01 .cardList > li .inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 30px;
    overflow: hidden;
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    #indexProductInfo01 .cardList > li .inner {
        padding: 30px 20px;
    }
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li .inner {
        padding: 19px 0 0 104px;
    }

    #indexProductInfo01 .cardList > li:first-child .inner {
        min-height: 90px;
        padding: 30px 0 0 115px;
    }
}



#indexProductInfo01 .cardList > li .ttl {
    display: block;
    position: relative;
    margin: 28px 0 12px;
    padding-left: 40px;
    transition: margin-top .4s;
}

#indexProductInfo01 .cardList > li:first-child .ttl {
    margin-top: 100px;
}

#indexProductInfo01 .cardList > li:first-child.current .ttl {
    margin-top: 28px;
}

#indexProductInfo01 .cardList > li .ttl::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    border: 1px solid #949494;
    border-radius: 50%;
    background-image: url(/indexImage/ico_arrow02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 6px auto;
}

#indexProductInfo01 .cardList > li:first-child .ttl::before {
    background-image: url(/indexImage/ico_arrow03.png);
    background-size: 14px auto;
}

#indexProductInfo01 .cardList > li:first-child.current .ttl::before {
    border-color: #fff;
    background-color: #fff;
    background-image: url(/indexImage/ico_arrow_down02.png);
}

#indexProductInfo01 .cardList > li .ttl .ja {
    margin-bottom: .25em;
    color: #fff;
    font-size: 142.8571%;
}

#indexProductInfo01 .cardList > li .ttl .en {
    color: #999;
    font-family: 'Lato', sans-serif;
    font-size: 85.7142%;
    font-weight: 400;
}

@media screen and (min-width: 980px) {
    #indexProductInfo01 .cardList > li.current .ttl {
        margin-top: 0px;
    }

    #indexProductInfo01 .cardList > li.current .ttl::before {
        border-color: #df2618;
        background-image: url(/indexImage/ico_arrow01.png);
    }
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    #indexProductInfo01 .cardList > li .ttl {
        margin-top: 18px;
    }

    #indexProductInfo01 .cardList > li:first-child.current .ttl {
        margin-top: 8px;
    }
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li .ttl {
        margin: 0;
        padding: 0 27px 0 0;
    }

    #indexProductInfo01 .cardList > li:first-child .ttl {
        margin-top: 0;
        padding: 0 20px 25px 0;
    }

    #indexProductInfo01 .cardList > li:first-child.current .ttl {
        margin-top: 0;
    }

    #indexProductInfo01 .cardList > li:first-child .ttl::after {
        content: '';
        display: block;
        position: absolute;
        left: -115px;
        bottom: -1px;
        width: 100vw;
        border-top: 1px solid #2e2e2e;
    }

    #indexProductInfo01 .cardList > li:first-child .ttl::before {
        top: 0;
        left: auto;
        right: 30px;
    }

    #indexProductInfo01 .cardList > li:not(:first-child) .ttl::before {
        top: 4px;
        left: auto;
        right: 27px;
        width: 9px;
        height: 20px;
        border: none;
        border-radius: 0;
        background-size: 9px 20px;
    }

    #indexProductInfo01 .cardList > li:first-child.current .ttl::before {
        border-color: #949494;
        background-color: transparent;
        background-image: url(/indexImage/ico_minus01.png);
    }

    #indexProductInfo01 .cardList > li .ttl .ja {
        margin-bottom: 2px;
        line-height: 1;
        font-size: 114.2857%;
    }

    #indexProductInfo01 .cardList > li .ttl .en {
        font-size: 78.5714%;
    }
}



#indexProductInfo01 .cardList > li .hideArea {
    color: #ccc;
    opacity: 0;
    transition: opacity .5s;
}

@media screen and (min-width: 980px) {
    #indexProductInfo01 .cardList > li.current .hideArea {
        display: block;
        opacity: 1;
    }
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li .hideArea {
        display: none;
        margin-left: -115px;
    }
}


#indexProductInfo01 .cardList > li:first-child .hideArea_in {
    padding: 0 0 14px;
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li:first-child .hideArea_in {
        padding-top: 14px;
        padding: 14px 15px;
    }
}

#indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 {
    margin-top: 12px;
}

#indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 li {
    text-align: left;
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 li {
        text-align: center;
    }
}

#indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 li + li {
    margin-top: 6px;
}

#indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 .btn01 > span {
    width: 240px;
    margin: 0;
    background-color: #333;
    color: #fff;
    text-align: left;
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    #indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 .btn01 > span {
        height: 42px;
    }
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 .btn01 > span {
        width: 290px;
        margin: 0 auto;
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 .btn01 > span i {
        position: absolute;
        top: 2px;
        bottom: 0;
        left: 15px;
        height: 12px;
        margin: auto;
    }
}

#indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 .btn01[target="_blank"] span::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -2px;
    vertical-align: middle;
    width: 11px;
    height: 10px;
    margin-left: 11px;
    background-image: url(/common/images/ico_external02.png);
    background-repeat: no-repeat;
    background-size: 11px auto;
}

@media screen and (max-width: 767px) {
    #indexProductInfo01 .cardList > li:first-child .hideArea_in .btnList01 .btn01[target="_blank"] span::after {
        margin-left: 7px;
    }
}

@media screen and (min-width: 980px) {
    #indexProductInfo01 .cardList > li:first-child .hideArea_in .btn01:hover > span {
        border-color: #fff;
        background-color: #fff;
        color: #000;
    }

    #indexProductInfo01 .cardList > li:first-child .hideArea_in .btn01:hover[target="_blank"] span::after {
        background-image: url(/common/images/ico_external01.png);
    }
}

#indexProductInfo01 .cardList > li:first-child.current .hideArea {
    opacity: 1;
}


#indexProductInfo01 .btn_indexProductInfo01 {
    padding: 30px 0;
    background-color: #262626;
}

#indexProductInfo01 .btn_indexProductInfo01 .btn01 span {
    width: 170px;
    height: 38px;
    background-color: #333;
    color: #fff;
}

@media screen and (min-width: 980px) {
    #indexProductInfo01 .btn_indexProductInfo01 .btn01:hover span {
        border-color: #fff;
        background-color: #fff;
        color: #000;
    }
}


/* btnList01
----------------------------------------------------------------*/
.btnList01 li {
    text-align: center;
    font-size: 0;
}

.btnList01 .btn01 {
    display: inline-block;
    position: relative;
    width: auto;
    height: auto;
    margin: 0 auto;
    background: transparent;
    padding: 0;
    border: none;
    font-size: 14px;
}

.btnList01 .btn01 > span {
    width: 180px;
    height: 46px;
    padding: 3px 15px 0;
    border: 1px solid #808080;
    text-align: center;
    transition: .2s;
}

.btnList01 .btn01 > span i {
    margin: 0 5px 0 -5px;
    font-size: 12px;
}

@media screen and (min-width: 980px) {
    .btnList01 .btn01:hover > span {
        background-color: #000;
        color: #fff;
    }
}

@media screen and (max-width: 767px) {
    .btnList01 .btn01 > span {
        width: 180px;
        padding: 3px 15px 0;
    }
}

.btnList01 .btn01.anime::after,
.btnList01 .btn01.anime::before,
.btnList01 .btn01.anime > span::after,
.btnList01 .btn01.anime > span::before {
    content: '';
    display: block;
    position: absolute;
    background-color: #000;
    z-index: 10;
    transition: all .3s;
    -webkit-transition: all .3s;
}

.btnList01 .btn01.anime::after {
    bottom: 0px;
    left: 0px;
    width: 0px;
    height: 1px;
}

.btnList01 .btn01.anime::before {
    top: 0px;
    right: 0px;
    width: 0px;
    height: 1px;
}

.btnList01 .btn01.anime > span::after {
    top: 0px;
    left: 0px;
    width: 1px;
    height: 0px;
}

.btnList01 .btn01.anime > span::before {
    right: 0px;
    bottom: 0px;
    width: 1px;
    height: 0px;
}

@media screen and (min-width: 980px) {
    .btnList01 .btn01.anime:hover::before {
        width: 100%;
    }

    .btnList01 .btn01.anime:hover::after {
        width: 100%;
    }

    .btnList01 .btn01.anime:hover > span::before {
        height: 100%;
    }

    .btnList01 .btn01.anime:hover > span::after {
        height: 100%;
    }
}

/* indexSec01
----------------------------------------------------------------*/
.indexSec01 {
    padding: 70px 0 80px;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s;
}

@media screen and (max-width: 767px) {
    .indexSec01 {
        padding: 40px 0 30px;
    }
}

.indexSec01 .h2_indexSec01 {
    position: relative;
    top: 50px;
    margin-bottom: 45px;
    font-size: 42px;
    text-align: center;
    transition: top .5s;
}

@media screen and (max-width: 767px) {
    .indexSec01 .h2_indexSec01 {
        margin-bottom: 22px;
        font-size: 26px;
    }
}

.indexSec01 .lead_indexSec01 {
    position: relative;
    top: 50px;
    text-align: center;
    transition: top .5s;
}

@media screen and (max-width: 767px) {
    .indexSec01 .lead_indexSec01 {
        margin: 0 10px;
        text-align: left;
    }
}

.indexSec01 .indexSec01_in {
    position: relative;
    width: 100%;
    max-width: 1536px;
    margin: 0 auto;
    transition: top .5s;
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    .indexSec01 .indexSec01_in {
        width: calc(100% - 10%);
    }
}

@media screen and (max-width: 767px) {
    .indexSec01 .indexSec01_in {
        width: auto;
    }
}

.indexSec01 .inlineBtnUnit01 {
    position: relative;
    top: 50px;
    transition: top .5s;
}

.indexSec01.init {
    opacity: 1;
    visibility: visible;
}

.indexSec01.init .h2_indexSec01 {
    top: 0;
}

.indexSec01.init .lead_indexSec01 {
    top: 0;
}

.indexSec01.init .indexSec01_in {
    top: 0;
}

.indexSec01.init .inlineBtnUnit01 {
    top: 0;
}

/* topicsSec01
----------------------------------------------------------------*/
.topicsSec01 {
    background-color: #f5f5f5;
    background-image: -webkit-linear-gradient(bottom, #fff 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0) 100%), url(/indexImage/bg_topicsSec01.png);
    background-image: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0) 100%), url(/indexImage/bg_topicsSec01.png);
    background-repeat: no-repeat, no-repeat;
    background-position: top center, top center;
    background-size: auto, auto;
}

@media screen and (max-width: 767px) {
    .topicsSec01 .btn_topicsTile01 {
        margin-top: 25px;
    }
}

.topicsSec01 .txtBox {
    padding: 20px 0 50px;
}

@media screen and (max-width: 767px) {
    .topicsSec01 .txtBox {
        padding: 10px 10px 60px;
    }
}

/* topicsTile01
----------------------------------------------------------------*/
.topicsTile01 {
    /*height: auto !important;*/
}

.topicsTile01 .topicsTile01_in {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -30px;
}

@media screen and (min-width: 768px) {
    .topicsTile01 .topicsTile01_in {
        padding: 0 10px;
    }
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    .topicsTile01 .topicsTile01_in {
        margin-left: -5vw;
    }
}

@media screen and (max-width: 767px) {
    .topicsTile01 .topicsTile01_in {
        /*display: block;*/
        margin-left: 0;
    }
}


.topicsTile01 .topicsCard01 {
    /*width: 264px;*/
    width: calc(100% / 4 - 30px);
    margin-left: 30px;
    margin-bottom: 32px;
}

.topicsTile01 .topicsCard01:nth-child(n+9) {
    display: none;
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    .topicsTile01 .topicsCard01 {
        width: calc(100% / 2 - 5vw);
        /*width: 292px;*/
        margin-left: 5vw;
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    .topicsTile01 .topicsCard01 {
        width: 100%;
        margin-left: 0;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.topicsTile01 .topicsCard01 > div {
    height: 100%;
}


.topicsTile01 .topicsCard01 a {
    position: relative;
    display: block;
    height: 100%;
    color: #000;
    text-decoration: none;
}

.topicsTile01 .topicsCard01 a .img {
    position: relative;
    /*margin-bottom: 10px;*/
    background-image: url(/indexImage/ico_loader01.gif);
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
    border-bottom: 1px solid #e6e6e6;
}

.topicsTile01 .topicsCard01 a .img::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    transition: .2s;
}

.topicsTile01 .topicsCard01 a .img img {
    width: 100%;
    /*width: 264px;*/
    /*height: 165px;*/
    transition: .2s;
}

@media screen and (min-width: 768px) {
    .topicsTile01 .topicsCard01 a:hover .img img {
        transform: scale(1.05);
    }
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    .topicsTile01 .topicsCard01 a .img img {
        /*width: 292px;*/
        /*height: 183px;*/
    }
}

@media screen and (max-width: 767px) {
    .topicsTile01 .topicsCard01 {
        width: calc(50% - 10px);
        margin: 0 5px 12px;
    }

    /*.topicsTile01 .topicsCard01:nth-child(3),
  .topicsTile01 .topicsCard01:nth-child(4) {
    margin-bottom: 0; }*/
    .topicsTile01 .topicsCard01 a .img {
        margin-bottom: 5px;
        height: 29vw;
        /*border: solid 1px #ccc;*/
        overflow: hidden;
    }

    .topicsTile01 .topicsCard01 a .img img {
        width: 100%;
        height: auto;
        border: none;
    }
}

.topicsTile01 .topicsCard01 a .category {
    position: absolute;
    bottom: 17px;
    right: 0;
    margin: 0;
    min-width: 30%;
    padding: 3px 5px;
    text-align: center;
    background-color: #949494;
    line-height: 1.3;
    color: #fff;
    font-size: 12px;
}

@media screen and (max-width: 767px) {
    .topicsTile01 .topicsCard01 a .category {
        bottom: 25px;
        right: auto;
        left: 10px;
        padding: 2px 5px;
        font-size: 9px;
        letter-spacing: -.03em;
    }
}

/*.topicsTile01 .topicsCard01 a .txtBox .tag {
      display: -webkit-flex;
      display: flex;
      margin-bottom: 5px;
      font-size: 13px; }*/
/*.topicsTile01 .topicsCard01 a .txtBox .tag .category {
        width: 40%;
        text-align: center;
        background-color: #8d8d8d;
        color: #fff;
        font-size: 12px;
        margin-bottom: 2px;
        padding-top: 2px; }*/
.topicsTile01 .topicsCard01 a .date {
    position: absolute;
    bottom: 20px;
    font-size: 10px;
    color: #3c3c3c;
}

@media screen and (max-width: 767px) {
    .topicsTile01 .topicsCard01 a .date {
        bottom: 5px;
        left: 10px;
        font-size: 9px;
    }
}

.topicsTile01 .topicsCard01 a .txtBox .txt {
    font-size: 15px;
    font-weight: 400 !important;
}

@media screen and (min-width: 980px) {
    .topicsTile01 .topicsCard01 a:hover .img {
        /*margin-bottom: 10px;*/
    }

    .topicsTile01 .topicsCard01 a:hover .img::before {
        opacity: .2;
    }

    .topicsTile01 .topicsCard01 a:hover .txt {
        text-decoration: underline;
    }
}

@media screen and (max-width: 767px) {
    .topicsTile01 .topicsCard01 a .txtBox .tag {
        display: block;
        font-size: 12px;
    }

    .topicsTile01 .topicsCard01 a .txtBox .tag .category {
        width: 100%;
    }

    .topicsTile01 .topicsCard01 a .txtBox .tag .date {
        width: 100%;
        text-align: left;
    }

    .topicsTile01 .topicsCard01 a .txtBox .txt {
        font-size: 14px;
        line-height: 1.55;
    }
}

/* corpInfoSec01
----------------------------------------------------------------*/
.corpInfoSec01.indexSec01 {
    padding: 0;
    position: relative;
    border-bottom: 1px solid #ccc;
    background: rgb(48, 49, 50);
    background: linear-gradient(125deg, rgba(48, 49, 50, 1) 20%, rgba(0, 0, 0, 1) 70%);
    background-position: center top !important;
}

.corpInfoSec01:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0);
    background: linear-gradient(180deg, rgba(0, 0, 0, .0) 0%, rgba(0, 0, 0, 1) 20%);
    box-shadow: 0 5px 0 #fff;
}

.corpInfoSec01::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/indexImage/bg_corpInfoSec02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
}

@media screen and (min-width: 768px) {
    .corpInfoSec01::before {
        background-size: 100% auto;
    }
}

.corpInfoSec01 .h2_indexSec01 {
    position: relative;
    top: 50px;
    margin-bottom: 0;
    padding: 20px 0 10px;
    font-size: 26px;
    text-align: center;
    transition: top .5s;
    z-index: 1;
    color: #fff;
}

@media screen and (min-width: 768px) {
    .corpInfoSec01.indexSec01 .h2_indexSec01 {
        font-size: 30px;
    }
}

@media screen and (min-width: 980px) {
    .corpInfoSec01.indexSec01 .h2_indexSec01 {
        padding-top: 60px;
        padding-bottom: 30px;
        text-align: center;
        font-size: 42px;
        color: #fff;
    }
}

.corpInfoSec01 .indexSec01_in {
    position: relative;
    z-index: 1;
}

/* corpInfoList
----------------------------------------------------------------*/
@media screen and (min-width: 980px) {
    .corpInfoList_wrap {
        display: flex;
    }
}


@media screen and (min-width: 768px) and (max-width: 979px) {
    .corpInfoSec01 .indexSec01_in {
        width: 100%;
    }
}

.corpInfoList_wrap {
    position: relative;
    z-index: 1;
}

.corpInfoList_wrap:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/indexImage/bg_pat_corpinfo.png);
    background-size: 8px 8px;
    background-repeat: repeat;
    background-position: center center;
    pointer-events: none;
    z-index: -1;
    opacity: .7;
}


.corpInfoList {
    position: relative;
    padding: 3vw 5% 5vw;
    background-image: url(/indexImage/bg_grad_corpinfo.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left top;
}

@media screen and (min-width: 980px) {
    .corpInfoList {
        width: calc(100% / 2);
        padding: 30px;
    }
}

.corpInfoList a {
    cursor: pointer;
    text-decoration: none;
    color: #000;
}

.corpInfoList_block + .corpInfoList_block {
    margin-top: 5vw;
}

@media screen and (min-width: 768px) {
    .corpInfoList_block + .corpInfoList_block {
        margin-top: 30px;
    }
}

.corpInfoList_block > .corpInfoList_block_inner {
    display: block;
    width: 100%;
    min-height: 140px;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 0 6px rgba(0, 0, 0, .45);
}

@media screen and (min-width: 980px) {
    .corpInfoList_block > .corpInfoList_block_inner {
        display: flex;
        align-items: center;
        background-color: rgba(255, 255, 255, 0.95);
    }
}

.corpInfoList h3 a,
.corpInfoList_block > a,
.corpInfoList_block > a *,
.corpInfoList h3 a:before,
.corpInfoList.noimg a,
.corpInfoList.noimg h3 {
    transition: all .3s ease;
}

.corpInfoList_block > a:hover,
.corpInfoList.noimg a:hover {
    background-color: rgba(255, 255, 255, 1);
}

.corpInfoList_block > a:hover dt {
    color: #FC0000;
}

.corpInfoList_block > a:hover img,
.corpInfoList.noimg a:hover img {
    /*opacity: .8;*/
    transform: scale(1.05);
}

.corpInfoList_block dl {
    padding: 20px;
}

@media screen and (min-width: 768px) {
    .corpInfoList_block dl {
        padding: 10px 30px;
    }
}

@media screen and (max-width: 767px) {
    .corpInfoList_block dl {
        border-top: 1px solid #e6e6e6;
    }
}

.corpInfoList_block dt {
    position: relative;
    font-weight: 600 !important;
    font-size: 15px;
    font-weight: 600 !important;
}

.corpInfoList_block a dt {
    padding-left: 1.2em;
}

@media screen and (max-width: 767px) {
    .corpInfoList_block dt {
        font-size: 14px;
    }
}

.corpInfoList_block a dt:before {
    /*content: "\e906";
      margin-right: .5em;
      line-height: 1;
      font-family: 'icomoon' !important;
      color: #f00;*/
    content: "";
    position: absolute;
    top: .75em;
    left: 0;
    transform: translateY(-50%);
    display: inline-block;
    width: 10px;
    height: 1em;
    vertical-align: middle;
    /*background-image: url(/common/images/ico_arrow_l02.png);*/
    background-image: url(/indexImage/ico_arrow01.png);
    background-repeat: no-repeat;
    background-size: 6px auto;
    background-position: 2px center;
    text-decoration: none;
    font-weight: 600 !important;
}

.corpInfoList_block dd {
    margin-top: 5px;
}

.corpInfoList_block figure {
    position: relative;
    flex: 0 0 45%;
    min-height: 200px;
    overflow: hidden;
}

.corpInfoList_block figure img {
    height: 200px;
    width: 100%;
    object-fit: cover;
}

@media all and (-ms-high-contrast: none) {
    .corpInfoList_block > a:hover img {
        transform: translate(-50%, -50%) scale(1.05);
    }

    .corpInfoList_block figure img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        min-height: 200px;
        min-width: 100%;
        width: auto;
    }
}

.corpInfoList_block figure img.pos-r-t {
    object-position: right top;
}

.corpInfoList_block.img_small figure {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

.corpInfoList_block.img_small figure img {
    object-fit: contain;
}

@media screen and (max-width: 979px) {
    .corpInfoList_block.img_small figure img {
        height: calc(200px * .5);
    }
}

@media screen and (min-width: 980px) {
    .corpInfoList_block.img_small figure img {
        width: 40%;
    }
}

.corpInfoList h3 a,
.corpInfoList.noimg h3,
.corpInfoList_head.no-icon h3 {
    position: relative;
    display: inline-flex;
    letter-spacing: .15em;
    font-size: 142.8571%;
    font-weight: 600 !important;
}

.corpInfoList h3 a {
    color: #fff;
}

@media screen and (max-width: 767px) {

    .corpInfoList h3 a,
    .corpInfoList.noimg h3,
    .corpInfoList_head.no-icon h3 {
        display: flex;
        width: 100%;
        margin: 10px 0;
        font-size: 114.2857%;
    }

    .corpInfoList h3 a {
        padding: 3vw 20px;
        border: 1px solid #e6e6e6;
    }
}

@media screen and (min-width: 768px) {

    .corpInfoList h3 a,
    .corpInfoList.noimg h3,
    .corpInfoList_head.no-icon h3 {
        justify-content: center;
        text-align: center;
        margin: 28px 5px 20px;
    }
}

.corpInfoList h3 a:before,
.corpInfoList.noimg h3:before {
    content: '';
    display: block;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-right: 10px;
    border: 1px solid #949494;
    border-radius: 50%;
    background-image: url(/indexImage/ico_arrow02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 6px auto;
    font-size: 0;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
    .corpInfoList h3 a:before {
        display: none;
    }

    .corpInfoList h3 a:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 27px;
        transform: translateY(-50%);
        width: 9px;
        height: 20px;
        background-image: url(/common/images/ico_arrow_l02_2x.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 9px 20px;
    }
}

.corpInfoList h3 a:hover:before {
    border: 1px solid #fc0000;
    background-image: url(/indexImage/ico_arrow01.png);
}

.corpInfoList.noimg a:hover h3 {
    color: #fc0000;
}

.corpInfoList_head {
    margin-bottom: 20px;
    text-shadow: 0 0 13px #000;
    color: #fff;
}

.corpInfoList_head a {
    color: #fff;
}

@media screen and (min-width: 768px) {
    .corpInfoList_head {
        margin-bottom: 30px;
        text-align: center;
    }

    .ms .corpInfoList_head,
    .chaseyourdream .corpInfoList_head {
        margin-bottom: 10px;
    }
}

.corpInfoList.noimg a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 0 6px rgb(0 0 0 / 45%);
}

@media screen and (min-width: 978px) {
    .corpInfoList.noimg a {
        padding: 30px 50px;
        background-color: rgba(255, 255, 255, 0.9);
    }

    .corpInfoList.noimg a:hover {
        background-color: rgba(255, 255, 255, 1);
    }
}

.corpInfoList.noimg a h3 {
    margin: 0 0 20px 0;
}

.corpInfoList.noimg a h3:before {
    border: 1px solid #fc0000;
    background-image: url(/indexImage/ico_arrow01.png);
}



/* recruitSec01
----------------------------------------------------------------*/
.recruitSec01 {
    padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
    .recruitSec01 {
        padding-bottom: 30px;
    }
}

.recruitSec01 .h2_indexSec01 {
    margin-bottom: 10px;
}

.recruitSec01 .lead_indexSec01 {
    margin-bottom: 20px;
}

.recruitSec01 .inlineBtnUnit01 .unit:nth-child(1) {
    background-image: url(/indexImage/bg_recruitSec01.jpg);
}

.recruitSec01 .inlineBtnUnit01 .unit:nth-child(2) {
    background-image: url(/indexImage/bg_recruitSec02.jpg);
}

/* inlineBtnUnit01
----------------------------------------------------------------*/
.inlineBtnUnit01 {
    display: flex;
    margin-bottom: 36px;
}

@media screen and (max-width: 767px) {
    .inlineBtnUnit01 {
        display: block;
        margin-bottom: 20px;
    }
}

.inlineBtnUnit01 .unit {
    width: 50%;
    padding: 72px 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    .inlineBtnUnit01 .unit {
        width: auto;
        padding: 35px 0;
    }
}

.inlineBtnUnit01 .unit .btn01 > span {
    width: 220px;
    height: 60px;
    background-color: rgba(0, 0, 0, 0.2);
    border: 2px solid #ccc;
    color: #fff;
    font-size: 18px;
}

.inlineBtnUnit01 .unit .btn01::after {
    height: 2px;
}

.inlineBtnUnit01 .unit .btn01::before {
    height: 2px;
}

.inlineBtnUnit01 .unit .btn01 > span::after {
    width: 2px;
}

.inlineBtnUnit01 .unit .btn01 > span::before {
    width: 2px;
}

@media screen and (min-width: 980px) {
    .inlineBtnUnit01 .unit .btn01.anime:hover {
        background-color: #000;
    }
}

/* InvestorSec01
----------------------------------------------------------------*/
.InvestorSec01 {
    padding-top: 40px;
}

@media screen and (max-width: 767px) {
    .InvestorSec01 {
        padding-top: 30px;
    }
}

.InvestorSec01 .h2_indexSec01 {
    margin-bottom: 10px;
}

.InvestorSec01 .lead_indexSec01 {
    margin-bottom: 20px;
}

.InvestorSec01 .inlineBtnUnit01 .unit:nth-child(1) {
    background-image: url(/indexImage/bg_InvestorSec01.jpg);
}

.InvestorSec01 .inlineBtnUnit01 .unit:nth-child(2) {
    background-image: url(/indexImage/bg_InvestorSec02.jpg);
}

/* indexTab01
----------------------------------------------------------------*/
.indexTab01 {
    position: relative;
    top: 50px;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    max-width: 1536px;
    margin: 20px auto 0;
    transition: top .5s, opacity .5s;
}

.indexTab01 .indexTab01_inner {
    position: relative;
}

@media screen and (min-width: 980px) {
    .indexTab01 {
        display: flex;
        justify-content: space-between;
    }

    .indexTab01 .indexTab01_inner {
        width: calc(50% - 17px);
    }

    .indexTab01 .indexTab01_inner + .indexTab01_inner {
        margin-left: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 979px) {
    .indexTab01 {
        width: auto;
        margin-top: 10px;
    }
}

@media screen and (max-width: 767px) {
    .indexTab01 {
        width: auto;
        margin-top: 50px;
    }
}

.indexTab01.init {
    top: 0;
    opacity: 1;
    visibility: visible;
}

.indexTab01.init .btnList01 .btn01 > span {
    background-image: url(/indexImage/ico_arrow01.png);
    background-repeat: no-repeat;
    background-position: 15px center;
    background-size: 6px auto;
}

@media screen and (max-width: 767px) {
    .indexTab01.init .btnList01 .btn01 > span {
        width: auto;
        padding: 3px 10px 0 25px;
    }
}

.indexTab01 .indexTabBar01 {
    display: flex;
    position: relative;
    border-bottom: 4px solid #eaecef;
}

.indexTab01 .indexTabBar01 > li {
    width: 100%;
    transition: .2s;
}

.indexTab01 .indexTabBar01 > li > .tit a {
    display: block;
    position: relative;
    padding: 22px 0 18px;
    color: #000;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    transition: .2s;
}

@media screen and (max-width: 767px) {
    .indexTab01 .indexTabBar01 > li > .tit a {
        padding: 20px 0;
        font-size: 16px;
    }
}

.indexTab01 .indexTabBar01 > li > .tit a::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: -3px;
    width: 26px;
    height: 26px;
    margin: 0 16px 0 -5px;
    border: 1px solid #e50618;
    border-radius: 50%;
    background-image: url(/indexImage/ico_arrow01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 6px auto;
}

@media screen and (max-width: 767px) {
    .indexTab01 .indexTabBar01 > li > .tit a::before {
        position: absolute;
        top: auto;
        left: 0;
        right: 0;
        bottom: 8px;
        width: 12px;
        height: 6px;
        margin: auto;
        border: none;
        background-image: url(/indexImage/ico_arrow_down01.png);
        background-size: 12px auto;
    }
}

.indexTab01 .indexTabBar01 > li > .content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.indexTab01 .indexTabBar01 > .current > .tit a {
    background-color: #eaecef;
}

.indexTab01 .indexTabBar01 > .current > .tit a::before {
    border-color: #fff;
    background-color: #fff;
    background-image: url(/indexImage/ico_arrow_down02.png);
    background-size: 12px auto;
}

@media screen and (max-width: 767px) {
    .indexTab01 .indexTabBar01 > .current > .tit a::before {
        border: none;
    }
}

@media screen and (min-width: 980px) {
    .indexTab01 .indexTabBar01 > li:not(.current):hover {
        background-color: #f4f5f7;
    }
}

.indexTab01 .indexTabCont01 {
    /*margin-bottom: 37px;*/
}

@media screen and (max-width: 979px) {
    .indexTab01 .indexTabCont01 {
        margin-bottom: 0;
        height: auto !important;
    }
}

.indexTab01 .news01 {
    overflow: hidden;
    border-bottom: 1px solid #e6e6e6;
}

.indexTab01 .news01 a {
    display: flex;
    flex-wrap: wrap;
    padding: 28px 20px 20px;
    min-height: 76px;
    color: #000;
    text-decoration: none;
}

@media screen and (max-width: 767px) {
    .indexTab01 .news01 a {
        padding: 15px 20px 15px 10px;
    }
}

@media screen and (min-width: 980px) {
    .indexTab01 .news01 a {
        /*height: 141px;*/
    }

    .indexTab01 .news01 a:hover dd {
        text-decoration: underline;
    }
}

.indexTab01 .news01 .category {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    margin-right: 40px;
    background-color: #999;
    color: #fff;
    font-size: 13px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .indexTab01 .news01 .category {
        margin-right: 15px;
    }
}

.indexTab01 .news01 .date {
    min-width: 124px;
    margin-right: 10px;
}

.indexTab01 .news01 .txt {
    clear: both;
    width: 100%;
    padding-left: 18px;
    margin-top: 5px;
    background-image: url(/indexImage/ico_arrow01.png);
    background-repeat: no-repeat;
    background-position: left 2px top .15em;
    background-size: 6px auto;
}

@media screen and (min-width: 980px) {

    .indexTab01 .news01.topNewsInfo .read,
    .indexTab01 .news01.topNewsInfo .txt span {
        display: inline-block;
        max-width: calc(100% - 24px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: bottom;
    }
}

@media screen and (min-width: 980px) {
    .indexTab01 .news01 .category {
        max-height: 2em;
    }

    .indexTab01 .news01 a .read {
        /* height: calc(1.64em * 3); */
        height: 1.64em;
        line-height: 1.64em;
        letter-spacing: -.02em;
        overflow: hidden;
        /* text-overflow: ellipsis;
          white-space: nowrap;
          width: 100%; */
    }

    .indexTab01 .news01 a .txt.read {
        /* height: calc(1.64em * 4); */
        height: calc(1.64em * 2);
        line-height: 1.64em;
        letter-spacing: -.02em;
    }

    .indexTab01 .news01 a:hover .txt,
    .indexTab01 .news01 a:hover .read {
        text-decoration: underline;
    }
}

@media screen and (max-width: 767px) {
    .indexTab01 .news01 .txt {
        display: block;
        clear: both;
        margin-left: 0;
    }
}

.indexTab01 .indexTabBtn01 .btnList01 {
    letter-spacing: -.4em;
    text-align: center;
}

.indexTab01 .indexTabBtn01 .btnList01 > li {
    display: inline-block;
    vertical-align: middle;
    letter-spacing: normal;
}

.indexTab01 .indexTabBtn01 .btnList01 > li + li {
    margin-left: 5px;
}

.indexTab01 .indexTabBtn01 .btnList01 .rss {
    display: block;
    width: 46px;
    height: 46px;
    background-color: #f08a34;
    background-image: url(/indexImage/ico_rss01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px auto;
    font-size: 0;
    transition: .2s;
}

@media screen and (min-width: 980px) {
    .indexTab01 .indexTabBtn01 .btnList01 a:hover .rss {
        opacity: .8;
    }
}

.indexTab01_ttl {
    margin-left: 10px;
    font-size: 30px;
    line-height: 2;
}

@media screen and (max-width: 767px) {
    .indexTab01_ttl {
        display: flex;
        align-items: center;
        width: calc(100% - 175px);
        min-height: 46px;
        margin-bottom: 10px;
        margin-left: 10px;
        font-size: 18px;
        /*font-size: 26px;*/
        letter-spacing: -.05em;
        line-height: 1.2;
        padding: 0;
    }

    .indexTab01 .indexTabBtn01 .btnList01 .rss {
        background-size: 50% auto;
    }
}

.indexTab01_inner {
    margin: 70px 0 0;
}

.indexTab01_inner:nth-child(2) {
    margin: 70px 0 0;
}

@media screen and (max-width: 767px) {
    .indexTab01_inner {
        margin: 40px 0 30px;
    }

    .indexTab01_inner:nth-child(2) {
        margin: 50px 0 0;
    }
}

/* sliderpro
----------------------------------------------------------------*/
.topicsSec01 .sp-slide {
    position: static;
}

.topicsSec01 .sp-horizontal .sp-arrows {
    top: -55px;
    margin: 0;
    z-index: 5;
}

.topicsSec01 .sp-horizontal .sp-arrows .sp-arrow {
    width: 32px;
    height: 78px;
    background-image: url(/indexImage/ico_slider_arrow01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 32px auto;
}

.topicsSec01 .sp-horizontal .sp-previous-arrow {
    left: 0;
}

.topicsSec01 .sp-horizontal .sp-next-arrow {
    right: 0;
}

.topicsSec01 .sp-horizontal .sp-arrows .sp-arrow::before,
.topicsSec01 .sp-horizontal .sp-arrows .sp-arrow::after {
    display: none;
}

.topicsSec01 .sp-buttons {
    position: absolute;
    top: -30px;
    padding-top: 0;
    z-index: 1;
}

.topicsSec01 .sp-button {
    width: 33px;
    height: 4px;
    background-color: #ccc;
    border: none;
    border-radius: 0;
}

.topicsSec01 .sp-selected-button {
    background-color: #ff0000 !important;
}

.topicsSec01 .btn_topicsTile01 {
    margin-top: 40px;
}

.indexTab01 .btnList01Wrap,
.indexTab01 .indexTabBtn01 {
    position: absolute;
    top: 0;
    right: 10px;
}

/* urgencyInfo_in
----------------------------------------------------------------*/
.urgencyInfo_in {
    max-width: 980px;
    margin: 0 auto;
    padding: 25px;
}

@media screen and (max-width: 767px) {
    .urgencyInfo_in {
        padding: 25px 10px;
    }
}

.urgencyInfo_in > :last-child {
    margin-bottom: 0;
}

.urgencyInfo_in > p {
    margin-bottom: 1em;
}

.urgencyInfo_in > ul {
    margin-bottom: 1em;
}

.urgencyInfo_in .ul_arrow01 {
    margin-top: 0;
}

.urgencyInfo_in .ul_arrow01 a {
    color: #c00;
}

/*
----------------------------------------------------------------*/
/* print
----------------------------------------------------------------*/
@media print {
    body {
        -webkit-print-color-adjust: exact;
    }

    #indexSlider01 {
        width: 100% !important;
        visibility: visible !important;
    }

    @-moz-document url-prefix() {
        #indexSlider01 {
            width: 100% !important;
        }
    }

    #indexSlider01 .btn {
        visibility: hidden;
    }

    #indexSlider01 .sp-mask {
        width: 100vw !important;
        height: calc(492/1536 * 100vw) !important;
    }

    @-moz-document url-prefix() {
        #indexSlider01 .sp-mask {
            width: 100% !important;
        }
    }

    #indexSlider01 .sp-slide {
        width: 100vw !important;
        height: calc(492/1536 * 100vw) !important;
    }

    @-moz-document url-prefix() {
        #indexSlider01 .sp-slide {
            width: 100% !important;
        }
    }

    #indexSlider01 .sp-selected img {
        visibility: visible !important;
    }

    @-moz-document url-prefix() {
        #indexSlider01 .sp-selected img {
            width: 100% !important;
        }
    }

    #indexSlider01 .sp-thumbnails-container img {
        visibility: visible !important;
    }

    .topicsTile01 .img {
        background-image: none !important;
    }

    .indexSec01 {
        top: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .indexSec01 .h2_indexSec01 {
        top: 0;
    }

    .indexSec01 .lead_indexSec01 {
        top: 0;
    }

    .indexSec01 .indexSec01_in {
        top: 0;
    }

    .indexSec01 .inlineBtnUnit01 {
        top: 0;
    }

    .indexTab01 {
        top: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media print and (-ms-high-contrast: none) {
    #indexProductInfo01 .cardList > li {
        width: 33.3333% !important;
    }
}


/* メインビジュアル */
.indexMainVisualWrap {
    background-color: #ECECEC;
}

.indexMainVisual {
    position: relative;
}
.indexMainVisual a {
    display: block;
    overflow: hidden;
}

.indexMainVisual a img {
    width: 100%;
    max-width: 100%;
    height: auto;
    transition: all .6s ease-in-out;
}
.indexMainVisual a:hover img {
    transform: scale(1.1);
    opacity: .6;
}
.indexMainVisual .title {
    position: absolute;
    bottom: 0;
    padding: 26px 30px;
    color: #fff;
    font-size: 26px;
    line-height: 24px;
    font-weight: 500 !important;
    text-decoration: none;
}
@media screen and (max-width: 767px) {
    .indexMainVisual .title {
        padding: 13px 20px;
        font-size: 20px;
    }
}

.indexMainVisualBannerWrap {
    display: flex;
    gap: 8px;
    padding-top: 8px;
    padding-left: 8px;
    padding-right: 8px;
}

@media screen and (max-width: 767px) {
    .indexMainVisualBannerWrap {
        flex-direction: column;
    }
}

.indexMainVisualBanner {
    flex: 1;
    position: relative;
    z-index: 10;
}

.indexMainVisualBanner a {
    display: block;
    overflow: hidden;
    text-decoration: none;
}
.indexMainVisualBanner a img {
    position: relative;
    transition: all .6s ease;
    z-index: 20;
}

.indexMainVisualBanner a:hover img {
    transform: scale(1.1);
    opacity: .6;
}

.indexMainVisualBanner a > picture > img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.indexMainVisualBanner .title {
    position: absolute;
    bottom: 0;
    z-index: 30;
    padding: 13px 20px;
    color: #fff;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500 !important;
    text-decoration: none;
}
@media screen and (min-width: 767px) and (max-width: 979px) {
    .indexMainVisualBanner .title {
        padding: 10px 10px;
        font-size: 12px;
        line-height: 18px;
    }
}
/* /メインビジュアル */

/* TOPページホバー */
.topicsTile01 .topicsCard01 a .img {
    z-index: 10;
}
.topicsTile01 .topicsCard01 a .img::before {
    z-index: 30;
}
.topicsTile01 .topicsCard01 a .img::after {
    display: block;
    position: absolute;
    top: 0;
    z-index: 40;
    width: 100%;
    height: 100%;
    background-color: #fff;
    content: '';
    opacity: 0;
    transition: all .6s ease;
}
.topicsTile01 .topicsCard01 a .img img {
    position: relative;
    z-index: 30;
    transition: all .6s ease;
}
@media screen and (min-width: 768px) {
    .topicsTile01 .topicsCard01 a:hover .img::after {
        opacity: .4;
    }
    .topicsTile01 .topicsCard01 a:hover .img img {
        /* opacity: 0.6; */
        transform: scale(1.1);
    }
}
.corpInfoList_block > a img,
.corpInfoList.noimg a img {
    transition: all .6s ease;
}
.corpInfoList_block > a:hover img,
.corpInfoList.noimg a:hover img {
    opacity: .6;
    transform: scale(1.1);
}
@media screen and (min-width: 980px) {
    .footer-wide2 .listFooterBanner > li a img {
        transition: all .6s ease;
    }
    .footer-wide2 .listFooterBanner > li a:hover img {
        opacity: 0.6;
        transform: scale(1.1);
    }
}
/* /TOPページホバー */
