@charset "utf-8";

.cmn-menu-link2:not(.is-current) {
    color: var(--color-black) !important;
}

.cmn-menu-link2:hover,
.cmn-menu-change-btn2:hover,
.cmn-menu-link2.is-current {
    color: var(--color-primary) !important;
}

.cmn-menu-parent-link:hover,
.cmn-menu-link2:hover,
.cmn-menu-change-btn2:hover,
.cmn-menu-link2.is-current:hover {
    text-decoration: none !important;
}

.c-header__dropdown__ttl:hover {
    text-decoration: none !important;
}

.c-footer .c-footer__sns-item {
    display: grid;
    align-items: center;
}

.c-footer__nav-link,
.c-footer__nav-link--small,
.c-footer__other-link,
.c-footer__lang-select,
.c-footer__lang-current,
.c-footer__bottom-nav-link {
    text-decoration: underline !important;
}

.c-footer__nav-link:hover,
.c-footer__nav-link--small:hover,
.c-footer__other-link:hover,
.c-footer__lang-select:hover,
.c-footer__lang-current:hover,
.c-footer__bottom-nav-link:hover {
    text-decoration: none !important;
}

#contents {
    letter-spacing: initial;
}

.breadcrumbs {
    letter-spacing: .08em;
}

[class^='component-table'] th:last-child,
[class^='component-table'] td:last-child {
    border: 1px solid #aaa;
}

.component-ul li {
    list-style: disc;
}


hr {
    opacity: 1;
}

/* コンテンツ幅をリニューアル後に合わせるための記述 */

:root {
    --edge-padding: 1.5rem;
}

.row {
    max-width: var(--content-width);
    padding-left: var(--edge-padding);
    padding-right: 0;
}

[class*="col-"] {
    padding-right: var(--edge-padding);
    padding-left: 0;
}

@media screen and (max-width: 1024px) {
    :root {
        --edge-padding: 1.5rem;
    }

    .row {
        padding-left: 0;
        padding-right: var(--edge-padding);
    }

    [class*="col-"] {
        padding-left: var(--edge-padding);
        padding-right: 0;
    }

}


.nest {
    height: auto !important;
    padding-left: 0;
}

.nest .row {
    min-width: 0;
    padding-right: 0;
}

[dir="rtl"] .nest {
    padding-right: 0;
}

.nest>.row:last-child:first-child {
    padding-bottom: 0;
}

.lt-ie9 .nest>.row.last-child:first-child {
    /* under IE8 */
    padding-bottom: 0;
}

.nest .row [class*="col-"] {
    height: auto !important;
}

@media screen and (max-width: 1024px) {
    .nest {
        height: auto !important;
        padding-left: 0;
    }
}

/* @media screen and (max-width: 580px) {
    [class*='col-'] {
        float: none;
        margin: 0 0 15px 0;
        padding-left: 0px;
        padding-right: 15px;
        width: auto;
    }
} */

/* airstage-color.css対策 */
@media (any-hover: hover) {

    #header a:hover {
        text-decoration: none !important;
    }

    #header a:not(.c-header__dropdown__ttl, .c-header__dropdown__nav-link, .c-siteNav__link, .cmn-menu-link2, .cmn-menu-parent-link):hover {
        text-decoration: underline !important;
    }

    /* .cmn-menu-link2:hover {
        text-decoration: none !important;
    } */
}

/* horizontal-card
======================*/
.component-horizontal-card {
    background-color: var(--color-white);
    border: 1px solid var(--color-secondary);
    border-radius: 10px;
    display: flex;
    height: 100%;
    overflow: hidden;
    text-decoration: none;
}

.component-horizontal-card-img {
    border-right: 1px solid var(--color-secondary);
    height: 100%;
    margin: 0 0 auto;
    overflow: hidden;
}

.component-horizontal-card img {
    transform: scale(1);
    transition: transform 0.3s;
}

.component-horizontal-card-contents {
    align-items: center;
    display: flex;
    padding: 0 20px;
    width: 100%;
}

.component-horizontal-card-ttl {
    align-items: center;
    color: var(--color-primary);
    display: flex;
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    padding: 5px 0;
    text-decoration: underline;
    width: 100%;
}

.component-horizontal-card-ttl span {
    display: block;
    padding-right: 40px;
    position: relative;
    width: 100%;
    font-weight: inherit;
}

.component-horizontal-card-ttl span::before {
    aspect-ratio: 1;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    content: '';
    display: block;
    height: auto;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: background 0.3s;
    width: 30px;
}

