@charset "UTF-8";

/* ==========================================================
Name:
    module.css

Description:
    サイトで共通使用する汎用モジュール及びページ固有のスタイルを記述する
    汎用モジュールは、アルファベット降順(A->Z)に記述する
    ページ固有のスタイルは、ディレクトリ名のアルファベット降順(A->Z)、
    ファイル名のアルファベット降順(A->Z)にそれぞれ記述する

Contents:
    module
    page
    utility
========================================================== */


/* ==========================================================
*
*   module
*
========================================================== */

.sustainability .txt-section a[target="_blank"]::before,
.sustainability .tb-02 td .list li a[target="_blank"]::before,
.sustainability .sasb td .list li a[target="_blank"]::before,
.sustainability .links li a[target="_blank"]::before,
.growth-strategy .txt-section a[target="_blank"]::before,
.growth-strategy .links li a[target="_blank"]::before,
.search-result .contents .main #ysrch-link a[target="_blank"]::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.4em;
    height: 1em;
    background: url(../img/common/icon_target_blank.png) no-repeat 0 0;
    background-size: 0.9em;
}

.sustainability .txt-section a.no-icon[target="_blank"]::before,
.sustainability .tb-02 td .list li a.no-icon[target="_blank"]::before,
.sustainability .sasb td .list li a.no-icon[target="_blank"]::before,
.sustainability .links li a.no-icon[target="_blank"]::before,
.growth-strategy .txt-section a.no-icon[target="_blank"]::before,
.growth-strategy .links li a.no-icon[target="_blank"]::before,
.search-result .contents .main #ysrch-link a.no-icon[target="_blank"]::before {
    content: none;
}


/* ---------------------------------------------
*   wysiwyg (Wordpress案件以外は削除すること)
--------------------------------------------- */

.wysiwyg {
    overflow: hidden;
}

.wysiwyg:after {
    display: block;
    clear: both;
    content: "";
}


/* wysiwyg default
--------------------------------------------- */

.wysiwyg sup {
    vertical-align: super;
    font-size: smaller;
}

.wysiwyg sub {
    vertical-align: sub;
    font-size: smaller;
}

.wysiwyg h1 {
    font-size: 2em;
}

.wysiwyg h2 {
    font-size: 1.5em;
}

.wysiwyg h3 {
    margin-bottom: 30px;
    letter-spacing: 0.05em;
    font-size: 16px;
    line-height: 1.75;
}

