html,
body {
    font-size: 10px;
    /* background-color: #f5f5f5; */
    box-sizing: border-box;
}
html {
    height: 100%;
}
main.brand-top-main {
    margin-top: calc(8.8rem);
    background-image: url(./images/brand/top-bg-pc.png);
    background-size: 117%;
    background-position: center top;
    background-repeat: repeat-y;
    margin-bottom: 20.3rem;
}
main.brand-main {
    margin-top: calc(8.8rem + 4.2rem);
    margin-bottom: 20.3rem;
}
main.brand-main a:hover {
    opacity: 0.8;
    cursor: pointer;
}
.ff-mincho {
    font-family: "Noto serif JP", serif;
}
.d-block {
    display: block;
}
.d-none {
    display: none;
}

.fs-10 {
    font-size: 1rem;
}
.fs-12 {
    font-size: 1.2rem;
}
.fs-16 {
    font-size: 1.6rem;
}
.fs-18 {
    font-size: 1.8rem;
}
.fs-20 {
    font-size: 2rem;
}
.fs-24 {
    font-size: 2.4rem;
}
.fs-28 {
    font-size: 2.8rem;
}
.fs-32 {
    font-size: 3.2rem;
}
.fs-72 {
    font-size: 7.2rem;
}
.mb-80 {
    margin-bottom: 8rem;
}
.mx-auto {
    margin-inline: auto;
}
.fs-14 {
    font-size: 1.4rem;
}
.mb-10 {
    margin-bottom: 1rem;
}
.mb-20 {
    margin-bottom: 2rem;
}
.lh-10 {
    line-height: 1;
}
.lh-12 {
    line-height: 1.2;
}
.lh-15 {
    line-height: 1.5;
}
.d-none {
    display: none;
}
.d-block {
    display: block;
}
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
.text-normal {
    font-weight: normal;
}
.text-medium {
    font-weight: 500;
}
.text-bold {
    font-weight: bold;
}
.text-white {
    color: #fff;
}
.text-gray {
    color: #666666;
}
.text-light-gray {
    color: #999999;
}
.text-primary {
    color: #fe641c;
}
.note-thanks-list.grid-column-4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem;
}
.d-flex {
    display: flex;
}
.align-items-center {
    align-items: center;
}
.justify-content-center {
    justify-content: center;
}
.w-110 {
    width: 110%;
}
.menu-brand-top {
    padding: 0;
}
.nav ul li.menu-brand-search:hover {
    cursor: unset;
}
.menu-brand-search a:hover {
    opacity: unset !important;
    cursor: unset;
}
.menu-brand-top a {
    padding-inline: 1.6rem;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    flex-direction: row;
}
.brand-container-l {
    width: 90%;
    max-width: 1120px;
    margin-inline: auto;
}
.brand-container-s {
    width: 85%;
    max-width: 800px;
    margin-inline: auto;
}
.brand-container-m {
    width: 90%;
    max-width: 960px;
    margin-inline: auto;
}
.product-development-content-inner {
    position: relative;
}
.product-development-content-notice {
    color: #666 ;
    font-size: 1.4rem;
    padding-top: 4rem;
}
.brand-concept-container {
    margin-block: 56px;
    padding-inline: 40px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    /* drop-shadow: 0px 3px 6px rgba(0, 0, 0, 1); */
    background-image: url(./images/brand/concept-bg.png);
    background-size: 100%;
    background-position: rights top;
    background-repeat: no-repeat;
}
.brand-concept-top {
    border-top: 12px solid #fe641c;
    padding-top: 64px;
    display: grid;
    grid-template-columns: 31% 1fr;
    gap: 64px;
    align-items: center;
    margin-bottom: 32px;
    padding-inline: 24px 12px;
}
.brand-concept-description {
    padding-block: 60px 80px;
    padding-inline: 64px;
    margin-bottom: 64px;
    background: #fafafa;
    width: calc(100% + 80px);
    margin-left: -40px;
}
.brand-concept-description-title .title-ja {
    position: relative;
    font-weight: 700;
    margin-bottom: 16px;
}
.brand-concept-description-title .title-ja::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -104px;
    transform: translateY(-50%);
    width: 80px;
    height: 1px;
    background-color: #666666;
}
.brand-concept-description-title .title-ja::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -104px;
    transform: translateY(-50%);
    width: 80px;
    height: 1px;
    background-color: #666666;
}

