/* Overrides from top.css */
body:not(.home) .prj-h_menuOpenCloseBtn_ico::after, 
body:not(.home) .prj-h_menuOpenCloseBtn_ico::before {
    background: #231815;
}

#wpadminbar {
    position: fixed;
}

.prj-footer {
    overflow: hidden;
}

.prj-f_phone {
    flex-direction: column;
}

@media all and (min-width: 750px) {
    .prj-f_phone {
        flex-direction: row;
    }
}

.prj-blog * {
    box-sizing: border-box;
}

.prj-blog .prj-secHeader_heading .ja {
    background: #6bc8f0;
}

@media (min-width: 750px) {
    .prj-blog > .prj-secInner {
        padding-top: 160px;
    }
}

@media (max-width: 749px) {
    .prj-blog > .prj-secInner {
        padding-top: 19.33333vw !important;
    }

    .prj-blog .postGrid {
        padding-top: 40px;
        padding-bottom: 24px;
    }
}
/* END: Overrides from top.css */

/* General */
.container {
    /* max-width: 1198px; */
    max-width: 1248px;
    width: 100%;
    margin: 0 auto;
    padding: 0 25px;
}

.container--s {
    max-width: 798px;
}

.btnContainer {
    display: flex;
    justify-content: center;
}

.btnIcon {
    position: relative;
    display: flex;
    justify-content: center;
    /* max-width: 286px; */
    width: auto;
    margin: 0 auto;
    padding: 18px 20px 18px 56px;
    border: 1px solid #E89E00;
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    color: #222222;
    transition: all 0.3s ease;
}

.btnIcon:visited {
    color: #222222;
}

.btnIcon:hover {
    background-color: #E89E00;
    color: #ffffff;
}

.btnIcon:disabled {
    padding: 18px 20px;
    background-color: #cccccc;
    border-color: #cccccc;
    pointer-events: none;
}

.btnIcon--empty {
    padding: 18px 20px;
}

.btnIcon:disabled:before {
    display: none !important;
}

.btnIcon--rightAlign {
    padding: 18px 56px 18px 20px;
}

.btnIcon:before {    
    content: '';
    position: absolute;
    top: 18px;
    left: 24px;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
}

.btnIcon.btnIcon--rightAlign:before {
    left: auto;
    right: 24px;
}

.btnIcon--back:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='25' viewBox='0 0 24 25' fill='none'%3E%3Cpath d='M3.99994 10.497L3.29294 11.204L2.58594 10.497L3.29294 9.79004L3.99994 10.497ZM20.9999 18.497C20.9999 18.7623 20.8946 19.0166 20.707 19.2041C20.5195 19.3917 20.2652 19.497 19.9999 19.497C19.7347 19.497 19.4804 19.3917 19.2928 19.2041C19.1053 19.0166 18.9999 18.7623 18.9999 18.497L20.9999 18.497ZM8.99994 15.497C8.60947 15.8875 7.9764 15.8875 7.58594 15.497L3.29294 11.204L4.70694 9.79004L8.99994 14.083C9.3904 14.4735 9.3904 15.1066 8.99994 15.497ZM3.29294 9.79004L7.58594 5.49704C7.9764 5.10657 8.60947 5.10657 8.99994 5.49704C9.3904 5.8875 9.3904 6.52057 8.99994 6.91104L4.70694 11.204L3.29294 9.79004ZM3.99994 9.49704L13.9999 9.49704L13.9999 11.497L3.99994 11.497V9.49704ZM20.9999 16.497V18.497L18.9999 18.497V16.497L20.9999 16.497ZM13.9999 9.49704C15.8565 9.49704 17.6369 10.2345 18.9497 11.5473C20.2624 12.86 20.9999 14.6405 20.9999 16.497L18.9999 16.497C18.9999 15.171 18.4732 13.8992 17.5355 12.9615C16.5978 12.0238 15.326 11.497 13.9999 11.497L13.9999 9.49704Z' fill='%23E89E00'/%3E%3C/svg%3E");
}

