body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.9rem;
}
.corporation-desktop .corporation-big-title {
    font-weight: 600 !important;
    font-size: 5.5vw !important;
}
.corporation-desktop .corporation-small-title {
    font-weight: 700 !important;
    font-size: 2vw !important;
    line-height: 1.8 !important;
    margin-left: 40% !important;
}
.corporation-desktop .corporation-title-top-left {
    padding: 20px 40px 20px 12px;
}

.corporation-desktop .corporation-big-content {
    font-size: 2rem;
    margin-bottom: 40px;
}
.corporation-desktop .corporation-normal-content {
    font-size: 1rem;
    font-weight: 500;
    text-align: justify;
    margin-bottom: 0px;
}
.corporation-desktop .section .button-green {
    font-size: 1rem;
    font-weight: 500;
    height: fit-content;
    width: 85%;
    margin-left: 30px;
    padding: 15px;
}

.corporation-desktop .corporation-header .navbar {
    position: absolute;
    padding: 2rem;
}
.corporation-desktop .corporation-header .navbar-brand {
    font-size: 2.3vw;
    margin-right: 0px;
}

.corporation-desktop .corporation-header .navbar-brand:first-child {
    font-size: 1vw;
    font-family: "Noto Serif JP", serif;
    margin-right: 1rem;
}
.corporation-desktop .desktop-footer {
    margin-top: -100px;
    color: #ffffff;
}
.corporation-desktop .desktop-footer .footer-bottom {
    justify-content: space-evenly !important;
}
.corporation-desktop .desktop-footer .footer-bottom a {
    color: #ffffff !important;
}
.corporation-desktop .bg-footer {
    background-color: #3f4042 !important;
}

.corporation-desktop .who-we-are {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 100px 80px 100px 100px;
}
.corporation-desktop .who-we-are .content-right,
.corporation-desktop .who-we-are .content-left {
    width: 50%;
}
.corporation-desktop .who-we-are h1 {
    font-size: 3rem;
    line-height: normal;
    letter-spacing: -0.1em;
    font-weight: bold;
}
.corporation-desktop .who-we-are h1:first-child {
    margin-left: -15px;
}
.corporation-desktop .who-we-are p {
    font-size: 1.5em;
    line-height: 178.8%;
    letter-spacing: -0.05em;
}
.corporation-desktop .who-we-are .final-line {
    font-size: 1.25rem !important;
    letter-spacing: -0.025em;
    font-weight: bold;
}
.corporation-desktop .who-we-are .ttb-title {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    right: 0;
    position: absolute;
    top: 150px;
}
.corporation-desktop .who-we-are .ttb-title p {
    font-size: 1.4rem !important;
    font-weight: 700;
}