.brand-concept-description-title .title-en {
    color: #999999;
    margin-bottom: 24px;
}
.brand-concept-description-item:not(:last-child) {
    margin-bottom: 95px;
}
.brand-concept-description-source {
    font-size: 1.4rem;
    color: #666;
    padding-top: 5rem;
}
.brand-concept-top-source {
    font-size: 1.4rem;
    color: #666;
    padding-top: 3rem;
    padding-bottom: 2rem;
}
.brand-concept-banners {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.6%;
    padding-bottom: 64px;
    width: 88%;
    margin-inline: auto;
}
.brand-concept-banners a:hover {
    opacity: 0.8;
    cursor: pointer;
}
.back-link {
    display: flex;
    align-items: center;
    margin-bottom: 48px;
    gap: 8px;
}
.brand-link-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28rem;
    max-width: 280px;
    height: 6.4rem;
    background: #fe641c;
    color: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    background-image: url(./images/arrow-right-white.svg);
    background-repeat: no-repeat;
    background-position: right 20px top 50%;
    background-size: 2rem;
    border-radius: 4px;
}
.brand-link-button:hover {
    opacity: 0.8;
    cursor: pointer;
}

/* from-ceo */
.from-ceo-container {
    position: relative;
}
.from-ceo-image {
    width: 70%;
    max-width: 672px;
    margin-inline: auto;
    margin-bottom: 4rem;
}
.yomiuri-container {
    position: absolute;
    top: 0;
    right: -4rem;
    width: 15%;
    max-width: 144px;
}
.yomiuri-container:hover {
    opacity: 0.8;
    cursor: pointer;
}
.yomiuri-container img {
    border-radius: 4px;
}
.yomiuri-container:before {
    /* 右下にオレンジの三角 */
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    bottom: 0;
    right: 0;
    border-radius: 4px;
    background-image: 
    /* linear-gradient(45deg, #f00 10px, transparent 0), */ linear-gradient(
        -45deg,
        #fe641c 10px,
        transparent 0
    );
    /* linear-gradient(135deg, #f00 10px, transparent 0),
        linear-gradient(-135deg, #f00 10px, transparent 0); */
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.modal-yomiuri-image {
    max-width: 800px;
}
.overlay {
    overflow-y: scroll;
    z-index: 9999;
}
.product-development .modal {
    margin-top: 30rem;
    margin-bottom: 10rem;
}
.from-ceo .modal {
    margin-top: 60rem;
    margin-bottom: 10rem;
}
.from-ceo .modal,
.brand-type .modal {
    padding: 4rem;
    border-radius: 8px;
}
.from-ceo .modal .close,
.product-development .modal .close,
.brand-type .modal .close {
    top: 1rem;
    right: 1rem;
    padding: 0.5rem;
}
.from-ceo .modal .close img,
.product-development .modal .close img,
.brand-type .modal .close img {
    width: 1.6rem;
    height: 1.6rem;
}
.brand-type .title-wrap {
    margin-bottom: 0;
}
.modal-product-image {
    width: 56rem;
    margin-inline: auto;
}
.modal-product-image img {
    width: 100%;
    border-radius: 0;
}

/* brand-list */
.brand-list-title-container {
    display: inline-grid;
    grid-template-columns: minmax(12rem, 120px) 1fr;
    gap: 2.4rem;
    align-items: center;
    margin-bottom: 2.1rem;
    margin-left: -30px;
}
.brand-list-title-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.brand-list-title-image img {
    margin-bottom: 8px;
}
.fit-content {
    width: fit-content;
}
.brand-list-pb-title-container {
    position: relative;
    margin-bottom: 4rem;
}
.brand-list-pb-title-container:before {
    content: "";
    position: absolute;
    height: 4px;
    background: #fe641c;
    width: 100%;
    top: 50%;
    left: 0;
}
.brand-list-pb-title {
    display: inline-block;
    background: #fe641c;
    color: #fff;
    border-radius: 40px;
    padding: 0.8rem 2.4rem;
    position: relative;
    z-index: 1;
}
.brand-list-pb-content-container {
    margin-bottom: 4rem;
}
.brand-list-pb-no-item-title-container {
    margin-bottom: 3.2rem;
    padding-top: 4rem;
}
.brand-list-pb-content-notice {
    font-size: 1.6rem;
    margin-bottom: 4rem;
    line-height: 1.5;
}
.pb-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem;
}
.pb-list-item {
    height: 21.2rem;
}
.pb-list-item a {
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    padding-top: 14%;
    padding-inline: 18%;
    border-radius: 4px;
    box-shadow: 0px 3px 6px rgba(253, 126, 0, 0.16);
}
.pb-list-item a img {
    margin-bottom: 1.2rem;
}

