@charset "UTF-8";

.is-pc {
    display: block !important
}

@media (max-width:640px) {
    .is-pc {
        display: none !important
    }
}

.is-sp {
    display: none !important
}

@media (max-width:640px) {
    .is-sp {
        display: block !important
    }
}

.mt0 {
    margin-top: 0 !important
}

.mb0 {
    margin-bottom: 0 !important
}

.ml0 {
    margin-left: 0 !important
}

.mr0 {
    margin-right: 0 !important
}

.mtb0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.mlr0 {
    margin-left: 0 !important;
    margin-right: 0 !important
}

.pt0 {
    padding-top: 0 !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pl0 {
    padding-left: 0 !important
}

.pr0 {
    padding-right: 0 !important
}

.ptb0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.plr0 {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.mt5 {
    margin-top: 5px !important
}

.mb5 {
    margin-bottom: 5px !important
}

.ml5 {
    margin-left: 5px !important
}

.mr5 {
    margin-right: 5px !important
}

.mtb5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important
}

.mlr5 {
    margin-left: 5px !important;
    margin-right: 5px !important
}

.pt5 {
    padding-top: 5px !important
}

.pb5 {
    padding-bottom: 5px !important
}

.pl5 {
    padding-left: 5px !important
}

.pr5 {
    padding-right: 5px !important
}

.ptb5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important
}

.plr5 {
    padding-left: 5px !important;
    padding-right: 5px !important
}

.mt10 {
    margin-top: 10px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.ml10 {
    margin-left: 10px !important
}

.mr10 {
    margin-right: 10px !important
}

.mtb10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important
}

.mlr10 {
    margin-left: 10px !important;
    margin-right: 10px !important
}

.pt10 {
    padding-top: 10px !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pl10 {
    padding-left: 10px !important
}

.pr10 {
    padding-right: 10px !important
}

.ptb10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important
}

.plr10 {
    padding-left: 10px !important;
    padding-right: 10px !important
}

.mt15 {
    margin-top: 15px !important
}

.mb15 {
    margin-bottom: 15px !important
}

.ml15 {
    margin-left: 15px !important
}

.mr15 {
    margin-right: 15px !important
}

.mtb15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important
}

.mlr15 {
    margin-left: 15px !important;
    margin-right: 15px !important
}

.pt15 {
    padding-top: 15px !important
}

.pb15 {
    padding-bottom: 15px !important
}

.pl15 {
    padding-left: 15px !important
}

.pr15 {
    padding-right: 15px !important
}

.ptb15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important
}

.plr15 {
    padding-left: 15px !important;
    padding-right: 15px !important
}

.mt20 {
    margin-top: 20px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.ml20 {
    margin-left: 20px !important
}

.mr20 {
    margin-right: 20px !important
}

.mtb20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important
}

.mlr20 {
    margin-left: 20px !important;
    margin-right: 20px !important
}

.pt20 {
    padding-top: 20px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pl20 {
    padding-left: 20px !important
}

.pr20 {
    padding-right: 20px !important
}

.ptb20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important
}

.plr20 {
    padding-left: 20px !important;
    padding-right: 20px !important
}

.mt25 {
    margin-top: 25px !important
}

.mb25 {
    margin-bottom: 25px !important
}

.ml25 {
    margin-left: 25px !important
}

.mr25 {
    margin-right: 25px !important
}

.mtb25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important
}

.mlr25 {
    margin-left: 25px !important;
    margin-right: 25px !important
}

.pt25 {
    padding-top: 25px !important
}

.pb25 {
    padding-bottom: 25px !important
}

.pl25 {
    padding-left: 25px !important
}

.pr25 {
    padding-right: 25px !important
}

.ptb25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important
}

.plr25 {
    padding-left: 25px !important;
    padding-right: 25px !important
}

.mt30 {
    margin-top: 30px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.ml30 {
    margin-left: 30px !important
}

.mr30 {
    margin-right: 30px !important
}

.mtb30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important
}

.mlr30 {
    margin-left: 30px !important;
    margin-right: 30px !important
}

.pt30 {
    padding-top: 30px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pl30 {
    padding-left: 30px !important
}

.pr30 {
    padding-right: 30px !important
}

.ptb30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important
}

.plr30 {
    padding-left: 30px !important;
    padding-right: 30px !important
}

.mt35 {
    margin-top: 35px !important
}

.mb35 {
    margin-bottom: 35px !important
}

.ml35 {
    margin-left: 35px !important
}

.mr35 {
    margin-right: 35px !important
}

.mtb35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important
}

.mlr35 {
    margin-left: 35px !important;
    margin-right: 35px !important
}

.pt35 {
    padding-top: 35px !important
}

.pb35 {
    padding-bottom: 35px !important
}

.pl35 {
    padding-left: 35px !important
}

.pr35 {
    padding-right: 35px !important
}

.ptb35 {
    padding-top: 35px !important;
    padding-bottom: 35px !important
}

.plr35 {
    padding-left: 35px !important;
    padding-right: 35px !important
}

.mt40 {
    margin-top: 40px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.ml40 {
    margin-left: 40px !important
}

.mr40 {
    margin-right: 40px !important
}

.mtb40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important
}

.mlr40 {
    margin-left: 40px !important;
    margin-right: 40px !important
}

.pt40 {
    padding-top: 40px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pl40 {
    padding-left: 40px !important
}

.pr40 {
    padding-right: 40px !important
}

.ptb40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important
}

.plr40 {
    padding-left: 40px !important;
    padding-right: 40px !important
}

.mt45 {
    margin-top: 45px !important
}

.mb45 {
    margin-bottom: 45px !important
}

.ml45 {
    margin-left: 45px !important
}

.mr45 {
    margin-right: 45px !important
}

.mtb45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important
}

.mlr45 {
    margin-left: 45px !important;
    margin-right: 45px !important
}

.pt45 {
    padding-top: 45px !important
}

.pb45 {
    padding-bottom: 45px !important
}

.pl45 {
    padding-left: 45px !important
}

.pr45 {
    padding-right: 45px !important
}

.ptb45 {
    padding-top: 45px !important;
    padding-bottom: 45px !important
}

.plr45 {
    padding-left: 45px !important;
    padding-right: 45px !important
}

.mt50 {
    margin-top: 50px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.ml50 {
    margin-left: 50px !important
}

.mr50 {
    margin-right: 50px !important
}

.mtb50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important
}

.mlr50 {
    margin-left: 50px !important;
    margin-right: 50px !important
}

.pt50 {
    padding-top: 50px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.pl50 {
    padding-left: 50px !important
}

.pr50 {
    padding-right: 50px !important
}

.ptb50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important
}

.plr50 {
    padding-left: 50px !important;
    padding-right: 50px !important
}

.black {
    color: #000
}

.white {
    color: #fff
}

.orange {
    color: #f60
}

.green {
    color: #14813d
}

.yellow-green {
    color: #d5f2ae
}

.light-blue {
    color: #e7bb65
}

.beige {
    color: #f3efe7
}

.bg-light-gray {
    background: #f6f6f6
}

.bg-mid-gray {
    background: #939598
}

.bg-dark-gray {
    background: #333
}

.bg-pale-orange {
    background: rgba(255, 102, 0, .1)
}

.bg-pale-green {
    background: rgba(20, 129, 61, .1)
}

.bg-pale-yellow-green {
    background: rgba(213, 242, 174, .5)
}

.bg-pale-light-blue {
    background: rgba(81, 133, 197, .1)
}

.bg-beige {
    background: #f3efe7
}

.bg-co-summary-numbers {
    background: url(../img/ja/bg-co-summary.png) no-repeat;
    background-size: cover;
    background-position: center center
}

.bg-co-content-base,
.bg-co-performance-main {
    display: flex
}

.bg-co-content-base .flexbox-item:first-child,
.bg-co-performance-main .flexbox-item:first-child {
    flex-basis: 22.5%;
    max-width: 22.5%
}

@media (max-width:768px) {

    .bg-co-content-base .flexbox-item:first-child,
    .bg-co-performance-main .flexbox-item:first-child {
        display: none
    }
}

.bg-co-content-base .flexbox-item:last-child,
.bg-co-performance-main .flexbox-item:last-child {
    flex-basis: 77.5%;
    max-width: 77.5%
}

@media (max-width:768px) {

    .bg-co-content-base .flexbox-item:last-child,
    .bg-co-performance-main .flexbox-item:last-child {
        flex-basis: 100%;
        max-width: 100%
    }
}

.bg-co-performance-main .flexbox-item {
    flex-basis: 100%;
    max-width: 100%
}

.bg-co-performance-main .flexbox-item {
    min-height: 550px
}

@media (max-width:768px) {
    .bg-co-performance-main .flexbox-item {
        min-height: 400px
    }
}

@media (max-width:640px) {
    .bg-co-performance-main .flexbox-item {
        min-height: 350px
    }
}

.bg-co-performance-main .flexbox-item:first-child {
    background: url(../img/ja/bg-co-performance-main01.png) no-repeat right center;
    background-size: cover
}

.bg-co-performance-main .flexbox-item:last-child {
    background: url(../img/ja/bg-co-performance-main02.png) no-repeat left center;
    background-size: cover
}

.bg-co-firmdata-main .flexbox-item {
    flex-basis: 100%;
    max-width: 100%;
    min-height: 300px;
    background: url(../img/ja/bg-co-firmdata-main.png) no-repeat center 40%;
    background-size: cover
}

@media (max-width:768px) {
    .bg-co-firmdata-main .flexbox-item {
        height: 100%;
        min-height: 200px
    }
}

