.fs16 {
    font-size: 4.53vw
}

.fs24 {
    font-size: 5.6vw;
    font-weight: bold;
    line-height: 1.67;
    letter-spacing: .1em
}

.fs28 {
    font-size: 5.6vw
}

.fs30 {
    font-size: 6.4vw
}

.fs48 {
    font-size: 9.6vw;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .2em
}

.fs56 {
    font-size: 9.6vw
}

@media screen and (min-width: 768px) {
    .fs16 {
        font-size: 16px
    }

    .fs24 {
        font-size: 24px
    }

    .fs28 {
        font-size: 28px
    }

    .fs30 {
        font-size: 30px
    }

    .fs48 {
        font-size: 48px
    }

    .fs56 {
        font-size: 56px
    }
}

.btn-shared-1 {
    width: 47vw
}

.btn-shared-1 a {
    display: block;
    position: relative;
    border-bottom: 2px solid #d16155;
    padding-bottom: 6px
}

.btn-shared-1 a span {
    position: relative;
    display: block;
    color: #d16155;
    line-height: 1
}

.btn-shared-1 a span::before {
    content: "";
    position: absolute;
    border-right: 2px solid #d16155;
    border-bottom: 2px solid #d16155;
    top: 50%;
    right: 10px;
    width: 4px;
    height: 4px;
    transform: translateY(-50%) rotate(-45deg);
    transition: .3s
}

@media screen and (max-width: 767px) {
    .btn-shared-1 {
        margin: 0 auto
    }
}

@media screen and (min-width: 768px) {
    .btn-shared-1 {
        width: 200px
    }

    .btn-shared-1 a:hover span::before {
        right: 4px
    }
}

.btn-shared-2 {
    width: 70vw
}

.btn-shared-2 a {
    display: block;
    position: relative;
    text-align: center;
    border: 2px solid #d16155;
    color: #d16155;
    line-height: 49px
}

.btn-shared-2 a::before {
    content: "";
    position: absolute;
    border-right: 2px solid #d16155;
    border-bottom: 2px solid #d16155;
    top: 50%;
    right: 15px;
    width: 4px;
    height: 4px;
    transform: translateY(-50%) rotate(-45deg);
    transition: .3s
}

@media screen and (max-width: 767px) {
    .btn-shared-2 {
        margin: 0 auto
    }
}

@media screen and (min-width: 768px) {
    .btn-shared-2 {
        width: 300px
    }

    .btn-shared-2 a {
        line-height: 56px
    }

    .btn-shared-2 a::before {
        right: 18px
    }

    .btn-shared-2 a:hover {
        background: #fff
    }

    .btn-shared-2 a:hover::before {
        right: 11px
    }
}

#header {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: #eaeaea;
    transition: .5s
}

#header .group {
    padding: 60px 5.33% 100px
}

#header .group .nav-list li a {
    position: relative;
    width: -moz-fit-content;
    width: fit-content
}

#header .group .nav-list li a::after {
    content: "";
    position: absolute;
    background: #d16155;
    height: 2px;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    transition: .3s
}

#header .group .nav-list li a:hover::after,
#header .group .nav-list li a.active::after {
    width: 100%
}

#header .group .col-r .bot .nav-list li a {
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .075em
}

#header .group .col-r .bot .nav-list li+li {
    margin-top: 25px
}

#header .group .col-r .top {
    margin-top: 45px
}

#header .group .col-r .top .nav-list {
    display: flex;
    row-gap: 23px;
    flex-wrap: wrap
}

#header .group .col-r .top .nav-list li a {
    display: block;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .075em;
    /* padding-bottom: 6px */
}

#header .group .col-r .top .nav-list li:nth-child(1) {
    width: 100%
}

#header .group .col-r .top .contact {
    margin-top: 59px
}

#header .group .col-r .top .contact li a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f5f5f5;
    text-align: center;
    height: 80px;
    letter-spacing: .075em
}

#header .group .col-r .top .contact li a img {
    display: block
}