.corporation-desktop .section {
    display: flex;
    justify-content: space-between;
    width: 100%;
    position: relative;
    padding-top: 100px;
}
.corporation-desktop .product-section {
    padding-left: 0;
}
.corporation-desktop .product-section .content-left {
    width: 58%;
}
.corporation-desktop .product-section .content-right {
    width: 42%;
    margin: 0;
    align-self: center;
    padding: 30px 6vw 30px 30px;
}
.corporation-desktop .product-section .corporation-title-top-left {
    border-radius: 0 90px 90px 0;
    padding: 2vw 3vw 3vw 2vw;
}
.corporation-desktop .product-section-01 {
    padding-right: 0;
    flex-direction: row-reverse;
}
.corporation-desktop .product-section-01 .content-left {
    width: 58%;
    margin: 0;
}
.corporation-desktop .product-section-01 .content-right {
    width: 42%;
    margin: 0;
    align-self: center;
    padding: 30px 30px 30px 5vw;
}
.corporation-desktop .product-section-01 .corporation-title-top-right {
    border-radius: 100px 0 0 100px;
    padding: 3vw 3vw 4vw 6vw;
    margin-right: -15px;
    width: 75%;
}
.corporation-desktop .product-section-02 {
    padding-left: 0;
}
.corporation-desktop .product-section-02 .content-left {
    width: 58%;
}
.corporation-desktop .product-section-02 .content-right {
    width: 42%;
    margin: 0;
    align-self: center;
    padding: 30px 6vw 30px 30px;
}
.corporation-desktop .product-section-02 .corporation-title-top-left {
    border-radius: 0 90px 90px 0;
    padding: 2vw 3vw 3vw 2vw;
}
.corporation-desktop .vision-section {
    padding-right: 0;
    flex-direction: row-reverse;
}
.corporation-desktop .vision-section .content-left {
    width: 58%;
    margin: 0;
}
.corporation-desktop .vision-section .content-right {
    width: 42%;
    margin: 0;
    align-self: center;
    padding: 30px 30px 30px 5vw;
}
.corporation-desktop .vision-section .corporation-title-top-right {
    border-radius: 100px 0 0 100px;
    padding: 3vw 3vw 4vw 6vw;
    margin-right: -15px;
    width: 75%;
}
.corporation-desktop .couple-cards {
    padding: 0 100px;
}
.corporation-desktop .couple-cards .col-6 {
    display: flex;
}
.corporation-desktop .couple-cards .couple-card-item {
    padding: 5px;
}
.corporation-desktop .couple-cards .couple-card-item img {
    border-radius: 0;
}
.corporation-desktop .couple-cards .couple-card-item .couple-card-title {
    font-size: 0.8rem;
    line-height: 22px;
}
.corporation-desktop .couple-cards .couple-card-item .couple-card-info {
    font-size: 0.75rem;
    line-height: 18px;
    text-align: center;
    font-weight: 600;
    margin: 15px;
}
.corporation-desktop .couple-cards .couple-card-item .couple-card-info::after {
    content: "";
    height: 2px;
    display: block;
    width: 20%;
    margin: 15px auto auto;
}
.corporation-desktop
    .couple-cards
    .couple-card-item
    .dash-pink.couple-card-info::after {
    border: 1px solid #e3959a;
}
.corporation-desktop
    .couple-cards
    .couple-card-item
    .dash-green.couple-card-info::after {
    border: 1px solid #4dabc7;
}
.corporation-desktop .couple-cards .couple-card-item .couple-card-content {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 20px;
}
.corporation-desktop .corporation-title2 {
    text-align: right;
    padding: 40% 0;
}
.corporation-desktop .corporation-title3 {
    text-align: center;
    padding: 100px 0;
}
.corporation-desktop .list-info-title {
    display: flex;
    align-items: center;
    flex-direction: column;
    transform: translateX(calc(50% - 15px));
    margin-bottom: 25px !important;
}
.corporation-desktop .list-info-title .list-info-title-content {
    display: table-row;
    font-size: 1.2rem !important;
    letter-spacing: 0.02em !important;
    font-weight: bold;
    line-height: 98.19%;
}
.corporation-desktop .list-info-title .list-info-title-content:first-child {
    font-size: 0.7rem !important;
    text-align: center !important;
    font-family: "Noto Serif JP", serif;
}
.corporation-desktop .list-info {
    display: table;
}
.corporation-desktop .list-info .list-info-item {
    display: table-row;
    font-size: 1.2rem !important;
    letter-spacing: 0.02em !important;
}
.corporation-desktop .list-info .list-info-item-label {
    display: table-cell;
    padding-right: 30px;
    text-align: right;
    padding-bottom: 30px;
    color: #656565;
    font-weight: 400;
}
.corporation-desktop .list-info .list-info-item-value {
    display: table-cell;
    padding-bottom: 30px;
}
.corporation-desktop .list-info .list-info-item-value.mutil-row {
    padding-bottom: 0;
    display: block;
    margin-top: -20px;
}
.corporation-desktop
    .list-info
    .list-info-item-value
    .list-info-item-value-row {
    display: table-row;
}
.corporation-desktop
    .list-info
    .list-info-item-value
    .list-info-item-value-row
    .list-info-item-value-row-label {
    display: inline-table;
    padding-right: 15px;
    width: 170px;
}
.corporation-desktop
    .list-info
    .list-info-item-value
    .list-info-item-value-row:nth-child(2)
    .list-info-item-value-row-label {
    padding-right: 75px;
}
.corporation-desktop
    .list-info
    .list-info-item-value
    .list-info-item-value-row
    .list-info-item-value-row-content {
    display: inline-table;
}

