/* resets */

/* font-family: 'Noto Sans JP', sans-serif;
font-family: 'Roboto', sans-serif; */

@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

sup {
    font-size: 0.7em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    text-align: left;
    font-weight: normal;
    position: relative;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
}

.ul,
.ol {
    list-style-type: none;
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

a {
    text-decoration: none;
    cursor: pointer;
    color: #000;
    display: inline-block;
    margin: 0;
    padding: 0;
}

table {
    border-spacing: 0;
}

sup {
    font-size: 0.5em;
}

/* classes */

.sp_mode {
    display: none;
}

.pc_mode {
    display: block;
}

@media screen and (max-width: 767px) {
    .sp_mode {
        display: block;
    }
    .pc_mode {
        display: none;
    }
}

.inner001 {
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
}

.inner002 {
    width: 90%;
    margin: 0 auto;
    max-width: 1080px;
}

.inner003 {
    width: 90%;
    max-width: 960px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .inner001 {
        width: 90%;
    }
    .inner002 {
        width: 90%;
    }
    .inner003 {
        width: 90%;
    }
}

.mb20 {
    margin-bottom: 20px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px;
}

.mb100 {
    margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
    .mb100 {
        margin-bottom: 50px;
    }
}

/* hamburger menu */

.menu-section {
    display: none;
}

.c-hamburger {
    display: none;
    position: absolute;
    overflow: hidden;
    margin: 0;
    right: 0;
    top: 0;
    padding: 0;
    font-size: 12px;
    color: #fff;
    width: 81px;
    height: 70px;
    z-index: 999999999 !important;
}

@media screen and (max-width: 1200px) {
    /*HAMBURGER*/

    .c-hamburger {
        display: block;
        position: absolute;
        overflow: hidden;
        margin: 0;
        right: 10px;
        top: 9px;
        padding: 0;
        font-size: 12px;
        color: #fff;
        width: 81px;
        height: 70px;
        /* font-size: 0; */
        /*text-indent: -9999px;*/
        appearance: none;
        box-shadow: none;
        border-radius: none;
        border: none;
        cursor: pointer;
        transition: background 0.2s;
    }

    .c-hamburger > span {
        display: block;
        position: absolute;
        top: 30px;
        left: 40px;
        right: 11px;
        height: 3px;
        background: #000000;
        border-radius: 5px;
    }

    .c-hamburger > span::before,
    .c-hamburger > span::after {
        position: absolute;
        display: block;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #000000;
        content: "";
        border-radius: 5px;
    }
    /*  .c-hamburger.is-active > span::before,
    .c-hamburger.is-active  > span::after{
        background-color: #ffffff;
    }
 */
    .c-hamburger > span::before {
        top: -10px;
    }

    .c-hamburger > span::after {
        bottom: -10px;
    }

    .c-hamburger--htx {
        background-color: transparent;
    }
    .c-hamburger--htx > span::before,
    .c-hamburger--htx > span::after {
        transition-duration: 0.2s, 0.2s;
        transition-delay: 0.2s, 0s;
    }

    .c-hamburger--htx > span::before {
        transition-property: top, transform;
    }

    .c-hamburger--htx > span::after {
        transition-property: bottom, transform;
    }

    /* active state, i.e. menu open */
    .c-hamburger--htx.is-active {
        /* background-color: #ffffff; */
    }

    .c-hamburger--htx.is-active > span {
        background: none;
    }

    .c-hamburger--htx.is-active > span::before {
        top: 0;
        transform: rotate(45deg);
        /* background: #ffffff; */
    }

    .c-hamburger--htx.is-active > span::after {
        bottom: 0;
        transform: rotate(-45deg);
        /* background: #ffffff; */
    }

    .c-hamburger--htx.is-active > span::before,
    .c-hamburger--htx.is-active > span::after {
        transition-delay: 0s, 0.2s;
    }

    .c-hamburger--htx > span span {
        top: 14px;
        left: -6px;
        width: 140%;
        font-size: 0;
        letter-spacing: -1px;
        display: block;
        position: absolute;
        color: #fff;
    }

    .c-hamburger--htx.is-active > span span,
    .c-hamburger--htx.is-active > span span {
        color: #57575a;
    }

    .menu-section {
        position: fixed;
        top: 0;
        height: 100vh;
        width: 100vw;
        background-color: #fff;
        justify-content: center;
        align-items: center;
        z-index: 9;
        overflow-y: scroll;
        box-sizing: border-box;
    }
    .navbar-mobile {
        margin-top: 62px;
        padding: 20px 17px 40px 1px;
        opacity: 1;
        box-sizing: border-box;
    }
    .menu-section .navbar-mobile .dropdownA div,
    .menu-section .navbar-mobile .dropdownB div,
    .menu-section .navbar-mobile a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        margin: 0 auto;
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.08em;
        line-height: 12px;
        text-align: left;
        color: #000;
        border-bottom: 1px solid #c4c3c3;
        height: 56px;
        padding: 20px 20px;
        box-sizing: border-box;
        position: relative;
    }
    .menu-section .navbar-mobile .dropdownA div,
    .menu-section .navbar-mobile .dropdownB div {
        padding: 0;
        position: relative;
    }
    .menu-section .navbar-mobile .dropdownB .subnav,
    .menu-section .navbar-mobile .dropdownA .subnav {
        display: block;
        height: auto;
    }
    .menu-section .navbar-mobile .dropdownA .link-padding img,
    .menu-section .navbar-mobile .dropdownB .link-padding img {
        transform: rotate(90deg);
        width: 21px;
        height: auto;
        position: absolute;
        right: 20px;
        transition: all 300ms ease-in-out;
    }
    .menu-section .navbar-mobile .dropdownA .link-padding img.rotateThis {
        transform: rotate(90deg);
    }
    .menu-section .navbar-mobile .dropdownB .link-padding img.rotateThis {
        transform: rotate(90deg);
    }
    .link-padding {
        padding: 0 0 0 20px !important;
    }
    .menu-section .navbar-mobile a:hover {
        border: green 1px solid;
        transition: all 300ms ease-in;
    }
    .menu-section .navbar-mobile a div {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .menu-section .navbar-mobile a img {
        width: 21px;
        height: auto;
        position: absolute;
        right: 20px;
    }
    .link {
        font-size: 22px;
    }
    .menu-section .navbar-mobile .dropdownA .subnav {
        width: 100%;
    }
    .menu-section .navbar-mobile .dropdownA .subnav a {
        width: 100%;
    }
    .dropdownB-sub,
    .dropdownA-sub {
        display: block;
        width: 100%;
        background: #F5F5F5
    }
    .gray-arrow {
        width: 9px !important;
        height: auto;
    }
    
}

/* header-navbar */

.navbar-flex.turn-on-background {
    background-color: #fff;
    opacity: 0.75;
}

header {
    overflow: hidden;
    width: 100%;
    height: auto;
    position: fixed;
    z-index: 1;
    box-sizing: border-box;
    z-index: 100;
}

header .navbar-flex {
    width: 100%;
    height: 90px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 38px;
    padding-right: 38px;
    box-sizing: border-box;
    background: #fff;
}

header .logo-container {
    width: 100%;
    max-width: 254px;
    height: auto;
}

header .logo-container:hover {
    opacity: 0.8;
    transition: all 300ms ease-in;
}

header .logo-container img {
    width: 100%;
    height: auto;
}

header .navbar-links-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: 100%;
}