@media screen and (max-width: 1200px) {
    .wysiwyg h3 {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .wysiwyg h3 {
        margin-bottom: 8vw;
        font-size: 4.26667vw;
    }
}

.wysiwyg h4 {
    margin-top: 60px;
    letter-spacing: 0.05em;
    font-size: 14px;
    line-height: 1.6;
}

@media screen and (max-width: 1200px) {
    .wysiwyg h4 {
        margin-top: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .wysiwyg h4 {
        margin-top: 16vw;
        font-size: 3.73333vw;
    }
}

.wysiwyg h5 {
    font-size: 0.83em;
}

.wysiwyg h6 {
    font-size: 0.67em;
}

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
    font-weight: bold;
}

.wysiwyg i,
.wysiwyg strong {
    font-weight: bold;
}

.wysiwyg p {
    margin-bottom: 30px;
    letter-spacing: 0.05em;
    font-size: 14px;
    line-height: 1.6;
}

@media screen and (max-width: 1200px) {
    .wysiwyg p {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .wysiwyg p {
        margin-bottom: 8vw;
        font-size: 3.73333vw;
    }
}

.wysiwyg em {
    font-style: italic;
}

.wysiwyg a {
    color: #43a0c0;
    text-decoration: underline;
}

.wysiwyg a:hover {
    text-decoration: none;
}

.wysiwyg ul {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 40px;
    list-style-type: disc;
}

.wysiwyg ol {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 40px;
    list-style-type: decimal;
}

.wysiwyg li {
    display: list-item;
    text-align: -webkit-match-parent;
}

.wysiwyg blockquote {
    margin: 1.12em 0;
}

.wysiwyg .aligncenter {
    display: block;
    margin: 0 auto 30px;
}

@media screen and (max-width: 1200px) {
    .wysiwyg .aligncenter {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .wysiwyg .aligncenter {
        margin-bottom: 8vw;
    }
}

.wysiwyg .alignright {
    float: right;
}

.wysiwyg .alignleft {
    float: left;
}

.wysiwyg img[class*="wp-image-"],
.wysiwyg img[class*="attachment-"] {
    max-width: 100%;
    height: auto;
}


/* ---------------------------------------------
*   common
--------------------------------------------- */

.js-scroll-fade {
    opacity: 0;
    -webkit-transition: 0.8s;
    transition: 0.8s;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
}

.js-scroll-fade.fadein {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.js-tab-contents {
    display: none;
}

.js-tab-contents.current {
    display: block;
}

.wp-pagenavi {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-pack: start;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: start;
    justify-content: flex-start;
}

@media screen and (max-width: 1200px) {
    .wp-pagenavi {
        border-radius: 0.41667vw;
    }
}

@media screen and (max-width: 767px) {
    .wp-pagenavi {
        border-radius: 1.33333vw;
    }
}

.wp-pagenavi span,
.wp-pagenavi a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    width: 48px;
    height: 50px;
    background-color: #fff;
    color: #787878;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .wp-pagenavi span,
    .wp-pagenavi a {
        width: 4vw;
        height: 4.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .wp-pagenavi span,
    .wp-pagenavi a {
        width: 12.8vw;
        height: 13.33333vw;
        font-size: 3.73333vw;
    }
}

.wp-pagenavi span:after,
.wp-pagenavi a:after {
    position: absolute;
    top: 50%;
    right: -1px;
    z-index: 1;
    width: 1px;
    height: 30px;
    background-color: #DDDDDD;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .wp-pagenavi span:after,
    .wp-pagenavi a:after {
        height: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .wp-pagenavi span:after,
    .wp-pagenavi a:after {
        height: 8vw;
    }
}

.wp-pagenavi span.current,
.wp-pagenavi a.current {
    z-index: 1;
    background-color: #000;
    color: #fff;
}

.wp-pagenavi span.current:after,
.wp-pagenavi a.current:after {
    content: none;
}

.wp-pagenavi span:hover,
.wp-pagenavi a:hover {
    z-index: 1;
    background-color: #000;
    color: #fff;
}

.wp-pagenavi span.link_before,
.wp-pagenavi span.link_next,
.wp-pagenavi a.link_before,
.wp-pagenavi a.link_next {
    position: relative;
}

.wp-pagenavi span.link_before:before,
.wp-pagenavi span.link_next:before,
.wp-pagenavi a.link_before:before,
.wp-pagenavi a.link_next:before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 8px;
    height: 8px;
    background: url(../img/common/icon_arrow_right.svg) 0 0 no-repeat;
    background-size: 100%;
    content: "";
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
}

@media screen and (max-width: 767px) {
    .wp-pagenavi span.link_before:before,
    .wp-pagenavi span.link_next:before,
    .wp-pagenavi a.link_before:before,
    .wp-pagenavi a.link_next:before {
        width: 2.13333vw;
        height: 2.13333vw;
    }
}

.wp-pagenavi span.link_before:hover:before,
.wp-pagenavi span.link_next:hover:before,
.wp-pagenavi a.link_before:hover:before,
.wp-pagenavi a.link_next:hover:before {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

.wp-pagenavi span.link_before:before,
.wp-pagenavi a.link_before:before {
    -webkit-transform: rotate(180deg) translate(50%, -50%);
    transform: rotate(180deg) translate(50%, -50%);
}

.wp-pagenavi span:first-child,
.wp-pagenavi a:first-child {
    border-radius: 4px 0 0 4px;
}

@media screen and (max-width: 1200px) {
    .wp-pagenavi span:first-child,
    .wp-pagenavi a:first-child {
        border-radius: 0.33333vw 0 0 0.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .wp-pagenavi span:first-child,
    .wp-pagenavi a:first-child {
        border-radius: 4px 0 0 4px;
    }
}

.wp-pagenavi span:last-child,
.wp-pagenavi a:last-child {
    border-radius: 0 4px 4px 0;
}

@media screen and (max-width: 1200px) {
    .wp-pagenavi span:last-child,
    .wp-pagenavi a:last-child {
        border-radius: 0 0.33333vw 0.33333vw 0;
    }
}

@media screen and (max-width: 767px) {
    .wp-pagenavi span:last-child,
    .wp-pagenavi a:last-child {
        border-radius: 0 4px 4px 0;
    }
}

.wp-pagenavi span:last-child:after,
.wp-pagenavi a:last-child:after {
    content: none;
}

.archive-select {
    margin-left: auto;
    width: 208px;
}

@media screen and (max-width: 1200px) {
    .archive-select {
        width: 17.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .archive-select {
        position: absolute;
        top: -24vw;
        z-index: 1;
        width: 100%;
        max-height: 60vh;
        overflow: scroll;
    }
}

.archive-select--library {
    margin-left: 0;
}

.archive-select__list {
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    text-align: center;
    background: #fff;
}

@media screen and (min-width: 768px) {
    .archive-select__list {
        display: block !important;
    }
}

@media screen and (max-width: 1200px) {
    .archive-select__list {
        border-radius: 0.41667vw;
    }
}

@media screen and (max-width: 767px) {
    .archive-select__list {
        display: none;
        border-radius: 0 0 5px 5px;
    }
}

.archive-select__list-item {
    position: relative;
    background-color: #fff;
    color: #787878;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color;
}

@media screen and (max-width: 767px) {
    .archive-select__list-item {
        font-size: 3.73333vw;
    }
}

.archive-select__list-item:before {
    position: absolute;
    bottom: -1px;
    left: 50%;
    z-index: 1;
    width: 188px;
    height: 1px;
    background-color: #DDDDDD;
    color: #787878;
    content: "";
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (max-width: 1200px) {
    .archive-select__list-item:before {
        width: 15.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .archive-select__list-item:before {
        width: 84vw;
    }
}

.archive-select__list-item.current,
.archive-select__list-item:hover {
    z-index: 1;
    background-color: #000;
}

@media screen and (max-width: 767px) {
    .archive-select__list-item.current,
    .archive-select__list-item:hover {
        z-index: auto;
        background-color: #fff;
        color: #787878;
    }
}

.archive-select__list-item:first-of-type {
    border-radius: 4px 4px 0 0;
}

@media screen and (max-width: 1200px) {
    .archive-select__list-item:first-of-type {
        border-radius: 0.33333vw 0.33333vw 0 0;
    }
}

@media screen and (max-width: 767px) {
    .archive-select__list-item:first-of-type {
        border-radius: 0;
    }
}

.archive-select__list-item:last-of-type {
    border-radius: 0 0 4px 4px;
}

@media screen and (max-width: 1200px) {
    .archive-select__list-item:last-of-type {
        border-radius: 0 0 0.33333vw 0.33333vw;
        /* font-size: 1.16667vw;*/
    }
}

@media screen and (max-width: 767px) {
    .archive-select__list-item:last-of-type {
        border-radius: 0 0 4px 4px;
        font-size: 3.73333vw;
    }
}

.archive-select__list-item:last-of-type:before {
    content: none;
}

.archive-select__link {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 0;
    width: 100%;
    outline: none;
    border: none;
    border-radius: inherit;
    background-color: transparent;
    color: inherit;
    letter-spacing: 0.05em;
    font: inherit;
    cursor: pointer;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 1200px) {
    .archive-select__link {
        padding: 1.25vw 0;
    }
}

@media screen and (max-width: 767px) {
    .archive-select__link {
        padding: 4vw;
    }
}

.js-select-box__selected {
    position: relative;
    padding: 4vw;
    border: 1px solid #DDDDDD;
    border-radius: 1.33333vw;
    background-color: #fff;
    color: #222;
    text-align: center;
    font-size: 3.73333vw;
    cursor: pointer;
}

@media screen and (min-width: 768px) {
    .js-select-box__selected {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .js-select-box__selected:after {
        position: absolute;
        top: 50%;
        right: 4vw;
        width: 2.13333vw;
        height: 2.13333vw;
        background: url(../img/common/icon_arrow_bottom.svg) 0 0 no-repeat;
        background-size: 100%;
        content: "";
        -webkit-transition: -webkit-transform .5s;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-transform-origin: 50% 25%;
        transform-origin: 50% 25%;
    }
}

.js-select-box__selected.down {
    border-radius: 5px 5px 0 0;
}

.js-select-box__selected.down:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.intro-page {
    padding: 0 30px;
}

@media screen and (max-width: 1200px) {
    .intro-page {
        padding: 0 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .intro-page {
        padding: 0 2.66667vw;
    }
}

.intro-page__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .intro-page__body {
        display: block;
    }
}

.intro-page__btn {
    margin-bottom: 20px;
}

@media screen and (max-width: 1200px) {
    .intro-page__btn {
        margin-bottom: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .intro-page__btn {
        margin-bottom: 5.33333vw;
    }
}

.intro-page__link {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 30px;
    width: 525px;
    border: 1px solid #DDDDDD;
    border-radius: 0 55px 55px 0;
    background-color: #fff;
    color: #222;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background, border-color;
    transition-property: color, background, border-color;
}

@media screen and (max-width: 1200px) {
    .intro-page__link {
        padding: 2.08333vw 2.5vw;
        width: 43.75vw;
    }
}

@media screen and (max-width: 767px) {
    .intro-page__link {
        padding: 6.66667vw 8vw;
        width: 100%;
        border-radius: 0 150px 150px 0;
        font-size: 3.73333vw;
    }
}

.intro-page__link:after {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 7px;
    height: 7px;
    background: url(../img/common/icon_arrow_right.svg) center no-repeat;
    background-size: 100%;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .intro-page__link:after {
        right: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .intro-page__link:after {
        right: 8vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.intro-page__link:hover {
    border-color: #181818;
    background-color: #181818;
    color: #fff;
}

.intro-page__link:hover:after {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

.intro-page__link:hover .intro-page__head {
    color: #fff;
}

.intro-page__link:hover .intro-page__desc {
    color: #fff;
}

.js-show-target {
    display: none;
}


/* ---------------------------------------------
*   module
--------------------------------------------- */

.mod-h2__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .mod-h2__wrapper {
        display: block;
    }
}

.mod-h2__ttl {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 100px;
    font-weight: bold;
    font-size: 30px;
    opacity: 0;
    -webkit-animation: fadeIn 2s ease 1 forwards;
    animation: fadeIn 2s ease 1 forwards;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
}

@media screen and (max-width: 1200px) {
    .mod-h2__ttl {
        margin-bottom: 8.33333vw;
        font-size: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h2__ttl {
        margin-bottom: 21.33333vw;
        font-size: 8vw;
    }
}

.mod-h2__ttl--ir-press,
.mod-h2__ttl--topics,
.mod-h2__ttl--intro-page {
    padding-left: 30px;
}

@media screen and (max-width: 1200px) {
    .mod-h2__ttl--ir-press,
    .mod-h2__ttl--topics,
    .mod-h2__ttl--intro-page {
        padding-left: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h2__ttl--ir-press,
    .mod-h2__ttl--topics,
    .mod-h2__ttl--intro-page {
        padding-left: 2.13333vw;
    }
}

.mod-h2__ttl--ir-press,
.mod-h2__ttl--ir-presentations,
.mod-h2__ttl--ir-library,
.mod-h2__ttl--ir-calendar {
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
    .mod-h2__ttl--ir-press,
    .mod-h2__ttl--ir-presentations,
    .mod-h2__ttl--ir-library,
    .mod-h2__ttl--ir-calendar {
        margin-bottom: 45.33333vw;
    }
}

.mod-h2__ttl--contact {
    opacity: 1;
    -webkit-animation: none;
    animation: none;
}

.mod-h2__date {
    padding-top: 5px;
    color: #787878;
    letter-spacing: 0.05em;
    font-size: 12px;
}

@media screen and (max-width: 767px) {
    .mod-h2__date {
        padding-bottom: 14.66667vw;
        font-size: 3.2vw;
    }
}

.mod-h3__ttl {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-width: 330px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 24px;
}

@media screen and (max-width: 1200px) {
    .mod-h3__ttl {
        min-width: 27.5vw;
        font-size: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl {
        margin-bottom: 13.33333vw;
        min-width: auto;
        font-size: 5.33333vw;
    }
}

.mod-h3__ttl:before {
    position: absolute;
    top: 18px;
    left: -60px;
    width: 30px;
    height: 4px;
    border-radius: 0 2px 2px 0;
    background-color: #000;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .mod-h3__ttl:before {
        top: 1.5vw;
        left: -5vw;
        width: 2.5vw;
        height: 0.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl:before {
        top: 4vw;
        left: -5.33333vw;
        width: 2.66667vw;
        height: 1.06667vw;
        border-radius: 0 15px 15px 0;
    }
}

.mod-h3__ttl--vision {
    top: 10px;
}

@media screen and (max-width: 1200px) {
    .mod-h3__ttl--vision {
        top: 0.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl--vision {
        top: auto;
    }
}

.mod-h3__ttl--sustainability,
.mod-h3__ttl--ir-message {
    margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
    .mod-h3__ttl--sustainability,
    .mod-h3__ttl--ir-message {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl--sustainability,
    .mod-h3__ttl--ir-message {
        margin-bottom: 16vw;
    }
}

.mod-h3__ttl--ir-highlight,
.mod-h3__ttl--ir-analysts {
    top: -5px;
}

@media screen and (max-width: 1200px) {
    .mod-h3__ttl--ir-highlight,
    .mod-h3__ttl--ir-analysts {
        top: -0.41667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl--ir-highlight,
    .mod-h3__ttl--ir-analysts {
        top: auto;
        margin-bottom: 8vw;
    }
}

.mod-h3__ttl--ir-calendar {
    margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
    .mod-h3__ttl--ir-calendar {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl--ir-calendar {
        margin-bottom: 16vw;
    }
}

.mod-h3__ttl--company-base {
    min-width: auto;
    width: 24.5098%;
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl--company-base {
        margin-bottom: 6.66667vw;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .mod-h3__ttl--stock-info {
        margin-bottom: 5.33333vw;
    }
}

.mod-btn--ir-top {
    margin-bottom: 15px;
}

@media screen and (max-width: 1200px) {
    .mod-btn--ir-top {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn--ir-top {
        margin-bottom: 4vw;
    }
}

.mod-btn--ir-top-large {
    margin-bottom: 30px;
    text-align: left;
}

@media screen and (max-width: 1200px) {
    .mod-btn--ir-top-large {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn--ir-top-large {
        margin-bottom: 8vw;
    }
}

.mod-btn--center {
    text-align: center;
}

.mod-btn__link {
    position: relative;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 17px 0;
    width: 290px;
    outline: none;
    border: none;
    border: 1px solid #DDDDDD;
    border-radius: 5px 29px 29px 5px;
    background: none;
    text-align: center;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background, border-color;
    transition-property: color, background, border-color;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link {
        padding: 1.41667vw 0;
        width: 24.16667vw;
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link {
        padding: 4.53333vw 0;
        width: 100%;
        border-radius: 5px 100px 100px 5px;
        font-size: 3.73333vw;
    }
}

.mod-btn__link:after {
    position: absolute;
    top: 50%;
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.mod-btn__link--white {
    background-color: #fff;
}

.mod-btn__link--white:hover {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

.mod-btn__link--black {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

.mod-btn__link--black:hover {
    border-color: #DDDDDD;
    background-color: #fff;
    color: #181818;
}

.mod-btn__link--index {
    display: block;
    margin-right: auto;
    margin-left: auto;
    padding: 20px 0 14px;
    letter-spacing: 0.1em;
    font-size: 16px;
    font-family: 'Josefin Sans', sans-serif;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--index {
        padding: 1.66667vw 0 1.16667vw;
        font-size: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--index {
        padding: 5.33333vw 0 3.73333vw;
        width: 77.33333vw;
        font-size: 4.26667vw;
    }
}

.mod-btn__link--index:after {
    right: 15px;
    width: 8px;
    height: 8px;
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

@media screen and (max-width: 767px) {
    .mod-btn__link--index:after {
        right: 4vw;
        width: 2.13333vw;
        height: 2.13333vw;
    }
}

.mod-btn__link--index:hover:after {
    background-image: url(../img/common/icon_arrow_right.svg);
}

.mod-btn__link--download {
    padding: 18px 0;
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--download {
        padding: 1.5vw 0;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--download {
        padding: 4.8vw 0;
    }
}

.mod-btn__link--download:after {
    right: 20px;
    width: 10px;
    height: 12px;
    background-image: url(../img/common/icon_download_black.svg);
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--download:after {
        right: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--download:after {
        right: 5.33333vw;
        width: 2.66667vw;
        height: 3.2vw;
    }
}

.mod-btn__link--download:hover:after {
    background-image: url(../img/common/icon_download_white.svg);
}

.mod-btn__link--download-low {
    padding: 9px 0;
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--download-low {
        padding: 0.75vw 0;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--download-low {
        padding: 2.4vw 0;
    }
}

.mod-btn__link--download-low:after {
    right: 20px;
    width: 10px;
    height: 12px;
    background-image: url(../img/common/icon_download_black.svg);
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--download-low:after {
        right: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--download-low:after {
        right: 5.33333vw;
        width: 2.66667vw;
        height: 3.2vw;
    }
}

.mod-btn__link--download-low:hover:after {
    background-image: url(../img/common/icon_download_white.svg);
}

.mod-btn__link--all-download {
    margin-left: 390px;
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--all-download {
        margin-left: 32.5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--all-download {
        margin-left: 0;
    }
}

.mod-btn__link--all-download:after {
    right: 20px;
    width: 10px;
    height: 12px;
    background-image: url(../img/common/icon_download_white.svg);
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--all-download:after {
        right: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--all-download:after {
        right: 5.33333vw;
        width: 2.66667vw;
        height: 3.2vw;
    }
}

.mod-btn__link--all-download:hover:after {
    background-image: url(../img/common/icon_download_black.svg);
}

.mod-btn__link--download-s {
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--download-s {
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--download-s {
        font-size: 3.73333vw;
    }
}

.mod-btn__link--download-s:after {
    right: 18px;
    width: 9px;
    height: 11px;
    background-image: url(../img/common/icon_download_black.svg);
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--download-s:after {
        right: 1.5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--download-s:after {
        right: 4.8vw;
        width: 2.4vw;
        height: 2.93333vw;
    }
}

.mod-btn__link--download-s:hover:after {
    background-image: url(../img/common/icon_download_white.svg);
}

.mod-btn__link--arrow {
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--arrow {
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--arrow {
        font-size: 3.73333vw;
    }
}

.mod-btn__link--arrow:after {
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url(../img/common/icon_arrow_right.svg);
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--arrow:after {
        right: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--arrow:after {
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.mod-btn__link--arrow:hover:after {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

.mod-btn__link--arrow-white {
    font-weight: bold;
}

.mod-btn__link--arrow-white:after {
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--arrow-white:after {
        right: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--arrow-white:after {
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.mod-btn__link--arrow-white:hover:after {
    background-image: url(../img/common/icon_arrow_right.svg);
}

.mod-btn__link--large {
    padding: 24px 30px;
    width: 320px;
    border-radius: 5px 40px 40px 5px;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--large {
        padding: 2vw 2.5vw;
        width: 26.66667vw;
        font-size: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--large {
        padding: 6.4vw 8vw;
        width: 100%;
        border-radius: 5px 100px 100px 0;
        font-size: 5.33333vw;
    }
}

.mod-btn__link--detail {
    padding: 9px 0;
    font-weight: bold;
    cursor: pointer;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--detail {
        padding: 0.75vw 0;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--detail {
        padding: 2.4vw 0;
    }
}

.mod-btn__link--detail:after {
    top: 40%;
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url(../img/common/icon_arrow_right.svg);
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--detail:after {
        right: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--detail:after {
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.mod-btn__link--detail:hover:after {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

.show .mod-btn__link--detail:after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.mod-btn__link--long-txt {
    padding: 17px 0;
}

@media screen and (max-width: 1200px) {
    .mod-btn__link--long-txt {
        padding: 1.41667vw 0;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn__link--long-txt {
        padding: 4.53333vw 0;
    }
}

.mod-btn+.stock-info-contents__head {
    margin-top: 25px;
}

@media screen and (max-width: 1200px) {
    .mod-btn+.stock-info-contents__head {
        margin-top: 2.08333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn+.stock-info-contents__head {
        margin-top: 6.66667vw;
    }
}

.mod-btn+.stock-info-contents__txt {
    margin-top: 25px;
}

@media screen and (max-width: 1200px) {
    .mod-btn+.stock-info-contents__txt {
        margin-top: 2.08333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-btn+.stock-info-contents__txt {
        margin-top: 6.66667vw;
    }
}

.mod-link-block {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 120px;
    padding: 60px;
    width: 100%;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .mod-link-block {
        margin-top: 10vw;
        padding: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-link-block {
        margin-top: 32vw;
        padding: 8vw 4vw;
    }
}

.mod-link-block__list {
    margin-bottom: 100px;
}

@media screen and (max-width: 1200px) {
    .mod-link-block__list {
        margin-bottom: 8.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-link-block__list {
        margin-bottom: 26.66667vw;
    }
}

.mod-link-block__list:last-of-type {
    margin-bottom: 0;
}

.mod-link-block__list-item {
    margin-bottom: 30px;
    letter-spacing: 0.05em;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .mod-link-block__list-item {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-link-block__list-item {
        margin-bottom: 8vw;
        font-size: 3.73333vw;
    }
}

.mod-link-block__list-item:last-of-type {
    margin-bottom: 0;
}

.mod-link-block__link {
    position: relative;
    display: inline-block;
    padding-left: 1em;
    text-decoration: underline;
}

.mod-link-block__link:hover {
    text-decoration: none;
}

.ios .mod-link-block__link:hover,
.android .mod-link-block__link:hover {
    text-decoration: underline;
}

.mod-link-block__link:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "・";
}

.mod-link-block__link--pdf {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 10px;
    margin-left: 10px;
    padding: 3px;
    border: 1px solid #DDDDDD;
}

.mod-link-block__ttl {
    padding-left: 1em;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .mod-link-block__ttl {
        padding-left: 0;
        font-size: 3.73333vw;
    }
}

.mod-link-block__txt {
    padding-left: 1em;
    letter-spacing: 0.05em;
    font-size: 14px;
}

.mod-link-block__txt iframe {
    width: 100% !important;
    height: 422px !important;
}

@media screen and (max-width: 767px) {
    .mod-link-block__txt {
        font-size: 3.73333vw;
    }
    .mod-link-block__txt iframe {
        width: 100% !important;
        height: 100% !important;
    }
}

.mod-txt-border {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 10px;
    margin-left: 10px;
    padding: 3px;
    border: 1px solid #DDDDDD;
}

.mod-change-table--col3 th {
    width: auto !important;
}

.mod-change-table--col3 td {
    width: 31.2% !important;
}

.mod-change-table--col5 th {
    width: auto !important;
}

.mod-change-table--col5 td {
    width: 15.6% !important;
}

.mod-change-table--col7 thead th {
    text-align: center;
}

.mod-change-table--col7 tbody th {
    width: 165px !important;
}

.mod-change-table--col7 th {
    width: auto !important;
}

.mod-change-table--col7 td {
    width: auto !important;
    text-align: center;
}

.mod-change-table table {
    width: 100%;
}

.mod-change-table thead {
    background-color: #f8f8f8;
}

.mod-change-table tbody {
    background-color: #fff;
}

.mod-change-table tbody th {
    width: 340px;
}

@media screen and (max-width: 1200px) {
    .mod-change-table tbody th {
        width: 28.33333vw;
    }
}

.mod-change-table th,
.mod-change-table td {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 14px 15px;
    border: 1px solid #DDDDDD;
    border-collapse: collapse;
}

.mod-change-table th:not(:first-child),
.mod-change-table td:not(:first-child) {
    text-align: right;
}

@media screen and (max-width: 1200px) {
    .mod-change-table th,
    .mod-change-table td {
        padding: 1.16667vw 1.25vw;
    }
}

.mod-change-table__first-head {
    text-align: left !important;
}

@media screen and (max-width: 767px) {
    .mod-change-sp-table__table-head {
        padding: 4vw;
        border-bottom: 1px solid #DDDDDD;
        background-color: #f8f8f8;
        font-size: 3.73333vw;
    }
}

@media screen and (max-width: 767px) {
    .mod-change-sp-table__list-item {
        border-bottom: 1px solid #DDDDDD;
        letter-spacing: 0.05em;
        font-size: 3.2vw;
    }
    .mod-change-sp-table__list-item:last-of-type {
        border-bottom: none;
    }
}

@media screen and (max-width: 767px) {
    .mod-change-sp-table__list-ttl {
        position: relative;
        padding: 4vw 5vw 4vw;
    }
    .mod-change-sp-table__list-ttl:after {
        position: absolute;
        top: 50%;
        right: 4vw;
        width: 2.13333vw;
        height: 2.13333vw;
        background: url(../img/common/icon_arrow_bottom.svg) 0 0 no-repeat;
        background-size: contain;
        content: "";
        -webkit-transition: -webkit-transform 0.5s;
        transition: -webkit-transform 0.5s;
        transition: transform 0.5s;
        transition: transform 0.5s, -webkit-transform 0.5s;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-transform-origin: 50% 25%;
        transform-origin: 50% 25%;
    }
}

@media screen and (max-width: 767px) {
    .show .mod-change-sp-table__list-ttl:after {
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
    }
}

@media screen and (max-width: 767px) {
    .mod-change-sp-table__inner-list {
        position: relative;
        display: none;
        padding: 4vw;
    }
    .mod-change-sp-table__inner-list:before {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: auto;
        width: 89.47368%;
        height: 1px;
        background-color: #DDDDDD;
        content: "";
    }
}

@media screen and (max-width: 767px) {
    .mod-change-sp-table__inner-list-item {
        line-height: 1.7;
    }
    .mod-change-sp-table__inner-list-item span {
        font-weight: bold;
    }
}

.mod-txt-link {
    text-decoration: underline;
}

.en .mod-txt-link {
    line-height: 2em;
}

.mod-txt-link:hover {
    text-decoration: none;
}

.ios .mod-txt-link:hover,
.android .mod-txt-link:hover {
    text-decoration: underline;
}

@media screen and (min-width: 768px) {
    .mod-tel-link {
        pointer-events: none;
    }
}

.mod-dl-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .mod-dl-icon {
        width: 3.5%;
    }
}

.mod-dl-icon img {
    width: 100%;
}


/* ---------------------------------------------
*   Top
--------------------------------------------- */


/* notice
--------------------------------------------- */

.notice {
    position: fixed;
    top: 87px;
    z-index: 1000;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 90px;
    width: 100%;
    border-bottom: 1px solid #DDDDDD;
    background-color: #fff;
    -webkit-transition: top .4s ease-in-out;
    transition: top .4s ease-in-out;
}

@media screen and (max-width: 1200px) {
    .notice {
        padding: 1.25vw 7.5vw;
    }
}

@media screen and (max-width: 767px) {
    .notice {
        top: 64px;
        padding: 25px 30px;
    }
}

.js-search .notice {
    top: 145px;
}

.notice__txt {
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .notice__txt {
        line-height: 1.7;
    }
}

.notice__txt--black {
    color: #222;
}

.notice__txt--red {
    color: #FF4040;
}


/*  keyvisual
--------------------------------------------- */

.keyvisual {
    opacity: 0;
    -webkit-animation: fadeIn 2s ease 1 forwards;
    animation: fadeIn 2s ease 1 forwards;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .keyvisual.is-slidable {
        padding-bottom: 30px;
    }
}

.keyvisual .swiper-pagination-bullets {
    bottom: 0;
    left: 0;
    display: inline-block;
    width: auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.keyvisual .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 10px;
    width: 8px;
    height: 8px;
    background: #c6c5bf;
    opacity: 1;
}

@media screen and (max-width: 767px) {
    .keyvisual .swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 3vw;
        width: 2vw;
        height: 2vw;
    }
}

.keyvisual .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #000;
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.keyvisual-print {
    display: none;
}

.keyvisual-outer {
    position: relative;
}

.keyvisual__more-link {
    display: block;
    width: 100%;
    position: absolute;
    top: calc(100% - 15px);
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .keyvisual__more-link {
        top: calc(100% - 5vw);
    }
}

.keyvisual img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-transition: opacity .5s;
    transition: opacity .5s;
}

.keyvisual a:hover img {
    opacity: 0.7;
}

.keyvisual__prev,
.keyvisual__next {
    position: absolute;
    top: calc(50% - 20px);
    z-index: 2;
    outline: none;
    width: 40px;
    height: 40px;
}

.keyvisual__prev::before,
.keyvisual__next::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
}

.keyvisual__prev {
    right: 2%;
}

.keyvisual__prev:before {
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
}

.keyvisual__next {
    left: 2%;
}

.keyvisual__next:before {
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
}

.keyvisual__controller {
    position: absolute;
    z-index: 2;
    bottom: 10px;
    left: 2%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: none;
}

@media screen and (max-width: 767px) {
    .keyvisual__controller {
        left: 50%;
        bottom: 7vw;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

.keyvisual.is-slidable .keyvisual__controller {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.keyvisual__play {
    display: block;
    width: 28px;
    height: 28px;
    background: url(../img/common/icon_play_pause.svg) no-repeat;
    background-position: 0 -28px;
    background-size: 28px 56px;
    font-size: 1px;
    cursor: pointer;
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .keyvisual__play {
        margin-left: 5px;
    }
}

.keyvisual__play.is-pause {
    background-position: 0 0;
}


/*  index-news
--------------------------------------------- */

.index-news {
    position: relative;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #f8f8f8;
}

.index-news * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.index-news__inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    padding-top: 71px;
    padding-right: 60px;
    padding-bottom: 60px;
    padding-left: 60px;
    max-width: 1200px;
}

@media screen and (max-width: 1200px) {
    .index-news__inner {
        padding-top: 7.91667vw;
        padding-right: 5vw;
        padding-bottom: 10vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .index-news__inner {
        padding-top: 21.2vw;
        padding-right: 5.33333vw;
        padding-bottom: 21.33333vw;
        padding-left: 5.33333vw;
    }
}

.index-news__img {
    position: absolute;
    max-width: none !important;
}

@media screen and (max-width: 1200px) {
    .index-news__img {
        width: 61.5vw;
    }
}

@media screen and (max-width: 767px) {
    .index-news__img {
        width: 196.8%;
    }
}

.index-news__img--01 {
    top: -580px;
    right: 50%;
    -webkit-transform: translateX(960px);
    transform: translateX(960px);
}

@media screen and (max-width: 1200px) {
    .index-news__img--01 {
        top: -48.33333vw;
        -webkit-transform: translateX(80vw);
        transform: translateX(80vw);
    }
}

@media screen and (max-width: 767px) {
    .index-news__img--01 {
        top: -168vw;
        -webkit-transform: translateX(184vw);
        transform: translateX(184vw);
    }
}

.index-news__img--02 {
    bottom: -470px;
    left: 50%;
    -webkit-transform: translateX(-925px);
    transform: translateX(-925px);
}

@media screen and (max-width: 1200px) {
    .index-news__img--02 {
        bottom: -39.16667vw;
        -webkit-transform: translateX(-77.08333vw);
        transform: translateX(-77.08333vw);
    }
}

@media screen and (max-width: 767px) {
    .index-news__img--02 {
        bottom: -126.66667vw;
        -webkit-transform: translateX(-184vw);
        transform: translateX(-184vw);
    }
}

.index-news__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    padding-left: 30px;
    font-weight: bold;
    font-size: 30px;
    -webkit-box-align: center;
    align-items: center;
    max-width: 882px;
    margin: 0 auto 45px;
    padding: 0;
}

@media screen and (max-width: 1200px) {
    .index-news__head {
        margin: 0 auto 5.86vw;
    }
}

@media screen and (max-width: 767px) {
    .index-news__head {
        margin-bottom: 8vw;
        padding-left: 2.13333vw;
        font-size: 8vw;
    }
}

.index-news__head--main {
    letter-spacing: 0.1em;
    font-family: 'Josefin Sans', sans-serif;
}

.index-news__tab-box {
    background: #fff;
    border-bottom-right-radius: 40px;
    position: relative;
    z-index: 1;
    max-width: 882px;
    margin-right: auto;
    margin-left: auto;
    -webkit-box-shadow: 3px 3px 2px 0 rgba(0, 0, 0, 0.02);
    box-shadow: 3px 3px 2px 0 rgba(0, 0, 0, 0.02);
}

.index-news__tab-box .index-news__list-item a {
    padding: 0;
}

.index-news__tab-box .index-news__list-item a::before {
    display: none;
}

@media screen and (max-width: 767px) {
    .index-news__tab-box {
        border-bottom-right-radius: 50px;
        max-width: 100%;
    }
}

.index-news__tab-body {
    padding: 45px 58px;
}

@media screen and (max-width: 767px) {
    .index-news__tab-body {
        padding: 11.86vw 4.8vw 13.46vw;
    }
    .index-news__tab-body .index-news__list-date {
        padding: 0;
    }
}

.index-news__tab {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.index-news__tab-item {
    width: 33%;
    font-size: 14px;
    padding: 10px;
    position: relative;
    cursor: pointer;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .index-news__tab-item {
        font-size: 2.6vw;
        padding: 4vw .5em;
    }
}

.index-news__tab-item:not(:first-child)::before {
    content: "";
    display: block;
    width: 1px;
    height: 10px;
    background: #9999a8;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.index-news__tab-item:hover,
.index-news__tab-item.is-active {
    background: #000;
    color: #fff;
}

.index-news__tab-item:hover::before,
.index-news__tab-item:hover+.index-news__tab-item::before,
.index-news__tab-item.is-active::before,
.index-news__tab-item.is-active+.index-news__tab-item::before {
    display: none;
}

@media screen and (max-width: 767px) {
    .index-news__tab-item:not(:last-child)::after {
        height: 80%;
    }
}

.index-news__tab-content:not(.is-active) {
    display: none;
}

.index-news__box {
    background: #fff;
    border-bottom-right-radius: 40px;
    position: relative;
    z-index: 1;
    max-width: 882px;
    margin: 85px auto 0;
    padding: 45px 58px;
    -webkit-box-shadow: 3px 3px 2px 0 rgba(0, 0, 0, 0.02);
    box-shadow: 3px 3px 2px 0 rgba(0, 0, 0, 0.02);
}

@media screen and (max-width: 767px) {
    .index-news__box {
        border-bottom-right-radius: 40px;
        max-width: 100%;
        margin: 16vw auto 0;
        padding: 10vw 4.8vw 12vw;
    }
}

.index-news__box::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-bottom-right-radius: 100%;
    background-color: #404040;
}

@media screen and (max-width: 767px) {
    .index-news__box::after {
        width: 4.8vw;
        height: 4.8vw;
    }
}

.index-news__box {
    overflow: hidden;
}

.index-news__box iframe {
    width: 100vw;
}

.index-news__list-head {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 28px;
    position: relative;
}

@media screen and (max-width: 767px) {
    .index-news__list-head {
        font-size: 3.7vw;
        margin-bottom: 9.6vw;
    }
}

.index-news__list-head--ir {
    padding-left: 20px;
}

.index-news__list-head--ir::before {
    width: 12px;
    height: 15px;
    background-image: url(../img/common/icon_ir.svg);
    position: absolute;
    top: 50%;
    left: 0;
    background-position: center;
    background-size: 100% auto;
    background-repeat: no-repeat;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    .index-news__list-head--ir {
        padding-left: 5vw;
    }
    .index-news__list-head--ir::before {
        width: 3vw;
        height: 3.6vw;
    }
}

.index-news__list-text {
    font-size: 14px;
    margin: 0;
}

@media screen and (max-width: 767px) {
    .index-news__list-text {
        font-size: 3.4vw;
    }
}

.index-news__list-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 18px;
    position: relative;
}

@media screen and (max-width: 767px) {
    .index-news__list-item a {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0;
    }
}

.index-news__list-item a:hover .index-news__list-text {
    text-decoration: underline;
}

.index-news__list-item a::before {
    content: "";
    display: block;
    width: 8px;
    height: 15px;
    background: #404040;
    position: absolute;
    left: 0;
    top: 2px;
}

@media screen and (max-width: 767px) {
    .index-news__list-item a::before {
        width: 2vw;
        height: 4.2vw;
        top: 2px;
    }
}

.index-news__list-item:nth-child(n+2) {
    margin-top: 25px;
}

@media screen and (max-width: 767px) {
    .index-news__list-item:nth-child(n+2) {
        margin-top: 10vw;
    }
}

.index-news__list-category {
    min-width: 100px;
    margin-right: 18px;
}

.index-news__list-category span {
    display: block;
    width: 100%;
    background: #404040;
    color: #fff;
    font-size: 10px;
    text-align: center;
    line-height: 1;
    padding: 4px .5em;
}

@media screen and (max-width: 767px) {
    .index-news__list-category span {
        font-size: 2.6vw;
    }
}

.index-news__list-date {
    color: #797979;
    font-weight: bold;
    font-size: 12px;
    margin: 0 20px 0 0;
}

@media screen and (max-width: 767px) {
    .index-news__list-date {
        font-size: 3.2vw;
        margin: 0;
        padding-left: 3.6vw;
    }
}

.index-news__list-text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

@media screen and (max-width: 767px) {
    .index-news__list-text {
        -webkit-box-flex: initial;
        -ms-flex: initial;
        flex: initial;
        width: 100%;
        margin-top: 2vw;
    }
}

.index-news__link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    margin-top: 35px;
    margin-right: auto;
    margin-left: auto;
    padding: 14px 0 10px;
    width: 208px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    font-size: 16px;
    font-family: 'Josefin Sans', sans-serif;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background-color, border;
    transition-property: color, background-color, border;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .index-news__link {
        margin-top: 2.08333vw;
        padding: 1.16667vw 0 0.83333vw;
        width: 17.33333vw;
        font-size: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .index-news__link {
        margin-top: 6.66667vw;
        padding: 3.73333vw 0 2.66667vw;
        width: 55.46667vw;
        font-size: 4.26667vw;
    }
}

.index-news__link:after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .index-news__link:after {
        right: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .index-news__link:after {
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.index-news__link:hover {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

.index-news__link:hover:after {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

/* ---------------------------------------------
*   TOP誘導枠
--------------------------------------------- */
.in-box {
  display: flex;
  max-width: 890px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  border: 1px solid;
  border-color: #999;
  margin-top: -30px;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
  background-color: #FFF;
}

.in-l_box {
    background-color: #222;
    margin: 4px 0 4px 4px;
    height: auto;
    color: #fff;
    width: 230px;
    padding: 15px 0;
    text-align: center;
    display: table;
}

.in-l_box_txt {
    display: table-cell;
    vertical-align: middle;
}

.in-date {
    color: #797979;
    font-weight: bold;
    font-size: 12px;
    margin: 4px 0;
    padding: 15px 0;
    text-align: center;
    display: table;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: #222;
    width: 130px;
}

.in-date_txt {
    display: table-cell;
    vertical-align: middle;
}

.in-r_box {
    background-color: #fff;
    margin: 4px 0 4px 0;
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    border-color: #222;
    width: calc(100% - 368px);
    padding: 15px 10px 15px 0;
    z-index: 1;
    display: table;
}

.in-r_box_txt {
    display: table-cell;
    vertical-align: middle;
}

.in-nodate_r_box {
    background-color: #fff;
    margin: 4px 0 4px 0;
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    border-color: #222;
    width: calc(100% - 238px);
    padding: 15px 10px 15px 20px;
    z-index: 1;
    display: table;
}

.in-r_box a {
    color: #2196F3;
    text-decoration: underline;
}

.in-n_date {
    color: #797979;
    font-weight: bold;
    font-size: 12px;
    margin: 4px 0 4px 4px;
    padding: 15px 0;
    text-align: center;
    display: table;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 1px solid;
    border-color: #222;
    width: 130px;
}

.in-n_date_txt {
    display: table-cell;
    vertical-align: middle;
}

.in-n_box a {
    color: #2196F3;
    text-decoration: underline;
}

.in-nr_box {
    background-color: #fff;
    margin: 4px 0 4px 0;
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    border-color: #222;
    width: calc(100% - 138px);
    padding: 15px 10px 15px 0;
    z-index: 1;
    display: table;
}

.in-nodate_nr_box {
    background-color: #fff;
    margin: 4px 0 4px 4px;
    border: 1px solid;
    border-color: #222;
    width: calc(100% - 8px);
    padding: 15px 10px 15px 30px;
    z-index: 1;
    display: table;
}
.in-nr_box_txt {
    display: table-cell;
    vertical-align: middle;
}

.in-nr_box a {
    color: #2196F3;
    text-decoration: underline;
}
.in-nodate_r_box a {
    color: #2196F3;
    text-decoration: underline;
}
.in-nodate_nr_box a {
    color: #2196F3;
    text-decoration: underline;
}

@media screen and (max-width: 1200px) {
  .in-l_box {
    width: 220px;
  }
  .in-r_box {
    width: calc(100% - 328px);
  }
  .in-nodate_r_box {
    width: calc(100% - 228px);
  }
  .in-date {
    margin: 4px 0;
    width: 100px;
  }
}

@media screen and (max-width: 833px) {
  .in-l_box {
    padding: 15px 20px;
  }
}

@media (max-width: 767px) {
  .in-box {
    flex-direction: column;
    align-items: center;
  }
  .in-l_box {
    margin: 4px 4px 0 4px;
    width: calc(100% - 8px);
    padding: 10px 20px;
  }
  .in-r_box {
    margin: -4px 4px 4px 4px;
    width: calc(100% - 8px);
    padding: 10px 20px;
    border-top: 0;
    border-left: 1px solid;
  }
  .in-date {
    color: #797979;
    width: calc(100% - 8px);
    border-right: 1px solid;
    border-bottom: 0;
    border-left: 1px solid;
    border-top: 0;
    padding: 10px 20px 0 20px;
    text-align: left;
    margin: 0 4px;
  }
  .in-nodate_r_box {
    margin: -4px 4px 4px 4px;
    width: calc(100% - 8px);
    padding: 10px 20px;
    border-top: 0;
    border-left: 1px solid;
  }
  .in-nr_box {
    margin: -4px 4px 4px 4px;
    width: calc(100% - 8px);
    padding: 10px 20px;
    border-top: 0;
    border-left: 1px solid;
  }
  .in-n_date {
    color: #797979;
    font-weight: bold;
    font-size: 3.2vw;
    margin: 4px 4px 0 4px;
    width: calc(100% - 8px);
    border-right: 1px solid;
    border-left: 1px solid;
    border-color: #222;
    border-top: 1px solid;
    border-bottom: 0;
    padding: 10px 20px 0 20px;
    text-align: left;
  }
  .in-nodate_nr_box {
    margin: 4px;
    padding: 15px 10px 15px 20px;
  }
  .in-date_txt {
    font-size: 3.2vw;
  }
  .in-n_date_txt {
    font-size: 3.2vw;
  }
  .in-nonedate_r_box {
    margin: -4px 4px 4px 4px;
    width: calc(100% - 8px);
    padding: 10px 20px;
    border-top: 0;
    border-left: 1px solid;
  }
}

/* ---------------------------------------------
*   動画モーダル
--------------------------------------------- */

.movie-popup-content {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

.movie-popup-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mfp-bg {
    z-index: 3000;
}

.mfp-wrap {
    z-index: 3001;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 80%;
    max-width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .mfp-inline-holder .mfp-content,
    .mfp-ajax-holder .mfp-content {
        width: 100%;
        max-width: 100%;
    }
}

button.mfp-close,
button.mfp-arrow,
.mfp-close:active {
    opacity: 1;
    font-size: 0;
    width: 40px;
    height: 40px;
    top: -50px;
}

.mfp-close::before,
.mfp-close::after {
    content: '';
    display: block;
    width: 35px;
    height: 0;
    border-top: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
}

.mfp-close::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
}

.mfp-close::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
}


/* ---------------------------------------------
*   IR-News Press
--------------------------------------------- */

.ir-press {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 30px;
    padding-left: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-press {
        padding-right: 2.5vw;
        padding-left: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press {
        padding-right: 2.66667vw;
        padding-left: 2.66667vw;
    }
}

.ir-press__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .ir-press__body {
        position: relative;
        display: block;
    }
}

.ir-press-contents {
    width: 812px;
}

@media screen and (max-width: 1200px) {
    .ir-press-contents {
        width: 75.18519%;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-contents {
        width: 100%;
        text-align: center;
    }
}

.ir-press-contents__main {
    margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
    .ir-press-contents__main {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-contents__main {
        margin-bottom: 10.66667vw;
    }
}

.ir-press-contents__list-item {
    position: relative;
    margin-bottom: 30px;
    list-style: none;
}

@media screen and (max-width: 1200px) {
    .ir-press-contents__list-item {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-contents__list-item {
        margin-bottom: 5.33333vw;
        text-align: left;
    }
}

.ir-press-contents__list-item:last-of-type {
    margin-bottom: 0;
}

.ir-press-contents__list-item:before {
    position: absolute;
    top: 0;
    top: 4px;
    left: 0;
    left: 4px;
    z-index: -1;
    width: 100%;
    height: 100%;
    border-bottom-right-radius: 44px;
    content: "";
    -webkit-transition: background-color 0.5s;
    transition: background-color 0.5s;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 767px) {
    .ir-press-contents__list-item:before {
        top: 1.06667vw;
        left: 1.06667vw;
        border-bottom-right-radius: 11.73333vw;
    }
}

.ir-press-contents__list-item:hover:before {
    background-color: #181818;
}

.ir-press-contents__link {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 30px;
    border: 1px solid #DDDDDD;
    border-bottom-right-radius: 40px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .ir-press-contents__link {
        padding: 2.08333vw 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-contents__link {
        padding: 6.66667vw 8vw;
        border-bottom-right-radius: 10.66667vw;
    }
}

.ir-press-contents__list-txt {
    margin-bottom: 14px;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .ir-press-contents__list-txt {
        margin-bottom: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-contents__list-txt {
        margin-bottom: 4vw;
        font-size: 3.73333vw;
    }
}

.ir-press-contents__list-date {
    color: #787878;
    letter-spacing: 0.1em;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
}

@media screen and (max-width: 767px) {
    .ir-press-contents__list-date {
        font-size: 3.2vw;
    }
}


/* ---------------------------------------------
*   vision
--------------------------------------------- */

.vision {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 60px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .vision {
        padding-right: 5vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .vision {
        padding-right: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

.vision__kv {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 100px;
    margin-left: -90px;
    padding-top: 138px;
    padding-bottom: 138px;
    width: 1200px;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    text-align: center;
}

@media screen and (max-width: 1200px) {
    .vision__kv {
        margin-bottom: 8.33333vw;
        margin-left: -7.5vw;
        padding-top: 10.83333vw;
        padding-bottom: 11.5vw;
        width: calc(15vw + 100%);
    }
}

@media screen and (max-width: 767px) {
    .vision__kv {
        margin-bottom: 32vw;
        margin-left: -8vw;
        padding-top: 11.2vw;
        padding-bottom: 11.2vw;
        width: 100vw;
    }
    .windows .vision__kv {
        margin-left: -8vw;
        width: calc(16vw + 100%);
    }
}

.vision__kv-img {
    width: 300px;
}

@media screen and (max-width: 1200px) {
    .vision__kv-img {
        width: 25vw;
    }
}

@media screen and (max-width: 767px) {
    .vision__kv-img {
        width: 37.33333vw;
    }
}

.vision-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    margin-bottom: 95px;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1200px) {
    .vision-contents {
        margin-bottom: 7.91667vw;
    }
}

@media screen and (max-width: 767px) {
    .vision-contents {
        display: block;
        margin-bottom: 32vw;
    }
}

.vision-contents:last-of-type {
    margin-bottom: 0;
}

.vision-contents__body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-left: auto;
    padding-left: 60px;
    width: 690px;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
}

@media screen and (max-width: 1200px) {
    .vision-contents__body {
        padding-left: 5vw;
        width: 57.5vw;
    }
}

@media screen and (max-width: 767px) {
    .vision-contents__body {
        padding-left: 0;
        width: 100%;
    }
}

.vision-contents__body--statement {
    padding-top: 10px;
}

@media screen and (max-width: 1200px) {
    .vision-contents__body--statement {
        padding-top: 0.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .vision-contents__body--statement {
        padding-top: 0;
    }
}

.vision-contents__slogan {
    font-weight: bold;
}

.vision-contents__slogan--upper {
    margin-bottom: 3px;
    font-size: 45px;
}

@media screen and (max-width: 1200px) {
    .vision-contents__slogan--upper {
        margin-bottom: 0.25vw;
        font-size: 3.75vw;
    }
}

@media screen and (max-width: 767px) {
    .vision-contents__slogan--upper {
        margin-bottom: 3.46667vw;
        font-size: 6.93333vw;
    }
}

.vision-contents__slogan--lower {
    margin-bottom: 40px;
    font-size: 41px;
}

@media screen and (max-width: 1200px) {
    .vision-contents__slogan--lower {
        margin-bottom: 3.33333vw;
        font-size: 3.41667vw;
    }
}

@media screen and (max-width: 767px) {
    .vision-contents__slogan--lower {
        margin-bottom: 7.73333vw;
        letter-spacing: -0.06em;
        font-size: 6.4vw;
    }
}

.vision-contents__lead {
    margin-bottom: 46px;
    font-weight: bold;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .vision-contents__lead {
        margin-bottom: 3.83333vw;
        font-size: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .vision-contents__lead {
        margin-bottom: 8vw;
        font-size: 4.8vw;
    }
}

.vision-contents__txt {
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .vision-contents__txt {
        font-size: 3.73333vw;
    }
}

.vision-contents__txt--statement {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .vision-contents__txt--statement {
        font-size: 3.73333vw;
    }
}


/* ---------------------------------------------
*   Contact
--------------------------------------------- */

.contact {
    padding-right: 60px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .contact {
        padding-right: 5vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact {
        padding-right: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

.contact-step {
    margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
    .contact-step {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-step {
        position: relative;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: 0;
        padding-top: 8vw;
        padding-bottom: 8vw;
    }
}

.contact-step__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    -ms-flex-align: center;
    margin-bottom: 60px;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: start;
    justify-content: flex-start;
}

@media screen and (max-width: 1200px) {
    .contact-step__list {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-step__list {
        margin-bottom: 16vw;
    }
}

.contact-step__list-item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 30px;
    width: 320px;
    height: 58px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    text-align: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .contact-step__list-item {
        margin-right: 2.5vw;
        width: 31.37255%;
        height: 4.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-step__list-item {
        margin-right: 8vw;
        height: 100%;
        border: none;
        border-radius: 0;
        background-color: transparent;
    }
}

.contact-step__list-item:last-of-type {
    margin-right: 0;
}

.contact-step__num {
    position: absolute;
    top: -1px;
    left: -1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 55px;
    height: 58px;
    border-radius: 3px 9px 9px 3px / 3px 29px 29px 3px;
    background-color: #DDDDDD;
    color: #fff;
    font-size: 14px;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .contact-step__num {
        width: 17.1875%;
        height: 4.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-step__num {
        position: static;
        width: 22.66667vw;
        height: 22.66667vw;
        border-radius: 50%;
        font-size: 4.8vw;
    }
    .windows .contact-step__num {
        padding: 34.4% 0;
        width: 100%;
        height: 100%;
    }
}

.contact-step__num--current {
    background-color: #000;
    color: #fff;
}

.contact-step__ttl {
    font-weight: bold;
    font-size: 14px;
}

.contact-step__txt {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 26px 244px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.7;
}

@media screen and (max-width: 1200px) {
    .contact-step__txt {
        padding: 2.16667vw 20.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-step__txt {
        margin-right: auto;
        margin-left: auto;
        padding: 4vw;
        width: 84vw;
        border-radius: 1.33333vw;
        font-size: 3.73333vw;
    }
    .windows .contact-step__txt {
        width: 100%;
    }
}

.contact-step__txt--confirmation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    padding: 26px 200px;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .contact-step__txt--confirmation {
        padding: 2.16667vw 16.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-step__txt--confirmation {
        padding: 4vw;
    }
}

.contact-form__contents {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    margin-bottom: 60px;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1200px) {
    .contact-form__contents {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__contents {
        display: block;
        margin-bottom: 8vw;
        padding-top: 8vw;
    }
}

.contact-form__contents--last {
    margin-bottom: 50px;
}

@media screen and (max-width: 1200px) {
    .contact-form__contents--last {
        margin-bottom: 4.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__contents--last {
        margin-bottom: 16vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__contents--last:before {
        bottom: -92vw;
        height: 160.53333vw;
    }
}

.contact-form__head {
    position: relative;
    top: 10px;
    margin-right: 60px;
    width: 330px;
    font-weight: bold;
    font-size: 24px;
}

@media screen and (max-width: 1200px) {
    .contact-form__head {
        top: 0.83333vw;
        margin-right: 5vw;
        width: 32.35294%;
        font-size: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__head {
        top: auto;
        margin-bottom: 4vw;
        width: 100%;
        font-size: 5.33333vw;
    }
}

.contact-form__head:before {
    position: absolute;
    top: 50%;
    left: -60px;
    width: 30px;
    height: 4px;
    border-radius: 0 2px 2px 0;
    background-color: #000;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .contact-form__head:before {
        left: -5vw;
        width: 2.5vw;
        height: 0.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__head:before {
        left: -5.33333vw;
        width: 2.66667vw;
        height: 1.06667vw;
        border-radius: 0 15px 15px 0;
    }
}

.contact-form__head:after {
    position: absolute;
    top: 18px;
    right: -60px;
    width: 100%;
    height: 1px;
    background-color: #DDDDDD;
    content: "";
}

@media screen and (max-width: 1200px) {
    .contact-form__head:after {
        top: 1.5vw;
        right: -5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__head:after {
        content: none;
    }
}

.contact-form__head span {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding-right: 1em;
    background-color: #f8f8f8;
}

@media screen and (max-width: 767px) {
    .contact-form__head span {
        padding-right: 0;
        background-color: transparent;
    }
}

.contact-form__body {
    width: 630px;
}

@media screen and (max-width: 1200px) {
    .contact-form__body {
        width: 61.76471%;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__body {
        width: 100%;
    }
}

.contact-form__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.contact-form__select {
    position: relative;
}

.contact-form__select:after {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 8px;
    height: 8px;
    background: url(../img/common/icon_arrow_right.svg) 0 0 no-repeat;
    background-size: 100%;
    content: "";
    -webkit-transform: rotate(90deg) translateX(-50%);
    transform: rotate(90deg) translateX(-50%);
    -webkit-transform-origin: 50% 25%;
    transform-origin: 50% 25%;
}

@media screen and (max-width: 1200px) {
    .contact-form__select:after {
        right: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__select:after {
        width: 2.13333vw;
        height: 2.13333vw;
        -webkit-transform: rotate(90deg) translateX(-50%);
        transform: rotate(90deg) translateX(-50%);
    }
}

.contact-form select {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 30px;
    width: 100%;
    height: 58px;
    outline: none;
    border: none;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    color: #787878;
    letter-spacing: 0.05em;
    font-size: 14px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 1200px) {
    .contact-form select {
        padding: 0 2.5vw;
        height: 4.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form select {
        padding: 0 4vw;
        height: 15.46667vw;
        border-radius: 1.33333vw;
        font-size: 3.73333vw;
    }
}

.ie .contact-form select::-ms-value {
    background: none;
    color: #222;
}

.contact-form select::-ms-expand {
    display: none;
}

.contact-form select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
}

.contact-form select option:first-child {
    color: #787878;
}

.contact-form input {
    padding: 0;
    outline: none;
    border: none;
    border-radius: 0;
    background: none;
    background-color: #fff;
    letter-spacing: 0.05em;
    cursor: pointer;
}

.contact-form input::-webkit-input-placeholder {
    color: #787878;
}

.contact-form input:-ms-input-placeholder {
    color: #787878;
}

.contact-form input::-ms-input-placeholder {
    color: #787878;
}

.contact-form input::placeholder {
    color: #787878;
}

.contact-form input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 30px;
    width: 100%;
    height: 58px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    font-size: 14px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 1200px) {
    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form input[type="tel"] {
        padding: 0 2.5vw;
        height: 4.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form input[type="tel"] {
        padding: 0 4vw;
        width: 100%;
        height: 15.46667vw;
        border-radius: 1.33333vw;
        font-size: 3.73333vw;
    }
}

.contact-form textarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    padding: 20px 30px;
    width: 100%;
    height: 320px;
    outline: none;
    border: 0;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background: transparent;
    background-color: #fff;
    letter-spacing: 0.05em;
    font-size: 14px;
    resize: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.contact-form textarea::-webkit-input-placeholder {
    color: #787878;
}

.contact-form textarea:-ms-input-placeholder {
    color: #787878;
}

.contact-form textarea::-ms-input-placeholder {
    color: #787878;
}

.contact-form textarea::placeholder {
    color: #787878;
}

@media screen and (max-width: 1200px) {
    .contact-form textarea {
        padding: 1.66667vw 2.5vw;
        height: 26.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form textarea {
        padding: 5.33333vw 4vw;
        width: 100%;
        height: 84vw;
        font-size: 3.73333vw;
    }
}

.contact-form__validation {
    padding-top: 10px;
    padding-left: 30px;
    color: #FF4040;
    letter-spacing: 0.05em;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .contact-form__validation {
        padding-top: 0.83333vw;
        padding-left: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__validation {
        padding-top: 2.66667vw;
        padding-left: 4vw;
        font-size: 3.73333vw;
    }
}

.contact-form__note {
    margin-bottom: 60px;
    margin-left: auto;
    width: 630px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .contact-form__note {
        margin-bottom: 5vw;
        width: 61.76471%;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__note {
        margin-bottom: 16vw;
        width: 100%;
        font-size: 3.73333vw;
    }
}

.contact-form__btn {
    position: relative;
    margin-bottom: 30px;
    margin-left: 390px;
    width: 290px;
}

@media screen and (max-width: 1200px) {
    .contact-form__btn {
        margin-bottom: 2.5vw;
        margin-left: 32.5vw;
        width: 28.43137%;
    }
}

@media screen and (max-width: 767px) {
    .contact-form__btn {
        margin-right: auto;
        margin-bottom: 8vw;
        margin-left: auto;
        width: 100%;
        text-align: center;
    }
}

.contact-form__btn:last-of-type {
    margin-bottom: 0;
}

.contact-form__btn:after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    background: url(../img/common/icon_arrow_right_white.svg) 0 0 no-repeat;
    background-size: 100%;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    .contact-form__btn:after {
        right: 8vw;
        width: 2.13333vw;
        height: 2.13333vw;
    }
}

.contact-form__btn:hover:after {
    background-image: url(../img/common/icon_arrow_right.svg);
}

.contact-form input[type="submit"] {
    position: relative;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    padding: 17px 0;
    width: 290px;
    outline: none;
    border: none;
    border: 1px solid #181818;
    border-radius: 5px 29px 29px 5px;
    background: transparent;
    background-color: #181818;
    color: #fff;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 16px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transition-property: color, background-color, border;
    transition-property: color, background-color, border;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 1200px) {
    .contact-form input[type="submit"] {
        padding: 1.41667vw 0;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .contact-form input[type="submit"] {
        padding: 4.53333vw 0;
        width: 92.06349%;
        border-radius: 5px 100px 100px 5px;
        font-size: 4.26667vw;
    }
}

.contact-form input[type="submit"]:hover {
    border: 1px solid #181818;
    background-color: #fff;
    color: #181818;
}

.contact-form button[type="button"] {
    position: relative;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    padding: 17px 0;
    width: 290px;
    outline: none;
    border: none;
    border: 1px solid #181818;
    border-radius: 5px 29px 29px 5px;
    background: transparent;
    background-color: #181818;
    color: #fff;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 16px;
    cursor: pointer;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transition-property: color, background-color, border;
    transition-property: color, background-color, border;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 1200px) {
    .contact-form button[type="button"] {
        padding: 1.41667vw 0;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .contact-form button[type="button"] {
        padding: 4.53333vw 0;
        width: 92.06349%;
        border-radius: 5px 100px 100px 5px;
        font-size: 4.26667vw;
    }
}

.contact-form button[type="button"]:hover {
    border: 1px solid #181818;
    background-color: #fff;
    color: #181818;
}

.contact-form .year,
.contact-form .month,
.contact-form .date {
    padding: 0 !important;
    width: 25% !important;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .contact-form .year,
    .contact-form .month,
    .contact-form .date {
        width: 20% !important;
    }
}

.contact-form .ui-datepicker-trigger {
    cursor: pointer;
}

.contact-form .ui-datepicker {
    z-index: 10;
}

.contact-contents {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 60px;
    padding: 19px 0;
    width: 100%;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    text-align: center;
}

@media screen and (max-width: 1200px) {
    .contact-contents {
        margin-bottom: 5vw;
        padding: 1.58333vw 0;
    }
}

@media screen and (max-width: 767px) {
    .contact-contents {
        margin-bottom: 16vw;
        padding: 2.4vw 0;
    }
}

.contact-contents__txt {
    color: #FF4040;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .contact-contents__txt {
        font-size: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-contents__txt {
        font-size: 5.33333vw;
    }
}

.contact-form-confirmation__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 30px;
    width: 100%;
    height: 58px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    color: #222;
    letter-spacing: 0.05em;
    font-size: 14px;
    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 1200px) {
    .contact-form-confirmation__txt {
        padding: 0 2.5vw;
        height: 4.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form-confirmation__txt {
        padding: 0 4vw;
        width: 100%;
        height: 15.46667vw;
        border-radius: 1.33333vw;
        font-size: 3.73333vw;
    }
}

.contact-form-confirmation__txt-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px 30px;
    width: 100%;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    color: #222;
    letter-spacing: 0.05em;
    font-size: 14px;
    -webkit-box-align: center;
    align-items: center;
    word-break: break-all;
}

@media screen and (max-width: 1200px) {
    .contact-form-confirmation__txt-area {
        padding: 1.66667vw 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .contact-form-confirmation__txt-area {
        padding: 4vw;
        border-radius: 1.33333vw;
        font-size: 3.73333vw;
    }
}


/* ---------------------------------------------
*   ir-message
*   groupcompanies
--------------------------------------------- */

.ir-message,
.groupcompanies {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 60px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .ir-message,
    .groupcompanies {
        padding-right: 5vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-message,
    .groupcompanies {
        padding-right: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

.sustainability__kv,
.ir-message__kv,
.groupcompanies__kv {
    margin-bottom: 110px;
    margin-left: -90px;
    width: 1200px;
}

@media screen and (max-width: 1200px) {
    .sustainability__kv,
    .ir-message__kv,
    .groupcompanies__kv {
        margin-bottom: 9.16667vw;
        margin-left: -7.5vw;
        width: calc(100% + 15vw);
    }
}

@media screen and (max-width: 767px) {
    .sustainability__kv,
    .ir-message__kv,
    .groupcompanies__kv {
        margin-bottom: 32vw;
        margin-left: -8vw;
        width: 100vw;
    }
    .windows .sustainability__kv,
    .windows .ir-message__kv,
    .windows .groupcompanies__kv {
        width: calc(100% + 16vw);
    }
}

.sustainability__kv img,
.ir-message__kv img,
.groupcompanies__kv img {
    width: 100%;
}

.sustainability-contents,
.ir-message-contents,
.groupcompanies-contents {
    margin-bottom: 120px;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents,
    .ir-message-contents,
    .groupcompanies-contents {
        margin-bottom: 10vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents,
    .ir-message-contents,
    .groupcompanies-contents {
        margin-bottom: 32vw;
    }
}

.sustainability-contents:last-of-type,
.ir-message-contents:last-of-type,
.groupcompanies-contents:last-of-type {
    margin-bottom: 0;
}

.sustainability-contents__message,
.ir-message-contents__message,
.groupcompanies-contents__message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 60px;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__message,
    .ir-message-contents__message,
    .groupcompanies-contents__message {
        padding: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__message,
    .ir-message-contents__message,
    .groupcompanies-contents__message {
        display: block;
        padding: 16vw 4vw;
    }
}

.sustainability-contents__message--conditioning,
.ir-message-contents__message--conditioning,
.groupcompanies-contents__message--conditioning {
    display: block;
}

.sustainability-contents__message-inner,
.ir-message-contents__message-inner,
.groupcompanies-contents__message-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    margin-bottom: 50px;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__message-inner,
    .ir-message-contents__message-inner,
    .groupcompanies-contents__message-inner {
        margin-bottom: 4.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__message-inner,
    .ir-message-contents__message-inner,
    .groupcompanies-contents__message-inner {
        display: block;
        margin-bottom: 13.33333vw;
    }
}

.sustainability-contents__sub-lead,
.ir-message-contents__sub-lead,
.groupcompanies-contents__sub-lead {
    margin-bottom: 1em;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .sustainability-contents__sub-lead,
    .ir-message-contents__sub-lead,
    .groupcompanies-contents__sub-lead {
        font-size: 3.73333vw;
    }
}

.sustainability-contents__txt,
.ir-message-contents__txt,
.groupcompanies-contents__txt {
    margin-bottom: 20px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__txt,
    .ir-message-contents__txt,
    .groupcompanies-contents__txt {
        margin-bottom: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__txt,
    .ir-message-contents__txt,
    .groupcompanies-contents__txt {
        margin-bottom: 5.33333vw;
        font-size: 3.73333vw;
    }
}

.sustainability-contents__txt:last-of-type,
.ir-message-contents__txt:last-of-type,
.groupcompanies-contents__txt:last-of-type {
    margin-bottom: 0;
}

.sustainability-contents__img,
.ir-message-contents__img,
.groupcompanies-contents__img {
    margin-right: 60px;
    max-width: 330px;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__img,
    .ir-message-contents__img,
    .groupcompanies-contents__img {
        margin-right: 5vw;
        max-width: 27.5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__img,
    .ir-message-contents__img,
    .groupcompanies-contents__img {
        margin-right: 0;
        margin-bottom: 8vw;
        max-width: none;
        width: 100%;
    }
}

.sustainability-contents__img img,
.ir-message-contents__img img,
.groupcompanies-contents__img img {
    width: 100%;
}

.sustainability-contents__company,
.ir-message-contents__company,
.groupcompanies-contents__company {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 60px 60px 0;
    width: 100%;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__company,
    .ir-message-contents__company,
    .groupcompanies-contents__company {
        padding: 5vw 5vw 0;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__company,
    .ir-message-contents__company,
    .groupcompanies-contents__company {
        padding: 0;
        border: none;
        background-color: transparent;
    }
}

.sustainability-contents__list,
.ir-message-contents__list,
.groupcompanies-contents__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    -ms-flex-align: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.sustainability-contents__list-item,
.ir-message-contents__list-item,
.groupcompanies-contents__list-item {
    margin-right: 28px;
    margin-bottom: 60px;
    width: 280px;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__list-item,
    .ir-message-contents__list-item,
    .groupcompanies-contents__list-item {
        margin-right: 2.33333vw;
        margin-bottom: 5vw;
        width: 31.1804%;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__list-item,
    .ir-message-contents__list-item,
    .groupcompanies-contents__list-item {
        margin-right: 0;
        margin-bottom: 16vw;
        width: 100%;
    }
}

.sustainability-contents__list-item:nth-of-type(3n),
.ir-message-contents__list-item:nth-of-type(3n),
.groupcompanies-contents__list-item:nth-of-type(3n) {
    margin-right: 0;
}

.sustainability-contents__link,
.ir-message-contents__link,
.groupcompanies-contents__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 20px;
    width: 100%;
    height: 160px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
}

.sustainability-contents__link:hover,
.ir-message-contents__link:hover,
.groupcompanies-contents__link:hover {
    opacity: 0.8;
}

.ios .sustainability-contents__link:hover,
.android .sustainability-contents__link:hover,
.ios .ir-message-contents__link:hover,
.android .ir-message-contents__link:hover,
.ios .groupcompanies-contents__link:hover,
.android .groupcompanies-contents__link:hover {
    opacity: 1;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__link,
    .ir-message-contents__link,
    .groupcompanies-contents__link {
        margin-bottom: 1.66667vw;
        height: 13.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__link,
    .ir-message-contents__link,
    .groupcompanies-contents__link {
        margin-bottom: 5.33333vw;
        height: 46.66667vw;
    }
}

.sustainability-contents__link-img,
.ir-message-contents__link-img,
.groupcompanies-contents__link-img {
    width: 65%;
}

.sustainability-contents__company-name,
.ir-message-contents__company-name,
.groupcompanies-contents__company-name {
    font-weight: bold;
    font-size: 16px;
    -webkit-transition-delay: .6s;
    transition-delay: .6s;
}

@media screen and (max-width: 767px) {
    .sustainability-contents__company-name,
    .ir-message-contents__company-name,
    .groupcompanies-contents__company-name {
        font-size: 4.8vw;
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }
}

.sustainability-contents__company-desc,
.ir-message-contents__company-desc,
.groupcompanies-contents__company-desc {
    padding-top: 10px;
    letter-spacing: 0.1em;
    font-size: 14px;
    -webkit-transition-delay: .9s;
    transition-delay: .9s;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__company-desc,
    .ir-message-contents__company-desc,
    .groupcompanies-contents__company-desc {
        padding-top: 0.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__company-desc,
    .ir-message-contents__company-desc,
    .groupcompanies-contents__company-desc {
        padding-top: 6.66667vw;
        font-size: 3.73333vw;
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }
}

.sustainability-contents__note-block,
.ir-message-contents__note-block,
.groupcompanies-contents__note-block {
    margin-top: 50px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .sustainability-contents__note-block,
    .ir-message-contents__note-block,
    .groupcompanies-contents__note-block {
        margin-top: 4.16667vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability-contents__note-block,
    .ir-message-contents__note-block,
    .groupcompanies-contents__note-block {
        margin-top: 13.33333vw;
        padding-left: 0;
    }
}

.sustainability-contents__note,
.ir-message-contents__note,
.groupcompanies-contents__note {
    padding-left: 2em;
    text-indent: -2em;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .sustainability-contents__note,
    .ir-message-contents__note,
    .groupcompanies-contents__note {
        font-size: 3.73333vw;
    }
}


/* ---------------------------------------------
*   ir-press-detail
--------------------------------------------- */

.ir-press-detail {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 60px;
    margin-left: 60px;
    padding: 60px 150px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    opacity: 0;
    -webkit-animation: fadeIn 2s ease 1 forwards;
    animation: fadeIn 2s ease 1 forwards;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail {
        margin-right: 5vw;
        margin-left: 5vw;
        padding: 5vw 12.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail {
        margin-right: 5.33333vw;
        margin-left: 5.33333vw;
        padding: 16vw 4vw;
    }
}

.ir-press-detail__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: end;
    margin-bottom: 30px;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    align-items: flex-end;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail__info {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info {
        display: block;
        margin-bottom: 8vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info-main {
        margin-bottom: 8vw;
    }
}

.ir-press-detail__info-date {
    color: #787878;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info-date {
        font-size: 3.2vw;
    }
}

.ir-press-detail__info-company {
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info-company {
        font-size: 3.2vw;
    }
}

.ir-press-detail__info-share-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    align-items: center;
}

.ir-press-detail__info-share-list-item {
    margin-right: 15px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.ir-press-detail__info-share-list-item:hover {
    opacity: 0.8;
}

.ios .ir-press-detail__info-share-list-item:hover,
.android .ir-press-detail__info-share-list-item:hover {
    opacity: 1;
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info-share-list-item {
        margin-right: 4vw;
    }
}

.ir-press-detail__info-share-list-item img {
    width: 100%;
}

.ir-press-detail__info-share-list-item--twitter {
    width: 25px;
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info-share-list-item--twitter {
        width: 8vw;
    }
}

.ir-press-detail__info-share-list-item--facebook {
    width: 10px;
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info-share-list-item--facebook {
        width: 2.93333vw;
    }
}

.ir-press-detail__info-share-list-item--hatena {
    width: 20px;
}

@media screen and (max-width: 767px) {
    .ir-press-detail__info-share-list-item--hatena {
        width: 6.4vw;
    }
}

.ir-press-detail__head {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid #DDDDDD;
    letter-spacing: 0.03em;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.7;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail__head {
        margin-bottom: 5vw;
        padding-bottom: 5vw;
        font-size: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail__head {
        margin-bottom: 16vw;
        padding-bottom: 16vw;
        font-size: 5.33333vw;
    }
}

.ir-press-detail-block {
    margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail-block {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail-block {
        margin-bottom: 16vw;
    }
}

.ir-press-detail-block:last-of-type {
    margin-bottom: 0;
}

.ir-press-detail-block__head {
    margin-bottom: 30px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.75;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail-block__head {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail-block__head {
        margin-bottom: 8vw;
        font-size: 4.26667vw;
    }
}

.ir-press-detail-block__sub-head {
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.6;
}

@media screen and (max-width: 767px) {
    .ir-press-detail-block__sub-head {
        font-size: 3.73333vw;
    }
}

.ir-press-detail-block__img {
    display: block;
    margin: 0 auto 30px;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail-block__img {
        margin: 0 auto 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail-block__img {
        margin: 0 auto 8vw;
    }
}

.ir-press-detail-block__txt {
    margin-bottom: 30px;
    letter-spacing: 0.05em;
    font-size: 14px;
    line-height: 1.6;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail-block__txt {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail-block__txt {
        margin-bottom: 8vw;
        font-size: 3.73333vw;
    }
}

.ir-press-detail-block__html {
    margin-bottom: 30px;
}

.ir-press-detail-block__html table {
    margin: 0 auto 0;
    border: 1px solid #000;
}

.ir-press-detail-block__html table th,
.ir-press-detail-block__html table td {
    border: 1px solid #000;
    padding: 0.3em 0.2em;
}

@media screen and (max-width: 1200px) {
    .ir-press-detail-block__html {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-press-detail-block__html {
        margin-bottom: 8vw;
    }
}


/* ---------------------------------------------
*   ir-calendar
--------------------------------------------- */

.ir-calendar {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 40px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .ir-calendar {
        padding-right: 3.33333vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-calendar {
        padding-right: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

.ir-calendar__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .ir-calendar__body {
        position: relative;
        display: block;
    }
}

.ir-calendar-contents__main {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 50px 60px;
    width: 780px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 1200px) {
    .ir-calendar-contents__main {
        padding: 4.16667vw 5vw;
        width: 65vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-calendar-contents__main {
        padding: 13.33333vw 4vw;
        width: 100%;
    }
}

.ir-calendar-contents__list-item {
    margin-bottom: 50px;
}

@media screen and (max-width: 1200px) {
    .ir-calendar-contents__list-item {
        margin-bottom: 4.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-calendar-contents__list-item {
        margin-bottom: 13.33333vw;
    }
}

.ir-calendar-contents__list-item:last-of-type {
    margin-bottom: 0;
}

.ir-calendar-contents__ttl {
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 16px;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
}

@media screen and (max-width: 1200px) {
    .ir-calendar-contents__ttl {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-calendar-contents__ttl {
        margin-bottom: 8vw;
        font-size: 4.26667vw;
    }
}

.ir-calendar-contents__inner-list {
    -webkit-transition-delay: .6s;
    transition-delay: .6s;
}

.ir-calendar-contents__inner-list-item {
    font-size: 14px;
    line-height: 1.6;
}

@media screen and (max-width: 767px) {
    .ir-calendar-contents__inner-list-item {
        font-size: 3.73333vw;
    }
}

.ir-calendar-contents__txt {
    -webkit-transition-delay: .6s;
    transition-delay: .6s;
}


/* ---------------------------------------------
*   ir-presentations
--------------------------------------------- */

.ir-presentations {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 30px;
    padding-left: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-presentations {
        padding-right: 2.5vw;
        padding-left: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations {
        padding-right: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

.ir-presentations__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .ir-presentations__body {
        position: relative;
        display: block;
    }
}

.ir-presentations-contents {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 60px 30px;
    width: 812px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents {
        padding: 5vw 2.5vw;
        width: 67.66667vw;
        border-radius: 0.41667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents {
        padding: 16vw 6.4vw;
        width: 100%;
        border-radius: 1.33333vw;
    }
}

.ir-presentations-contents__movie {
    margin-bottom: 100px;
    width: 100%;
    height: 422px;
    text-align: left;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents__movie {
        margin-bottom: 8.33333vw;
        height: 35.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__movie {
        margin-bottom: 24vw;
        height: 39.73333vw;
    }
}

.ir-presentations-contents__movie video {
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
}

.ir-presentations-contents__movie iframe {
    width: 100% !important;
    height: 100% !important;
}

.ir-presentations-contents__summary {
    margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents__summary {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__summary {
        margin-bottom: 8vw;
    }
}

.ir-presentations-contents__lead {
    margin-bottom: 30px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 16px;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents__lead {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__lead {
        margin-bottom: 6.66667vw;
        font-size: 4.26667vw;
    }
}

.ir-presentations-contents__detail-lead {
    margin-bottom: 25px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 16px;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents__detail-lead {
        margin-bottom: 2.08333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__detail-lead {
        margin-bottom: 5.33333vw;
        font-size: 4.26667vw;
    }
}

.ir-presentations-contents__detail-txt {
    font-size: 14px;
    line-height: 1.7;
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__detail-txt {
        font-size: 3.73333vw;
    }
}

.ir-presentations-contents__announce {
    margin-top: 100px;
    margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents__announce {
        margin-top: 8.33333vw;
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__announce {
        margin-top: 26.66667vw;
        margin-bottom: 8vw;
    }
}

.ir-presentations-contents__announce-list-item {
    margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents__announce-list-item {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__announce-list-item {
        margin-bottom: 8vw;
    }
}

.ir-presentations-contents__announce-list-item:last-of-type {
    margin-bottom: 0;
}

.ir-presentations-contents__announce-list-head {
    margin-bottom: 15px;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .ir-presentations-contents__announce-list-head {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__announce-list-head {
        margin-bottom: 4vw;
        font-size: 3.73333vw;
    }
}

.ir-presentations-contents__info {
    letter-spacing: 0.05em;
    line-height: 1.7;
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__info {
        line-height: 1.6;
    }
}

.ir-presentations-contents__info-head {
    margin-bottom: 1em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__info-head {
        margin-bottom: 5.33333vw;
        font-size: 3.73333vw;
    }
}

.ir-presentations-contents__info-head--sub {
    font-weight: normal;
}

.ir-presentations-contents__info-block {
    margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__info-block {
        margin-bottom: 5.33333vw;
    }
}

.ir-presentations-contents__info-block:last-of-type {
    margin-bottom: 0;
}

.ir-presentations-contents__info-block-head {
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__info-block-head {
        font-size: 3.73333vw;
    }
}

.ir-presentations-contents__info-block-txt {
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .ir-presentations-contents__info-block-txt {
        font-size: 3.73333vw;
    }
}


/* ---------------------------------------------
*   ir-highlight
--------------------------------------------- */

.ir-highlight,
.ir-analysts {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 60px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight,
    .ir-analysts {
        padding-right: 5vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight,
    .ir-analysts {
        padding-right: 2.66667vw;
        padding-left: 2.66667vw;
    }
}

.ir-highlight-download {
    margin-bottom: 120px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-download {
        margin-bottom: 10vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-download {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: 32vw;
        padding-right: 2.66667vw;
        padding-left: 2.66667vw;
    }
}

.ir-highlight-download__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    margin-bottom: 60px;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-download__contents {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-download__contents {
        display: block;
        margin-bottom: 16vw;
    }
}

.ir-highlight-download__contents:last-of-type {
    margin-bottom: 0;
}

.ir-highlight-download__body {
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-download__body {
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-download__body {
        padding-left: 0;
    }
}

.ir-highlight-download__list-item {
    margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-download__list-item {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-download__list-item {
        margin-bottom: 8vw;
    }
}

.ir-highlight-download__list-item:last-of-type {
    margin-bottom: 0;
}

.ir-highlight-download__list-head {
    margin-bottom: 15px;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-download__list-head {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-download__list-head {
        margin-bottom: 4vw;
        font-size: 3.73333vw;
    }
}

.ir-highlight-download__note {
    margin-top: 30px;
    margin-bottom: 60px;
    margin-left: 390px;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-download__note {
        margin-top: 2.5vw;
        margin-bottom: 5vw;
        margin-left: 32.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-download__note {
        margin-top: 8vw;
        margin-bottom: 16vw;
        margin-left: 0;
        font-size: 3.73333vw;
    }
}

.ir-highlight-data,
.ir-analysts-data {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 60px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-data,
    .ir-analysts-data {
        padding: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data,
    .ir-analysts-data {
        padding: 16vw 6.66667vw;
        border-radius: 1.33333vw;
    }
}

.ir-highlight-data__tab-list,
.ir-analysts-data__tab-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 100px;
    border-bottom: 1px solid #DDDDDD;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: start;
    justify-content: flex-start;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-data__tab-list,
    .ir-analysts-data__tab-list {
        margin-bottom: 8.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__tab-list,
    .ir-analysts-data__tab-list {
        margin-bottom: 26.66667vw;
    }
}

.ir-highlight-data__tab-list-item,
.ir-analysts-data__tab-list-item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 30px;
    padding-bottom: 18px;
    padding-left: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-data__tab-list-item,
    .ir-analysts-data__tab-list-item {
        padding-right: 2.5vw;
        padding-bottom: 1.5vw;
        padding-left: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__tab-list-item,
    .ir-analysts-data__tab-list-item {
        padding-right: 8vw;
        padding-bottom: 4.8vw;
        padding-left: 8vw;
    }
}

.ir-highlight-data__tab-list-item.current,
.ir-analysts-data__tab-list-item.current {
    border-bottom: 2px solid #000;
}

.ir-highlight-data__tab-list-item.current button,
.ir-analysts-data__tab-list-item.current button {
    color: #222;
}

.ir-highlight-data__tab-list-item button,
.ir-analysts-data__tab-list-item button {
    padding: 0;
    outline: none;
    border: none;
    background-color: transparent;
    color: #787878;
    font-weight: bold;
    font-size: 24px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__tab-list-item button,
    .ir-analysts-data__tab-list-item button {
        font-size: 6.4vw;
    }
}

.ir-highlight-data__block,
.ir-analysts-data__block {
    margin-bottom: 100px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-data__block,
    .ir-analysts-data__block {
        margin-bottom: 8.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__block,
    .ir-analysts-data__block {
        margin-bottom: 26.66667vw;
    }
}

.ir-highlight-data__ttl,
.ir-analysts-data__ttl {
    margin-bottom: 60px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 16px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-data__ttl,
    .ir-analysts-data__ttl {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__ttl,
    .ir-analysts-data__ttl {
        margin-bottom: 7.46667vw;
        font-size: 4.26667vw;
    }
}

.ir-highlight-data__figure,
.ir-analysts-data__figure {
    margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
    .ir-highlight-data__figure,
    .ir-analysts-data__figure {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__figure,
    .ir-analysts-data__figure {
        overflow-x: scroll;
        margin-bottom: 2.66667vw;
        padding-bottom: 2.66667vw;
        scrollbar-color: #181818 #DDDDDD;
        scrollbar-width: 4px;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__figure::-webkit-scrollbar,
    .ir-analysts-data__figure::-webkit-scrollbar {
        height: 4px;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__figure::-webkit-scrollbar-track,
    .ir-analysts-data__figure::-webkit-scrollbar-track {
        background-color: #DDDDDD;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__figure::-webkit-scrollbar-thumb,
    .ir-analysts-data__figure::-webkit-scrollbar-thumb {
        background-color: #181818;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__figure img,
    .ir-analysts-data__figure img {
        max-width: none;
        width: 114.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__figure-note,
    .ir-analysts-data__figure-note {
        margin-bottom: 13.33333vw;
        font-size: 3.2vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__table,
    .ir-analysts-data__table {
        border: 1px solid #DDDDDD;
    }
}

.ir-highlight-data__desc-list-item,
.ir-analysts-data__desc-list-item {
    padding-left: 1em;
    text-indent: -1em;
    letter-spacing: 0.05em;
    font-size: 14px;
    line-height: 1.7;
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__desc-list-item,
    .ir-analysts-data__desc-list-item {
        padding-left: 0;
        text-indent: 0;
        font-size: 3.73333vw;
    }
}

.ir-highlight-data__desc-ttl,
.ir-analysts-data__desc-ttl {
    margin-bottom: 1em;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.7;
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__desc-ttl,
    .ir-analysts-data__desc-ttl {
        font-size: 3.73333vw;
    }
}

.ir-highlight-data__desc-txt,
.ir-analysts-data__desc-txt {
    margin-bottom: 1em;
    letter-spacing: 0.05em;
    font-size: 14px;
    line-height: 1.7;
}

@media screen and (max-width: 767px) {
    .ir-highlight-data__desc-txt,
    .ir-analysts-data__desc-txt {
        font-size: 3.73333vw;
    }
}

.ir-highlight-data__desc-txt:last-of-type,
.ir-analysts-data__desc-txt:last-of-type {
    margin-bottom: 0;
}


/* ---------------------------------------------
*   company-info
--------------------------------------------- */

.company-info {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 60px;
}

@media screen and (max-width: 1200px) {
    .company-info {
        padding: 0 5vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info {
        padding: 0 5.33333vw;
    }
}

.company-info-contents {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 60px 150px;
    width: 100%;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .company-info-contents {
        padding: 5vw 12.5vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents {
        padding: 16vw 5.33333vw;
    }
}

.company-info-contents--base {
    margin-bottom: 0;
    padding: 60px 30px;
}

@media screen and (max-width: 1200px) {
    .company-info-contents--base {
        padding: 5vw 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents--base {
        padding: 16vw 5.33333vw;
    }
}

.company-info-contents__inner {
    margin-bottom: 100px;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__inner {
        margin-bottom: 8.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__inner {
        margin-bottom: 26.66667vw;
    }
}

.company-info-contents__inner:last-of-type {
    margin-bottom: 0;
}

.company-info-contents__head {
    margin-bottom: 50px;
    font-weight: bold;
    font-size: 20px;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__head {
        margin-bottom: 4.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__head {
        margin-bottom: 13.33333vw;
        font-size: 4.8vw;
    }
}

.company-info-contents__list-item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    padding: 25px 0;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__list-item {
        padding: 2.08333vw 0;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__list-item {
        display: block;
        padding: 6.66667vw 0;
    }
}

.company-info-contents__list-item:before,
.company-info-contents__list-item:after {
    position: absolute;
    bottom: 0;
    width: 50%;
    height: 1px;
    content: "";
}

.company-info-contents__list-item:before {
    left: 0;
    background-color: #181818;
}

.company-info-contents__list-item:after {
    right: 0;
    background-color: #DDDDDD;
}

.company-info-contents__list-item:first-of-type {
    padding-top: 0;
}

.company-info-contents__term {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 10px;
    padding-left: 135px;
    width: 50%;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__term {
        padding-right: 0.83333vw;
        padding-left: 11.25vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__term {
        margin-bottom: 4vw;
        padding-right: 0;
        padding-left: 0;
        width: 100%;
        font-size: 3.73333vw;
    }
}

.company-info-contents__term--profile {
    padding-left: 100px;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__term--profile {
        padding-left: 8.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__term--profile {
        padding-left: 0;
    }
}

.company-info-contents__desc {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    letter-spacing: 0.05em;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .company-info-contents__desc {
        padding-right: 0;
        width: 100%;
        font-size: 3.73333vw;
    }
}

.company-info-contents__desc-link {
    margin-top: 10px;
    font-size: 12px;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__desc-link {
        margin-top: 0.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__desc-link {
        margin-top: 2.66667vw;
        font-size: 3.2vw;
    }
}

.company-info-contents__desc-link a {
    padding-bottom: 3px;
    border-bottom: 1px solid #222;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__desc-link a {
        padding-bottom: 0.25vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__desc-link a {
        padding-bottom: 0.8vw;
    }
}

.company-info-contents__desc-link a:hover {
    border-bottom: none;
}

.company-info-contents__desc-link--large {
    margin-top: 0;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .company-info-contents__desc-link--large {
        font-size: 3.73333vw;
    }
}

.company-info-contents__g-map {
    margin-top: 25px;
    margin-bottom: 15px;
    letter-spacing: 0.1em;
    font-size: 12px;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__g-map {
        margin-top: 2.08333vw;
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__g-map {
        margin-top: 6.66667vw;
        margin-bottom: 6.66667vw;
        font-size: 3.2vw;
    }
}

.company-info-contents__g-map a {
    padding-bottom: 5px;
    border-bottom: 1px solid #222;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__g-map a {
        padding-bottom: 0.41667vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__g-map a {
        padding-bottom: 1.33333vw;
    }
}

.company-info-contents__g-map a:hover {
    border-bottom: none;
}

.company-info-contents__desc-pdf {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 10px;
    margin-top: 10px;
    padding: 3px;
    border: 1px solid #DDDDDD;
}

@media screen and (max-width: 1200px) {
    .company-info-contents__desc-pdf {
        margin-right: 0.83333vw;
        padding: 0.25vw;
    }
}

@media screen and (max-width: 767px) {
    .company-info-contents__desc-pdf {
        margin-right: 2.66667vw;
        padding: 0.8vw;
    }
}


/* ---------------------------------------------
*   行動規範
--------------------------------------------- */

#compliance .compliance-ol {
    list-style: none;
}

#compliance .compliance-ol h3::before {
    padding-right: .5em;
}

#compliance .compliance-ol h3 {
    font-weight: bold;
    margin-bottom: 1em;
}

#compliance .compliance-ol li {
    list-style: none;
    margin-top: 0.5em;
    text-indent: -1em;
    padding-left: 1em;
}

.en #compliance .compliance-ol li {
    text-indent: -0.5em;
    padding-left: 0.5em;
}


/* ---------------------------------------------
*   購買基本方針
--------------------------------------------- */

#procurement .procurement-ol h4,
#procurement .procurement-ol h5 {
    font-weight: bold;
    margin-bottom: 1em;
    position: relative;
    margin-left: -16px;
    text-indent: -16px;
    padding-left: 16px;
}

@media screen and (max-width: 767px) {
    #procurement .procurement-ol h4,
    #procurement .procurement-ol h5 {
        font-weight: bold;
        margin-bottom: 1em;
        position: unset;
    }
}

#procurement .procurement-ol li {
    margin: 2vw 0 2vw 2vw;
}

@media screen and (max-width: 767px) {
    #procurement .procurement-ol li {
        margin: 2vw 0 5vw 5.333vw;
    }
}

#procurement .procurement-head {
    font-size: 22px;
    font-weight: bold;
    margin: 1.5em 0 1em 0;
}

@media screen and (max-width: 767px) {
    #procurement .procurement-head {
        font-size: 6vw;
    }
}

#procurement .txt-section-contents__head {
    margin: 1.5em 0 0.5em 0;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #e6e6e6;
}

#procurement .txt-section-contents {
    margin-bottom: 0;
}


/* ---------------------------------------------
*   腐敗防止基本方針
--------------------------------------------- */

.basic-ol {
    list-style: decimal;
}

.basic-ol h4,
.basic-ol h5 {
    font-weight: bold;
    margin-bottom: 1em;
}

.basic-ol li {
    margin: 0 0 1vw 2vw;
}

.basic-ol li:last-child {
    margin-bottom: 2vw;
}

@media screen and (max-width: 767px) {
    .basic-ol li:last-child {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .basic-ol li {
        margin: 0 0 2.5vw 5.333vw;
    }
}

.basic-ul li {
    margin: 0 0 2vw 2vw;
}

@media screen and (max-width: 767px) {
    .basic-ul li {
        margin: 2vw 0 5vw 5.333vw;
    }
}

.basic-head {
    font-size: 22px;
    font-weight: bold;
    margin: 1.5em 0 1em 0;
}

@media screen and (max-width: 767px) {
    .basic-head {
        font-size: 6vw;
    }
}


/* ---------------------------------------------
*   ir-top
--------------------------------------------- */

.ir-top-slide {
    position: relative;
    margin-bottom: 80px;
}

@media screen and (max-width: 1200px) {
    .ir-top-slide {
        margin-bottom: 6.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-slide {
        margin-bottom: 13.33333vw;
    }
}

.ir-top-slide__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}

.ie .ir-top-slide__link {
    display: block;
}

.ir-top-slide__txt {
    position: absolute;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 4px 18px;
    max-width: 80%;
    border-radius: 5px;
    background-color: #fff;
    font-weight: bold;
    font-size: 24px;
}

.ie .ir-top-slide__txt {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
}

@media screen and (max-width: 1200px) {
    .ir-top-slide__txt {
        padding: 0.33333vw 1.5vw;
        font-size: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-slide__txt {
        padding: 1.06667vw 3.2vw;
        max-width: 70%;
        font-size: 3.73333vw;
    }
}

.ir-top-slide .swiper-container {
    position: static;
    width: 100%;
    height: 420px;
}

@media screen and (max-width: 1200px) {
    .ir-top-slide .swiper-container {
        height: 35vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-slide .swiper-container {
        width: 88.73239%;
        height: 72vw;
    }
}

.ir-top-slide .swiper-slide {
    position: relative;
    height: 390px;
}

@media screen and (max-width: 1200px) {
    .ir-top-slide .swiper-slide {
        height: 32.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-slide .swiper-slide {
        height: 60.53333vw;
    }
}

.ir-top-slide .swiper-slide img {
    width: 100%;
}

.ir-top-slide .swiper-slide a {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.ir-top-slide .swiper-slide a:hover {
    opacity: 0.8;
}

.ios .ir-top-slide .swiper-slide a:hover,
.android .ir-top-slide .swiper-slide a:hover {
    opacity: 1;
}

.ir-top-slide .swiper-button-prev,
.ir-top-slide .swiper-button-next {
    top: 46%;
    width: 50px;
    height: 50px;
    background: url(../img/ir/icon_btn_arrow.svg) 0 0 no-repeat;
    background-size: 100%;
}

@media screen and (max-width: 1200px) {
    .ir-top-slide .swiper-button-prev,
    .ir-top-slide .swiper-button-next {
        width: 4.16667vw;
        height: 4.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-slide .swiper-button-prev,
    .ir-top-slide .swiper-button-next {
        top: 40%;
        width: 13.33333vw;
        height: 13.33333vw;
    }
}

.ir-top-slide .swiper-button-prev {
    left: -15px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

@media screen and (max-width: 1200px) {
    .ir-top-slide .swiper-button-prev {
        left: -1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-slide .swiper-button-prev {
        left: 1.33333vw;
    }
}

.ir-top-slide .swiper-button-next {
    right: -15px;
}

@media screen and (max-width: 1200px) {
    .ir-top-slide .swiper-button-next {
        right: -1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-slide .swiper-button-next {
        right: 1.33333vw;
    }
}

.ir-top-slide .swiper-pagination {
    bottom: 0 !important;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 13px;
    text-align: right;
}

@media screen and (max-width: 767px) {
    .ir-top-slide .swiper-pagination {
        text-align: center;
    }
}

.ir-top-slide .swiper-pagination-bullet {
    margin: 0 7px !important;
    background: #DDDDDD;
    opacity: 1;
}

.ir-top-slide .swiper-pagination-bullet-active {
    background: #000000;
}

.ir-top {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 60px;
}

@media screen and (max-width: 1200px) {
    .ir-top {
        padding: 0 5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top {
        padding: 0 5.33333vw;
    }
}

.ir-top__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
    .ir-top__body {
        display: block;
    }
}

.ir-top__other-link-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    margin-bottom: 60px;
    padding-top: 25px;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    text-align: center;
}

@media screen and (max-width: 1200px) {
    .ir-top__other-link-area {
        margin-bottom: 5vw;
        padding-top: 2.08333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top__other-link-area {
        display: block;
        margin-bottom: 16vw;
        padding-top: 6.66667vw;
    }
}

.ir-top__other-link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    width: 320px;
    height: 58px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    font-weight: bold;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background-color, border;
    transition-property: color, background-color, border;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 1200px) {
    .ir-top__other-link {
        width: 26.66667vw;
        height: 4.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top__other-link {
        margin-bottom: 8vw;
        width: 100%;
        height: 15.46667vw;
        font-size: 3.73333vw;
    }
    .ir-top__other-link:last-of-type {
        margin-bottom: 0;
    }
}

.ir-top__other-link:after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .ir-top__other-link:after {
        right: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top__other-link:after {
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.ir-top__other-link:hover {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

.ir-top__other-link:hover:after {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

.ir-top__note {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 100px 30px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .ir-top__note {
        padding: 8.33333vw 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top__note {
        padding: 26.66667vw 4vw;
    }
}

.ir-top__note-txt {
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .ir-top__note-txt {
        font-size: 3.73333vw;
    }
}

.ir-top-contents {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 30px;
    padding: 25px 0;
    width: 320px;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents {
        margin-bottom: 2.5vw;
        padding: 2.08333vw 0;
        width: 26.66667vw;
        height: auto;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents {
        margin-bottom: 8vw;
        padding: 6.66667vw 0;
        width: 100%;
        height: auto;
    }
}

.ir-top-contents--bd {
    border: 1px solid #DDDDDD;
    border-bottom-right-radius: 40px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents--bd {
        border-bottom-right-radius: 3.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents--bd {
        border-bottom-right-radius: 10.66667vw;
    }
}

.ir-top-contents--btn {
    padding: 0;
}

.ir-top-contents--presentations:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-bottom-right-radius: 100%;
    background-color: #DDDDDD;
    content: "";
}

@media screen and (max-width: 1200px) {
    .ir-top-contents--presentations:before {
        width: 2.5vw;
        height: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents--presentations:before {
        width: 5.33333vw;
        height: 5.33333vw;
    }
}

.ir-top-contents__head {
    margin-bottom: 25px;
    padding: 0 30px;
    font-weight: bold;
    font-size: 20px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.ir-top-contents__head:hover {
    opacity: 0.8;
}

.ios .ir-top-contents__head:hover,
.android .ir-top-contents__head:hover {
    opacity: 1;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__head {
        margin-bottom: 2.08333vw;
        padding: 0 2.5vw;
        font-size: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__head {
        margin-bottom: 6.66667vw;
        padding: 0 8vw;
        font-size: 5.33333vw;
    }
}

.ir-top-contents__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: justify;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 30px;
    height: calc(100% - 55px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__body {
        padding: 0 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__body {
        display: block;
        padding: 0 8vw;
        height: auto;
    }
}

.ir-top-contents__body--bdn {
    display: block;
    padding: 0;
    text-align: center;
}

.ir-top-contents__list-item {
    margin-bottom: 20px;
    list-style: none;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__list-item {
        margin-bottom: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__list-item {
        margin-bottom: 5.33333vw;
    }
}

.ir-top-contents__list-item--news {
    margin-bottom: 15px;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__list-item--news {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__list-item--news {
        margin-bottom: 4vw;
    }
}

.ir-top-contents__list-item:last-of-type {
    margin-bottom: 0;
}

.ir-top-contents__list-item a {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.ir-top-contents__list-item a:hover {
    opacity: 0.8;
}

.ios .ir-top-contents__list-item a:hover,
.android .ir-top-contents__list-item a:hover {
    opacity: 1;
}

.ir-top-contents__list-date {
    margin-bottom: 10px;
    color: #787878;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__list-date {
        margin-bottom: 0.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__list-date {
        margin-bottom: 2.66667vw;
        font-size: 3.2vw;
    }
}

.ir-top-contents__list-term {
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__list-term {
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__list-term {
        font-size: 3.73333vw;
    }
}

.ir-top-contents__link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    margin-top: 25px;
    margin-right: auto;
    margin-left: auto;
    padding: 14px 0 10px;
    width: 208px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    font-size: 16px;
    font-family: 'Josefin Sans', sans-serif;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background-color, border;
    transition-property: color, background-color, border;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__link {
        margin-top: 2.08333vw;
        margin-bottom: 2.5vw;
        padding: 1.16667vw 0 0.83333vw;
        width: 17.33333vw;
        font-size: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__link {
        margin-top: 6.66667vw;
        padding: 3.73333vw 0 2.66667vw;
        width: 55.46667vw;
        font-size: 4.26667vw;
    }
}

.ir-top-contents__link:after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .ir-top-contents__link:after {
        right: 1.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-top-contents__link:after {
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.ir-top-contents__link:hover {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

.ir-top-contents__link:hover:after {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}


/* ---------------------------------------------
*   inquiry
--------------------------------------------- */

.inquiry {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 60px;
}

@media screen and (max-width: 1200px) {
    .inquiry {
        padding: 0 5vw;
    }
}

@media screen and (max-width: 767px) {
    .inquiry {
        padding: 0 5.33333vw;
    }
}

.inquiry-contents {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 60px;
    padding: 60px 30px;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 1200px) {
    .inquiry-contents {
        margin-bottom: 5vw;
        padding: 5vw 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .inquiry-contents {
        margin-bottom: 16vw;
        padding: 16vw 4vw;
    }
}

.inquiry-contents__head {
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .inquiry-contents__head {
        font-size: 3.73333vw;
    }
}

.inquiry-contents__list-item {
    margin-bottom: 19px;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .inquiry-contents__list-item {
        margin-bottom: 1.58333vw;
    }
}

@media screen and (max-width: 767px) {
    .inquiry-contents__list-item {
        margin-bottom: 5.06667vw;
        font-size: 3.73333vw;
    }
}

.inquiry-contents__list-item:last-of-type {
    margin-bottom: 0;
}


/* ---------------------------------------------
*	stock-info
--------------------------------------------- */

.stock-info {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 60px;
}

@media screen and (max-width: 1200px) {
    .stock-info {
        padding: 0 5vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info {
        padding: 0 5.33333vw;
    }
}

.stock-info-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    margin-bottom: 50px;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 1200px) {
    .stock-info-contents {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info-contents {
        display: block;
        margin-bottom: 16vw;
    }
}

.stock-info-contents:last-of-type {
    margin-bottom: 0;
}

.stock-info-contents__body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-left: auto;
    padding-left: 60px;
    width: 690px;
}

@media screen and (max-width: 1200px) {
    .stock-info-contents__body {
        padding-left: 5vw;
        width: 57.5vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info-contents__body {
        padding-left: 0;
        width: 100%;
    }
}

.stock-info-contents__head {
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .stock-info-contents__head {
        font-size: 3.73333vw;
    }
}

.stock-info-contents__txt {
    letter-spacing: 0.05em;
    font-size: 14px;
    margin-bottom: 10px;
}

@media screen and (max-width: 1200px) {
    .stock-info-contents__txt {
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info-contents__txt {
        font-size: 3.73333vw;
    }
}

.stock-info-contents__txt--large {
    font-size: 24px;
}

@media screen and (max-width: 1200px) {
    .stock-info-contents__txt--large {
        font-size: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info-contents__txt--large {
        font-size: 3.73333vw;
    }
}

.stock-info-contents__inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 60px;
    padding: 60px;
    width: 100%;
    border: 1px solid #DDDDDD;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .stock-info-contents__inner {
        margin-top: 5vw;
        padding: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info-contents__inner {
        margin-top: 17.6vw;
        padding: 16vw 6.66667vw;
    }
}

.stock-info-contents-detail {
    margin-bottom: 60px;
}

@media screen and (max-width: 1200px) {
    .stock-info-contents-detail {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info-contents-detail {
        margin-bottom: 16vw;
    }
}

.stock-info-contents-detail:last-of-type {
    margin-bottom: 0;
}

.stock-info-contents-detail table {
    width: 100%;
}

@media screen and (max-width: 767px) {
    .stock-info-contents-detail__table {
        border: 1px solid #DDDDDD;
    }
}

.stock-info-contents-detail__ttl {
    margin-bottom: 60px;
    font-weight: bold;
    font-size: 16px;
}

@media screen and (max-width: 1200px) {
    .stock-info-contents-detail__ttl {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .stock-info-contents-detail__ttl {
        margin-bottom: 16vw;
        font-size: 4.26667vw;
    }
}


/* ---------------------------------------------
*   txt-section
--------------------------------------------- */

.txt-section {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 60px;
}

@media screen and (max-width: 1200px) {
    .txt-section {
        padding: 0 5vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section {
        padding: 0 5.33333vw;
    }
}

.txt-section__top-date {
    margin-top: 30px;
    text-align: right;
}

@media screen and (max-width: 1200px) {
    .txt-section__top-date {
        margin-top: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section__top-date {
        margin-top: 8vw;
    }
}

.txt-section__inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 60px 150px;
    border: 1px solid #DDDDDD;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .txt-section__inner {
        padding: 5vw 12.5vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section__inner {
        padding: 16vw 5.33333vw;
    }
}

.txt-section__img {
    margin-bottom: 100px;
    margin-left: -90px;
    width: 1200px;
}

@media screen and (max-width: 1200px) {
    .txt-section__img {
        margin-bottom: 8.33333vw;
        margin-left: -7.5vw;
        width: calc(100% + 15vw);
    }
}

@media screen and (max-width: 767px) {
    .txt-section__img {
        margin-bottom: 26.66667vw;
        margin-left: -8vw;
        width: 100vw;
    }
    .windows .txt-section__img {
        width: calc(100% + 16vw);
    }
}

.txt-section__img img {
    width: 100%;
}

.txt-section__link {
    margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    .txt-section__link {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section__link {
        margin-bottom: 8vw;
    }
}

.txt-section__link-txt {
    margin-bottom: 15px;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .txt-section__link-txt {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section__link-txt {
        margin-bottom: 4vw;
    }
}

.txt-section-contents {
    margin-bottom: 40px;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents {
        margin-bottom: 3.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents {
        margin-bottom: 10.66667vw;
    }
}

.txt-section-contents:last-of-type {
    margin-bottom: 0;
}

.txt-section-contents__head {
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 18px;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__head {
        margin-bottom: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__head {
        margin-bottom: 5.33333vw;
        font-size: 4.8vw;
    }
}

.txt-section-contents__txt {
    margin-bottom: 15px;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__txt {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__txt {
        margin-bottom: 4vw;
        font-size: 3.73333vw;
    }
}

.txt-section-contents__txt:last-of-type {
    margin-bottom: 0;
}

.txt-section-contents__txt--question {
    margin-bottom: 10px;
    padding-left: 1em;
    text-indent: -1em;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__txt--question {
        margin-bottom: 0.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__txt--question {
        margin-bottom: 2.66667vw;
    }
}

.txt-section-contents__txt--answer {
    margin-bottom: 10px;
    padding-left: 1.1em;
    text-indent: -1em;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__txt--answer {
        margin-bottom: 0.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__txt--answer {
        margin-bottom: 2.66667vw;
    }
}

.txt-section-contents__faq {
    margin-bottom: 30px;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__faq {
        margin-bottom: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__faq {
        margin-bottom: 8vw;
        font-size: 3.73333vw;
    }
}

.txt-section-contents__faq:last-of-type {
    margin-bottom: 0;
}

.txt-section-contents__inner {
    margin-top: 30px;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__inner {
        margin-top: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__inner {
        margin-top: 8vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__table {
        border: 1px solid #DDDDDD;
    }
}

.txt-section-contents__table--governance {
    margin-bottom: 15px;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__table--governance {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__table--governance {
        margin-bottom: 4vw;
    }
}

.txt-section-contents__link-block {
    margin-bottom: 15px;
    padding-left: 1em;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__link-block {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__link-block {
        margin-bottom: 4vw;
    }
}

.txt-section-contents__link-block:last-of-type {
    margin-bottom: 0;
}

.txt-section-contents__note {
    margin-top: 20px;
    text-align: right;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .txt-section-contents__note {
        margin-top: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .txt-section-contents__note {
        margin-top: 8vw;
        font-size: 3.73333vw;
    }
}


/* ---------------------------------------------
*   ir-library
--------------------------------------------- */

.ir-library {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 30px;
    padding-left: 30px;
}

@media screen and (max-width: 1200px) {
    .ir-library {
        padding-right: 2.5vw;
        padding-left: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library {
        padding-right: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

.ir-library__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .ir-library__body {
        position: relative;
        display: block;
    }
}

.ir-library-contents {
    width: 812px;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents {
        width: 67.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents {
        width: 100%;
    }
}

.ir-library-contents__tab-select {
    width: 210px;
}

.ir-library-contents__tab-list {
    border: 1px solid #DDDDDD;
    border-radius: 5px;
}

.ir-library-contents__tab-list-item {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    background-color: #fff;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: background-color, border-color;
    transition-property: background-color, border-color;
}

.ir-library-contents__tab-list-item:before {
    position: absolute;
    bottom: -1px;
    left: 50%;
    z-index: 1;
    width: 188px;
    height: 1px;
    background-color: #DDDDDD;
    content: "";
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__tab-list-item:before {
        width: 15.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__tab-list-item:before {
        width: 84vw;
    }
}

.ir-library-contents__tab-list-item:first-of-type {
    border-radius: 4px 4px 0 0;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__tab-list-item:first-of-type {
        border-radius: 0.33333vw 0.33333vw 0 0;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__tab-list-item:first-of-type {
        border-radius: 0;
    }
}

.ir-library-contents__tab-list-item:last-of-type {
    border-radius: 0 0 4px 4px;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__tab-list-item:last-of-type {
        border-radius: 0 0 0.33333vw 0.33333vw;
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__tab-list-item:last-of-type {
        border-radius: 0 0 4px 4px;
        font-size: 3.73333vw;
    }
}

.ir-library-contents__tab-list-item:last-of-type:after {
    content: none;
}

.ir-library-contents__tab-list-item.current {
    z-index: 1;
    border-color: #181818;
    background-color: #181818;
}

.ir-library-contents__tab-list-item.current button {
    color: #fff;
    font-weight: bold;
}

.ir-library-contents__tab-list-item:hover {
    z-index: 1;
    border-color: #181818;
    background-color: #181818;
}

.ir-library-contents__tab-list-item:hover button {
    color: #fff;
    font-weight: bold;
}

.ir-library-contents__tab-list-item:hover:before {
    content: none;
}

.ir-library-contents__tab-list-item button {
    padding: 15px 0;
    width: 100%;
    outline: none;
    border: none;
    background-color: transparent;
    color: #787878;
    letter-spacing: 0.05em;
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, font-weight;
    transition-property: color, font-weight;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__tab-list-item button {
        font-size: 1.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__tab-list-item button {
        padding: 2.13333vw 0;
        height: 100%;
        font-size: 3.73333vw;
    }
}

.ir-library-contents__wrapper {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #DDDDDD;
    border-radius: 0 0 5px 5px;
    background-color: #fff;
}

.ir-library-contents__block {
    display: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 100px 90px 120px;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__block {
        padding: 8.33333vw 7.5vw 10vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__block {
        padding: 26.66667vw 6.4vw 32vw;
    }
}

.ir-library-contents__block.current {
    display: block;
}

.ir-library-contents__block-inner {
    margin-bottom: 63px;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__block-inner {
        margin-bottom: 5.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__block-inner {
        margin-bottom: 16vw;
    }
}

.ir-library-contents__block-inner:last-of-type {
    margin-bottom: 0;
}

.ir-library-contents__head {
    margin-bottom: 23px;
    font-weight: bold;
    font-size: 16px;
}

.ir-library-contents__download {
    margin-bottom: 24px;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__download {
        margin-bottom: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__download {
        margin-bottom: 7.46667vw;
    }
}

.ir-library-contents__download:last-of-type {
    margin-bottom: 0;
}

.ir-library-contents__txt {
    margin-bottom: 15px;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__txt {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__txt {
        margin-bottom: 6.66667vw;
        font-size: 3.2vw;
    }
}

.ir-library-contents__ttl {
    margin-bottom: 15px;
    letter-spacing: 0.05em;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .ir-library-contents__ttl {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .ir-library-contents__ttl {
        margin-bottom: 4vw;
        font-size: 3.73333vw;
    }
}

.ir-library-contents__note-list {
    text-indent: 1em;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .ir-library-contents__note-list {
        font-size: 3.73333vw;
    }
}


/* ==========================================================
*
*   page
*
========================================================== */


/* ---------------------------------------------
*   Index Page
--------------------------------------------- */


/* ==========================================================
*
*   utility
*
========================================================== */


/* ---------------------------------------------
*   margin-top
--------------------------------------------- */

.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 767px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 1.33333vw !important;
    }
    .mgt-sp--10 {
        margin-top: 2.66667vw !important;
    }
    .mgt-sp--15 {
        margin-top: 4vw !important;
    }
    .mgt-sp--20 {
        margin-top: 5.33333vw !important;
    }
    .mgt-sp--25 {
        margin-top: 6.66667vw !important;
    }
    .mgt-sp--30 {
        margin-top: 8vw !important;
    }
    .mgt-sp--35 {
        margin-top: 9.33333vw !important;
    }
    .mgt-sp--40 {
        margin-top: 10.66667vw !important;
    }
    .mgt-sp--45 {
        margin-top: 12vw !important;
    }
    .mgt-sp--50 {
        margin-top: 13.33333vw !important;
    }
    .mgt-sp--55 {
        margin-top: 14.66667vw !important;
    }
    .mgt-sp--60 {
        margin-top: 16vw !important;
    }
    .mgt-sp--65 {
        margin-top: 17.33333vw !important;
    }
    .mgt-sp--70 {
        margin-top: 18.66667vw !important;
    }
    .mgt-sp--75 {
        margin-top: 20vw !important;
    }
    .mgt-sp--80 {
        margin-top: 21.33333vw !important;
    }
    .mgt-sp--85 {
        margin-top: 22.66667vw !important;
    }
    .mgt-sp--90 {
        margin-top: 24vw !important;
    }
    .mgt-sp--95 {
        margin-top: 25.33333vw !important;
    }
    .mgt-sp--100 {
        margin-top: 26.66667vw !important;
    }
    .mgt-sp--105 {
        margin-top: 28vw !important;
    }
    .mgt-sp--110 {
        margin-top: 29.33333vw !important;
    }
    .mgt-sp--115 {
        margin-top: 30.66667vw !important;
    }
    .mgt-sp--120 {
        margin-top: 32vw !important;
    }
    .mgt-sp--125 {
        margin-top: 33.33333vw !important;
    }
    .mgt-sp--130 {
        margin-top: 34.66667vw !important;
    }
    .mgt-sp--135 {
        margin-top: 36vw !important;
    }
    .mgt-sp--140 {
        margin-top: 37.33333vw !important;
    }
    .mgt-sp--145 {
        margin-top: 38.66667vw !important;
    }
    .mgt-sp--150 {
        margin-top: 40vw !important;
    }
    .mgt-sp--155 {
        margin-top: 41.33333vw !important;
    }
    .mgt-sp--160 {
        margin-top: 42.66667vw !important;
    }
    .mgt-sp--165 {
        margin-top: 44vw !important;
    }
    .mgt-sp--170 {
        margin-top: 45.33333vw !important;
    }
    .mgt-sp--175 {
        margin-top: 46.66667vw !important;
    }
    .mgt-sp--180 {
        margin-top: 48vw !important;
    }
    .mgt-sp--185 {
        margin-top: 49.33333vw !important;
    }
    .mgt-sp--190 {
        margin-top: 50.66667vw !important;
    }
    .mgt-sp--195 {
        margin-top: 52vw !important;
    }
    .mgt-sp--200 {
        margin-top: 53.33333vw !important;
    }
    .mgt-sp--205 {
        margin-top: 54.66667vw !important;
    }
    .mgt-sp--210 {
        margin-top: 56vw !important;
    }
    .mgt-sp--215 {
        margin-top: 57.33333vw !important;
    }
    .mgt-sp--220 {
        margin-top: 58.66667vw !important;
    }
    .mgt-sp--225 {
        margin-top: 60vw !important;
    }
    .mgt-sp--230 {
        margin-top: 61.33333vw !important;
    }
    .mgt-sp--235 {
        margin-top: 62.66667vw !important;
    }
    .mgt-sp--240 {
        margin-top: 64vw !important;
    }
    .mgt-sp--245 {
        margin-top: 65.33333vw !important;
    }
    .mgt-sp--250 {
        margin-top: 66.66667vw !important;
    }
}


/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */

.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 767px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 1.33333vw !important;
    }
    .mgb-sp--10 {
        margin-bottom: 2.66667vw !important;
    }
    .mgb-sp--15 {
        margin-bottom: 4vw !important;
    }
    .mgb-sp--20 {
        margin-bottom: 5.33333vw !important;
    }
    .mgb-sp--25 {
        margin-bottom: 6.66667vw !important;
    }
    .mgb-sp--30 {
        margin-bottom: 8vw !important;
    }
    .mgb-sp--35 {
        margin-bottom: 9.33333vw !important;
    }
    .mgb-sp--40 {
        margin-bottom: 10.66667vw !important;
    }
    .mgb-sp--45 {
        margin-bottom: 12vw !important;
    }
    .mgb-sp--50 {
        margin-bottom: 13.33333vw !important;
    }
    .mgb-sp--55 {
        margin-bottom: 14.66667vw !important;
    }
    .mgb-sp--60 {
        margin-bottom: 16vw !important;
    }
    .mgb-sp--65 {
        margin-bottom: 17.33333vw !important;
    }
    .mgb-sp--70 {
        margin-bottom: 18.66667vw !important;
    }
    .mgb-sp--75 {
        margin-bottom: 20vw !important;
    }
    .mgb-sp--80 {
        margin-bottom: 21.33333vw !important;
    }
    .mgb-sp--85 {
        margin-bottom: 22.66667vw !important;
    }
    .mgb-sp--90 {
        margin-bottom: 24vw !important;
    }
    .mgb-sp--95 {
        margin-bottom: 25.33333vw !important;
    }
    .mgb-sp--100 {
        margin-bottom: 26.66667vw !important;
    }
    .mgb-sp--105 {
        margin-bottom: 28vw !important;
    }
    .mgb-sp--110 {
        margin-bottom: 29.33333vw !important;
    }
    .mgb-sp--115 {
        margin-bottom: 30.66667vw !important;
    }
    .mgb-sp--120 {
        margin-bottom: 32vw !important;
    }
    .mgb-sp--125 {
        margin-bottom: 33.33333vw !important;
    }
    .mgb-sp--130 {
        margin-bottom: 34.66667vw !important;
    }
    .mgb-sp--135 {
        margin-bottom: 36vw !important;
    }
    .mgb-sp--140 {
        margin-bottom: 37.33333vw !important;
    }
    .mgb-sp--145 {
        margin-bottom: 38.66667vw !important;
    }
    .mgb-sp--150 {
        margin-bottom: 40vw !important;
    }
    .mgb-sp--155 {
        margin-bottom: 41.33333vw !important;
    }
    .mgb-sp--160 {
        margin-bottom: 42.66667vw !important;
    }
    .mgb-sp--165 {
        margin-bottom: 44vw !important;
    }
    .mgb-sp--170 {
        margin-bottom: 45.33333vw !important;
    }
    .mgb-sp--175 {
        margin-bottom: 46.66667vw !important;
    }
    .mgb-sp--180 {
        margin-bottom: 48vw !important;
    }
    .mgb-sp--185 {
        margin-bottom: 49.33333vw !important;
    }
    .mgb-sp--190 {
        margin-bottom: 50.66667vw !important;
    }
    .mgb-sp--195 {
        margin-bottom: 52vw !important;
    }
    .mgb-sp--200 {
        margin-bottom: 53.33333vw !important;
    }
    .mgb-sp--205 {
        margin-bottom: 54.66667vw !important;
    }
    .mgb-sp--210 {
        margin-bottom: 56vw !important;
    }
    .mgb-sp--215 {
        margin-bottom: 57.33333vw !important;
    }
    .mgb-sp--220 {
        margin-bottom: 58.66667vw !important;
    }
    .mgb-sp--225 {
        margin-bottom: 60vw !important;
    }
    .mgb-sp--230 {
        margin-bottom: 61.33333vw !important;
    }
    .mgb-sp--235 {
        margin-bottom: 62.66667vw !important;
    }
    .mgb-sp--240 {
        margin-bottom: 64vw !important;
    }
    .mgb-sp--245 {
        margin-bottom: 65.33333vw !important;
    }
    .mgb-sp--250 {
        margin-bottom: 66.66667vw !important;
    }
}

@media screen and (min-width: 768px) {
    .pc-hide {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .sp-hide {
        display: none !important;
    }
}


/*========================================================== */


/* ---------------------------------------------
*   サステナビリティ
--------------------------------------------- */

.sustainability .index-area li a,
.sustainability .tb-02 td .list li a,
.sustainability .sasb td .list li a,
.sustainability .links li a,
.sustainability#sustainability-top .sustainability-contents__report .view-more a,
.growth-strategy .index-area li a,
.growth-strategy .links li a,
#officers .anchor-link li a,
.sustainability .view-more a,
.sustainability .txt-section__inner a,
.sustainability#editorial-policy table a,
.growth-strategy .view-more a,
.growth-strategy .txt-section__inner a {
    text-decoration: underline;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.sustainability .index-area li a:hover,
.sustainability .tb-02 td .list li a:hover,
.sustainability .sasb td .list li a:hover,
.sustainability .links li a:hover,
.sustainability#sustainability-top .sustainability-contents__report .view-more a:hover,
.growth-strategy .index-area li a:hover,
.growth-strategy .links li a:hover,
#officers .anchor-link li a:hover,
.sustainability .view-more a:hover,
.sustainability .txt-section__inner a:hover,
.sustainability#editorial-policy table a:hover,
.growth-strategy .view-more a:hover,
.growth-strategy .txt-section__inner a:hover {
    text-decoration: none;
    opacity: 0.8;
}

.sustainability .index-area li,
.sustainability .tb-02 td .list li,
.sustainability .sasb td .list li,
.sustainability .links li,
.sustainability#sustainability-top .sustainability-contents__report .view-more,
.growth-strategy .index-area li,
.growth-strategy .links li,
#officers .anchor-link li {
    margin-bottom: 0.5em;
    text-indent: -1.4em;
    padding-left: 1.4em;
    line-height: 1.4em;
    vertical-align: middle;
}

.sustainability .index-area li a::before,
.sustainability .tb-02 td .list li a::before,
.sustainability .sasb td .list li a::before,
.sustainability .links li a::before,
.sustainability#sustainability-top .sustainability-contents__report .view-more a::before,
.growth-strategy .index-area li a::before,
.growth-strategy .links li a::before,
#officers .anchor-link li a::before {
    content: "";
    display: inline-block;
    width: 1.4em;
    height: 1em;
    vertical-align: middle;
    background: url(../img/sustainability/icon_arrow_right.png) no-repeat 0 0;
    background-size: 0.9em;
}

.sustainability .links li a[href$=".pdf"],
.growth-strategy .links li a[href$=".pdf"] {
    padding-right: 1.2em;
    background: url(../img/common/icon_download_black.svg) no-repeat 100% 80%;
    background-size: 0.7em;
}

.sustainability .links li a[href$=".pdf"]::after,
.growth-strategy .links li a[href$=".pdf"]::after {
    content: "PDF";
    display: inline-block;
    line-height: 1;
    text-indent: 0;
    vertical-align: middle;
    padding: 0.2em 0.3em;
    margin-left: 0.8em;
    font-size: 0.85em;
    border: 1px solid #DDD;
}

.sustainability#sustainability-top,
.sustainability#stakeholder-top,
.sustainability#conditioning {
    padding-right: 60px;
    padding-left: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sustainability .esg-scroll {
    overflow: scroll;
    overflow-x: hidden;
    height: 500px;
    margin-top: -10px;
}

.sustainability .esg-fixed {
    position: sticky;
    top: 0;
}

.sustainability .esg-fixed::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #999;
}

@media screen and (max-width: 767px)
.sustainability .esg-scroll {
    overflow: visible;
    overflow-x: visible;
    height: auto;
    margin-top: 0;
}

@media screen and (max-width: 1200px) {
    .sustainability#sustainability-top,
    .sustainability#stakeholder-top,
    .sustainability#conditioning {
        padding-right: 5vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top,
    .sustainability#stakeholder-top,
    .sustainability#conditioning {
        padding-right: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability {
        padding: 4vw 4vw 32vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability::before {
        left: 0;
    }
}

.sustainability .index-area {
    background-color: #f8f8f8;
    padding: 20px 30px;
    margin-bottom: 30px;
    font-size: 0.9em;
}

@media screen and (max-width: 767px) {
    .sustainability .index-area {
        padding: 4vw;
    }
}

.sustainability .index-area p {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .sustainability .index-area p {
        font-size: 4vw;
    }
}

.sustainability .view-more {
    text-align: right;
    font-family: "Josefin Sans", sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (max-width: 767px) {
    .sustainability .view-more a {
        text-decoration: none;
        display: block;
        width: 100%;
        padding: 3.73333vw 0 2.66667vw;
    }
    .sustainability .view-more a:hover {
        color: #fff;
        -webkit-transition: none;
        transition: none;
    }
}

.sustainability .lead {
    margin-bottom: 3em;
}

.sustainability .lead p {
    margin-bottom: 1em;
}

.sustainability .lead p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .sustainability .lead {
        margin-bottom: 8vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .txt-section {
        padding: 0;
    }
}

.sustainability .txt-section strong {
    font-weight: bold;
}

.sustainability .txt-section .ml-1em {
    margin-left: 1em;
}

.sustainability .txt-section__inner {
    word-break: break-word;
    word-wrap: break-word;
    padding: 50px 60px;
}

@media screen and (max-width: 767px) {
    .sustainability .txt-section__inner {
        padding: 8vw 4vw;
    }
}

.sustainability .ttl-lv2 {
    margin-top: 3em;
    padding-top: 0.5em;
    font-weight: bold;
    font-size: 18px;
    border-bottom: 2px solid #000;
}

@media screen and (max-width: 767px) {
    .sustainability .ttl-lv2 {
        font-size: 4.8vw;
    }
}

.sustainability .ttl-lv3 {
    margin-top: 1em;
    padding-top: 0.5em;
    font-weight: bold;
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .sustainability .ttl-lv3 {
        font-size: 4.4vw;
    }
}

.sustainability .links+.ttl-lv3,
.sustainability .notes+.ttl-lv3 {
    margin-top: 3em;
}

.sustainability .ttl-lv4 {
    margin-top: 1em;
    font-weight: bold;
}

.sustainability .links+.ttl-lv4,
.sustainability .notes+.ttl-lv4 {
    margin-top: 3em;
}

.sustainability .list li {
    list-style: none;
    margin-top: 0.5em;
    text-indent: -1em;
    padding-left: 1em;
}

.sustainability .list li::before {
    content: "・";
}

.en .sustainability .list li {
    text-indent: -0.5em;
    padding-left: 0.5em;
}

.en .sustainability .list li::before {
    content: "·";
}

.sustainability .indent dt {
    font-weight: bold;
    text-indent: -1em;
    padding-left: 1em;
}

.sustainability .indent dt::before {
    content: "・";
}

.en .sustainability .indent dt::before {
    content: "·";
}

.sustainability .indent dd {
    margin-left: 1em;
    margin-bottom: 1em;
}

.en .sustainability .indent dd {
    margin-left: 0.6em;
}

.sustainability .indent dd .ml-1em+br {
    display: none;
}

.sustainability .txt {
    margin-top: 1em;
}

.sustainability .txt p {
    margin-top: 1.5em;
}

.sustainability .txt p:first-child {
    margin-top: 0;
}

.sustainability .ttl-lv3+.txt {
    margin-top: 0.5em;
}

.sustainability .ttl-lv4+.txt {
    margin-top: 0.5em;
}

.sustainability sub {
    vertical-align: text-bottom;
}

.sustainability sup {
    vertical-align: text-top;
}

.sustainability .fig {
    padding-top: 2em;
    display: table;
    table-layout: fixed;
    margin: auto;
}

.sustainability .fig.full {
    width: 100%;
    margin-bottom: 3em;
}

.sustainability .fig.full img {
    width: 100%;
    max-width: none;
}

.sustainability .fig img {
    display: block;
    margin: auto;
    max-width: 520px;
}

@media screen and (max-width: 767px) {
    .sustainability .fig img {
        width: 100%;
        max-width: 100%;
    }
}

.sustainability .fig figcaption {
    display: table-caption;
    caption-side: bottom;
    margin-top: 0.5em;
    font-size: 0.9em;
    color: #787878;
    line-height: 1.4;
    font-weight: normal;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .sustainability .fig figcaption {
        font-size: 3vw;
    }
}

.sustainability .pc-nowrap {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .sustainability .pc-nowrap {
        white-space: normal;
    }
}

.sustainability .nowrap {
    white-space: nowrap;
}

.sustainability .text-center {
    text-align: center;
}

.sustainability .tb-01 th[scope="col"].text-center {
    text-align: center;
}

.sustainability .text-right {
    text-align: right;
}

@media screen and (max-width: 767px) {
    .sustainability .table {
        width: 100%;
        table-layout: fixed;
        word-break: break-word;
        word-wrap: break-word;
        font-size: 3.2vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .table.sp-font-small {
        font-size: 2vw;
    }
}

.sustainability .table th.w-10 {
    width: 10%;
}

.sustainability .table th.w-15 {
    width: 15%;
}

.sustainability .table th.w-20 {
    width: 20%;
}

.sustainability .table th.w-25 {
    width: 25%;
}

.sustainability .table th.w-30 {
    width: 30%;
}

.sustainability .table th.w-40 {
    width: 40%;
}

.sustainability .table th.w-50 {
    width: 50%;
}

.sustainability .table th.w-70 {
    width: 70%;
}

.sustainability .table td.w-40 {
    width: 40%;
}

.sustainability .table th.year {
    width: 12%;
}

@media screen and (max-width: 767px) {
    .sustainability .table th.year {
        width: 16%;
    }
}

.sustainability .table a {
    color: #000080;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.sustainability .table a:hover {
    color: #0075c2;
    text-decoration: underline;
}

.sustainability .table th,
.sustainability .table td {
    padding: 0.8em;
}

@media screen and (max-width: 767px) {
    .sustainability .table th,
    .sustainability .table td {
        padding: 0.5em;
    }
}

.sustainability .ttl-lv3+.table {
    margin-top: 1.5em;
}

.sustainability .ttl-lv4+.table {
    margin-top: 1em;
}

.sustainability .table+.ttl-lv4 {
    margin-top: 2em;
}

.sustainability .tb-01 {
    width: 100%;
}

.sustainability .tb-01 th[scope="col"] {
    font-weight: bold;
    text-align: left;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    background-color: #dadada;
}

.sustainability .tb-01 th[scope="col"]:first-child {
    background-color: #ffd4d8;
}

.sustainability .tb-01 th[scope="col"].highlight {
    background-color: #e0f0ff;
}

.sustainability .tb-01 th[scope="row"] {
    font-weight: normal;
    text-align: left;
    background-color: #ffe9eb;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.sustainability .tb-01 tr:nth-child(even) th[scope="row"] {
    background-color: #fff2f3;
}

.sustainability .tb-01 td {
    background-color: #ededed;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.stakeholder-01 .sustainability .tb-01 td.txt-top {
    vertical-align: top;
}

.sustainability .tb-01 td .text-with-img {
    padding-top: 1em;
}

.sustainability .tb-01 td .text-with-img:first-child {
    padding-top: 0.5em;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-01 td .text-with-img {
        padding-top: 2em;
    }
    .sustainability .tb-01 td .text-with-img:first-child {
        padding-top: 0.5em;
    }
}

.sustainability .tb-01 td .text-with-img::after {
    content: '';
    display: block;
    clear: both;
}

.sustainability .tb-01 td .text-with-img>img {
    display: block;
    width: 120px;
    float: left;
    margin: 0 1.2em 0.4em 0.4em;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-01 td .text-with-img>img {
        float: none;
        margin: 0.5em auto 0;
        width: 50%;
    }
}

.sustainability .tb-01 tr:nth-child(even) td {
    background-color: #f6f6f6;
}

.stakeholder-01 .sustainability .tb-01 tr:nth-child(even) td {
    background-color: #ededed;
}

.sustainability .tb-01 .list li:first-child {
    margin-top: 0;
}

@media screen and (max-width: 640px) {
    .stakeholder-11 .sustainability .tb-01 th[scope="col"].year {
        width: 4em;
    }
}

.stakeholder-11 .sustainability .tb-01 td span {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .stakeholder-11 .sustainability .tb-01 td span {
        display: block;
    }
}

.sustainability .tb-01.risk-opportunity col:nth-child(-n+2) {
    width: 2em;
}

.sustainability .tb-01.risk-opportunity th[scope="col"]:first-child {
    background-color: #dadada;
}

.sustainability .tb-01.risk-opportunity th[scope="col"]:nth-child(2) {
    background-color: #ffd4d8;
}

.sustainability .tb-01.risk-opportunity tr th[scope="row"] {
    background-color: #ededed;
}

.sustainability .tb-01.risk-opportunity tr:nth-child(even) td {
    background-color: #ededed;
}

.en.stakeholder-11 .sustainability .tb-01 th[scope="col"].year {
    width: 18%;
    text-align: right;
}

@media screen and (max-width: 640px) {
    .en.stakeholder-11 .sustainability .tb-01 th[scope="col"].year {
        width: 6em;
    }
}

.stakeholder-13 .sustainability .tb-01 th[scope="col"]:last-child,
.stakeholder-13 .sustainability .tb-01 td:last-child {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .stakeholder-13 .sustainability .tb-01 th[scope="col"]:last-child,
    .stakeholder-13 .sustainability .tb-01 td:last-child {
        white-space: normal;
    }
}

.stakeholder-13 .sustainability .tb-01 .list li {
    margin-top: 0;
}

.stakeholder-15 .sustainability .tb-01 th[scope="col"]:last-child {
    width: 5em;
}

.stakeholder-15 .sustainability .tb-01 td:last-child {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .stakeholder-15 .sustainability .tb-01 td:last-child {
        white-space: normal;
        width: 5em;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .sdgs-kv {
        margin-bottom: 10vw;
        margin-left: -4vw;
        width: 100vw;
    }
    .stakeholder-sdgs .sustainability .sdgs-kv img {
        width: 100%;
    }
}

.stakeholder-sdgs .sustainability .sdgs-content-area {
    margin-bottom: 30px;
}

.stakeholder-sdgs .sustainability .sdgs-content-area:first-of-type {
    margin-top: 3em;
}

.stakeholder-sdgs .sustainability .sdgs-container {
    padding: 12px;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .sdgs-container {
        padding: 10px;
    }
}

.stakeholder-sdgs .sustainability .sdgs-container .txt-content {
    min-height: 40px;
    padding: 0 20px;
}

.stakeholder-sdgs .sustainability .sdgs-container .txt-content img {
    width: 100px;
    float: right;
    margin-left: 20px;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .sdgs-container .txt-content img {
        width: 70px;
    }
}

.stakeholder-sdgs .sustainability .sdgs-container .number {
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 12px;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .sdgs-container .number {
        font-size: 0.8em;
        padding-top: 30px;
        margin-bottom: 40px;
    }
}

.stakeholder-sdgs .sustainability .sdgs-container h2 {
    font-size: 1.3em;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .sdgs-container h2 {
        margin-bottom: 15px;
    }
}

.stakeholder-sdgs .sustainability .sdgs-container .sdgs-content-txt {
    margin: 0;
}

.stakeholder-sdgs .sustainability .fig img {
    width: 100%;
}

.stakeholder-sdgs .sustainability .white-container {
    background-color: #fff;
    padding: 20px;
}

.stakeholder-sdgs .sustainability .sdgs-list {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.stakeholder-sdgs .sustainability .sdgs-list ul {
    margin-top: 20px;
}

@media screen and (max-width: 1024px) {
    .stakeholder-sdgs .sustainability .sdgs-list {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .sdgs-list {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
}

.stakeholder-sdgs .sustainability .list-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 49.8%;
    margin-bottom: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (max-width: 1024px) {
    .stakeholder-sdgs .sustainability .list-container {
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container {
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        display: block;
        width: 100%;
    }
}

.stakeholder-sdgs .sustainability .list-container:first-child {
    border: 1px solid #00708e;
    background-color: #00708e;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container:first-child {
        border: none;
        background-color: transparent;
    }
}

.stakeholder-sdgs .sustainability .list-container:first-child .list-txt {
    background-color: #00708e;
}

.stakeholder-sdgs .sustainability .list-container:nth-child(2) {
    border: 1px solid #199995;
    background-color: #199995;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container:nth-child(2) {
        border: none;
        background-color: transparent;
    }
}

.stakeholder-sdgs .sustainability .list-container:nth-child(2) .list-txt {
    background-color: #199995;
}

.stakeholder-sdgs .sustainability .list-container:nth-child(3) {
    border: 1px solid #c65c87;
    background-color: #c65c87;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container:nth-child(3) {
        border: none;
        background-color: transparent;
    }
}

.stakeholder-sdgs .sustainability .list-container:nth-child(3) .list-txt {
    background-color: #c65c87;
}

.stakeholder-sdgs .sustainability .list-container:nth-child(4) {
    border: 1px solid #81b51d;
    background-color: #81b51d;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container:nth-child(4) {
        border: none;
        background-color: transparent;
    }
}

.stakeholder-sdgs .sustainability .list-container:nth-child(4) .list-txt {
    background-color: #81b51d;
}

.stakeholder-sdgs .sustainability .list-container:nth-child(odd) {
    margin-right: 0.4%;
}

@media screen and (max-width: 1024px) {
    .stakeholder-sdgs .sustainability .list-container:nth-child(odd) {
        margin-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container:nth-child(odd) {
        margin-right: 0;
    }
}

.stakeholder-sdgs .sustainability .list-container .list-txt {
    margin: auto;
    width: 40%;
    color: #fff;
    font-weight: bold;
    padding: 2% 5%;
}

@media all and (-ms-high-contrast: none) {
    .stakeholder-sdgs .sustainability .list-container .list-txt {
        margin-top: 24px;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container .list-txt {
        width: 100%;
        padding: 0;
        font-weight: normal;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-container .list-txt p {
        margin-top: 0;
        padding: 10px;
        text-align: center;
    }
}

.stakeholder-sdgs .sustainability .img-content {
    width: 50%;
    background-color: #fff;
    padding: 1% 3%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .img-content {
        background-color: transparent;
        margin: 0;
        width: 100%;
        display: block;
        padding: 0;
    }
}

.stakeholder-sdgs .sustainability .list-img {
    width: 47%;
    margin: auto 0;
}

@media screen and (max-width: 1024px) {
    .stakeholder-sdgs .sustainability .list-img {
        width: auto;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-img {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: 90px;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-img p {
        margin: auto 0;
    }
}

@media all and (-ms-high-contrast: none) and (max-width: 1024px) {
    .stakeholder-sdgs .sustainability .list-img p {
        margin-top: 24px;
    }
}

.stakeholder-sdgs .sustainability .list-img img {
    width: 100%;
    margin: 0 auto;
    max-height: 100px;
    max-width: 100px;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-img img {
        width: 90px;
        height: 90px;
        margin: 0 20px 30px 0;
    }
}

.stakeholder-sdgs .sustainability .list-img:nth-child(2) {
    margin-left: 6%;
}

@media screen and (max-width: 1024px) {
    .stakeholder-sdgs .sustainability .list-img:nth-child(2) {
        margin-left: 10%;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-img:nth-child(2) {
        margin-left: 0;
    }
}

.stakeholder-sdgs .sustainability .list-img:nth-child(3) {
    margin-left: 6%;
}

@media screen and (max-width: 1024px) {
    .stakeholder-sdgs .sustainability .list-img:nth-child(3) {
        margin-left: 10%;
    }
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .list-img:nth-child(3) {
        margin-left: 0;
    }
}

.stakeholder-sdgs .sustainability .sdgs-lead {
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 14px;
}

@media screen and (max-width: 767px) {
    .stakeholder-sdgs .sustainability .sdgs-lead {
        text-align: left;
        font-weight: bold;
    }
}

@media screen and (max-width: 767px) {
    .windows .sustainability .sdgs-kv {
        width: calc(100% + 8vw);
    }
}

img.sdgs_icon {
        margin: 5px 15px 10px 0;
        width: 100px;
}

@media screen and (max-width: 767px) {
        img.sdgs_icon {
        width: calc(100% - 70%);
        margin: 15px 5px 0 0;
    }
}

@media screen and (max-width: 520px) {
    img.sdgs_icon {
margin: 5px 3px 0 0;
        width: calc(100% - 70%);
    }
}

.sustainability .txt-section-contents__table--governance {
    margin-top: 2em;
}

@media screen and (max-width: 767px) {
    .sustainability .mod-change-sp-table__list-ttl:after {
        content: none;
    }
    .sustainability .mod-change-sp-table__inner-list {
        display: block;
    }
}

.sustainability .risk-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items {
        display: block;
    }
}

.sustainability .risk-items dl {
    width: 25%;
    border-left: 1px solid #fff;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items dl {
        width: 100%;
    }
}

.sustainability .risk-items dl:first-of-type {
    border-left: none;
    background-color: #e5ebd8;
}

.sustainability .risk-items dl:first-of-type dt {
    border-left: none;
    background-color: #8cbc26;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items dl:first-of-type dd {
        border-left: 1em solid #8cbc26;
    }
}

.sustainability .risk-items dl:nth-of-type(2) {
    background-color: #f1dbd9;
}

.sustainability .risk-items dl:nth-of-type(2) dt {
    background-color: #ed4f3c;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items dl:nth-of-type(2) dd {
        border-left: 1em solid #ed4f3c;
    }
}

.sustainability .risk-items dl:nth-of-type(3) {
    background-color: #e0ecef;
}

.sustainability .risk-items dl:nth-of-type(3) dt {
    background-color: #019bba;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items dl:nth-of-type(3) dd {
        border-left: 1em solid #019bba;
    }
}

.sustainability .risk-items dl:nth-of-type(4) {
    background-color: #fef3e0;
}

.sustainability .risk-items dl:nth-of-type(4) dt {
    background-color: #feae28;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items dl:nth-of-type(4) dd {
        border-left: 1em solid #feae28;
    }
}

.sustainability .risk-items dl dt,
.sustainability .risk-items dl dd {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}

.sustainability .risk-items dl dt {
    width: 100%;
    padding: 0.5em;
    text-align: center;
    font-weight: normal;
    color: #fff;
    white-space: nowrap;
    line-height: 1.1;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items dl dt {
        padding: 0.8em;
        text-align: left;
    }
}

.sustainability .risk-items dl dt span {
    display: block;
}

@media screen and (max-width: 767px) {
    .sustainability .risk-items dl dt span {
        display: inline;
    }
}

.sustainability .risk-items dl dd {
    vertical-align: top;
    padding: 0.8em 0.8em 1.6em;
}

.sustainability .tb-02 {
    width: 100%;
    border: 1px solid #999;
    border-collapse: collapse;
}

.sustainability .tb-02 .gri-column1 {
    white-space: nowrap;
}

.sustainability .tb-02 .gri-column1,
.sustainability .tb-02 .gri-column2 {
    vertical-align: top;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-02 thead {
        display: none;
    }
}

.sustainability .tb-02 th {
    font-weight: bold;
    text-align: left;
    border-right: 1px solid #999;
    background-color: #ededed;
    padding: 8px 6px;
}

.sustainability .tb-02 th[scope="col"] {
    font-weight: bold;
    text-align: left;
    border: 1px solid #999;
    background-color: #ccc;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-02 th[scope="col"] {
        display: block;
        border: none;
    }
}

.sustainability .tb-02 th[scope="row"] {
    font-weight: bold;
    text-align: center;
    background-color: #e2e2e2;
    border: 1px solid #999;
    width: 5%;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-02 th[scope="row"] {
        text-align: left;
        background-color: #fff;
        display: block;
        float: left;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px;
        border: none;
        border-top: 1px solid #999;
        font-size: 3vw;
    }
}

.sustainability .tb-02 tr:first-child th[scope="row"] {
    margin-top: 0;
    border-top: none;
}

.sustainability .tb-02 td {
    background-color: #fff;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-02 td {
        display: block;
        float: left;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px;
        border-right: none;
        border-bottom: none;
    }
}

.sustainability .tb-02 td .list li::before {
    content: none;
}

.sustainability .tb-02 td p {
    font-weight: bold;
}

.sustainability .tb-02 td .list+p {
    margin-top: 1.8em;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-02 .gri-column1 {
        margin-top: 2em;
    }
    .sustainability .tb-02 .gri-column1::before {
        display: inline-block;
        margin-right: 5px;
        font-weight: bold;
    }
    .ja .sustainability .tb-02 .gri-column1::before {
        content: "GRIスタンダード対照表";
    }
    .en .sustainability .tb-02 .gri-column1::before {
        content: "GRI Standards Content Index";
    }
    .sustainability .tb-02 .gri-column2 {
        background-color: #dadada;
    }
    .sustainability .tb-02 .gri-column3 {
        background-color: #ededed;
        border-left: 18px solid #999;
    }
    .en .sustainability .tb-02 .gri-column3 {
        margin-top: 1em;
    }
    .en .sustainability .tb-02 .gri-column2+.gri-column3 {
        margin-top: 0;
    }
    .sustainability .tb-02 .gri-column4 {
        padding: 1em 1em 2em 1.5em;
    }
    .en .sustainability .tb-02 .gri-column4 {
        padding: 1em 1em 0.5em 1.5em;
    }
    .en .sustainability .tb-02 .gri-column4::before {
        display: block;
        font-weight: bold;
        content: 'Website';
        margin-left: -10px;
    }
}

.sustainability .sasb {
    width: 100%;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px) {
    .sustainability .sasb {
        border-top: 1px solid #999;
        border-left: 1px solid #999;
    }
}

.sustainability .sasb th,
.sustainability .sasb td {
    border-top: 1px solid #999;
    border-left: 1px solid #999;
}

@media screen and (max-width: 767px) {
    .sustainability .sasb th,
    .sustainability .sasb td {
        display: block;
        border: none;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .sasb thead {
        display: none;
    }
}

.sustainability .sasb th[scope="col"] {
    white-space: nowrap;
    font-weight: bold;
    text-align: left;
    background-color: #ccc;
    padding: 8px;
}

@media screen and (max-width: 1200px) {
    .sustainability .sasb .item {
        width: 20%;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .sasb .item {
        width: auto;
        font-weight: bold;
        border-top: 1px solid #999;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .sasb tr:first-of-type .item {
        border-top: none;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .sasb td::before {
        display: block;
        margin: -0.5em -0.5em 0.5em;
        padding: 0.5em;
    }
}

.sustainability .sasb td:nth-of-type(n+2)::before {
    background-color: #ededed;
    border-left: 18px solid #999;
}

@media screen and (max-width: 767px) {
    .sustainability .sasb td.index::before {
        background-color: #dadada;
    }
    .ja .sustainability .sasb td.index::before {
        content: "指標";
    }
    .en .sustainability .sasb td.index::before {
        content: "ACCOUNTING METRIC";
    }
}

.sustainability .sasb td.code {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .ja .sustainability .sasb td.code::before {
        content: "SASBコード";
    }
    .en .sustainability .sasb td.code::before {
        content: "CODE";
    }
}

@media screen and (max-width: 767px) {
    .ja .sustainability .sasb td.disclosure::before {
        content: "開示内容";
    }
    .en .sustainability .sasb td.disclosure::before {
        content: "Disclosed materials";
    }
}

.sustainability .sasb td .list li::before {
    content: none;
}

@media screen and (max-width: 767px) {
    .sustainability .sasb tr td:last-of-type {
        padding-bottom: 2em;
    }
}

.sustainability .tb-03 {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 1px solid #999;
    border-left: 1px solid #999;
}

@media screen and (max-width: 767px) {
    .ja .sustainability .tb-03 td:last-child::before {
        content: "2021年度";
    }
    .ja .sustainability .tb-03 td:nth-last-child(2)::before {
        content: "2020年度";
    }
    .en .sustainability .tb-03 td:last-child::before {
        content: "FY2021";
    }
    .en .sustainability .tb-03 td:nth-last-child(2)::before {
        content: "FY2020";
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 thead {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 tbody {
        border-top: 1px solid #999;
    }
}

.sustainability .tb-03 tr.col-2 td {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 tr.col-2 td {
        white-space: normal;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 tr.col-2 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .sustainability .tb-03 tr.col-2::after {
        content: "";
        display: block;
        clear: both;
    }
    .sustainability .tb-03 tr.col-2>* {
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 50%;
    }
    .en .sustainability .tb-03 tr.col-2 td {
        height: 19vw;
    }
}

.sustainability .tb-03 th {
    font-weight: bold;
    text-align: left;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    background-color: #ededed;
    padding: 0.5em 0.8em;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 th {
        display: block;
        background-color: #e2e2e2;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px;
    }
}

.sustainability .tb-03 th[scope="col"] {
    background-color: #ccc;
    text-align: center;
    top: -1px;
}

.sustainability .tb-03 th[scope="col"]:last-child {
    background-color: #f03;
    color: #fff;
}

.sustainability .tb-03 th[scope="col"].esg-fiscal-year {
    background-color: #f03;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 th[scope="col"] {
        display: none;
    }
}

.sustainability .tb-03 th[scope="row"] {
    font-weight: bold;
    background-color: #e2e2e2;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 th[scope="row"] {
        background-color: #ededed;
        width: 100%;
    }
}

.sustainability .tb-03 td {
    background-color: #fff;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    padding: 0.5em 0.8em;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 td::before {
        display: block;
        font-weight: bold;
        text-align: left;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 td {
        display: block;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px;
        text-align: right;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03 .noContents {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .ja .sustainability .tb-03.coverage td:nth-last-child(2)::before {
        content: "2021年度";
    }
    .ja .sustainability .tb-03.coverage td:nth-last-child(3)::before {
        content: "2020年度";
    }
    .en .sustainability .tb-03.coverage td:nth-last-child(2)::before {
        content: "FY2021";
    }
    .en .sustainability .tb-03.coverage td:nth-last-child(3)::before {
        content: "FY2020";
    }
}

.sustainability .tb-03.coverage thead tr:last-child th[scope="col"]:last-child {
    background-color: #ccc;
    color: #222;
}

.sustainability .tb-03.coverage thead tr:last-child th[scope="col"].esg-fiscal-year:last-child {
    background-color: #f03;
    color: #fff;
}

.sustainability .tb-03.coverage tr:first-child th[scope="col"]:last-child {
    background-color: #f03;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03.coverage tr td:nth-last-child(2) {
        border-bottom: none;
        padding-bottom: 5px;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03.coverage tr td:last-child {
        padding-top: 0;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03.coverage tr td:last-child::before {
        display: inline;
        font-weight: normal;
        margin-right: 2em;
    }
    .ja .sustainability .tb-03.coverage tr td:last-child::before {
        content: "カバレッジ";
    }
    .en .sustainability .tb-03.coverage tr td:last-child::before {
        content: "Coverage";
    }
}

@media screen and (max-width: 767px) {
    .sustainability .tb-03.coverage tr td:last-child.no-coverage {
        padding: 0 0 5px 0;
        height: 0;
    }
    .sustainability .tb-03.coverage tr td:last-child.no-coverage::before {
        content: none;
    }
}

@media screen and (max-width: 767px) {
    .ja .sustainability .tb-03.esg-governance td:nth-last-child(2)::before {
        content: "2020年度";
    }
    .en .sustainability .tb-03.esg-governance td:nth-last-child(2)::before {
        content: "FY2020";
    }
}

.sustainability .notes {
    margin-top: 1em;
}

.sustainability .notes>* {
    color: #787878;
    font-size: 12px;
}

@media screen and (max-width: 767px) {
    .sustainability .notes>* {
        font-size: 3vw;
    }
}

.sustainability .table+.notes {
    margin-top: 0.5em;
}

.sustainability .links {
    margin-top: 1.5em;
}

.sustainability .accordion {
    margin-top: 2.5em;
}

.sustainability .accordion .accordion-trigger {
    cursor: pointer;
    font-weight: bold;
    padding: 0.8em 1em;
    background: #ededed;
}

.sustainability .accordion .accordion-trigger::after {
    display: inline-block;
    margin-left: 0.3em;
    content: "▼";
}

.sustainability .accordion .accordion-trigger.opened::after {
    content: "▲";
}

.sustainability .accordion .accordion-content {
    margin-top: 1em;
}

.sustainability .accordion .accordion-content>.table {
    width: 100%;
    margin-top: 0;
    border-top: 1px solid #fff;
}

.sustainability .accordion .accordion-content>.ttl-lv4+.table {
    margin-top: 1em;
}

.sustainability .dotted {
    margin-top: 3.5em;
    border: 2px dotted #ccc;
    border-radius: 8px;
    padding: 1.5em 2.5em 2.5em;
}

.sustainability .dotted .ttl-lv3 {
    margin-top: 0;
}

.sustainability .dotted .fig {
    max-width: 520px;
}

@media screen and (max-width: 767px) {
    .sustainability .dotted {
        padding: 3.2vw 5.33333vw 5.33333vw;
    }
}

.sustainability .pagination {
    margin-top: 2em;
    border: 1px solid #dddddd;
    background-color: #fff;
    -webkit-transition: 0.8s;
    transition: 0.8s;
    border-radius: 5px;
}

.sustainability .pagination ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.sustainability .pagination ul li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 33.333333333333333%;
}

@media screen and (max-width: 767px) {
    .sustainability .pagination ul li {
        width: auto;
    }
}

.sustainability .pagination ul li a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1em 2em;
    display: block;
}

@media screen and (max-width: 767px) {
    .sustainability .pagination ul li a {
        padding: 1em;
    }
}

@media screen and (max-width: 767px) {
    .sustainability .pagination ul li a span {
        display: none;
    }
}

.sustainability .pagination ul li.prev a {
    float: left;
}

.sustainability .pagination ul li.prev a::before {
    content: "";
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    display: inline-block;
    margin-right: 0.8em;
    padding-bottom: 0.1em;
    width: 0.5em;
    height: 0.5em;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 100%;
    background-size: 100%;
    background-repeat: no-repeat;
}

.sustainability .pagination ul li.index {
    margin: auto;
}

.sustainability .pagination ul li.index a {
    text-align: center;
    margin: auto;
    white-space: nowrap;
}

.sustainability .pagination ul li.index a span {
    display: block;
}

@media screen and (max-width: 767px) {
    .sustainability .pagination ul li.index a span {
        display: none;
    }
}

.sustainability .pagination ul li.index a::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.3em;
    height: 1.3em;
    background-image: url(../img/sustainability/stakeholder/icon_menu.png);
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
}

.sustainability .pagination ul li.index.no-prev {
    margin: 0;
    width: 66.666666666666667%;
}

.sustainability .pagination ul li.index.no-prev a {
    float: right;
    width: 50%;
}

.sustainability .pagination ul li.index.no-next {
    margin: 0;
    width: 66.666666666666667%;
}

.sustainability .pagination ul li.index.no-next a {
    float: left;
    width: 50%;
}

.sustainability .pagination ul li.next a {
    float: right;
}

.sustainability .pagination ul li.next a::after {
    content: "";
    display: inline-block;
    margin-left: 0.8em;
    padding-bottom: 0.1em;
    width: 0.5em;
    height: 0.5em;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
}

.sustainability#sustainability-top .relation-area {
    padding: 3vw;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .relation-area {
        display: block;
        padding: 16vw 4vw;
    }
}

.sustainability#sustainability-top .relation-img-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .relation-img-area {
        display: block;
        width: 100%;
    }
}

.sustainability#sustainability-top .relation-img {
    width: 48%;
}

.sustainability#sustainability-top .relation-img a {
    display: block;
    margin-bottom: 40px;
}

@media screen and (max-width: 1200px) {
    .sustainability#sustainability-top .relation-img a {
        margin-bottom: 3.2vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .relation-img a {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .relation-img {
        width: 100%;
    }
}

.sustainability#sustainability-top .relation-img-area img {
    width: 100%;
}

.sustainability#sustainability-top .sustainability-linkarea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-linkarea {
        display: block;
    }
}

.sustainability#sustainability-top .sustainability-linkarea span {
    padding: 0 16px;
}

.sustainability#sustainability-top .sustainability-link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 4px 0;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    width: 290px;
    height: 58px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
    font-weight: bold;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background-color, border;
    transition-property: color, background-color, border;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    line-height: 22px;
}

@media screen and (max-width: 1200px) {
    .sustainability#sustainability-top .sustainability-link {
        width: 24vw;
        height: 4.83333vw;
        line-height: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-link {
        margin-bottom: 5.33333vw;
        width: 100%;
        height: 15.46667vw;
        font-size: 3.73333vw;
        line-height: 6vw;
    }
}

.sustainability#sustainability-top .sustainability-link::after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 0;
    background-position-x: 0px;
    background-position-y: 0px;
    background-size: 100%;
    background-repeat: no-repeat;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .sustainability#sustainability-top .sustainability-link::after {
        right: 6px;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-link::after {
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
    }
}

.sustainability#sustainability-top .sustainability-link:hover {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

.sustainability#sustainability-top .sustainability-link:hover::after {
    background-image: url(../img/common/icon_arrow_right_white.svg);
}

.sustainability#sustainability-top .ttl {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 4px;
}

.sustainability#sustainability-top .sustainability_editing_content {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3vw;
    width: 100%;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability_editing_content {
        display: block;
        padding: 16vw 4vw;
    }
}

.sustainability#sustainability-top .view-more {
    position: relative;
    right: 15px;
    top: 8px;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .view-more {
        position: relative;
        right: auto;
        bottom: auto;
        text-align: center;
        margin-top: 6.66667vw;
        margin-right: auto;
        margin-left: auto;
        border: 1px solid #DDDDDD;
        border-radius: 5px;
        background-color: #fff;
        -webkit-transition: .5s;
        transition: .5s;
        -webkit-transition-property: color, background-color, border;
        transition-property: color, background-color, border;
        font-size: 4.26667vw;
        display: block;
        width: 100%;
    }
    .sustainability#sustainability-top .view-more::after {
        position: absolute;
        top: 50%;
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
        background-image: url(../img/common/icon_arrow_right.svg);
        background-position: 0 0;
        background-size: 100%;
        background-repeat: no-repeat;
        content: "";
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .sustainability#sustainability-top .view-more:hover {
        border-color: #000;
        background-color: #000;
        color: #fff;
    }
    .sustainability#sustainability-top .view-more:hover::after {
        background-image: url(../img/common/icon_arrow_right_white.svg);
    }
}

.sustainability#sustainability-top .sustainability-editing-text {
    letter-spacing: 0.05em;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-editing-text {
        font-size: 3.73333vw;
    }
}

.sustainability#sustainability-top .sustainability-contents__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    justify-content: start;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.sustainability#sustainability-top .sustainability-contents__report {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2vw 4.8vw;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-contents__report {
        display: block;
        padding: 16vw 4vw;
    }
}

.sustainability#sustainability-top .sustainability-contents__report .view-more {
    text-align: left;
    margin-top: 1.5em;
    margin-left: 1em;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-contents__report .view-more {
        text-align: center;
        margin-left: 0;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-contents__report .view-more a {
        text-decoration: none;
    }
}

.sustainability#sustainability-top .sustainability-contents__report .view-more a::before {
    padding-bottom: 0.3em;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-contents__report .view-more a::before {
        content: none;
    }
}

.sustainability#sustainability-top .sustainability-contents__report-img {
    max-width: 330px;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    margin-right: 60px;
}

@media screen and (max-width: 1200px) {
    .sustainability#sustainability-top .sustainability-contents__report-img {
        max-width: 27.5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-contents__report-img {
        margin-bottom: 8vw;
        max-width: none;
        width: 100%;
    }
}

.sustainability#sustainability-top .sustainability-contents__report-img img {
    width: 70%;
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-contents__report-img img {
        width: 100%;
    }
}

.sustainability#sustainability-top .sustainability-contents__report-txt {
    margin: 20px 0;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .sustainability#sustainability-top .sustainability-contents__report-txt {
        margin-bottom: 1.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#sustainability-top .sustainability-contents__report-txt {
        margin-bottom: 5.33333vw;
        font-size: 3.73333vw;
    }
}

.sustainability#sustainability-top .sustainability-contents__report-txt:last-of-type {
    margin-bottom: 0;
}

.sustainability#sustainability-top .sustainability-message {
    display: block;
}

.sustainability#sustainability-top .sustainability-message .sustainability-contents__img {
    max-width: none;
    margin-right: 0;
    margin-bottom: 40px;
}

.sustainability#stakeholder-top {
    padding-bottom: 0;
}

.sustainability#stakeholder-top .esg-contentarea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .esg-contentarea {
        display: block;
    }
}

.sustainability#stakeholder-top .basicpolicy-content {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 50px 60px;
    width: 100%;
    border: 1px solid #dddddd;
    border-radius: 5px;
    background-color: #fff;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .basicpolicy-content {
        padding: 8vw 5.33333vw;
    }
}

.sustainability#stakeholder-top .mb20 {
    margin-bottom: 20px;
}

.sustainability#stakeholder-top .lead>.links {
    margin-top: 0;
}

.sustainability#stakeholder-top .basicpolicy-txt {
    position: relative;
    padding: 30px 30px 35px;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .basicpolicy-txt {
        padding: 0;
    }
}

.sustainability#stakeholder-top .basicpolicy-img {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .basicpolicy-img {
        margin-right: 0;
        margin-bottom: 8vw;
        max-width: none;
        width: 100%;
    }
}

.sustainability#stakeholder-top .basicpolicy-contentarea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .basicpolicy-contentarea {
        display: block;
    }
}

.sustainability#stakeholder-top .basicpolicy-img img {
    width: 200px;
    max-width: 200px;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .basicpolicy-img img {
        width: 100%;
        max-width: 100%;
    }
}

.sustainability#stakeholder-top .environment-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 40px 60px;
    border: 1px solid #dddddd;
    background-color: #fff;
    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 1200px) {
    .sustainability#stakeholder-top .environment-content {
        padding: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .environment-content {
        display: block;
        padding: 0 0 6.66667vw;
    }
}

.sustainability#stakeholder-top .environment-content img {
    width: 170px;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .environment-content img {
        width: 100%;
    }
}

.sustainability#stakeholder-top .environment-img {
    margin-right: 40px;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .environment-img {
        margin-right: 0;
        margin-bottom: 8vw;
        max-width: 100%;
    }
}

.sustainability#stakeholder-top .environment-txt {
    position: relative;
    padding-bottom: 35px;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .environment-txt {
        padding: 0 4vw 0;
    }
}

.sustainability#stakeholder-top .esg-article {
    position: relative;
    margin-bottom: 1.8vw;
    width: 320px;
    padding: 0;
    height: auto;
    background-color: #fff;
    border: 1px solid #dddddd;
}

@media screen and (max-width: 1200px) {
    .sustainability#stakeholder-top .esg-article {
        width: 26.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .esg-article {
        width: 100%;
        margin-right: 0;
        margin-bottom: 8vw;
    }
}

.sustainability#stakeholder-top .esg-article .img img {
    display: block;
    width: 100%;
}

.sustainability#stakeholder-top .esg-article-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .esg-article-body {
        display: block;
    }
}

.sustainability#stakeholder-top .esg-article-body .esg-article:nth-child(3n + 2):last-child {
    margin-left: auto;
    margin-right: 33.9%;
}

.sustainability#stakeholder-top .esg-content {
    margin-bottom: 120px;
}

@media screen and (max-width: 1200px) {
    .sustainability#stakeholder-top .esg-content {
        margin-bottom: 10vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .esg-content {
        margin-bottom: 32vw;
    }
}

.sustainability#stakeholder-top .esg-content:last-child {
    margin-bottom: 0;
}

.sustainability#stakeholder-top .esg-article-text {
    padding: 10px 15px 35px;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .esg-article-text {
        display: block;
        padding: 4vw 4vw 6.66667vw;
        height: auto;
    }
}

.sustainability#stakeholder-top .ttl {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 4px;
}

.sustainability#stakeholder-top .view-more {
    position: absolute;
    bottom: 10px;
    right: 15px;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .view-more {
        position: relative;
        right: auto;
        bottom: auto;
        text-align: center;
        margin-top: 6.66667vw;
        margin-right: auto;
        margin-left: auto;
        width: 55.46667vw;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background-color: #fff;
        font-size: 16px;
        -webkit-transition: 0.5s;
        transition: 0.5s;
        -webkit-transition-property: color, background-color, border;
        transition-property: color, background-color, border;
        font-size: 4.26667vw;
    }
    .sustainability#stakeholder-top .view-more::after {
        position: absolute;
        top: 50%;
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
        background-image: url(../img/common/icon_arrow_right.svg);
        background-position: 0 0;
        background-size: 100%;
        background-repeat: no-repeat;
        content: "";
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .sustainability#stakeholder-top .view-more:hover {
        border-color: #000;
        background-color: #000;
        color: #fff;
    }
    .sustainability#stakeholder-top .view-more:hover::after {
        background-image: url(../img/common/icon_arrow_right_white.svg);
    }
}

.sustainability#stakeholder-top .mb40 {
    margin-bottom: 40px;
}

.sustainability#stakeholder-top .mb60 {
    margin-bottom: 60px;
}

.sustainability#stakeholder-top .esg-linkarea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    margin-bottom: 60px;
    padding-top: 25px;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 1200px) {
    .sustainability#stakeholder-top .esg-linkarea {
        margin-bottom: 5vw;
        padding-top: 2.08333vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .esg-linkarea {
        display: block;
        margin-bottom: 16vw;
        padding-top: 6.66667vw;
    }
}

.sustainability#stakeholder-top .esg-link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 4px 0;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    width: 320px;
    height: 58px;
    border: 1px solid #dddddd;
    border-radius: 5px;
    background-color: #fff;
    font-weight: bold;
    font-size: 14px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transition-property: color, background-color, border;
    transition-property: color, background-color, border;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    line-height: 22px;
}

@media screen and (max-width: 1200px) {
    .sustainability#stakeholder-top .esg-link {
        width: 26.66667vw;
        height: 4.83333vw;
        line-height: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder-top .esg-link {
        margin-bottom: 4vw;
        width: 100%;
        height: 15.46667vw;
        font-size: 3.73333vw;
        line-height: 6vw;
    }
}

.sustainability#stakeholder-top .esg-link span {
    padding: 0 16px;
}

.sustainability#stakeholder-top .esg-link:after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 7px;
    height: 7px;
    background-image: url("../img/common/icon_arrow_right.svg");
    background-position: 0 0;
    background-position-x: 0px;
    background-position-y: 0px;
    background-size: 100%;
    background-repeat: no-repeat;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 1200px) {
    .sustainability#stakeholder-top .esg-link:after {
        right: 12px;
    }
}

.sustainability#stakeholder-top .esg-link:hover {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

.sustainability#stakeholder-top .esg-link:hover:after {
    background-image: url("../img/common/icon_arrow_right_white.svg");
}

.sustainability#stakeholder-top .anchor::before {
    position: relative;
    content: "";
    display: block;
    margin-top: -90px;
    padding-top: 90px;
    height: auto;
}

@media screen and (max-width: 767px) {
    .sustainability#stakeholder {
        padding-top: 26.66667vw;
    }
}

.sustainability#report-top {
    padding-right: 60px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .sustainability#report-top {
        padding-right: 5vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#report-top {
        padding: 4vw 5.33333vw 0;
    }
}

.sustainability#report-top .report-article {
    position: relative;
    margin-bottom: 1.8vw;
    width: 320px;
    padding: 0;
    height: auto;
    background-color: #fff;
    border: 1px solid #dddddd;
}

@media screen and (max-width: 1200px) {
    .sustainability#report-top .report-article {
        width: 26.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#report-top .report-article {
        width: 100%;
        margin-right: 0;
        margin-bottom: 8vw;
    }
}

.sustainability#report-top .report-article .img img {
    display: block;
    width: 100%;
}

.sustainability#report-top .report-article-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
    .sustainability#report-top .report-article-body {
        display: block;
    }
}

.sustainability#report-top .report-article-body .report-article:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 33.9%;
}

.sustainability#report-top .report-content {
    margin-bottom: 120px;
}

@media screen and (max-width: 1200px) {
    .sustainability#report-top .report-content {
        margin-bottom: 10vw;
    }
}

@media screen and (max-width: 767px) {
    .sustainability#report-top .report-content {
        margin-bottom: 32vw;
    }
}

.sustainability#report-top .report-content:last-child {
    margin-bottom: 0;
}

.sustainability#report-top .report-article-text {
    padding: 10px 15px 35px;
}

@media screen and (max-width: 767px) {
    .sustainability#report-top .report-article-text {
        display: block;
        padding: 4vw 4vw 6.66667vw;
        height: auto;
    }
}

.sustainability#report-top .ttl {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 4px;
}

.sustainability#report-top .view-more {
    position: absolute;
    bottom: 10px;
    right: 15px;
}

@media screen and (max-width: 767px) {
    .sustainability#report-top .view-more {
        position: relative;
        right: auto;
        bottom: auto;
        text-align: center;
        margin-top: 6.66667vw;
        margin-right: auto;
        margin-left: auto;
        width: 55.46667vw;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background-color: #fff;
        font-size: 16px;
        -webkit-transition: 0.5s;
        transition: 0.5s;
        -webkit-transition-property: color, background-color, border;
        transition-property: color, background-color, border;
        font-size: 4.26667vw;
    }
    .sustainability#report-top .view-more::after {
        position: absolute;
        top: 50%;
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
        background-image: url(../img/common/icon_arrow_right.svg);
        background-position: 0 0;
        background-size: 100%;
        background-repeat: no-repeat;
        content: "";
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .sustainability#report-top .view-more:hover {
        border-color: #000;
        background-color: #000;
        color: #fff;
    }
    .sustainability#report-top .view-more:hover::after {
        background-image: url(../img/common/icon_arrow_right_white.svg);
    }
}

.sustainability#report-top .mb40 {
    margin-bottom: 40px;
}

.sustainability#report .report-profile {
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.sustainability#report .report-profile dl {
    display: block;
    width: calc(100% - 150px);
    margin-bottom: 0;
    padding-left: 30px;
}

@media screen and (max-width: 767px) {
    .sustainability#report .report-profile dl {
        width: calc(100% - 110px);
    }
}

.sustainability#report .report-profile dt {
    width: auto;
    padding: 0;
    color: #000;
    font-weight: bold;
}

.sustainability#report .report-profile dd {
    width: auto;
    padding: 0;
}

.sustainability#report .report-profile .img {
    width: 120px;
    height: 120px;
    margin-bottom: 0;
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .sustainability#report .report-profile .img {
        width: 80px;
        height: 80px;
    }
}

.sustainability#report .report-kv {
    margin-bottom: 40px;
}

.sustainability#report .box-content {
    background-color: #eeeff1;
    border-radius: 10px;
    padding: 25px 30px;
    border-bottom: none;
}

.sustainability#report .pagination ul li.index.no-page a {
    float: right;
}

.sustainability#report .mb20 {
    margin-bottom: 20px;
}

.sustainability#editorial-policy table {
    margin-bottom: 48px;
}

.sustainability#editorial-policy table th:first-child {
    width: 36%;
}


/*========================================================== */


/* ---------------------------------------------
*   成長戦略
--------------------------------------------- */

@media screen and (max-width: 767px) {
    .growth-strategy {
        padding: 4vw 4vw 32vw;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy::before {
        left: 0;
    }
}

.growth-strategy .index-area {
    background-color: #f8f8f8;
    padding: 20px 30px;
    margin-bottom: 30px;
    font-size: 0.9em;
}

@media screen and (max-width: 767px) {
    .growth-strategy .index-area {
        padding: 4vw;
    }
}

.growth-strategy .index-area p {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .growth-strategy .index-area p {
        font-size: 4vw;
    }
}

.growth-strategy .view-more {
    text-align: right;
    font-family: "Josefin Sans", sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (max-width: 767px) {
    .growth-strategy .view-more a {
        text-decoration: none;
        display: block;
        width: 100%;
        padding: 3.73333vw 0 2.66667vw;
    }
    .growth-strategy .view-more a:hover {
        color: #fff;
        -webkit-transition: none;
        transition: none;
    }
}

.growth-strategy .lead {
    margin-bottom: 3em;
}

.growth-strategy .lead p {
    margin-bottom: 1em;
}

.growth-strategy .lead p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .growth-strategy .lead {
        margin-bottom: 8vw;
    }
}

.growth-strategy .strategy-banner {
    margin-bottom: 3em;
}

@media screen and (max-width: 767px) {
    .growth-strategy .strategy-banner {
        margin-bottom: 8vw;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy .txt-section {
        padding: 0;
    }
}

.growth-strategy .txt-section strong {
    font-weight: bold;
}

.growth-strategy .txt-section .ml-1em {
    margin-left: 1em;
}

.growth-strategy .txt-section__inner {
    word-break: break-word;
    word-wrap: break-word;
    padding: 50px 60px;
}

@media screen and (max-width: 767px) {
    .growth-strategy .txt-section__inner {
        padding: 8vw 4vw;
    }
}

.growth-strategy .ttl-lv2 {
    margin-top: 3em;
    padding-top: 0.5em;
    font-weight: bold;
    font-size: 18px;
    border-bottom: 2px solid #000;
}

@media screen and (max-width: 767px) {
    .growth-strategy .ttl-lv2 {
        font-size: 4.8vw;
    }
}

.growth-strategy .ttl-lv3 {
    margin-top: 1em;
    padding-top: 0.5em;
    font-weight: bold;
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .growth-strategy .ttl-lv3 {
        font-size: 4.4vw;
    }
}

.growth-strategy .links+.ttl-lv3,
.growth-strategy .notes+.ttl-lv3 {
    margin-top: 3em;
}

.growth-strategy .ttl-lv4 {
    margin-top: 1em;
    font-weight: bold;
}

.growth-strategy .links+.ttl-lv4,
.growth-strategy .notes+.ttl-lv4 {
    margin-top: 3em;
}

.growth-strategy .list li {
    list-style: none;
    margin-top: 0.5em;
    text-indent: -1em;
    padding-left: 1em;
}

.growth-strategy .list li::before {
    content: "・";
}

.en .growth-strategy .list li {
    text-indent: -0.5em;
    padding-left: 0.5em;
}

.en .growth-strategy .list li::before {
    content: "·";
}

.growth-strategy .indent dt {
    font-weight: bold;
    text-indent: -1em;
    padding-left: 1em;
}

.growth-strategy .indent dt::before {
    content: "・";
}

.en .growth-strategy .indent dt::before {
    content: "·";
}

.growth-strategy .indent dd {
    margin-left: 1em;
    margin-bottom: 1em;
}

.en .growth-strategy .indent dd {
    margin-left: 0.6em;
}

.growth-strategy .indent dd .ml-1em+br {
    display: none;
}

.growth-strategy .txt {
    margin-top: 1em;
}

.growth-strategy .txt p {
    margin-top: 1.5em;
}

.growth-strategy .txt p:first-child {
    margin-top: 0;
}

.growth-strategy .ttl-lv3+.txt {
    margin-top: 0.5em;
}

.growth-strategy .ttl-lv4+.txt {
    margin-top: 0.5em;
}

.growth-strategy sub {
    vertical-align: text-bottom;
}

.growth-strategy sup {
    vertical-align: text-top;
}

.growth-strategy .fig {
    padding-top: 2em;
    display: table;
    table-layout: fixed;
    margin: auto;
}

.growth-strategy .fig.full {
    width: 100%;
    margin-bottom: 3em;
}

.growth-strategy .fig.full img {
    width: 100%;
    max-width: none;
}

.growth-strategy .fig img {
    display: block;
    margin: auto;
    max-width: 520px;
}

@media screen and (max-width: 767px) {
    .growth-strategy .fig img {
        width: 100%;
        max-width: 100%;
    }
}

.growth-strategy .fig figcaption {
    display: table-caption;
    caption-side: bottom;
    margin-top: 0.5em;
    font-size: 0.9em;
    color: #787878;
    line-height: 1.4;
    font-weight: normal;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .growth-strategy .fig figcaption {
        font-size: 3vw;
    }
}

.growth-strategy .pc-nowrap {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .growth-strategy .pc-nowrap {
        white-space: normal;
    }
}

.growth-strategy .nowrap {
    white-space: nowrap;
}

.growth-strategy .text-center {
    text-align: center;
}

.growth-strategy .tb-01 th[scope="col"].text-center {
    text-align: center;
}

.growth-strategy .text-right {
    text-align: right;
}

.growth-strategy .table {
    margin-top: 2em;
}

@media screen and (max-width: 767px) {
    .growth-strategy .table {
        width: 100%;
        table-layout: fixed;
        word-break: break-word;
        word-wrap: break-word;
        font-size: 3.2vw;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy .table.sp-font-small {
        font-size: 2vw;
    }
}

.growth-strategy .table th.w-10 {
    width: 10%;
}

.growth-strategy .table th.w-15 {
    width: 15%;
}

.growth-strategy .table th.w-20 {
    width: 20%;
}

.growth-strategy .table th.w-25 {
    width: 25%;
}

.growth-strategy .table th.w-30 {
    width: 30%;
}

.growth-strategy .table th.w-40 {
    width: 40%;
}

.growth-strategy .table th.w-50 {
    width: 50%;
}

.growth-strategy .table th.w-70 {
    width: 70%;
}

.growth-strategy .table td.w-40 {
    width: 40%;
}

.growth-strategy .table th.year {
    width: 12%;
}

@media screen and (max-width: 767px) {
    .growth-strategy .table th.year {
        width: 16%;
    }
}

.growth-strategy .table a {
    color: #000080;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.growth-strategy .table a:hover {
    color: #0075c2;
    text-decoration: underline;
}

.growth-strategy .table th,
.growth-strategy .table td {
    padding: 0.8em;
}

@media screen and (max-width: 767px) {
    .growth-strategy .table th,
    .growth-strategy .table td {
        padding: 0.5em;
    }
}

.growth-strategy .ttl-lv3+.table {
    margin-top: 1.5em;
}

.growth-strategy .ttl-lv4+.table {
    margin-top: 1em;
}

.growth-strategy .table+.ttl-lv4 {
    margin-top: 2em;
}

.growth-strategy .notes {
    margin-top: 1em;
}

.growth-strategy .notes>* {
    color: #787878;
    font-size: 12px;
}

@media screen and (max-width: 767px) {
    .growth-strategy .notes>* {
        font-size: 3vw;
    }
}

.growth-strategy .table+.notes {
    margin-top: 0.5em;
}

.growth-strategy .links {
    margin-top: 1.5em;
}

.growth-strategy .accordion {
    margin-top: 2.5em;
}

.growth-strategy .accordion .accordion-trigger {
    cursor: pointer;
    font-weight: bold;
    padding: 0.8em 1em;
    background: #ededed;
}

.growth-strategy .accordion .accordion-trigger::after {
    display: inline-block;
    margin-left: 0.3em;
    content: "▼";
}

.growth-strategy .accordion .accordion-trigger.opened::after {
    content: "▲";
}

.growth-strategy .accordion .accordion-content {
    margin-top: 1em;
}

.growth-strategy .accordion .accordion-content>.table {
    width: 100%;
    margin-top: 0;
    border-top: 1px solid #fff;
}

.growth-strategy .accordion .accordion-content>.ttl-lv4+.table {
    margin-top: 1em;
}

.growth-strategy .dotted {
    margin-top: 3.5em;
    border: 2px dotted #ccc;
    border-radius: 8px;
    padding: 1.5em 2.5em 2.5em;
}

.growth-strategy .dotted .ttl-lv3 {
    margin-top: 0;
}

.growth-strategy .dotted .fig {
    max-width: 520px;
}

@media screen and (max-width: 767px) {
    .growth-strategy .dotted {
        padding: 3.2vw 5.33333vw 5.33333vw;
    }
}

.growth-strategy .pagination {
    margin-top: 2em;
    border: 1px solid #dddddd;
    background-color: #fff;
    -webkit-transition: 0.8s;
    transition: 0.8s;
    border-radius: 5px;
}

.growth-strategy .pagination ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.growth-strategy .pagination ul li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 33.333333333333333%;
}

@media screen and (max-width: 767px) {
    .growth-strategy .pagination ul li {
        width: auto;
    }
}

.growth-strategy .pagination ul li a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1em 2em;
    display: block;
}

@media screen and (max-width: 767px) {
    .growth-strategy .pagination ul li a {
        padding: 1em;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy .pagination ul li a span {
        display: none;
    }
}

.growth-strategy .pagination ul li.prev a {
    float: left;
}

.growth-strategy .pagination ul li.prev a::before {
    content: "";
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    display: inline-block;
    margin-right: 0.8em;
    padding-bottom: 0.1em;
    width: 0.5em;
    height: 0.5em;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 100%;
    background-size: 100%;
    background-repeat: no-repeat;
}

.growth-strategy .pagination ul li.index {
    margin: auto;
}

.growth-strategy .pagination ul li.index a {
    text-align: center;
    margin: auto;
    white-space: nowrap;
}

.growth-strategy .pagination ul li.index a span {
    display: block;
}

@media screen and (max-width: 767px) {
    .growth-strategy .pagination ul li.index a span {
        display: none;
    }
}

.growth-strategy .pagination ul li.index a::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.3em;
    height: 1.3em;
    background-image: url(../img/sustainability/stakeholder/icon_menu.png);
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
}

.growth-strategy .pagination ul li.index.no-prev {
    margin: 0;
    width: 66.666666666666667%;
}

.growth-strategy .pagination ul li.index.no-prev a {
    float: right;
    width: 50%;
}

.growth-strategy .pagination ul li.index.no-next {
    margin: 0;
    width: 66.666666666666667%;
}

.growth-strategy .pagination ul li.index.no-next a {
    float: left;
    width: 50%;
}

.growth-strategy .pagination ul li.next a {
    float: right;
}

.growth-strategy .pagination ul li.next a::after {
    content: "";
    display: inline-block;
    margin-left: 0.8em;
    padding-bottom: 0.1em;
    width: 0.5em;
    height: 0.5em;
    background-image: url(../img/common/icon_arrow_right.svg);
    background-position: 0 0;
    background-size: 100%;
    background-repeat: no-repeat;
}

.growth-strategy#strategy-top {
    padding-right: 60px;
    padding-left: 60px;
}

@media screen and (max-width: 1200px) {
    .growth-strategy#strategy-top {
        padding-right: 5vw;
        padding-left: 5vw;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy-top {
        padding: 4vw 5.33333vw 0;
    }
}

.growth-strategy#strategy-top .strategy-article {
    position: relative;
    margin-bottom: 1.8vw;
    width: 320px;
    padding: 0;
    height: auto;
    background-color: #fff;
    border: 1px solid #dddddd;
}

@media screen and (max-width: 1200px) {
    .growth-strategy#strategy-top .strategy-article {
        width: 26.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy-top .strategy-article {
        width: 100%;
        margin-right: 0;
        margin-bottom: 8vw;
    }
}

.growth-strategy#strategy-top .strategy-article .img img {
    display: block;
    width: 100%;
}

.growth-strategy#strategy-top .strategy-article-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy-top .strategy-article-body {
        display: block;
    }
}

.growth-strategy#strategy-top .strategy-article-body .strategy-article:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 33.9%;
}

.growth-strategy#strategy-top .strategy-content {
    margin-bottom: 120px;
}

@media screen and (max-width: 1200px) {
    .growth-strategy#strategy-top .strategy-content {
        margin-bottom: 10vw;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy-top .strategy-content {
        margin-bottom: 32vw;
    }
}

.growth-strategy#strategy-top .strategy-content:last-child {
    margin-bottom: 0;
}

.growth-strategy#strategy-top .strategy-article-text {
    padding: 10px 15px 35px;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy-top .strategy-article-text {
        display: block;
        padding: 4vw 4vw 6.66667vw;
        height: auto;
    }
}

.growth-strategy#strategy-top .ttl {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 4px;
}

.growth-strategy#strategy-top .view-more {
    position: absolute;
    bottom: 10px;
    right: 15px;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy-top .view-more {
        position: relative;
        right: auto;
        bottom: auto;
        text-align: center;
        margin-top: 6.66667vw;
        margin-right: auto;
        margin-left: auto;
        width: 55.46667vw;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background-color: #fff;
        font-size: 16px;
        -webkit-transition: 0.5s;
        transition: 0.5s;
        -webkit-transition-property: color, background-color, border;
        transition-property: color, background-color, border;
        font-size: 4.26667vw;
    }
    .growth-strategy#strategy-top .view-more::after {
        position: absolute;
        top: 50%;
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
        background-image: url(../img/common/icon_arrow_right.svg);
        background-position: 0 0;
        background-size: 100%;
        background-repeat: no-repeat;
        content: "";
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .growth-strategy#strategy-top .view-more:hover {
        border-color: #000;
        background-color: #000;
        color: #fff;
    }
    .growth-strategy#strategy-top .view-more:hover::after {
        background-image: url(../img/common/icon_arrow_right_white.svg);
    }
}

.growth-strategy#strategy-top .mb40 {
    margin-bottom: 40px;
}

.growth-strategy#strategy .strategy-profile {
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.growth-strategy#strategy .strategy-profile dl {
    display: block;
    width: calc(100% - 150px);
    margin-bottom: 0;
    padding-left: 30px;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy .strategy-profile dl {
        width: calc(100% - 110px);
    }
}

.growth-strategy#strategy .strategy-profile dt {
    width: auto;
    padding: 0;
    color: #000;
    font-weight: bold;
}

.growth-strategy#strategy .strategy-profile dd {
    width: auto;
    padding: 0;
}

.growth-strategy#strategy .strategy-profile .img {
    width: 120px;
    height: 120px;
    margin-bottom: 0;
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy .strategy-profile .img {
        width: 80px;
        height: 80px;
    }
}

.growth-strategy#strategy .strategy-kv {
    margin-bottom: 40px;
}

.growth-strategy#strategy .box-content {
    background-color: #eeeff1;
    border-radius: 10px;
    padding: 25px 30px;
    border-bottom: none;
}

.growth-strategy#strategy .pagination ul li.index.no-page a {
    float: right;
}

.growth-strategy#strategy .mb20 {
    margin-bottom: 20px;
}

.growth-strategy#strategy .strategy-article-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy .strategy-article-body {
        display: block;
    }
}

.growth-strategy#strategy .strategy-article {
    position: relative;
    margin-bottom: 1.8vw;
    width: 290px;
    padding: 0;
    height: auto;
    background-color: #fff;
    border: 1px solid #dddddd;
}

@media screen and (max-width: 1200px) {
    .growth-strategy#strategy .strategy-article {
        width: 32%;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy .strategy-article {
        width: 100%;
        margin-right: 0;
        margin-bottom: 8vw;
    }
}

.growth-strategy#strategy .strategy-article-text {
    display: block;
    padding: 4vw 4vw 6.66667vw;
    height: auto;
}

.growth-strategy#strategy .strategy-article-text {
    padding: 10px 15px 35px;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy .strategy-article-text {
        display: block;
        padding: 4vw 4vw 6.66667vw;
        height: auto;
    }
}

.growth-strategy#strategy .ttl {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 4px;
}

.growth-strategy#strategy .view-more {
    position: absolute;
    bottom: 10px;
    right: 15px;
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy .view-more {
        position: relative;
        right: auto;
        bottom: auto;
        text-align: center;
        margin-top: 6.66667vw;
        margin-right: auto;
        margin-left: auto;
        width: 55.46667vw;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background-color: #fff;
        font-size: 16px;
        -webkit-transition: 0.5s;
        transition: 0.5s;
        -webkit-transition-property: color, background-color, border;
        transition-property: color, background-color, border;
        font-size: 4.26667vw;
    }
}

@media screen and (max-width: 767px) {
    .growth-strategy#strategy .view-more::after {
        position: absolute;
        top: 50%;
        right: 4.26667vw;
        width: 1.86667vw;
        height: 1.86667vw;
        background-image: url(../img/common/icon_arrow_right.svg);
        background-position: 0 0;
        background-size: 100%;
        background-repeat: no-repeat;
        content: "";
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

.growth-strategy#strategy .strategy-article-body .strategy-article:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 33.9%;
}


/*========================================================== */


/* ---------------------------------------------
*   役員紹介
--------------------------------------------- */

#officers .mod-h2__ttl {
    margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    #officers .mod-h2__ttl {
        margin-bottom: 2vw;
    }
}

@media screen and (max-width: 767px) {
    #officers .mod-h2__ttl {
        margin-bottom: 5vw;
    }
}

#officers .anchor-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 80px;
    font-size: 1.1em;
}

@media screen and (max-width: 767px) {
    #officers .anchor-link {
        display: block;
        font-size: 1em;
    }
}

#officers .anchor-link li {
    font-size: 1.2em;
    margin-right: 30px;
}

@media screen and (max-width: 767px) {
    #officers .anchor-link li {
        margin-right: 0;
    }
}

#officers .officers-content {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 1024px) {
    #officers .officers-content {
        display: block;
    }
}

@media screen and (max-width: 767px) {
    #officers .officers-content {
        display: block;
    }
}

#officers .officers-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 48%;
    margin-bottom: 20px;
}

#officers .officers-container:first-child {
    margin-right: 4%;
}

@media screen and (max-width: 1024px) {
    #officers .officers-container:first-child {
        margin-right: auto;
    }
}

@media screen and (max-width: 1024px) {
    #officers .officers-container {
        width: 70%;
        margin: 0 auto 20px;
    }
}

@media screen and (max-width: 767px) {
    #officers .officers-container {
        display: block;
        width: 100%;
        margin-bottom: 0;
    }
}

#officers .officers-list {
    display: block;
    width: 46%;
}

#officers .officers-list:first-child {
    margin-right: 8%;
}

@media screen and (max-width: 767px) {
    #officers .officers-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        margin-bottom: 20px;
    }
}

#officers .officers-image {
    margin-bottom: 6px;
}

@media screen and (max-width: 767px) {
    #officers .officers-image {
        width: 32%;
        margin-right: 8%;
        margin-bottom: 0;
    }
}

#officers .officers-image img {
    border: 1px solid #666666;
}

#officers .officers-txt {
    font-size: 1.1em;
}

@media screen and (max-width: 767px) {
    #officers .officers-txt {
        font-size: 1em;
        width: 60%;
    }
}

#officers .officers-txt .name {
    font-weight: bold;
    margin-bottom: 2px;
}

#officers .officers-txt .biography {
    color: #868686;
    font-size: 0.9em;
    text-decoration: underline;
    margin-top: 4px;
}

@media screen and (max-width: 767px) {
    #officers .officers-txt .biography {
        font-size: 0.8em;
    }
}

#officers .line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 1px;
    margin-bottom: 20px;
}

#officers .line .line-black {
    width: 50%;
    height: 1px;
    background-color: #181818;
}

#officers .line .line-gray {
    width: 50%;
    height: 1px;
    background-color: #dddddd;
}

#officers .line-ul {
    display: none;
}

@media screen and (max-width: 1024px) {
    #officers .line-ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

@media screen and (max-width: 767px) {
    #officers .line-ul {
        display: none;
    }
}

#officer .mod-h2__ttl {
    margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
    #officer .mod-h2__ttl {
        margin-bottom: 2vw;
    }
}

@media screen and (max-width: 767px) {
    #officer .mod-h2__ttl {
        margin-bottom: 5vw;
    }
}

#officer .update-date {
    margin-bottom: 80px;
    font-size: 1.1em;
}

@media screen and (max-width: 767px) {
    #officer .update-date {
        font-size: 1em;
    }
}

#officer .pagination {
    margin-top: 2em;
    border: 1px solid #dddddd;
    background-color: #fff;
    border-radius: 5px;
}

#officer .officer-pagination {
    text-align: center;
    padding: 1em 2em;
}

#officer .officer-pagination span {
    font-size: 1.3em;
}

@media screen and (max-width: 767px) {
    #officer .officer-pagination span {
        font-size: 1em;
    }
}

#officer .officer-pagination a {
    text-decoration: underline;
}

#officer .officer-img img {
    border: 1px solid #666666;
    width: 100%;
    margin-bottom: 10px;
}

#officer .officer-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 767px) {
    #officer .officer-container {
        display: block;
    }
}

#officer .officer-profile {
    width: 25%;
    margin-right: 10%;
}

@media screen and (max-width: 767px) {
    #officer .officer-profile {
        width: 65%;
        margin: 0 auto 30px;
    }
}

#officer .career-list {
    width: 65%;
}

@media screen and (max-width: 767px) {
    #officer .career-list {
        width: 100%;
    }
}

#officer .career-list ul {
    font-size: 1.1em;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    #officer .career-list ul {
        font-size: 1em;
    }
}

#officer .career-list ul li:first-child {
    width: 30%;
}

@media screen and (max-width: 767px) {
    #officer .career-list ul li:first-child {
        margin-right: 2%;
    }
}

#officer .career-list ul li:nth-child(2) {
    width: 70%;
}

@media screen and (max-width: 767px) {
    #officer .career-list ul li:nth-child(2) {
        width: 68%;
    }
}

#officer .career-list p {
    font-size: 1.1em;
    text-align: right;
}

@media screen and (max-width: 767px) {
    #officer .career-list p {
        font-size: 1em;
    }
}

#officer .career {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#officer .officer-name .name {
    font-size: 1.2em;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    #officer .officer-name .name {
        font-size: 1em;
    }
}

#officer .officer-name .ruby {
    font-size: 0.9em;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    #officer .officer-name .ruby {
        font-size: 0.8em;
    }
}