.corporation-desktop .corporation-big-title3 {
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 2;
    letter-spacing: 0.28em;
    color: #000000;
}
.corporation-desktop .corporation-small-title3 {
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 24px;
    letter-spacing: 0.02em;
    color: #000000;
}
.corporation-desktop .happiness-section .content-right {
    max-width: 390px;
    align-content: flex-end;
}
.corporation-desktop .happiness-section .corporation-big-title {
    font-size: 6vw;
    margin-bottom: 20px !important;
    letter-spacing: -0.01em;
}
.corporation-desktop .happiness-section .corporation-small-title {
    font-size: 2.8vw;
    margin-right: 15% !important;
    letter-spacing: 1px;
}
.corporation-desktop .happiness-section,
.corporation-desktop .media-section {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around !important;
    padding: 100px 90px 30px 90px;
}

.corporation-desktop .media-section .content-right {
    max-width: 390px;
    align-content: flex-end;
}
.corporation-desktop .media-section .content-left .corporation-title2 {
    text-align: center;
    padding: 40% 0;
}

.corporation-desktop .recruit-section .content-right {
    max-width: 50%;
    align-content: center;
    padding-left: 5%;
    padding-right: 12vw;
}
.corporation-desktop .recruit-section .content-left {
    max-width: 50%;
}
.corporation-desktop .recruit-section .corporation-title-top-left {
    border-radius: 0 100px 100px 0;
    padding: 30px 6vw 35px 20px;
}

.happiness-section .content-right {
    background-size: 200px 200px;
    background-position: -50px -100px;
}

.happiness-section .corporation-title,
.info-section .corporation-title,
.media-section .corporation-title {
    position: unset;
}

.corporation-desktop .recruit-section .corporation-small-title {
    font-size: 2.8vw;
    margin-left: 3vw !important;
    letter-spacing: 1px;
}
.corporation-desktop .info-section {
    flex-direction: column;
    overflow: hidden;
    margin: 0 -15px;
}
.corporation-desktop .info-section .list-info {
    margin: auto !important;
}
/********** Corporation Landing Page ************/
/* Config elements */
.bg-green-1 {
    background-color: #80d8d8 !important;
}
.bg-green-2 {
    background: #2cccbd;
}
.color-green-1 {
    color: #2cccbd !important;
}
.color-green-2 {
    color: #3f968e !important;
}
.color-white {
    color: #ffffff !important;
}
.color-black {
    color: #1c0c08 !important;
}
.font-sans-serif {
    font-family: "Noto Sans JP", sans-serif !important;
}
.font-serif {
    font-family: "Noto Serif JP", serif !important;
}