header .text-link {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 12px;
    color: #000;
    margin-right: 35px;
}

header .text-link:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

header .contact-link {
    width: 180px;
    height: 40px;
    border-radius: 20px;
    background: #4047b2;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 12px;
    text-align: left;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

header .contact-link:hover {
    opacity: 0.8;
    transition: all 300ms ease-in;
    /* background: #fff;
    color: #4047b2; */
    /*  border: 4px solid #4047b2;
    box-sizing: border-box; */
}

@media screen and (max-width: 1450px) {
    header .navbar-flex {
        padding-left: 20px;
        padding-right: 20px;
    }
    header .text-link {
        margin-right: 15px;
    }
}

@media screen and (max-width: 1250px) {
    header .text-link {
        margin-right: 8px;
    }
}


@media screen and (max-width: 1200px) {
    header .navbar-links-container {
        display: none;
    }
}

@media screen and (max-width: 1110px) {

}

/* main-banner */

main {
    width: 100%;
    height: auto;
    overflow: hidden;
}

#main-banner {
    width: 100%;
    height: 838px;
    overflow: hidden;
    background: url("../img/main-banner.jpg") no-repeat;
    background-position: center;
    background-size: cover;
}

#main-banner .banner-txt {
    font-family: "Koburina Gothic StdN", "Noto Sans JP", sans-serif;
    font-weight: normal;
    font-size: 59px;
    letter-spacing: 0.02em;
    line-height: 76px;
    text-align: left;
    color: #fff;
    margin-top: 187px;
    max-width: 856px;
}

#main-banner .banner-txt,
#main-banner .banner-txt img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 1500px) {
    #main-banner {
        height: 770px;
    }
}

@media screen and (max-width: 1400px) {
    #main-banner {
        height: 724px;
    }
}

@media screen and (max-width: 1300px) {
    #main-banner {
        height: 670px;
    }
}

@media screen and (max-width: 1200px) {
    #main-banner {
        height: 617px;
    }
    #main-banner .banner-txt {
        margin-top: 150px;
    }
}

@media screen and (max-width: 1100px) {
    #main-banner {
        height: 565px;
    }
}

@media screen and (max-width: 1000px) {
    #main-banner {
        height: 511px;
    }
    #main-banner .banner-txt {
        margin-top: 107px;
    }
}

@media screen and (max-width: 900px) {
    #main-banner {
        height: 465px;
    }
}

@media screen and (max-width: 800px) {
    #main-banner {
        height: 414px;
    }
    #main-banner .banner-txt {
        margin-top: 80px;
    }
}

@media screen and (max-width: 767px) {
    #main-banner {
        height: 414px;
    }
    #main-banner .banner-txt {
        margin-top: 80px;
        max-width: 350px;
    }
}

/* profile */

#profile {
    background: url("../img/profile.png") no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: auto;
    padding-top: 168px;
    padding-bottom: 220px;
}

#profile div div {
    max-width: 549px;
    width: 100%;
}

#profile .profile-header {
    font-weight: bold;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 56px;
    text-align: left;
    color: #4047b2;
    margin-bottom: 30px;
}

#profile .profile-txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 34px;
    text-align: left;
    color: #3d3d3d;
}

#profile .profile-txt1 {
    margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
    #profile {
        padding-top: 60px;
        padding-bottom: 40px;
    }
    #profile .profile-header {
        font-size: 28px;
        line-height: 42px;
        margin-bottom: 20px;
    }
    #profile .profile-txt1 {
        margin-bottom: 20px;
    }
    #profile .profile-txt {
        font-size: 14px;
        line-height: 28px;
    }
}