#header .group .col-r .top .contact li:nth-child(1) a {
    background: #333735;
    gap: 17.5px;
    font-size: 15px
}

#header .group .col-r .top .contact li:nth-child(1) a img {
    width: 15.5px;
    margin-top: 3px
}

#header .group .col-r .top .contact li:nth-child(2) {
    margin-top: 10px
}

#header .group .col-r .top .contact li:nth-child(2) a {
    background: #d16155;
    gap: 7.5px;
    font-size: 24px
}

#header .group .col-r .top .contact li:nth-child(2) a img {
    width: 11.5px;
    margin-top: 4px
}

#header .group .col-r .top .txt {
    text-align: center;
    color: #d16155;
    margin-top: 8px;
    font-size: 11px;
    line-height: 1
}

#header .group .col-l {
    margin-top: 50px
}

#header .group .col-l .logo a {
    display: block
}

#header .group .col-l .logo a img {
    display: block
}

#header .group .col-l .info {
    margin-top: 22px;
    font-size: 12px;
    line-height: 22px
}

#header .group .col-l .info a {
    display: block;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    border-bottom: 1px solid #d16155;
    color: #d16155;
    letter-spacing: .075em
}

#header .group .col-l .info a img {
    width: 9px;
    margin: -3px 0 0 1px
}

#header .logo-container {
    text-align: center;
}
#header .logo-container .top-text {
    font-size: 12px;
    letter-spacing: 2px;
    color: #000;
}
#header .logo-container .bottom-section {
    display: flex;
    justify-content: center;
    align-items: center;
}
#header .logo-container .logo-svg {
    width: 272px;
    height: 42px;
    display: block;
}
#header .logo-black .logo-container .logo-svg {
    width: 209px;
    height: 32px;
}
/* White logo variant */
#header .logo-white .logo-container .top-text {
    color: #fff;
}
header .logo-white .logo-container .bottom-section img {
    fill:#fff;
}

@media screen and (max-width: 767px) {
    #header {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        overflow-y: auto
    }

    #header .group .col-r .top .nav-list li:nth-child(3) a::before,
    #header .group .col-r .top .nav-list li:nth-child(4) a::before {
        content: "/";
        font-weight: bold;
        margin: 0 14px;
        color: #c4c4c4;
        font-size: 14px;
        font-weight: bold;
        letter-spacing: 0
    }

    #header .logo-white {
        display: none
    }
}

@media screen and (min-width: 768px) {
    #header {
        background: #fbfbfb;
        bottom: auto;
        height: 100px
    }

    #header .group {
        display: flex;
        justify-content: space-between;
        padding: 0 26px
    }

    #header .group .col-r {
        order: 2;
        display: flex;
        flex-direction: column;
        margin-top: 6px
    }

    #header .group .col-r .bot {
        order: 2;
        margin: 11px 386px 0 0
    }

    #header .group .col-r .bot .nav-list {
        display: flex;
        justify-content: flex-end;
        gap: 34px
    }

    #header .group .col-r .bot .nav-list li a {
        color: #4c4c4c;
        font-size: 16px;
        line-height: 28px
    }

    #header .group .col-r .bot .nav-list li+li {
        margin-top: 0
    }

    #header .group .col-r .top {
        display: flex;
        order: 1;
        margin-top: 0
    }

    #header .group .col-r .top .nav-list {
        flex-wrap: nowrap;
        gap: 28px;
        margin: 0 0 0 auto;
        align-items: center;
    }

    #header .group .col-r .top .nav-list li a {
        color: #4c4c4c;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.5;
    }

    #header .group .col-r .top .nav-list li:nth-child(1) {
        width: auto
    }

    #header .group .col-r .top .contact {
        position: absolute;
        top: 42px;
        right: 26px;
        display: flex;
        gap: 5px;
        margin-top: 0
    }

    #header .group .col-r .top .contact li a {
        height: 35px
    }

    #header .group .col-r .top .contact li a:hover {
        opacity: .7
    }

    #header .group .col-r .top .contact li:nth-child(1) {
        order: 2;
        width: 141px
    }

    #header .group .col-r .top .contact li:nth-child(1) a {
        gap: 6px;
        font-size: 13px
    }

    #header .group .col-r .top .contact li:nth-child(1) a img {
        width: 18px;
        margin-top: 0px
    }

    #header .group .col-r .top .contact li:nth-child(2) {
        order: 1;
        width: 198px;
        margin-top: 0
    }

    #header .group .col-r .top .contact li:nth-child(2) a {
        pointer-events: none;
        gap: 5px;
        font-size: 22px;
        padding-bottom: 4px
    }

    #header .group .col-r .top .contact li:nth-child(2) a img {
        width: 14px;
        margin-top: 5px
    }

    #header .group .col-l {
        order: 1;
        margin-top: 16px
    }

    #header .group .col-l .logo.logo-white {
        display: none
    }

    #header .group .col-l .logo.logo-black {
        display: block
    }

    #header.header-white {
        position: absolute;
        background: rgba(0, 0, 0, 0)
    }

    #header.header-white .group .nav-list li a {
        color: #f5f5f5 !important
    }

    #header.header-white .group .nav-list li a::before {
        background: #f5f5f5
    }

    #header.header-white .group .col-l .logo.logo-black {
        display: none
    }

    #header.header-white .group .col-l .logo.logo-white {
        display: block
    }
}