.btnIcon--back:hover:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='25' viewBox='0 0 24 25' fill='none'%3E%3Cpath d='M3.99994 10.497L3.29294 11.204L2.58594 10.497L3.29294 9.79004L3.99994 10.497ZM20.9999 18.497C20.9999 18.7623 20.8946 19.0166 20.707 19.2041C20.5195 19.3917 20.2652 19.497 19.9999 19.497C19.7347 19.497 19.4804 19.3917 19.2928 19.2041C19.1053 19.0166 18.9999 18.7623 18.9999 18.497L20.9999 18.497ZM8.99994 15.497C8.60947 15.8875 7.9764 15.8875 7.58594 15.497L3.29294 11.204L4.70694 9.79004L8.99994 14.083C9.3904 14.4735 9.3904 15.1066 8.99994 15.497ZM3.29294 9.79004L7.58594 5.49704C7.9764 5.10657 8.60947 5.10657 8.99994 5.49704C9.3904 5.8875 9.3904 6.52057 8.99994 6.91104L4.70694 11.204L3.29294 9.79004ZM3.99994 9.49704L13.9999 9.49704L13.9999 11.497L3.99994 11.497V9.49704ZM20.9999 16.497V18.497L18.9999 18.497V16.497L20.9999 16.497ZM13.9999 9.49704C15.8565 9.49704 17.6369 10.2345 18.9497 11.5473C20.2624 12.86 20.9999 14.6405 20.9999 16.497L18.9999 16.497C18.9999 15.171 18.4732 13.8992 17.5355 12.9615C16.5978 12.0238 15.326 11.497 13.9999 11.497L13.9999 9.49704Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
}

.btnIcon--down:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='20' viewBox='0 0 17 20' fill='none'%3E%3Cpath d='M8.5 0.5C7.94772 0.5 7.5 0.947716 7.5 1.5L7.5 15.67L2.61961 10.7896C2.22811 10.3981 1.59262 10.3996 1.20251 10.7925C0.814339 11.1834 0.815064 11.8151 1.20461 12.2046L8.5 19.5L15.7947 12.2053C16.1842 11.8158 16.1842 11.1842 15.7947 10.7947C15.4054 10.4054 14.7743 10.4051 14.3847 10.7941L9.5 15.67L9.5 1.5C9.5 0.947714 9.05229 0.5 8.5 0.5Z' fill='%23E89E00'/%3E%3C/svg%3E");
}

.btnIcon--down:hover:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='20' viewBox='0 0 17 20' fill='none'%3E%3Cpath d='M8.5 0.5C7.94772 0.5 7.5 0.947716 7.5 1.5L7.5 15.67L2.61961 10.7896C2.22811 10.3981 1.59262 10.3996 1.20251 10.7925C0.814339 11.1834 0.815064 11.8151 1.20461 12.2046L8.5 19.5L15.7947 12.2053C16.1842 11.8158 16.1842 11.1842 15.7947 10.7947C15.4054 10.4054 14.7743 10.4051 14.3847 10.7941L9.5 15.67L9.5 1.5C9.5 0.947714 9.05229 0.5 8.5 0.5Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
}
/* END: General */




/* Sustainability */
.prj-sustainSec .prj-secHeader_heading .ja {
    background-color: #6BC8F0;
}

.prj-sustainSec_links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 48px;
}

.prj-sustainSec_links_heading {
    margin-bottom: 16px;
}

.prj-sustainSec_link {
    padding-left: 12px;
    border-left: 4px solid #71BD64;
    font-family: Jost,"Noto Sans JP",-apple-system,"游ゴシック体","Yu Gothic",YuGothic,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.04em;
}

.prj-sustainSec_link._ja {
    border-left-color: #81d4f8;
}

.prj-sustainSec_link a {
    color: #222222;
}