@media screen and (max-width: 450px) {
    #profile .profile-header {
        font-size: 22px;
        line-height: 32px;
    }
}

/* business */

#business {
    background-color: #f7f8fa;
    padding-top: 116px;
    padding-bottom: 100px;
    width: 100%;
    height: auto;
}

#business .business-container-flex {
    display: flex;
}

.global-header-en {
    font-family: Roboto;
    font-weight: 500;
    font-style: italic;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 20px;
    text-align: left;
    color: #4047b2;
    white-space: nowrap;
    margin-bottom: 10px;
}

.global-header-jp {
    font-weight: bold;
    font-size: 34px;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-align: left;
    color: #000;
    white-space: nowrap;
}

#business .global-header-container {
    margin-right: 101px;
}

#business .business-card-container-flex {
    display: flex;
    box-sizing: border-box;
}

#business .bus-card {
    width: 100%;
    max-width: 290px;
    height: auto;
}

#business .bus-card:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

#business .bus-card:nth-child(1),
#business .bus-card:nth-child(2) {
    margin-right: 41px;
}

#business .bus-card-img,
#business .bus-card-img img {
    width: 100%;
    height: auto;
}

#business .bus-card-img {
    margin-bottom: 33px;
}

#business .bus-card-header-link-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

#business .bus-card-header {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.15em;
    line-height: 1;
    text-align: left;
    color: #4047b2;
}

#business .bus-card-link,
#business .bus-card-link img {
    width: 100%;
    height: auto;
}

#business .bus-card-link {
    max-width: 29px;
}

#business .bus-card-main-txt {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 26px;
    text-align: left;
    color: #3d3d3d;
}

@media screen and (max-width: 1100px) {
    #business .business-container-flex {
        display: block;
    }
    #business .global-header-container {
        margin-bottom: 80px;
    }
    #business .bus-card:nth-child(1),
    #business .bus-card:nth-child(2) {
        margin-right: 20px;
    }
}

@media screen and (max-width: 767px) {
    #business {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #business .global-header-container {
        margin-bottom: 20px;
    }
    #business .bus-card-img {
        margin-bottom: 10px;
    }
    #business .bus-card-header-link-flex {
        margin-bottom: 10px;
    }
    #business .bus-card-header {
        font-size: 20px;
    }
    #business .bus-card-main-txt {
        font-size: 14px;
    }
    .global-header-en {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 20px;
        text-align: left;
        color: #4047b2;
        white-space: nowrap;
        margin-bottom: 10px;
    }

    .global-header-jp {
        font-size: 24px;
        line-height: 1.1;
    }
}

@media screen and (max-width: 550px) {
    #business .business-card-container-flex {
        display: block;
    }
    #business .bus-card:nth-child(1),
    #business .bus-card:nth-child(2) {
        margin-right: 0;
    }
    #business .bus-card {
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }
}

/* service */

#service {
    padding-top: 180px;
    background: #fff;
    width: 100%;
    height: auto;
}

#service .violet-background {
    margin-left: 70px;
    background-color: #4047b2;
}

#service .service-contents-flex {
    display: flex;
}

#service .service-main-img-cont {
    max-width: 763px;
    margin-top: -72px;
    margin-right: -86px;
}

#service .service-main-img-cont,
#service .service-main-img-cont img {
    width: 100%;
    height: auto;
}

#service .service-main-contents {
    max-width: 461px;
    width: 100%;
    margin-top: 109px;
    margin-bottom: 109px;
    margin-right: 86px;
}

#service .service-main-header {
    font-weight: bold;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 56px;
    text-align: left;
    color: #fff;
    margin-bottom: 33px;
    white-space: nowrap;
}

#service .service-main-text {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 30px;
    text-align: left;
    color: #fff;
    margin-bottom: 40px;
}

#service .service-btn {
    width: 100%;
    max-width: 282px;
    height: 60px;
    border-radius: 30px;
    background: transparent;
    border: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 30px;
    text-align: left;
    color: #fff;
}

#service .service-btn img {
    position: absolute;
    right: 24px;
    width: 6.39px;
    height: 9.48px;
    top: 50%;
    transform: translateY(-50%);
}

#service .service-btn:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

@media screen and (max-width: 1200px) {
    #service {
        padding-top: 100px;
    }
    #service .service-contents-flex {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
    }
    #service .service-main-contents {
        max-width: 100%;
        margin-top: 0;
        margin-bottom: 0;
    }
    #service .violet-background {
        margin-left: 0;
        padding-top: 40px;
        padding-bottom: 80px;
    }
    #service .service-btn {
        margin-bottom: 40px;
    }
    #service .service-main-img-cont {
        max-width: 763px;
        margin-top: 0px;
        margin-right: 0;
    }
}

@media screen and (max-width: 767px) {
    #service {
        padding-top: 0;
    }
    #service .violet-background {
        padding-bottom: 40px;
    }
    #service .service-main-header {
        font-size: 28px;
        line-height: 42px;
        margin-bottom: 20px;
    }
    #service .service-main-text {
        font-size: 14px;
        line-height: 25px;
        margin-bottom: 20px;
    }
    #service .service-btn {
        margin-bottom: 20px;
    }
    #service .service-main-contents {
        margin-right: 0;
        margin-top: 20px;
    }
    #service .service-main-contents {
        margin-right: 0 !important;
    }
}

