img {
    width: 100%;
}

.inner {
    padding: 0 20px;
}


.header {

}

.header_inner {
    display: flex;
    padding: 16px 20px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    background: var(--color-base, #FFF);
}

.header_logo {
   color: var(--color-main, #023E78);
   font-family: Roboto;
   font-size: 28px;
   font-style: italic;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.14px;
   text-transform: capitalize;
}

.header_logo-img {
        width: 100%;
        height: 100%;
}

.header_nav {
            display: none;
        }

@media screen and (min-width: 1280px) {
    .header_nav {
    display: flex;
    align-items: center;
    gap: 30px;
}
    }

.header_nav-lists {
    display: flex;
    align-items: center;
    gap: 16px;
}

.header_nav-list {
    list-style: none;
    color: var(--color-contrast, #1A1A1A);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
}

.header_nav-link {
    padding-right: 16px;
}

.header_nav-link:last-child {
    padding: 0;
}

.header_nav-btns {
    display: flex;
    gap: 10px;
    
}

.header_nav-btn {
    display: flex;
    width: 176px;
    height: 68px;
    padding: 24px 32px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */

    &:nth-of-type(1) {
        border: 1px solid var(--color-main, #023E78);
        background: var(--color-base, #FFF);
        color: var(--color-main, #023E78);

    &:hover {
        border: 1px solid var(--color-main, #023E78);
        background: var(--color-main, #023E78);
        color: var(--color-base, #FFF);
    }
    }

    &:nth-of-type(2) {
            border: 1px solid var(--color-main, #023E78);
        background: var(--color-main, #023E78);
        color: var(--color-base, #FFF);

    &:hover {
        border: 1px solid var(--color-main, #002a52);
        background: var(--color-base, #002a52);
    }
    }
}


.drawer-button {
    width: 27px;
    height: 22px;
    position: relative;

    &.is-checked .drawer-icon-bar {
        &:nth-of-type(1) {
            top: 50%;
            transform: rotate(45deg);
        }

        &:nth-of-type(2) {
            display: none;
        }

        &:nth-of-type(3) {
            top: 50%;
            transform: rotate(-45deg);
        }
    }
}

@media screen and (min-width: 1280px) {
        .drawer-button {
    display: none;
}
}

.drawer-icon-bar {
    position: absolute;
    display: block;
    width: 27px;
    height: 2.25px;
    background: #023E78;

    &:nth-last-of-type(1) {
        top: 3px;
    }

    &:nth-of-type(2) {
        top: 9.75px;
    }

    &:nth-last-of-type(3) {
        top: 16.75px;
    }
}

.drawer_content {
    display: none;
    width: 100%;
    height: calc(100vh - 60px);
    background: var(--color-main, #023E78);
    padding: 60px 40px;
    position: fixed;
    top: 60px;
    left: 0;
    z-index: 20;
}

.drawer_nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    flex-shrink: 0;
}

.drawer_nav-lists {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 41px;
}

.drawer_nav-list {
    color: var(--color-base, #FFF);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.drawer_nav-link {}

.drawer_nav-buttons {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    width: 100%;
}

.drawer_nav-button {
    display: flex;
    height: 68px;
    padding: 22px 83px;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    text-wrap: nowrap;

    &:nth-of-type(1) {
        color: var(--color-base, #FFF);
        border: 1px solid var(--color-base, #FFF);
    }
    
    &:nth-of-type(2) {
        background: var(--color-base, #FFF);
        color: var(--color-main, #023E78);
        border: 1px solid var(--color-base, #FFF);
    }
}

.mv-lower {
    position: relative;
}

.mv-lower_bg {
    width: 100%;
    height: 250px;
    
    &::before {
        position: absolute;
        width: 165px;
        height: 250px;
        content: "";
        background: url(../img/lower-mv-decoration_sp.png) center / cover no-repeat;
    }

    &::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        background: rgba(26, 26, 26, 0.20);
    }
}

.mv-title {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}

.mv-title-en{
    background: var(--color-base, #FFF);
    color: var(--color-main, #023E78);
    font-family: "Fira Sans";
    font-size: 32px;
    font-style: italic;
    font-weight: 500;
    line-height: 1.2;
    width: fit-content;
}

.mv-title-ja {
    margin-top: 9px;
    background: var(--color-base, #FFF);
    color: var(--color-main, #023E78);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
    width: fit-content;
}

.breadcrumb {
    padding: 10px 20px;
    color: var(--color-contrast-light, #888);
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 17px;
    white-space: nowrap;
    overflow: hidden;
    
    & [property=itemListElement]:not(:has(a)) {
        color: #1A1A1A;
    }
}

.breadcrumb_separator {
    margin: 0 8px;

    &:last-of-type {
        display: none;
    }
}



.footer {}

.footer_links {
    display: flex;
    flex-direction: column;
}

.footer_link {
    width: 100%;
    text-align: center;
    padding-block: 35px;

    &:nth-child(1) {
        background: url(../img/img-download.png) center / cover no-repeat ;
    }

    &:nth-child(2) {
        background: url(../img/img-contact.png) center / cover no-repeat ;
    }
}

.footer_heading {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.footer_heading-en {
    color: var(--color-base, #FFF);
    text-align: center;
    font-family: "Fira Sans";
    font-size: 40px;
    font-style: italic;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
}

.footer_heading-ja {
    color: var(--color-base, #FFF);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.footer_btn {
    position: relative;
    border: 3px solid var(--color-accent-1, #FFF400);
    color: var(--color-accent-1, #FFF400);
    text-align: center;
    font-family: "Fira Sans";
    font-size: 16px;
    font-style: italic;
    font-weight: 500;
    line-height: normal;
    display: block;
    max-width: 295px;
    margin: 41px auto 0 ;
    padding: 26px 0;

    &:hover {
        background-color: var(--color-accent-1, #FFF400);
        color: var(--color-accent-1, #1A1A1A);

        && .footer_btn-icon {
            fill: #1A1A1A;
            transition: 0.3s ease;
            transform: translateX(10px) translateY(-50%);
        }
    }
}

.footer_btn-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 17px;
}



.company-info {
    background: var(--color-contrast, #1A1A1A);
    text-align: center;
    padding: 70px 0 16px 0;
    position: relative;
}

.footer_logo {
    color: var(--color-base, #FFF);
    text-align: center;
    font-family: Roboto;
    font-size: 40px;
    font-style: italic;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.company-address {
    display: inline-block;
    text-align: left;
    margin-top: 22px;
    color: var(--color-base, #FFF);
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
}

.tel-number {
   letter-spacing: 0.2px;
}

.footer_copyright {
    margin-top: 35px;
    color: var(--color-base, #FFF);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.page-top-btn {
    display: block;
    width: 40px;
    height: 40px;
    background: url(../img/icon-top.svg) center/ cover no-repeat;
    position: absolute;
    right: 10px;
    bottom: 20px;
}

.news-page_sidebar{}

.sidebar-latest {
    margin-top: 100px;
}

.sidebar_title {
    color: var(--color-contrast, #1A1A1A);
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
}

.sidebar-post_list {
    margin-top: 25px;
}

.sidebar-post_item {
    margin-top: 20px;
    
    &:first-of-type {
        margin-top: 0;
    }
}

.sidebar-post_link {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.sidebar-post-thumbnail {
    width: 35.8%;

    & img {
        aspect-ratio: 120 / 90;
        object-fit: cover;
    }
}

.sidebar-post-body {
    width: 60.5%;
}

.sidebar-post-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

.sidebar-post-category {
    color: var(--color-accent-2, #E61264);
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
    padding: 3.5px 9px;
    text-align: center;
    border: 1px solid var(--color-accent-2, #E61264);
}

.sidebar-post-date {
    color: var(--color-contrast-light, #888);
    text-align: right;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
}

.sidebar-post-title {
    margin-top: 6px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    align-self: stretch;
    overflow: hidden;
    color: var(--color-contrast, #1A1A1A);
    text-overflow: ellipsis;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
}

.sidebar-category {
    padding-top: 60px;
}

.category-lists {
    margin-top: 21px;
}

.category-list {
    position: relative;
    padding: 18px 40px;
    border-top: 1px solid #ddd;

    &:last-of-type {
        border-bottom: 1px solid #ddd;
    }

    &::before {
        position: absolute;
        top: 50%;
        left: 20px;
        width: 9.424px;
        height: 16.026px;
        content: "";
        background: url(../img/arrow.svg) center / cover no-repeat;
        transform: translateY(-50%);
    }
}

.category-link{
    display: block;
    color: var(--color-contrast, #1A1A1A);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
}

.wpcf7-spinner {
    display: none;
}

.wpcf7-form-control-wrap {
    width: 100%;
}

.wpcf7-list-item {
    margin: 0;
}


@media screen and (min-width:768px){

.inner {
    padding: 0 90px;
	max-width: 1180px;
}


.header_inner {
    padding: 16px;
}

.header_logo {
    font-size: 40px;
}

.drawer_content {
    top: 72px;
    height: calc(100vh - 72px)
}

.mv-lower_bg::before {
        background: url(../img/lower-mv-decoration_pc.png)center / cover no-repeat;
        width: 365px;
}

.mv-title {
    left: 17%;
}

.mv-title-en {
    font-size: 60px;
}

.mv-title-ja {
    font-size: 20px;
}

.breadcrumb {
    padding: 10px 90px;
}


.footer {}

.footer_links {
    flex-direction: row;
}

.footer_link {
    width: 50%;
    padding: 52px 0;
}

.footer_heading {
    gap: 4px;
}

.footer_heading-en {
    font-size: 60px;
}

.footer_heading-ja {
    font-size: 16px;
}

.footer_btn {
    max-width: 315px;
    font-size: 24px;
    padding: 32px 0;
    
    &:hover {
        background-color: var(--color-accent-1, #FFF400);
        color: var(--color-accent-1, #1A1A1A);

        && .footer_btn-icon {
            fill: #1A1A1A;
            transition: 0.3s ease;
            transform: translateX(10px) translateY(-50%);
        }
    }
}

.footer_btn-icon {
    right: 30px;
}



.company-info {
    padding: 120px 0 17px 0;
}

.footer_logo {
    font-size: 52px;
}

.company-address {
    margin-top: 19px;
}

.tel-number {
   
}

.footer_copyright {
    margin-top: 76px;
    font-size: 14px;
}

.page-top-btn {
    right: 20px;
    bottom: 40px;
}

.news-page_sidebar{
    width: calc(29.1% - 20px);
    min-width: 238px;
}

.sidebar-latest {
    margin-top: 0;
}

.sidebar_title {
}

.sidebar-post_list {
    margin-top: 16px;
}

.sidebar-post_item {
    margin-top: 16px;
}

.sidebar-post_link

.sidebar-post-thumbnail {
    width: calc(35% - 5px);

    & img {
        aspect-ratio: 100 / 100;
    }
}

.sidebar-post-body {
    width: calc(65% - 5px);
}

.sidebar-post-meta {}

.sidebar-post-category {
    padding: 4px 9px;
    font-size: 14px;
}

.sidebar-post-date {}

.sidebar-post-title {
    margin-top: 8px;
}

.sidebar-category {
    padding-top: 80px;
}
}