/* brand-list-item */
.brand-item-title-container {
    display: grid;
    grid-template-columns: minmax(16rem, 160px) 1fr;
    gap: 4rem;
    margin-bottom: 9.4rem;
}
.brand-item-title-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 5rem;
}
.brand-item-type-container {
    margin-bottom: 5.6rem;
}
.brand-item-type-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem;
}
.brand-item-type-item {
    height: 16rem;
}
.brand-item-type-item a {
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    box-shadow: 0px 3px 6px rgba(253, 126, 0, 0.16);
}

/* brand detail */

.brand-product-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 1.6rem;
    row-gap: 5rem;
    align-items: flex-start;
}
.brand-product-item img {
    height: 17.1rem;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0px 3px 6px rgba(253, 126, 0, 0.16);
}
.brand-product-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.brand-product-item:hover {
    opacity: 0.8;
    cursor: pointer;
}
.brand-living-together {
    padding-bottom: 8rem;
}
.brand-living-together-image img {
    margin-inline: auto;
    max-width: 400px!important;
    width: 100%;
}
.brand-living-together-source {
    padding-top: 5rem;
    font-size: 1.4rem;
    color: #666;
    text-align: right;
}
.nav .flex li .select-list li a {
    padding: 0;
    padding-left: 2rem;
}

@media (max-width: 767px) {
    .brand-item-title-container {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 4.8rem;
    }
    .brand-product-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .mx-sm-auto {
        margin-inline: auto;
    }
}