/* news */

#news {
    padding-top: 120px;
    padding-bottom: 95px;
}

#news .news-content-flex {
    display: flex;
}

#news .news-headers-and-btn {
    margin-right: 125px;
}

#news .global-header-container {
    margin-bottom: 32px;
}

#news .news-btn {
    width: 100%;
    max-width: 160px;
    height: 40px;
    border-radius: 20px;
    background: #4047b2;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 26px;
    text-align: left;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

#news .news-btn:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

#news .news-btn img {
    position: absolute;
    right: 0;
    width: 7px;
    height: auto;
    margin-right: 14px;
    top: 50%;
    transform: translateY(-50%);
}

#news .news-btn-sp {
    display: none;
}

#news .news-feed-container {
    width: 100%;
    height: auto;
}

#news .news-feed-row-flex {
    display: flex;
    align-items: center;
    /* padding-top: 23.5px; */
    padding-bottom: 22.5px;
    border-bottom: 1px solid #e3e3e3;
}
#news .news-feed-row-flex a {
    display: flex;
}

#news .news-date {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 26px;
    text-align: left;
    color: #959595;
    margin-right: 13px;
}

#news .news-type {
    width: 80px;
    height: 22px;
    border-radius: 2px;
    border: 1px solid #d1012c;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 18px;
    text-align: center;
    color: #d1012c;
    margin-right: 46px;
}

#news .news-caption {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 26px;
    text-align: left;
    color: #3d3d3d;
}

@media screen and (max-width: 1250px) {
    #news .news-content-flex {
        display: block;
    }
    #news .news-headers-and-btn {
        margin-right: 0;
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 900px) {
    #news .news-feed-row-flex {
        display: block;
    }
    #news .news-date {
        margin-bottom: 10px;
    }
    #news .news-type {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 767px) {
    #news {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #news .news-feed-row-flex {
        display: block;
    }
    #news .news-headers-and-btn {
        margin-bottom: 20px;
    }
    #news .news-type {
        margin-right: 10px;
    }
    #news .news-caption {
        width: 70%;
    }
    #news .news-btn-pc {
        display: none !important;
    }
    #news .news-btn-sp {
        display: flex !important;
        float: right;
        margin-top: 40px;
        margin-bottom: 40px;
    }
}

/* link-banners */

#link-banners {
    width: 100%;
    height: auto;
}

#link-banners .link-banner-flex {
    display: flex;
}

#link-banners .link-banner-company {
    width: 50%;
    height: auto;
    position: relative;
    border: 1px solid #707070;
}

#link-banners .link-banner-company:hover {
    -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
    transition: all 300ms ease-in;
}

#link-banners .link-banner-company img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

#link-banners .link-banner-txt {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

#link-banners .link-banner-header-en {
    font-family: Roboto;
    font-weight: 500;
    font-style: italic;
    font-size: 42px;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-align: center;
    color: #fff;
}

#link-banners .link-banner-header-jp {
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.18em;
    line-height: 1.4;
    text-align: center;
    color: #fff;
}

/* @media screen and (max-width: 900px) {
    #link-banners {
        padding-bottom: 150px;
    }
} */

@media screen and (max-width: 767px) {
    #link-banners .link-banner-flex {
        display: block;
        margin-bottom: 0;
    }
    #link-banners .link-banner-company {
        width: 90%;
        height: auto;
        position: relative;
        border: 1px solid #707070;
        display: flex;
        justify-content: center;
        margin: 0 auto 40px;
    }
    #link-banners .link-banner-header-en {
        font-size: 26px;
        letter-spacing: 0.1em;
        line-height: 1.4;
        text-align: center;
        color: #fff;
    }
}

/* contact */

.gray-space-contact {
    width: 100%;
    height: 222px;
    background-color: #f7f8fa;
}

#contact {
    width: 100%;
    max-width: 1276px;
    height: auto;
    border-radius: 4px;
    background: #4047b2;
    margin: -145px auto 0;
    padding: 50px 189px;
    box-sizing: border-box;
}

#contact .contact-violet-bg-flex {
    display: flex;
}

#contact .contact-cont1 {
    width: 100%;
    max-width: 407px;
    height: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


#contact .contact-cont1::after {
    content: "";
    position: absolute;
    right: 0;
    height: 176px;
    width: 1px;
    background-color: #fff;
    top: 50%;
    transform: translateY(-50%);
}

#contact .contact-header {
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #fff;
    margin-bottom: 18px;
}

#contact .contact-subheader {
    font-family: Roboto;
    font-weight: 500;
    font-style: italic;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #fff;
    margin-bottom: 36px;
}

#contact .contact-link-container-text,
#contact .contact-link-container-text a {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 26px;
    text-align: left;
    color: #fff;
}

#contact .contact-link-container-text a {
    border-bottom: 1.5px #fff solid;
    padding-bottom: -2px;
}

#contact .contact-link-container-text a:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

#contact .contact-cont2 {
    width: 100%;
    height: auto;
    padding-left: 125px;
}

#contact .phone-num-flex {
    display: flex;
    align-items: center;
    font-family: Roboto;
    font-weight: 500;
    font-size: 47px;
    letter-spacing: 0.04em;
    line-height: 64px;
    text-align: left;
    color: #fff;
}

#contact .phone-num-flex img {
    width: 36.36px;
    height: 36.36px;
    margin-right: 9px;
}

