/* ========== FONT ========== */
@import url('https://fonts.googleapis.com/css2?family=Arimo:wght@400;500;600;700&amp;family=Zen+Kaku+Gothic+New:wght@400;500;700&amp;display=swap');

:root {
    --font_zenkaku: "Zen Kaku Gothic New", sans-serif;
    --font_arimo: "Arimo", sans-serif;
    --d-red: #e60000;
    --color_accent: #00a8e6;
}

html {
    overflow: auto;
    scroll-behavior: smooth;
}

body {
    position: relative;
    overflow: hidden;
    line-height: 1.75;
    color: #000;
    font-family: var(--font_zenkaku);
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

a {
    display: inline-block;
}

.sp {
    display: none;
}

.inner_detail {
    width: 100%;
    max-width: 1195px !important;
    padding: 0 15px;
    margin: 0 auto;
}


div.main-inner,
div.inner {
    max-width: 1166px;
    width: 100%;
    margin: auto;
}

div.s_inner {
    max-width: 1024px;
    width: 100%;
    margin: auto;
}

div.flex-fsb-head {
    display: flex;
    justify-content: space-between;
}

div.flex-fsb-head p {
    text-align: left;
    font-size: 16px;
    line-height: 1.7;
}

.top-sustainable-future.future_sec div.flex-fsb-head p {
    font-size: 16px;
    text-align: end;
}

@media screen and (min-width: 769px) {
    .sp-only {
        display: none !important;
    }
}

@media screen and (min-width: 501px) {
    .sp500-only {
        display: none !important;
    }

}

/* ============FOOTER STYLE============== */
footer.footer {
    display: flex;
    flex-direction: column;
    padding-top: 50px;
    background-color: #F5F4EC;
    margin-top: 150px;
}

footer.footer div.footer_head {
    display: flex;
    justify-content: space-between;
    padding-left: 50px;
    max-width: 1216px;
    width: 100%;
    margin: auto;
    padding-bottom: 50px;
}

footer.footer div.footer_head div.footer-left {
    display: flex;
    flex-direction: column;
}

footer.footer div.footer_head div.footer-left img.footer-left-logo {
    width: 130px;
    height: 31px;
    display: block;
}

footer.footer div.footer_head div.footer-left p.footer-left_text {
    font-size: 12px;
    margin-top: 35px;
    line-height: 1.75;
    font-weight: 400;
    color: #000;
}

footer.footer div.footer_head div.footer-right {
    display: flex;
}

footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list {
    margin-bottom: 15px;
}

footer.footer div.footer_head div.footer-right ul:last-child li.footer-right-menu_list:last-child {
    margin-bottom: 0;
}

footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list a {
    color: #000;
    font-size: 14px;
    display: flex;
    align-items: center;
    line-height: 1.75;
}

footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list a:hover {
    color: var(--d-red);
    text-decoration: underline;
}

footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list a img {
    display: block;
    margin-right: 10px;
    width: 15px;
    height: 9px;
}

footer.footer div.footer_body {
    height: 76px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid #E5E4DC;
}

footer.footer div.footer_body small {
    font-size: 14px;
}

/* ==================NEW FOOTER STYLE========================== */
.footer_section {
    width: 100%;
    margin-top: 167px;
    border-top: 6px solid var(--d-red);
}

.footer_section-text {
    border-bottom: 1px solid #E5E4DC;
    font-size: 12px;
    text-align: center;
    line-height: 1.75;
    padding-top: 24px;
    padding-bottom: 24px;
}

.footer_section-link_line {
    border-bottom: 1px solid #E5E4DC;
    padding: 24px 0;
}

.footer_section-link_line ul {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}

.footer_section-link_line ul li {
    font-size: 14px;
}

.footer_section-link_line ul li:hover {
    color: var(--d-red);
}

.footer_section-link_line ul li:hover a {
    text-decoration: underline;
}

.footer_section-link_line ul li span {
    color: var(--d-red);
}

.footer_section-company_name {
    padding: 24px 0;
    text-align: center;
    font-size: 14px;
}


/* ============FIRST VIEW VIDEO STYLE============== */
.top-first_section {
    width: 100%;
    position: relative;
    overflow: hidden;
}


.white_head-line {
    width: 100%;
    padding-right: 80px;
    padding-left: 100px;
}

.white_head-line_inner {
    margin: auto;
    margin-top: 86px;
    padding-top: 23px;
    padding-bottom: 25px;
    max-width: 1187px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.top-first_section-video {
    object-fit: cover;
    width: 100%;
    position: relative;
    vertical-align: top;
    height: auto;
    aspect-ratio: 560/305;
}

.top-first_section_img {
    width: 100%;
    height: auto;
}

.top-first_section_title {
    position: absolute;
    bottom: min(7.321vw, 100px);
    left: min(7.321vw, 100px);
}

.top-first_section_title span {
    font-size: clamp(23px, 3.953vw, 54px);
    font-weight: bold;
    color: var(--d-red);
    background-color: #fff;
}

/* ============FIRST NEWS SECTION============== */
div.top-first_new {
    width: fit-content;
    padding-top: 30px;
    padding-bottom: 15px;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #D3D3D3;
    margin: 0 auto;
}

div.top-first_new h2.top-first_news-title {
    font-size: 20px;
    font-weight: bold;
    line-height: initial;
    margin-right: 50px;
}

div.top-first_new ul {}

div.top-first_new ul li:nth-child(2) {
    margin: 15px 0;
}

div.top-first_new ul li {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    display: flex;
    align-items: baseline;
    cursor: default;
    line-height: initial;
}

div.top-first_new ul li span {
    font-size: 16px;
    color: #868686;
    margin-right: 30px;
    font-weight: 400;
    line-height: initial;
}

div.top-first_new ul li img {
    margin-left: 10px;
}

/* ==================MAPPING SUSTAINABILITY SECTION====================== */
section.top-mapping {
    margin: auto;
    margin-top: 150px;
    width: 100%;
}

section.top-mapping div.top-mapping_left {
    display: flex;
    flex-direction: column;
    max-width: 1170px;
    width: 100%;
    margin: auto;
}

section.top-mapping div.top-mapping_left h1.top-mapping-title {
    font-size: 34px;
    font-weight: bold;
    color: var(--d-red);
    margin-bottom: 30px;
    line-height: 1.5;
}

section.top-mapping div.top-mapping_left p {
    font-size: 20px;
    font-weight: 600;
}

section.top-mapping div.top-mapping_left p span {
    display: block;
    margin-top: 30px;
    color: var(--d-red);
    font-size: 16px;
    font-weight: bold;
    line-height: initial;
}

section.top-mapping div.top-mapping_left a.d-btn {
    margin-top: 50px;
}

section.top-mapping div.top-out-right {
    display: flex;
    justify-content: center;
    overflow: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: auto;
    margin-top: -150px;
    padding-top: 50px;
}

section.top-mapping div.top-mapping_right {
    position: relative;
    min-width: 1166px;
    height: 913px;
    cursor: grab;
}

#scroll-container::-webkit-scrollbar {
    display: none;
}

section.top-mapping div.top-mapping_right:active {
    cursor: grabbing;
}

section.top-mapping div.top-mapping_right .mapping-content {
    cursor: pointer;
    position: absolute;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.mapping-content.first {
    width: 205px;
    height: 263px;
    top: 47px;
    right: -81px;
    z-index: 1;
}

.mapping-content.first svg {
    width: 100%;
    height: 100%;
}


section.top-mapping div.top-mapping_right .mapping-content.n01 {
    width: 509px;
    height: 361px;
    bottom: 129px;
    left: 0;
}


section.top-mapping div.top-mapping_right .mapping-content.n02 {
    width: 509px;
    height: 496px;
    top: 84px;
    right: 349px;
}

section.top-mapping div.top-mapping_right .mapping-content.n03 {
    width: 533px;
    height: 376px;
    top: 0;
    right: 0;
}

section.top-mapping div.top-mapping_right .mapping-content.n03 .mapping-content-inner_box {
    top: 60%;
}

section.top-mapping div.top-mapping_right .mapping-content.n04 {
    width: 507px;
    height: 396px;
    bottom: 0;
    right: 181px;
}

section.top-mapping div.top-mapping_right .mapping-content.n05 {
    width: 508px;
    height: 361px;
    right: -148px;
    bottom: 225px;
}

/* pop content */
section.top-mapping div.top-mapping_right .mapping-content:hover .mapping-content-inner_box {
    opacity: 1;
    visibility: visible;
}

.mapping-inner-flex_style {
    display: flex;
}

.mapping-content-inner_box {
    width: max-content;
    padding: 30px;
    border-radius: 10px;
    border: 2px solid var(--d-red);
    background-color: rgba(255, 255, 255, 90%);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .3s;
    z-index: 2;

    opacity: 0;
    visibility: hidden;
}

.mapping-content-inner_box h2 {
    font-size: 24px;
    font-weight: bold;
    color: var(--d-red);
    text-align: center;
}

.mapping-content-inner_box p {
    font-size: 14px;
    color: var(--d-red);
    text-align: center;
    margin-top: 10px;
    font-weight: bold;
    white-space: nowrap;
}

.mapping-content-inner_box ul {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 23px;
    padding-left: 20px;
    padding-right: 20px;
}

.mapping-content-inner_box ul li:hover a {
    color: var(--d-red);
    text-decoration: underline;
}

.mapping-content-inner_box ul li {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    line-height: 1.5;
    display: flex;
}

.mapping-content-inner_box ul li a {
    display: flex;
    align-items: baseline;
}

.mapping-content-inner_box ul li span {
    width: 9px;
    height: 9px;
    border-top: 2px solid var(--d-red);
    border-right: 2px solid var(--d-red);
    transform: rotate(45deg);
    display: block;
    margin-right: 10px;
}

/* ====================SUSTAINABLE ACTION TOP PAGE SECTION======================== */
section.top-sustainable-action {
    margin-top: 150px;
    width: 100%;
}

section.top-sustainable-action div.sustainable-action-column {
    margin-top: 78px;
}

div.top-sustainable-action_sec-block {
    width: 100%;
    height: 100%;
    position: relative;
    padding-bottom: 100px;
    margin-top: 290px;
}

div.top-sustainable-action_sec-block::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: #F5F4EC;
    width: 100%;
    height: 100%;
    z-index: -1;
}

a.top-sustainable-action_sec-block-sha_img {
    position: relative;
    top: unset;
    left: unset;
    transform: translate(unset);
}

a.top-sustainable-action_sec-block-sha_img,
div.top-sustainable-action_sec-block a.top-sustainable-action_sec-block-sha_img {
    max-width: 1024px;
    width: 100%;
    height: auto;
    aspect-ratio: 1024/293;
    display: block;
    position: absolute;
    top: -180px;
    left: 50%;
    transform: translateX(-50%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: .1s;
}

a.top-sustainable-action_sec-block-sha_img img,
div.top-sustainable-action_sec-block .top-sustainable-action_sec-block-sha_img img {
    width: 100%;
    height: auto;
}

div.top-sustainable-action_sec-block h2.top-sustainable-action_sec-block-title {
    padding-top: 200px;
    text-align: center;
    color: var(--d-red);
    font-size: 32px;
    font-weight: bold;
}

div.top-sustainable-action_sec-block p.top-sustainable-action_sec-block-p {
    max-width: 853px;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    margin: auto;
    margin-top: 30px;
    font-weight: 400;
}



div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_open-btn {
    margin: auto;
    margin-top: 50px;
    border-radius: 50%;
    background-color: var(--d-red);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    width: 120px;
    height: 120px;
    cursor: pointer;
    padding-top: 15px;
}

div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_open-btn img {
    display: block;
    margin-top: 10px;
}

div.top-sustainable-action_sec-block .top-sustainable-action_sec-block-zu {
    display: block;
    max-width: 850px;
    width: 100%;
    margin: auto;
    margin-top: 50px;
}

div.top-sustainable-action_sec-block div.triangle {
    width: 44px;
    height: 24px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: auto;
    margin-top: 50px;
}

div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_policy-box {
    max-width: 1024px;
    width: 100%;
    border: 2px solid var(--d-red);
    border-radius: 20px 0 20px 0;
    padding-top: 38px;
    padding-bottom: 50px;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: auto;
    margin-top: 50px;
}

div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_policy-box div.top-sustainable-action_sec-block_policy-box-title {
    max-width: 511px;
    width: 100%;
    height: 36px;
    background-color: var(--d-red);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    position: absolute;
    top: calc(-36px / 2);
    left: 50%;
    transform: translateX(-50%);
}

div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_policy-box h2.top-sustainable-action_sec-block_policy-h2 {
    text-align: center;
}

div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_policy-box h2.top-sustainable-action_sec-block_policy-h2 .m {
    display: inline;
    background-position: left -100% center;
    padding-bottom: 0.6em;
    font-weight: bold;
    background-size: 200% 0.4em;
    background-repeat: repeat-x;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgb(255, 255, 255) 50%);
    transition: background-position 2s ease 0.1s;
    font-size: 50px;
    font-weight: bold;
    line-height: 1.75;
    color: var(--d-red);
}

div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_policy-box p.top-sustainable-action_sec-block_policy-box-p {
    text-align: center;
    color: var(--d-red);
    font-size: 24px;
    font-weight: bold;
    margin-top: 20px;
    line-height: normal;
}

div.top-sustainable-action_sec-block a.d-btn {
    margin: auto;
    margin-top: 50px;
}

div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block-first_none {
    display: none;
}

/* ====================SUSTAINABLE RELAY TOP PAGE SECTION======================== */
section.top-sustainable-relay {
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-bottom: 150px;
}

section.top-sustainable-relay img.top-sustainable-relay_background-img {
    /* width: 200%;
    height: 200%; */
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

section.top-sustainable-relay div.top-sustainable-relay_content {
    margin-top: 150px;
    position: relative;
}


section.top-sustainable-relay div.top-sustainable-relay_content p.section_title_block-relay_text {
    font-size: 16px;
    font-weight: 400;
    margin-top: 30px;
}

section.top-sustainable-relay div.top-sustainable-relay_content p.section_title_block-relay_text.red-color {
    font-size: 16px;
    font-weight: bold;
    color: var(--d-red);
}

section.top-sustainable-relay div.top-sustainable-relay_block {
    display: flex;
    flex-wrap: wrap;
    gap: 4%;
    row-gap: 50px;
    margin-top: 50px;
}

section.top-sustainable-relay #opens_btns {
    display: none;
    margin: auto;
    margin-top: 50px;
    border-radius: 50%;
    background-color: var(--d-red);
    color: #fff;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    width: 120px;
    height: 120px;
    cursor: pointer;
    padding-top: 15px
}

section.top-sustainable-relay div.top-sustainable-relay_block div.top-sustainable-relay_block--content {
    width: min(25.988vw, 355px);
    height: min(19.912vw, 272px);
    cursor: pointer;
}


section.top-sustainable-relay div.top-sustainable-relay_block div.top-sustainable-relay_block--content img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border: 2px solid var(--d-red);
    border-radius: 20px 0 20px 0;
    transition: .1s;
}