/* product-development */
.brand-main.product-development {
    margin-top: 8.8rem;
}
.product-development-mv-container{
    background: #ffefe7;
}
.product-development-mv-container,
.product-development-content-container {
    padding-left: 2%;
    padding-block: 2.4rem;
}
.product-development-mv,
.product-development-content-container {
    display: grid;
    grid-template-columns: minmax(16rem, 160px) 1fr;
    /* gap: 6.7rem; */
}
.teller-era-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: center; */
    gap: 1.6rem;
    /* margin-left: 2%; */
    position: relative;
    z-index: 2;
}
.teller-container,
.era-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    background: #fff;
    width: 100%;
    border-radius: 4px;
}
.teller-container {
    padding: 2rem 1.2rem 1.2rem 1.2rem;
}
.era-container {
    padding-block: 2rem 1rem;
}
.era-container .select-list li {
    font-size: 1.6rem;
    padding-left: 3rem;
    height: 4rem;
    align-items: center;
}
.era-container .select-list {
    padding-block: 1rem;
}
.select-list li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}
.era-container .select-list,
.era-container .brand-era-header,
.era-container .select-wrapper
{
    width: 100%;
    max-width: 100%;
}
.era-container .brand-era-header {
    height: 5.6rem;
    border: none;
    font-size: 1.8rem;
    padding-left: 3rem;
}
.teller-image {
    width: 12rem;
    max-width: 120px;
}
.teller-button {
    width: 100%;
}
.brand-link-button-no-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding-block: 1.2rem;
    background: #fe641c;
    color: #fff;
    border-radius: 4px;
}
.brand-link-button-no-arrow:hover {
    opacity: 0.8;
    cursor: pointer;
}
.brand-concept-description-text {
    text-align: left;
}
.teller-title {
    margin-bottom: 1.4rem;
    position: relative;
    width: calc(100% + 2.4rem);
    text-align: center;
}
.teller-title span {
    display: block;
    width: 100%;
}
.teller-title:before {
    content: "";
    position: absolute;
    height: 4px;
    background: #fe641c;
    width: 4rem;
    top: 50%;
    left: 0;
}
.teller-title:after {
    content: "";
    position: absolute;
    height: 4px;
    background: #fe641c;
    width: 4rem;
    top: 50%;
    right: 0;
}
.teller-name {
    margin-bottom: 1.4rem;
}
.era-title {
    width: 100%;
    padding-left: 3.2rem;
    position: relative;
}
.era-title:after {
    content: "";
    position: absolute;
    height: 1px;
    background: #cccccc;
    width: 50%;
    top: 50%;
    right: 0;
}
.era-link-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    /* height: 132px; */
    margin-top: 1.8rem;
    /* overflow: scroll; */
}
.era-link-item {
    width: 100%;
    height: 100%;
}
.era-link-item a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    padding-block: 1rem;
    border-radius: 4px;
    margin-bottom: 1.6rem;
    padding-inline: 3.2rem;
}
.era-link-item--active {
    background: rgba(254, 100, 28, 0.06);
}
.product-development-title-container {
    /* display: grid;
    grid-template-columns: minmax(32%, 468px) 1fr;
    column-gap: 4.7rem;
    row-gap: 1.6rem; */
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    height: fit-content;
    padding-block: 13rem 12rem;
    /* margin-left: -160px; */
    max-width: 1300px;
}
.product-development-title-logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-bottom: 3.2rem;
    position: relative;
}
.product-development-title-logo:before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    bottom: -9px;
    right: calc(-9px - 6vw);
    background: #FE641C;
    z-index: 0;
}
.product-development .product-development-content-container .back-link {
    position: relative;
    padding-left: 3rem;
}
.product-development .product-development-bottom.back-link {
    padding-top: 64px;
    padding-left: 0;
    justify-content: center;
    margin: 0;
}
.product-development-title-logo:after {
    content: "";
    position: absolute;
    width: 100vw;
    /* max-width: 900px; */
    bottom: 0;
    right: -6vw;
    height: 1px;
    background: #FE641C;
    z-index: 0;
}
.product-development-title-logo img,
.product-development-title-logo p {
    max-width: 560px;
    width: 85%;
    margin-inline: auto;
}
.product-development-title-logo p {
    max-width: 590px;
    width: 85%;
}
.product-development-title-image {
    width: 70%;
    /* max-width: 596px; */
    /* padding-right: 4%; */
    /* display: flex; */
    max-width: 640px;
    margin-inline: auto;
    padding-top: 2.4rem;
    /* align-items: flex-end; */
    /* margin-bottom: -50px; */
    /* padding-top: 7.3rem; */
    /* border-top: 1px solid #999; */
    /* margin-top: 9rem; */
    /* padding-left: 2%; */
    /* padding-right: 12%; */
}
.product-development-title-image img {
    /* max-width: 596px; */
}
.product-development-title-era {
    grid-column: 1 / 3;
    position: relative;
    height: fit-content;
}
.product-development-title-era:before {
    content: "";
    position: absolute;
    height: 1px;
    background: #fe641c;
    width: calc(80% - 5.7rem);
    top: 50%;
    right: 5.7rem;
}
.product-development-title-era:after {
    content: "";
    position: absolute;
    color: #fe641c;
    background: #fe641c;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    top: 43%;
    right: 4rem;
}
.product-development-era-contianer {
    max-width: 957px;
    width: 76%;
    padding-block: 40px 104px;
    order:2;
}
.product-development-era-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}
.product-development-era-list-item a{
    display: flex;
    with: 100%;
    height: 100%;
    align-itmes: center;
    justify-content: center;
    color: #FE641C;
    background: #fff;
    border-radius: 4px;
    font-size: 20px;
    font-weight: 700;
    padding-block: 16px;
    box-shadow: 0 3px 6px rgba(253,126,0,0.16)
}
.mr-8 {
    margin-right: 0.8rem;
}
.mb-18 {
    margin-bottom: 1.8rem;
}
.product-development .modal {
    border-radius: 8px;
    padding: 4rem;
    padding-top: 4.4rem;
    overflow-x: hidden;
}
.produt-modal-inner .teller-title {
    width: calc(100% + 8rem);
    margin-left: -4rem;
    margin-bottom: 4.8rem;
}
.produt-modal-inner .teller-title:before,
.produt-modal-inner .teller-title:after {
    width: 40%;
    height: 8px;
}
.produt-modal-teller-profile {
    display: grid;
    grid-template-columns: minmax(34rem, 340px) minmax(20rem, 200px);
    gap: 2rem;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin-bottom: 6.4rem;
    position: relative;
}
.produt-modal-teller-profile:before {
    content: "Guide";
    position: absolute;
    color: #f5f5f5;
    font-weight: 700;
    font-size: 16rem;
    top: 0;
    left: -5.2rem;
    line-height: 0.5;
}
.produt-modal-teller-introduction {
    display: grid;
    grid-template-columns: 27% 70%;
    column-gap: 3%;
    row-gap: 3rem;
    padding: 3.2rem;
    padding-right: 4rem;
    padding-bottom: 5rem;
    background: rgba(254, 100, 28, 0.06);
    max-width: 560px;
}
.teller-introduction-title {
    grid-column: span 2;
}
.produt-modal-teller-profile--right {
    display: flex;
    align-items: center;
}
.produt-modal-teller-profile--left,
.produt-modal-teller-profile--right {
    position: relative;
}
.product-development-content-container {
    background: #fff;
    position: relative;
    padding-bottom: 8rem;
    overflow: hidden;
}
.product-development-content-container:before {
    content: "Product\A development\A secret\A story";
    white-space: pre;
    position: absolute;
    color: #f5f5f5;
    font-weight: 700;
    font-size: 16rem;
    top: -4rem;
    left: -1rem;
    line-height: 0.9;
}
.product-development-content-title {
    /* display: flex; */
    /* gap: 3.2rem; */
    position: relative;
    margin-bottom: 6.4rem;
}
.product-development-content-title:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 4rem;
    background: transparent;
    border-top: 4px solid #fe641c;
    border-left: 4px solid #fe641c;
    border-right: 4px solid #fe641c;
    left: 0;
    top: 50%;
}
.product-development-content-title img {
    width: 16rem;
    max-width: 160rem;
    position: absolute;
    top: -1.5rem;
    right: 7rem;
}
.product-development-content-title-inner {
    width: 48rem;
    max-width: 480px;
    padding-inline: 6.8rem;
    padding-block: 0.8rem;
    background: #fe641c;
    border-radius: 40px;
    position: relative;
}
.product-development .brand-container-l {
    position: relative;
}
.product-development-content-note {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 9.6rem;
}
.product-development-content-note-right {
    position: relative;
    z-index: 10;
}
.product-development-content-note-right img {
    width: 90%;
    margin-inline: auto;
}
.note-title {
    padding-bottom: 2.4rem;
    margin-bottom: 3.2rem;
    position: relative;
    letter-spacing: 0.05rem;
    font-family: "Noto serif JP", serif;
}