#officer .officer-name .company {
    font-size: 1em;
}

@media screen and (max-width: 767px) {
    #officer .officer-name .company {
        font-size: 0.9em;
    }
}

#officer .officer-name .position {
    font-size: 1em;
}

@media screen and (max-width: 767px) {
    #officer .officer-name .position {
        font-size: 0.9em;
    }
}

#officer .officer-name .mb0 {
    margin-bottom: 0;
}

#officer .officer-name .mb10 {
    margin-bottom: 10px;
}


/* ---------------------------------------------
*   スマホのみスクロール
--------------------------------------------- */

.scroll-skillmatrix {
    overflow-x: visible;
}

@media screen and (max-width: 767px) {
    .scroll-skillmatrix {
        overflow-x: scroll;
    }
}

.skill-matrix {
    display: block;
}

@media screen and (max-width: 767px) {
    .skill-matrix {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 1200px;
    }
}

.skill-matrix img {
    max-width: 99px;
    max-height: 104px;
}

@media screen and (max-width: 767px) {
    .skill-matrix img {
        max-width: 100px;
        max-height: 116px;
    }
}

.skill-nowrap {
    white-space: normal;
}

@media screen and (max-width: 767px) {
    .skill-nowrap {
        white-space: nowrap;
    }
}


/* ---------------------------------------------
*   PC,スマホ両スクロール
--------------------------------------------- */