@media all and (min-width: 750px) {
    .prj-sustainSec {
        margin-top: 160px !important;
    }
    .prj-sustainSec .prj-secHeader {
        padding-top: 55px;
    }
    .prj-sustainSec .prj-secHeader_pic {
        position: absolute;
        right: 50%;
        top: 0;
        width: 680px;
        margin-right: 125px;
    }
    .prj-sustainSec .prj-secHeader_heading {
        transform: translateX(220px);
    }
    .prj-sustainSec .prj-secMain {
        margin-top: 65px;
    }

    .prj-sustainSec_links {
        max-width: 840px;
        width: 100% !important;
        gap: 48px;
    }

    .prj-sustainSec_link {
        margin-bottom: 0.4446em;
        font-size: 1.5rem;
    }
}
@media all and (max-width: 749px) {
    .prj-sustainSec {
        margin-top: 17.33333vw !important;
    }
    .prj-sustainSec .prj-secHeader {
        padding-top: 28.66667vw;
    }
    .prj-sustainSec .prj-secHeader_pic {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
    .prj-sustainSec .prj-secMain {
        margin-top: 16vw;
    }

    .prj-sustainSec_links {
        gap: 32px;
        order: -1;
    }

    .prj-sustainSec_link {
        margin-bottom: 2.133332vw;
        font-size: 4.8vw;
    }
}
@media all and (min-width: 750px) {
    .prj-sustainSec_info {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        row-gap: 48px;
        width: 1040px;
        padding: 100px 0;
        margin: 0 60px 0 auto;
        background: #fff;
    }
    .prj-sustainSec_info > * {
        width: 405px;
    }
    .prj-sustainSec_info > :nth-of-type(2) {
        margin-left: 32px;
    }
}
@media all and (max-width: 749px) {
    .prj-sustainSec_info {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        gap: 17.0667vw;
        width: 93.6vw;
        padding: 14.66667vw 0;
        margin: 0 0 0 auto;
        background: #fff;
    }
    .prj-sustainSec_info > * {
        width: 76.53333vw;
        margin-left: 10.66667vw;
    }
    /* .prj-sustainSec_info > :nth-of-type(1) {
        margin-top: 20vw;
    } */
    .prj-sustainSec .prj-secHeader_heading .en {
        font-size: 10.66667vw;
        letter-spacing: 0.06em;
        color: #fff;
    }
}

.prj-sustain_heading {
    font-family: Jost,"Noto Sans JP",-apple-system,"游ゴシック体","Yu Gothic",YuGothic,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.04em;
}

@media all and (min-width: 750px) {
    .prj-sustain_heading {
        margin-bottom: 1.556em;
        font-size: 2.25rem;
    }
}

@media all and (max-width: 749px) {
    .prj-sustain_heading {
        margin-bottom: 10.66666vw;
        font-size: 7.466666vw;
    }
}


.prj-sustain_desc_list {
    display: flex;
    flex-direction: column;
}

.prj-sustain_desc_item_title {
    margin-bottom: 0;
    line-height: 1.25;
}

.prj-sustain_desc_item_title>span {
    white-space: wrap;
}

.prj-sustain_desc_sublist {
    display: flex;
    flex-direction: column;
}

.prj-sustain_desc_item.-show .prj-sustain_desc_sublist {
    /* max-height: 2000px; */
}



.prj-sustain_desc_subitem_text {
    font-family: Inter, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
}

@media all and (min-width: 750px) {
    .prj-sustain_desc_list {
        gap: 3.112em;
    }

    .prj-sustain_desc_item_title {
        /* margin-bottom: calc(1.333em + .8em); */
    }

    .prj-sustain_desc_sublist {
        margin-top: calc(1.333em + .8em);
        gap: 1.333em;
    }

    .prj-sustain_desc_subitem_text {
        font-size: 1rem;
    }
}

@media all and (max-width: 749px) {
    .prj-sustain_desc_list {
        gap: 10.66666vw;
    }

    .prj-sustain_desc_item_title {
        /* margin-bottom: calc(6.4vw + .4em); */
    }

    .prj-sustain_desc_sublist {
        margin-top: calc(6.4vw + .4em);
        gap: 6.4vw;
    }

    .prj-sustain_desc_subitem_text {
        font-size: 3.73333vw;
    }
}
/* END: Sustainability */







/* Blog Top */
.blogTop {
    padding-top: 136px;
}

.blogTop * {
    box-sizing: border-box;
}

.blogTop .prj-secHeader {
    margin-bottom: 32px;
    text-align: center;
}

.blogTop .prj-secHeader .prj-secHeader_heading .ja {
    background-color: #6BC8F0;
}

@media all and (min-width: 750px) {
    .blogTop {
        padding-top: 198px;
    }
}


.postSlider {
    position: relative;
    overflow: hidden;
    margin-bottom: 80px;
    padding: 40px 32px 72px 16px;
    background-color: #F7F7F7;
    background-image: linear-gradient(90deg, #81D4F8 70%, rgba(255, 255, 255, 0) 70%);
}

@media all and (min-width: 750px) {
    .postSlider {
        margin-bottom: 120px;
        padding: 56px 16px;
        background-image: linear-gradient(90deg, #81D4F8 35%, rgba(255, 255, 255, 0) 35%);
    }
}

.postSlider .container {
    position: relative;
}

@media all and (max-width: 749px) {
    .postSlider .container {
        padding: 0;
    }
}

.postSlider__container {
    /* max-width: 960px; */
/*     width: 200%; */
	width: 80%;
    height: 100%;
    margin-left: 0;
}

/* @media all and (min-width: 750px) {
    .postSlider__container {
        width: 1240px;
    }
}

@media all and (min-width: 1025px) {
    .postSlider__container {
        width: 1920px;
    }
} */

.postSlider__slide {
    position: relative;
    text-decoration: none;
}

.postSlider__slide:hover {
    opacity: 1;
}

.postSlider__postInner {
    transition: all 0.3s ease;
}

.postSlider__slide.swiper-slide-active .postSlider__postInner {

}

@media all and (min-width: 750px) {
    .postSlider__postInner {
        /* transform: scale(0.7) translateX(-150px); */
        transform: scale(0.7);
        transform-origin: center right;
    }

    .postSlider__slide.swiper-slide-active + .postSlider__slide .postSlider__postInner {
        transform-origin: center left;
    }

    .postSlider__slide.swiper-slide-active .postSlider__postInner {
        /* transform: scale(1) translateX(0); */
        transform: scale(1);
    }
}

.postSlider__postThumbnail {
	position: relative;
    aspect-ratio: 16 / 9;
    background-color: #cccccc;
}

.postSlider__postThumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.postSlider__postContent {
    width: 100%;
    min-height: 228px;
    padding: 40px 20px;
    background-color: #222222;
    color: #ffffff;
}

@media all and (min-width: 750px) {
    .postSlider__postContent {
        min-height: 0;
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 24px;
    }
}

.postSlider__date {
    display: block;
    margin-bottom: 16px;
    font-size: 12px;
    line-height: 1.5;
    color: #FFFFFF;
}

.postSlider__title {
    margin: 0;
    padding-left: 16px;
    border-left: 4px solid #71BD64;
    font-size: 24px;
    line-height: 1.5;
    color: #FFFFFF;
}

.postSlider__pagination.swiper-pagination-horizontal {
    display: flex;
    bottom: -40px;
    gap: 12px;
}

.postSlider__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    opacity: 0.5;
    background-color: #ffffff;
}

.postSlider__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1;
}

.postSlider__pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
    margin: 0;
}