#contact .business-hours {
    font-weight: normal;
    font-size: 19px;
    letter-spacing: 0.08em;
    line-height: 35px;
    text-align: left;
    color: #fff;
    margin-bottom: 22px;
}

#contact .contact-white-btn {
    width: 100%;
    max-width: 358px;
    height: 60px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 30px;
    text-align: right;
    color: #4047b2;
    border-radius: 30px;
}

#contact .contact-white-btn:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

#contact .contact-white-btn img {
    position: absolute;
    right: 24px;
    width: 6.39px;
    height: 9.48px;
    top: 50%;
    transform: translateY(-50%);
}

@media screen and (max-width: 1350px) {
    #contact {
        width: 97%;
    }
}

@media screen and (max-width: 1250px) {
    #contact {
        padding: 50px 100px;
    }
}

@media screen and (max-width: 1100px) {
    #contact .contact-cont2 {
        padding-left: 50px;
    }
}

@media screen and (max-width: 1000px) {
    #contact {
        padding: 50px 50px;
    }
    #contact .contact-cont2 {
        padding-left: 50px;
    }
}

@media screen and (max-width: 910px) {
    #contact {
        /*         margin-left: 20px;
        margin-right: 20px; */
        box-sizing: border-box;
        width: 90%;
    }
    #contact .contact-violet-bg-flex {
        flex-direction: column;
        align-items: center;
    }
    #contact .contact-cont1 {
        margin-bottom: 40px;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        border-bottom: 1px solid white;
    }
    #contact .contact-cont1::after {
        display: none;
    }
    #contact .contact-cont2 {
        padding-left: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media screen and (max-width: 767px) {
    #contact .contact-header {
        font-size: 18px;
        margin-bottom: 6px;
    }
    #contact .phone-num-flex img {
        width: 24px;
        height: 24px;
    }
    #contact .phone-num-flex {
        font-size: 32px;
        line-height: 40px;
    }
    #contact .business-hours {
        font-size: 16px;
        line-height: 20px;
    }
    #contact .contact-subheader {
        margin-bottom: 0;
    }
    #contact .contact-cont1 {
        padding-bottom: 20px;
        border-bottom: 1px solid white;
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 540px) {
    #contact {
        padding: 40px 20px;
    }
}

@media screen and (max-width: 440px) {
    #contact .contact-white-btn {
        font-size: 14px;
    }
    #contact .contact-white-btn img {
        right: 10px;
    }
}

/* footer */

#footer {
    padding-top: 86px;
}

#footer .footer-contents-flex {
    display: flex;
    justify-content: space-between;
    padding-bottom: 112px;
}

#footer .logo-container,
#footer .logo-container img {
    width: 100%;
    height: auto;
}

#footer .logo-container {
    max-width: 385px;
    margin-bottom: 23px;
}

#footer .footer-address {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 22px;
    text-align: left;
    color: #000;
    margin-bottom: 12px;
}

#footer .google-map-link-flex {
    display: flex;
    align-items: center;
    font-weight: normal;
    text-decoration: underline;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 22px;
    text-align: left;
    color: #000;
    margin-bottom: 29px;
}

#footer .google-map-link-flex:hover {
    color: #4047b2;
    transition: all 300ms ease-in;
}

#footer .google-map-link-flex img {
    width: 13.88px;
    height: 13.88px;
    margin-left: 11px;
}

#footer .jmt-flex {
    display: flex;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 20px;
    text-align: left;
    color: #000;
    border: #c2c2c2 1px solid;
    padding: 16px 35px;
    box-sizing: border-box;
}
#footer .jmt-flex img {
    width: 213px;
    height: 42px;
    margin-right: 23px;
}

#footer .footer-links-column1 {
    margin-right: 67px;
}

#footer .footer-link-header {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 26px;
    text-align: left;
    color: #000;
    margin-bottom: 6px;
}

#footer .footer-links-column-flex {
    display: flex;
}

#footer ul {
    margin-bottom: 15px;
}
#footer ul li {
    list-style: none;
}

#footer ul li a {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 26px;
    text-align: left;
    color: #848484;
    text-indent: 20px;
    position: relative;
}

#footer ul li a:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

#footer ul li a::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 1px;
    left: 0px;
    background: #848484;
    top: 50%;
    transform: translateY(-50%);
}

#footer .footnote {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.08em;
    line-height: 24px;
    text-align: center;
    color: #000;
    padding-bottom: 31px;
}

.footer-link-header {
    display: flex;
    align-items: center;
}
.footer-link-header img {
    margin-left: 10px;
    width: 7px;
    height: auto;
}

@media screen and (max-width: 1250px) {
    #footer .jmt-flex {
        display: block;
    }
}

@media screen and (max-width: 1100px) {
    #footer .footer-contents-flex {
        flex-direction: column;
        align-items: center;
    }
    #footer .footer-contents-1 {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    #footer {
        padding-top: 40px;
    }
    #footer .google-map-link-flex {
        margin: 0 auto 30px;
        text-align: center;
        justify-content: center;
    }
    #footer .footer-address {
        text-align: center;
    }
    #footer .footer-contents-flex {
        padding-bottom: 0;
    }
}

@media screen and (max-width: 450px) {
    #footer .footer-links-column1 {
        margin-right: 10px;
    }
    #footer .footer-contents-2 {
        width: 100%;
    }
    #footer .footnote {
        font-size: 10px;
    }
    #footer .footer-contents-1 {
        margin-bottom: 20px;
    }
}

/* ==== Archive Page ============================= */