.mod-change-table.scroll-pc-tb table {
    width: 260%;
    font-size: 13px;
}

@media screen and (max-width: 767px) {
    .mod-change-table.scroll-pc-tb table {
        width: 100%;
        font-size: 8px;
    }
}

.scroll-skillmatrix.scroll-pc {
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
}

th.td-skillmap-th {
    background-color: #ccc;
    text-align: center !important;
    font-weight: bold;
    vertical-align: top;
}

@media screen and (max-width: 640px) {
    th.td-skillmap-th {
        width: 240px !important;
    }
}


/* ---------------------------------------------
*   スキル名固定
--------------------------------------------- */

.skill-fixed {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
}

.skill-fixed:before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
}

.skill-fixed-posiyear {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    color: #fff;
    background-color: #615d5d;
}

.skill-fixed-posiyear:before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
}

.skill-posiyear {
    color: #fff;
    background-color: #615d5d;
    text-align: center;
}


/* ---------------------------------------------
*   同ページ内アンカーリンク飛び先ズレ調整
--------------------------------------------- */

h4[id^="ancmp"] {
    display: block;
    padding-top: 100px !important;
    margin-top: -70px !important;
}


/*========================================================== */


/* ---------------------------------------------
*   検索結果
--------------------------------------------- */

.search-result .header-search-form {
    display: block;
}