.postSlider__prev,
.postSlider__next {
    opacity: 0.8;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #DEE3ED;
    background-color: #ffffff;
}

.postSlider__prev {
    left: 0;
}

.postSlider__next {
    right: 0;
}

.postSlider__prev:after,
.postSlider__next:after {
    width: 10px;
    height: 17px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='18' viewBox='0 0 10 18' fill='none'%3E%3Cpath d='M9.24203 1.22137C8.85146 0.831086 8.21837 0.831079 7.82795 1.22151L0.0498039 8.99965L7.82795 16.7778C8.21837 17.1682 8.85146 17.1682 9.24203 16.7779C9.63281 16.3874 9.63302 15.7539 9.24235 15.3633L2.8778 8.99965L9.24235 2.63601C9.63302 2.24539 9.63281 1.61188 9.24203 1.22137Z' fill='%23666666'/%3E%3C/svg%3E");
    background-size: 10px 17px;
    font-size: 0;
}

.postSlider__next:after {
    transform: rotate(180deg);
}

@media all and (min-width: 750px) {
    .postSlider__pagination.swiper-pagination-horizontal {
        padding: 0 25px;
        bottom: -32px;
    }

    .postSlider__prev {
        left: 40px;
    }

    .postSlider__next {
        right: 40px;
    }
}


/* Category Dropdown */
.categoryDropdown {
    display: flex;
    justify-content: center;
}

.categoryDropdown select {
    width: 100%;
    padding: 16px 24px;
    border: 1px solid #DEE3ED;
    background-color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;

    /* Arrow */
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10' fill='none'%3E%3Cpath d='M1.22235 0.757971C0.832061 1.14854 0.832055 1.78163 1.22248 2.17205L9.00062 9.95019L16.7788 2.17205C17.1692 1.78163 17.1692 1.14854 16.7789 0.75797C16.3884 0.367191 15.7549 0.366983 15.3643 0.757652L9.00062 7.12219L2.63698 0.757652C2.24637 0.366983 1.61285 0.367191 1.22235 0.757971Z' fill='%23666666'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px top 50%;
    background-size: 17px auto;
}

@media all and (min-width: 750px) {
    .categoryDropdown select {
        max-width: 370px;
    }
}
/* END: Category Dropdown */