.button-green {
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    padding: 10px;
    font-weight: bold;
    font-size: 0.75rem;
    line-height: 24px;
    text-align: center;
    letter-spacing: -0.025em;
    width: 100%;
    position: relative;
    display: block;
}
.button-green:hover {
    text-decoration: none;
}
.button-green span {
    border: 1px solid #ffffffbd;
    border-radius: 50%;
    padding: 0 4px;
    margin-left: 15px;
    font-size: 13px;
    color: #ffffffbd;
    line-height: 14px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 100;
}
.bg-decor-green {
    background: radial-gradient(
        50.22% 56.98% at 50.22% 50.15%,
        rgba(44, 204, 189, 0.52) 3.21%,
        rgba(44, 204, 189, 0.34) 26.56%,
        rgba(44, 204, 189, 0.24) 51.04%,
        rgba(44, 204, 189, 0) 88.38%
    );
    background-repeat: no-repeat;
}
.bg-decor-pink {
    background: radial-gradient(
        50.22% 56.98% at 50.22% 50.15%,
        rgba(255, 165, 149, 0.63) 3.21%,
        rgba(255, 165, 149, 0.486) 39.58%,
        rgba(255, 165, 149, 0) 89.91%
    );
    background-repeat: no-repeat;
}
.bg-pink {
    background: #fed7d0;
}
.bg-green {
    background: #b5e2dd;
}
/* Main style */
.corporation-header .navbar {
    height: min-content;
    position: absolute;
    top: 1rem;
    left: 1rem;
}
.corporation-header .navbar-brand {
    height: min-content;
    font-size: 5vw;
    line-height: 98.19%;
    letter-spacing: 0.05em;
    margin-right: 0px;
}
.corporation-header .navbar-brand:first-child {
    font-size: 2.4vw;
    letter-spacing: 0.03em;
    font-family: "Noto Serif JP", serif;
    margin-right: 0.5rem;
}
.corporation-desktop .corporation-content {
    padding: 30px 25px 15px;
    margin-bottom: 40px;
}
.corporation-desktop .section.product-section .corporation-content,
.corporation-desktop .section.product-section-01 .corporation-content,
.corporation-desktop .section.product-section-02 .corporation-content,
.corporation-desktop .section.vision-section .corporation-content,
.corporation-desktop .section.happiness-section .corporation-content,
.corporation-desktop .section.media-section .corporation-content,
.corporation-desktop .section.recruit-section .corporation-content {
    padding: 30px 25px 15px;
    margin-bottom: 40px;
}
.corporation-content {
    padding: 30px 25px 0px;
}
.section.product-section .corporation-content {
    margin-bottom: 45px;
}
.section.product-section-01 .corporation-content {
    margin-bottom: 30px;
}
.section.product-section-02 .corporation-content {
    margin-bottom: 45px;
}
.section.vision-section .corporation-content {
    margin-bottom: 0px;
}
.section.happiness-section .corporation-content {
    margin-bottom: 39px;
}
.section.media-section .corporation-content {
    margin-bottom: 53px;
}
.section.recruit-section .corporation-content {
    margin-bottom: 20px;
}
.section.info-section .corporation-content {
    margin-bottom: 0px;
}
.corporation-big-content {
    font-size: 1.23rem;
    line-height: 174.8%;
}
.corporation-normal-content {
    font-size: 0.79rem;
    line-height: 170%;
    letter-spacing: -0.025em;
    font-weight: 700;
}
.section.product-section .corporation-normal-content {
    margin-bottom: 0;
}
.section.product-section-02 .corporation-normal-content {
    margin-bottom: 0;
}
.corporation-footer {
    margin-top: -90px !important;
    background-color: #000000 !important;
}
.corporation-footer .logo-footer {
    width: 100% !important;
}
.corporation-footer .footer-menu {
    font-size: 10px;
    margin-bottom: 0;
}
.corporation-footer p,
.corporation-footer a {
    font-size: 8.5px;
    margin-bottom: 0;
    font-weight: normal;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.5;
    letter-spacing: 0.045em;
}
.corporation-footer a {
    display: inline-block;
}
.corporation-title {
    width: fit-content;
    background: #ffffff;
    position: absolute;
    box-shadow: 0 5px 4px rgba(0, 0, 0, 0.25);
}
.corporation-title-top-left {
    top: 0;
    left: 0;
    border-radius: 0 55px 55px 0;
    padding: 30px 20px 20px 12px;
}
.corporation-title-top-right {
    top: 0;
    right: 0;
    border-radius: 45px 0 0 45px;
    padding: 20px 15px 20px 30px;
    margin-right: 0;
}

.corporation-title-bottom-left {
    bottom: 0;
    left: 0;
    border-radius: 0 55px 55px 0;
    padding: 25px 35px 25px 15px;
}
.corporation-title-bottom-right {
    bottom: 18%;
    right: 0;
    max-width: 95%;
    border-radius: 45px 0 0 45px;
    padding: 20px 30px 20px 35px;
}
.corporation-img-title-top-left {
    padding-top: 50px;
}
.corporation-img-title-bottom-right {
    padding-top: 40px;
}