.note-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 120%;
    height: 1px;
    background-image: linear-gradient(to right, #fe641c 25%, #cccccc 25%);
}
.product-development-content-column {
    margin-bottom: 8.7rem;
    border-radius: 40px;
    padding: 4.8rem 5.2rem 4.8rem 4rem;
    position: relative;
}
.product-development-content-column:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border: 2px solid #fe641c;
    border-radius: 40px;
    top: 0;
    left: 0;
    z-index: 10;
}
.note-column-title-content {
    position: relative;
    z-index: 5;
}
.note-column-title-container {
    display: flex;
    gap: 2.4rem;
    margin-bottom: 4.2rem;
    position: relative;
    z-index: 5;
}
.note-column-title-container:before {
    content: "";
    position: absolute;
    background-image: url(./images/brand/note-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
    width: 67.6rem;
    max-width: 676px;
    height: 71.9rem;
    top: -20rem;
    right: calc(((100vw - 1120px) / 2 + 5.2rem) * -1);
    z-index: 0;
}
.note-column-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    font-family: "Noto serif JP", serif;
}
.note-column-icon {
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: #fe641c;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}
.product-development-content-thanks {
    /* width: 86%;
    max-width: 960px; */
    margin-inline: auto;
}
.note-thanks-title {
    margin-bottom: 4.6rem;
    font-family: "Noto serif JP", serif;
}
.note-thanks-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem;
}
.note-thanks-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 2.4rem;
    background: #f5f5f5;
    border-radius: 4px;
}