.white-buffer-navbar {
    width: 100%;
    height: 104px;
    background: #fff;
    position: fixed;
    z-index: 0;
}

.main-banner-global {
    width: 100%;
    height: 394px;
    background-color: #4047b2;
    display: flex;
    align-items: center;
}

.main-banner-global-header-en {
    font-family: Roboto;
    font-weight: normal;
    font-style: italic;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 83px;
    text-align: left;
    color: #fff;
}

.main-banner-global-header-jp {
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: bold;
    font-size: 52px;
    letter-spacing: 0.1em;
    line-height: 12px;
    text-align: left;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .main-banner-global-header-en {
        font-size: 16px;
    }
    
    .main-banner-global-header-jp {
        font-size: 32px;
    }
}

/* ============================================ */

/* FIXED PAGES ======================================================*/

/* Global Banners */

.global-banner {
    margin-top: 90px;
    background: #4047b2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 394px;
}

.global-banner-text h1 {
    font-family: Roboto;
    font-weight: normal;
    font-style: italic;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #fff;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
}

.global-banner-text h2 {
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: bold;
    font-size: 42px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #fff;
    margin-bottom: 53px;
}
.global-banner-text h3 {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 27px;
    text-align: left;
    color: #fff;
}



/* custom-model */

.global-banner.custom-model h1 span {
    font-style: initial;
    font-size: 16px;
    font-weight: bold;
    margin-right: 10px;
}
.global-banner.custom-model .global-banner-text h2 {
    position: relative;
    padding-left: 60px;
}
.global-banner.custom-model .global-banner-text h2:before {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    .global-banner-text h1 {
        font-family: Roboto;
        font-weight: normal;
        font-style: italic;
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 33px;
        text-align: left;
        color: #fff;
        margin-bottom: 25px;
        flex-direction: column;
        align-items: flex-start;
    }
    .global-banner-text h2 {
        font-family: "Noto Sans CJK JP", "Noto Sans JP";
        font-weight: bold;
        font-size: 32px;
        letter-spacing: 0.1em;
        line-height: 12px;
        text-align: left;
        color: #fff;
        margin-bottom: 32px;
    }
    .global-banner-text h3 {
        font-weight: normal;
        font-size: 14px;
        letter-spacing: 0.08em;
        line-height: 24px;
        text-align: left;
        color: #fff;
    }
    .global-banner {
        height: 314px;
    }
}

/* global-header-container */

.global-header-container h4 {
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 12px;
    text-align: left;
    color: #000;
    position: relative;
    padding-bottom: 32px;
}

#global-links .global-header-container h4 {
    font-size: 24px;
}

.global-header-container h4::after {
    position: absolute;
    content: "";
    background: #4047b2;
    height: 2px;
    width: 36px;
    bottom: 0;
    left: 0;
}

@media screen and (max-width: 767px) {
    .global-header-container h4 {
        font-size: 22px;
        padding-bottom: 24px;
    }
    .global-header-container h4::after {
        width: 30px;
    }
}

/* card-content ====================================================*/

#card-content {
    padding-top: 100px;
    padding-bottom: 78px;
    width: 100%;
    height: auto;
}

#card-content .construction-contract-cards-flex-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
}

#card-content .contruction-card {
    max-width: 332px;
    width: 100%;
    height: auto;
}

#card-content .contruction-card:nth-child(1),
#card-content .contruction-card:nth-child(2),
#card-content .contruction-card:nth-child(4),
#card-content .contruction-card:nth-child(5) {
    margin-right: 42px;
}

#card-content .contruction-card:nth-child(1),
#card-content .contruction-card:nth-child(2),
#card-content .contruction-card:nth-child(3) {
    margin-bottom: 40px;
}

#card-content .contruction-card-img,
#card-content .contruction-card-img img {
    width: 100%;
    height: auto;
}

#card-content .contruction-card-img img {
    vertical-align: bottom;
}

#card-content .contruction-card-img {
    margin-bottom: 30px;
}

#card-content .contruction-card-header {
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 12px;
    text-align: center;
    color: #000;
    margin-bottom: 30px;
}

#card-content .contruction-card-main-text {
    font-family: "Noto Sans JP";
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 30px;
    text-align: left;
    color: #000;
}

@media screen and (max-width: 1216px) {
    #card-content .contruction-card:nth-child(2),
    #card-content .contruction-card:nth-child(4),
    #card-content .contruction-card:nth-child(6) {
        margin-right: 0;
    }
    #card-content .contruction-card:nth-child(odd) {
        margin-right: 42px;
    }
    #card-content .contruction-card {
        margin-bottom: 40px;
    }
    #card-content .contruction-card:nth-child(5),
    #card-content .contruction-card:nth-child(6) {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 800px) {
    #card-content .contruction-card:nth-child(odd) {
        margin-right: 20px;
    }
    #card-content .contruction-card {
        max-width: unset;
        width: 45%;
    }
}

@media screen and (max-width: 767px) {
    #card-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #card-content .contruction-card-header {
        font-size: 16px;
    }

    #card-content .contruction-card-main-text {
        font-size: 14px;
        line-height: 30px;
    }
}

@media screen and (max-width: 500px) {
    #card-content .contruction-card {
        max-width: 100%;
        width: 100%;
        margin-right: 0;
    }
    #card-content .contruction-card:nth-child(5) {
        margin-bottom: 40px;
    }
    #card-content .contruction-card:last-child {
        margin-bottom: 0;
    }
    #card-content .contruction-card:nth-child(odd) {
        margin-right: 0;
    }
}