/* Container for the cards */
.postGrid {
    padding: 80px 0px;
}

.postGrid__row {
    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
    margin-bottom: 24px;
}

@media all and (min-width: 750px) {
    .postGrid__row {
        row-gap: 48px;
        column-gap: 44px;
        margin-bottom: 48px;
    }
}


/* Individual card styling */
.cardPost {
    display: block;
    overflow: hidden;
    width: 100%;
    border: 1px solid #E8E8E8;
    background-color: #F7F7F7;
    text-decoration: none;
}

.cardPost__image {
	position: relative;
    width: 100%;
    aspect-ratio: 185 / 104;
    background-color: #cccccc;
}

.cardPost__image img {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.cardPost__content {
  padding: 24px 16px;
}

.cardPost__date {
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.5;
    color: #666666;
}

.cardPost__title {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  color: #222222;
}

@media all and (min-width: 750px) {
    .cardPost {
        flex: 0 0 calc(33.3333333333% - 29.333333333px);
        width: calc(33.3333333333% - 29.333333333px);
    }
}
/* END: Blog Top */




/* Blog Single */
.blogSingle {
    padding-top: 136px;
}

.blogSingle * {
    box-sizing: border-box;
}

.blogSingle em {
    font-style: italic;
}

@media all and (min-width: 750px) {
    .blogSingle {
        padding-top: 198px;
    }
}

.blogSingle .tag-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 48px;
    gap: 8px;
    font-size: 0;
}

.blogSingle .tag-links a {
    display: flex;
    padding: 6px 16px;
    border-radius: 2px;
    border: 1px solid #666666;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    color: #595C69;
}

.blogSingle .tag-links a:hover {
    background-color: #666666;
    color: #ffffff;
}

@media all and (min-width: 750px) {
    .blogSingle .tag-links {
        margin-bottom: 64px;
    }
}



.blogSingle__breadcrumbs {
    margin-bottom: 32px;
    padding: 0 25px;
    font-size: 0;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.blogSingle__breadcrumbs > span {
    display: flex;
    justify-content: center;
}

.blogSingle__breadcrumbs > span span {
    display: flex;
    gap: 8px;
}

.blogSingle__breadcrumbs > span span:not(.breadcrumb_last):after {
    content: '';
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background-size: 8px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M1.17263 11.1856C1.43305 11.4458 1.8551 11.4457 2.11543 11.1854L7.30078 6.00007L2.11543 0.81472C1.8551 0.554392 1.43305 0.554318 1.17263 0.814554C0.912069 1.07493 0.912009 1.49727 1.1725 1.75772L5.41545 6.00007L1.1725 10.2424C0.912009 10.5029 0.912069 10.9252 1.17263 11.1856Z' fill='%23C2C9D6'/%3E%3C/svg%3E");
}

.blogSingle__breadcrumbs a {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    color: #222222;
}

.blogSingle__breadcrumbs .breadcrumb_last {
    font-size: 12px;
}


.blogSingle__main {
    padding-bottom: 48px;
}

@media all and (min-width: 750px) {
    .blogSingle__main {
        padding-bottom: 64px;
    }
}

/* .blogSingle .prj-secHeader {
    margin-bottom: 32px;
}

.blogSingle .prj-secHeader .prj-secHeader_heading .ja {
    background-color: #6BC8F0;
} */


.blogSingle__meta {
    display: flex;
    justify-content: center;
    margin-bottom: 32px;
    color: #666666;
    font-size: 14px;
    line-height: 1.5;
}

.blogSingle__metaSep {
    margin: 0 8px;
    color: #C2C9D6;
}

@media all and (min-width: 750px) {
    .blogSingle__meta {
        margin-bottom: 40px;
    }
}

/* END: Blog Single */


/* Blog Single Content Styles */
.blogSingleContent {
    padding-top: 48px;
    padding-bottom: 48px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.75;
    color: #222222;
}

@media all and (min-width: 750px) {
    .blogSingleContent {
        padding-top: 64px;
        padding-bottom: 64px;
    }
}

.blogSingleContent h1,
.blogSingleContent h2,
.blogSingleContent h3,
.blogSingleContent h4,
.blogSingleContent h5,
.blogSingleContent h6 {
    margin-bottom: 20px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.blogSingleContent h1 {
    position: relative;
    margin-bottom: 48px;
    padding: 8px;
    font-size: 28px;
    line-height: 1.25;
    text-align: left;
}

.blogSingleContent h1::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 22px;
    background-color: #97E689;
}

@media all and (min-width: 750px) {
    .blogSingleContent h1 {
        margin-bottom: 48px;
        font-size: 36px;
    }
}

.blogSingleContent h2 {
    position: relative;
    margin-top: 32px;
    margin-bottom: 32px;
    padding-bottom: 12px;
    font-size: 24px;
    line-height: 1.2;
}

.blogSingleContent h2::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: #97E689;
}