.corporation-title-top-left .corporation-small-title,
.corporation-title-bottom-left .corporation-small-title {
    margin-left: 15px !important;
}
.corporation-title-bottom-right .corporation-small-title,
.corporation-title-top-right .corporation-small-title {
    margin-left: 25px !important;
}
.corporation-title .corporation-big-title {
    font-weight: 600;
    font-size: 2rem;
    color: #1f3835;
    letter-spacing: 0;
}
.corporation-small-title {
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0;
    padding-bottom: 2px;
    align-self: flex-end;
    color: #000000;
}
.img-backward {
    z-index: -1;
}
/****** COUPLE CARDS ******/
.couple-cards {
    padding-left: 10px;
    padding-right: 10px;
}
.couple-card-item {
    padding: 3px;
}
.couple-card-item img,
.couple-card-item img.review {
    border-radius: 13px;
}
.couple-card-item .couple-card-tag {
    font-weight: bold;
    font-size: 0.47rem;
    padding-left: 3px;
    width: max-content;
    margin-top: 5px;
}
.couple-card-item .couple-card-tag:after {
    content: "";
    display: inline-block !important;
    width: 0;
    height: 0;
    border-right: 8px solid #ffffff;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    vertical-align: middle;
    margin-left: 3px;
}
.couple-card-item .couple-card-title {
    font-weight: bold;
    font-size: 0.5rem;
    line-height: 14px;
    margin: 5px 0;
}
.couple-card-item .couple-card-info {
    font-size: 0.5rem;
    line-height: 14px;
}

/******* SECTIONS STYLE *******/
.section {
    padding-top: 50px;
}
.section .title-img {
    width: 82%;
}
.who-we-are {
    padding: 40px 10px 20px 20px;
}
.who-we-are h1 {
    font-size: 2.5rem;
    letter-spacing: -0.1em;
}
.who-we-are h1:first-child {
    margin-left: -15px;
}
.who-we-are p {
    font-size: 0.75em;
    line-height: 178%;
    letter-spacing: -0.05em;
}
.who-we-are .final-line {
    font-size: 0.65rem !important;
    letter-spacing: -0.025em;
}
.who-we-are .ttb-title {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    right: -10px;
    position: absolute;
    top: 30%;
}
.who-we-are .ttb-title p {
    font-size: 0.75rem !important;
}
.vision-section .corporation-content {
    margin-top: -65px !important;
}
.product-section-01 .corporation-content {
    margin-top: -65px !important;
}

.media-section .media-img {
    width: 80%;
    margin: auto auto 30px;
}

.media-section .content-right,
.info-section .content-right {
    flex-direction: row-reverse;
    background-size: 200px 200px;
    background-position: 230px -70px;
}
.info-section .list-info {
    padding: 20px 0 20px 10px;
    margin-top: -75px;
}
.info-section .list-info .list-info-item {
    margin-bottom: 15px;
    font-weight: 500;
    font-size: 0.8rem;
    line-height: 22px;
    letter-spacing: -0.03em;
}
.info-section .list-info .mobile-title {
    width: max-content;
}
.info-section .list-info .list-info-title {
    margin-bottom: 15px;
    font-weight: 500;
    font-size: 0.8rem;
    line-height: 22px;
    letter-spacing: -0.03em;
}
.info-section .list-info .list-info-title .list-info-title-content {
    line-height: 98.19%;
}
.info-section .list-info .list-info-title .list-info-title-content:first-child {
    text-align: center !important;
    font-family: "Noto Serif JP", serif;
    font-size: 0.42rem;
    font-weight: 700;
}
.recruit-section {
    padding-top: 100px !important;
}

.bold {
    font-weight: 700;
}

.progressive img.reveal {
    animation: progressiveReveal 0.5s linear;
}

@keyframes progressiveReveal {
    0% {
        transform: scale(1);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.progressive img.preview {
    filter: blur(0) !important;
    transform: none !important;
}