/* commitment =========================================== */

#commitment {
    padding-top: 100px;
    padding-bottom: 108px;
    background: #f7f8fa;
    width: 100%;
    height: auto;
}

#commitment .commitment-white-container {
    background: #fff;
    width: 100%;
    height: auto;
    padding: 74px 60px 72px;
    box-sizing: border-box;
}

#commitment .commitment-white-container-contents-flex {
    display: flex;
}

#commitment .commitment-white-container-contents-flex1 {
    padding-bottom: 50px;
    border-bottom: #c7c7c7 1px solid;
}

#commitment .commitment-white-container-contents-flex2 {
    padding-top: 48px;
}

#commitment .commitment-img-cont,
#commitment .commitment-img-cont img {
    width: 100%;
    height: auto;
}

#commitment .commitment-img-cont img {
    vertical-align: bottom;
}

#commitment .commitment-img-cont {
    max-width: 502px;
    margin-right: 51px;
}

#commitment .text-container {
    max-width: 490px;
    width: 100%;
    height: auto;
}

#commitment .commitment-purple-header {
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 0.08em;
    line-height: 38px;
    text-align: left;
    color: #4047b2;
    margin-bottom: 23px;
}

#commitment .commitment-main-text {
    font-family: "Noto Sans JP", "Noto Sans JP";
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 30px;
    text-align: left;
    color: #000;
    margin-bottom: 28px;
}

#commitment .small-purple-btn {
    background: #4047b2;
    width: 160px;
    height: 40px;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 26px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 20px;
    float: right;
}

#commitment .small-purple-btn:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

#commitment .small-purple-btn img {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
}

@media screen and (max-width: 1000px) {
    #commitment .commitment-white-container-contents-flex {
        flex-direction: column;
    }
    #commitment .commitment-img-cont {
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 20px;
    }
    #commitment .text-container {
        max-width: 100%;
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 767px) {
    #commitment {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #commitment .commitment-white-container {
        margin-top: 40px;
        padding: 40px 20px;
    }
    #commitment .commitment-purple-header {
        font-size: 18px;
        margin-bottom: 20px;
        line-height: 24px;
    }
    #commitment .commitment-main-text {
        font-size: 14px;
        margin-bottom: 20px;
        line-height: 24px;
    }
    #commitment .small-purple-btn {
        font-size: 12px;
        line-height: 20px;
    }
}

/* contruction-flow */

#contruction-flow {
    width: 100%;
    height: auto;
    padding-bottom: 119px;
}

#contruction-flow .global-header-container {
    margin-bottom: 56px;
}

#contruction-flow .construction-flow-icon-flex {
    display: flex;
    margin-bottom: 43px;
}

#contruction-flow .construction-flow-icon-flex-last {
    margin-bottom: 103px;
}

#contruction-flow .construction-flow-icon,
#contruction-flow .construction-flow-icon img {
    width: 100%;
    height: auto;
}

#contruction-flow .construction-flow-icon {
    max-width: 128px;
    margin-right: 41px;
    position: relative;
}

#contruction-flow .construction-flow-icon-after::after {
    content: "";
    position: absolute;
    background: #cccccc;
    width: 60%;
    bottom: -22px;
    height: 1px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    z-index: -1;
}

#contruction-flow .construction-flow-icon-header {
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 0.08em;
    line-height: 38px;
    text-align: left;
    color: #4047b2;
    margin-bottom: 12px;
}

#contruction-flow .construction-flow-icon-main-text {
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 26px;
    color: #3d3d3d;
}

#contruction-flow .large-purple-btn {
    max-width: 640px;
    width: 100%;
    height: 80px;
    border-radius: 40px;
    background: #4047b2;
    border-radius: 106px;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 85px;
    text-align: center;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 0 auto;
}

#contruction-flow .large-purple-btn img {
    position: absolute;
    width: 10px;
    height: auto;
    right: 23px;
    top: 50%;
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    #contruction-flow {
        padding-bottom: 40px;
    }
    #contruction-flow .global-header-container {
        margin-bottom: 40px;
    }
    #contruction-flow .construction-flow-icon-flex {
        margin-bottom: 40px;
    }
    #contruction-flow .construction-flow-icon {
        max-width: 80px;
        margin-right: 20px;
    }
    #contruction-flow .construction-flow-icon-header {
        font-size: 18px;
        line-height: 30px;
        margin-bottom: 12px;
    }

    #contruction-flow .construction-flow-icon-main-text {
        font-size: 14px;
    }
    #contruction-flow .large-purple-btn {
        max-width: 340px;
        height: 55px;
        border-radius: 40px;
        background: #4047b2;
        border-radius: 106px;
        font-weight: bold;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 85px;
        text-align: center;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }
    #contruction-flow .large-purple-btn img {
        position: absolute;
        width: 8px;
        height: auto;
        right: 23px;
        top: 50%;
        transform: translateY(-50%);
    }

    #contruction-flow .construction-flow-icon-after::after {
        content: "";
        position: absolute;
        background: #cccccc;
        width: 250%;
        bottom: -22px;
        height: 1px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        z-index: -1;
    }
    #contruction-flow .construction-flow-icon-flex-last {
        margin-bottom: 40px;
    }
}

/* global-links ================================= */

#global-links {
    padding-top: 64px;
    padding-bottom: 75px;
    width: 100%;
    height: auto;
    background-color: rgba(64, 71, 178, 7%);
}