@media all and (min-width: 750px) {
    .blogSingleContent h2 {
        margin-top: 40px;
        margin-bottom: 40px;
        padding-bottom: 22px;
        font-size: 28px;
    }

    .blogSingleContent h2::after {
        height: 6px;
    }
}

.blogSingleContent h2 + h2 {
    margin-top: 0;
}

.blogSingleContent h3 {
    position: relative;
    margin-top: 24px;
    margin-bottom: 24px;
    padding-left: 16px;
    font-size: 18px;
    line-height: 1.25;
}

.blogSingleContent h3::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background-color: #97E689;
}

@media all and (min-width: 750px) {
    .blogSingleContent h3 {
        margin-top: 40px;
        margin-bottom: 40px;
        font-size: 24px;
    }

    .blogSingleContent h3::after {
        width: 4px;
    }
}

.blogSingleContent h4 {
    margin-top: 18px;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.25;
}

@media all and (min-width: 750px) {
    .blogSingleContent h4 {
        margin-top: 24px;
        margin-bottom: 24px;
        font-size: 18px;
    }
}

.blogSingleContent h5 {
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.25;
}

@media all and (min-width: 750px) {
    .blogSingleContent h5 {
        margin-top: 18px;
        margin-bottom: 18px;
        font-size: 16px;
    }
}

.blogSingleContent h6 {
    margin-top: 14px;
    margin-bottom: 14px;
    font-size: 12px;
    line-height: 1.25;
}

@media all and (min-width: 750px) {
    .blogSingleContent h6 {
        margin-top: 16px;
        margin-bottom: 16px;
        font-size: 14px;
    }
}

.blogSingleContent p {
  margin-bottom: 0;
  padding-bottom: 16px;
}

.blogSingleContent a {
  color: #E89E00;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.blogSingleContent a:hover {
  color: #005177;
  text-decoration: underline;
}

.blogSingleContent ul,
.blogSingleContent ol {
  margin-left: 30px;
  margin-bottom: 24px;
}

.blogSingleContent ul li,
.blogSingleContent ol li {
    position: relative;
    margin-bottom: 8px;
}

.blogSingleContent ul li::before {
    content: "";
    display: inline-block;
    position: absolute;
    left: -22px;
    top: 6px;
    transform: rotate(45deg);
    height: 12px;
    width: 6px;
    border-bottom: 0.15em solid #0CA5C1;
    border-right: 0.15em solid #0CA5C1;
}

.blogSingleContent ol {
    list-style: none; 
    counter-reset: li;
    margin-left: 0;
}

.blogSingleContent ol li {
    counter-increment: li;
    display: flex;
    gap: 8px;
}

.blogSingleContent ol li::before {
    content: counter(li)'.'; 
    display: flex;
    align-items: center; 
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin-top: 2px;
    line-height: 1;
    color: #0CA5C1;
}


.blogSingleContent blockquote {
    position: relative;
    padding: 24px 24px 24px 76px;
    background-color: #F7F7F7;
}

.blogSingleContent blockquote::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    width: 28px;
    height: 24px;
    background-size: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='25' viewBox='0 0 29 25' fill='none'%3E%3Cpath d='M0 24.5101V12.6723C0 5.69932 1.79656 3.10473 8.41117 0.510132L11.351 4.80743C6.36963 6.18581 5.22636 7.64526 5.1447 12.6723H12.0043V24.5101H0ZM16.4957 24.5101V12.6723C16.4957 5.69932 18.2923 3.10473 24.9069 0.510132L27.8467 4.80743C22.8653 6.18581 21.7221 7.64526 21.6404 12.6723H28.5V24.5101H16.4957Z' fill='%2371BD64'/%3E%3C/svg%3E");
}