@media screen and (min-width: 768px)and (max-width: 1380px) {
    #header .group {
        padding: 0 20px
    }

    #header .group .col-r .top .contact {
        right: 20px
    }

    #header .group .col-r .bot {
        margin: 15px 355px 0 0
    }

    #header .group .col-r .bot .nav-list {
        gap: 15px
    }

    #header .group .col-r .bot .nav-list li a {
        font-size: 15px
    }
    #header .logo-black .logo-container .logo-svg {
        width: 100px;
        height: auto;
    }
}

#ft-bnr-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #f5f5f5
}

#ft-bnr-fixed ul {
    display: flex
}

#ft-bnr-fixed ul li {
    height: 50px
}

#ft-bnr-fixed ul li a {
    height: 100%
}

#ft-bnr-fixed ul li img {
    display: block
}

#ft-bnr-fixed ul li:nth-child(1) {
    width: 37.4666666667%
}

#ft-bnr-fixed ul li:nth-child(1) img {
    margin: 0 auto;
    width: auto;
    height: 50px
}

#ft-bnr-fixed ul li:nth-child(2) {
    width: 47.8666666667%
}

#ft-bnr-fixed ul li:nth-child(2) a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    border-left: 2px solid #ccc;
    border-right: 2px solid #ccc;
    color: #d16155;
    font-size: 21px;
    font-weight: bold;
    line-height: 1
}

#ft-bnr-fixed ul li:nth-child(2) a img {
    width: 11px;
    margin-top: 4px
}

#ft-bnr-fixed ul li:nth-child(3) {
    width: 14.6666666667%
}

#contact {
    background: #f5f5f5;
    padding: 25vw 0
}

#contact .box {
    background: #ebebeb;
    padding: 12.5vw 7%
}

#contact h2 {
    text-align: center;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .2em
}

#contact .txt-lead {
    margin-top: 6.5vw;
    font-size: 16px
}

#contact .group-link {
    margin-top: 13.5vw
}

#contact .group-link li {
    position: relative;
    text-align: center;
    border: 2px solid #d16155;
    background: #f5f5f5;
    color: #d16155;
    min-height: 198px
}

#contact .group-link li a {
    display: block;
    height: 100%
}

#contact .group-link li .subject {
    padding-top: 22px;
    font-size: 15.75px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .1em
}

#contact .group-link li:nth-child(1)::before {
    content: "";
    position: absolute;
    background: url("../img/shared/icon_link.png") no-repeat;
    background-size: 100%;
    width: 10.5px;
    height: 10.5px;
    bottom: 13px;
    right: 13px
}

#contact .group-link li:nth-child(1) .icon {
    position: absolute;
    top: calc(50% + 9px);
    left: 50%;
    transform: translate(-50%, -50%);
    width: 99px
}