.component-horizontal-card-ttl span::after {
    aspect-ratio: 1;
    content: '';
    background-color: var(--color-primary);
    display: block;
    height: auto;
    -webkit-mask-image: url(/jp/assets/images/common/icon-arrow-green.svg);
    mask-image: url(/jp/assets/images/common/icon-arrow-green.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    mask-size: cover;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translate(50%, -50%);
    transition: background 0.3s;
    width: 10px;
}

.component-horizontal-card-txt {
    border-top: 1px solid var(--color-secondary);
    color: var(--color-black) !important;
    margin: 10px 0 0;
    padding-top: 14px;
}

.component-horizontal-card-txt-small {
    font-size: 14px;
    line-height: 2;
}

.component-horizontal-media-card {
    align-items: center;
}

.component-horizontal-card-img {
    width: min(8.4vw, 118px);
}

.component-horizontal-media-card .component-horizontal-card-contents {
    padding: 0 min(1.17vw, 20px);
    width: calc(100% - min(8.4vw, 118px));
}

.component-horizontal-media-card .component-horizontal-card-ttl {
    padding: 5px 0;
}

@media print,
screen and (min-width: 769px) {
    .component-horizontal-card {
        min-height: 80px;
    }

    .component-horizontal-card:hover img {
        transform: scale(1.1);
    }

    .component-horizontal-card:hover .component-horizontal-card-ttl {
        text-decoration: none;
    }

    .component-horizontal-card:hover .component-horizontal-card-ttl span::before {
        background-color: var(--color-primary);
    }

    .component-horizontal-card:hover .component-horizontal-card-ttl span::after {
        background-color: var(--color-white);
    }
}

@media screen and (max-width: 768px) {
    .component-horizontal-card {
        min-height: 70px;
    }

    .component-horizontal-card-img {
        width: min(28.61vw, 118px);
    }

    .component-horizontal-card-contents {
        padding: min(3.05vw, 11px) min(4.44vw, 16px);
    }

    .component-horizontal-card-img+.component-horizontal-card-contents {
        padding: 0 min(4.44vw, 16px);
        width: calc(100% - min(28.61vw, 118px));
    }

    .component-horizontal-card-ttl {
        font-size: min(4.44vw, 18px);
        min-height: 52px;
    }

    .component-horizontal-card-txt {
        font-size: min(3.88vw, 16px);
    }

    .component-horizontal-media-card {
        align-items: center;
        height: auto;
    }
}

/* delivery-card
======================*/
.delivery-card {
    border: 1px solid var(--color-secondary);
    border-radius: 10px;
    display: flex;
    overflow: hidden;
}

.delivery-card-img {
    border-radius: 10px 0 0 10px;
    width: 50%;
    border-right: 2px solid var(--color-secondary);
}

.delivery-card-img img {
    width: 100%;
}

.delivery-card-contents {
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 50px;
    width: 50%;
}

.delivery-ttl {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 15px;
}

.delivery-card-txt {
    font-size: 18px;
    margin: 0;
}

.delivery-card-btn {
    margin-top: min(3.45vw, 47px);
}

@media screen and (max-width:768px) {
    .delivery-card {
        flex-wrap: wrap;
    }

    .delivery-card-img {
        border-radius: 10px 10px 0 0;
        width: 100%;
        border-bottom: 1px solid var(--color-secondary);
        border-right: none;
    }

    .delivery-card-contents {
        padding: 26px 16px 32px;
        width: 100%;
    }

    .delivery-ttl {
        font-size: 26px;
    }

    .delivery-card-txt {
        font-size: 16px;
    }

    .delivery-card-btn {
        display: flex;
        justify-content: center;
        margin-top: 28px;
    }
}

.component-btn {
    padding-block: 1em;
    border-radius: 8px;
    text-decoration: none !important;
}

.component-btn span {
    padding-right: 15px;
}

.component-btn.-wauto {
    display: inline !important;
}

@media print,
screen and (min-width: 769px) {
    .component-btn:hover {
        background-color: var(--color-primary-hover);
    }
}


.component-h-lv2.arrow {
    background-position: 0 .5em !important;
}

@media print,
screen and (min-width: 769px) {
    .component-h-lv2.arrow {
        background-position: 0 .5em !important;
    }
}

#contents .breadcrumbs-inner {
    max-width: var(--content-width);
    margin-inline: auto;
    padding-top: 15px;
    padding-bottom: 14px;
    padding-inline: var(--edge-padding);
}

.breadcrumbs-list {
    position: relative;
    overflow-x: scroll;
    flex-wrap: nowrap;
}

.breadcrumbs-list::-webkit-scrollbar {
    display: none;
    scrollbar-width: none;
}

.breadcrumbs-item {
    white-space: nowrap !important;
}

#contents .component-table {
    max-width: var(--content-width);
    margin-inline: auto;
}


#contents .component-accordion .component-accordion-toggle {
    max-width: calc(var(--content-width) - (var(--edge-padding) * 2));
    margin-inline: auto;
}

@media screen and (max-width: 1024px) {
    #contents .component-accordion .component-accordion-toggle {
        max-width: calc(100% - (var(--edge-padding) * 2));
    }
}


/* @media screen and (max-width: 768px) {
} */

/* .view-pc-full .component-accordion .component-accordion-toggle {
    margin-inline: 0;
} */


/* ------------------------------------------------------------------
IR調整
------------------------------------------------------------------ */

@media screen and (max-width: 580px) {
    .row:has(.lang-list) {
        padding-inline-start: var(--edge-padding);
    }

    .col-1-1:has(.lang-list) {
        padding-inline-start: 0;
    }
}



#contents .component-btn,
#contents .component-btn-red a,
#contents .component-btn-red input[type="submit"],
#contents .component-btn-red input[type="button"] {
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: white;
    text-decoration: none !important;
    transition: background 0.3s !important;
}

#contents .component-btn,
#contents .component-btn-red a:hover,
.component-btn-red input[type="submit"]:hover,
.component-btn-red input[type="button"]:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
}

.component-btn-red a {
    color: var(--color-white) !important;
}

.component-btn-red a.hover-opacity:hover {
    opacity: 1 !important;
}

/* https://staging.fujitsu-general.com/resources/css/base.css */
#contents a:link {
    /* color: #06484f; */
    color: var(--color-primary);
    text-decoration: underline;
}

#contents a:visited {
    color: var(--color-primary);
    text-decoration: underline;
}

#contents a:hover {
    text-decoration: none;
}

#contents a:active {
    text-decoration: none;
}

.cmn-menu-parent-link {
    color: var(--color-primary) !important;
}


.c-container__block-col-ctaHeading, 
.c-container__block-col-ctaContainer {
    padding: 0;
    float: none;
}

.c-container__block-col-ctaButton {
    padding-inline: var(--size-sm)!important;
}

.c-footer__shop-link-span {
    color: var(--color-primary)!important;
}