.pb-envirionment {

}
.pb-environment-list {

}
.pb-environment-list-item {
    

}
.pb-environment-list-item-title {
    font-size: 2.4rem;
    font-weight: 700;
    display:flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    position: relative;
    border-left: 8px solid #fe641c;
    padding-left: 16px;
    margin-bottom: 2.6rem
}
.pb-environment-list-item.pb-environment-item-01 {
    margin-bottom: 11rem;
}
.pb-environment-list-item-title-sub {
    font-size: 1.6rem;
    font-weight: 400;
}
.pb-environment-item-01 .pb-environment-list-item-contents{
    display: grid;
    grid-template-columns: 54% 1fr;
    gap: 5%;
    margin-bottom: 0.8rem;
}
.pb-environment-list-item-contents-text p{
    font-size: 1.6rem;
    line-height: 1.9rem;
}
.pb-environment-list-item-contents-image {
    display: flex;
    align-items: center;
}
.pb-environment-list-item-notice {
    text-align: right;
    font-size: 1.4rem;
    color: #666666;
}
.pb-environment-list-item.pb-environment-item-02{
    margin-bottom: 5.6rem
}
.pb-environment-item-02 .pb-environment-list-item-contents-text {
    margin-bottom: 8rem;
}
.pb-environment-list-item-contents-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem;
    width: 86%;
    margin-inline: auto;
    align-items: center;
}
.pb-environment-list-item.pb-environment-item-03 {
    margin-bottom: 6rem
}
.pb-environment-list-item.pb-environment-item-03{
    /* background-image: url(./images/brand/environment04.png);
    background-size: 240px;
    background-position: top right;
    background-repeat: no-repeat;
    aspect-ratio: 960/364; */
}
.pb-environment-item-03 .pb-environment-list-item-contents {
    /* width: 70%; */
}
.pb-environment-item-03 .pb-environment-list-item-inner {
    /* padding-top: 8.4rem; */
}
.pb-environment-item-03 .pb-environment-list-item-contents-text {
    padding-bottom: 4rem;
    border-bottom: 1px solid #CCCCCC;
    margin-bottom: 4rem;
}
.pb-environment-item-03 .pb-environment-list-item-contents-text-2 {
    font-size: 1.6rem;
    line-height: 1.9rem;
    margin-bottom: 4rem;
}
.pb-environment-item-03 .pb-environment-list-item-contents-title-h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 3rem;
}
.pb-environment-item-03 .pb-environment-list-item-contents-company-list {
    width: 65%;
    min-width: 600px;
    margin-bottom: 4.2rem;
}
.pb-environment-item-03 .pb-environment-list-item-contents-company-list ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 4rem;
    grid-row-gap: 0.8rem;
}
.pb-environment-item-03 .pb-environment-list-item-contents-company-list li {
    position: relative;
    font-size: 1.6rem;
    padding-left: 2rem;
}
.pb-environment-item-03 .pb-environment-list-item-contents-company-list li:before {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    background: #FD7E00;
    border-radius: 50%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.pb-environment-item-03 .pb-environment-list-item-contents-images {
    width: 73%;
    grid-template-columns: 30% 1fr;
    gap: 4rem;
}

.pb-environment-item-04 .pb-environment-list-item-contents-text {
    margin-bottom: 4rem;
}
.pb-environment-item-04 .pb-environment-list-item-contents-text-main {
    margin-bottom: 5.3rem;
}
.pb-environment-item-04 .pb-environment-list-item-contents-text-source {
    font-size: 14px;
    color: #666666;
    text-align: right;
}
.pb-environment-item-03 .pb-environment-list-item-contents-image {
    display: none;
}
.pb-environment-item-04 .pb-environment-list-item-contents-images {
    grid-template-columns: 51.5% 45.5%;
    gap: 3%;
}
.pb-environment-item-04.pb-environment-list-item {
    margin-bottom: 5.6rem;
}


@media (max-width: 767px) {
    .fs-14 {
        font-size: 1.2rem;
    }
    .fs-16 {
        font-size: 1.4rem;
    }
    .fs-18 {
        font-size: 1.6rem;
    }
    .fs-20 {
        font-size: 1.8rem;
    }
    .fs-28 {
        font-size: 2rem;
    }
    .fs-32 {
        font-size: 2.4rem;
    }
    .fs-72 {
        font-size: 5.6rem;
    }
    .fs-sm-10 {
        font-size: 1rem;
    }
    .fs-sm-12 {
        font-size: 1.2rem;
    }
    .fs-sm-13 {
        font-size: 1.3rem;
    }
    .fs-sm-14 {
        font-size: 1.4rem;
    }
    .s-sm-16 {
        font-size: 1.6rem;
    }
    .fs-sm-20 {
        font-size: 2rem;
    }
    .menu-brand-top a {
        flex-direction: column;
        align-items: flex-start;
    }
    main.brand-main {
        margin-top: calc(14.4rem + 3.2rem);
    }
    main.brand-main.product-development {
        margin-top: calc(14.4rem);
        margin-bottom: calc(20.3rem + 8rem);
    }
    /* main.brand-main.product-development + footer.footer {
        height: calc(20.3rem + 8rem);
    } */
    main.brand-top-main {
        margin-top: calc(14.4rem);
        backgroun-image: url(./images/brand/top-bg-sp.png);
        background-repeat: repeat-y;
    }
    .brand-concept-container {
        margin-top: 1.6rem;
        padding-inline: 1.6rem;
        background-image: url(./images/brand/concept-bg-sp.png);
        background-position: top 24rem right 0;
    }
    .brand-concept-top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4rem;
        padding-top: 4rem;
        border-top: 6px solid #fe641c;
        padding-inline: 0;
    }
    .brand-concept-top-image {
        max-width: 160px;
        margin-inline: auto;
    }
    .brand-concept-top-text {
        font-size: 1.4rem;
    }
    .brand-concept-description {
        width: calc(100% + 32px);
        margin-left: -16px;
        padding-inline: 1.6rem;
        padding-block: 4rem 6rem;
        margin-bottom: 4rem;
    }
    .brand-concept-description-title .title-ja::before {
        left: -5rem;
        width: 4rem;
    }
    .brand-concept-description-title .title-ja::after {
        right: -5rem;
        width: 4rem;
    }
    .brand-concept-banners {
        grid-template-columns: 1fr;
        gap: 1.6rem;
        width: 67%;
        pading-bottom: 4rem;
    }
    .from-ceo-image {
        width: 100%;
    }
    .yomiuri-container {
        position: relative;
        width: 14.4rem;
        margin-inline: auto;
        margin-bottom: 4rem;
        right: 0;
    }
    .product-development .modal,
    .from-ceo .modal {
        margin: unset;
    }
    .brand-list-title-container {
        grid-template-columns: 10rem 1fr;
        margin-bottom: 4rem;
        margin-left: unset;
        gap: 2rem;
    }
    .pb-list {
        grid-template-columns: 1fr 1fr;
    }
    .pb-list-item {
        height: 18rem;
    }
    .pb-list-item a {
        padding: 10%;
        pading-bottom: unset;
    }
    .brand-item-type-list {
        grid-template-columns: 1fr 1fr;
    }
    .product-development-mv,
    .product-development-content-container {
        grid-template-columns: 1fr;
    }
    .product-development-mv-container {
        padding: 7.6rem 2.4rem 0;
    }
    .product-development-title-logo {
        order: 1;
    }
    .product-development-title-logo img {
        width: 28rem;
        max-width: 280px;
    }
    .product-development-title-container {
        grid-template-columns: 1fr;
        gap: 0;
        padding-block: 0 4rem;
        margin-left:0;
    }
    .product-development-title-era {
        grid-column: span 1;
        order: 2;
    }
    .product-development-title-image {
        order: 3;
    }
    .product-development-title-era:before {
        width: 45%;
        right: 0;
        top: 50%;
    }
    .product-development-title-era:after {
        width: 1.2rem;
        height: 1.2rem;
        top: 43%;
        right: 0;
    }
    .product-development-title-image {
        margin-top: 1.6rem;
        padding: 0;
        border-top: none;
        padding-bottom: 2.4rem;
        /* border-bottom: 1px solid #999; */
        /* margin-bottom: 6.8rem; */
    }
    .product-development-content-container {
        padding-block: 2rem 4rem;
    }
    .product-development-content-container:before {
        font-size: 7.3rem;
        top: -1.5rem;
        left: -0.5rem;
    }
    .product-development-content-note {
        grid-template-columns: 1fr;
        gap: 4.4rem;
        margin-bottom: 4.8rem;
    }
    .product-development-content-title-inner {
        width: 25.1rem;
        max-width: 251px;
        padding-inline: 2.4rem;
    }
    .product-development-content-title {
        margin-bottom: 2.8rem;
    }
    .product-development-content-title img {
        width: 9.6rem;
        max-width: 96px;
        top: -0.5rem;
        right: 2rem;
    }
    .product-development-content-title:before {
        height: 2.4rem;
    }
    .note-title {
        margin-bottom: 2rem;
    }
    .note-title span {
        font-size: 1.6rem;
    }
    .product-development-content-note-right img {
        width: 95%;
    }
    .product-development-content-column {
        padding: 1.6rem;
        margin-bottom: 4.5rem;
    }
    .note-column-title-container {
        gap: 1.6rem;
        margin-bottom: 1.6rem;
    }
    .note-column-icon {
        width: 6.4rem;
        height: 6.4rem;
        position: relative;
    }
    .note-column-title {
        position: relative;
    }
    .note-column-title-content {
        font-size: 1.4rem;
        margin-bottom: 3.2rem;
    }
    .note-column-title-container:before {
        width: 32rem;
        max-width: 320px;
        height: 34rem;
        top: -10rem;
        right: calc(((100vw - 358px) / 2 + (100vw * 0.1)) * -1);
        z-index: 0;
    }
    .product-development-content-thanks {
        width: 100%;
    }
    .note-thanks-title {
        margin-bottom: 2.8rem;
    }
    .d-sm-none {
        display: none !important;
    }
    .note-thanks-list {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 1.6rem;
    }
    .product-development-sp-menu {
        position: fixed;
        bottom: 0;
        width: 100%;
        height: 6.4rem;
        background: #fff;
        display: grid;
        grid-template-columns: 60% 40%;
        align-items: center;
        z-index: 100;
        box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.16);
    }
    .sp-teller-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.6rem;
        /* border-right: 1px solid #ccc; */
    }
    .sp-teller-container img {
        max-width: 58px;
    }
    .sp-teller-name-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.4rem;
    }
    .sp-teller-container:hover {
        opacity: 0.8;
        cursor: pointer;
    }
    .brand-link-button-no-arrow {
        width: 9rem;
        height: 3.2rem;
    }
    .sp-era-container {
        display: grid;
        grid-template-columns: 40px 1fr;
        padding-inline: 2.4rem 1.6rem;
        align-items: center;
    }

    nav.product-development-sp-menu .select-wrapper::after {
        right: 0;
    }
    nav.product-development-sp-menu .select-wrapper input {
        padding: 0.5rem 0;
        font-size: 1.4rem;
        border: none;
        width: 100%;
        height: 100%;
    }
    nav.product-development-sp-menu .select-list {
        top: unset;
        bottom: 100%;
        border-radius: 4px 4px 0 0;
        border: 1px solid #ccc;
    }
    nav.product-development-sp-menu .select-list li {
        height: unset;
    }
    nav.product-development-sp-menu .select-list li a {
        display: flex;
        align-items: center;
        padding-block: 1rem;
        font-size: 1.4rem;
    }
    .nav .flex li .select-list li a{
        padding-left:0;
    }
    .produt-modal-teller-profile {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 3.2rem;
    }
    .produt-modal-teller-profile--right {
        order: 1;
        max-width: 160px;
    }
    .produt-modal-teller-profile--left {
        order: 2;
    }
    .brand-type .modal,
    .product-development .modal {
        padding: 4rem 1.6rem;
    }
    .modal-product-image {
        width: 100%;
    }
    .produt-modal-inner .teller-title {
        width: calc(100% + 3.2rem);
        margin-left: -1.6rem;
        margin-bottom: 3.2rem;
    }
    .produt-modal-inner .teller-title:before,
    .produt-modal-inner .teller-title:after {
        width: 35%;
        height: 4px;
    }
    .produt-modal-teller-introduction {
        padding: 0;
        padding: 2.4rem 1.6rem;
    }
    .brand-item-title-image {
        width: 20rem;
        max-width: 200px;
        margin-inline: auto;
    }
    .note-thanks-list.grid-column-4 {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }
    .mx-sm-unset {
        margin-inline: unset;
    }
    .brand-concept-description-source {
        padding-top: 2.4rem;
    }
    .brand-concept-top-source {
        padding-top: 2.4rem;
    }
    .pb-environment-item-01 .pb-environment-list-item-contents {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }
    .pb-environment-item-02 .pb-environment-list-item-contents-text{
        margin-bottom: 2.4rem;
    }
    .pb-environment-list-item-contents-images{
        grid-template-columns: 1fr;
        gap: 2.4rem;
        width: 100%;
    }
    .pb-environment-item-03 .pb-environment-list-item-contents{
        width: 100%;
    }
    .pb-environment-item-03 .pb-environment-list-item-inner{
        padding-top:0;
    }
    .pb-environment-list-item.pb-environment-item-03 {
        background: none;
    }
    .pb-environment-item-03 .pb-environment-list-item-contents-image {
        display: flex;
        margin-top: 2.4rem;
        justify-content: center;
    }
    .pb-environment-item-03 .pb-environment-list-item-contents-text-2 {
        margin-bottom: 4rem;
    }
    .pb-environment-item-03 .pb-environment-list-item-contents-text {
        padding-bottom: 4rem;
        margin-bottom: 4rem;
    }
    .pb-environment-item-03 .pb-environment-list-item-contents-company-list {
        width: 100%;
        min-width: unset;
        margin-bottom: 2.4rem;
    }
    .pb-environment-item-03 .pb-environment-list-item-contents-images {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }
    .pb-environment-item-03 .pb-environment-list-item-contents-company-list ul {
        grid-template-columns: 1fr;
    }
    .pb-environment-item-04 .pb-environment-list-item-contents-images{
        grid-template-columns: 1fr;
        gap: 2.4rem;
        width: 100%;
    }
    .environment-image-04 {
        width: 240px;
        margin-inline: auto;
    }
    .pb-environment-list-item.pb-environment-item-01 {
        margin-bottom: 4rem;
    }
    .pb-environment-list-item.pb-environment-item-03 {
        margin-bottom: 4rem;
    }
    .pb-environment-item-04 .pb-environment-list-item-contents-text-main {
        margin-bottom: 2rem;
    }
    .pb-environment-item-04 .pb-environment-list-item-contents-text{
        margin-bottom: 2.4rem;
    }
    .pb-environment-item-04.pb-environment-list-item {
        margin-bottom: 5rem;
    }
    .brand-living-together {
        padding-bottom: 4rem;
    }
    .brand-living-together-source {
        padding-top: 2.4rem;
    }
    .brand-list-pb-title {
        font-size: 1.6rem !important;
    }
    .product-development-title-logo:before {
        width: 12px;
        height: 12px;
        bottom: -6px;
        right: -6px;
    }
    .product-development-title-logo::after {
        width: 100%;
        right: 0;
    }
    .product-development-era-contianer {
        width: 100%;
    }
    .product-development-era-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .product-development .product-development-content-container .back-link{
        padding-left: 1rem;
        margin-bottom: 2rem;
    }
}
.product-development .wp-block-image img {
    margin-inline: auto;
}