#contact .group-link li:nth-child(2) {
    margin-top: 6vw
}

#contact .group-link li:nth-child(2) dl {
    margin-top: 37px
}

#contact .group-link li:nth-child(2) dl * {
    letter-spacing: .075em
}

#contact .group-link li:nth-child(2) dl dt {
    font-size: 31.5px;
    font-weight: bold
}

#contact .group-link li:nth-child(2) dl dt img {
    width: 16px;
    margin: -4px 7px 0 0
}

#contact .group-link li:nth-child(2) dl dd {
    margin-top: 25px;
    font-size: 10.5px;
    line-height: 17.5px
}

@media screen and (min-width: 768px) {
    #contact {
        padding: 150px 0
    }

    #contact .wrap {
        max-width: 1200px
    }

    #contact .box {
        padding: 96px 0 91px
    }

    #contact .txt-lead {
        max-width: 680px;
        margin: 41px auto 0
    }

    #contact .group-link {
        display: flex;
        justify-content: space-between;
        max-width: 722px;
        margin: 47px auto 0
    }

    #contact .group-link li {
        width: 330px;
        min-height: 340px
    }

    #contact .group-link li .subject {
        padding-top: 46px;
        font-size: 18px
    }

    #contact .group-link li:nth-child(1)::before {
        width: 12px;
        height: 12px;
        bottom: 15px;
        right: 15px
    }

    #contact .group-link li:nth-child(1) .icon {
        width: 113px;
        transition: .3s
    }

    #contact .group-link li:nth-child(1):hover .icon {
        width: 152px
    }

    #contact .group-link li:nth-child(2) {
        margin-top: 0
    }

    #contact .group-link li:nth-child(2) dl {
        margin-top: 79px
    }

    #contact .group-link li:nth-child(2) dl dt {
        font-size: 36px
    }

    #contact .group-link li:nth-child(2) dl dt img {
        width: 19px
    }

    #contact .group-link li:nth-child(2) dl dd {
        margin-top: 16px;
        font-size: 12px;
        line-height: 20px
    }
}

#outro {
    position: relative;
    z-index: 1
}

#outro::before {
    content: "";
    position: absolute;
    background: #f5f5f5;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    z-index: -1
}

#outro .inner {
    position: relative
}

#outro h3 {
    position: absolute;
    top: 5vw;
    right: 5vw;
    z-index: 1;
    color: #fff;
    text-shadow: 2px 2px 10px #000;
    line-height: 2.5;
    letter-spacing: .05em
}

#outro .photo {
    margin-left: auto;
    max-width: 73%;
    height: 106vw
}

#outro .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width: 768px) {
    #outro::before {
        height: 377px
    }

    #outro .photo {
        max-width: 1080px;
        height: 630px
    }

    #outro h3 {
        top: 83px;
        right: 133px
    }
}

#keyvisual-child {
    position: relative;
    padding: 15vw 5.33%;
    z-index: 1
}

#keyvisual-child .deco {
    position: absolute;
    top: 110vw;
    right: 0;
    width: 70%;
    z-index: -1
}

#keyvisual-child h1 {
    text-align: center
}

#keyvisual-child .photo {
    margin: 8vw 12.5% 0
}

#keyvisual-child .group-txt {
    margin-top: 8vw
}

#keyvisual-child .group-txt h3 {
    font-weight: bold;
    line-height: 1.67;
    letter-spacing: .1em
}

#keyvisual-child .group-txt .txt {
    margin-top: 5vw
}

#keyvisual-child .group-link {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 8vw;
    row-gap: 10px
}

#keyvisual-child .group-link li {
    width: calc(50% - 5px)
}

#keyvisual-child .group-link li a {
    display: block;
    position: relative;
    background: #f2f2f2;
    border: 2px solid #d16155;
    text-align: center;
    font-size: 12.5px;
    font-weight: bold;
    line-height: 3.5;
    letter-spacing: .1em
}