.search-result .contents {
    background-color: #f8f8f8;
    background-image: url(../img/common/bg_figure.svg), url(../img/common/bg_figure.svg);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: top -36vw right -30%, bottom -23vw left -40%;
}

@media screen and (max-width: 1200px) {
    .search-result .contents {
        background-size: 70%;
        background-position: top -45vw right -120%, bottom -45vw left -120%;
    }
    .search-result .contents.hide-bg-bottom {
        background-image: url(../img/common/bg_figure.svg);
        background-position: top -45vw right -120%;
    }
}

@media screen and (max-width: 767px) {
    .search-result .contents {
        background-size: 190%;
        background-position: top -115vw right 140%, bottom -115vw left 145%;
    }
    .search-result .contents.hide-bg-bottom {
        background-image: url(../img/common/bg_figure.svg);
        background-position: top -115vw right 140%;
    }
}

.search-result .contents .main {
    padding-top: 156px;
}

@media screen and (max-width: 1200px) {
    .search-result .contents .main {
        padding-top: 16.45333vw;
    }
}

@media screen and (max-width: 767px) {
    .search-result .contents .main {
        position: relative;
        padding-top: 70vw;
    }
}

.search-result .contents .main .sp-search {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    padding: 8vw;
}

.search-result .contents .main .search-category-list__select {
    position: relative;
    width: 100%;
    padding: 0 5.33333vw;
    font-size: 16px;
    font-weight: bold;
    border: 1px solid #ddd;
    border-radius: 5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: none;
    height: 12vw;
    background: #fff url(../img/common/icon_arrow_bottom.svg) no-repeat right 5.33333vw top 50%/2.13333vw 2.13333vw;
}