section.top-sustainable-relay div.top-sustainable-relay_block div.top-sustainable-relay_block--content:hover img {
    border: 6px solid var(--d-red);
}

/* ============ACTION PAGE================= */
main.action-main {
    margin-top: 136px;
}

#on_btn:hover,
main.action-main div.top-sustainable-action_sec-block_open-btn:hover {
    background-color: #fff;
    border: 1px solid var(--d-red);
    color: var(--d-red);
}

#on_btn,
main.action-main div.top-sustainable-action_sec-block_open-btn {
    margin: auto;
    margin-top: 100px;
    border-radius: 50%;
    background-color: var(--d-red);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    width: 120px;
    height: 120px;
    cursor: pointer;
    padding-top: 15px;
}

#on_btn span,
main.action-main div.top-sustainable-action_sec-block_open-btn span {
    width: 10px;
    height: 20px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: block;
    margin-top: 9px;
}

main.action-main div.top-sustainable-action_sec-block_open-btn img {
    display: block;
    margin-top: 10px;
}

main.action-main .sustainable-action-content-link:not(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4), :nth-child(5), :nth-child(6), :nth-child(7), :nth-child(8), :nth-child(9)) {
    display: none;
}

/* ====================SUSTAINABLE FUTURE SECTION========================= */
.top-sustainable-future {
    overflow: hidden;
    /* margin-top: 150px; */
}

.main-slider {
    max-width: 748px;
    margin-top: 50px;
}

.main-slider img {
    width: 100%;
    height: auto;
    aspect-ratio: 8 / 5;
    border-bottom-right-radius: 20px;
    border-radius: 20px 0 20px 0;
}

.text-slider {
    max-width: 1032px;
    width: 100%;
    margin-left: 234px;
    margin-top: -375px;
    padding-right: 100px;
    position: relative;
}

.text-slider::after {
    content: "";
    width: 500%;
    position: absolute;
    height: 100%;
    bottom: 0;
    right: 0;
    /* background-color: #F5F4EC; */
    margin-right: calc(-340% - 50vw);
    z-index: -1;
}

.text-slider-content {
    display: flex !important;
    flex-direction: column;
    align-items: end;
    position: relative;
}


.text-slider-content_head {
    display: flex;
    align-items: center;
    margin-top: 30px;
}

.t-slider-content_head-text01 {
    font-size: 28px;
    font-weight: bold;
    color: #A29641;
    line-height: 1.1;
    margin-right: 24px;
}

.t-slider-content_head-number {
    font-size: 116px;
    font-weight: bold;
    color: #A29641;
}

.t-slider-content_title-box {
    display: flex;
    flex-direction: column;
    align-items: start;
    margin-top: 40px;
    position: relative;
}


.text-slider_title {
    font-size: 28px;
    font-weight: bold;
    color: var(--d-red);
    line-height: 1.5;
}

.t-slider-content_head-text02 span,
.text-slider_title span {
    background-color: #fff;
    position: relative;
}

.text-slider_title span img.text-slider_title-new {
    position: absolute;
    top: -40px;
    left: -47px;
}


.t-slider-content_head-text02 {
    font-size: 16px;
    font-weight: bold;
    color: #000;
    line-height: 1.75;
}

.thumbnail-inner {
    position: relative;
}

.thumbnail-slider {
    width: 595px;
    margin: auto;
    padding-left: 20px;
    /* background-color: #F5F4EC; */
    padding-top: 15px;
    padding-bottom: 45px;
}

.thumbnail-slider::after {
    content: "";
    width: 400%;
    position: absolute;
    height: 100%;
    bottom: 0;
    right: 0;
    background-color: #F5F4EC;
    margin-right: calc(-300% - 70vw);
    z-index: -1;
}

.thumbnail-slider img {
    width: 100%;
    height: auto;
    aspect-ratio: 8 / 5;
    border-radius: 10px 0px 10px 0px;
    padding: 5px;
    cursor: pointer;
}


.thumbnail-inner .d-btn.white {
    position: absolute;
    top: calc(50% - 15px);
    right: 0;
    transform: translateY(-50%);
}

.top-page-body .top-sustainable-future .top-future-body {
    position: relative;
}

.top-page-body .top-sustainable-future .top-future-body::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 234px;
    z-index: -1;
    display: block;
    width: 100vw;
    height: 550px;
    background: #F5F4EC;
}

/* =======================TOP SUSTAINABLE SPECIAL SECTION============================ */
section.top-sustainable-special {
    margin-top: 150px;
}

section.top-sustainable-special div.inner {
    display: flex;
    justify-content: space-between;
}

section.top-sustainable-special div.inner a.top-special_left:hover div.dotts {
    border-bottom: 1px solid var(--d-red);
}

section.top-sustainable-special div.inner a.top-special_left:hover h2.top-special_left-title {
    color: var(--d-red);
    text-decoration: underline;
}

