@media (max-width: 768px) {
    .home-banner-cont {
        min-height: 300px;
        position: relative;
    }
    .home-banner-cont h3 {
        font-size: 3.2rem;
        top: 20px;
        left: 0;
    }
    .name-company {
        font-size: 3.4rem;
        left: 10px;
        bottom: -7px;
    }
    .home-banner::after {
        background-image: url(../images/index/home-banner-sm.png);
        border-bottom-right-radius: 80px;
        border-top-left-radius: 300px;
    }
    .home-banner::before {
        width: 155px;
        height: 109px;
        bottom: 0;
    }
    .box-btn-top-header {
        padding: 30px;
    }
    a.btn.btn-header {
        width: 100%;
        height: 60px;
        flex-direction: row;
        justify-content: flex-start;
        padding-left: 20px;
        border-radius: 5px;
        font-size: 1.6rem;
        position: relative;
    }
    a.btn.btn-header::after {
        content: "";
        width: 23px;
        height: 7px;
        mask-image: url(../images/index/icon-right.svg);
        mask-position: center;
        mask-size: 100% 100%;
        mask-repeat: no-repeat;
        -webkit-mask-image: url(../images/index/icon-right.svg);
        -webkit-mask-size: 100% 100%;
        -webkit-mask-position: center;
        -webkit-mask-repeat: no-repeat;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 24px;
        background-color: #fff;
        left: auto;
    }
    .box-home-pickup {
        flex-direction: column;
    }
    .home-pickup-left {
        width: 100%;
    }
    .home-pickup-right {
        width: 100%;
    }
    .box-slide-pickup-right {
        margin: 0;
        overflow: visible;
        padding-left: 0;
    }
    .slide-pickup-right .slick-slide {
        padding: 0 10px;
    }
    .slide-pickup-right .slick-list {
        margin: 0 -10px;
        overflow: hidden;
        padding: 10px 0 0;
    }
    .date-pickup {
        font-size: 1.8rem;
        top: -14px;
    }
    .title-pickup a {
        font-size: 1.4rem;
        line-height: 1.3;
    }
    .pickup-arrows {
        justify-content: center;
        gap: 20px;
    }
    button.slide-arrow {
        width: 62px;
        height: 31px;
    }
    button.slide-arrow img {
        width: 23px;
    }
    .home-pickup-right::after {
        height: 165px;
        width: 100vw;
        left: -30px;
        top: 70px;
    }
    .main-title-en {
        font-size: 4rem;
        margin-left: 32px;
        margin-bottom: 5px;
    }
    .main-title-jp {
        font-size: 1.8rem;
    }
    .main-title-en::after {
        width: 18px;
        height: 28px;
        left: -30px;
        top: 7px;
    }
    .box-department-home {
        padding-top: 30px;
        padding-right: 0;
    }
    .box-department-home::after {
        width: 100vw;
        right: -30px;
        border-radius: 0 95px 0 95px;
        height: 268px;
    }
    span {}
    a.btn.btn-depart {
        font-size: 2.7rem;
        padding-right: 58px;
    }
    a.btn.btn-depart::after {
        width: 40px;
        height: 20px;
    }
    .box-department-home p {
        font-size: 1.4rem;
        line-height: 1.59;
        padding-top: 14px;
        padding-right: 38px;
    }
    .list-btn-link {
        margin-top: 65px;
        margin-left: 7px;
        margin-right: 7px;
        padding: 10px 20px;
    }
    a.btn.btn-link {
        font-size: 1.5rem;
        padding: 14px 8px;
    }
    a.btn.btn-link::after {
        width: 36px;
        height: 18px;
        background-size: 13px 4px;
        background-position: center;
        right: 8px;
    }
    .box-department-home.right {
        padding-left: 35px;
    }
    .box-department-home.right p {
        padding-right: 0;
    }
    .box-department-home.right::after {
        left: -30px;
        border-radius: 95px 0 95px 0;
    }
    .img-cluster img {
        width: 197px;
    }
    .list-link-cluster a {
        padding: 10px;
        width: calc(50% - 5px);
        font-size: 1.3rem;
        gap: 10px;
        min-height: 70px;
        line-height: 1.19;
    }
    .list-link-cluster {
        gap: 10px;
    }
    .list-link-cluster a img {
        width: 40px;
    }
    .list-link-cluster a::after {
        width: 35px;
        height: 18px;
        background-size: 13px 4px;
        background-position: center;
        right: 10px;
        bottom: 7px;
    }
    .home-cluster::after {
        width: calc(100% - 10px);
        height: calc(100% - 50px);
        top: auto;
        bottom: 0;
        background-position: center right;
    }
    .box-home-news {
        flex-direction: column;
    }
    .home-news-left {
        width: 100%;
    }
    .home-news-right {
        margin: 30px 0 0;
        width: 100%;
    }
    a.btn.btn-main {
        max-width: 250px;
        min-height: 55px;
        font-size: 1.5rem;
        border-radius: 3px;
    }
    a.btn.btn-main::after {
        width: 40px;
        height: 20px;
        right: 20px;
    }
    ul.tabs-nav.text-sm-center {
        flex-wrap: wrap;
        gap: 15px 9px;
    }
    ul.tabs-nav li {
        width: calc(50% - 5px);
        padding-bottom: 8px;
        border-width: 1px;
    }
    .news-item.item-list {
        flex-wrap: wrap;
        padding: 13px 8px;
        gap: 0 8px;
    }
    .date {
        width: 80px;
        text-align: left;
        font-size: 1.8rem;
    }
    a.cat {
        width: 120px;
        height: 20px;
        font-size: 1.1rem;
        border-radius: 3px;
    }
    .news-item.item-list .title {
        padding: 8px 0 0;
    }
    .news-item.item-list .title a {
        font-size: 1.4rem;
        line-height: 1.29;
    }
    .box-home-calendar {
        flex-direction: column;
    }
    .home-calendar-left {
        width: 100%;
        padding-bottom: 55px;
    }
    .home-calendar-right {
        padding: 30px 0;
    }
    .home-calendar-left::after {
        width: 100vw;
        height: calc(100% + 25px);
        top: -25px;
        right: -30px;
        background-position: center bottom;
    }
    .home-calendar .main-title-en {
        margin-left: 32px;
        margin-bottom: 5px;
    }
    .list-link-home {
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        max-width: 275px;
        margin-left: auto;
        margin-right: auto;
    }
    .home-link .main-title {
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
    }
    .footer-left {
        width: 100%;
        padding: 0 15px;
    }
    .footer-copyright {
        font-size: 1rem;
        padding: 15px 0;
    }
    .footer-wrap {
        border-width: 4px;
        padding: 40px 0 45px;
    }
    body::after {
        width: calc(50vw + 20px);
        background-position: center right;
        background-size: calc(100vw - 45px) auto;
    }
    .main-title.center .main-title-en {
        padding-left: 0;
        margin-left: 32px;
    }
    .main-title.center {
        text-align: left;
    }
    .main-title.center .main-title-en::after {
        left: -30px;
    }
    .page-header-title {
        height: 170px;
        padding-top: 25px;
    }
    .title-en {
        font-size: 3.6rem;
        padding-left: 30px;
    }
    .title-jp {
        font-size: 1.5rem;
        margin-top: 5px;
    }
    .title-en::after {
        left: 3px;
        width: 16px;
        height: 26px;
        top: 6px;
    }
    section#page-header {
        margin: 0;
    }
    .page-header::before {
        width: 85px;
        height: 60px;
    }
    .page-header::after {
        height: 92px;
        top: auto;
        bottom: 0;
        width: calc(50% + 56px);
        border-bottom-right-radius: 80px;
        border-top-left-radius: 120px;
    }
    #page-header::before {
        height: 70px;
        border-top-left-radius: 50px;
    }
    #page-header::after {
        height: 174px;
        width: 100%;
        top: 35px;
    }
    body:not(.home)::after {
        height: 280px;
    }
    a.btn.btn-main.btn-home-single {
        width: 130px;
        font-size: 1.4rem;
        min-height: 50px;
    }
    a.btn.btn-main.btn-home-single:after {
        right: 14px;
    }
    .works-filter-box {
        flex-direction: column;
        justify-content: center;
    }
    .works-filter {
        padding: 45px 0 30px;
    }
    .page-news .news-item.item-list {
        gap: 0;
        padding: 13px 8px;
        padding-right: 50px;
    }
    .page-news .news-item.item-list .date {
        width: 80px;
    }
    .page-news .news-item.item-list::after {
        width: 35px;
        height: 18px;
        background-size: 14px 5px;
        background-position: center bottom 7px;
        right: 7px;
        bottom: 22px;
    }
    .page-news .news-item.item-list .title a {
        letter-spacing: 0.025em;
    }
    .page-news .news-item.item-list .title {
        margin-top: 0;
    }
    .page-navi {
        padding: 28px 0 50px;
    }
    .page-news.blog .wp-pagenavi a.nextpostslink,
    .page-news.blog .wp-pagenavi a.previouspostslink,
    .page-news.blog a.next-btn,
    .page-news.blog a.pre-btn {
        width: 55px;
        height: 28px;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        background-size: 16px 5px;
        background-position: center bottom 13px;
        margin: 0;
    }
    .single-page .previouspostslink::after {
        font-size: 1.3rem;
        right: auto;
        top: auto;
        transform: none;
        bottom: -21px;
        width: max-content;
    }
    .single-page .nextpostslink::after {
        left: auto;
        right: 0;
        width: max-content;
        bottom: -21px;
        top: auto;
        transform: none;
        font-size: 1.3rem;
    }
    .single-page .wp-pagenavi {
        align-items: flex-start;
    }
    .single-page .wp-pagenavi a.previouspostslink,
    .single-page .wp-pagenavi a.nextpostslink {
        top: 0;
        transform: none;
    }
    .single-page ul.wp-pagenavi li {
        margin: 0;
    }
    .wp-pagenavi a.nextpostslink,
    .wp-pagenavi a.previouspostslink,
    a.next-btn,
    a.pre-btn {
        background-size: 21px 6px;
        background-position: center bottom 12px;
    }
    ul.list-anchor {
        flex-wrap: wrap;
        gap: 20px;
        justify-content: flex-start;
    }
    ul.list-anchor li {
        width: calc(50% - 10px);
    }
    ul.list-anchor li a {
        width: 100%;
        padding-left: 8px;
        padding-bottom: 14px;
        font-size: 1.2rem;
        padding: 8px 10px;
        padding-right: 25px;
        min-height: 48px;
    }
    .anchor-wrap {
        padding: 10px 0 0;
    }
    .page-id-214 ul.list-anchor {
        gap: 20px;
    }
    .page-id-214 ul.list-anchor li a br {
        display: none;
    }
    ul.list-anchor li a::after {
        width: 15px;
        height: 4px;
        right: 8px;
        top: 24px;
    }
    .title-contact h3 {
        font-size: 3.8rem;
    }
    .title-contact h2 {
        font-size: 1.7rem;
        margin-top: -20px;
    }
    .title-contact::after {
        width: 29px;
        height: 13px;
    }
    .title-contact {
        padding-bottom: 15px;
    }
    .box-img-about-1 {
        max-width: 175px;
        margin: 0 auto;
    }
    .text-sign {
        font-size: 1.3rem;
        line-height: 1.57;
        margin-top: 20px;
    }
    .text-sign span {
        font-size: 1.5rem;
    }
    .box-text-about-1 p {
        font-size: 1.4rem;
        line-height: 1.667;
    }
    ul.list-dot li {
        font-size: 1.4rem;
        line-height: 1.85;
        padding-left: 20px;
    }
    ul.list-dot li::after {
        width: 10px;
        height: 10px;
        top: 8px;
    }
    .about-01::after {
        height: 167px;
        bottom: auto;
        top: 240px;
    }
    .about-2-img img {
        max-width: 100%;
        position: static;
    }
    .about-2-img {
        height: auto;
    }
    .box-text-about-2 {
        border-width: 1px;
        border-radius: 8px;
        padding: 10px 20px;
        position: absolute;
        right: 0;
        max-width: 250px;
        left: auto;
        top: auto;
        bottom: 135px;
    }
    .box-table-about {
        padding: 0;
        margin-top: 65px;
    }
    .table-about {
        gap: 10px;
        margin-bottom: 5px;
    }
    .table-about-left {
        width: 60px;
        font-size: 1.4rem;
    }
    .table-about-right {
        font-size: 1.4rem;
        color: #000;
        line-height: 1.22;
    }
    .sub-title {
        font-size: 1.4rem;
        padding-left: 30px;
        padding-bottom: 10px;
        border-width: 2px;
    }
    .sub-title::after {
        width: 16px;
        height: 25px;
        left: 3px;
        top: -2px;
    }
    .title-faci {
        font-size: 1.5rem;
        margin: 16px 0;
        padding-bottom: 12px;
    }
    .box-img-faci p {
        line-height: 1.667;
        color: #222;
    }
    .box-border {
        padding: 20px;
        border-width: 1px;
        border-radius: 8px;
        box-shadow: none;
        box-shadow: 1px 1px 0 rgba(0, 84, 130, 0.6);
    }
    .title-border {
        font-size: 1.5rem;
        padding-bottom: 8px;
        margin-bottom: 15px;
    }
    .title-border::after {
        width: 150px;
    }
    .box-map img {
        height: 185px;
        object-fit: cover;
    }
    .box-icon-cs {
        flex-wrap: wrap;
        margin-bottom: 35px;
    }
    .box-icon-cs>p {
        width: 100%;
        margin-top: 15px;
    }
    .icon-cs {
        width: 60px;
    }
    .icon-cs-cont {
        padding-left: 80px;
        padding-top: 20px;
    }
    .num-icon-cs {
        font-size: 7rem;
        top: -10px;
    }
    .title-icon-cs {
        margin-bottom: 0;
        font-size: 1.5rem;
    }
    ul.list-dot.v2 li {
        padding: 13px 45px;
        font-size: 1.4rem;
        line-height: 1.3;
        padding-right: 23px;
        border-radius: 20px 0 20px 0;
    }
    ul.list-dot.v2 li::after {
        width: 12px;
        height: 12px;
        left: 24px;
        top: 16px;
    }
    ul.list-dot.v2 li {
        padding: 13px 45px;
        font-size: 1.4rem;
        line-height: 1.3;
        padding-right: 23px;
        border-radius: 20px 0 20px 0;
    }
    ul.list-dot.v2 li::after {
        width: 12px;
        height: 12px;
        left: 24px;
        top: 16px;
    }
    .box-img-full {
        gap: 3px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .box-img-full img {
        width: calc(50% - 3px);
    }
    .title-under {
        font-size: 1.7rem;
        padding-bottom: 15px;
    }
    .title-under::after {
        height: 4px;
    }
    .img-profile {
        width: 135px;
    }
    .box-profile {
        gap: 20px;
        flex-wrap: wrap;
        margin-bottom: 30px;
    }
    .box-name-profile {
        flex-direction: column;
        gap: 7px;
    }
    .name-jp {
        font-size: 2.2rem;
    }
    .name-profile {
        font-size: 1.4rem;
        font-weight: 500;
        color: #000;
    }
    .name-en {
        font-size: 2rem;
        margin-left: auto;
    }
    .profile-cont {
        padding-top: 45px;
    }
    .list-area {
        margin-top: 0;
    }
    .area-title {
        font-size: 1.5rem;
        padding-bottom: 10px;
        margin-bottom: 13px;
    }
    .box-project {
        padding: 30px 20px;
        flex-direction: column;
        margin-left: -10px;
        margin-right: -10px;
    }
    .img-project {
        width: 100%;
    }
    .project-cont {
        width: 100%;
    }
    .title-project {
        font-size: 1.6rem;
        line-height: 1.46;
        padding-bottom: 15px;
    }
    .project-cont .box-table-about {
        margin-bottom: 20px;
    }
    .project-cont p {
        font-size: 1.4rem;
        line-height: 1.66;
    }
    .box-img-maritime-1 {
        height: auto;
    }
    .img-maritime-1 {
        position: static;
        width: 100%;
    }
    .box-img-maritime-1::after {
        width: 100vw;
        right: -30px;
        height: 160px;
        top: 55px;
    }
    .box-maritime-01::after {
        width: 100vw;
        height: calc(100% - 40px);
        border-radius: 0;
        top: 40px;
    }
    .box-maritime-01 {
        padding-bottom: 75px;
    }
    .name-custom {
        font-size: 4.5rem;
        left: 50%;
        transform: translateX(-50%);
        bottom: -20px;
    }
    .title-project::after {
        height: 2px;
        width: 50px;
    }
    .box-charactor {
        flex-wrap: wrap;
        gap: 0;
        padding: 0;
        margin-bottom: 40px;
    }
    .box-charactor-img {
        width: 50%;
        padding-right: 20px;
    }
    .box-charactor-img img {
        margin-left: -30px;
        max-width: calc(100% + 30px);
    }
    .box-charactor-cont {
        width: 50%;
        flex: unset;
        padding: 0;
    }
    .num-charactor {
        position: absolute;
        font-size: 6.5rem;
        left: -60px;
        top: 0;
    }
    .title-charactor {
        font-size: 1.5rem;
        padding-top: 35px;
    }
    .title-charactor br {
        display: none;
    }
    .charactor-des {
        padding: 35px 0 0;
    }
    .box-charactor:nth-child(2n) {
        padding-left: 0;
    }
    .box-charactor::after {
        width: 100vw;
        left: 0;
        clip-path: unset;
        height: 110px;
        border-top-left-radius: 200px;
        top: 20px;
    }
    .box-charactor::after {
        width: 100vw;
        left: 0;
        clip-path: unset;
        height: 110px;
        border-top-left-radius: 200px;
        top: 20px;
    }
    .title-gradient {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }
    .box-partner {
        padding: 7px 17px 17px;
    }
    .title-partner {
        font-size: 1.5rem;
        padding-right: 35px;
        padding-bottom: 12px;
        margin-bottom: 15px;
        padding-top: 10px;
    }
    .title-partner::after {
        width: 20px;
        height: 20px;
        right: 0px;
    }
    a.btn.btn-file {
        padding: 12px 50px;
        font-size: 1.4rem;
        padding-right: 65px;
        margin-bottom: 20px;
    }
    a.btn.btn-file::before {
        width: 23px;
        height: 28px;
        left: 15px;
    }
    a.btn.btn-file::after {
        width: 35px;
        height: 18px;
        right: 13px;
        background-size: 13px 4px;
        background-position: center bottom 8px;
    }
    .page-id-194 .name-custom {
        left: 50%;
        font-size: 3.3rem;
    }
    .page-id-194 .title-en {
        font-size: 3rem;
    }
    .box-list-contact {
        padding: 30px 20px;
        margin-left: -15px;
        margin-right: -15px;
        border-radius: 8px;
    }
    .box-border-contact-inner {
        padding: 20px;
        border-radius: 8px;
    }
    .box-contact-left a {
        font-size: 1.9rem;
    }
}