#keyvisual-child .group-link li a::before {
    content: "";
    position: absolute;
    border-right: 2px solid #d16155;
    border-bottom: 2px solid #d16155;
    top: calc(50% - 2px);
    right: 10px;
    width: 4px;
    height: 4px;
    transform: translateY(-50%) rotate(45deg);
    transition: .3s
}

@media screen and (min-width: 768px) {
    #keyvisual-child {
        padding: 200px 0 142px
    }

    #keyvisual-child .deco {
        width: auto;
        top: 479px
    }

    #keyvisual-child h1 {
        position: absolute;
        top: 232px;
        right: calc(50% + 228px);
        text-align: left
    }

    #keyvisual-child .photo {
        text-align: center;
        margin: 0
    }

    #keyvisual-child .group-txt {
        max-width: 726px;
        margin: 67px auto 0
    }

    #keyvisual-child .group-txt .txt {
        margin-top: 22px
    }

    #keyvisual-child .group-link {
        max-width: 1000px;
        margin: 143px auto 0;
        row-gap: 26px
    }

    #keyvisual-child .group-link li {
        width: 314px
    }

    #keyvisual-child .group-link li a {
        font-size: 24px;
        line-height: 86px
    }

    #keyvisual-child .group-link li a::before {
        right: 20px
    }

    #keyvisual-child .group-link li a:hover::before {
        right: 15px
    }
}

#footer {
    padding: 55px 0 100px
}

#footer .nav-list {
    margin-top: 50px
}

#footer .nav-list ul li a {
    position: relative;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: bold;
    letter-spacing: .075em
}

#footer .nav-list ul li a::after {
    content: "";
    position: absolute;
    background: #d16155;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    transition: .3s
}

#footer .nav-list ul li a.active::after {
    width: 100%
}

#footer .nav-list ul:nth-child(1) li a {
    font-size: 18px;
    line-height: 1.5
}

#footer .nav-list ul:nth-child(1) li+li {
    margin-top: 25px
}

#footer .nav-list ul:nth-child(2) {
    display: flex;
    flex-wrap: wrap;
    row-gap: 23px;
    margin-top: 31px
}

#footer .nav-list ul:nth-child(2) li a {
    line-height: 1.75;
}

#footer .nav-list ul:nth-child(2) li:nth-child(1) {
    width: 100%
}

#footer .subject {
    margin: 30px 0 -15px
}

#footer .info {
    margin-top: 34px;
    font-size: 14px;
    line-height: 24.5px;
    letter-spacing: .075em
}

#footer .info a {
    display: block;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    border-bottom: 2px solid #d16155;
    color: #d16155;
    letter-spacing: .075em
}

#footer .info a img {
    width: 9px;
    margin: -3px 0 0 1px
}

#footer .contact {
    margin: 40px 14.5% 0
}

#footer .contact li a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 2px solid #d16155;
    color: #d16155;
    background: #f5f5f5;
    gap: 6px;
    height: 70px;
    font-weight: bold;
    letter-spacing: .075em
}

#footer .contact li a img {
    display: block;
    margin-top: 4px
}

#footer .contact li:nth-child(1) a {
    font-size: 13px
}

#footer .contact li:nth-child(1) a img {
    width: 16px
}

#footer .contact li:nth-child(2) {
    margin-top: 10px
}

#footer .contact li:nth-child(2) a {
    font-size: 24px
}

#footer .contact li:nth-child(2) a img {
    width: 12.5px
}

#footer .txt {
    text-align: center;
    color: #d16155;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0
}

#footer .ft-js {
    margin-top: 52px;
    width: 65%
}

#footer .ft-js .item img {
    border-radius: 0 35px 35px 0
}

@media screen and (max-width: 767px) {

    #footer .nav-list ul:nth-child(2) li:nth-child(3) a::before,
    #footer .nav-list ul:nth-child(2) li:nth-child(4) a::before {
        content: "/";
        font-weight: bold;
        margin: 0 14px;
        color: #c4c4c4;
        font-size: 14px;
        font-weight: bold;
        letter-spacing: 0
    }
}