section.top-sustainable-special div.inner a.top-special_left,
section.top-sustainable-special div.inner div.top-special_left {
    display: flex;
    flex-direction: column;
    max-width: 533px;
    width: 100%;
}

section.top-sustainable-special div.inner a.top-special_left p.top-special_left-text,
section.top-sustainable-special div.inner div.top-special_left p.top-special_left-text {
    font-size: 16px;
    margin-top: 48px;
}

section.top-sustainable-special div.inner a.top-special_left h2.top-special_left-title,
section.top-sustainable-special div.inner div.top-special_left h2.top-special_left-title {
    margin-top: 18px;
    font-size: 28px;
    line-height: 1.5;
}

section.top-sustainable-special div.inner a.top-special_left p.top-special_left-text.small,
section.top-sustainable-special div.inner div.top-special_left p.top-special_left-text.small {
    margin-top: 30px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

section.top-sustainable-special div.inner a.top-special_left div.dotts,
section.top-sustainable-special div.inner div.top-special_left a.dotts {
    margin-left: auto;
    margin-right: 0;
    margin-top: auto;
}

section.top-sustainable-special div.inner div.top-special_left a.dotts:hover {
    border-bottom: 1px solid var(--d-red);
}

section.top-sustainable-special div.inner div.top-special_right {
    max-width: 583px;
    width: 100%;
    max-height: 381px;
    height: auto;
}

section.top-sustainable-special div.inner div.top-special_right img {
    width: 100%;
    height: auto;
}

/* =======================TOP SUSTAINABLE BANNER SECTION============================ */
section.secound-banner {}

section.secound-banner img {
    display: none;
}

section.secound-banner .secound-banner-img {
    background-color: #000;
    max-width: 1024px;
    width: 100%;
    height: auto;
    aspect-ratio: 1024/240;
    margin: auto;
    margin-top: 150px;
    border-radius: 20px 0 20px 0;

    font-size: 28px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =======================TOP SUSTAINABLE VOICE SECTION============================ */
section.top-sustainable-voice {
    margin-top: 150px;
}

section.top-sustainable-voice div.top-sustainable-action-head {
    flex-wrap: wrap;
}

section.top-sustainable-voice p.top-sustainable-voice_detail-text {
    margin-right: 160px;
}

div.top-voice_block {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

div.top-voice_block a.top-voice_content {
    width: 368px;
}

div.top-voice_block a.top-voice_content:hover div.top-voice_content-box img {
    border: 6px solid var(--d-red);
    transform: scale(1.01);
}

div.top-voice_block a.top-voice_content:hover div.top-voice_content-box div.top-voice_content-box_ele {
    border: 6px solid var(--d-red) !important;
}

div.top-voice_block a.top-voice_content div.top-voice_content-box {
    width: 264px;
    position: relative;
}

div.top-voice_block a.top-voice_content div.top-voice_content-box img {
    width: 100%;
    height: 384px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 20px;
    transition: .1s;
}

div.top-voice_block a.top-voice_content div div.top-voice_content-box_ele.sp-only,
div.top-voice_block a.top-voice_content div.top-voice_content-box div.top-voice_content-box_ele {
    background-color: #fff;
    width: 194px;
    border: 2px solid var(--d-red);
    border-bottom-right-radius: 20px;
    border-top-left-radius: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    position: absolute;
    bottom: 30px;
    right: -104px;
    transition: .1s;
}

div.top-voice_block a.top-voice_content div div.top-voice_content-box_ele.sp-only div.top-voice_content-box_ele-min-title,
div.top-voice_block a.top-voice_content div.top-voice_content-box div.top-voice_content-box_ele div.top-voice_content-box_ele-min-title {
    font-size: 18px;
    font-weight: bold;
    color: var(--d-red);
}

div.top-voice_block a.top-voice_content div div.top-voice_content-box_ele.sp-only .top-voice_content-box_ele-text,
div.top-voice_block a.top-voice_content div.top-voice_content-box div.top-voice_content-box_ele p.top-voice_content-box_ele-text {
    font-size: 12px;
    font-weight: bold;
    color: #000;
    margin-top: 6px;
}

div.top-voice_block a.top-voice_content h2.top-voice_content-title {
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
    line-height: 2;
}

div.top-voice_block a.top-voice_content div.dotts {
    font-size: 16px;
    margin-left: auto;
    margin-right: 0;
    display: flex;
    justify-content: flex-end;
    width: fit-content;
}

div.top-voice_block a.top-voice_content:hover div.dotts {
    border-bottom: 1px solid var(--d-red);
}



/* ======================================================== */
/* ===================ACTION PAGE========================== */
/* ======================================================== */
div.top-sustainable-action-head {
    display: flex;
    justify-content: space-between;
}

div.top-sustainable-action-head p {
    text-align: start;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    margin-right: 64px;
}


/* ======================================================== */
/* ===================ACTIONS01 PAGE======================= */
/* ======================================================== */
div.actions01_page div.top-sustainable-action_sec-block {
    margin-top: 0;
    padding-bottom: 0;
}

div.actions01_page div.top-sustainable-action_sec-block::after {
    content: '';
    display: none;
}

div.actions01_page div.top-sustainable-action_sec-block h2.top-sustainable-action_sec-block-title {
    padding-top: 100px;
}

div.actions01_page div.top-sustainable-action_sec-block div.top-sustainable-action_sec-block_policy-box h2.top-sustainable-action_sec-block_policy-h2 .m {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, #F5F4EC 50%);
}

.actions01_page-sec2 {
    margin-top: 150px;
}


.actions01_page-textbox p.action02_page-textbox-bold_p {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.actions01_page-textbox h2 {
    margin-top: 10px;
    color: var(--d-red);
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}

.actions01_page-textbox p {
    margin: auto;
    margin-top: 30px;
    max-width: 853px;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

a.actions01_page-block,
div.actions01_page-block {
    border: 2px solid var(--d-red);
    padding: 85px 50px 50px;
    border-radius: 20px 0 20px 0;
    position: relative;
    margin-top: 100px;
}

a.actions01_page-block div.actions01_page-block_item,
div.actions01_page-block div.actions01_page-block_item {
    width: 511px;
    height: 106px;
    background-color: var(--d-red);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 53px;
    position: absolute;
    top: calc(-106px / 2);
    left: 50%;
    transform: translateX(-50%);
}


a.actions01_page-block div.actions01_page-block_item span,
div.actions01_page-block div.actions01_page-block_item span {
    color: #FD8D8D;
    font-size: 31px;
    font-weight: bold;
}

a.actions01_page-block div.actions01_page-block_item div,
div.actions01_page-block div.actions01_page-block_item div {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

a.actions01_page-block div.actions01_page-block_contentbox,
div.actions01_page-block div.actions01_page-block_contentbox {
    display: flex;
    gap: 0 20px;
    justify-content: center;
}

.actions-page-bodys a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content,
.actions-page-bodys div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content {
    background-color: #F5F4EC;
    border-radius: 20px 0 20px 0;
    padding: 30px 20px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 50%;
}

div.actions01_page-block.first-block div.actions01_page-block_contentbox div.actions01_page-block_content {
    align-items: flex-start;
}

div.actions01_page-block.secound-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts,
div.actions01_page-block.first-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts {
    align-items: flex-end;
}

div.actions01_page-block.secound-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts img,
div.actions01_page-block.first-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts img {
    margin-bottom: 5px;
}


.actions-page-bodys div.actions01_page-block:nth-of-type(1) div.actions01_page-block_contentbox div.actions01_page-block_content {
    max-width: 295px;
    width: 100%;
    min-height: 389px;
}

div.actions01_page-block:nth-of-type(2) div.actions01_page-block_contentbox div.actions01_page-block_content {
    width: 100%;
}

.actions-page-bodys div.actions01_page-block:nth-of-type(1) div.actions01_page-block_contentbox div.actions01_page-block_content {
    width: 50%;
}


.lab-page-bodys a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content h2 {
    text-align: left;
}

div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content h2 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content p,
div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content p {
    font-size: 16px;
    font-weight: 400;
    line-height: calc(24 / 14);
    margin-top: 30px;
}

a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content div.dotts,
div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts {
    font-size: 16px;
    line-height: calc(24 / 14);
    justify-content: center;
    margin-top: 20px;
}

.lab_new-blocks {
    display: flex;
    gap: 50px;
}

.lab_new-blocks .lab_new-blocks-content {
    background-color: #F5F4EC;
    border-radius: 20px 0 20px 0;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 27px;
    padding-top: 30px;
    display: flex;
    flex-direction: column;
    flex-basis: 50%;
}

.lab_new-blocks .lab_new-blocks-content h2 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: var(--d-red);
    line-height: 1.5;
    min-height: 107px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lab_new-blocks .lab_new-blocks-content p {
    font-size: 14px;
    margin-top: 24px;
    margin-bottom: 25px;
}

.lab_new-blocks .lab_new-blocks-content .dotts {
    margin-top: auto;
    margin-left: auto;
}

/* ======================================================== */
/* ===================ACTIONS02 PAGE======================= */
/* ======================================================== */
div.s_inner.actions02_page {
    margin-top: 100px;
}

div.s_inner.actions02_page div.actions02_block:nth-of-type(2) {
    margin-top: 150px;
}


div.s_inner.actions02_page div.actions02_block div.actions02_block_textbox h2 {
    font-size: 28px;
    font-weight: bold;
    color: var(--d-red);
    text-align: center;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block_textbox p {
    margin-top: 30px;
    line-height: calc(35 / 20);
    font-size: 20px;
    font-weight: bold;
    color: #000;
    text-align: center;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block-box {
    width: 100%;
    background-color: var(--d-red);
    border-radius: 20px 0 20px 0;
    padding: 30px 50px;
    display: flex;
    margin-top: 50px;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block-box02 {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
    font-weight: bold;
    font-size: 18px;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block-box02 img {
    width: 100%;
    height: auto;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block-box p:nth-of-type(1) {
    text-align: center;
    justify-content: center;
    width: 40%;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block-box p:nth-of-type(2) {
    font-size: 20px;
    width: 54%;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block-box p {
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    line-height: calc(35 / 18);
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
}

div.s_inner.actions02_page div.actions02_block div.actions02_block-box div {
    width: 1px;
    min-height: 138px;
    height: auto;
    background-color: #fff;
    margin: 0 50px;

}

div.actions02_block.section03 {
    margin-top: 150px;
}

div.actions02_block.section03 img.actions02_block_section03-img {
    width: 100%;
    height: auto;
    margin-top: 50px;
}

div.actions02_block.section03 div.actions02_block_section03-h2 {
    font-size: 28px;
    font-weight: bold;
    color: var(--d-red);
    text-align: center;
}

div.actions02_block.section03 p.actions02_block_section03-p {
    margin-top: 30px;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    line-height: 1.75;
}


div.actions02_block.section03 span {
    font-size: 14px;
    display: block;
    margin-top: 30px;
}




/* ======================================================== */
/* ==================LEADERS VOICE PAGE==================== */
/* ======================================================== */
section.voice_page {
    margin-top: 136px;
}

section.voice_page div.inner div.voice_page-head {
    display: flex;
    justify-content: space-between;
}

section.voice_page div.inner div.voice_page-head p {
    font-size: 16px;
    font-weight: 400;
    line-height: calc(24 / 14);
    text-align: right;
}

section.voice_page-body a.voice_page-content:hover .box-items,
section.voice_page-body a.voice_page-content:hover .voice_page-content-img {
    border: 6px solid var(--d-red);
}

section.voice_page-body a.voice_page-content,
section.voice_page-body div.voice_page-content {
    position: relative;
    margin-top: 50px;
    border-radius: 20px 0 20px 0;
    display: block;
}

section.voice_page-body a.voice_page-content:nth-child(even) div.voice_page-content-img,
section.voice_page-body div.voice_page-content:nth-child(even) div.voice_page-content-img {
    margin-left: auto;
    margin-right: 0;
}

section.voice_page-body a.voice_page-content div.voice_page-content-img,
section.voice_page-body div.voice_page-content div.voice_page-content-img {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 941px;
    height: 384px;
    border-radius: 20px 0 20px 0;
}

section.voice_page-body a.voice_page-content div.box-items,
section.voice_page-body div.voice_page-content div.box-items {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

section.voice_page-body a.voice_page-content:nth-child(even) div.box-items,
section.voice_page-body div.voice_page-content:nth-child(even) div.box-items {
    right: auto;
    left: 0;
}

section.voice_page-body a.voice_page-content div.dotts:hover,
section.voice_page-body div.voice_page-content a.dotts:hover {
    border-bottom: 1px solid var(--d-red);
}

section.voice_page-body a.voice_page-content div.dotts,
section.voice_page-body div.voice_page-content a.dotts {
    width: fit-content;
    margin: auto;
    margin-top: 30px;
}

/* ======================================================== */
/* ==============PRESIDENT INTERVIEW VOICE PAGE============ */
/* ======================================================== */
section.president-page .top-sustainable-special {
    margin-top: 100px;
}

section.president-page {
    margin-top: 86px;
}

section.president-page div.inner div.president-page-head {
    width: 100%;
    position: relative;
    padding-top: 50px;
    height: 416px;
}

section.president-page div.inner div.president-page-head div.president-page-head_img {
    width: 637px;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    border-radius: 20px 0 20px 0;
}

section.president-page div.inner div.president-page-head h1 span,
section.president-page div.inner div.president-page-head h1 {
    font-size: 45px;
    font-weight: bold;
    color: var(--d-red);
    line-height: 1.75;
    margin-top: 50px;
}

section.president-page div.inner div.president-page-head h1 span {
    margin: 0;
    margin-left: -20px;
}

section.president-page div.inner div.president-page-head span.president-names {
    font-size: 24px;
}

section.president-page div.inner div.president-page-head span {
    display: block;
    margin-top: 20px;
    font-size: 16px;
    font-weight: bold;
}

section.president-chat-sec {
    margin-top: 50px;
    background-color: #F5F4EC;
    border-radius: 20px 0 20px 0;
    padding: 30px 50px;
}

section.president-chat-sec hr {
    color: #A29641;
    margin-top: 50px;
    margin-bottom: 30px;
}

section.president-chat-sec .chat-box-block {
    padding: 0 80px;
}

section.president-chat-sec .chat-box-block span.small-descriptions-span {
    width: 776px;
    margin-right: 0;
    margin-left: auto;
    display: block;
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 20px;
}

section.president-chat-sec div.chat-box:not(:first-child) {
    margin-top: 10px;
}

section.president-chat-sec div.chat-box {
    padding: 30px;
    line-height: 1.75;
    font-size: 16px;
    font-weight: 400;
    border-radius: 10px;
}

section.president-chat-sec div.chat-box.left {
    background-color: #fff;
    width: 626px;
    color: #000;
    font-size: 18px;
    font-weight: bold;
    border: 2px solid var(--d-red);
}

section.president-chat-sec div.chat-box.right {
    background-color: #fff;
    width: 776px;
    margin-right: 0;
    margin-left: auto;
}

section.president-chat-sec div.chat-box span {
    border-bottom: 2px solid var(--d-red);
    font-weight: bold;
}

section.president-chat-sec div.chat-box.right img,
section.president-chat-sec div.chat-box.left img {
    width: 100%;
    height: auto;
}

section.president-chat-sec div.chat-box.right img.change-image-02 {
    width: 271px;
}

section.president-chat-sec div.chat-box.left:has(> img),
section.president-chat-sec div.chat-box.right:has(> img) {
    background-color: transparent;
    padding: 0;
}

section.president-chat-sec div.chat-box .dotts:hover {
    text-decoration: underline;
}

section.president-chat-sec div.chat-box .dotts {
    justify-content: end;
    margin-top: 30px;
}

section.president-chat-sec time.president-chat-sec-time,
section.president-chat-sec p.president-chat-sec-p {
    text-align: center;
    color: #A29641;
    font-size: 16px;
    line-height: 1.75;
}

section.president-chat-sec time.president-chat-sec-time {
    display: block;
    margin: auto;
    margin-top: 10px;
}

/* ======================================================== */
/* ====================FUTURE PAGE========================= */
/* ======================================================== */
.future_sec {
    margin-top: 136px;
    padding-bottom: 150px;
}

.all-future-page-bodys .top-future-body:hover .dotts {
    text-decoration: underline;
}

.future_sec .top-future-body {
    position: relative;
    display: block;
}

.future_sec .future_sec-bc {
    position: relative;
    margin-top: 50px;
}

.future_sec .main-slider {
    margin-top: 150px;
}

.future_sec .top-future-body:first-child .main-slider {
    margin-top: 0;
}

.future_sec .text-slider::after {
    background-color: unset;
}

.future_sec .future_sec-bc::after {
    content: "";
    width: 100%;
    position: absolute;
    height: 101%;
    bottom: -150px;
    right: 0;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(245, 244, 236, 1) 20%, rgba(245, 244, 236, 1) 100%);
    z-index: -1;
}

.future_sec .top-future-body .text-slider.s-slider {
    position: absolute;
    bottom: 0;
}

/* ======================================================== */
/* ====================VOICE PAGE========================= */
/* ======================================================== */
section.voice-detail_page {
    margin-top: 86px;
}

section.voice-detail_page .section_title_block {
    margin-top: 50px;
}

section.voice-detail_page div.voice-detail_page-head {
    position: relative;
    height: 416px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

section.voice-detail_page div.voice-detail_page-head div.voice_page_imgbox {
    width: 665px;
    height: 416px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    border-radius: 20px 0 20px 0;
}

section.voice-detail_page div.voice-detail_page-head .box-items {
    transform: translateY(20px);
    padding-bottom: 0;
}

section.voice-detail_page div.voice-detail_page-head .box-items p.box-items-ptext {
    font-size: 18px;
}

section.voice-detail_page div.voice-detail_page-head .box-items p.box-items-ptext span {
    font-size: 20px;
}

section.voice-detail_page div.voice-detail_page-head .box-items div.box-items_footer {
    border-top: 1px solid var(--d-red);
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 20px;
    padding-bottom: 20px;
}

section.voice-detail_page div.voice-detail_page-head .box-items div.box-items_footer div:nth-child(1) {
    font-size: 18px;
font-weight: 600;
}

section.voice-detail_page div.voice-detail_page-head .box-items div.box-items_footer div:nth-child(2) {
    font-size: 16px;
    color: var(--d-red);
    font-weight: bold;
    line-height: initial;
    margin-top: 10px;
}

div.inner section.president-chat-sec.voice_page_varsion {
    margin-top: 100px;
    padding-top: 100px;
}


div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block h1.voice-datail_page-h1 {
    font-size: 28px;
    font-weight: bold;
    color: var(--d-red);
    line-height: calc(49 / 28);
    text-align: center;
    margin-bottom: 50px;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box.left {
    background-color: #fff;
    color: #000;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box span {
    border-bottom: 2px solid var(--d-red);
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box span.c-r {
    border-bottom: unset;
    color: #EC6464;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box .chat-box_min-content {
    width: 100%;
    margin-top: 50px;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box .chat-box_min-content .chat-box_min-content_head {
    background-color: var(--d-red);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    color: #fff;
    border-radius: 10px 10px 0 0;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box .chat-box_min-content .chat-box_min-content_head span {
    font-size: 14px;
    font-weight: 400;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box .chat-box_min-content .chat-box_min-content_head div {
    font-size: 13px;
    font-weight: bold;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box .chat-box_min-content .chat-box_min-content_head h2 {
    font-size: 20px;
    font-weight: bold;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box .chat-box_min-content .chat-box_min-content_body {
    padding: 30px;
    line-height: calc(32 / 18);
    font-size: 18px;
    font-weight: bold;
    color: var(--d-red);
    border: 2px solid var(--d-red);
    border-radius: 0 0 10px 10px;
}

div.inner section.president-chat-sec.voice_page_varsion div.chat-box-block div.chat-box .mt-50 {
    margin-top: 50px;
}

.voice-detail_page-inner .d-btn {
    margin: auto;
    margin-top: 100px;
}

/* ======================================================== */
/* ====================SOCIAL CONTRIBUTIONS PAGE========================= */
/* ======================================================== */
span.social_contributions-top_span {
    margin: 0 auto;
    margin-top: 100px;
    font-size: 16px;
    display: block;
    line-height: 1.75;
    width: fit-content;
}

div.social_contributions_block a.social_contributions_block-banner {
    display: block;
    margin-top: 150px;
}

div.social_contributions_block a.social_contributions_block-banner img {
    width: 100%;
    height: auto;
}

/* ======================================================== */
/* ====================SOCIAL CONTRIBUTIONS 02 PAGE========================= */
/* ======================================================== */
div.social_contributions-sec_02 {
    display: flex;
    flex-wrap: wrap;
    gap: 80px 50px;
    margin-top: 100px;
}

div.social_contributions-sec_02 a.social_contributions-sec_02-blocks:hover div.actions01_page-block {
    border: 6px solid var(--d-red);
}

div.social_contributions-sec_02 a.social_contributions-sec_02-blocks:hover .actions01_page-block_contentbox div.dotts,
div.social_contributions-sec_02 a.social_contributions-sec_02-blocks:hover .actions01_page-block_contentbox p {
    text-decoration: underline;
    color: var(--d-red);
}

div.social_contributions-sec_02 a.social_contributions-sec_02-blocks,
div.social_contributions-sec_02 div.social_contributions-sec_02-blocks {
    width: calc(50% - 25px);
    height: auto;
    padding: 0;
    margin-top: 0;
    display: flex;
    flex-direction: column;
}

div.social_contributions-sec_02 a.actions01_page-block,
div.social_contributions-sec_02 div.actions01_page-block {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 558/302;
    margin-top: 0;
}

div.social_contributions_block div.actions01_page-block_contentbox {
    margin-top: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

div.social_contributions_block div.actions01_page-block_contentbox p {
    font-size: 16px;
}

body.social_page-bodys02 div.actions01_page-block_contentbox a.dotts,
body.social_page-bodys div.actions01_page-block_contentbox a.dotts {
    margin: 0;
}

div.social_contributions_block div.actions01_page-block_contentbox a.dotts {
    margin-left: auto;
    width: fit-content;
    margin-top: 20px;
}

div.social_contributions-sec_02 a.actions01_page-block div.actions01_page-block_item,
div.social_contributions-sec_02 div.actions01_page-block div.actions01_page-block_item {
    width: 414px;
}

div.social_contributions-sec_02 a.actions01_page-block div.actions01_page-block_item.socialpage,
div.social_contributions-sec_02 div.actions01_page-block div.actions01_page-block_item.socialpage {
    height: auto;
    padding: 15px 0;
    top: calc(-61px / 2);
}

div.social_contributions-sec_02 a.actions01_page-block div.actions01_page-block_item div,
div.social_contributions-sec_02 div.actions01_page-block div.actions01_page-block_item div {
    line-height: 1.75;
    text-align: center;
}


div.social_contributions-sec_02 a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content,
div.social_contributions-sec_02 div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content {
    background-color: #fff;
    max-width: 100%;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 0;
}

div.social_contributions-sec_02 a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content p,
div.social_contributions-sec_02 div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content p {
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
    margin-top: 0;
}

div.social_contributions-sec_02 a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts,
div.social_contributions-sec_02 div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts {
    margin-left: auto;
    margin-right: 0;
}

/* ======================================================== */
/* =======================LAB PAGE========================= */
/* ======================================================== */

section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block.first:hover div.dotts,
section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block.first:hover p,
section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block.first:hover h2 {
    color: var(--d-red);
    text-decoration: underline;
}

section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block.first div.actions01_page-block_item div,
section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block.first div.actions01_page-block_item div {
    line-height: 1.75;
}

section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content,
section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content {
    max-width: 600px;
    width: 100%;
    justify-content: unset;
    padding: 30px;
    min-height: auto;
    height: 100%;
}

section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts,
section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts {
    margin-left: auto;
}

section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block div.actions01_page-block_item div,
section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block div.actions01_page-block_item div {
    line-height: 1.75;
}

section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block.second div.actions01_page-block_contentbox div.actions01_page-block_content div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block.second div.actions01_page-block_contentbox div.actions01_page-block_content {
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
}

section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block.second div.actions01_page-block_contentbox div.actions01_page-block_content h2 {
    height: 107px;
    display: flex;
    align-items: center;
    line-height: 1.75;
}

section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block.second div.actions01_page-block_contentbox div.actions01_page-block_content p {
    margin-top: 24px;
}

div.actions01_page-block.n3 p.n3-p {
    max-width: 645px;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 50px;
}

div.actions01_page-block.n3 div.n3-block.last {
    margin-bottom: 50px;
}

div.actions01_page-block.n3 a.n3-block:hover div.actions01_page-block_content div.dotts {
    text-decoration: underline;
}

div.actions01_page-block.n3 a.n3-block:hover div.actions01_page-block_content {
    background-color: #FFEDED;
}

div.actions01_page-block.n3 a.n3-block,
div.actions01_page-block.n3 div.n3-block {
    display: flex;
    margin-bottom: 100px;
}

div.actions01_page-block.n3 a.n3-block img.n3-block_img,
div.actions01_page-block.n3 div.n3-block img.n3-block_img {
    max-width: 436px;
    width: 100%;
    z-index: 1;
    transform: translateY(50px);
}

div.actions01_page-block.n3 a.n3-block div.actions01_page-block_contentbox,
div.actions01_page-block.n3 div.n3-block div.actions01_page-block_contentbox {
    max-width: 536px;
    width: 100%;
    margin-left: -50px;
}

div.actions01_page-block.n3 a.n3-block div.actions01_page-block_contentbox div.actions01_page-block_content-flex p,
div.actions01_page-block.n3 div.n3-block div.actions01_page-block_contentbox div.actions01_page-block_content-flex p {
    font-size: 16px;
}

a.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content-flex img.actions01_page-block_content-flex_img,
div.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content-flex img.actions01_page-block_content-flex_img {
    max-width: 915px;
    width: 100%;

    border-radius: 20px 0 20px 0;
}

a.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content-flex h2,
div.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content-flex h2 {
    font-size: 24px;
    font-weight: bold;
    color: var(--d-red);
    text-align: center;
    margin-top: 30px;
}

a.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content-flex p,
div.actions01_page-block.first div.actions01_page-block_contentbox div.actions01_page-block_content-flex p {
    max-width: 685px;
    width: 100%;
    margin: auto;
}

div.actions01_page-block_contentbox a.dotts:hover {
    text-decoration: underline;
}

div.actions01_page-block_contentbox div.dotts,
div.actions01_page-block_contentbox a.dotts {
    max-width: 685px;
    width: 100%;
    margin: 0 auto;
    justify-content: flex-end;
    margin-top: 20px;
}

div.actions01_page-block:nth-of-type(2) div.actions01_page-block_contentbox div.actions01_page-block_content div.actions01_page-block_content-flex {
    display: flex;
    flex-direction: column;
    align-items: baseline;
}

.actions-page-bodys a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content div.dotts,
.actions-page-bodys div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts {
    font-size: 18px;
text-decoration:underline;
}

/* div.actions01_page-block:nth-of-type(2) div.actions01_page-block_contentbox div.actions01_page-block_content {
    padding-left: 80px;
} */

section.social_contributions-sec.lab-sec div.s_inner div a.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content div.dotts,
section.social_contributions-sec.lab-sec div.s_inner div div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content a.dotts {
    margin-left: auto;
    margin-top: auto;
    justify-content: end;
    margin-bottom: 0;
}

.lab-page-bodys div.actions01_page-block div.actions01_page-block_contentbox div.actions01_page-block_content {
    background-color: #F5F4EC;
    padding-top: 50px;
    padding-left: 79px;
    padding-right: 30px;
    padding-bottom: 50px;
    border-radius: 20px 0 20px 0;
}

/* =========================TOP PAGE SLIDER RELAY========================= */

section.mobile-relay-text_slider {
    width: 100%;
    margin-top: 5px;
    margin-bottom: 20px;
}

section.mobile-relay-text_slider div.mobile-relay-text_slider-text {
    display: flex;
    flex-direction: column;
    align-items: center;
}

section.mobile-relay-text_slider div.mobile-relay-text_slider-text p {
    font-size: 14px;
    font-weight: bold;
}

section.mobile-relay-text_slider div.mobile-relay-text_slider-text h2 {
    font-size: 20px;
    font-weight: bold;
}

div.pop-slider #sliderClose {
    position: absolute;
    top: 20px;
    right: 30px;
}

div.pop-slider {
    opacity: 0;
    visibility: hidden;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: #fff;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: center; */
    transition: .3s;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-top: 50px;
    padding-bottom: 50px;
}

div.pop-slider.active {
    opacity: 1;
    visibility: visible;
}

div.pop-slider section.sustainable-relay-img-slider {
    width: 95%;
    margin: auto;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss {
    display: flex;
    justify-content: center;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss p.boxss-info {
    position: absolute;
    bottom: 0;
    font-size: 16px;
    font-weight: bold;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss p.boxss-info span {
    font-size: 24px;
    font-weight: bold;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss div.text01,
div.pop-slider section.sustainable-relay-img-slider div.boxss div.boxsimg {
    max-width: 534px;
    width: 100%;
    height: 410px;
    overflow: hidden;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss div.boxsimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.1);
}

div.pop-slider section.sustainable-relay-img-slider div.boxss div.text01 {
    min-height: 456px;
    height: auto;
    margin-top: 50px;
    margin-left: 50px;
    z-index: 1;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss div.text01 ul {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss div.text01 ul li {
    display: flex;
    align-items: flex-start;
    background-color: #fff;
    border: 2px solid var(--d-red);
    border-radius: 20px 0 20px 0;
    padding: 30px;
}


div.pop-slider section.sustainable-relay-img-slider div.boxss div.text01 ul li img {
    transform: rotate(25deg);
    margin-top: 3px;
}

div.pop-slider section.sustainable-relay-img-slider div.boxss div.text01 p {
    font-size: 16px;
    line-height: 1.75;
    margin-left: 14px;
}

div.pop-slider .slick-prev,
div.pop-slider .slick-next {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 143px;
    height: 96px;
    background-color: red;
    z-index: 1;
    border-radius: 20px 0 20px 0;
    transition: all .4s;
}

div.pop-slider .slick-next:before,
div.pop-slider .slick-prev:before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    opacity: 1;
}

div.pop-slider .slick-next:before {
    left: -25px;
}

div.pop-slider .slick-prev:before {
    right: -25px;
    margin-left: auto;
}

div.pop-slider .slick-prev {
    left: -115px
}

div.pop-slider .slick-next {
    right: -115px
}

/* ============================================================================================================== */
/* ========================================
ActionPage
============================================ */
.main-content {
    margin-top: 86px;
}

.main-content__hero--inner {
    display: flex;
}

.column-outside-left {
    flex: 1;
    margin-left: calc(50% - 50vw);
    margin-right: 50px;
}

.column-outside-left img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.main-content__hero-content {
    width: 50%;
    padding-top: 50px;
    padding-bottom: 50px;

    display: flex;
    flex-direction: column;
}

.main-content__hero-head {
    display: flex;
    align-items: center;
}

.main-content__hero-title-icon {
    margin-right: 20px;
    width: 72px;
    object-fit: contain;
}

.main-content__hero-title {
    font-size: 32px;
    color: var(--d-red);
    line-height: 1.2;
}

.main-content__hero-subtitle {
    font-size: 14px;
    font-family: var(--font_arimo);
    font-weight: 700;
    margin-top: 10px;
}

.main-content__hero-body {
    margin-top: 30px;
}

.main-content__hero-body-span {
    font-size: 12px;
    margin-top: auto;
    margin-left: auto;
}

.main-content__hero-category {
    font-size: 14px;
    color: var(--d-red);
    font-weight: 700;
}

.main-content__hero-body-title {
    font-size: 28px;
}

.main-content__hero-action {
    margin-top: 20px;
}

.main-content__hero-like-icon {
    padding: 0;
    outline: none;
    border: none;
    margin-right: 10px;
}

.main-content__hero-like-icon:focus {
    outline: none;
}

.main-content__hero-like-count {
    font-size: 14px;
    font-family: var(--font_arimo);
}

.info-block {
    background-color: #f5f4ec;
    padding: 100px 0;
}

.info-block--inner {
    display: flex;
}

.info-block__box {
    display: flex;
    width: 50%;
}

.info-block__head {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.info-block__head-image {
    text-align: center;
}

.info-block__head-image-text {
    font-family: var(--font_arimo);
    font-weight: 700;
    margin-top: 5px;
}

.info-block__vertical {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: 700;
    margin-top: 10px;
    line-height: 1.2;
}

.info-block__vertical-text {
    display: flex;
    flex-direction: column;
}

.info-block__vertical-text span {
    font-size: 31px;
    margin-top: 15px;
    margin-right: 5px;
}

.info-block__content {
    padding: 0 50px;
    line-height: 1.7;
}

.info-block__content h3 {
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.5;
}

.info-block__content-box {
    padding: 20px 0;
    position: relative;
    font-size: 14px;
}

.info-block__content-box>img {
    border-radius: 10px;
}

.info-block__content-box p img {
    margin-top: 50px;
    border-radius: 10px;
}

.info-block__content-box.info-block_part-img_right-link a,
.info-block__content-box.info-block_part-flex__link a {
    color: var(--d-red);
    text-decoration: underline;
    font-size: 16px;
    font-weight: bold;
    margin-left: 25px;
}

.info-block__content-box.info-block_part-img_right-link a {
    margin-left: 0;
}

.info-block__content-box::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 1px;
    top: 0;
    left: 0;
}

.info-block__content-figure {
    width: 80px;
    margin-right: 20px;
    border-radius: 10px;
    overflow: hidden;
}

.info-block__content-figure img {
    object-fit: cover;

    width: 100%;
}

.info-block--think {
    border-right: 1px solid #000;
}

.info-block--think .info-block__head {
    color: #00a8e6;
}

.info-block--think .info-block__content h3 {
    color: #00a8e6;
}

.info-block--think .info-block__content-box::before {
    background-color: #00a8e6;
}

.info-block--action {
    flex-direction: row-reverse;
}

.info-block--action .info-block__head {
    color: var(--d-red);
}

.info-block--action .info-block__content h3 {
    color: var(--d-red);
}

.info-block--action .info-block__content-box::before {
    background-color: var(--d-red);
}

.info-block__content-box--has-thumb {
    display: flex;
    align-items: center;
}

.info-block__content-box--has-thumb p {
    width: 100%;
}

.info-block__content-box--has-thumb:has(>figure) p {
    width: calc(100% - 100px);
}

.action-content {
    margin: 100px 0;
}

.action-content .link_block_part {
    margin-top: 50px;
}

.action-content .link_block_part.flex-h2 h2.link_block_part-link_title {
    display: flex;
    align-items: center;
}

.main-content__testimonials {
    display: flex;
    justify-content: center;
}

.main-content__testimonial {
    width: 304px;
    max-width: 100%;
    margin: 0 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.main-content__testimonial-content {
    display: contents;
}

.main-content__testimonial-baloon {
    position: relative;
    padding: 10px;
    border: 1px solid var(--d-red);
    border-radius: 10px;
    background-color: #fff;
    z-index: 1;
    order: 1;
    min-height: 91px;
}

.main-content__testimonial-baloon::before {
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    width: 19px;
    height: 16px;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}

.main-content__testimonial-baloon-text {
    font-size: 12px;
}

.main-content__testimonial-baloon-main {
    font-size: 14px;
    font-weight: 700;
    color: var(--d-red);
    line-height: 1.7;
    margin-top: 5px;
    height: calc(100% - 19px);
    display: flex;
    align-items: center;
    justify-content: center;

}

.main-content__testimonial figure {
    margin-top: 25px;
    position: relative;
    order: 2;
}

.main-content__testimonial img {
    border-radius: 50%;
    max-width: 228px;
}

.main-content__testimonial:not(:last-child) figure::before {
    position: absolute;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    width: 49px;
    height: 49px;
    right: -35px;
    top: 50%;
    transform: translateY(-50%);
}

.main-content__testimonial-body {
    order: 2;
    margin-top: 20px;
    font-size: 14px;
}

.post {
    background-color: #f5f4ec;
    border-radius: 20px 0 20px 0;
    padding: 228px 50px 30px;
    margin-top: -182px;
}

.post__header {
    text-align: center;
}

.post__title {
    font-size: 28px;
    color: var(--d-red);
}

.post__subtitle {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 20px;
}

.post__content {
    margin-top: 30px;
    padding-bottom: 50px;
}

.post-footer {
    text-align: center;
    padding-top: 30px;
}

.post-footer--action {
    border-top: 1px solid #a29641;
    color: #a29641;
}

.post-footer__date {
    /* margin-top: 10px; */
}

/* ========================================
  Action2Page
  ============================================ */
.post__content--small {
    padding-left: 65px;
    padding-right: 65px;
}

/* ========================================
  FuturePage
  ============================================ */
.main-content__section--future .d-btn {
    margin: auto;
    margin-top: 100px;
}

.future-hero {
    position: relative;
    margin-top: 50px;
}

.future-hero::after {
    position: absolute;
    content: "";
    background-color: #FFEDED;
    width: 100%;
    height: 1366px;
    top: 272px;
    z-index: -1;
}

.future-hero__deco {
    position: relative;
    z-index: 1;
    font-family: var(--font_arimo);
    color: var(--d-red);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: -20px;
}

.future-hero__deco-en {
    font-size: 29px;
    letter-spacing: 0.035em;
    line-height: 1.1;
    margin-right: 20px;
}

.future-hero__deco-num {
    font-size: 116px;
    line-height: 1;
}

.post-future__header {
    max-width: 716px;
    margin: -60px auto 0;
    text-align: center;
}

.post-future__thumb {
    border-radius: 20px 0 20px 0;
    overflow: hidden;
}

.post-future__thumb img {
    object-fit: cover;
    width: 100%;
}

.post-future__title {
    font-size: 28px;
    color: var(--d-red);
    line-height: 1.5;
    text-align: center;
    margin-top: -22px;
}

.post-future__title span {
    background-color: #fff;
    box-decoration-break: clone;
    -weblit-box-decoration-break: clone;
    padding: 2px 5px;
}

.post-future__subtitle {
    line-height: 2;
    text-align: center;
}

.post-future__subtitle span {
    background-color: #fff;
    box-decoration-break: clone;
    -weblit-box-decoration-break: clone;
    padding: 5px;
}

.future-content {
    margin: 50px 0 100px;
}

.post--future {
    margin-top: 0;
    padding: 50px;
    padding-bottom: 30px;
}

.post--future .yt {
    width: 810px;
    height: auto;
    display: flex;
    margin: auto;
    justify-content: center;
    align-items: center;
    position: relative;
}

.post--future .yt iframe {
    width: 810px;
    height: 458px;
}

.post--future .yt img {
    width: 810px;
    height: 458px;
    position: absolute;
    top: 0;
    left: 0;
}

.main-content__hero-like-count--white {
    color: #fff;
}

.post-future__lead {
    font-weight: 700;
    max-width: 716px;
    margin: 0 auto;
}

.post-future__peoples {
    max-width: 716px;
    margin: 50px auto 0;
}

.post-future__people {
    display: flex;
    padding: 30px;
    background-color: #fff;
    border-radius: 20px 0 20px 0;
    color: #fff;
    font-size: 14px;
    border: 1px solid var(--d-red);
}

.post-future__people:not(:first-child) {
    margin-top: 20px;
}

.post-future__people-info {
    width: 212px;
    margin-right: 30px;
}

.post-future__people-info img {
    aspect-ratio: 1/ 1;
    width: 100%;
}

.post-future__people-name {
    margin-top: 20px;
    text-align: center;
    color: #000;
}

.post-future__people-toggle {
    display: none;
}

.post-future__people-body {
    flex: 1;
}

.post-future__people-body p {
    color: #000;
}

.post--future .post__content {
    margin-top: 100px;
}

.people-intro {
    border-top: 1px solid var(--d-red);
    padding: 50px 0;
}

.people-intro_inner {
    max-width: 410px;
    margin: 0 auto;
}

.people-intro__head {
    display: flex;
    align-items: center;
}

.people-intro__figure {
    width: 180px;
    border-radius: 50%;
    overflow: hidden;
    margin-right: 20px;
}

.people-intro__figure img {
    object-fit: cover;
    width: 100%;
}

.people-intro__name {
    font-size: 14px;
}

.people-intro__body {
    font-size: 14px;
    margin-top: 30px;
}

.post-footer.post-footer--future {
    border-top: 1px solid var(--d-red);
    color: var(--d-red);
}

/* ========================================
  TalkPage
  ============================================ */
.main-content__section--talk .top-sustainable-action_sec-block-sha_img {
    position: relative;
    top: unset;
    left: unset;
    transform: translate(0);
    margin: auto;
    margin-top: 50px;
}

.talk-hero {
    margin-top: 50px;
}

.post-talk__header {
    padding: 30px 50px 50px;
    background-color: var(--d-red);
    border-top-left-radius: 20px;
    margin-top: 50px;
}

.post-talk__header-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.post-talk__header-content {
    margin-right: clamp(400px, 56vw, 666px);
}

.post-talk__header-text {
    font-size: 20px;
    color: var(--d-red);
    font-weight: 700;
    background-color: #fff;
    border-radius: 10px 0 10px 0;
    padding: 7px 20px;
}

.post-talk__header-title {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-top: 15px;
}

.post-talk__header-video {
    width: 626px;
    max-width: 60%;
    margin-left: 40px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.post-talk__header-thumb {
    position: relative;
    padding-bottom: 56.25%;
}

.post-talk__header-thumb img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: all;
}

.post-talk__header-thumb>.post-talk__header-thumb-y {
    inset: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}

.post--talk {
    margin-top: 0;
    border-top-left-radius: 0;
    padding-top: 100px;
}

.post--talk .post__content {
    margin-top: 0;
}

.post-talk-footer {
    margin-top: 50px;
}

.post-talk-footer__figure img,
.post-talk-footer__full-figure img {
    width: 100%;
}

.post-talk-footer__full-figure {
    width: calc(100% + 100px);
    margin-left: -50px;
}

.post-talk-footer__content {
    margin-top: 50px;
    display: flex;
    align-items: center;
}

.post-talk-footer__figure {
    border-radius: 10px;
    overflow: hidden;
    width: 44%;
    margin-right: 50px;
}

.post-talk-footer__content-body {
    flex: 1;
}

/* ========================================
  投稿コン?ン??要?
  ============================================ */
.post__content> :first-child {
    margin-top: 0;
}

.post__content> :last-child {
    margin-bottom: 0;
}

.post-balloon {
    margin-bottom: 10px;
}

.post-balloon__item {
    display: flex;
    width: 100%;
}

.post-balloon__item--right {
    flex-direction: row-reverse;
}

.post-balloon__icon {
    text-align: center;
    min-width: 60px;
}

.post-balloon__icon-name {
    display: block;
    font-size: 14px;
    text-align: center;
}

.post-balloon__content {
    display: flex;
    flex-basis: 100%;
    max-width: calc(100% - 60px);
}

.post-balloon__content-body {
    border-radius: 10px;
    background-color: #fff;
    padding: 30px;
    width: 775px;
}

.futures_detail-pages .post-balloon__content-body p span {
    color: #EC6464;
    font-weight: bold;
}

.post-balloon__item--left .post-balloon__icon {
    margin-right: 20px;
}

.post-balloon__item--right .post-balloon__icon .post-balloon__icon-img,
.post-balloon__item--left .post-balloon__icon .post-balloon__icon-img {
    height: auto;
}

.post-balloon__item--right .post-balloon__icon {
    margin-left: 20px;
}

.post-balloon__item--right .post-balloon__content {
    justify-content: flex-end;
}

.post__content .marker {
    font-weight: 700;
    border-bottom: 2px solid var(--d-red);
}

.post__content .post-item__right {
    margin-left: auto;
    margin-inline: inherit;
    text-align: right;
}

.post__content .post-item__left {
    margin-inline: inherit;
    margin-right: auto;
    text-align: left;
}

.post__content .post-item__right img {
    margin-right: 80px;
}

.post__content .post-item__left img {
    margin-left: 80px;
}

.post__content h3 {
    font-size: 24px;
    text-align: center;
    margin-top: 100px;
    margin-bottom: 30px;
}

.post__content figure {
    margin-top: 30px;
    margin-bottom: 50px;
    margin-inline: auto;
    width: 100%;
    text-align: center;
}

.post__content figure img {
    width: 776px;
    max-width: 100%;
    border-radius: 10px;
    overflow: hidden;
}

img.chenge-image-01 {
    width: 80%;
    height: auto;
}

.mb_menu-section {
    display: none;
}

@media screen and (max-width: 769px) {
    body {
        font-size: 14px;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .inner_detail {
        width: 89%;
        padding: 0;
    }

    /* ========================================
    header
    ============================================ */
    .navi-img {
        width: 130px;
        height: 31px;
    }

    .navigation {
        height: 54px;
        border-width: 2px;
    }

    div.section_title_block div h1,
    div.section_title_block div h2 {
        font-size: 22px;
    }

    div.section_title_block div span.f-en {
        font-size: 12px;
        line-height: 1.5;
    }

    div.section_title_block img {
        width: 46px;
        height: 40px;
    }

    section.page_sub_head {
        padding-bottom: 30px;
        padding-top: 86px;
    }

    .menu-link-box div:last-child {
        display: flex;
        flex-direction: column;
    }

    .menu-content_link-02 {
        margin-bottom: 10px;
        display: flex;
    }

    .menu-content_link-02:last-child {
        margin-bottom: 0;
    }

    .menu_display_white {
        padding-left: 15px;
        border-radius: unset;
        padding-top: 5px;
    }

    .menu-content_list {
        padding-left: 0;
    }

    .menu-content {
        margin-top: 47px;
    }

    .menu-content_link {
        font-size: 16px;
    }

    .navigation.menu {
        align-items: center;
    }

    .navigation.menu .navi-img {
        width: 241px;
        height: auto;
        margin-top: 0;
    }

    .memu_btn {
        font-size: 12px;
        width: 73px;
        height: 34px;
    }

    .menu_btn-icon {
        width: 8px;
        height: 7px;
        margin-bottom: 3px;
        margin-right: 5px;
    }

    /* ========================================
    Footer
    ============================================ */
    footer.footer {
        display: flex;
        flex-direction: column;
        padding-top: 50px;
        background-color: #F5F4EC;
        margin-top: 150px;
    }

    footer.footer div.footer_head {
        display: flex;
        justify-content: space-between;
        padding-left: 50px;
        max-width: 1216px;
        width: 100%;
        margin: auto;
        padding-bottom: 50px;
    }

    footer.footer div.footer_head div.footer-left {
        display: flex;
        flex-direction: column;
    }

    footer.footer div.footer_head div.footer-left img.footer-left-logo {
        width: 130px;
        height: 31px;
        display: block;
    }

    footer.footer div.footer_head div.footer-left p.footer-left_text {
        font-size: 12px;
        margin-top: 35px;
        line-height: 1.75;
        font-weight: 400;
        color: #000;
    }

    footer.footer div.footer_head div.footer-right {
        display: flex;
    }

    footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list {
        margin-bottom: 15px;
    }

    footer.footer div.footer_head div.footer-right ul:last-child li.footer-right-menu_list:last-child {
        margin-bottom: 0;
    }

    footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list a {
        color: #000;
        font-size: 14px;
        display: flex;
        align-items: center;
        line-height: 1.75;
    }

    footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list a:hover {
        color: var(--d-red);
        text-decoration: underline;
    }

    footer.footer div.footer_head div.footer-right ul li.footer-right-menu_list a img {
        display: block;
        margin-right: 10px;
        width: 15px;
        height: 9px;
    }

    footer.footer div.footer_body {
        height: 76px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-top: 1px solid #E5E4DC;
    }

    footer.footer div.footer_body small {
        font-size: 14px;
    }

    /* ========================================
    ActionPage
    ============================================ */
    .main-content__section--hero {
        margin-top: 30px;
    }

    .main-content__hero--inner {
        flex-direction: column;
    }

    .column-outside-left {
        margin: 20px calc(50% - 50vw) 0;
        width: 100vw;
        order: 2;
    }

    .main-content__hero-content {
        display: contents;
    }

    .main-content__hero-head {
        order: 1;
    }

    .main-content__hero-title-icon {
        width: 46px;
        margin-right: 15px;
    }

    .main-content__hero-title {
        font-size: 22px;
    }

    .main-content__hero-subtitle {
        font-size: 12px;
        margin-top: 5px;
    }

    .main-content__hero-body {
        order: 3;
        text-align: center;
        padding-bottom: 30px;
    }

    .main-content__hero-body-title {
        font-size: 20px;
    }

    .info-block {
        padding: 30px 0;
    }

    .info-block--inner {
        flex-direction: column;
    }

    .info-block__box {
        width: 100%;
        flex-direction: column;
    }

    .info-block__head {
        flex-direction: row;
    }

    .info-block__head-image {
        margin-right: 15px;
    }

    .info-block__head-image-text {
        font-size: 10px;
    }

    .info-block__vertical {
        writing-mode: inherit;
        margin-top: 0;
    }

    .info-block__vertical-text {
        flex-direction: row;
        align-items: center;
        word-break: keep-all;
    }

    .info-block__vertical-text span {
        font-size: 24px;
        display: inline;
        margin-top: 0;
        margin-left: 5px;
        margin-right: 0;
        margin-bottom: 4px;
    }

    .info-block__content {
        padding: 0;
        margin-top: 20px;
    }

    .info-block--think {
        border-right: none;
        border-bottom: 1px solid #000;
    }

    .info-block--think .info-block__head-image img {
        width: 29px;
    }

    .info-block--action {
        margin-top: 30px;
    }

    .info-block--action .info-block__head-image img {
        width: 34px;
    }

    .info-block__content-box--has-thumb {
        align-items: flex-start;
    }

    .action-content {
        margin: 50px 0;
    }

    .main-content__testimonials {
        flex-direction: column;
    }

    .main-content__testimonial {
        width: auto;
        flex-direction: row;
        text-align-last: left;
        margin: 0;
    }

    .main-content__testimonial:not(:last-child) {
        margin-bottom: 30px;
    }

    .main-content__testimonial-content {
        display: block;
        order: 2;
        margin-left: 15px;
        width: 100%;
    }

    .main-content__testimonial-baloon::before {
        width: 16px;
        height: 19px;
        left: -16px;
        transform: none;
        top: 26px;
        bottom: inherit;
    }

    .main-content__testimonial-baloon-main {
        font-size: 12px;
    }

    .main-content__testimonial figure {
        order: 1;
        margin-top: 0;
        align-self: baseline;
    }

    .main-content__testimonial img {
        max-width: 120px;
    }

    .main-content__testimonial:not(:last-child) figure::before {
        width: 20px;
        height: 20px;
        right: 50%;
        transform: translateX(50%);
        bottom: -40px;
        top: inherit;
    }

    .main-content__testimonial-body {
        margin-top: 10px;
        font-size: 12px;
    }

    .post {
        margin-top: 20px;
        padding: 30px 10px;
    }

    .post__title {
        font-size: 20px;
    }

    .post__subtitle {
        font-size: 18px;
    }

    .post__content {
        margin-top: 20px;
    }

    .post-footer {
        padding-top: 20px;
    }

    /* ========================================
    Action2Page
    ============================================ */
    .post__content--small {
        padding-left: 0;
        padding-right: 0;
    }

    /* ========================================
    FuturePage
    ============================================ */
    .future-hero {
        margin-top: 30px;
    }

    .future-hero::after {
        height: 474px;
        top: 215px;
    }

    .future-hero__deco {
        margin-top: 20px;
    }

    .future-hero__deco-en {
        font-size: 17px;
    }

    .future-hero__deco-num {
        font-size: 71px;
    }

    .post-future__header {
        margin-top: -30px;
    }

    .post-future__title {
        font-size: 20px;
    }

    .post-future__subtitle {
        font-size: 14px;
    }

    .future-content {
        margin: 30px 0;
    }

    .post--future {
        padding: 30px 20px;
    }

    .post-future__peoples {
        margin-top: 30px;
    }

    .post-future__people {
        padding: 20px;
        flex-direction: column;
    }

    .post-future__people:not(:first-child) {
        margin-top: 10px;
    }

    .post-future__people-info {
        display: flex;
        margin-right: 0;
        width: 100%;
    }

    .post-future__people-info img {
        width: 118px;
        margin-right: 15px;
    }

    .post-future__people-name {
        margin-top: 0;
        text-align: left;
        flex: 1;
        color: #000;
    }

    .post-future__people-toggle {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: 1px solid var(--d-red);
        width: 180px;
        border-radius: 50px;
        height: 48px;
        padding: 0 20px;
        text-align: left;
        margin: 20px auto 0;
        color: var(--d-red);
        font-size: 16px;
        font-weight: bold;
    }


    .post-future__people-body {
        display: none;
        margin-top: 20px;
    }

    .post--future .post__content {
        margin-top: 50px;
    }

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

    .people-intro__head {
        flex-direction: column;
    }

    .people-intro__figure {
        margin-right: 0;
    }

    .people-intro__name {
        margin-top: 20px;
        text-align: center;
    }

    /* ========================================
  TalkPage
  ============================================ */
    .talk-hero {
        margin-top: 30px;
    }

    .post-talk__header {
        padding: 0;
        margin-top: 20px;
        border-radius: 0;
    }

    .post-talk__header-inner {
        flex-direction: column;
    }

    .post-talk__header-content {
        margin-right: 0;
        order: 2;
        padding: 20px 10px;
        text-align: center;
    }

    .post-talk__header-text {
        font-size: 16px;
        text-align: center;
        display: inline-block;
    }

    .post-talk__header-title {
        font-size: 20px;
        text-align: center;
    }

    .post-talk__header-video {
        position: relative;
        max-width: inherit;
        margin-left: 0;
        order: 1;
        width: 100%;
    }

    .post--talk {
        margin-top: 0;
        padding: 50px 10px 30px;
    }

    .post-talk-footer {
        margin-top: 25px;
    }

    .post-talk-footer__full-figure {
        width: calc(100% + 20px);
        margin-left: -10px;
    }

    .post-talk-footer__content {
        flex-direction: column;
    }

    .post-talk-footer__figure {
        width: 100%;
        margin-right: 0;
    }

    .post-talk-footer__content-body {
        margin-top: 20px;
    }

    /* ========================================
    投稿コン?ン??要?
    ============================================ */
    .post-balloon__icon {
        min-width: 35px;
        width: 35px;
    }

    .post-balloon__icon-name {
        font-size: 10px;
    }

    .post-balloon__content {
        max-width: calc(100% - 35px);
    }

    .post-balloon__content-body {
        padding: 15px;
        width: 100%;
    }

    .post-balloon__item--left .post-balloon__icon {
        margin-right: 10px;
    }

    .post-balloon__item--right .post-balloon__icon {
        margin-left: 10px;
    }

    .post__content .post-item__right img {
        margin-right: 0;
    }

    .post__content .post-item__left img {
        margin-left: 0;
    }

    .post__content h3 {
        margin-top: 50px;
        margin-bottom: 20px;
        font-size: 18px;
    }

    .post__content figure {
        margin-top: 20px;
        margin-bottom: 30px;
    }
}

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


    section.page_sub_head .main-inner,
    footer.footer div.footer_head {
        flex-direction: column;
    }

    footer.footer div.footer_head div.footer-left p.footer-left_text .mobile_none {
        display: none;
    }

    footer.footer div.footer_head div.footer-right ul {
        margin-top: 30px;
    }
}

/* -------------------------------------------------------------------------------- */
/* ----------------------------ZWFgW[ւ̎g---------------------------- */
/* -------------------------------------------------------------------------------- */
main.efforts-content {
    margin-top: 186px;
}

section.efforts-block:first-child {
    padding-top: 208px;
    margin-top: 0;
}

section.efforts-block {
    width: 100%;
    position: relative;
    background-color: #fff;
    border-radius: 20px 0 20px 0;
    border: 2px solid var(--d-red);
    padding-top: 50px;
    padding-bottom: 50px;
    margin-top: 50px;
}

section.efforts-block:has(img.efforts-block_img) {
    padding-bottom: 30px;
}

section.efforts-block img.efforts-block-f-img {
    width: 334px;
    height: 208px;
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
}

section.efforts-block h1.efforts-block-main-title {
    font-size: 28px;
    text-align: center;
    font-weight: bold;
}

section.efforts-block span.efforts-block_small-derection {
    display: block;
    width: fit-content;
    margin: 0 auto;
    margin-top: 20px;
    line-height: 1.7;
    font-size: 14px;
}

section.efforts-block p.efforts-block_first-text {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.7;
    max-width: 853px;
    width: 100%;
    margin: auto;
    margin-top: 30px;
}

section.efforts-block span.efforts-block_fontsmall-derection {
    font-size: 11px;
    display: block;
    margin: 0 auto;
    margin-top: 30px;
    line-height: 1.7;
    max-width: 853px;
    width: 100%;
}

section.efforts-block h2.efforts-block_min-title {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 20px 0;
    background-color: var(--d-red);
    border-radius: 53px;
    max-width: 669px;
    width: 100%;
    margin: 0 auto;
}

section.efforts-block p.efforts-block_text a img {
    vertical-align: inherit;
}

section.efforts-block p.efforts-block_text a,
section.efforts-block p.efforts-block_text span {
    color: #EC6464;
    font-weight: bold;
}

section.efforts-block p.efforts-block_text {
    font-size: 16px;
    max-width: 853px;
    width: 100%;
    margin: 0 auto;
    margin-top: 30px;
}

section.efforts-block img.efforts-block_img {
    width: 620px;
    height: auto;
    margin: auto;
    margin-top: 50px;
    display: block;
}

section.efforts-section02 {
    margin-top: 100px;
}

section.efforts-section02 h2.efforts-section02-title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

section.efforts-section02 div.efforts-section02-box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}

section.efforts-section02 div.efforts-section02-box img {
    width: 180px;
    height: 180px;
    margin-right: 20px;
}

section.efforts-section02 div.efforts-section02-box p {
    font-size: 14px;
    line-height: 1.7;
}

section.efforts-section02 div.efforts-section02-text {
    max-width: 769px;
    font-size: 16px;
    line-height: 1.75;
    margin: auto;
    margin-top: 30px;
    display: block;
}

section.efforts-section02 span.efforts-section02-data {
    display: flex;
    justify-content: center;
    margin-top: 50px;
    font-size: 16px;
}

main.efforts-content .link_block_part {
    margin-top: 120px;
}

main.efforts-content .link_block_part h2.link_block_part-link_title {
    padding: 0;
    padding-left: 50px;
    display: flex;
    align-items: center;
}

main.efforts-content .link_block_part:hover {
    background-color: #fff;
}