.js-fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.js-fadeUp {
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes fadeUp {
    0% {
        opacity: 0;
        transform: translateY(70px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        transform: translateY(70px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

.js-fadeDown {
    -webkit-animation-name: fadeDown;
    animation-name: fadeDown;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes fadeDown {
    0% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 1;
        transform: translateY(70px)
    }
}

@keyframes fadeDown {
    0% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 1;
        transform: translateY(70px)
    }
}

.js-fadeLeft {
    -webkit-animation-name: fadeLeft;
    animation-name: fadeLeft;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes fadeLeft {
    0% {
        opacity: 0;
        transform: translateX(-70px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes fadeLeft {
    0% {
        opacity: 0;
        transform: translateX(-70px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

.js-fadeLeft {
    -webkit-animation-name: fadeRight;
    animation-name: fadeRight;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes fadeRight {
    0% {
        opacity: 0;
        transform: translateX(70px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes fadeRight {
    0% {
        opacity: 0;
        transform: translateX(70px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

figure {
    margin: 1rem 0
}

section[id^=co-],
section[id^=fi-],
section[id^=sub-] {
    box-sizing: border-box;
    font-family: 游ゴシック体, YuGothic, 游ゴシック, Yu Gothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, Arial, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
    font-feature-settings: "palt"
}

@media (max-width:640px) {

    section[id^=co-],
    section[id^=fi-],
    section[id^=sub-] {
        font-family: ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, Arial, ＭＳ Ｐゴシック, MS PGothic, sans-serif
    }
}

section[id^=co-] img,
section[id^=fi-] img,
section[id^=sub-] img {
    max-width: 100%;
    vertical-align: middle;
    height: auto
}

section[id^=co-] img[src$=".svg"],
section[id^=fi-] img[src$=".svg"],
section[id^=sub-] img[src$=".svg"] {
    width: 100%;
    height: auto
}

section[id^=co-] a,
section[id^=fi-] a,
section[id^=sub-] a {
    text-decoration: none
}

section[id^=co-] a:hover,
section[id^=fi-] a:hover,
section[id^=sub-] a:hover {
    text-decoration: none
}

@font-face {
    font-family: icomoon;
    src: url(../fonts/icomoon.eot?745phb);
    src: url(../fonts/icomoon.eot?745phb#iefix) format("embedded-opentype"), url(../fonts/icomoon.ttf?745phb) format("truetype"), url(../fonts/icomoon.woff?745phb) format("woff"), url(../fonts/icomoon.svg?745phb#icomoon) format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: block
}

[class*=" icon-"],
[class^=icon-] {
    font-family: icomoon !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-icon-arrow-up:before {
    content: "\e900";
    color: #fff
}

.icon-icon-arrow-left:before {
    content: "\e902";
    color: #fff
}

/*.icon-icon-arrow-down:before {
    content: "\e903";
    color: #fff
}*/

.l-article {
    padding: 0;
    margin: 0
}

.l-section {
    padding: 0;
    box-sizing: border-box;
    opacity: 0
}

.l-section.js-fadeIn {
    opacity: 1
}

.l-section.js-fadeUp {
    opacity: 1
}

.l-section:not(.hero-main) {
    padding: 0
}

.l-container {
    padding: 8rem 0 0;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: 100%
}

.l-container-last {
    padding: 8rem 0;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media (max-width:1440px) {
    .l-container-last  {
        padding: 4rem 0
    }
}

@media (max-width:1440px) {
    .l-container {
        padding: 4rem 0
    }
}

@media (max-width:835px) {
    .l-container {
        padding: 5rem 1rem
    }
}

@media (max-width:768px) {
    .l-container {
        padding: 5rem 15px
    }
}

@media (max-width:640px) {
    .l-container {
        padding: 3rem 15px
    }
}

.l-container.is-btn {
    padding: 0
}

.l-container+.l-container {
    margin-top: 0
}

#co-summary .l-container+.l-container {
    margin-top: 0;
    padding: 3rem 15px
}

@media (max-width:640px) {
    #co-summary .l-container+.l-container {
        padding: 1rem 15px
    }
}

.l-position-relative {
    position: relative
}

#co-firmdata-wrap .l-position-absolute,
.l-position-absolute {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

#co-firmdata-wrap .l-position-absolute {
    top: 60%;
    transform: translate(-50%, -40%)
}

.hero-main .l-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0
}

.fi-hero-2column,
.hero-2column {
    width: 100%
}

.fi-hero-2column>.flexbox-item:first-child,
.hero-2column>.flexbox-item:first-child {
    background: url(../img/ja/co-main.png) no-repeat;
    background-position: left center;
    background-size: 100%; /*contain*/
    min-height: calc(100vw * (660/1920));
    /*min-height: calc(100vw * (218/960));*/
    /*min-height: 400px; /*675*/
    position: relative;
    overflow: hidden
}
/*
@media (max-width:835px) {

    .fi-hero-2column>.flexbox-item:first-child,
    .hero-2column>.flexbox-item:first-child {
        min-height: 520px;
        background-size: 100%;
        background-position: left center /*left top*//*
    }
}

@media (max-width:640px) {

    .fi-hero-2column>.flexbox-item:first-child,
    .hero-2column>.flexbox-item:first-child {
        background-position: left center; /*7% top;*//*
        min-height: 360px
    }
}*/

.fi-hero-2column>.flexbox-item:last-child,
.hero-2column>.flexbox-item:last-child {
    font-size: 2rem;
    text-align: center
}

.co-hero-2column>.flexbox-item.en-main-bg:first-child,
.fi-hero-2column>.flexbox-item.en-main-bg:first-child,
.hero-2column>.flexbox-item.en-main-bg:first-child {
    background: url(../img/ja/co-main.png) no-repeat;
    background-position: left center;
    min-height: calc(100vw * (687/1920));
    /*min-height: calc(100vw * (222/960));*/
    background-size: contain
}

@media (max-width:835px) {

    .co-hero-2column>.flexbox-item.en-main-bg:first-child,
    .fi-hero-2column>.flexbox-item.en-main-bg:first-child,
    .hero-2column>.flexbox-item.en-main-bg:first-child {
        min-height: 520px;
        background-size: 100%;
        background-position: left top
    }
}

@media (max-width:640px) {

    .co-hero-2column>.flexbox-item.en-main-bg:first-child,
    .fi-hero-2column>.flexbox-item.en-main-bg:first-child,
    .hero-2column>.flexbox-item.en-main-bg:first-child {
        background-position: 7% top;
        min-height: 360px
    }
}

.fi-hero-menu-2column .flexbox-item,
.fi-hero-menu-2column-cv .flexbox-item,
.hero-menu-2column .flexbox-item {
    align-items: center;
    background: linear-gradient(to bottom, #f4fbf7 0, #f4fbf7 55%, #cfeddd 75%, #7ecca1 100%);
    display: flex;
    flex-direction: column;/*row;*/
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
    position: relative
}

.fi-hero-menu-2column .flexbox-item:nth-child(odd),
.fi-hero-menu-2column-cv .flexbox-item:nth-child(odd),
.hero-menu-2column .flexbox-item:nth-child(odd) {
    border-right: 2px solid #fff
}

@media (max-width:835px) { /* 835 */

    .fi-hero-menu-2column .flexbox-item,
    .fi-hero-menu-2column-cv .flexbox-item,
    .hero-menu-2column .flexbox-item {
        /*flex-basis: 100%;
        max-width: 100%*/
        flex-basis: 50%;
        max-width: 50%
    }
}

.fi-hero-menu-2column .flexbox-item a,
.fi-hero-menu-2column-cv .flexbox-item a,
.hero-menu-2column .flexbox-item a {
    min-height: 200px;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    display: block;
    /*font-size: 2rem;*/
    font-size: 3rem;
    font-weight: 700
}

@media (max-width:768px) {

    .fi-hero-menu-2column .flexbox-item a,
    .fi-hero-menu-2column-cv .flexbox-item a,
    .hero-menu-2column .flexbox-item a {
        font-size: 1.8rem;
        min-height: 150px
    }
}

@media (max-width:768px) and (orientation:landscape) {

    .fi-hero-menu-2column .flexbox-item a,
    .fi-hero-menu-2column-cv .flexbox-item a,
    .hero-menu-2column .flexbox-item a {
        min-height: 125px
    }
}

@media (max-width:640px) {

    .fi-hero-menu-2column .flexbox-item a,
    .fi-hero-menu-2column-cv .flexbox-item a,
    .hero-menu-2column .flexbox-item a {
        font-size: 1.6rem
    }
}

.fi-hero-menu-2column .flexbox-item a span,
.fi-hero-menu-2column-cv .flexbox-item a span,
.hero-menu-2column .flexbox-item a span {
    position: absolute;
    /*top: 18%;*/
    top: 25%;/*35%;*/
    left: 50%;
    transform: translate(-50%, -20%);
    width: 100%
}

@media (max-width:1024px) {

    .fi-hero-menu-2column .flexbox-item a span,
    .fi-hero-menu-2column-cv .flexbox-item a span,
    .hero-menu-2column .flexbox-item a span {
        top: 27%; /*35%; /*25%*/
        font-size: 2.5rem;
        transform: translate(-50%, -20%);
        line-height: 1.25
    }
}

@media (max-width:768px) {

    .fi-hero-menu-2column .flexbox-item a span,
    .fi-hero-menu-2column-cv .flexbox-item a span,
    .hero-menu-2column .flexbox-item a span {
        font-size: 2.2rem;
        width: 90%
    }
}

@media (max-width:640px) {

    .fi-hero-menu-2column .flexbox-item a span,
    .fi-hero-menu-2column-cv .flexbox-item a span,
    .hero-menu-2column .flexbox-item a span {
        width: 90%;
        font-size: 2rem /*1.5*/
    }

    .fi-hero-menu-2column .flexbox-item a span br,
    .fi-hero-menu-2column-cv .flexbox-item a span br,
    .hero-menu-2column .flexbox-item a span br {
        display: block
    }
}

.marker {
    background: linear-gradient(transparent 40%, #a7c587 40%);
    padding: 0 3rem
}

.marker.bule {
    background: linear-gradient(transparent 40%, rgba(81, 133, 197, .1) 40%)
}

@media (max-width:768px) {
    .marker {
        padding: 0
    }
}

.marker-02 {
    background: linear-gradient(transparent 90%, #083 0); /* 国内コンビニエンスストア事業　*/
    padding: 0 3rem
}

.marker-03 {
    background: linear-gradient(transparent 90%, #7ba918 0); /* 海外コンビニエンスストア事業 */
    padding: 0 3rem
}

.marker-04 {
    background: linear-gradient(transparent 90%, #1ba2d7 0); /* スーパーストア事業 */
    padding: 0 3rem
}

.marker-05 {
    /* background: linear-gradient(transparent 90%, #796caf 0); */
    background: linear-gradient(transparent 90%, #A88787 0); /* その他の事業 */
    padding: 0 3rem
}

.marker-06 {
    background: linear-gradient(transparent 90%, #c6000b 0); /* 金融関連事業 */
    padding: 0 3rem
}

.marker-07 {
    background: linear-gradient(transparent 90%, #b8c9d1 0); /* 数値を見る */
    padding: 0 3rem
}

.marker-08 {
    background: linear-gradient(transparent 90%, #EE8475 0);/* もっと知りたい方へ */
    padding: 0 3rem
}

.co-h1,
.co-h2,
.co-h3,
.co-h4,
.co-h5,
.co-h6,
.fi-h1,
.fi-h2,
.fi-h3,
.fi-h4,
.fi-h5,
.fi-h6 {
    margin: 0 0 1rem 0;
    line-height: 1.25;
    font-feature-settings: "palt"
}

@media (max-width:640px) {

    .co-h1,
    .co-h2,
    .co-h3,
    .co-h4,
    .co-h5,
    .co-h6,
    .fi-h1,
    .fi-h2,
    .fi-h3,
    .fi-h4,
    .fi-h5,
    .fi-h6 {
        font-weight: 400
    }
}

.co-h1,
.fi-h1 {
    font-size: 4.6rem;
    font-weight: 700;
    line-height: 1.5
}

.co-h1 br,
.fi-h1 br {
    display: none
}

@media (max-width:1024px) {

    .co-h1,
    .fi-h1 {
        font-size: 4.6rem
    }
}

@media (max-width:835px) {

    .co-h1,
    .fi-h1 {
        font-size: 4rem
    }
}

@media (max-width:768px) {

    .co-h1,
    .fi-h1 {
        font-size: 3.6rem
    }

    .co-h1 br,
    .fi-h1 br {
        display: block
    }
}

@media (max-width:768px) and (orientation:landscape) {

    .co-h1,
    .fi-h1 {
        font-size: 3.4rem
    }
}

@media (max-width:640px) {

    .co-h1,
    .fi-h1 {
        font-size: 2.6rem;
        line-height: 1.25
    }
}

@media (max-width:640px) and (orientation:landscape) {

    .co-h1,
    .fi-h1 {
        font-size: 2.6rem
    }
}

.co-h2,
.fi-h2 {
    text-align: center;
    font-weight: 700;
    font-size: 4.2rem;
    line-height: 1.5;
    margin-bottom: 5rem
}

@media (max-width:1024px) {

    .co-h2,
    .fi-h2 {
        font-size: 4.2rem;
        margin-bottom: 4rem
    }
}

@media (max-width:835px) {

    .co-h2,
    .fi-h2 {
        font-size: 3.8rem;
        margin-bottom: 3rem
    }
}

@media (max-width:768px) {

    .co-h2,
    .fi-h2 {
        font-size: 3.6rem;
        margin-bottom: 2rem
    }
}

@media (max-width:768px) and (orientation:landscape) {

    .co-h2,
    .fi-h2 {
        font-size: 2.6rem;
        margin-bottom: 2rem
    }
}

@media (max-width:640px) {

    .co-h2,
    .fi-h2 {
        font-size: 2.5rem;
        line-height: 1.25;
        margin-bottom: 2rem
    }
}

.co-h2 br,
.fi-h2 br {
    display: none
}

@media (max-width:640px) {

    .co-h2 br,
    .fi-h2 br {
        display: block
    }
}

.co-h3,
.fi-h3 {
    text-align: center;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.5
}

@media (max-width:1024px) {

    .co-h3,
    .fi-h3 {
        font-size: 3.8rem
    }
}

@media (max-width:835px) {

    .co-h3,
    .fi-h3 {
        font-size: 3.6rem
    }
}

@media (max-width:768px) {

    .co-h3,
    .fi-h3 {
        font-size: 3.2rem
    }
}

@media (max-width:768px) and (orientation:landscape) {

    .co-h3,
    .fi-h3 {
        font-size: 2.6rem
    }
}

@media (max-width:640px) {

    .co-h3,
    .fi-h3 {
        font-size: 2.4rem;
        line-height: 1.25
    }
}

.co-h3 br,
.fi-h3 br {
    display: none
}

@media (max-width:640px) {

    .co-h3 br,
    .fi-h3 br {
        display: block
    }
}

.co-h4,
.fi-h4 {
    font-size: 2.4rem
}

@media (max-width:1024px) {

    .co-h4,
    .fi-h4 {
        font-size: 2.4rem
    }
}

@media (max-width:835px) {

    .co-h4,
    .fi-h4 {
        font-size: 2rem
    }
}

@media (max-width:768px) {

    .co-h4,
    .fi-h4 {
        font-size: 2rem
    }
}

@media (max-width:768px) and (orientation:landscape) {

    .co-h4,
    .fi-h4 {
        font-size: 1.8rem
    }
}

@media (max-width:640px) {

    .co-h4,
    .fi-h4 {
        font-size: 1.8rem
    }
}

.co-h5,
.fi-h5 {
    font-size: 2.6rem
}

@media (max-width:1024px) {

    .co-h5,
    .fi-h5 {
        font-size: 2.6rem
    }
}

@media (max-width:835px) {

    .co-h5,
    .fi-h5 {
        font-size: 2.2rem
    }
}

@media (max-width:768px) {

    .co-h5,
    .fi-h5 {
        font-size: 2rem
    }
}

@media (max-width:768px) and (orientation:landscape) {

    .co-h5,
    .fi-h5 {
        font-size: 1.6rem
    }
}

@media (max-width:640px) {

    .co-h5,
    .fi-h5 {
        font-size: 1.6rem
    }
}

.title-co-summary {
    background: rgba(255, 255, 255, .7);
    border: 2px solid #14813d;
    border-radius: 1rem;
    display: inline-block;
    padding: 1rem 2rem;
    margin: 0 0 2rem 0
}

@media (max-width:640px) {
    .title-co-summary {
        padding: .5rem 2rem;
        font-size: 1.6rem;
        margin: 0 0 1rem 0
    }
}

p {
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.6
}

@media (max-width:768px) {
    p {
        font-size: 1.6rem
    }
}

@media (max-width:768px) and (orientation:landscape) {
    p {
        font-size: 1.4rem
    }
}

@media (max-width:640px) {
    p {
        font-size: 1.4rem;
        text-align: left
    }

    p br {
        display: none
    }
}

.text-notes {
    text-align: left;
    font-size: 1.4rem
}

.btn-wrap,
.co-btn-pdf .co-btn-wrap,
.co-btn-wrap,
.fi-btn-pdf .fi-btn-wrap,
.fi-btn-wrap,
.fi-detail-btn-wrap,
.fi-download-btn-wrap,
.fi-excel-btn-wrap {
    background: #fff;
    border-radius: 3rem;
    display: inline-block;
    font-size: 2rem;
    font-weight: 700;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2);
    margin: 1rem;
    line-height: 1
}

.fi-hero-menu-2column .flexbox-item .is-arrow-down a,
.fi-hero-menu-2column-cv .flexbox-item .is-arrow-down a,
.fi-hero-menu-5column .flexbox-item .is-arrow-down a {
    height: 100%;
}

.fi-detail-btn-wrap-market-sevenandi {
    display: flex;
    flex-direction: column; /* 縦に並べる */
    gap: 10px; /* ボタン間の隙間 */
    margin: 2rem 1rem 3rem 1rem;
    min-height: 118px;/*110px;*/
}

.fi-hero-menu-2column .flexbox-item .fi-detail-btn-market {
    display: flex;
    border-radius: 3rem;
    display: inline-block;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2);
    margin: 0;
    line-height: 1;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    max-width: 350px; /* 親要素の幅を設定 */
    height: 100%; /* 親要素の高さを設定 */
}

.fi-hero-menu-2column .flexbox-item .fi-detail-btn-sevenandi {
    display: flex;
    border-radius: 3rem;
    display: inline-block;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2);
    margin: 12% 0;
    line-height: 1;
    justify-content: center;
    align-items: center;
    width: 240px; /* 親要素の幅を設定 */
    height: 100%; /* 親要素の高さを設定 */
    /*flex-grow: このアイテムが得る正の余白はどれくらいか。
      flex-shrink: このアイテムから縮小できる負の余白はどれくらいか。
      flex-basis: 伸長や縮小が発生する前のアイテムの寸法はいくつか。
    flex: 1 0 0;*/
}

/*.fi-hero-menu-2column .flexbox-item .fi-detail-btn-sevenandi,*/
.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-domestic,
.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-overseas,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-superstore,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-finance,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-department {
    display: flex;
    border-radius: 3rem;
    display: inline-block;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2);
    margin: 2rem 1rem 3rem 1rem;
    line-height: 1;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 240px; /* 親要素の幅を設定 */
    height: 100%; /* 親要素の高さを設定 */
}

/* 個別のボタンスタイル */
.fi-hero-menu-2column .flexbox-item .fi-detail-btn-market a {
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 240px */
    min-height: 50px !important;
    text-align: center; /* テキストの中央揃え */
    background-color: #f60; /* ボタンの背景色 */
    font-size: 2rem;
    font-weight: 700;
    color: #fff; /* テキストの色 */
    border-radius: 30px; /* ボタンの角を丸くする */
    text-decoration: none; /* テキストの下線を削除 */
    padding: 0 3rem;
}

.fi-hero-menu-2column .flexbox-item .fi-detail-btn-sevenandi a {
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 240px */
    min-height: 50px !important;
    text-align: center; /* テキストの中央揃え */
    background-color: #f60; /* ボタンの背景色 */
    font-size: 2rem;
    font-weight: 700;
    color: #fff; /* テキストの色 */
    border-radius: 30px; /* ボタンの角を丸くする */
    text-decoration: none; /* テキストの下線を削除 */
}

.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-domestic a {
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 240px */
    min-height: 50px !important;
    text-align: center; /* テキストの中央揃え */
    font-size: 2rem;
    font-weight: 700;
    color: #fff; /* テキストの色 */
    border-radius: 30px; /* ボタンの角を丸くする */
    text-decoration: none; /* テキストの下線を削除 */
    background-color: #008833; /* ボタンの背景色 */
}

.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-overseas a {
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 240px */
    min-height: 50px !important;
    text-align: center; /* テキストの中央揃え */
    font-size: 2rem;
    font-weight: 700;
    color: #fff; /* テキストの色 */
    border-radius: 30px; /* ボタンの角を丸くする */
    text-decoration: none; /* テキストの下線を削除 */
    background-color: #7ba918; /* ボタンの背景色 */
}

.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-superstore a {
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 240px */
    min-height: 50px !important;
    text-align: center; /* テキストの中央揃え */
    font-size: 2rem;
    font-weight: 700;
    color: #fff; /* テキストの色 */
    border-radius: 30px; /* ボタンの角を丸くする */
    text-decoration: none; /* テキストの下線を削除 */
    background-color: #1ba2d7; /* ボタンの背景色 */
}

.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-finance a {
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 240px */
    min-height: 50px !important;
    text-align: center; /* テキストの中央揃え */
    font-size: 2rem;
    font-weight: 700;
    color: #fff; /* テキストの色 */
    border-radius: 30px; /* ボタンの角を丸くする */
    text-decoration: none; /* テキストの下線を削除 */
    background-color: #bd000b; /* ボタンの背景色 */
}

.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-department a {
    display: flex; /* Flexboxを使用 */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 240px */
    min-height: 50px !important;
    text-align: center; /* テキストの中央揃え */
    font-size: 2rem;
    font-weight: 700;
    color: #fff; /* テキストの色 */
    border-radius: 30px; /* ボタンの角を丸くする */
    text-decoration: none; /* テキストの下線を削除 */
    background-color: #a88787; /* ボタンの背景色 */
}

.fi-hero-menu-2column .flexbox-item .fi-detail-btn-market a:active,
.fi-hero-menu-2column .flexbox-item .fi-detail-btn-market a:hover,
.fi-hero-menu-2column .flexbox-item .fi-detail-btn-sevenandi a:active,
.fi-hero-menu-2column .flexbox-item .fi-detail-btn-sevenandi a:hover,
.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-domestic a:active,
.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-domestic a:hover,
.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-overseas a:active,
.fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-overseas a:hover,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-superstore a:active,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-superstore a:hover,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-finance a:active,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-finance a:hover,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-department a:active,
.fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-department a:hover {
    color: #484848; /* c90000 */
}

@media (max-width:1024px) {
    .fi-hero-menu-2column .flexbox-item .fi-detail-btn-wrap-market-sevenandi a,
    .fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-domestic a,
    .fi-hero-menu-2column-cv .flexbox-item .fi-detail-btn-wrap-overseas a,
    .fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-superstore a,
    .fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-finance a,
    .fi-hero-menu-5column .flexbox-item .fi-detail-btn-wrap-department a {
        font-size: 1.8rem;
    }
}


@media (max-width:835px) {

    .btn-wrap,
    .co-btn-pdf .co-btn-wrap,
    .co-btn-wrap,
    .fi-btn-pdf .fi-btn-wrap,
    .fi-btn-wrap,
    .fi-detail-btn-wrap,
    .fi-download-btn-wrap,
    .fi-excel-btn-wrap {
        display: block;
        width: 80%;
        margin: 1rem auto;
        font-size: 1.6rem
    }
}

.btn-wrap:hover,
.co-btn-wrap:hover,
.fi-btn-wrap:hover,
.fi-detail-btn-wrap:hover,
.fi-download-btn-wrap:hover,
.fi-excel-btn-wrap:hover {
    transition: all .5s;
    background: #f60
}

.btn-wrap:hover a,
.co-btn-wrap:hover a,
.fi-btn-wrap:hover a,
.fi-detail-btn-wrap:hover a,
.fi-download-btn-wrap:hover a,
.fi-excel-btn-wrap:hover a {
    color: #fff !important
}

.btn-wrap a,
.co-btn-pdf .co-btn-wrap a,
.co-btn-wrap a,
.fi-btn-pdf .fi-btn-wrap a,
.fi-btn-wrap a,
.fi-detail-btn-wrap a,
.fi-download-btn-wrap a,
.fi-excel-btn-wrap a {
    color: #333;
    display: block;
    line-height: 1;
    text-decoration: none;
    text-align: center
}

.btn-wrap a:hover,
.co-btn-wrap a:hover,
.fi-btn-wrap a:hover,
.fi-detail-btn-wrap a:hover,
.fi-download-btn-wrap a:hover,
.fi-excel-btn-wrap a:hover {
    color: #fff !important
}

@media (max-width:1024px) {

    .btn-wrap a,
    .co-btn-pdf .co-btn-wrap a,
    .co-btn-wrap a,
    .fi-btn-pdf .fi-btn-wrap a,
    .fi-btn-wrap a,
    .fi-detail-btn-wrap a,
    .fi-download-btn-wrap a,
    .fi-excel-btn-wrap a {
        padding: 1.5rem 3rem
    }
}

.co-btn-wrap.btn-backnumber,
.fi-btn-wrap.btn-backnumber {
    background: #333;
    border-radius: 0;
    border: 1px solid #fff
}

@media (max-width:768px) {

    .co-btn-wrap.btn-backnumber,
    .fi-btn-wrap.btn-backnumber {
        width: 80%;
        margin: 1rem
    }
}

@media (max-width:640px) {

    .co-btn-wrap.btn-backnumber,
    .fi-btn-wrap.btn-backnumber {
        width: 80%;
        text-align: center;
        margin: 1rem 1rem 0 1rem
    }
}

/*.is-arrow-down a:after {
    font-family: icomoon;
    content: "\e903";
    font-size: 3rem;
    color: #fff;
    width: 50px;
    height: 50px;
    background: #14813d;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    position: absolute;
    bottom: 5%;
    left: 50%;
    line-height: 50px;
    transform: translate(-50%, -50%)
}

.is-arrow-down a:hover::after {
    background: #f60
}*/

.is-arrow-right a:after {
    font-family: icomoon;
    content: "\e903";
    font-size: 3rem;
    color: #fff;
    width: 50px;
    height: 50px;
    background: #14813d;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    position: absolute;
    bottom: 5%;
    left: 50%;
    line-height: 50px;
    transform: translate(-50%, -50%) rotate(-90deg)
}

.is-arrow-right a:hover::after {
    background: #f60
}

/*a span.pdf:after,
span.pdf:after {
    margin-left: 10px;
    display: inline-block;
    width: 24px;
    height: 25px;
    background: url(../img/ja/icon-pdf.svg) no-repeat 0 0;
    content: "PDF";
    text-indent: -9999rem;
    vertical-align: middle
}*/

a span.pdf:before,
span.pdf:before {
    margin-right: 10px;
    display: inline-block;
    width: 24px;
    height: 25px;
    background: url(../img/ja/icon-pdf.svg) no-repeat 0 0;
    content: "PDF";
    text-indent: -9999rem;
    vertical-align: middle
}

a span.download {
    background-color: transparent
}

a span.download:after {
    margin-left: 10px;
    display: inline-block;
    width: 30px;
    overflow: hidden;
    background: url(../img/ja/icon-download-white.svg) no-repeat 0 0;
    content: "ZIPを開く";
    text-indent: -9999rem;
    vertical-align: middle
}

a:hover span.download:after {
    background: url(../img/ja/icon-download-white.svg) no-repeat 0 0
}

a span.excel:after {
    margin-left: .5rem;
    display: inline-block;
    width: 30px;
    background: url(../img/ja/icon-excel.svg) no-repeat 0 0;
    content: "Excel";
    text-indent: -9999rem;
    vertical-align: middle
}

a span.excel-2:before {
    margin-top: 0.47rem;
    margin-right: .5rem;
    margin-bottom: 0.45rem;
    display: inline-block;
    width: 30px;
    background: url(../img/ja/icon-excel-2.svg) no-repeat 0 0;
    content: "Excel";
    text-indent: -9999rem;
    vertical-align: middle
}


figure img {
    margin-bottom: 2rem
}

.fig-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem
}

@media (max-width:1024px) {
    .fig-title {
        font-size: 1.8rem
    }
}

.fig-info {
    font-size: 1.4rem
}

@media (max-width:640px) {
    .fig-info {
        font-size: 1.3rem
    }
}

.card {
    background: #fff;
    box-shadow: 1px 2px 5px #ccc;
    display: block !important
}

.card-img {
    max-width: 100%;
    height: auto
}

.card-content {
    padding: 2rem
}

@media (max-width:640px) {
    .card-content {
        padding: 1rem .5rem
    }
}

.card-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-align: center
}

@media (max-width:640px) {
    .card-title {
        font-size: 1.6rem
    }
}

.card-text {
    font-size: 1.6rem
}

.card-num {
    display: flex;
    align-items: baseline;
    line-height: 1.5;
    font-size: 3rem;
    font-weight: 700;
    justify-content: center
}

@media (max-width:640px) {
    .card-num {
        font-size: 2.4rem
    }
}

.card-num span {
    font-size: 2rem
}

@media (max-width:640px) {
    .card-num span {
        font-size: 1.6rem
    }
}

.card-logo {
    max-width: 100px;
    margin: 0 auto 1rem
}

.card-logo.sogo-seibu {
    max-width: 100px;
    height: 50px
}

.card-logo.logo-akachan {
    max-width: 55px;
    height: 50px
}

.card-logo.logo-dennys {
    max-width: 100px;
    height: 50px
}

.card-logo.logo-loft {
    max-width: 55px;
    height: 50px
}

.card-label {
    background: #14813d;
    border-radius: 2rem;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: .5rem;
    width: 60%;
    margin: 0 auto 2rem;
    text-align: center
}

.card-link {
    text-align: center;
    border-top: 1px solid #ccc
}

.card-link a {
    text-decoration: none;
    color: #14813d;
    margin: 0 1rem
}

.card-link a:hover {
    color: #0090aa
}

.fi-cvs-domestic-1column,
.fi-cvs-overseas-1column,
.fi-data-center-1column,
.fi-department-chart-1column,
.fi-finance-1column,
.fi-market-chart-1column,
.fi-performance-chart-1column,
.fi-supermarket-1column,
.fi-supermarket-chart-1column,
.flexbox-1column {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap
}

.fi-cvs-domestic-1column>.flexbox-item,
.fi-cvs-overseas-1column>.flexbox-item,
.fi-data-center-1column>.flexbox-item,
.fi-department-chart-1column>.flexbox-item,
.fi-finance-1column>.flexbox-item,
.fi-market-chart-1column>.flexbox-item,
.fi-performance-chart-1column>.flexbox-item,
.fi-supermarket-1column>.flexbox-item,
.fi-supermarket-chart-1column>.flexbox-item,
.flexbox-1column>.flexbox-item {
    flex-basis: 100%;
    max-width: 100%
}

.fi-cvs-domestic-1column>.flexbox-item img,
.fi-cvs-overseas-1column>.flexbox-item img,
.fi-data-center-1column>.flexbox-item img,
.fi-department-chart-1column>.flexbox-item img,
.fi-finance-1column>.flexbox-item img,
.fi-market-chart-1column>.flexbox-item img,
.fi-performance-chart-1column>.flexbox-item img,
.fi-supermarket-1column>.flexbox-item img,
.fi-supermarket-chart-1column>.flexbox-item img,
.flexbox-1column>.flexbox-item img {
    width: 100%;
    height: 100%
}

@media (max-width:640px) {

    .fi-cvs-domestic-1column>.flexbox-item,
    .fi-cvs-overseas-1column>.flexbox-item,
    .fi-data-center-1column>.flexbox-item,
    .fi-department-chart-1column>.flexbox-item,
    .fi-finance-1column>.flexbox-item,
    .fi-market-chart-1column>.flexbox-item,
    .fi-performance-chart-1column>.flexbox-item,
    .fi-supermarket-1column>.flexbox-item,
    .fi-supermarket-chart-1column>.flexbox-item,
    .flexbox-1column>.flexbox-item {
        padding: 0 0 1rem 0
    }
}

.fi-hero-2column,
.fi-hero-menu-1column,
.fi-hero-menu-2column,
.flexbox-hero-2column,
.hero-2column,
.hero-menu-2column {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap
}

.fi-hero-2column>.flexbox-item,
.fi-hero-menu-1column>.flexbox-item,
.fi-hero-menu-2column>.flexbox-item,
.fi-hero-menu-2column-cv>.flexbox-item,
.flexbox-hero-2column>.flexbox-item,
.hero-2column>.flexbox-item,
.hero-menu-2column>.flexbox-item {
    flex-basis: 100%;
    max-width: 100%
    /* flex-basis: 50%;
    max-width: 50% */
}

@media (max-width:835px) { /* 835 */

    .fi-hero-2column>.flexbox-item,
    .fi-hero-2column-cv>.flexbox-item,
    .fi-hero-menu-1column>.flexbox-item,
    .fi-hero-menu-2column>.flexbox-item,
    .fi-hero-menu-2column-cv>.flexbox-item,
    .flexbox-hero-2column>.flexbox-item,
    .hero-2column>.flexbox-item,
    .hero-menu-2column>.flexbox-item {
        flex-basis: 100%;
        max-width: 100%
        /* flex-basis: 50%;
        max-width: 50% */
    }
}

.fi-cvs-domestic-2column:not(#co-hero),
.fi-cvs-domestic-chart-2column:not(#co-hero),
.fi-cvs-overseas-2column:not(#co-hero),
.fi-cvs-overseas-chart-2column:not(#co-hero),
.fi-data-center-2column:not(#co-hero),
.fi-department-chart-2column:not(#co-hero),
.fi-finance-2column:not(#co-hero),
.fi-market-chart-2column:not(#co-hero),
.fi-performance-chart-2column:not(#co-hero),
.fi-supermarket-2column:not(#co-hero),
.fi-supermarket-chart-2column:not(#co-hero),
.flexbox-2column:not(#co-hero) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto
}

.fi-cvs-domestic-2column:not(#co-hero)>.flexbox-item,
.fi-cvs-domestic-chart-2column:not(#co-hero)>.flexbox-item,
.fi-cvs-overseas-2column:not(#co-hero)>.flexbox-item,
.fi-cvs-overseas-chart-2column:not(#co-hero)>.flexbox-item,
.fi-data-center-2column:not(#co-hero)>.flexbox-item,
.fi-department-chart-2column:not(#co-hero)>.flexbox-item,
.fi-finance-2column:not(#co-hero)>.flexbox-item,
.fi-market-chart-2column:not(#co-hero)>.flexbox-item,
.fi-performance-chart-2column:not(#co-hero)>.flexbox-item,
.fi-supermarket-2column:not(#co-hero)>.flexbox-item,
.fi-supermarket-chart-2column:not(#co-hero)>.flexbox-item,
.flexbox-2column:not(#co-hero)>.flexbox-item {
    flex-basis: calc(50% - 2rem);
    max-width: calc(50% - 2rem)
}

@media (max-width:640px) {

    .fi-cvs-domestic-2column:not(#co-hero)>.flexbox-item,
    .fi-cvs-domestic-chart-2column:not(#co-hero)>.flexbox-item,
    .fi-cvs-overseas-2column:not(#co-hero)>.flexbox-item,
    .fi-cvs-overseas-chart-2column:not(#co-hero)>.flexbox-item,
    .fi-data-center-2column:not(#co-hero)>.flexbox-item,
    .fi-department-chart-2column:not(#co-hero)>.flexbox-item,
    .fi-finance-2column:not(#co-hero)>.flexbox-item,
    .fi-market-chart-2column:not(#co-hero)>.flexbox-item,
    .fi-performance-chart-2column:not(#co-hero)>.flexbox-item,
    .fi-supermarket-2column:not(#co-hero)>.flexbox-item,
    .fi-supermarket-chart-2column:not(#co-hero)>.flexbox-item,
    .flexbox-2column:not(#co-hero)>.flexbox-item {
        flex-basis: 100%;
        max-width: 100%
    }
}

.flexbox-2column-btn-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 8rem 5rem
}

@media (max-width:768px) {
    .flexbox-2column-btn-wrap {
        padding: 5rem 5rem
    }
}

@media (max-width:640px) {
    .flexbox-2column-btn-wrap {
        padding: 3rem 2rem
    }
}

.flexbox-2column-btn-wrap a.block-link {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%
}

.flexbox-2column-btn-wrap:hover {
    color: #c90000;
    transition: all .5s;
    cursor: pointer
}

.flexbox-2column-btn-wrap:hover .co-btn-wrap {
    background: #f60;
    color: #fff;
    transition: all .5s
}

.flexbox-2column-btn-wrap>.flexbox-item:first-child {
    flex-basis: 60%;
    max-width: 60%
}

@media (max-width:768px) {
    .flexbox-2column-btn-wrap>.flexbox-item:first-child {
        flex-basis: 100%;
        max-width: 100%
    }
}

.flexbox-2column-btn-wrap>.flexbox-item:last-child {
    flex-basis: 40%;
    max-width: 40%
}

@media (max-width:768px) {
    .flexbox-2column-btn-wrap>.flexbox-item:last-child {
        flex-basis: 100%;
        max-width: 100%
    }
}

.flexbox-2column-btn-wrap>.flexbox-item.btn {
    text-align: center
}

@media (max-width:768px) {
    .flexbox-2column-btn-wrap>.flexbox-item.btn {
        text-align: center;
        margin: 1rem 0 0 0
    }
}

.fi-department-tab-wrap,
.fi-market-tab-wrap,
.fi-performance-tab-wrap,
.flexbox-2column-tab-warp {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto
}

@media (max-width:835px) {

    .fi-department-tab-wrap,
    .fi-market-tab-wrap,
    .fi-performance-tab-wrap,
    .flexbox-2column-tab-warp {
        max-width: auto
    }
}

.fi-department-tab-wrap>.flexbox-item:first-child,
.fi-market-tab-wrap>.flexbox-item:first-child,
.fi-performance-tab-wrap>.flexbox-item:first-child,
.flexbox-2column-tab-warp>.flexbox-item:first-child {
    flex-basis: 75%;
    max-width: 75%
}

@media (max-width:835px) {

    .fi-department-tab-wrap>.flexbox-item:first-child,
    .fi-market-tab-wrap>.flexbox-item:first-child,
    .fi-performance-tab-wrap>.flexbox-item:first-child,
    .flexbox-2column-tab-warp>.flexbox-item:first-child {
        flex-basis: 100%;
        max-width: 100%
    }
}

.fi-department-tab-wrap>.flexbox-item:last-child,
.fi-market-tab-wrap>.flexbox-item:last-child,
.fi-performance-tab-wrap>.flexbox-item:last-child,
.flexbox-2column-tab-warp>.flexbox-item:last-child {
    flex-basis: 20%;
    max-width: 20%
}

@media (max-width:835px) {

    .fi-department-tab-wrap>.flexbox-item:last-child,
    .fi-market-tab-wrap>.flexbox-item:last-child,
    .fi-performance-tab-wrap>.flexbox-item:last-child,
    .flexbox-2column-tab-warp>.flexbox-item:last-child {
        flex-basis: 100%;
        max-width: 100%
    }
}

.fi-cvs-domestic-3column,
.fi-finance-3column,
.flexbox-3column {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap
}

.fi-cvs-domestic-3column>.flexbox-item,
.fi-finance-3column>.flexbox-item,
.flexbox-3column>.flexbox-item {
    flex-basis: calc(33.3333333333% - 1rem);
    max-width: calc(33.3333333333% - 1rem)
}

.fi-cvs-domestic-3column>.flexbox-item img,
.fi-finance-3column>.flexbox-item img,
.flexbox-3column>.flexbox-item img {
    width: 100%;
    height: 100%
}

@media (max-width:768px) {

    .fi-cvs-domestic-3column>.flexbox-item,
    .fi-finance-3column>.flexbox-item,
    .flexbox-3column>.flexbox-item {
        flex-basis: calc(50% - 1rem);
        max-width: calc(50% - 1rem);
        margin-bottom: 2rem
    }
}

@media (max-width:640px) {

    .fi-cvs-domestic-3column>.flexbox-item,
    .fi-finance-3column>.flexbox-item,
    .flexbox-3column>.flexbox-item {
        flex-basis: 100%;
        max-width: 100%;
        padding: 0
    }
}

.fi-department-chart-4column,
.flexbox-4column {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap
}

.fi-department-chart-4column>.flexbox-item,
.flexbox-4column>.flexbox-item {
    flex-basis: 24%;
    max-width: 24%
}

@media (max-width:768px) {

    .fi-department-chart-4column>.flexbox-item,
    .flexbox-4column>.flexbox-item {
        flex-basis: 100%;
        max-width: 100%
    }
}

.fi-hero-menu-5column,
.flexbox-5column,
.hero-menu-5column {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap
}

.fi-hero-menu-5column>.flexbox-item,
.flexbox-5column>.flexbox-item,
.hero-menu-5column>.flexbox-item {
    flex-basis: 20%;
    max-width: 20%
}

@media (max-width:768px) {

    .fi-hero-menu-5column>.flexbox-item,
    .flexbox-5column>.flexbox-item,
    .hero-menu-5column>.flexbox-item {
        flex-basis: 100%;
        max-width: 100%
    }
}

ul li {
    list-style: none
}

.co-domestic-conveni-list,
.fi-cvs-domestic-list,
.fi-cvs-domestic-list.nest,
.fi-cvs-overseas-list,
.fi-cvs-overseas-list.nest,
.fi-department-list,
.fi-department-list.nest,
.fi-finance-list,
.fi-finance-list.nest,
.fi-market-list,
.fi-performance-list,
.fi-performance-list.nest,
.fi-supermarket-list,
.fi-supermarket-list.nest,
.list,
.list-style-disc,
.list-style-disc-indent,
.list-style-hyphen {
    list-style: none;
    margin: 0;
    padding-left: 0;
    -webkit-padding-start: 0;
    padding-inline-start: 0
}

.co-domestic-conveni-list .list-item,
.fi-cvs-domestic-list .list-item,
.fi-cvs-overseas-list .list-item,
.fi-department-list .list-item,
.fi-finance-list .list-item,
.fi-market-list .list-item,
.fi-performance-list .list-item,
.fi-supermarket-list .list-item,
.list .list-item,
.list-style-disc .list-item,
.list-style-disc-indent .list-item,
.list-style-hyphen .list-item {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.75
}

@media (max-width:768px) {

    .co-domestic-conveni-list .list-item,
    .fi-cvs-domestic-list .list-item,
    .fi-cvs-overseas-list .list-item,
    .fi-department-list .list-item,
    .fi-finance-list .list-item,
    .fi-market-list .list-item,
    .fi-performance-list .list-item,
    .fi-supermarket-list .list-item,
    .list .list-item,
    .list-style-disc .list-item,
    .list-style-disc-indent .list-item,
    .list-style-hyphen .list-item {
        font-size: 2rem
    }
}

@media (max-width:768px) and (orientation:landscape) {

    .co-domestic-conveni-list .list-item,
    .fi-cvs-domestic-list .list-item,
    .fi-cvs-overseas-list .list-item,
    .fi-department-list .list-item,
    .fi-finance-list .list-item,
    .fi-market-list .list-item,
    .fi-performance-list .list-item,
    .fi-supermarket-list .list-item,
    .list .list-item,
    .list-style-disc .list-item,
    .list-style-disc-indent .list-item,
    .list-style-hyphen .list-item {
        font-size: 1.8rem
    }
}

@media (max-width:640px) {

    .co-domestic-conveni-list .list-item,
    .fi-cvs-domestic-list .list-item,
    .fi-cvs-overseas-list .list-item,
    .fi-department-list .list-item,
    .fi-finance-list .list-item,
    .fi-market-list .list-item,
    .fi-performance-list .list-item,
    .fi-supermarket-list .list-item,
    .list .list-item,
    .list-style-disc .list-item,
    .list-style-disc-indent .list-item,
    .list-style-hyphen .list-item {
        font-size: 1.8rem
    }
}

.fi-cvs-domestic-list,
.fi-cvs-overseas-list,
.fi-department-list,
.fi-finance-list,
.fi-market-list,
.fi-performance-list,
.fi-supermarket-list,
.list-style-disc,
.list-style-disc-indent {
    font-feature-settings: "palt"
}

.fi-cvs-domestic-list>.list-item,
.fi-cvs-overseas-list>.list-item,
.fi-department-list>.list-item,
.fi-finance-list>.list-item,
.fi-market-list>.list-item,
.fi-performance-list>.list-item,
.fi-supermarket-list>.list-item,
.list-style-disc-indent>.list-item,
.list-style-disc>.list-item {
    font-size: 2.2rem;
    line-height: 1.75
}

.fi-cvs-domestic-list>.list-item a,
.fi-cvs-overseas-list>.list-item a,
.fi-department-list>.list-item a,
.fi-finance-list>.list-item a,
.fi-market-list>.list-item a,
.fi-performance-list>.list-item a,
.fi-supermarket-list>.list-item a,
.list-style-disc-indent>.list-item a,
.list-style-disc>.list-item a {
    text-decoration: underline
}

@media (max-width:768px) {

    .fi-cvs-domestic-list>.list-item,
    .fi-cvs-overseas-list>.list-item,
    .fi-department-list>.list-item,
    .fi-finance-list>.list-item,
    .fi-market-list>.list-item,
    .fi-performance-list>.list-item,
    .fi-supermarket-list>.list-item,
    .list-style-disc-indent>.list-item,
    .list-style-disc>.list-item {
        font-size: 1.8rem
    }
}

@media (max-width:640px) {

    .fi-cvs-domestic-list>.list-item,
    .fi-cvs-overseas-list>.list-item,
    .fi-department-list>.list-item,
    .fi-finance-list>.list-item,
    .fi-market-list>.list-item,
    .fi-performance-list>.list-item,
    .fi-supermarket-list>.list-item,
    .list-style-disc-indent>.list-item,
    .list-style-disc>.list-item {
        font-size: 1.6rem
    }
}

.fi-cvs-domestic-list>.list-item::before,
.fi-cvs-overseas-list>.list-item::before,
.fi-department-list>.list-item::before,
.fi-finance-list>.list-item::before,
.fi-market-list>.list-item::before,
.fi-performance-list>.list-item::before,
.fi-supermarket-list>.list-item::before,
.list-style-disc-indent>.list-item::before,
.list-style-disc>.list-item::before {
    content: "●";
    color: #14813d;
    margin-right: .5rem
}

.fi-cvs-domestic-list,
.fi-cvs-overseas-list,
.fi-department-list,
.fi-finance-list,
.fi-market-list,
.fi-performance-list,
.fi-supermarket-list,
.list-style-disc-indent {
    text-indent: -2rem;
    padding-left: 2rem
}

@media (max-width:640px) {

    .fi-cvs-domestic-list,
    .fi-cvs-overseas-list,
    .fi-department-list,
    .fi-finance-list,
    .fi-market-list,
    .fi-performance-list,
    .fi-supermarket-list,
    .list-style-disc-indent {
        text-indent: -2rem;
        padding-left: 2rem
    }
}

.fi-cvs-domestic-list.nest,
.fi-cvs-overseas-list.nest,
.fi-department-list.nest,
.fi-finance-list.nest,
.fi-performance-list.nest,
.fi-supermarket-list.nest,
.list-style-hyphen {
    text-indent: -1.5rem;
    padding-left: 1.5rem
}

@media (max-width:640px) {

    .fi-cvs-domestic-list.nest,
    .fi-cvs-overseas-list.nest,
    .fi-department-list.nest,
    .fi-finance-list.nest,
    .fi-performance-list.nest,
    .fi-supermarket-list.nest,
    .list-style-hyphen {
        text-indent: -2rem;
        padding-left: 2rem;
        margin-left: 1.5rem
    }
}

.fi-cvs-domestic-list.nest>.list-item::before,
.fi-cvs-overseas-list.nest>.list-item::before,
.fi-department-list.nest>.list-item::before,
.fi-finance-list.nest>.list-item::before,
.fi-performance-list.nest>.list-item::before,
.fi-supermarket-list.nest>.list-item::before,
.list-style-hyphen>.list-item::before {
    content: "-";
    color: #000;
    margin-right: .5rem
}

.list-domestic-stores {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap
}

.list-domestic-stores .list-item {
    list-style: none;
    flex-basis: 12.5%;
    max-width: 12.5%;
    margin: 0;
    box-sizing: border-box
}

@media (max-width:1024px) {
    .list-domestic-stores .list-item {
        flex-basis: 25%;
        max-width: 25%;
        margin: 10px 0
    }
}

@media (max-width:640px) {
    .list-domestic-stores .list-item {
        flex-basis: 50%;
        max-width: 50%;
        margin: 10px 0
    }
}

.list-domestic-stores .list-item .stores-logo,
.list-domestic-stores .list-item .stores-name,
.list-domestic-stores .list-item .stores-num {
    margin: 1rem auto;
    text-align: center
}

@media (max-width:768px) {

    .list-domestic-stores .list-item .stores-logo,
    .list-domestic-stores .list-item .stores-name,
    .list-domestic-stores .list-item .stores-num {
        margin: .5rem auto
    }
}

.stores-num {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1
}

@media (max-width:640px) {
    .stores-num {
        font-size: 2.4rem
    }
}

.stores-name {
    align-items: center;
    justify-content: center;
    display: flex;
    font-weight: 700;
    line-height: 1;
    min-height: 30px
}

@media (max-width:640px) {
    .stores-name {
        min-height: auto
    }
}

.stores-logo.logo-itoyokado,
.stores-logo.logo-seven-eleven,
.stores-logo.logo-yorkbenimaru {
    max-width: 52.5px;
    max-height: 52.5px
}

.stores-logo.logo-akachan {
    max-width: 60px;
    max-height: 60px
}

.stores-logo.logo-dennys,
.stores-logo.logo-sogo-seibu,
.stores-logo.logo-york-inc {
    max-width: 115px;
    max-height: 52.5px
}

.stores-logo.logo-loft {
    max-width: 60px;
    max-height: 60px
}

.co-domestic-conveni-list {
    margin-left: 3rem !important
}

.co-domestic-conveni-list .list-item {
    line-height: 1.5
}

.co-domestic-conveni-list .list-item::before {
    content: "・";
    color: #14813d;
    margin-right: .5rem
}

.co-domestic-conveni-list .list-item:last-child {
    margin-bottom: .5rem
}

.tab {
    width: 100%;
    margin: 0 !important
}

.tab__list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0
}

.tab__item {
    background: #14813d;
    border-top: 2px solid #14813d;
    color: #fff;
    cursor: pointer;
    font-size: 2rem;
    padding: 2rem 0 2.5rem;
    text-align: center;
    transition: all .25s;
    position: relative;
    line-height: 1.5
}

.tab__item:hover {
    border-top: 2px solid #f60;
    background: #f60
}

.tab__item.is-active {
    background: #fff;
    border-top: 2px solid #14813d;
    color: #000
}

.tab__item.is-active:after {
    border-top: 2px solid #000;
    border-right: 2px solid #000
}

.tab__item:after {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: rotate(135deg);
    content: "";
    width: 12px;
    height: 12px;
    margin: -2px 0 0 -6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transition: opacity .25s cubic-bezier(.4, 0, .2, 1) 0s
}

.tab__item br {
    display: none
}

@media (max-width:768px) {
    .tab__item br {
        display: block
    }
}

@media (max-width:768px) {
    .tab__item {
        padding: 1rem 1rem 2.5rem 1rem;
        font-size: 1.6rem;
        line-height: 1.25
    }
}

@media (max-width:640px) {
    .tab__item {
        padding: 1rem 1rem 2.5rem 1rem;
        font-size: 1.5rem
    }
}

.tab__content {
    padding: 2rem 0
}

@media (max-width:640px) {
    .tab__content {
        padding: 2rem 0
    }
}

.tab__content-item {
    display: none
}

.tab__content-item.is-active {
    display: block
}

.tab__list.en-fi-performance-group>li {
    min-height: 11rem
}

@media (max-width:768px) {
    .tab__list.en-fi-performance-group>li {
        min-height: 9rem
    }
}

@media (max-width:640px) {
    .tab__list.en-fi-performance-group>li {
        min-height: 11.25rem
    }
}

#sub-retail_industry03.en-retail_industry .sub-2column:not(#co-hero)>.flexbox-item:first-child {
    flex-basis: 70%;
    max-width: 70%
}

@media (max-width:640px) {
    #sub-retail_industry03.en-retail_industry .sub-2column:not(#co-hero)>.flexbox-item:first-child {
        flex-basis: 100%;
        max-width: 100%
    }
}

#sub-retail_industry03.en-retail_industry .sub-2column:not(#co-hero)>.flexbox-item:last-child {
    flex-basis: 30%;
    max-width: 30%
}

@media (max-width:640px) {
    #sub-retail_industry03.en-retail_industry .sub-2column:not(#co-hero)>.flexbox-item:last-child {
        flex-basis: 100%;
        max-width: 100%
    }
}

#sub-retail_industry03.en-retail_industry .fi-h3 {
    font-size: 3.2rem
}

@media (max-width:640px) {
    #sub-retail_industry03.en-retail_industry .fi-h3 {
        font-size: 2.2rem;
        line-height: 1.25
    }
}

#sub-retail_industry03.en-retail_industry .sub-2column .flexbox-item .is-ranking {
    padding-left: 34rem
}

@media (max-width:640px) {
    #sub-retail_industry03.en-retail_industry .sub-2column .flexbox-item .is-ranking {
        padding-left: 25.5rem
    }
}

.pulldown-navi__inner::after {
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important
}

.pulldown-navi__select {
    color: #fff !important
}

@media (max-width:768px) {
    .pulldown-navi__select {
        padding: 1rem 3.6rem 1.1rem 1.4rem !important
    }
}

@media (max-width:640px) {
    .pulldown-navi__select {
        padding: .6rem 2.6rem .6rem 1.4rem !important;
        font-size: 1.4rem !important
    }
}

.pulldown-navi__select option {
    color: #333 !important
}

.ir-h1 {
    width: 100%;
    box-sizing: border-box
}

@media (max-width:835px) {
    .ir-h1 .ir-h1__inner {
        padding: 15px 4%
    }
}

.ir-h1 .ir-h1__inner .ir-h1__title {
    font-size: 3.4rem !important;
    font-weight: 700;
    color: #fff
}

@media (max-width:1024px) {
    .ir-h1 .ir-h1__inner .ir-h1__title {
        font-size: 3rem !important
    }
}

@media (max-width:835px) {
    .ir-h1 .ir-h1__inner .ir-h1__title {
        font-size: 2.4rem !important
    }
}

@media (max-width:768px) {
    .ir-h1 .ir-h1__inner .ir-h1__title {
        font-size: 2.4rem !important
    }
}

@media (max-width:640px) {
    .ir-h1 .ir-h1__inner .ir-chart {
        margin: 5px 0 0
    }
}

.ir-h1 .ir-h1__inner .ir-chart__item {
    font-size: 1.4rem
}

.ir-h1 .ir-h1__inner .ir-chart__item em {
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff
}

.ir-h1 .ir-h1__inner a.ir-chart-button {
    display: block;
    width: 138px;
    padding: 5px;
    border: 1px solid #fff;
    border-radius: 50px;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    font-size: 1.6rem
}

.individual-heading1 {
    margin: 0 !important;
    padding: 0 !important
}

.individual-heading1 .individual-heading1__inner {
    max-width: 100% !important;
    padding: 1.4em 4%
}

@media (max-width:835px) {
    .individual-heading1 .individual-heading1__inner {
        padding: 17px 4%
    }
}

.individual-heading1 .individual-heading1__inner h1.individual-heading1__title {
    font-size: 3.3rem !important;
    margin: 0 !important
}

@media (max-width:768px) and (orientation:landscape) {
    .individual-heading1 .individual-heading1__inner h1.individual-heading1__title {
        font-size: 2.5rem !important
    }
}

@media (max-width:640px) {
    .individual-heading1 .individual-heading1__inner h1.individual-heading1__title {
        font-size: 2.5rem !important
    }
}

.fi-btn-pdf {
    background: #333;
    color: #fff
}

@media (max-width:835px) {
    .fi-btn-pdf {
        padding: .5rem 0
    }
}

.fi-btn-pdf .fi-btn-wrap a {
    display: block;
    padding: 1.5rem 5rem
}

@media (max-width:1024px) {
    .fi-btn-pdf .fi-btn-wrap a {
        padding: 1.5rem 3rem
    }
}

.fi-title {
    background: #333;
    color: #fff;
    font-size: 2.4rem;
    padding: 1.5rem 0
}

@media (max-width:835px) {
    .fi-title {
        padding: 1.25rem 0;
        font-size: 2rem
    }
}

.fi-title-page {
    background: linear-gradient(to bottom, #fcf8ef 0, #faf1e0 55%, #f7ead0 75%, #f5e3c1 100%);
    color: #333;
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 3rem;
    padding: 1rem 2rem;
    border: 1px solid #fff
}

@media (max-width:835px) {
    .fi-title-page {
        font-size: 2.8rem;
        margin-bottom: 1rem;
        padding: 1rem 2rem
    }
}

@media (max-width:768px) {
    .fi-title-page {
        font-size: 2.4rem;
        margin-bottom: 1rem;
        padding: 1rem 2rem
    }
}

@media (max-width:640px) {
    .fi-title-page {
        font-size: 2rem;
        margin-bottom: rem;
        padding: .75rem 2rem
    }
}

.fi-title-backnumber {
    background: #333;
    color: #fff;
    padding: 1rem 1.5rem;
    font-size: 1.6rem;
    font-weight: 700;
    display: inline-block;
    margin: 1rem 0;
    border: 1px solid #fff;
    line-height: 2;
    white-space: nowrap
}

@media (max-width:640px) {
    .fi-title-backnumber {
        font-size: 1.4rem;
        padding: .25rem 1.5rem;
        line-height: 2;
        margin: 1rem 0 0
    }
}

.co-btn-pdf {
    background: #333;
    color: #fff
}

.co-cv-title {
    background: #008833;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 6rem;
    text-align: center;
    font-size: 3rem;
    font-weight: 700
}

@media (max-width:1024px) {
    .co-cv-title {
        font-size: 2.5rem
    }
}

@media (max-width:768px) {
    .co-cv-title {
        font-size: 2.2rem
    }
}

@media (max-width:640px) {
    .co-cv-title {
        font-size: 2rem
    }
}

@media (max-width:1440px) {
    .co-btn-pdf {
        font-size: 1.4rem
    }
}

@media (max-width:1024px) {
    .co-btn-pdf {
        font-size: 1.4rem;
        padding: .5rem 0
    }
}

@media (max-width:835px) {
    .co-btn-pdf {
        padding: 1rem 2rem;
        font-size: 1.8rem
    }
}

@media (max-width:768px) {
    .co-btn-pdf {
        font-size: 1.8rem
    }
}

.co-btn-pdf br {
    display: none
}

@media (max-width:1024px) {
    .co-btn-pdf br {
        display: block
    }
}

.co-btn-pdf .co-btn-wrap {
    margin: 1rem 0;
    font-size: 1.75rem
}

.co-btn-pdf .co-btn-wrap a {
    padding: 1.2rem 2.5rem !important
}

@media (max-width:835px) {
    .co-btn-pdf .co-btn-wrap {
        margin: 1rem auto
    }
}

.co-btn-pdf .co-btn-wrap a {
    display: block;
    padding: 1.5rem 3rem
}

@media (max-width:1440px) {
    .co-btn-pdf .co-btn-wrap a {
        padding: 1.5rem 1.5rem;
        font-size: 1.6rem
    }
}

@media (max-width:1024px) {
    .co-btn-pdf .co-btn-wrap a {
        padding: 1rem 2rem
    }
}

@media (max-width:768px) {
    .co-btn-pdf .co-btn-wrap a {
        padding: 1rem;
        font-size: 1.6rem
    }
}

.fi-title-chart {
    font-size: 2.2rem;
    font-weight: 700;
    border-bottom: 1px solid #333;
    line-height: 1.25;
    padding-bottom: .5rem;
    font-feature-settings: "palt"
}

@media (max-width:768px) {
    .fi-title-chart {
        font-size: 1.8rem
    }
}

.fi-detail-btn-wrap {
    background: #e7bb65;
    margin: 1rem 0;
    width: 100%
}

.fi-detail-btn-wrap a {
    color: #fff !important;
    display: block;
    padding: 1.5rem 5rem
}

.fi-download-btn-wrap {
    background: #e7bb65;
    font-size: 2.4rem
}

@media (max-width:640px) {
    .fi-download-btn-wrap {
        width: 100%;
        font-size: 1.8rem
    }
}

.fi-download-btn-wrap a {
    color: #fff !important;
    display: block;
    padding: 2rem 5rem
}

@media (max-width:768px) {
    .fi-download-btn-wrap a {
        padding: 2rem 3rem
    }
}

.fi-excel-btn-wrap {
    background: #e7bb65;
    font-size: 1.6rem
}

@media (max-width:835px) {
    .fi-excel-btn-wrap {
        width: 100%
    }
}

.fi-excel-btn-wrap a {
    color: #fff !important;
    display: block;
    padding: .75rem 1rem .75rem 2rem
}

@media (max-width:640px) {
    .fi-excel-btn-wrap a {
        padding: 1rem 1rem 1rem 2rem
    }
}

.fi-hero-2column .flexbox-item:first-child .fi-title-page {
    position: absolute;
    bottom: 17%;
    left: 4rem;
    line-height: 1
}

@media (max-width:835px) {
    .fi-hero-2column .flexbox-item:first-child .fi-title-page {
        bottom: 18%;
        left: 4rem
    }
}

@media (max-width:640px) {
    .fi-hero-2column .flexbox-item:first-child .fi-title-page {
        bottom: 16.5%;
        left: 2.5rem
    }
}

.fi-hero-2column .flexbox-item:first-child .fi-backnumber-wrap {
    display: flex;
    position: absolute;
    /*bottom: 6%;*/
    top: 6%;
    left: 4rem
}

@media (max-width:640px) {
    .fi-hero-2column .flexbox-item:first-child .fi-backnumber-wrap {
        /*bottom: 4%;*/
        top: 6%;
        left: 2.5rem
    }
}

/*[class^=fi-hero-menu-] .flexbox-item.is-arrow-down a::after {
    background: #e7bb65;
    bottom: 0;
    transform: translate(-50%, -40%)
}

[class^=fi-hero-menu-] .flexbox-item.is-arrow-down a:hover::after {
    background: #f60
}*/

[class^=fi-hero-menu-] .flexbox-item.is-arrow-right a::after {
    bottom: 0;
    transform: translate(-50%, -40%) rotate(-90deg)
}

.fi-hero-menu-1column .flexbox-item {
    flex-basis: 100% !important;
    max-width: 100% !important;
    position: relative;
    border-bottom: 2px solid #fff;
    background: linear-gradient(to bottom, #fcf8ef 0, #faf1e0 55%, #f7ead0 75%, #f5e3c1 100%)
}

.fi-hero-menu-1column .flexbox-item a {
    display: block;
    min-height: 140px;
    width: 100%;
    height: 100%
}

.fi-hero-menu-1column .flexbox-item a span {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -20%);
    width: 100%;
    font-weight: 700
}

@media (max-width:640px) {
    .fi-hero-menu-1column .flexbox-item a span {
        font-size: 1.5rem
    }
}

.fi-hero-menu-2column .flexbox-item {
    /* background: linear-gradient(to bottom, #fcf8ef 0, #faf1e0 55%, #f7ead0 75%, #f5e3c1 100%) */
    background: url(../img/ja/bg_market_7andi-group.png) no-repeat;
    background-size: cover; /*cover*/
    background-position: center top;
    flex-basis: 50%;
    max-width: 50%
}

@media (max-width:835px) {
    .fi-hero-menu-2column .flexbox-item,
    .fi-hero-menu-2column-cv .flexbox-item {
        flex-basis: 100%;
        max-width: 100%;
        /*flex-basis: 50%;
        max-width: 50%*/
    }
}

.fi-hero-menu-2column .flexbox-item a,
.fi-hero-menu-2column-cv .flexbox-item a {
    min-height: 90px !important /*100px /*140px*/
}

@media (max-width:768px) {
    .fi-hero-menu-5column {
        justify-content: flex-start
    }
}

.fi-hero-menu-2column-cv .flexbox-item,
.fi-hero-menu-5column .flexbox-item {
    align-items: center;
    /* background: linear-gradient(to bottom, #fcf8ef 0, #faf1e0 55%, #f7ead0 75%, #f5e3c1 100%); */
    display: flex;
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
    position: relative
}

.fi-hero-menu-2column-cv {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: nowrap
}

@media (max-width:835px) {
    .fi-hero-menu-2column-cv {
        display: flex;
        flex-direction: row;
        flex-basis: 100%;
        max-width: 100%;
        justify-content: space-around;
        align-items: flex-start;
        flex-wrap: wrap
    }
}

@media (max-width:835px) {
    .fi-hero-menu-2column-cv .flexbox-item:first-child {
        border-bottom: 2px solid #fff
    }
}

@media (max-width:768px) {
    .fi-hero-menu-5column .flexbox-item {
        flex-basis: 50%;
        max-width: 50%;
        border-top: 2px solid #fff
    }
}

.fi-hero-menu-2column-cv .flexbox-item:first-child {
    background: url(../img/ja/bg_convenience_store.png) no-repeat;
    background-size: cover; /*cover*/
    background-position: center top;
    /* background-position: center center;*/
}

.fi-hero-menu-2column-cv .flexbox-item:nth-child(2) {
    background: url(../img/ja/bg_convenience_store_overseas.png) no-repeat;
    background-size: cover; /*cover*/
    background-position: center top;
    /* background-position: center center;*/
}

.fi-hero-menu-5column .flexbox-item:nth-child(3) {
    background: url(../img/ja/bg_supermarket.png) no-repeat;
    background-size: cover; /*cover*/
    background-position: center top;
    /* background-position: center center;*/
}

.fi-hero-menu-5column .flexbox-item:nth-child(4) {
    background: url(../img/ja/bg_finance.png) no-repeat;
    background-size: cover; /*cover*/
    background-position: center top;
    /* background-position: center center;*/
}

.fi-hero-menu-5column .flexbox-item:nth-child(5) {
    background: url(../img/ja/bg_others.png) no-repeat;
    background-size: cover; /*cover*/
    background-position: center top;
    /* background-position: center center;*/
}

.fi-hero-menu-5column .flexbox-item:nth-child(odd) {
    border-right: 2px solid #fff;
    border-left: 2px solid #fff
}

@media (max-width:640px) {
    .fi-hero-menu-5column .flexbox-item:nth-child(odd) {
        border-left: none
    }
}

/* .fi-hero-menu-5column .flexbox-item:last-child {
    flex-basis: 100%;
    max-width: 100%;
    border-top: 2px solid #fff;
    background: linear-gradient(to bottom, #f4fbf7 0, #f4fbf7 55%, #cfeddd 75%, #7ecca1 100%)
}

@media (max-width:768px) {
    .fi-hero-menu-5column .flexbox-item:last-child {
        flex-basis: 50%;
        max-width: 50%
    }
}

.fi-hero-menu-5column .flexbox-item:last-child a {
    min-height: 140px
}

@media (max-width:640px) {
    .fi-hero-menu-5column .flexbox-item:last-child a {
        min-height: 120px
    }
}

.fi-hero-menu-5column .flexbox-item:last-child a span {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -20%);
    width: 87%;
    line-height: 1.25
} */

.fi-hero-menu-5column .flexbox-item a {
    min-height: 100px !important; /*200px*/
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    display: block;
    font-size: 2.3rem; /*1.8*/
    font-weight: 700
}

@media (max-width:1024px) {
    .fi-hero-menu-5column .flexbox-item a {
        font-size: 2rem
    }
}

@media (max-width:835px) {
    .fi-hero-menu-5column .flexbox-item a {
        font-size: 1.8rem;
        min-height: 180px
    }
}

@media (max-width:768px) {
    .fi-hero-menu-5column .flexbox-item a {
        min-height: 150px
    }
}

@media (max-width:640px) {
    .fi-hero-menu-5column .flexbox-item a {
        min-height: 120px;
        font-size: 1.6rem
    }
}

.fi-hero-menu-5column .flexbox-item a span {
    position: absolute;
    top: 27%; /*20*/
    left: 50%;
    transform: translate(-50%, -25%);
    width: 90%;
    line-height: 1.25
}

@media (max-width:1024px) {
    .fi-hero-menu-5column .flexbox-item a span {
        top: 27%; /*20*/
        transform: translate(-50%, -20%)
    }

    .fi-hero-menu-5column .flexbox-item a span br {
        display: none
    }
}

@media (max-width:768px) {
    .fi-hero-menu-5column .flexbox-item a span {
        /* top: 40%; /*30*/
        font-size: 2rem;
        transform: translate(-50%, -20%)
    }
}

@media (max-width:640px) {
    .fi-hero-menu-5column .flexbox-item a span {
        font-size: 1.8rem
    }

    .fi-hero-menu-5column .flexbox-item a span br {
        display: block
    }
}

.fi-hero-menu-5column .flexbox-item a:hover:after {
    background: #f60
}

.table-of-contents-en {
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding: 0 15px
}

.table-of-contents-en p {
    border: solid 1px #f08200;
    display: inline-block;
    padding: .5rem
}

.fi-market-chart-1column>.flexbox-item.us-macro {
    flex-basis: 65%;
    max-width: 65%;
    margin: 0 auto
}

@media (max-width:768px) {
    .fi-market-chart-1column>.flexbox-item.us-macro {
        flex-basis: 80%;
        max-width: 80%
    }
}

@media (max-width:640px) {
    .fi-market-chart-1column>.flexbox-item.us-macro {
        flex-basis: 100%;
        max-width: 100%
    }
}

.fi-market-chart-2column .flexbox-item.is-guide {
    flex-basis: 47.78% !important;
    max-width: 47.78% !important
}

@media (max-width:640px) {
    .fi-market-chart-2column .flexbox-item.is-guide {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-market-chart-2column .flexbox-item.is-chart {
    flex-basis: calc(60% - 2rem) !important;
    max-width: calc(60% - 2rem) !important
}

@media (max-width:640px) {
    .fi-market-chart-2column .flexbox-item.is-chart {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-market-tab-wrap>.flexbox-item:last-child>.fi-market-list {
    padding: 2rem 0 2rem 2rem
}

@media (max-width:835px) {
    .fi-market-tab-wrap>.flexbox-item:last-child>.fi-market-list {
        padding: 2rem
    }
}

@media (max-width:640px) {
    .fi-market-tab-wrap>.flexbox-item:last-child>.fi-market-list {
        padding: 2rem 0 2rem 2rem
    }
}

.fi-market-list>.list-item {
    font-size: 1.8rem
}

.fi-market-list>.list-item:before {
    color: #e7bb65
}

.fi-market-list>.list-item .is-ranking {
    padding-left: 10rem
}

@media (max-width:768px) {
    .fi-market-list>.list-item .is-ranking {
        padding-left: 11rem
    }
}

@media (max-width:768px) {
    .fi-performance-chart-2column>.flexbox-item {
        flex-basis: 50%;
        max-width: 50%
    }
}

@media (max-width:640px) {
    .fi-performance-chart-2column>.flexbox-item {
        flex-basis: 100%;
        max-width: 100%
    }
}

.fi-performance-chart-2column .title-mt30 {
    margin-top: 30px
}

@media (max-width:640px) {
    .fi-performance-chart-2column .title-mt30 {
        margin-top: 0
    }
}

.fi-performance-tab-wrap>.flexbox-item:last-child>.fi-performance-list {
    padding: 2rem 0 2rem 2rem
}

@media (max-width:835px) {
    .fi-performance-tab-wrap>.flexbox-item:last-child>.fi-performance-list {
        padding: 2rem
    }
}

@media (max-width:640px) {
    .fi-performance-tab-wrap>.flexbox-item:last-child>.fi-performance-list {
        padding: 2rem 0
    }
}

.fi-performance-list .list-item {
    font-size: 1.8rem
}

.fi-performance-list .list-item:before {
    color: #e7bb65
}

@media (max-width:768px) {
    .fi-performance-list {
        text-indent: initial
    }
}

@media (max-width:835px) {
    .fi-performance-list.nest {
        margin-left: 1rem
    }
}

.fi-cvs-domestic-1column {
    max-width: 1200px;
    margin: 0 auto
}

.fi-cvs-domestic-1column .fi-h3 {
    text-align: left;
    margin-bottom: 3rem
}

.fi-cvs-domestic-2column {
    align-items: flex-start !important
}

.fi-cvs-domestic-2column>.flexbox-item:first-child {
    flex-basis: 75% !important;
    max-width: 75% !important
}

@media (max-width:835px) {
    .fi-cvs-domestic-2column>.flexbox-item:first-child {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-cvs-domestic-2column>.flexbox-item:last-child {
    flex-basis: 20% !important;
    max-width: 20% !important
}

@media (max-width:835px) {
    .fi-cvs-domestic-2column>.flexbox-item:last-child {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-cvs-domestic-2column>.flexbox-item:last-child>.fi-cvs-domestic-list {
    padding: 2rem 0 2rem 2rem
}

@media (max-width:835px) {
    .fi-cvs-domestic-2column>.flexbox-item:last-child>.fi-cvs-domestic-list {
        padding: 2rem
    }
}

@media (max-width:640px) {
    .fi-cvs-domestic-2column>.flexbox-item:last-child>.fi-cvs-domestic-list {
        padding: 2rem 0
    }
}

.fi-cvs-domestic-list .list-item {
    font-size: 1.8rem
}

.fi-cvs-domestic-list .list-item:before {
    color: #e7bb65
}

@media (max-width:768px) {
    .fi-cvs-domestic-list {
        text-indent: initial
    }
}

@media (max-width:835px) {
    .fi-cvs-domestic-list.nest {
        margin-left: 1rem
    }
}

.fi-cvs-overseas-1column {
    max-width: 1200px;
    margin: 0 auto
}

.fi-cvs-overseas-1column .fi-h3 {
    text-align: left;
    margin-bottom: 3rem
}

.fi-cvs-overseas-1column .fi-h3 small {
    font-size: 60%
}

.fi-cvs-overseas-2column {
    align-items: flex-start !important
}

.fi-cvs-overseas-2column>.flexbox-item:first-child {
    flex-basis: 75% !important;
    max-width: 75% !important
}

@media (max-width:835px) {
    .fi-cvs-overseas-2column>.flexbox-item:first-child {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-cvs-overseas-2column>.flexbox-item:last-child {
    flex-basis: 20% !important;
    max-width: 20% !important
}

@media (max-width:835px) {
    .fi-cvs-overseas-2column>.flexbox-item:last-child {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-cvs-overseas-2column>.flexbox-item:last-child>.fi-cvs-overseas-list {
    padding: 2rem 0 2rem 2rem
}

@media (max-width:835px) {
    .fi-cvs-overseas-2column>.flexbox-item:last-child>.fi-cvs-overseas-list {
        padding: 2rem
    }
}

@media (max-width:640px) {
    .fi-cvs-overseas-2column>.flexbox-item:last-child>.fi-cvs-overseas-list {
        padding: 2rem 0
    }
}

.fi-cvs-overseas-list .list-item {
    font-size: 1.8rem
}

.fi-cvs-overseas-list .list-item:before {
    color: #e7bb65
}

@media (max-width:768px) {
    .fi-cvs-overseas-list {
        text-indent: initial
    }
}

@media (max-width:640px) {
    .fi-cvs-overseas-list.nest {
        margin-left: 1rem
    }
}

.fi-supermarket-1column {
    max-width: 1200px;
    margin: 0 auto
}

.fi-supermarket-1column .fi-h3 {
    text-align: left;
    margin-bottom: 3rem
}

.fi-supermarket-2column {
    align-items: flex-start !important
}

.fi-supermarket-2column>.flexbox-item:first-child {
    flex-basis: 75% !important;
    max-width: 75% !important
}

@media (max-width:835px) {
    .fi-supermarket-2column>.flexbox-item:first-child {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-supermarket-2column>.flexbox-item:last-child {
    flex-basis: 20% !important;
    max-width: 20% !important
}

@media (max-width:835px) {
    .fi-supermarket-2column>.flexbox-item:last-child {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-supermarket-2column>.flexbox-item:last-child>.fi-supermarket-list {
    padding: 2rem 0 2rem 2rem
}

@media (max-width:640px) {
    .fi-supermarket-2column>.flexbox-item:last-child>.fi-supermarket-list {
        padding: 2rem 0
    }
}

.fi-supermarket-list .list-item {
    font-size: 1.8rem
}

.fi-supermarket-list .list-item:before {
    color: #e7bb65
}

@media (max-width:768px) {
    .fi-supermarket-list {
        text-indent: initial
    }
}

@media (max-width:640px) {
    .fi-supermarket-list.nest {
        margin-left: 1rem
    }
}

.fi-department-chart-1column {
    max-width: 1200px;
    margin: 0 auto
}

.fi-department-chart-1column .fi-h3 {
    text-align: left;
    margin-bottom: 3rem
}

.fi-department-tab-wrap>.flexbox-item .fi-h3 {
    text-align: left;
    margin-bottom: 3rem
}

.fi-department-tab-wrap>.flexbox-item:last-child>.fi-department-list {
    padding: 2rem 0 2rem 2rem
}

@media (max-width:835px) {
    .fi-department-tab-wrap>.flexbox-item:last-child>.fi-department-list {
        padding: 2rem
    }
}

@media (max-width:640px) {
    .fi-department-tab-wrap>.flexbox-item:last-child>.fi-department-list {
        padding: 2rem 0
    }
}

@media (max-width:640px) {
    .fi-department-chart-4column>.flexbox-item {
        flex-basis: calc(50% - 1rem);
        max-width: calc(50% - 1rem);
        margin-bottom: 2rem
    }
}

.fi-department-list .list-item {
    font-size: 1.8rem
}

.fi-department-list .list-item:before {
    color: #e7bb65
}

@media (max-width:768px) {
    .fi-department-list {
        text-indent: initial
    }
}

.fi-department-list>li {
    font-weight: 700;
    font-size: 2rem
}

.fi-finance-ttl.fi-h3 {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3rem
}

.fi-finance-ttl.fi-h3 small {
    font-size: 60%
}

.fi-finance-2column {
    align-items: flex-start !important
}

.fi-finance-2column>.flexbox-item:first-child {
    flex-basis: 75% !important;
    max-width: 75% !important
}

@media (max-width:835px) {
    .fi-finance-2column>.flexbox-item:first-child {
        flex-basis: 100% !important;
        max-width: 100% !important;
        margin-bottom: 3rem
    }
}

.fi-finance-2column>.flexbox-item:last-child {
    flex-basis: 20% !important;
    max-width: 20% !important
}

@media (max-width:835px) {
    .fi-finance-2column>.flexbox-item:last-child {
        flex-basis: 100% !important;
        max-width: 100% !important
    }
}

.fi-finance-2column>.flexbox-item:last-child>.fi-finance-list {
    padding: 2rem 0 2rem 2rem
}

@media (max-width:835px) {
    .fi-finance-2column>.flexbox-item:last-child>.fi-finance-list {
        padding: 2rem
    }
}

@media (max-width:640px) {
    .fi-finance-2column>.flexbox-item:last-child>.fi-finance-list {
        padding: 2rem 0
    }
}

@media (max-width:640px) {
    .fi-finance-3column>.flexbox-item {
        flex-basis: calc(50% - .75rem);
        max-width: calc(50% - .75rem);
        margin-bottom: 2rem
    }
}

@media (max-width:640px) {
    .fi-finance-3column>.flexbox-item .card-title {
        font-size: 1.6rem;
        line-height: 1.25;
        height: 4rem
    }
}

.fi-finance-list .list-item {
    font-size: 1.8rem
}

.fi-finance-list .list-item:before {
    color: #e7bb65
}

@media (max-width:768px) {
    .fi-finance-list {
        text-indent: initial
    }
}

.fi-finance-list>li {
    font-weight: 700;
    font-size: 2rem
}

.fi-data-center-1column {
    max-width: 800px;
    margin: 0 auto
}

.fi-data-center-1column .flexbox-item .fi-h3 {
    text-align: left
}

.fi-data-center-1column .flexbox-item.btn-download {
    text-align: center
}

.fi-data-center-1column+.fi-data-center-1column {
    margin-top: 3rem
}

.fi-data-center-2column {
    max-width: 1200px;
    margin: 0 auto
}

.fi-data-center-2column .flexbox-item .fi-h3 {
    text-align: left
}

.fi-data-center-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start
}

.fi-data-center-list dt {
    flex-basis: 70%;
    max-width: 70%;
    font-size: 2rem;
    font-weight: 700;
    min-height: 4rem;
    margin-bottom: 1rem;
    text-indent: -2rem;
    padding-left: 2rem
}

.fi-data-center-list dt:before {
    content: "●";
    color: #e7bb65;
    margin-right: .5rem
}

@media (max-width:640px) {
    .fi-data-center-list dt {
        flex-basis: 100%;
        max-width: 100%
    }
}

.fi-data-center-list dt .is-ranking {
    padding-left: 12rem
}

.fi-data-center-list dt>ul {
    padding-left: 2rem
}

.fi-data-center-list dt>ul li {
    font-size: 1.6rem
}

.fi-data-center-list dt>ul li:before {
    content: "-";
    color: #000;
    margin-right: .5rem
}

.indent {
    margin-left: 0rem; /* 改行時に左マージンを設定（右側にスペース効果） */
    display: block; /* 必要に応じてブロック表示 */
}

.fi-data-center-list dd {
    flex-basis: 30%;
    max-width: 30%;
    min-height: 4rem;
    margin-bottom: 1rem;
    text-align: center
}

@media (max-width:640px) {
    .fi-data-center-list dd {
        flex-basis: 100%;
        max-width: 100%
    }
}

/* もっと知りたい方へ（2024追加）*/
.cmn-movie-wrap {
    margin-top: 2.5em
}

.cmn-movie__image {
    margin: 0
}

.cmn-movie__image a {
    display: block;
    position: relative
}

.cmn-movie__image a:before {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .15)
}

.cmn-movie__image a:after,
.cmn-movie__image a:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: ""
}

.cmn-movie__image a:after {
    right: 0;
    bottom: 0;
    width: 52px;
    height: 36px;
    margin: auto;
    background: url(/library/app-files/img/cmn-movie_ic01.png) 0 0 no-repeat
}

@media print,
screen and (min-width:768px) {
	[data-col-pc]:not([data-col-pc="1"]) {
		display: flex;
		flex-flow: row wrap;
		width: 100%
	}
	
	[data-col-pc]:not([data-col-pc=auto]) > * {
		margin-top: 1.25em;
		margin-left: 36px
	}
	
	[data-col-pc="1"] > :nth-child(-n+1) {
		margin-top: 0 !important
	}
	
	[data-col-pc="1"] > :nth-child(1n+1) {
		margin-left: 0 !important
	}
	
	[data-col-pc="1"] > * {
		width: 100%
	}
	
	[data-col-pc="2"] > :nth-child(-n+2) {
		margin-top: 0 !important
	}
	
	[data-col-pc="2"] > :nth-child(odd) {
		margin-left: 0 !important
	}
	
	[data-col-pc="2"] > * {
		width: calc((100% - 36px)/2 - .1px)
	}
	
	[data-col-pc="3"] > :nth-child(-n+3) {
		margin-top: 0 !important
	}
	
	[data-col-pc="3"] > :nth-child(3n+1) {
		margin-left: 0 !important
	}
	
	[data-col-pc="3"] > * {
		width: calc((100% - 72px)/3 - .1px)
	}
	
	[data-col-pc="4"] > :nth-child(-n+4) {
		margin-top: 0 !important
	}
	
	[data-col-pc="4"] > :nth-child(4n+1) {
		margin-left: 0 !important
	}
	
	[data-col-pc="4"] > * {
		width: calc((100% - 108px)/4 - .1px)
	}
	
	[data-col-pc="5"] > :nth-child(-n+5) {
		margin-top: 0 !important
	}
	
	[data-col-pc="5"] > :nth-child(5n+1) {
		margin-left: 0 !important
	}
	
	[data-col-pc="5"] > * {
		width: calc((100% - 144px)/5 - .1px)
	}
	
	[data-col-pc="6"] > :nth-child(-n+6) {
		margin-top: 0 !important
	}
	
	[data-col-pc="6"] > :nth-child(6n+1) {
		margin-left: 0 !important
	}
	
	[data-col-pc="6"] > * {
		width: calc((100% - 180px)/6 - .1px)
	}
	
	[data-col-pc=auto] {
		margin-right: -36px;
		margin-bottom: -1em
	}
	
	[data-col-pc=auto] > * {
		margin-top: 0 !important;
		margin-right: 36px;
		margin-bottom: 1em;
		margin-left: 0
	}
}





/*********************** 2025年3月改修 ***********************/

/* 親要素の最大幅を設定し、中央揃えにする */
.fi-corporate-outline-wrap {
    margin: 0 auto;
    width: calc(100% - 80px);
    max-width: 1600px;
    /*max-width: 1600px;
    margin: 0 auto;*/
}

.fi-corporate-outline-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 60px 20px;
    margin: 8rem auto 0;
}

.fi-corporate-outline-box {
    background-color: #fff; /* 背景色を白に設定 */
    color: #000; /* 文字色を黒に設定 */
    padding: 5rem 2rem;
    border: 3px solid #008833; /* 枠線を緑に設定 */
    text-align: center;
    width: 100%;
    /*height: 300px; /* 正方形の枠 */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 子要素を上下に配置 */
    height: 100%; /* ボックスの高さを100%に設定 */
    position: relative; /* 擬似要素の位置を相対的に設定 */
}

.fi-corporate-outline-box::before {
    content: attr(data-circle-text); /* 擬似要素に表示するテキストを設定 */
    position: absolute;
    top: -43px; /* ボックスの上辺からの位置を調整 */
    left: 50%;
    transform: translateX(-50%);
    background-color: #008833; /* 正円の背景色を緑に設定 */
    color: #fff; /* 正円の文字色を白に設定 */
    width: 86px; /* 正円の直径 */
    height: 86px; /* 正円の直径 */
    border-radius: 50%; /* 正円にする */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3rem; /* 文字サイズを調整 */
    font-weight: bold;
}

/* 1024px 以下の画面サイズに対応 */
@media (max-width: 1024px) {
    .fi-corporate-outline-box::before {
        width: 70px; /* 正円の直径を調整 */
        height: 70px; /* 正円の直径を調整 */
        font-size: 2.5rem; /* 文字サイズを調整 */
        top: -35px; /* ボックスの上辺からの位置を調整 */
    }
}

.fi-corporate-outline-h1 {
    text-align: center;
    font-size: 4.6rem;
    font-weight: 700;
    line-height: 1.5
}

.fi-corporate-outline-h5,
.fi-more-detailed-info-h5 {
    margin-bottom: 2rem;
    text-align: center;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.5
}

.fi-corporate-outline-title {
    font-size: 2.3rem;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    margin-left: auto;
    margin-right: auto;
    align-self: flex-start; /* 上に配置 */
    height: 4.6rem; /* タイトルの高さを固定 */
    display: flex;
    align-items: center; /* タイトルを垂直方向に中央揃え */
}

.fi-corporate-outline-description-list {
    font-size: 1.7rem;
    margin: 2rem auto 4rem !important;
    font-weight: 600;
    text-align: left;
    list-style: none; /* デフォルトのリストスタイルを無効にする */
    padding-left: -1rem !important; /* インデントを追加 */
    align-self: flex-start; /* 上に配置 */
    flex-grow: 1; /* リストが残りのスペースを占める */
    transform: translateX(-1rem); /* 左に1remシフト */
}

.fi-corporate-outline-description-list li {
    text-indent: -1em; /* マーカー部分を逆インデント */
    padding-left: 1.5em; /* テキスト部分をインデント */
}

.fi-corporate-outline-btn {
    display: flex;
    width: 60%;
    height: 40px !important;
    text-align: center;
    border-radius: 30px;
    text-decoration: none;
    background-color: #008833;
    font-size: 2rem;
    font-weight: 700;
    color: #fff !important;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    align-self: flex-end; /* 下に配置 */
}

.fi-corporate-outline-btn:hover {
    background-color: #f60;
}

.fi-more-detailed-info-header {
    background-color: #008833;
    /* 緑色の背景 */
    color: #fff;
    /* 白文字 */
    text-align: center;
    padding: 10px 0;
    margin-bottom: 20px;
}

.fi-more-detailed-info-wrap {
    margin: 0 auto;
    width: calc(100% - 80px);
    max-width: 1600px;
    /*max-width: 1600px;
    margin: 0 auto;*/
}

.fi-more-detailed-info-grid {
    margin-top: 7rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 80px 40px;
}

.fi-more-detailed-info-box {
    position: relative; /* 子要素の絶対位置を基準にするために相対位置を設定 */
    background-color: #fff;
    /*border: 2px solid #dedede; /* グレーの枠線 */
    /* padding: 20px;*/
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.fi-more-detailed-info-box.card {
    background: #fff;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.33);
    display: block !important
}

.fi-more-detailed-info-category {
    display: flex;
    width: 100%; /* 親ボックスの幅いっぱいに設定 */
    gap: 20px; /* アイコン間のギャップを設定 */
    position: absolute;
    top: -50px; /* ボックスの外側の右上に配置 */
}

/*.fi-more-detailed-info-category {
    position: absolute;
    top: -50px; /* ボックスの外側の右上に配置 
    right: 0px;
    display: flex;
    gap: 10px; /* アイコン間の隙間 
    /* text-align: center;
    /* margin-bottom: 10px;
}*/

.category-title {
    display: none;/*block;*/
    /*background-color: #008833; /* 緑色の背景 */
    /*font-size: 2rem;
    font-weight: 700;
    color: #fff; /* 白文字 */
    /* padding: 5px 0;*/
    /* margin-bottom: 5px;*/
}

.category-band {
    display: flex;
}

.financial, .non-financial {
    flex: 1; /* 均等に幅を分ける */
    height: 40px; /* 長方形の高さ */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #008833; /*茶色 e7bb65*//*海外緑 7ba918*//*国内緑 008833*//*SS青 1ba2d7*/
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
}

/*.financial, .non-financial {
    width: 80px; /* 長方形の幅 
    height: 40px; /* 長方形の高さ 
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #008833; /*茶色 e7bb65*//*海外緑 7ba918*//*国内緑 008833*//*SS青 1ba2d7
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
}*/

/*.financial {
    flex: 1;
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    border-right: 2px dashed #008833; /* 右辺に緑色の破線を追加 */
    /*border-right-width: 2px; /* 破線の幅を設定 */
    /*border-right-style: dashed; /* 破線のスタイルを設定 */
    /*border-right-color: #008833; /* 破線の色を設定 */
    /* padding: 5px 0;
}

.non-financial {
    flex: 1;
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    /* padding: 5px 0;
}*/

.fi-more-detailed-info-content {
    position: relative;
    transition: opacity 0.3s ease; /* 透明度の変化にアニメーションを追加 */
}

.fi-more-detailed-info-content:hover img {
    opacity: 0.7; /* マウスオーバー時に透明度を変更 */
}

.fi-more-detailed-info-content:hover p {
    color: #c90000;  /* マウスオーバー時にキャプションの色を赤に変更 *//* rgb(200, 0, 0);*/
    text-decoration: underline; /* マウスオーバー時に下線を追加 */
}

.fi-more-detailed-info-content img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
    transition: opacity 0.3s ease; /* 透明度の変化にアニメーションを追加 */
}

.fi-more-detailed-info-content img.no-margin {
    margin: 0; /* 上と左右の隙間をなくす */
    width: calc(100% + 40px); /* 左右の隙間をなくすために幅を調整 */
    position: relative;
    /* top: -10px; /* 画像上の隙間をなくすために位置を調整 */
}

.fi-more-detailed-info-content p {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    padding: 1.4em;
    color: #000;
    /* display: inline-block; /* キャプションと矢印を同じ行に配置 */
    justify-content: flex-start; /* 左寄せ */
    /* align-items: center; /* 垂直方向の中央揃え */
    /* margin-left: 10px; /* 左端から少し右に配置 */
    transition: color 0.3s ease, text-decoration 0.3s ease; /* 色と下線の変化にアニメーションを追加 */
}

.fi-more-detailed-info-content p span {
    display: inline-block;
    vertical-align: middle; /* 矢印をキャプションの最後に配置 */
}

.fi-more-detailed-info-content h4 {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    padding: 0 1.8em 2em;
    margin-top: -0.8em;
    text-align: left;
    color: #000;
    /*margin: -3em 0 0; /*0.8*/
}

.arrow {
    transform: rotate(45deg);
    display: inline-block;
    position: relative;
    top: -2px;
    width: 10px;
    height: 10px;
    margin-left: 5px !important;
    border-top: 2px solid #083;
    border-right: 2px solid #083;
    vertical-align: middle;
    content: "";
}

.fi-history-btn-wrap {
    min-width: fit-content;
    background: #e7bb65;
    border-radius: 3rem;
    display: inline-block;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2);
    margin: -2rem 1rem 2rem;
}

.fi-history-btn-wrap:hover {
    transition: all .5s;
    background: #f60
}

.fi-history-btn-wrap:hover a {
    color: #fff !important
}

.fi-history-btn-wrap a {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    color: #fff !important;
    display: block;
    padding: 1.75rem 3rem 1.75rem 3rem; /*.75rem 1rem .75rem 2rem*/
}

.fi-history-btn-wrap a:hover {
    color: #fff !important
}

@media (max-width: 1376px) {
    .fi-corporate-outline-btn,
    .fi-history-btn-wrap a {
        font-size: calc(1rem + 0.7vw);
        /*font-size: 1.8rem;*/
    }

    .fi-corporate-outline-title br {
        display: none;
    }
}

@media (max-width: 1240px) {
    .fi-corporate-outline-btn,
    .fi-history-btn-wrap a {
        font-size: calc(1rem + 0.7vw);
        /*font-size: 1.8rem;*/
    }

    .fi-corporate-outline-title br {
        display: none;
    }
}

@media (max-width: 1091px) {
    .fi-history-btn-wrap a {
        font-size: calc(1rem + 0.3vw);
        /*font-size: 1.3vw;*/
    }

    .fi-corporate-outline-title br {
        display: none;
    }
}

@media (max-width: 1070px) {
    .fi-corporate-outline-title {
        font-size: 1.9rem;
    }

    .fi-corporate-outline-title br {
        display: none;
    }
}

@media (max-width: 1042px) {
    .fi-corporate-outline-h5,
    .fi-more-detailed-info-h5 {
        font-size: 2.2rem;
    }

    .fi-corporate-outline-title br {
        display: none;
    }
}

/* 1024px 以下の画面サイズに対応 */
@media (max-width: 1024px) {
    .fi-corporate-outline-wrap,
    .fi-more-detailed-info-wrap {
        margin: 0 auto;
        width: calc(100% - 80px);
        /*margin: 0 10rem;*/
    }

    .fi-corporate-outline-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 50px 30px;
    }

    .fi-more-detailed-info-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 80px 30px;
    }

    .fi-corporate-outline-h1,
    .fi-more-detailed-info-header h2 {
        font-size: 3.6rem;
    }    

    .fi-corporate-outline-title
    /*.fi-more-detailed-info-category .category-title*/ {
        font-size: 2rem;
    }

    .fi-corporate-outline-description-list
    /*.fi-more-detailed-info-content p*/ {
        font-size: 1.5rem;
    }

    .fi-corporate-outline-btn,
    .fi-history-btn-wrap a {
        font-size: calc(1rem + 0.7vw);
        /*font-size: 1.8rem;*/
    }

    .fi-history-btn-wrap {
        margin: -2rem 0 2rem;
    }

    .fi-corporate-outline-title br {
        display: block;
    }
}

@media (max-width: 860px) {
    .fi-corporate-outline-h5,
    .fi-more-detailed-info-h5 {
        font-size: 1.8rem;
    }
}

@media (max-width: 856px) {
    .fi-corporate-outline-title br {
        display: none;
    }
}

/* 768px 以下の画面サイズに対応 */
@media (max-width: 768px) {
    .fi-corporate-outline-wrap,
    .fi-more-detailed-info-wrap {
        margin: 0 auto;
        width: calc(100% - 80px);
        /*margin: 0 5rem;*/
    }

    .fi-corporate-outline-grid {
        grid-template-columns: 1fr;
        grid-gap: 50px 20px;
    }

    .fi-more-detailed-info-grid {
        grid-template-columns: 1fr;
        grid-gap: 80px 20px;
    }


    .fi-corporate-outline-h1,
    .fi-more-detailed-info-header h2 {
        font-size: 3rem;
    }

    .fi-corporate-outline-title,
    .fi-more-detailed-info-category .category-title {
        font-size: 2rem;
    }

    .fi-corporate-outline-description-list,
        .fi-more-detailed-info-content p {
        font-size: 1.5rem;
    }

    .fi-corporate-outline-btn,
    .fi-history-btn-wrap a {
        font-size: 1.6rem;
    }

    .fi-history-btn-wrap {
        margin: -2rem 0 2rem;
    }

    .fi-corporate-outline-title br {
        display: none;
    }
}

/* 670px 以下の画面サイズに対応 */
@media (max-width: 670px) {
    .fi-corporate-outline-wrap,
    .fi-more-detailed-info-wrap {
        margin: 0 auto;
        width: calc(100% - 80px);
        /*margin: 0 2rem;*/
    }

    .fi-corporate-outline-grid {
        grid-template-columns: 1fr;
        grid-gap: 40px 10px;
    }

    .fi-more-detailed-info-grid {
        grid-template-columns: 1fr;
        grid-gap: 80px 10px;
    }

    .fi-corporate-outline-h1,
    .fi-more-detailed-info-header h2 {
        font-size: 2.6rem;
    }

    .fi-corporate-outline-h5,
    .fi-more-detailed-info-h5 {
        font-size: 1.6rem;
    }

    .fi-corporate-outline-title,
    .fi-more-detailed-info-category .category-title {
        font-size: 2rem;
    }

    .fi-corporate-outline-description-list {
        font-size: 1.5rem;
    }

    .fi-more-detailed-info-content p {
        font-size: 2rem;
    }

    .fi-corporate-outline-btn,
    .fi-history-btn-wrap a {
        font-size: 1.6rem;
    }
}