.ie .search-result .contents .main .search-category-list__select {
    padding: 0 0 0 5.33333vw;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main .search-category-list__select {
        display: block;
    }
}

.search-result .contents .main #searchCount {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .en #searchCount {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.search-result .contents .main .count-result {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 12px;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main .count-result {
        font-size: 3.2vw;
    }
}

.search-result .contents .main .count-result::before {
    width: 50px;
    height: 1px;
    margin: 0 0.7em;
    background-color: #181818;
    content: "";
    display: block;
}

@media screen and (max-width: 1200px) {
    .search-result .contents .main .count-result::before {
        width: 4.16667vw;
    }
}

@media screen and (max-width: 767px) {
    .search-result .contents .main .count-result::before {
        width: 5.33333vw;
        margin: 0 3vw;
    }
}

.en .count-result .count {
    margin-right: 0.5em;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main .count-result .count {
        font-size: 3.2vw;
    }
}

.search-result .contents .main .search-category-list__tab {
    position: relative;
    border: 1px solid #ddd;
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 46px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main .search-category-list__tab {
        display: none;
    }
}

.search-result .contents .main .search-category-list__tab li.current button {
    text-shadow: 1px 0 #222;
}

.search-result .contents .main .search-category-list__tab li button {
    -webkit-transition: 0.2s;
    transition: 0.2s;
    padding: 1em 2em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    background: none;
    border: none;
    height: 100%;
    font-size: 16px;
}