@media screen and (min-width: 768px) {
    #footer {
        padding: 304px 0 153px
    }

    #footer .wrap {
        position: unset
    }

    #footer .group {
        display: flex;
        justify-content: space-between;
        max-width: 884px;
        margin: 0 auto
    }

    #footer .logo {
        position: absolute;
        text-align: center;
        top: 297px;
        left: 50%;
        transform: translateX(-50%)
    }

    #footer .nav-list {
        position: absolute;
        top: 134px;
        left: 0;
        right: 0;
        margin-top: 0;
        z-index: 1
    }

    #footer .nav-list ul {
        display: flex;
        justify-content: center
    }

    #footer .nav-list ul li+li {
        position: relative;
        margin: 0 0 0 40px !important;
        padding-left: 50px !important
    }

    #footer .nav-list ul li a:hover::after {
        width: 100%
    }

    #footer .nav-list ul li+li::before {
        content: "/";
        position: absolute;
        top: -3px;
        left: 0;
        color: gray;
        font-size: 18px;
        font-weight: bold;
        letter-spacing: 0
    }

    #footer .nav-list ul li a {
        line-height: 28px !important
    }

    #footer .nav-list ul:nth-child(2) {
        flex-wrap: nowrap;
        margin-top: 27px
    }

    #footer .nav-list ul:nth-child(2) li:nth-child(1) {
        width: auto
    }

    #footer .col-l {
        margin-top: 43px
    }

    #footer .subject {
        margin: 0;
        font-size: 14px;
        line-height: 28px
    }

    #footer .info {
        margin-top: 9px;
        font-size: 14px;
        line-height: 28px
    }

    #footer .info a img {
        width: 10px;
        margin: -5px 0 0 2px
    }

    #footer .info a:hover {
        border-color: rgba(0, 0, 0, 0)
    }

    #footer .txt-bot {
        margin-top: 33px;
        font-size: 10px;
        line-height: 20px;
        letter-spacing: .05em
    }

    #footer .txt-bot .btn-cookie a {
        border-left: 1px solid rgba(0, 0, 0, 0);
        letter-spacing: .05em
    }

    #footer .txt-bot .btn-cookie a:hover {
        border-color: #4c4c4c
    }

    #footer .col-r {
        width: 270px;
        margin-top: 10px
    }

    #footer .contact {
        margin: 32px 0 0
    }

    #footer .contact li a {
        height: 80px
    }

    #footer .contact li a img {
        margin-top: 0
    }

    #footer .contact li a:hover {
        opacity: .7
    }

    #footer .contact li a[href^="tel:"] {
        pointer-events: none;
        cursor: text
    }

    #footer .contact li:nth-child(1) a {
        font-size: 15px
    }

    #footer .contact li:nth-child(1) a img {
        width: 18px
    }

    #footer .contact li:nth-child(2) {
        margin-top: 12px
    }

    #footer .contact li:nth-child(2) a {
        font-size: 27px
    }

    #footer .contact li:nth-child(2) a img {
        width: 14px;
        margin-top: 3px
    }

    #footer .txt {
        margin-top: 10px;
        font-size: 11px
    }
}
@media screen and (min-width: 768px)and (max-width: 1320px) {
    #footer .nav-list ul:nth-child(1) li a {
    font-size: 0.9rem;
}
    #footer .nav-list ul:nth-child(2) li a {
    font-size: 0.8rem;
}
}
.d-flex {
    display: flex;
    justify-content: space-between
}

.banner-shared {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3vw 0;
    padding: 10vw 5vw
}

.banner-shared li {
    width: 100%
}

.banner-shared li a {
    display: block;
    position: relative;
    height: 30vw
}

.banner-shared li a span {
    font-size: 5vw;
    line-height: 1.4;
    font-weight: 700;
    color: #fff;
    letter-spacing: .1em;
    position: absolute;
    bottom: 3vw;
    right: 5vw;
    z-index: 1;
    padding-right: 8vw
}

.banner-shared li a span:after {
    background: url(../img/support/arow.png) no-repeat center/100%;
    content: "";
    width: 5vw;
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0
}