#global-links .global-header-centered {
    padding-bottom: 50px;
}

#global-links .global-header-centered h4 {
    text-align: center;
}

#global-links .global-header-container h4::after {
    left: 50%;
    transform: translateX(-50%);
}

#global-links .links-container-flex {
    display: flex;
    justify-content: center;
}

#global-links .links-container-flex a {
    max-width: 341px;
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.15em;
    line-height: 38px;
    text-align: left;
    color: #000;
    border-bottom: #acacac solid 1px;
}

#global-links .links-container-flex a:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

#global-links .links-container-flex a:first-child {
    margin-right: 61px;
}

#global-links .links-container-flex a img {
    width: 25px;
    height: 25px;
}

@media screen and (max-width: 767px) {
    #global-links {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #global-links .links-container-flex {
        flex-direction: column;
        align-items: center;
    }
    #global-links .links-container-flex a:first-child {
        margin-right: 0;
        margin-bottom: 0px;
    }
    #global-links .links-container-flex a {
        font-size: 16px;
        height: 80px;
    }
    #global-links .links-container-flex a img {
        width: 20px;
        height: 20px;
    }
}

/* #sales-anchor */

#sales-anchor {
    padding-top: 100px;
    padding-bottom: 93px;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-end;
}

#sales-anchor .sales-anchor-bar-flex {
    background: #f2f2f2;
    width: 87%;
    height: 130px;
    display: flex;
    align-items: center;
    padding-left: 60px;
}

#sales-anchor .anchor-link {
    position: relative;
    padding-right: 33px;
    margin-right: 33px;
    text-decoration: underline;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 30px;
    color: #000;
}

#sales-anchor a {
    text-decoration: underline;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 30px;
    color: #000;
}

#sales-anchor .anchor-link::after {
    position: absolute;
    content: "";
    background: #bebebe;
    width: 1px;
    height: 29px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

#sales-anchor .anchor-link img {
    margin-left: 11px;
}

@media screen and (max-width: 1300px) {
    #sales-anchor .anchor-link {
        padding-right: 20px;
        margin-right: 20px;
    }
}

@media screen and (max-width: 1000px) {
    #sales-anchor .sales-anchor-bar-flex {
        flex-wrap: wrap;
        width: 100%;
    }
    #sales-anchor .anchor-link {
        width: 25%;
    }
}

@media screen and (max-width: 767px) {
    #sales-anchor {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #sales-anchor .anchor-link::after {
        display: none;
    }
    #sales-anchor a {
        font-size: 12px;
    }
}

@media screen and (max-width: 650px) {
    #sales-anchor .sales-anchor-bar-flex {
        padding-left: 40px;
    }
    #sales-anchor .anchor-link {
        width: 40%;
    }
    #sales-anchor .anchor-link {
        padding-right: 10px;
        margin-right: 10px;
        font-size: 12px;
    }
}

/* Gray bar */

.access-gray-bar {
    width: 100%;
    height: auto;
    min-height: 70px;
    background: #f5f5f5;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 19px;
    margin-bottom: 50px;
    font-family: "Noto Sans CJK JP", "Noto Sans JP";
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1;
    color: #000;
    box-sizing: border-box;
}

.access-gray-bar::before {
    position: absolute;
    content: "";
    background: #4047b2;
    width: 4px;
    height: 70px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.access-gray-bar-img {
    max-width: 904px;
    margin: 0 auto;
}

.access-gray-bar-img,
.access-gray-bar-img img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .access-gray-bar {
        height: 60px;
        position: relative;
        font-size: 14px;
    }
    .access-gray-bar::before {
        height: 60px;
    }
}

/* purple button large */

.purple-btn {
    max-width: 640px;
    height: 80px;
    margin: 0 auto 80px;
    border-radius: 40px;
    background: #4047b2;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 85px;
    text-align: center;
    color: #fff;
}

.purple-btn:hover {
    opacity: 0.75;
    transition: all 300ms ease-in;
}

.purple-btn img {
    position: absolute;
    right: 23px;
    top: 50%;
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    .purple-btn {
        height: auto;
        line-height: 1.4;
        font-size: 16px;
        padding: 20px 0;
        margin-bottom: 30px;
    }
}

/* ------------------------------------------- */
/* print setting */
/* ------------------------------------------- */
@media print {
    body {
        -webkit-print-color-adjust: exact;
        position: relative;
        width: 1600px;
        zoom: 50%;
    }
    #mainBanner {
        background-size: cover;
        width: 100%;
    }
    header {
        display: none;
    }
}
@page {
    size: A4;
    margin: 10mm;
}

@media screen and (max-width: 1110px) {
    .menu-contact-btn {
        border-radius: 40px;
        width: 100% !important;
        max-width: 333px;
        height: 48.41px;
        background: #4047B2;
        color: white !important;
        margin-top: 30px !important;
        font-family: "Noto Sans JP";
        font-weight: 500;
        font-size: 14px;
        letter-spacing: 0.08em;
        line-height: 23px;
        text-align: center;
        color: #fff;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
        transition: all 300ms ease-in;
    }
    .menu-contact-btn img {
        position: absolute;
        right: 20px !important;
        top: 50%;
        transform: translateY(-50%);
        width: 8px !important;
        height: auto !important;
    }
    .menu-contact-btn:hover {
        opacity: .75;
    }
}

.slider-nav, .draggable {
    transform: translate3d(0px, 0px, 0px)!important;
}