.blogSingleContent blockquote p {
    margin-bottom: 16px;
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 18px;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.blogSingleContent blockquote cite {
    margin-top: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    text-align: right;
    color: #666666;
}

@media all and (min-width: 750px) {
    .blogSingleContent blockquote {
        padding: 24px 48px 24px 107px;
    }

    .blogSingleContent blockquote::before {
        top: 24px;
        left: 48px;
        width: 35px;
        height: 30px;
    }

    .blogSingleContent blockquote p {
        font-size: 24px;
    }
}

.blogSingleContent figure.wp-block-image,
.wp-block-image figure {
    padding-bottom: 24px;
}

.wp-block-image .aligncenter {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.wp-block-image .aligncenter img {
    display: block;
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

@media all and (min-width: 750px) {
    .blogSingleContent figure.wp-block-image,
    .wp-block-image figure {
        padding-bottom: 24px;
    }
}

.blogSingleContent img {
  max-width: 100%;
  height: auto;
}

.blogSingleContent figcaption {
    display: block !important;
    margin-bottom: 0;
    font-size: 14px;
    text-align: center;
    color: #666;
}

.blogSingleContent table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
}

.blogSingleContent table th,
.blogSingleContent table td {
  border: 1px solid #ddd;
  padding: 12px;
}

.blogSingleContent table th {
  background-color: #f4f4f4;
}

.blogSingleContent pre {
  background-color: #f7f7f7;
  padding: 16px;
  border-radius: 4px;
  overflow-x: auto;
}

.blogSingleContent code {
  background-color: #f4f4f4;
  padding: 4px 8px;
  border-radius: 3px;
}

.blogSingleContent hr {
  border: 0;
  height: 1px;
  background: #ddd;
  margin: 32px 0;
}

.blogSingleContent .wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.blogSingleContent .wp-block-column {
  flex: 1;
  min-width: 250px;
  margin-right: 24px;
}

.blogSingleContent .wp-block-column:last-child {
  margin-right: 0;
}

.blogSingleContent .wp-block-button__link {
    border-radius: 0;
    border: 1px solid #E89E00;
    background-color: transparent;
    text-decoration: none;
}

.blogSingleContent .wp-block-button__link:hover {
    background-color: #E89E00;
    color: #ffffff;
    text-decoration: none;
}
/* END: Blog Single Content Styles */

/* PDF List Table */
.table-pdf-list table td {
    padding: 18px 24px;
    border-color: #6BC8F0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2; /* 120% */
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #222222;
}

.table-pdf-list table td a {
    display: inline-block;
    position: relative;
    padding-left: 32px;
    text-decoration: none;
    color: #222222;
}

.table-pdf-list table td a:hover {
    text-decoration: none;
    color: #222222;
}

.table-pdf-list table td a::before {
    content: '';
    width: 24px;
    height: 24px;
    position: absolute;
    top: 1px;
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3ZM9.5 11.5C9.5 12.3 8.8 13 8 13H7V15H5.5V9H8C8.8 9 9.5 9.7 9.5 10.5V11.5ZM14.5 13.5C14.5 14.3 13.8 15 13 15H10.5V9H13C13.8 9 14.5 9.7 14.5 10.5V13.5ZM18.5 10.5H17V11.5H18.5V13H17V15H15.5V9H18.5V10.5ZM12 10.5H13V13.5H12V10.5ZM7 10.5H8V11.5H7V10.5Z' fill='black'/%3E%3C/svg%3E");
}
/* END: PDF List Table */

/* Table Left Header */
.table-left-header table td {
    padding: 18px;
    border-color: #6BC8F0;
    font-size: 18px;
    line-height: 1.33333;
    letter-spacing: 1.8px;
}

.table-left-header table td:first-child {
	min-width: 180px;
    background-color: #F5F5F5;
    font-weight: 700;
}
/* END: Table Left header */


/**** Sustainability Version *****/
.blogSingle--sustainability h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0;
    font-size: 48px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 8.64px;
    text-align: center;
    text-transform: uppercase;
    word-break: break-all;
}

.page-child .blogSingle--sustainability h1 {
	font-size: 28px;
	line-height: 1.25;
}

.blogSingle--sustainability h1::after {
    display: none;
}

.blogSingle--sustainability h1 span {
    padding: 2px 8px;
    background-color: #6BC8F0;
    font-family: "Noto Sans JP",-apple-system,"游ゴシック体","Yu Gothic",YuGothic,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.9px;
    line-height: 1.25;
    text-transform: uppercase;
    color: #ffffff;
}

.blogSingleContent h2.h2-highlight {
    display: inline-flex;
    position: relative;
    padding: 8px;
    line-height: 1.25;
}

.blogSingleContent h2.h2-highlight::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 22px;
    background-color: #6BC8F0;
}