.banner-shared li a img {
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%
}

@media screen and (min-width: 768px) {
    .banner-shared {
        gap: 18px 0;
        padding: 0;
        max-width: 1000px;
        margin: 0 auto
    }

    .banner-shared li {
        width: calc(50% - 10px)
    }

    .banner-shared li a {
        height: 177px;
        overflow: hidden
    }

    .banner-shared li a span {
        font-size: 24px;
        line-height: 30px;
        bottom: 20px;
        right: 20px;
        z-index: 1;
        padding-right: 40px
    }

    .banner-shared li a span:after {
        width: 30px;
        transition: all .3s ease;
        -moz-transition: all .3s ease;
        -webkit-transition: all .3s ease
    }

    .banner-shared li a img {
        -o-object-fit: cover;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 1 !important;
        transition: all .3s ease !important;
        -moz-transition: all .3s ease !important;
        -webkit-transition: all .3s ease !important
    }

    .banner-shared li a:hover img {
        transform: scale(1.2) !important
    }

    .banner-shared li a:hover span::after {
        right: -10px
    }

    .banner-shared li.full {
        width: 100%
    }

    .banner-shared li.full a span {
        font-size: 26px
    }
}

#question {
    padding: 15vw 0
}

#question h2 {
    text-align: center
}

#question .accordion {
    margin-top: 10vw
}

#question .accordion .toggle dl {
    display: flex
}

#question .accordion .toggle dl dt {
    font-weight: bold;
    color: #d16155;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0
}

#question .accordion .toggle dl dd {
    flex: 1;
    text-align: justify;
    margin-left: 20px
}

#question .accordion .toggle .toggle-link {
    border-bottom: 2px solid #d16155;
    padding: 0 35px 10px 0
}

#question .accordion .toggle .toggle-link::before,
#question .accordion .toggle .toggle-link:after {
    content: "";
    position: absolute;
    background: #d16155
}

#question .accordion .toggle .toggle-link::before {
    width: 18px;
    height: 2px;
    top: 18px;
    right: 0
}

#question .accordion .toggle .toggle-link:after {
    height: 18px;
    width: 2px;
    right: 8px;
    top: 10px
}

#question .accordion .toggle .toggle-link dl dd {
    font-size: 18px;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .1em
}

#question .accordion .toggle .toggle-main {
    margin-top: 10px
}

#question .accordion .toggle .toggle-main .btn-shared-1 {
    margin: 20px 0 0 auto
}

#question .accordion .toggle .toggle-main .btn-shared-1 a span::before {
    top: calc(50% + 2px);
    transform: translateY(-50%) rotate(-135deg)
}

#question .accordion .toggle+.toggle {
    margin-top: 10vw
}

#question .accordion .toggle.active .toggle-link::after {
    display: none
}

@media screen and (min-width: 768px) {
    #question {
        padding: 138px 0 150px
    }

    #question .accordion {
        max-width: 943px;
        margin: 52px auto 0
    }

    #question .accordion .toggle dl {
        display: flex
    }

    #question .accordion .toggle dl dd {
        margin-left: 30px
    }

    #question .accordion .toggle .toggle-link {
        padding: 0 40px 7px 0
    }

    #question .accordion .toggle .toggle-link::before,
    #question .accordion .toggle .toggle-link:after {
        top: 50% !important;
        transform: translateY(-50%)
    }

    #question .accordion .toggle .toggle-link::before {
        right: 10px
    }

    #question .accordion .toggle .toggle-link:after {
        right: 18px
    }

    #question .accordion .toggle .toggle-link dl dd {
        font-size: 20px
    }

    #question .accordion .toggle .toggle-main {
        margin-top: 15px
    }

    #question .accordion .toggle .toggle-main dl dt {
        margin-top: 6px
    }

    #question .accordion .toggle .toggle-main dl dd .btn-shared-1 {
        margin-top: 16px
    }

    #question .accordion .toggle+.toggle {
        margin-top: 60px
    }
}