@media screen and (max-width: 1200px) {
    .search-result .contents .main .search-category-list__tab li button {
        padding: 1.2em 0;
    }
}

.search-result .contents .main .search-category-list__tab li button:hover {
    cursor: pointer;
    text-shadow: 1px 0 #222;
}

.search-result .contents .main .search-category-list__tab li button:active {
    color: inherit;
}

.search-result .contents .main #result {
    position: relative;
}

.search-result .contents .main #result li {
    margin-bottom: 46px;
}

@media screen and (max-width: 1200px) {
    .search-result .contents .main #result li {
        margin-bottom: 3.83333vw;
    }
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li {
        margin-bottom: 9.6vw;
    }
}

.search-result .contents .main #result li a {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 30px;
    border-bottom-right-radius: 40px;
    background-color: #fff;
}

@media screen and (max-width: 1200px) {
    .search-result .contents .main #result li a {
        padding: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a {
        padding: 8vw 2.66667vw 7.46667vw 2.66667vw;
        border-bottom-right-radius: 10.66667vw;
    }
}

.search-result .contents .main #result li a:hover::before {
    background-color: #181818;
}

.search-result .contents .main #result li a::before {
    position: absolute;
    top: 0;
    top: 4px;
    left: 0;
    left: 4px;
    z-index: -1;
    width: 100%;
    height: 100%;
    border-bottom-right-radius: 44px;
    content: "";
    -webkit-transition: background-color 0.5s;
    transition: background-color 0.5s;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a::before {
        top: 1.06667vw;
        left: 1.06667vw;
        border-bottom-right-radius: 11.73333vw;
    }
}

.search-result .contents .main #result li a::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-bottom-right-radius: 100%;
    background-color: #404040;
    content: "";
}

@media screen and (max-width: 1200px) {
    .search-result .contents .main #result li a::after {
        width: 2.5vw;
        height: 2.5vw;
    }
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a::after {
        width: 5.33333vw;
        height: 5.33333vw;
    }
}

.search-result .contents .main #result li a .txt .category {
    font-size: 12px;
    margin-bottom: 1em;
    padding-left: 20px;
}

.search-result .contents .main #result li a .txt .category.company {
    background: url(../img/common/icon_company.svg) no-repeat 0 65%;
    background-size: 1em;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a .txt .category.company {
        background-size: 2.4vw;
    }
}

.search-result .contents .main #result li a .txt .category.pr {
    background: url(../img/common/icon_pr.svg) no-repeat 0 65%;
    background-size: 1em;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a .txt .category.pr {
        background-size: 2.4vw;
    }
}

.search-result .contents .main #result li a .txt .category.ir {
    background: url(../img/common/icon_ir.svg) no-repeat 0 65%;
    background-size: 1em;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a .txt .category.ir {
        background-size: 2.4vw;
    }
}

.search-result .contents .main #result li a .txt .category.sustainability {
    background: url(../img/common/icon_sustainability.svg) no-repeat 0 65%;
    background-size: 1em;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a .txt .category.sustainability {
        background-size: 2.4vw;
        padding: 0 0 0 4.2vw;
    }
}

@media screen and (max-width: 1200px) {
    .search-result .contents .main #result li a .txt .category {
        margin-bottom: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a .txt .category {
        padding-left: 4.2vw;
        font-size: 3.2vw;
    }
}

.search-result .contents .main #result li a .txt .title {
    font-size: 18px;
    margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a .txt .title {
        margin-bottom: 5.06667vw;
        font-size: 3.73333vw;
    }
}

.search-result .contents .main #result li a .txt .date {
    color: #787878;
    letter-spacing: 0.1em;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
}

@media screen and (max-width: 767px) {
    .search-result .contents .main #result li a .txt .date {
        font-size: 3.2vw;
    }
}

.search-result .contents .main #result-note {
    font-size: 18px;
}

.search-result .contents .main #result-note #ysrch-link .mod-txt-link {
    line-height: 1.1;
}

.search-result .contents .main #result-note #ysrch-link strong {
    font-weight: bold;
}

.search-result .contents .main #view-more {
    text-align: center;
    display: none;
}

.search-result .contents .main #view-more>* {
    padding: 17px 0;
}

.search-result .contents .main #view-more>*:hover {
    cursor: pointer;
    outline: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.search-result .contents .main #view-more .mod-btn__link--index::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    margin-top: -3px;
}

.special-wrapper {
    width: 100%;
    overflow: hidden;
}

.special-wrapper * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.special-header {
    border-bottom: 1px solid #ddd;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
}

@media screen and (max-width: 768px) {
    .special-header {
        max-width: 100%;
    }
}

.special-header__logo {
    width: 10.25vw;
    max-width: 140px;
    display: inline-block;
    vertical-align: middle;
}

.special-header__logo:hover {
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
    .special-header__logo {
        width: 37.4vw;
        text-align: center;
    }
    .special-header__logo img {
        vertical-align: middle;
    }
}

.special-header__inner {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 78px;
    position: relative;
    padding: 0 8% 0 3.66%;
    max-width: 1365px;
}

@media screen and (max-width: 768px) {
    .special-header__inner {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 60px;
        padding: 0;
    }
}

.special-header__lang {
    width: 45px;
    height: 32px;
    border: 1px solid #ddd;
    position: absolute;
    right: 3.66%;
    border-radius: 10px 10px 10px 0;
    font-size: 10px;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .special-header__lang {
        width: 35px;
        height: 27px;
        font-size: 10px;
        right: 5.3%;
    }
}

.special-footer {
    background: #fff;
    width: 100%;
    max-width: 1365px;
    padding: 50px 13.9% 30px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .special-footer {
        max-width: 100%;
        padding: 6vw 5.3vw 1vw;
        border-top: 1px solid #ddd;
    }
}

.special-footer__inner {
    position: relative;
}

.special-footer__sns {
    position: absolute;
    right: 0;
    bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .special-footer__sns {
        position: static;
    }
}

.special-footer__sns a:hover {
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
    .special-footer__sns a {
        display: block;
        height: 6.66vw;
    }
    .special-footer__sns a img {
        height: 100%;
        width: auto;
    }
}

.special-footer__sns li:nth-child(n+2) {
    margin-left: 30px;
}

.special-footer__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 768px) {
    .special-footer__items {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

.special-footer__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 60px;
}

@media screen and (max-width: 1365px) {
    .special-footer__links {
        margin-left: 4.4vw;
    }
}

@media screen and (max-width: 768px) {
    .special-footer__links {
        margin: 8vw 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .special-footer__links {
        display: block;
        text-align: center;
    }
}

.special-footer__link {
    font-size: 14px;
    display: inline-block;
    border-bottom: 1px solid #ddd;
    padding: 0 28px 10px 0;
    line-height: 1;
    position: relative;
}

.special-footer__link:nth-child(n+2) {
    margin-left: 50px;
}

@media screen and (max-width: 1365px) {
    .special-footer__link:nth-child(n+2) {
        margin-left: 3vw;
    }
}

@media screen and (max-width: 768px) {
    .special-footer__link:nth-child(n+2) {
        margin: 3vw 0;
    }
}

@media screen and (max-width: 1365px) {
    .special-footer__link {
        font-size: 1vw;
    }
}

@media screen and (max-width: 768px) {
    .special-footer__link {
        font-size: 3.46vw;
        padding: 0 6.6vw 6px 0;
        margin: 3vw auto;
    }
}

.special-footer__link:hover {
    opacity: 0.8;
}

.special-footer__link::after {
    content: '＞';
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
}

@media screen and (max-width: 1365px) {
    .special-footer__link::after {
        font-size: 1vw;
    }
}

@media screen and (max-width: 768px) {
    .special-footer__link::after {
        font-size: 3.46vw;
    }
}

.special-footer__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 8.6vw;
    max-width: 117px;
}

@media screen and (max-width: 768px) {
    .special-footer__logo {
        width: 31.2vw;
        max-width: 100%;
        margin: 0 auto;
    }
}

.special-footer__logo img {
    width: 100%;
    height: auto;
}

.special-footer__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.special-footer__copy {
    width: 100%;
    display: block;
    margin-top: 15px;
    color: #787878;
    font-size: 10px;
    font-family: 'Josefin Sans', sans-serif;
}

@media screen and (max-width: 768px) {
    .special-footer__copy {
        font-size: 2.6vw;
        text-align: center;
        margin-top: 4vw;
    }
}

.special-container {
    padding-top: 78px;
    padding-bottom: 80px;
    opacity: 0;
    -webkit-animation: fadeIn 2s ease 1 forwards;
    animation: fadeIn 2s ease 1 forwards;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
}

@media screen and (max-width: 768px) {
    .special-container {
        padding-top: 60px;
        padding-bottom: 20vw;
    }
}

.special-button {
    display: inline-block;
    background: #a6a6a6;
    color: #fff;
    font-size: 18px;
    text-align: center;
    width: 19.7vw;
    max-width: 270px;
    padding: 20px 1em;
    -webkit-box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
    -webkit-transition: .4s;
    transition: .4s;
}

@media screen and (max-width: 1365px) {
    .special-button {
        font-size: 1.3vw;
        padding: 1.5vw 1em;
    }
}

@media screen and (max-width: 768px) {
    .special-button {
        font-size: 4.8vw;
        width: 100%;
        max-width: 100%;
        padding: 4.5vw 1em;
    }
}

.special-button.is-disabled {
    pointer-events: none;
}

.special-button:not(.is-disabled):hover {
    background: #000;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.special-heading-01 {
    font-size: 48px;
    font-weight: bold;
    position: relative;
    text-align: center;
    margin-top: 75px;
    padding-bottom: 20px;
    padding-left: 1em;
    padding-right: 1em;
}

.special-heading-01--s {
    font-size: 36px;
    border-bottom: 1px solid #e3e3e3;
    margin-bottom: 72px;
}

@media screen and (max-width: 1365px) {
    .special-heading-01--s {
        margin-bottom: 5.27vw;
    }
}

@media screen and (max-width: 768px) {
    .special-heading-01--s {
        font-size: 5.3vw;
        margin-bottom: 6.6vw;
    }
}

@media screen and (max-width: 768px) {
    .special-heading-01 {
        font-size: 6.4vw;
        padding-bottom: 15px;
        margin-top: 40px;
    }
}

.special-heading-01::after {
    content: '';
    display: block;
    width: 70px;
    height: 9px;
    border-bottom: 9px solid #000;
    bottom: 0;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
    .special-heading-01::after {
        width: 35px;
        height: 4px;
        border-width: 5px;
    }
}

.special-heading-02 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    padding-left: 23px;
}

@media screen and (max-width: 768px) {
    .special-heading-02 {
        font-size: 3.73vw;
        margin-bottom: 3vw;
        padding-left: 4vw;
    }
}

.special-heading-02::before {
    content: '';
    display: block;
    width: 12px;
    height: 18px;
    background: #acaa95;
    position: absolute;
    top: 4px;
    left: 0;
}

@media screen and (max-width: 768px) {
    .special-heading-02::before {
        top: 1.5vw;
        width: 2vw;
        height: 2.8vw;
    }
}

.special-heading-02::after {
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    background: #000;
    position: absolute;
    top: 4px;
    left: 0;
}

@media screen and (max-width: 768px) {
    .special-heading-02::after {
        top: 1.5vw;
        width: 1vw;
        height: 1vw;
    }
}

.special-heading-03 {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
    .special-heading-03 {
        font-size: 5.3vw;
        margin-bottom: 10vw;
    }
}

.special-message-container {
    max-width: 1365px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .special-message-container {
        max-width: 100%;
    }
}

.special-message+.special-message {
    margin-top: 150px;
}

@media screen and (max-width: 768px) {
    .special-message+.special-message {
        margin-top: 80px;
    }
}

.special-message-kv {
    width: 100%;
    position: relative;
}

.special-message-kv__textarea {
    position: absolute;
    top: 110px;
}

@media screen and (max-width: 1365px) {
    .special-message-kv__textarea {
        top: 8vw;
    }
}

@media screen and (max-width: 768px) {
    .special-message-kv__textarea {
        top: 16vw;
    }
}

.special-message-kv-01 .special-message-kv__textarea {
    left: 18.1%;
}

@media screen and (max-width: 768px) {
    .special-message-kv-01 .special-message-kv__textarea {
        left: 5.3%;
    }
}

.special-message-kv-02 .special-message-kv__textarea {
    left: 56.7%;
}

@media screen and (max-width: 768px) {
    .special-message-kv-02 .special-message-kv__textarea {
        left: auto;
        right: 5.3%;
    }
}

.special-message-kv__head {
    font-size: 36px;
    font-weight: bold;
    line-height: 1.75;
}

@media screen and (max-width: 1365px) {
    .special-message-kv__head {
        font-size: 2.2vw;
    }
}

@media screen and (max-width: 768px) {
    .special-message-kv__head {
        font-size: 4vw;
    }
    .special-message-kv-02 .special-message-kv__head {
        text-align: right;
    }
}

.special-message-kv__text {
    font-size: 24px;
    font-weight: bold;
    padding-left: 18px;
    border-left: 2px solid #000;
    margin-top: 87px;
}

@media screen and (max-width: 1365px) {
    .special-message-kv__text {
        font-size: 1.75vw;
        margin-top: 6.4vw;
    }
}

@media screen and (max-width: 768px) {
    .special-message-kv__text {
        font-size: 3vw;
        padding-left: 10px;
    }
    .special-message-kv-02 .special-message-kv__text {
        text-align: right;
        padding-left: 0;
        padding-right: 10px;
        border-left: 0;
        border-right: 2px solid #000;
    }
}

.special-message-kv__text span {
    font-size: 14px;
    display: block;
}

@media screen and (max-width: 1365px) {
    .special-message-kv__text span {
        font-size: 1vw;
    }
}

@media screen and (max-width: 768px) {
    .special-message-kv__text span {
        font-size: 2vw;
    }
}

.special-message-block {
    width: 71.94%;
    max-width: 982px;
    background: rgba(255, 255, 255, 0.8);
    padding: 50px 5.8%;
    position: relative;
    z-index: 2;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .special-message-block {
        width: 89.4%;
        max-width: 89.4%;
        padding: 6.6vw;
    }
}

.special-message-kv+.special-message-block {
    margin-top: -135px;
}

@media screen and (max-width: 1365px) {
    .special-message-kv+.special-message-block {
        margin-top: -9.8vw;
    }
}

@media screen and (max-width: 768px) {
    .special-message-kv+.special-message-block {
        margin-top: -32vw;
    }
}

.special-message-section+.special-message-section {
    margin-top: 90px;
}

@media screen and (max-width: 768px) {
    .special-message-section+.special-message-section {
        margin-top: 70px;
    }
}

.special-message-lead {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
    .special-message-lead {
        font-size: 4vw;
        margin-bottom: 15px;
    }
}

.special-message-text {
    font-size: 14px;
    line-height: 1.75;
}

.special-message-text+.special-message-text {
    margin-top: 1.5em;
}

@media screen and (max-width: 768px) {
    .special-message-text {
        font-size: 3.4vw;
    }
}

.special-overview-section {
    max-width: 1365px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .special-overview-section {
        max-width: 100%;
    }
}

.special-overview-section+.special-overview-section {
    margin-top: 117px;
}

@media screen and (max-width: 1365px) {
    .special-overview-section+.special-overview-section {
        margin-top: 8.5vw;
    }
}

@media screen and (max-width: 768px) {
    .special-overview-section+.special-overview-section {
        margin-top: 18vw;
    }
}

.special-overview-inner {
    width: 86.4%;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .special-overview-inner {
        width: 86.7%;
    }
}

.special-overview-inner--wide {
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .special-overview-inner--wide {
        width: 100%;
    }
}

.special-overview-kv {
    background: #fff;
    border-top: 4px solid #ff0033;
    border-bottom: 4px solid #00c100;
    width: 100%;
    overflow: hidden;
}

.special-overview-kv img {
    display: block;
    width: 90vw;
    max-width: 1365px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .special-overview-kv img {
        max-width: 100%;
    }
}

.special-overview-text {
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    .special-overview-text {
        font-size: 3.4vw;
    }
}

.special-overview-text--s {
    width: 57.14%;
    margin: 100px auto 20px;
}

@media screen and (max-width: 1365px) {
    .special-overview-text--s {
        margin: 7.3vw auto 2vw;
    }
}

@media screen and (max-width: 768px) {
    .special-overview-text--s {
        width: 86.6%;
        margin: 7.7vw auto;
    }
}

.special-overview-note {
    font-size: 14px;
    text-align: center;
    margin: 30px auto 20px;
}

.special-overview-note__inner {
    display: inline-block;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .special-overview-note {
        font-size: 3.4vw;
        margin: 8vw auto;
        max-width: 100%;
    }
}

.special-overview-note__item+.special-overview-note__item {
    margin-top: 0.6em;
}

.special-overview-figure {
    margin: 75px auto;
}

.special-overview-figure img {
    width: 100%;
}

@media screen and (max-width: 1365px) {
    .special-overview-figure {
        margin: 5.4vw auto;
    }
}

@media screen and (max-width: 768px) {
    .special-overview-figure {
        width: 100%;
        margin: 6vw auto;
    }
}

.special-overview-figure--system {
    padding: 0 8.4% 0 17%;
}

@media screen and (max-width: 768px) {
    .special-overview-figure--system {
        padding: 0;
    }
}

.special-overview-row {
    margin-top: 65px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 1365px) {
    .special-overview-row {
        margin-top: 4.76vw;
    }
}

@media screen and (max-width: 768px) {
    .special-overview-row {
        margin-top: 7vw;
        display: block;
    }
}

.special-overview-col {
    width: 49%;
}

@media screen and (max-width: 768px) {
    .special-overview-col {
        width: 100%;
    }
}

.special-overview-col--wide {
    width: 100%;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .special-overview-col--wide {
        margin-bottom: 1.46vw;
    }
}

.special-overview-subhead {
    background: #000;
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    padding: 10px 36px;
    margin-bottom: 40px;
}

@media screen and (max-width: 1365px) {
    .special-overview-subhead {
        font-size: 1.7vw;
        margin-bottom: 3vw;
    }
}

@media screen and (max-width: 768px) {
    .special-overview-subhead {
        font-size: 4vw;
        padding: 2.4vw 6.6vw;
        margin-bottom: 9.3vw;
    }
}

.special-overview-graph {
    width: 86%;
    margin: 50px auto;
}

.special-overview-col-wide .special-overview-graph {
    width: 96.6%;
}

@media screen and (max-width: 1365px) {
    .special-overview-graph {
        margin: 3.6vw auto;
    }
}

@media screen and (max-width: 768px) {
    .special-overview-graph {
        margin: 9.3vw auto 13vw;
        width: 100%;
    }
}

.special-index-container {
    padding-bottom: 0;
}

@media screen and (max-width: 768px) {
    .special-index-container {
        padding-bottom: 0;
    }
}

.special-index-movie-thumb {
    display: block;
    position: relative;
}

.special-index-movie-thumb:hover {
    opacity: 0.8;
}