.blogSingleContent h4.h4-highlight {
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    color: #0CA5C1;
}

@media all and (min-width: 750px) {
    .blogSingle--sustainability h1 {
        font-size: 72px;
        letter-spacing: 11.52px;
    }
	
	.page-child .blogSingle--sustainability h1 {
		font-size: 36px;
	}

    .blogSingle--sustainability h1 span {
        font-size: 24px;
        letter-spacing: 1.2px;
    }

    .blogSingleContent h4.h4-highlight {
        font-size: 24px;
    }
}
/**** END: Sustainability Version *****/

/* END: PDF List Table */

/* Blog Single Author */
.cardAuthor {
    margin-bottom: 48px;
    padding: 32px 24px;
    background-color: #fff;
    border: 1px solid #C2C9D6;
}

@media all and (min-width: 750px) {
    .cardAuthor {
        margin-bottom: 64px;
        padding: 32px 48px 32px 200px;
    }
}

.cardAuthor__top {
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
    margin-bottom: 24px;
    /* min-height: 100px; */
    /* padding-left: 88px; */
}

.cardAuthor__top img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

@media all and (min-width: 750px) {
	.cardAuthor__top { 
		min-height: 100px;
	}
	
    .cardAuthor__top img {
        position: absolute;
        top: 0;
        left: -152px;
        width: 128px;
        height: 128px;
    }
}

.cardAuthor__name {
    margin: 0;
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

.cardAuthor__title {
    margin: 0;
    font-size: 16px;
    line-height: 600;
    color: #666;
}

.cardAuthor__bio {
    font-size: 16px;
    line-height: 1.75;
}

/* END: Blog Single Author */


/* Blog Single Share */
.blogSingle__share {
    margin-bottom: 48px;
}

.blogSingle__shareHeader {
    margin-bottom: 24px;
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-align: center;
}

.blogSingle__share div.heateor_sss_sharing_ul {
    display: flex;
    justify-content: center;
    gap: 24px;
}

.blogSingle__share div.heateor_sss_horizontal_sharing div.heateor_sss_sharing_ul a {
    margin: 0;
}

@media all and (min-width: 750px) {
    .blogSingle__share {
        margin-bottom: 64px;
    }

    .blogSingle__shareHeader {
        font-size: 24px;
    }
}
/* END: Blog Single Share */


/* Blog Single Related Posts */
.blogSingle__related {
    background-color: #F7F7F7;
    padding: 48px 29px;
}

.blogSingle__related h2 {
    margin-bottom: 75px;
    font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
}

.blogSingle__relatedRow {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 24px;
}

.blogSingle__related .cardPost {
    flex: 0 0 100%;
    width: 100%;
}

@media all and (min-width: 750px) {
    .blogSingle__related {
        padding: 64px 0;
    }

    .blogSingle__related h2 {
        margin-bottom: 90px;
        font-size: 72px;
    }

    .blogSingle__relatedRow {
        flex-direction: row;
    }

    .blogSingle__related .cardPost {
        flex: 0 0 calc(25% - 18px);
        width: calc(25% - 18px);
    }
}
/* END: Blog Single Related Posts */



/* END: TOC */
#toc {
    border: 1px solid #C2C9D6;
    padding: 24px 16px;

    & .toc__header {
        margin-bottom: 16px;
        font-family: Jost, "Noto Sans JP", -apple-system, "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
        font-size: 28px;
        font-weight: 600;
        line-height: 125%; /* 35px */
        letter-spacing: 1.12px;
    }

    & ul li {
        margin-bottom: 8px;
    }

    & ul li::before {
        content: '◉';
        top: 3px;
        left: -26px;
        width: auto;
        height: auto;
        transform: none;
        border: none;
        font-size: 16px;
        line-height: 1.5;
        color: #71BD64;
    }

    & ul li a {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.75;
        color: #222222;
    }

    & ul li.toc__h3 {
        padding-left: 36px;
    }

    & ul li.toc__h3::before {
        display: none;
    }

    & ul li.toc__h3 a {
        font-size: 16px;
        font-weight: 400;
    }
}

@media all and (min-width: 750px) {
    #toc {
        padding: 24px 40px;
    }
}
/* END: TOC */