.special-index-movie-thumb::before {
    content: '';
    display: block;
    background: url(../img/special/icon_movie_play.png) no-repeat;
    position: absolute;
    background-size: contain;
    width: 12%;
    height: 0;
    padding-bottom: 12%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.special-index-movie-thumb--2::before {
    background-image: url(../img/special/icon_movie_play_02.png);
}

.special-index-kv {
    background: -webkit-gradient(linear, left top, right top, from(#d7d6d2), to(#c6c5bf));
    background: linear-gradient(to right, #d7d6d2 0%, #c6c5bf 100%);
    width: 100%;
    overflow: hidden;
}

.special-index-kv img {
    display: block;
    width: 90vw;
    max-width: 1365px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .special-index-kv img {
        max-width: 100%;
    }
}

.special-index-message {
    margin-bottom: 120px;
}

@media screen and (max-width: 1365px) {
    .special-index-message {
        margin-bottom: 9vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message {
        margin-bottom: 40vw;
    }
}

.special-index-message__kv {
    width: 100%;
    max-width: 1365px;
    min-height: 600px;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width: 1365px) {
    .special-index-message__kv {
        min-height: 44vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__kv {
        max-width: 100%;
        min-height: 0;
    }
}

.special-index-message__image {
    position: absolute;
    z-index: 1;
    width: 100%;
    top: 0;
    left: 0;
}

@media screen and (max-width: 768px) {
    .special-index-message__image {
        position: static;
    }
}

.special-index-message__textarea {
    width: 34.87%;
    position: relative;
    margin-left: 8.4%;
    top: 55px;
    background: rgba(255, 255, 255, 0.7);
    padding: 75px 55px 35px;
    z-index: 2;
}

@media screen and (max-width: 1365px) {
    .special-index-message__textarea {
        top: 4vw;
        padding: 6vw 4vw 2.5vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__textarea {
        position: relative;
        z-index: 2;
        top: 0;
        left: 0;
        margin: -27.7vw auto;
        width: 88.8%;
        padding: 8vw 8.5vw;
    }
}

.special-index-message__textarea--comingsoon {
    padding-bottom: 90px;
    top: 102px;
}

@media screen and (max-width: 1365px) {
    .special-index-message__textarea--comingsoon {
        padding-bottom: 6.5vw;
        top: 7.4vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__textarea--comingsoon {
        position: relative;
        z-index: 2;
        top: 0;
        left: 0;
        margin: -27.7vw auto;
        width: 88.8%;
        padding: 8vw 8.5vw;
    }
}

.special-index-message__textarea--comingsoon .special-index-message__button {
    position: absolute;
    left: 50%;
    bottom: 20px;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
}

@media screen and (max-width: 768px) {
    .special-index-message__textarea--comingsoon .special-index-message__button {
        position: static;
        -webkit-transform: translate(0);
        transform: translate(0);
    }
}

.special-index-message__head {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
}

@media screen and (max-width: 1365px) {
    .special-index-message__head {
        font-size: 1.7vw;
        margin-bottom: 2vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__head {
        font-size: 4.8vw;
        margin-bottom: 6.6vw;
    }
}

.special-index-message__text {
    font-size: 14px;
    line-height: 1.75;
}

@media screen and (max-width: 1365px) {
    .special-index-message__text {
        font-size: 1vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__text {
        font-size: 3.4vw;
    }
}

.special-index-message__name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin: 60px 25px 0 0;
}

@media screen and (max-width: 1365px) {
    .special-index-message__name {
        margin: 4.3vw 0 0 0;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__name {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-top: 6.6vw;
    }
}

.special-index-message__name-item {
    font-size: 14px;
    margin-left: 40px;
    border-left: 1px solid #acaa95;
    padding-left: 12px;
}

@media screen and (max-width: 1365px) {
    .special-index-message__name-item {
        font-size: 1vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__name-item {
        font-size: 3.7vw;
        border: none;
        margin: 0;
        padding: 0;
    }
    .special-index-message__name-item:nth-child(1) {
        margin-right: 18vw;
    }
}

.special-index-message__name-item span {
    display: block;
    font-size: 12px;
    margin-bottom: .5em;
}

@media screen and (max-width: 1365px) {
    .special-index-message__name-item span {
        font-size: 10px;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__name-item span {
        font-size: 3.4vw;
    }
}

.special-index-message__button {
    margin: 85px auto 0;
    text-align: center;
}

@media screen and (max-width: 1365px) {
    .special-index-message__button {
        margin-top: 6.2vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-message__button {
        margin-top: 11.4vw;
    }
}

.special-index-agenda {
    background: #f1f1ef;
    padding: 50px 0 42px;
    margin: 0 auto 135px;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) {
    .special-index-agenda {
        padding: 9.3vw 0 8vw;
        margin-bottom: 10vw;
    }
}

.special-index-agenda__bg {
    display: block;
    width: 27.9vw;
    max-width: 382px;
    position: absolute;
    top: 0;
    right: 1.75vw;
}

@media screen and (max-width: 768px) {
    .special-index-agenda__bg {
        width: 51.3vw;
        right: 0;
    }
}

.special-index-agenda__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .special-index-agenda__inner {
        display: block;
        max-width: 100%;
    }
}

.special-index-agenda__image {
    width: 32.67vw;
    max-width: 446px;
}

@media screen and (max-width: 768px) {
    .special-index-agenda__image {
        width: 40vw;
        margin: 0 0 0 31.86vw;
    }
}

.special-index-agenda__textarea {
    text-align: center;
    max-width: 300px;
    width: 22vw;
}

@media screen and (max-width: 768px) {
    .special-index-agenda__textarea {
        width: 88.8%;
        max-width: 88.8%;
        margin: 8.6vw auto 0;
    }
}

.special-index-agenda__textarea-inner {
    margin-left: -134px;
    z-index: 2;
}

@media screen and (max-width: 1365px) {
    .special-index-agenda__textarea-inner {
        margin-left: -5vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-agenda__textarea-inner {
        margin-left: 0;
    }
}

.special-index-agenda__head {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    border-bottom: 2px solid #000;
    padding-bottom: 5px;
    margin-bottom: 20px;
}

@media screen and (max-width: 1365px) {
    .special-index-agenda__head {
        font-size: 1.75vw;
        margin-bottom: 1.46vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-agenda__head {
        font-size: 4vw;
        margin-bottom: 5.3vw;
    }
}

.special-index-agenda__text {
    font-size: 21px;
    line-height: 1.7;
    font-weight: bold;
}

@media screen and (max-width: 1365px) {
    .special-index-agenda__text {
        font-size: 1.5vw;
    }
}

@media screen and (max-width: 768px) {
    .special-index-agenda__text {
        font-size: 3.6vw;
    }
}

.special-index-agenda__button {
    margin-top: 30px;
}

@media screen and (max-width: 768px) {
    .special-index-agenda__button {
        width: 40vw;
        margin: 5.3vw auto 0;
    }
}

.special-index-vision {
    max-width: 1080px;
    width: 79%;
    margin: 0 auto 130px;
    position: relative;
}

@media screen and (max-width: 768px) {
    .special-index-vision {
        max-width: 100%;
        width: 88.8%;
        margin: 0 auto 16.8vw;
    }
}

.special-index-vision__inner {
    position: relative;
    margin-right: -45px;
}

@media screen and (max-width: 768px) {
    .special-index-vision__inner {
        margin: 0;
    }
}

.special-index-vision__inner::before {
    content: '';
    display: block;
    width: 85.18%;
    height: 100%;
    background: #f1f1ef;
    position: absolute;
    z-index: -1;
    top: 30px;
    right: -20px;
}

@media screen and (max-width: 768px) {
    .special-index-vision__inner::before {
        width: 76%;
        top: 4vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

.special-index-vision__head {
    text-align: right;
    padding-right: 50px;
}

@media screen and (max-width: 768px) {
    .special-index-vision__head {
        padding: 0;
        text-align: center;
    }
}

.special-index-vision__text {
    font-size: 14px;
    line-height: 1.75;
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .special-index-vision__text {
        font-size: 3.4vw;
        margin-top: 8vw;
    }
}

.special-index-vision__movie {
    margin: 20px auto;
}

@media screen and (max-width: 768px) {
    .special-index-vision__movie {
        margin: 8vw auto;
    }
}

.special-index-vision__section {
    margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
    .special-index-vision__section {
        margin-bottom: 8vw;
    }
}

.special-index-vision__section--s {
    width: 90%;
}

@media screen and (max-width: 768px) {
    .special-index-vision__section--s {
        width: 100%;
    }
}

.special-index-vision__ad {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 130px;
}

@media screen and (max-width: 768px) {
    .special-index-vision__ad {
        margin-bottom: 21vw;
    }
}

.special-index-vision__ad-item:nth-child(1) {
    width: 64%;
}

.special-index-vision__ad-item:nth-child(2) {
    width: 32%;
}

.special-index-vision__ad-text {
    font-size: 14px;
    margin: 10px 0;
}

@media screen and (max-width: 768px) {
    .special-index-vision__ad-text {
        font-size: 3.4vw;
    }
}

.special-index-vision__movies {
    width: 72%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 768px) {
    .special-index-vision__movies {
        width: 100%;
    }
}

.special-index-vision__movie-item {
    width: 48%;
}

.special-index-vision__movie-item:nth-child(2n) {
    margin-left: 4%;
}

.special-index-vision__movie-item:nth-child(n+3) {
    margin-top: 20px;
}

.special-index-vision__movie-text {
    margin-top: 10px;
    font-size: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.special-index-vision__movie-text>span:not(.special-index-vision__movie-label) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

@media screen and (max-width: 768px) {
    .special-index-vision__movie-text {
        font-size: 3.4vw;
    }
}

.special-index-vision__movie-label {
    font-size: 12px;
    line-height: 1;
    background: #000;
    color: #fff;
    text-align: center;
    padding: 4px 10px;
    display: inline-block;
    margin-right: 10px;
}

@media screen and (max-width: 768px) {
    .special-index-vision__movie-label {
        font-size: 2.6vw;
        padding: 5px 9px;
    }
}

.special-index-overview {
    width: 100%;
    position: relative;
    margin: 200px auto 135px;
}

@media screen and (max-width: 768px) {
    .special-index-overview {
        margin: 18vw auto 15vw;
    }
}

.special-index-overview::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #f1f1ef;
    position: absolute;
    top: -60px;
    left: 0;
}

@media screen and (max-width: 768px) {
    .special-index-overview::before {
        top: -8.8vw;
        height: 90%;
    }
}

.special-index-overview__inner {
    max-width: 1090px;
    width: 79.8%;
    background: #fff;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    padding: 35px 5% 70px 6.4%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
    .special-index-overview__inner {
        max-width: 100%;
        width: 88.8%;
        padding: 19vw 5.3vw 14.5vw;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

.special-index-overview__head {
    display: inline-block;
    font-size: 32px;
    font-weight: bold;
    color: #fff;
    background: #00c100;
    border-radius: 0 0 57px 0;
    padding: 25px 80px 25px 30px;
    position: absolute;
    top: 40px;
    left: -58px;
}

@media screen and (max-width: 768px) {
    .special-index-overview__head {
        font-size: 5.3vw;
        padding: 4vw 13vw 4vw 5.6vw;
        top: -4.9vw;
        left: -5.6vw;
        border-radius: 0 0 7.5vw 0;
    }
}

.special-index-overview__image {
    width: 62%;
}

@media screen and (max-width: 768px) {
    .special-index-overview__image {
        width: 100%;
    }
}

.special-index-overview__button {
    padding-bottom: 15px;
}

@media screen and (max-width: 768px) {
    .special-index-overview__button {
        width: 71.8vw;
        margin-top: 12.6vw;
        padding: 0;
    }
}

.special-index-news {
    max-width: 1090px;
    width: 79.8%;
    position: relative;
    z-index: 2;
    margin: 0 auto 118px;
    padding-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .special-index-news {
        max-width: 100%;
        width: 88.8%;
        margin-bottom: 26.6vw;
    }
}

.special-index-news::before {
    content: '';
    display: block;
    width: 21.28%;
    height: 100%;
    background: #f1f1ef;
    position: absolute;
    z-index: -1;
    left: 25px;
    top: 25px;
}

@media screen and (max-width: 768px) {
    .special-index-news::before {
        width: 30vw;
        left: 2vw;
        top: 3vw;
    }
}

.special-index-news__list {
    padding: 0 7.3% 0 13%;
}

@media screen and (max-width: 768px) {
    .special-index-news__list {
        padding: 0 0 0 4.6vw;
    }
}

.special-index-news__item {
    width: 100%;
    margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
    .special-index-news__item {
        margin-bottom: 6.6vw;
    }
}

.special-index-news__item a {
    display: block;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    position: relative;
}

.special-index-news__item a:hover::before {
    background: #000;
    border-color: #000;
}

.special-index-news__item a:hover .special-index-news__year {
    color: #000;
}

.special-index-news__item a:hover .special-index-news__year::after {
    width: calc(100% - 16px - 5em);
    border-color: #000;
    left: 18px;
}

.special-index-news__item a:hover .special-index-news__date {
    font-weight: bold;
}

.special-index-news__item a:hover .special-index-news__text {
    font-weight: bold;
}

.special-index-news__item a::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    border: 1px solid #cdcdcd;
    border-radius: 50%;
    position: absolute;
    background: #fff;
    top: 0;
    left: 0;
}

@media screen and (max-width: 768px) {
    .special-index-news__item a::before {
        width: 4.2vw;
        height: 4.2vw;
    }
}

.special-index-news__year {
    width: 100%;
    display: block;
    font-size: 10px;
    color: #cdcdcd;
    font-weight: bold;
    text-align: right;
    margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
    .special-index-news__year {
        font-size: 2.6vw;
    }
}

.special-index-news__year::before {
    content: '';
    display: block;
    width: calc(100% - 16px - 5em);
    height: 2px;
    border-top: 1px solid #cdcdcd;
    position: absolute;
    top: 8px;
    left: 18px;
}

@media screen and (max-width: 768px) {
    .special-index-news__year::before {
        top: 2.1vw;
        left: calc(4.2vw + 2px);
    }
}

.special-index-news__year::after {
    content: '';
    display: block;
    height: 2px;
    width: 40px;
    border-top: 1px solid #000;
    position: absolute;
    top: 8px;
    left: 20%;
    -webkit-transition: .3s;
    transition: .3s;
}

@media screen and (max-width: 768px) {
    .special-index-news__year::after {
        width: 10vw;
        top: 2.1vw;
        left: 22.6vw;
    }
}

.special-index-news__date {
    display: block;
    font-size: 24px;
    font-weight: normal;
    width: 14%;
    text-align: right;
}

@media screen and (max-width: 768px) {
    .special-index-news__date {
        width: 18vw;
        font-size: 5vw;
    }
}

.special-index-news__text {
    text-align: right;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 10px 0 0 12.8%;
}

@media screen and (max-width: 768px) {
    .special-index-news__text {
        font-size: 3.2vw;
        padding: 1.5vw 0 0 2.1vw;
        text-align: left;
    }
}

.special-index-campaign {
    background: #f1f1ef;
    padding: 55px 0;
}

@media screen and (max-width: 768px) {
    .special-index-campaign {
        padding: 8vw 0;
    }
}

.special-index-campaign__inner {
    width: 64.4%;
    max-width: 880px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .special-index-campaign__inner {
        max-width: 100%;
        width: 88.8%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.special-index-campaign__tvcm .special-index-campaign__inner {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.special-index-campaign__item {
    width: 42%;
}

@media screen and (max-width: 768px) {
    .special-index-campaign__item {
        width: 58.6vw;
    }
}

.special-index-campaign__tvcm .special-index-campaign__item {
    width: 31.5%;
}

@media screen and (max-width: 768px) {
    .special-index-campaign__tvcm .special-index-campaign__item {
        width: 48%;
    }
    .special-index-campaign__tvcm .special-index-campaign__item:nth-child(n+3) {
        margin-top: 4.6vw;
    }
}

.special-index-campaign__item a:not(.is-disabled):hover {
    opacity: 0.8;
}

.special-index-campaign__item.is-disabled {
    pointer-events: none;
}

.special-index-campaign__head {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .special-index-campaign__head {
        font-size: 4vw;
        width: 88.8%;
        margin: 0 auto 4vw;
    }
}

.special-index-campaign__subhead {
    font-size: 18px;
    font-weight: bold;
    margin: 24px auto 10px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .special-index-campaign__subhead {
        font-size: 3.4vw;
        margin: 6.6vw auto 4.5vw;
    }
}

.special-index-campaign__text {
    font-size: 18px;
    margin: 24px auto 15px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .special-index-campaign__text {
        font-size: 3.4vw;
        margin: 6.6vw auto 4.5vw;
    }
}

.special-press-inner {
    max-width: 1080px;
    width: 79%;
    margin: 0 auto;
    padding: 100px 0 0;
}

@media screen and (max-width: 768px) {
    .special-press-inner {
        width: 88.8%;
        padding-top: 10vw;
    }
}

.special-press-movie img {
    width: 100%;
    height: auto;
}

.en .special-wrapper {
    margin-top: -22px;
}

.en .special-container {
    padding-top: 80px;
}

@media screen and (max-width: 768px) {
    .en .special-container {
        padding-top: 60px;
    }
}

.en .special-message-kv__textarea {
    width: 38vw;
    max-width: 520px;
    top: 70px;
}

@media screen and (max-width: 1365px) {
    .en .special-message-kv__textarea {
        top: 5vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-message-kv__textarea {
        width: 50vw;
        max-width: 50vw;
        top: 8vw;
    }
}

@media screen and (max-width: 1365px) {
    .en .special-message-kv__head {
        font-size: 2.6vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-message-kv__head {
        font-size: 4vw;
    }
}

.en .special-message-kv__text span {
    margin-top: .5em;
}

@media screen and (max-width: 1365px) {
    .en .special-message-kv__text span {
        font-size: 1vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-message-kv__text span {
        font-size: 2.6vw;
    }
}

.en .special-index-message__textarea {
    padding: 55px 50px 35px;
}

@media screen and (max-width: 1365px) {
    .en .special-index-message__textarea {
        padding: 4vw 3.66vw 2.5vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-index-message__textarea {
        padding: 8vw 8.5vw;
    }
}

.en .special-index-message__textarea--comingsoon {
    padding-bottom: 90px;
}

@media screen and (max-width: 1365px) {
    .en .special-index-message__textarea--comingsoon {
        padding-bottom: 6.5vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-index-message__textarea--comingsoon {
        padding: 8vw 8.5vw;
    }
}

.en .special-index-message__name {
    margin: 40px 25px 0 0;
}

@media screen and (max-width: 1365px) {
    .en .special-index-message__name {
        margin: 2.9vw 0 0 0;
    }
}

@media screen and (max-width: 768px) {
    .en .special-index-message__name {
        margin-top: 6.6vw;
    }
}

.en .special-index-message__name-item {
    font-size: 14px;
    margin: 0;
}

.en .special-index-message__name-item:nth-child(1) {
    margin-right: 40px;
}

@media screen and (max-width: 1365px) {
    .en .special-index-message__name-item {
        font-size: 1vw;
    }
    .en .special-index-message__name-item:nth-child(1) {
        margin-right: 3vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-index-message__name-item {
        font-size: 3.4vw;
        width: 47vw;
    }
    .en .special-index-message__name-item:nth-child(1) {
        margin-right: 6vw;
    }
}

.en .special-index-message__name-item span {
    margin-top: .5em;
}

@media screen and (max-width: 1365px) {
    .en .special-index-message__name-item span {
        font-size: 10px;
    }
}

@media screen and (max-width: 768px) {
    .en .special-index-message__name-item span {
        font-size: 3vw;
    }
}

.en .special-index-message__button {
    margin: 50px auto 0;
}

@media screen and (max-width: 1365px) {
    .en .special-index-message__button {
        margin-top: 3.66vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-index-message__button {
        margin-top: 11.4vw;
    }
}

.en .special-index-overview__head {
    font-size: 26px;
    padding: 25px 40px 25px 30px;
}

@media screen and (max-width: 1365px) {
    .en .special-index-overview__head {
        font-size: 2vw;
    }
}

@media screen and (max-width: 768px) {
    .en .special-index-overview__head {
        font-size: 5.3vw;
        padding: 4vw 13vw 4vw 5.6vw;
    }
}
/* ---------------------------------------------
*   NEWS
--------------------------------------------- */

.news#news-top {
    padding-right: 60px;
    padding-left: 60px;
  }
  
  @media screen and (max-width: 1200px) {
    .news#news-top {
      padding-right: 5vw;
      padding-left: 5vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .news#news-top {
      padding: 4vw 1.8vw 0;
    }
  }
  
  
  .news#news-top .news-article {
    position: relative;
    margin-bottom: 1.8vw;
    width: calc(100% / 2 - 15px);
  }
  
  .news-article-card {
    height: 100%;
    background-color: #FFF;
    padding: 20px 15px;
    box-sizing: border-box;
    border: 1px solid #DDDDDD;
  }
  
  @media screen and (max-width: 1200px) {
    .news#news-top .news-article {
      width: 30vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .news#news-top .news-article {
      width: 100%;
      margin-right: 0;
      margin-bottom: 8vw;
      margin-top:50px;
    }
  }
  
  .news#news-top .news-article:before {
    position: absolute;
    top: 0;
    top: 4px;
    left: 0;
    left: 4px;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    -webkit-transition: background-color 0.5s;
    transition: background-color 0.5s;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  
  .news#news-top .news-article:hover:before {
   background-color: #181818;
  }
  
  .news#news-top .news-article .img img {
    display: block;
    width: 100%;
  }
  
  .news#news-top .news-article-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  
  @media screen and (max-width: 1200px) {
    .news#news-top .news-article-body {
      margin-bottom: 4vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .news#news-top .news-article-body {
      margin-bottom: 10.66667vw;
      display: block;
    }
  }
  
  .news#news-top .news-article-body .news-article:nth-child(3n + 2):last-child {
    margin-left: auto;
  }
  
  .news#news-top .news-content {
    margin-bottom: 120px;
  }
  
  @media screen and (max-width: 1200px) {
    .news#news-top .news-content {
      margin-bottom: 10vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .news#news-top .news-content {
      margin-bottom: 32vw;
    }
  }
  
  .news#news-top .news-content:last-child {
    margin-bottom: 0;
  }
  
  .news#news-top .news-article-text {
    padding: 10px 0px 35px;
  }
  
  @media screen and (max-width: 767px) {
    .news#news-top .news-article-text {
      display: block;
      padding: 4vw 0 6.66667vw;
      height: auto;
      text-align: left;
      margin-bottom:50px
    }
  }
  
  .news#news-top .ttl {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 13px;
  }
  
  .news#news-top .view-more {
    position: absolute;
    bottom: 10px;
    right: 15px;
  }
  
  @media screen and (max-width: 767px) {
    .news#news-top .view-more {
      position: relative;
      right: auto;
      bottom: auto;
      text-align: center;
      margin-top: 6.66667vw;
      margin-right: auto;
      margin-left: auto;
      width: 55.46667vw;
      border: 1px solid #dddddd;
      border-radius: 5px;
      background-color: #fff;
      font-size: 16px;
      -webkit-transition: 0.5s;
      transition: 0.5s;
      -webkit-transition-property: color, background-color, border;
      transition-property: color, background-color, border;
      font-size: 4.26667vw;
    }
    .news#news-top .view-more::after {
      position: absolute;
      top: 50%;
      right: 4.26667vw;
      width: 1.86667vw;
      height: 1.86667vw;
      background-image: url(../img/common/icon_arrow_right.svg);
      background-position: 0 0;
      background-size: 100%;
      background-repeat: no-repeat;
      content: "";
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
    }
    .news#news-top .view-more:hover {
      border-color: #000;
      background-color: #000;
      color: #fff;
    }
    .news#news-top .view-more:hover::after {
      background-image: url(../img/common/icon_arrow_right_white.svg);
    }
  }
  
  .news#news-top .mb40 {
    margin-bottom: 40px;
  }
  
  .mod-h2__ttl--news {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 30px;
    opacity: 0;
    -webkit-animation: fadeIn 2s ease 1 forwards;
    animation: fadeIn 2s ease 1 forwards;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
    margin-bottom: 80px;
  }
  
  @media screen and (max-width: 1200px) {
    .mod-h2__ttl--news {
      font-size: 2.5vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .mod-h2__ttl--news {
      padding-left: 2.13333vw;
      font-size: 8vw;
      margin-bottom: 30vw;
    }
  }
  
  .breadcrumb {
    margin-bottom: 60px;
  }
  
  @media screen and (max-width: 1200px) {
    .breadcrumb {
      margin-bottom: 8.33333vw;
      font-size: 1.5vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .breadcrumb {
      font-size: 3.5vw;
      margin-bottom: 12vw;
      padding-left: 2.13333vw;
    }
  }
  
  .breadcrumb a:hover {
    text-decoration: underline;
  }
  
  .news--company--date {
    color: #787878;
    letter-spacing: 0.1em;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
  }
  
  @media screen and (max-width: 767px) {
    .news--company--date {
      font-size: 3.2vw;
    }
  }
  .news--company {
    color: #787878;
    letter-spacing: 0.1em;
    font-size: 11px;
    font-family: 'Josefin Sans', sans-serif;
    margin-top:5px;
    position: absolute;
    bottom: 10px;
    text-align: left;
  }
  
  @media screen and (max-width: 767px) {
    .news--company {
      font-size: 3.2vw;
    }
  }
  
  .news--company span{
    display: inline-block;
  }
  
  .category-select__list {
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    text-align: center;
    background: #fff;
    margin-top: 30px;
  }
  
  @media screen and (min-width: 768px) {
    .category-select__list {
      display: block !important;
    }
  }
  
  @media screen and (max-width: 1200px) {
    .category-select__list {
      border-radius: 0.41667vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .category-select__list {
      display: none;
      border-radius: 0 0 5px 5px;
      margin-top: 0px;
    }
  }
  
  .category-select__list-item {
    position: relative;
    background-color: #fff;
    color: #787878;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color;
  }
  
  @media screen and (max-width: 767px) {
    .category-select__list-item {
      font-size: 3.73333vw;
    }
  }
  
  .category-select__list-item:before {
    position: absolute;
    bottom: -1px;
    left: 50%;
    z-index: 1;
    width: 188px;
    height: 1px;
    background-color: #DDDDDD;
    content: "";
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  
  @media screen and (max-width: 1200px) {
    .category-select__list-item:before {
      width: 15.66667vw;
    }
  }
  
  @media screen and (max-width: 767px) {
    .category-select__list-item:before {
      width: 84vw;
    }
  }
  
  .category-select__list-item.current, .category-select__list-item:hover {
    z-index: 1;
    background-color: #000;
  }
  
  @media screen and (max-width: 767px) {
    .category-select__list-item.current, .category-select__list-item:hover {
      z-index: auto;
      background-color: #fff;
      color: #787878;
    }
  }
  
  .category-select__list-item:first-of-type {
    border-radius: 4px 4px 0 0;
  }
  
  @media screen and (max-width: 1200px) {
    .category-select__list-item:first-of-type {
      border-radius: 0.33333vw 0.33333vw 0 0;
    }
  }
  
  @media screen and (max-width: 767px) {
    .category-select__list-item:first-of-type {
      border-radius: 0;
    }
  }
  
  .category-select__list-item:last-of-type {
    border-radius: 0 0 4px 4px;
  }
  
  @media screen and (max-width: 1200px) {
    .category-select__list-item:last-of-type {
      border-radius: 0 0 0.33333vw 0.33333vw;
      /* font-size: 1.16667vw;*/
    }
  }
  
  @media screen and (max-width: 767px) {
    .category-select__list-item:last-of-type {
      border-radius: 0 0 4px 4px;
      font-size: 3.73333vw;
    }
  }
  
  .category-select__list-item:last-of-type:before {
    content: none;
  }
  
  .category-select__link {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 0;
    width: 100%;
    outline: none;
    border: none;
    border-radius: inherit;
    background-color: transparent;
    color: inherit;
    letter-spacing: 0.05em;
    font: inherit;
    cursor: pointer;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  
  @media screen and (max-width: 1200px) {
    .category-select__link {
      padding: 1.25vw 0;
    }
  }
  
  @media screen and (max-width: 767px) {
    .category-select__link {
      padding: 4vw;
    }
  }
  
  .js-select-box__selected {
    position: relative;
    padding: 4vw;
    border: 1px solid #DDDDDD;
    border-radius: 1.33333vw;
    background-color: #fff;
    color: #222;
    text-align: center;
    font-size: 3.73333vw;
    cursor: pointer;
  }
  
  @media screen and (min-width: 768px) {
    .js-select-box__selected {
      display: none !important;
    }
  }
  
  @media screen and (max-width: 767px) {
    .js-select-box__selected:after {
      position: absolute;
      top: 50%;
      right: 4vw;
      width: 2.13333vw;
      height: 2.13333vw;
      background: url(https://www.z-holdings.co.jp/wp-content/themes/z-holdings/img/common/icon_arrow_bottom.svg) 0 0 no-repeat;
      background-size: 100%;
      content: "";
      -webkit-transition: -webkit-transform .5s;
      transition: -webkit-transform .5s;
      transition: transform .5s;
      transition: transform .5s, -webkit-transform .5s;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      -webkit-transform-origin: 50% 25%;
      transform-origin: 50% 25%;
    }
  }
  
  .js-select-box__selected.down {
    border-radius: 5px 5px 0 0;
  }
  
  .js-select-box__selected.down:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
  
  .ir-press__body.news#news-top {
    padding-right: 0px;
    padding-left: 0px;
  }
  
  .news-article-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 15px;
  }
  
  .news-content-sectionwrap {
  width: calc(100% - 238px);
  }
  
  @media screen and (max-width: 1200px) {
  .news-content-sectionwrap {
    width: 75.18519%;
  }
  }
  
  @media screen and (max-width: 767px) {
  .news-content-sectionwrap {
    width: 100%;
    text-align: center;
  }
  }
  
  
  @media screen and (max-width: 767px) {
    .news-archive {
        position: absolute;
        top: -20vw;
        z-index: 1;
        width: 100%;
        max-height: 60vh;
        overflow: scroll;
    }
  }
  
  @media screen and (max-width: 767px) {
    .news-archive .archive-select {
      position: initial;
      top: 0px;
      z-index: 0;
      width: 100%;
      max-height: unset;
      overflow: unset;
    }
  }
  
  @media screen and (max-width: 767px) {
    .category-select{
        margin-top:10px;
    }
  }
  
  .news-main {
  padding-top: 20px;
  }
  
  .greaterthan {
  margin: 0 10px;
  }
  
  .js-select-box-category__selected {
    position: relative;
    padding: 4vw;
    border: 1px solid #DDDDDD;
    border-radius: 1.33333vw;
    background-color: #fff;
    color: #222;
    text-align: center;
    font-size: 3.73333vw;
    cursor: pointer;
  }
  
  @media screen and (min-width: 768px) {
    .js-select-box-category__selected {
      display: none !important;
    }
  }
  
  @media screen and (max-width: 767px) {
    .js-select-box-category__selected:after {
      position: absolute;
      top: 50%;
      right: 4vw;
      width: 2.13333vw;
      height: 2.13333vw;
      background: url(/mt-static/themes-base/img/common/icon_arrow_bottom.svg) 0 0 no-repeat;
      background-size: 100%;
      content: "";
      -webkit-transition: -webkit-transform .5s;
      transition: -webkit-transform .5s;
      transition: transform .5s;
      transition: transform .5s, -webkit-transform .5s;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      -webkit-transform-origin: 50% 25%;
      transform-origin: 50% 25%;
    }
  }
  
  .js-select-box-category__selected.down {
    border-radius: 5px 5px 0 0;
  }
  
  .js-select-box-category__selected.down:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
  
  .wp-pagenavi span.current_page, .wp-pagenavi a.current_page {
    z-index: 1;
    background-color: #000;
    color: #fff;
  }
  
  .wp-pagenavi span.current_page:after, .wp-pagenavi a.current_page:after {
    content: none;
  }
  
  /* ---------------------------------------------
  *   NEWS記事用
  --------------------------------------------- */
  
  #news-content{
    padding-top:30px;!important
  }
  
  p.news-article-txt{
    font-size:14px;
    color:#23232;
    margin-bottom:20px;
  }
  
  p.news-article-txt strong{
    font-weight:bold;
  }
  
  #news-content > strong {
    font-weight:600!important;
  }
  
  #news-content > .breadcrumb {
    font-size:14px;
    margin-bottom:80px;
    margin-left:50px;
  }
  
  .breadcrumb > a{
    text-decoration:underline;
    padding-left:10px;
    padding-right:10px;
  }
  
  @media screen and (max-width: 767px){
    .breadcrumb::nth-of-type(n+2){
      text-decoration:underline;
      padding-right:10px;
      padding-left:10px;
    }
  }
  
  @media screen and (max-width: 767px){
    #news-content > .breadcrumb {
      margin-left: 0vw!important;
      font-size:3.5vw!important;
      margin-bottom:12vw!important;
    }
  }
  
  h2.news-title {
    font-size:24px;
    color:#232323;
    font-weight:bold;
    margin-bottom:30px;
    letter-spacing: 0.03em;
    line-height: 1.7;
  }
  
  @media screen and (max-width: 767px){
    h2.news-title {
      font-size:5.2vw;
      margin-bottom:2.4vw;
    }
  }
  
  h3.news-head-title {
    font-size:20px;
    color:#232323;
    font-weight:600;
    margin-bottom:30px;
  }
  
  @media screen and (max-width: 767px){
    h3.news-head-title{
      font-size:4.8vw
    }
  }
  
  h4.news-head-title {
    font-size:16px;
    color:#232323;
    font-weight:600;
    margin-bottom:20px;
  }
  
  @media screen and (max-width: 767px){
    h4.news-head-title {
      font-size:4.4vw;
    }
  }
  
  h5.news-head-title {
    font-size:16px;
    color:#424242;
    margin-bottom:20px;
  }
  
  @media screen and (max-width: 767px){
    h5.news-head-title {
      font-size:4.4vw;
    }
  }
  
  .news-sub-title{
    font-size:15px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #DDDDDD;
  }
  
  .caption {
    color:#797979;
    font-size:14px;
    margin-bottom:20px;
  }
  
  
  .news-article-multi-img {
    display:flex;
  }
  
  .news-article-multi-img > div{
    width: 50%;
    padding:10px;
  }
  
  @media screen and (max-width: 767px){
    .news-article-multi-img {
      display:block;
    }
  }
  
  @media screen and (max-width: 767px){
    .news-article-multi-img > div{
      width: 100%;
      padding:0;
    }
  }
  .category-select__list-item.current
  .news-article-video{
    width:100%;
    margin-bottom:20px;
  }
  
  @media screen and (max-width: 767px){
    iframe{
      width:100%;
      height:100%;
    }
  }
  
  #news-content > .ir-press-detail > table{
    margin-bottom:20px;
  }
  
  .out_link::before{
      content: "";
      display: inline-block;
      vertical-align: middle;
      width: 1.4em;
      height: 1em;
      background: url(https://www.z-holdings.co.jp/wp-content/themes/z-holdings/img/common/icon_target_blank.png) no-repeat 0 0;
      background-size: 0.9em;
  }
  
.index-news__tab-content iframe{
    width:100vw;
}
/* ==========================================================
*
* お知らせ、ニュース新規、成長戦略CSS追加
*
========================================================== */
.paragraph-txt p{
    margin-bottom:1.5em;
}
.paragraph-txt p strong {
    font-weight: bold;
}
.paragraph-txt p em {
    font-style: italic;
}
.growth-strategy .txt strong {
    font-weight: bold;
}
.growth-strategy .txt em {
    font-style: italic;
}

/* ==========================================================
*
* リスクマネジメント用テーブル
*
========================================================== */
.risk-table {
  margin: 0.5em auto;
  width: 100%;
  height: 100%;
}
.risk-table th {
  background: #d9d9d9;
  border: solid 1px #999;
  color: #000;
  padding: 5px 15px;
  font-weight: bold;
  width: 35%;
  border-collapse: collapse;
}
.risk-table td {
  border: solid 1px #999;
  padding: 15px 15px 20px 15px;
  border-collapse: collapse;
}
 
@media screen and (max-width: 767px) {
  .risk-table-last td:last-child {
    border-bottom: solid 1px #999;
    width: auto;
  }
  .risk-table {
    width: 100%;
  }
  .risk-table th,
  .risk-table td {
    border-bottom: none;
    display: block;
    width: auto;
  }
}

.w-25-table {
  margin: 0.5em auto;
  width: 100%;
  height: 100%;
}
.w-25-table th {
  border-collapse: collapse;
  background: #d9d9d9;
  border: solid 1px #999;
  color: #000;
  padding: 5px 15px;
  font-weight: bold;
  width: 25%;
}
.w-25-table td {
  border-collapse: collapse;
  border: solid 1px #999;
  padding: 5px 15px;
}

@media screen and (max-width: 767px) {
  .w-25-table-last td:last-child {
    border-bottom: solid 1px #999;
    width: auto;
  }
  .w-25-table {
    width: 100%;
  }
  .w-25-table th,
  .w-25-table td {
    border-bottom: none;
    display: block;
    width: auto;
  }
}