@charset "utf-8";

/*----------------------------- フォント -----------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/*----------------------------- リセット & 共通設定 -----------------------------*/
html {
    box-sizing: border-box;
    scroll-behavior: smooth;
    -ms-overflow-style: scrollbar;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body, h1, h2, h3, h4, h5, h6, p, ul[class], ol[class], figure, blockquote, dl, dd {
    margin: 0;
}

ul, ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

img, picture {
    max-width: 100%;
    height: auto;
    display: block;
}

table {
    border-collapse: collapse;
}

input, button, textarea, select {
    font: inherit;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
    -webkit-appearance: none;
    border-radius: 0;
}

input[type="search"],
input[type="submit"],
input[type="button"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="search"]::-webkit-search-decoration,
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

h1, h2, h3, h4, h5, h6 {
    clear: both;
    font-weight: normal;
}

li {
    list-style: none;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

hr {
    height: 1px;
    border: none;
}

address, em {
    font-style: normal;
}

article > * + * {
    margin: 0;
}

a {
    text-decoration: none;
    display: block;
    cursor: pointer;
    -webkit-text-decoration: none;
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

a[href*="tel:"] {
    display: inline;
}

@media (min-width: 599px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

@supports (-webkit-touch-callout: none) {
    html {
        height: -webkit-fill-available;
    }
    body {
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
}

/*----------------------------- 基本スタイル -----------------------------*/
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8125;
    position: relative;
    background: #fff;
    color: #131313;
    overflow-x: hidden;
}

a {
    color: #131313;
}

.wbr {
    word-break: keep-all;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.inner,
ul.inner {
    max-width: 1070px;
    width: calc(100% - 190px);
    margin: 0 auto;
    box-sizing: border-box;
}

.inner2,
ul.inner2,
.inner4 {
    max-width: 994px;
}

.sp {
    display: none;
}

.bold {
    font-weight: 700;
}

.blue {
    color: #0B54C8;
}

.img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*modBtn1*/
.modBtn1 {
    width: 100%;
    max-width: 177px;
}

.mapBtn {
    max-width: 211px;
}

.modBtn1 a {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .2s;
    background-color: #0B54C8;
    border: 1px solid #0B54C8;
    border-radius: 4px;
    cursor: pointer;
    min-height: 40px;
}

.modBtn1 a:hover {
    background: #F2F7FF;
}

.modBtn1 a .btnInner {
    position: relative;
    color: #fff;
    padding: 0 22px 0 37px;
    display: inline-block;
    transition: .2s;
    background-image: url(../img/common/icon-mail.svg), url(../img/common/icon-right-white.svg);
    background-repeat: no-repeat, no-repeat;
    background-size: 26px, 6px;
    background-position: center left, center right;
}

.mapBtn a .btnInner {
    background-image: url(../img/common/icon-map.svg), url(../img/common/icon-right-white.svg);
    padding: 0 41px 0 54px;
}

.modBtn1 a:hover .btnInner {
    color: #0B54C8;
    background-image: url(../img/common/icon-mail-hover.svg), url(../img/common/icon-right-blue.svg);
}

.mapBtn a:hover .btnInner {
    background-image: url(../img/common/icon-map-hover.svg), url(../img/common/icon-right-blue.svg);
}

/*modBtn2*/
.modBtn2 {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin: auto;
    width: 100%;
    max-width: 60px;
    z-index: 10;
}

.modBtn2 a {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    transition: .2s;
    background-color: #0B54C8;
    border: 1px solid #0B54C8;
    border-radius: 4px 0 0 4px;
    cursor: pointer;
    min-height: 230px;
    padding: 13px 0;
}

.modBtn2 a:hover {
    background: #F2F7FF;
}

.modBtn2 a .btnInner {
    position: relative;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    padding: 30px 0 0 4px;
    display: inline-block;
    transition: .2s;
    background: url(../img/common/icon-mail.svg) no-repeat top center;
    background-size: 26px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.modBtn2 a .btnInner::before {
    content: "Contact";
    font-family: "Roboto", sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .05em;
    color: #7BAEFF;
    display: block;
    transition: .2s;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 2px 0 0 5px;
}

.modBtn2 a:hover .btnInner {
    color: #0B54C8;
    background-image: url(../img/common/icon-mail-hover.svg);
}

.modBtn2 a:hover .btnInner::before {
    color: #D8E7FF;
}

/*modBtn3*/
.modBtn3 {
    width: 100%;
    max-width: 230px;
    margin-top: 32px;
    margin-left: auto;
}

.modBtn3 a {
    position: relative;
    min-height: 48px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    transition: .2s;
    padding: 10px 20px;
    background-color: #ECF3F8;
    border: 1px solid #0D4974;
    border-radius: 100px;
}

.modBtn3 a:hover {
    border: 1px solid #0A3A5D;
    background: #0A3A5D;
}

.membersMenu .modBtn3 a {
    min-height: 56px;
    border: 2px solid #0D4974;
}

.membersMenu .modBtn3 a:hover {
    background-color: #fff;
    border: 2px solid #0D4974;
}

.modBtn3 a:hover::before {
    opacity: 1;
}

.modBtn3 a .btnInner {
    position: relative;
    line-height: 1.4;
    color: #0D4974;
    padding-right: 28px;
    display: block;
    width: 100%;
    transition: .2s;
    background: url(../img/common/icon-right-blue2.svg) no-repeat center right;
    background-size: 16px;
}

.modBtn3 a:hover .btnInner {
    color: #fff;
    background-image: url(../img/common/icon-right-white.svg);
}

.membersMenu .modBtn3 a .btnInner {
    background-size: 21px;
}

.membersMenu .modBtn3 a:hover .btnInner {
    color: #0D4974;
    background-image: url(../img/common/icon-right-blue2.svg);
}

/*modBtn4*/
.modBtn4 a {
    position: relative;
    display: inline-block;
    font-weight: 700;
    color: #0B54C8;
    padding: 6px 47px 6px 0;
}

.modBtn4 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin: auto;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background-color: #fff;
    border: 1px solid #0B54C8;
    transition: .2s;
}

.modBtn4 a:hover::before {
    background-color: #0B54C8;
}

.modBtn4 a::after {
    content: "";
    position: absolute;
    top: 17px;
    right: 13px;
    height: 8px;
    width: 14px;
    background: url(../img/common/icon-right-arrow-blue.svg) no-repeat center;
    background-size: cover;
    transition: .2s;
}

.modBtn4 a:hover::after {
    right: 10px;
    background-image: url(../img/common/icon-right-arrow-white.svg);
}

/*modBtn5*/
.modBtn5 {
    width: 100%;
    max-width: 211px;
}

.modBtn5 a,
.modBtn5 button {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .2s;
    background: url(../img/common/icon-right-white.svg) no-repeat center right 14px;
    background-size: 6px;
    background-color: #0B54C8;
    border: 1px solid #0B54C8;
    border-radius: 4px;
    cursor: pointer;
    min-height: 40px;
}

.modBtn5 a:hover,
.modBtn5 button:hover {
    background-image: url(../img/common/icon-right-blue.svg);
    background-color: #F2F7FF;
}

.modBtn5 a .btnInner,
.modBtn5 button .btnInner {
    position: relative;
    color: #fff;
    display: inline-block;
    transition: .2s;
}

.modBtn5 a:hover .btnInner,
.modBtn5 button:hover .btnInner {
    color: #0B54C8;
}

/*moreBtn*/
.moreBtn {
    text-align: right;
}

.moreBtn .moreInner {
    font-size: 15px;
    font-weight: 700;
    display: inline-block;
    color: #0B54C8;
    padding: 0 30px 6px 0;
    background: url(../img/common/icon-more.svg) no-repeat top right;
    background-size: 24px;
    border-bottom: 1px solid #0B54C8;
    transition: .2s;
    line-height: 24px;
}

a:hover .moreBtn .moreInner {
    background-image: url(../img/common/icon-more-hover.svg);
}

/*sectionTitle*/
.sectionTitle {
    position: relative;
}

.sectionTitle .en {
    font-family: "Roboto", sans-serif;
    font-size: 62px;
    font-weight: 500;
    line-height: 1;
    color: #0B54C8;
    display: block;
}

.sectionTitle .ja {
    font-size: 31px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em;
    display: block;
    margin-top: -3px;
}

/*タイトル*/
.h2 {
    position: relative;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 48px;
    line-height: 1.466666666;
    border-left: 10px solid #0B54C8;
    color: #000;
    background-color: #EBF3FF;
    border-radius: 10px;
    padding: 12px 24px;
}

.h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    height: 50%;
    width: 10px;
    background-color: #7BAEFF;
    border-radius: 10px 0 0 0;
}

/*h3*/
.h3 {
    position: relative;
    font-size: 30px;
    font-weight: 700;
    padding: 2px 0 2px 26px;
    margin-bottom: 32px;
    line-height: 1.466666666;
}

.h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 22px;
    width: 8px;
    border-radius: 4px;
    background-color: #7BAEFF;
}

.h3::after {
    content: "";
    position: absolute;
    top: 26px;
    left: 0;
    height: 22px;
    width: 8px;
    border-radius: 4px;
    background-color: #0B54C8;
}

.h4 {
    position: relative;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    padding-left: 41px;
    margin-bottom: 32px;
    background: url(../img/common/h4.svg) no-repeat top 6px left;
    background-size: 31px;
}

.h5 {
    position: relative;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 12px;
    margin-bottom: 21px;
}

.h5::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 4px;
    height: 12px;
    background: #7BAEFF;
}

.h5::after {
    content: "";
    position: absolute;
    top: 18px;
    left: 0;
    width: 4px;
    height: 12px;
    background: #0B54C8;
}

.h5 .small {
    font-size: 18px;
}

.h6 {
    position: relative;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.4;
    padding-left: 17px;
    margin-bottom: 16px;
    background: url(../img/common/h6.svg) no-repeat top 11px left;
    background-size: 10px;
}

/*ol*/
ol.listNum {
    counter-reset: item;
    margin-top: 25px;
}

ol.listNum2 {
    margin-top: 16px;
}

ol.listNum li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 3px;
}

ol.listNum li::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: item;
    content: counter(item)'.';
}

ol.listNum2 li::before {
    position: absolute;
    top: 4px;
    left: 0;
    width: 15px;
    height: 15px;
    counter-increment: item;
    content: counter(item)'';
    font-size: 12px;
    text-align: center;
}

ol.listNum2 li::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 15px;
    height: 15px;
    border-radius: 15px;
    border: 1px solid #333;
}

/*ul*/
.list li {
    position: relative;
    padding-left: 22px;
}

.list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

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

    .list li {
        margin-bottom: 3px;
    }

}

@media screen and (max-width: 599px){

    body {
        font-size: 15px;
        line-height: 1.866666667;
    }

    ol.listNum2 {
        margin-top: 9px;
    }

}

/*pageSection*/
.pageSection {
    margin-bottom: 88px;
}

@media screen and (max-width: 599px){

    .pageSection {
        margin-bottom: 56px;
    }

}

/*pageMv*/
.pageMv {
    height: 285px;
    background: url(../img/common/page-bg-pc.jpg) no-repeat center;
    background-size: cover;
    margin-bottom: 17px;
    padding-top: 80px;
}

.pageMv .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.pageMv .sub {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    color: #0B54C8;
    padding: 0 12px 4px 12px;
    margin-bottom: 5px;
    border-bottom: 1px solid #0B54C8;
}

.pageMv .title {
    position: relative;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.5;
}

/*パンくず*/
ul.breadcrumb {
    column-gap: 25px;
    margin: 0 auto 77px auto;
    max-width: 1197px;
}

.breadcrumb li {
    position: relative;
    font-size: 14px;
}

.breadcrumb li:not(:last-of-type)::before {
    content: "";
    position: absolute;
    top: 11px;
    right: -14px;
    width: 5px;
    height: 6px;
    background: url(../img/common/breadcrumb-icon.svg) no-repeat center;
    background-size: 5px;
}

.breadcrumb li a {
    color: #A5A5A5;
    transition: .2s;
}

.breadcrumb li a:hover {
    color: #0B54C8;
}

/*table*/
.table,
.table th,
.table td {
	border-collapse: collapse;
}

.table {
    width: 100%;
}

/*table1*/
.table1 {
    border-top: 1px solid #C8C8C8;
    table-layout: fixed;
}

.table1 th,
.table1 td {
    border-bottom: 1px solid #C8C8C8;
    vertical-align: middle;
    padding: 13px 37px;
    text-align: left;
}

.table1 th {
    font-size: 17px;
    font-weight: bold;
	background: #EBF3FF;
    width: 30%;
    color: #005EAD;
}

.table1 td {
    letter-spacing: .03em;
}

/*table2*/
.table2 {
    border-left: 1px solid #C8C8C8;
}

.table2 th,
.table2 td {
    border-right: 1px solid #C8C8C8;
    width: calc(100% / 3);
    padding: 15px;
}

@media screen and (max-width: 1023px){

    .inner,
    ul.inner {
        width: calc(100% - 80px);
    }

    .hamburger .innerTablet,
    .hamburger ul.innerTablet {
        max-width: 568px;
    }

    /*pageMv*/
    .pageMv {
        padding-top: 70px;
    }

    /*modBtn1*/
    .modBtn1 a:hover {
        background: #0B54C8;
    }

    .modBtn1 a:hover .btnInner {
        color: #fff;
        background-image: url(../img/common/icon-mail.svg), url(../img/common/icon-right-white.svg);
    }

    .mapBtn a:hover .btnInner {
        background-image: url(../img/common/icon-map.svg), url(../img/common/icon-right-white.svg);
    }

    .hamburger .modBtn1 {
        margin: 0 auto;
        max-width: 343px;
    }

    .hamburger .modBtn1 a {
        min-height: 44px;
        background-image: url(../img/common/icon-right-white.svg);
        background-repeat: no-repeat;
        background-size: 6px;
        background-position: center right 14px;
    }

    .hamburger .modBtn1 a:hover {
        background-image: url(../img/common/icon-right-white.svg);
    }

    .hamburger .modBtn1 a .btnInner {
        font-size: 17px;
        padding: 0 0 0 35px;
        background-image: url(../img/common/icon-mail.svg);
    }

    .hamburger .modBtn1 a:hover .btnInner {
        background-image: url(../img/common/icon-mail.svg);
    }

    /*modBtn2*/
    .modBtn2 {
        right: auto;
        top: auto;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 32px);
        max-width: 302px;
    }

    .modBtn2 a {
        border-radius: 6px;
        min-height: 44px;
        padding: 0;
        align-items: center;
        height: 100%;
    }

    .modBtn2 a:hover {
        background-color: #0B54C8;
    }

    .modBtn2 a .btnInner {
        font-size: 16px;
        line-height: 1.8125;
        padding: 0 22px 0 35px;
        background: url(../img/common/icon-mail.svg) no-repeat center left;
        -ms-writing-mode: initial;
        writing-mode: initial;
        height: 100%;
    }

    .modBtn2 a .btnInner::before {
        display: none;
    }

    .modBtn2 a:hover .btnInner {
        color: #fff;
        background-image: url(../img/common/icon-mail.svg);
    }

    .modBtn4 a:hover::before {
        background-color: #fff;
    }

    .modBtn4 a:hover::after {
        right: 13px;
        background-image: url(../img/common/icon-right-arrow-blue.svg);
    }

    .modBtn5 a:hover,
    .modBtn5 button:hover {
        background-image: url(../img/common/icon-right-white.svg);
        background-color: #0B54C8;
    }

    .modBtn5 a:hover .btnInner,
    .modBtn5 button:hover .btnInner {
        color: #fff;
    }

    a:hover .moreBtn .moreInner {
        background-image: url(../img/common/icon-more.svg);
    }

}

@media screen and (max-width: 799px){

    .innerTablet,
    ul.innerTablet {
        max-width: 568px;
    }

}

@media screen and (max-width: 599px){

    .inner,
    ul.inner {
        width: calc(100% - 32px);
    }

    .inner2,
    ul.inner2,
    .inner3 {
        width: calc(100% - 74px);
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /*pageMv*/
    .pageMv {
        height: 248px;
        background-image: url(../img/common/page-bg-sp.jpg);
        margin-bottom: 23px;
    }

    .pageMv .sub {
        font-size: 17px;
        padding: 0 7px 4px 7px;
        margin-bottom: 5px;
    }

    .pageMv .title {
        font-size: 30px;
    }

    /*パンくず*/
    ul.breadcrumb {
        margin: 0 auto 48px auto;
    }

    /*sectionTitle*/
    .sectionTitle .en {
        font-size: 40px;
    }

    .sectionTitle .ja {
        font-size: 20px;
        letter-spacing: 0;
        margin-top: 0;
    }

    .h2 {
        font-size: 22px;
        margin-bottom: 30px;
        line-height: 1.318181818;
        border-left: 6px solid #0B54C8;
        border-radius: 6px;
        padding: 10px;
    }

    .h2::before {
        left: -6px;
        width: 6px;
        border-radius: 6px 0 0 0;
    }

    /*h3*/
    .h3 {
        font-size: 22px;
        padding: 2px 0 2px 11px;
        margin-bottom: 24px;
        line-height: 1.4;
    }

    .h3::before {
        height: 16px;
        width: 4px;
    }

    .h3::after {
        top: 18px;
        height: 16px;
        width: 4px;
    }

    .h4 {
        font-size: 20px;
        padding-left: 31px;
        margin-bottom: 24px;
        background-position: top 5px left;
        background-size: 21px;
    }

    .h5 {
        font-size: 18px;
        padding-left: 12px;
        margin-bottom: 13px;
    }

    .h5::before {
        top: 3px;
        height: 10px;
    }

    .h5::after {
        top: 15px;
        height: 10px;
    }

    .h5 .small {
        font-size: 15px;
    }

    .h6 {
        font-size: 18px;
        padding-left: 18px;
        background-position: top 9px left;
    }

    /*mapBtn*/
    .mapBtn {
        max-width: 166px;
    }

    .mapBtn a {
        min-height: 36px;
    }

    .mapBtn a .btnInner {
        font-size: 15px;
        padding: 0 28px 0 38px;
        background-size: 24px, 6px;
    }

    /*modBtn3*/
    .modBtn3 {
        max-width: 300px;
        margin-right: auto;
    }

    .modBtn3 a {
        min-height: 56px;
        padding: 15.5px 20px;
    }

    .modBtn3 a .btnInner {
        background-size: 21px;
    }

    .membersMenu .modBtn3 a,
    .membersMenu .modBtn3 a:hover {
        border: 1px solid #0D4974;
    }

    /*modBtn4*/
    .modBtn4 a {
        font-size: 13px;
        padding: 6px 41px 6px 0;
    }

    .modBtn4 a::before {
        width: 34px;
        height: 34px;
    }

    .modBtn4 a::after,
    .modBtn4 a:hover::after {
        top: 14px;
        right: 10px;
    }

    /*modBtn5*/
    .modBtn5 {
        width: 100%;
        max-width: 211px;
    }

    .modBtn5 a {
        background-position: center right 8px;
        min-height: 36px;
    }

    .modBtn5 a .btnInner {
        font-size: 15px;
    }

    /*moreBtn*/
    .moreBtn .moreInner {
        font-size: 13px;
        padding: 0 32px 6px 0;
    }

    /*table1*/
    .table1 tr {
        border-bottom: 1px solid #C8C8C8;
    }
    
    .table1 th,
    .table1 td {
        display: block;
        padding: 16px 20px;
        width: 100%;
        min-width: auto;
    }

    .table2 th,
    .table2 td {
        display: table-cell;
        width: calc(100% / 3);
        padding: 7px 10px;
    }

    .table2 td {
        line-height: 1.5;
    }

    .table1 th {
        font-size: 16px;
    }

    .table1 td {
        border-bottom: none;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ヘッダー

--------------------------------------------------------------------------------------------------------------------*/
.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 100;
    height: 80px;
    padding: 0 min(40px,2.857142857142857vw);
}

.header .headerInner {
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

/*-----------------------------左ロゴ*/
.header .logo {
    width: 28vw;
    max-width: 334px;
}

.header .logo img {
    width: 100%;
}

.header .logo .text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/*-----------------------------メニュー*/
.header .nav {
    width: calc(100% - 334px);
    height: 100%;
}

/*navList*/
.header .navList {
    position: relative;
    justify-content: flex-end;
    align-items: center;
    column-gap: min(41px,2.91vw);
    height: 100%;
}

.header .navList .navGroup {
    position: relative;
    height: 100%;
}

.header .navList .navGroup .main {
    position: relative;
    font-size: min(16px,1.3vw);
    transition: .2s;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.header .navList .navGroup:hover .main,
.header .navList .navGroup .subMenu li a:hover {
    color: #0B54C8;
}

.header .navList .navGroup .mainParent::after {
    position: absolute;
    top: 58px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background-color: #7BAEFF;
    opacity: 0;
}

.header .navList .navGroup:hover .mainParent::after {
    opacity: 1;
}

.header .navList .navGroup .subMenu {
    position: absolute;
    top: 72px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    background-color: #fff;
    border: 3px solid #D8E7FF;
    border-radius: 5px;
    opacity: 0;
    z-index: -1;
    transition: .2s;
    pointer-events: none;
    padding: 14px 20px;
}

.header .navList .navGroup .subMenu1 {
    min-width: 256px;
}

.header .navList .navGroup .subMenu2 {
    min-width: 152px;
}

.header .navList .navGroup .subMenu3 {
    min-width: 196px;
}

.header .navList .navGroup:hover .subMenu {
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
}

.header .navList .navGroup .subMenu li a {
    font-size: min(15px,1.3vw);
    padding: 4px 0 4px 13px;
    background: url(../img/common/icon-right-blue.svg) no-repeat center left;
    background-size: 6px;
    transition: .2s;
}

@media screen and (max-width: 1023px){

    .header {
        height: 60px;
        padding: 0 16px;
    }

    /*-----------------------------左ロゴ*/
    .header .logo {
        width: 100%;
        max-width: 214px;
    }

    .header .logo .cm {
        font-size: 10px;
        padding-left: 41px;
    }

    /*-----------------------------メニュー*/
    .header .nav {
        display: none;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ハンバーガーメニュー

--------------------------------------------------------------------------------------------------------------------*/
.hamburger {
	display: none;
}

/*----------------------------------------------------------------------三本ライン*/
.hamburger .line {
    position: fixed;
    top: 9px;
    right: 16px;
    display: flex;
    height: 42px;
    width: 42px;
    border-radius: 42px;
    justify-content: center;
    align-items: center;
    z-index: 999999;
	cursor: pointer;
    background-color: #fff;
    border: 1px solid #0B54C8;
}

.hamburger .line span,
.hamburger .line span:before,
.hamburger .line span:after {
    content: '';
    display: block;
    height: 1px;
    width: 22px;
    background-color: #0B54C8;
    position: absolute;
}

/*.line1*/
.hamburger .line span.line1:before {
    bottom: 5px;
    left: 0;
}

.hamburger .line span.line1:after {
    top: 5px;
    left: 0;
}

/*open*/
.hamburger .line.is-activeLine {
    background-color: #0B54C8;
}

.hamburger .line.is-activeLine span,
.hamburger .line.is-activeLine span:before,
.hamburger .line.is-activeLine span:after {
    background-color: #fff;
    width: 14px;
}

.hamburger .line.is-activeLine span.line1 {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}

.hamburger .line.is-activeLine span.line1::before {
    bottom: 0;
    transform: rotate(45deg);
}

.hamburger .line.is-activeLine span.line1::after {
    top: 0;
    transform: rotate(-45deg);
}

/* アニメーション前のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

@media screen and (max-width: 1023px){

	.hamburger {
		display: block;
	}
		
}

/*-----------------------------------------------------------------------中のメニュー*/
.hamburger .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box; /* 追加 */
    z-index: 80;
    background: url(../img/common/txt_treat.svg) no-repeat center bottom 20px;
    background-size: 343px;
    background-color: #F2F7FF;
    padding: 79px 16px 131px 16px;
    scrollbar-width: none; /* Firefox用 */
    -ms-overflow-style: none; /* IE・Edge旧対応 */
}

.hamburger .menu::-webkit-scrollbar {
    display: none; /* Chrome/Safari用 */
}

/*動き*/
/* アニメーション前のメニューの状態 */
.hamburger .menu {
    pointer-events: none;
    opacity: 0;
    transition: .2s;
}

/* アニメーション後のメニューの状態 */
.hamburger .menu.is-active {
    pointer-events: auto;
    opacity: 1;
}

.hamburger .innerTablet {
    width: 100%;
}

/*menu*/
.hamburger .menu .navList {
    padding-bottom: 27px;
    background-color: #F2F7FF;
}

.hamburger .menu .navList .navGroup {
    position: relative;
}

.hamburger .menu .navList .main {
    font-size: 15px;
    font-weight: 700;
    padding: 11px 0 11px 10px;
    color: #0B54C8;
    border-bottom: 1px solid #CCCCCC;
}

.hamburger .menu .navList .link {
    font-size: 13px;
    font-weight: 400;
    padding: 11px 10px;
}

.hamburger .menu .navList .toggleBtn {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    width: 31px;
    height: 100%;
    z-index: 1;
}

.hamburger .menu .navList .toggleBtn .line1,
.hamburger .menu .navList .toggleBtn .line2 {
    position: absolute;
    background-color: #0D4974;
}

.hamburger .menu .navList .toggleBtn .line1 {
    top: 23px;
    right: 10px;
    width: 11px;
    height: 1px;
}

.hamburger .menu .navList .toggleBtn .line2 {
    top: 18.5px;
    right: 14.5px;
    height: 11px;
    width: 1px;
}

.hamburger .menu .navList .toggleBtn.is-active .line2 { /* アイコン縦棒なし（開いてるとき） */
    opacity: 0;
}

.hamburger .menu .child {
	display: none;
}

.hamburger .menu .subMenu {
    padding: 9px 10px;
    border-bottom: 1px solid #CCCCCC;
}

.hamburger .menu .subMenu li a {
    font-size: 14px;
    padding: 1.5px 0 1.5px 13px;
    background: url(../img/common/icon-right-blue.svg) no-repeat top 10px left;
    background-size: 6px;
}

.hamburger .menu .navBtn {
    padding: 0 8px;
}

/*--------------------------------------------------------------------------------------------------------------------

フッター
--------------------------------------------------------------------------------------------------------------------*/
/*footerContact*/
.footerContact {
    position: relative;
    z-index: 1;
    padding-top: 115px;
    background-color: #fff;
}

.footerContactInner {
    position: relative;
    padding: 47px 224px 47px 63px;
    max-width: 1200px;
    justify-content: space-between;
    align-items: center;
    z-index: 1;
}

.footerContactInner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(90deg, #0B54C8, #4A84E2);
}

.footerContactInner::after {
    content: "";
    position: absolute;
    top: 49px;
    right: 55px;
    width: 136px;
    height: 256px;
    background: url(../img/common/txt-treat-2.svg) no-repeat center;
    background-size: cover;
    mix-blend-mode: multiply;
}

.footerContact .footerContactInner .left {
    position: relative;
    width: calc(100% - 563px);
    z-index: 1;
}

.footerContact .footerContactInner .right {
    position: relative;
    width: 497px;
    padding-left: 36px;
    border-left: 1px solid #7BAEFF;
    z-index: 1;
}

.footerContact .footerContactInner .left .sectionTitle {
    margin-bottom: 17px;
}

.footerContact .footerContactInner .left .sectionTitle .en,
.footerContact .footerContactInner .left .sectionTitle .ja {
    color: #fff;
}

.footerContact .footerContactInner .left .cm {
    color: #fff;
    padding-left: 4px;
}

a.btnContact {
    border-radius: 10px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 123px;
    transition: .2s;
    border: 1px solid #fff;
}

a.btnContactTel {
    margin-bottom: 13px;
}

a.btnContactMail:hover {
    background-color: #D8E7FF;
    border: 1px solid #0B54C8;
}

a.btnContact .btnInner {
    position: relative;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 55px;
}

a.btnContactTel .btnInner {
    padding: 0 14px 0 72px;
    background-image: url(../img/common/icon-tel.svg);
}

a.btnContactMail .btnInner {
    padding: 10px 85px 10px 92px;
    background-image: url(../img/common/icon-mail-hover.svg);
    font-size: 22px;
    font-weight: 700;
    color: #0B54C8;
}

a.btnContactMail .btnInner::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin: auto;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background-color: #fff;
    border: 1px solid #0B54C8;
    transition: .2s;
}

a.btnContactMail:hover .btnInner::before {
    background-color: #7BAEFF;
    border: 1px solid #7BAEFF;
}

a.btnContactMail .btnInner::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
    height: 8px;
    width: 14px;
    background: url(../img/common/icon-right-arrow-blue.svg) no-repeat center;
    background-size: cover;
    transition: .2s;
}

a.btnContactMail:hover .btnInner::after {
    background-image: url(../img/common/icon-right-arrow-white.svg);
    right: 8px;
}

a.btnContactTel .num {
    font-family: "Roboto", sans-serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 1;
    color: #0B54C8;
    display: block;
    padding-left: 7px;
}

a.btnContactTel .open {
    display: block;
}

@media screen and (max-width: 1269px){

    .footerContact .footerContactInner .left {
        width: 100%;
        padding: 0 16px 36px 16px;
    }

    .footerContact .footerContactInner .right {
        width: 100%;
        padding: 36px 0 0 0;
        border-left: none;
        border-top: 1px solid #7BAEFF;
    }

    .footerContact .btnContact {
        max-width: 497px;
        margin-left: auto;
        margin-right: auto;
    }

}

@media screen and (max-width: 1023px){

    a.btnContact:hover {
        background-color: #fff;
        border: 1px solid #fff;
    }

    a.btnContactMail:hover .btnInner::before {
        background-color: #fff;
        border: 1px solid #0B54C8;
    }

    a.btnContactMail:hover .btnInner::after {
        background-image: url(../img/common/icon-right-arrow-blue.svg);
        right: 13px;
    }

}

@media screen and (max-width: 799px){

    .footerContactInner {
        padding: 47px 20px 26px 20px;
    }

    .footerContactInner::after {
        top: 17px;
        right: 13px;
        width: 74px;
        height: 140px;
    }

}

@media screen and (max-width: 599px){

    .footerContact {
        padding-top: 68px;
    }

    .footerContactInner {
        padding: 30px 20px 26px 20px;
    }
    
    .footerContactInner::before {
        border-radius: 6px;
    }

    .footerContact .footerContactInner .left {
        padding: 0 16px 18px 16px;
    }

    .footerContact .footerContactInner .left .cm {
        padding-left: 0;
    }

    .footerContact .footerContactInner .right {
        padding: 18px 0 0 0;
    }

    .footerContact .footerContactInner .left .sectionTitle {
        margin-bottom: 11px;
    }

    a.btnContact {
        border-radius: 6px;
        min-height: 85px;
    }

    a.btnContactTel {
        margin-bottom: 10px;
    }

    a.btnContact .btnInner {
        background-size: 44px;
    }

    a.btnContactTel .btnInner {
        padding: 0 9px 0 49px;
    }

    a.btnContactMail .btnInner {
        padding: 10px 42px 10px 52px;
        font-size: 17px;
    }

    a.btnContactMail .btnInner::before {
        width: 34px;
        height: 34px;
    }

    a.btnContactMail .btnInner::after,
    a.btnContactMail:hover .btnInner::after {
        right: 10px;
    }

    a.btnContactTel .num {
        font-size: 31px;
        padding-left: 9px;
        padding-top: 3px;
    }

    a.btnContactTel .open {
        margin-top: -3px;
    }

}

/*footer*/
.footer {
    position: relative;
    background: linear-gradient( #fff, #BFD8FF);
    padding: 147px 0 31px 0;
    margin-top: -47px;
}

.footer .footerInner {
    position: relative;
    justify-content: space-between;
    padding-bottom: 50px;
}

.footer .footerInner::after {
    content: "";
    position: absolute;
    bottom: 37px;
    left: 0;
    max-width: 551px;
    width: 36.357143vw;
    max-height: 144px;
    height: 9.285714vw;
    background: url(../img/common/txt_treat.svg) no-repeat center;
    background-size: auto 100%;
    mix-blend-mode: multiply;
    z-index: 1;
}

/*left*/
.footer .left {
    width: 334px;
}

.footer .logo {
    max-width: 334px;
}

.footer .logo img {
    width: 100%;
}

.footer .logo .text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.footer .left .info {
    position: relative;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.46666667;
    margin: 17px 0 24px 0;
    padding-left: 17px;
}

.footer .left .info::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 4px;
    width: 1px;
    height: calc(100% - 8px);
    background-color: #707070;
}

.footer .left .number {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.46666667;
    padding: 10px 14px;
    border-radius: 4px;
    background-color: #fff;
    color: #0B54C8;
    display: inline-block;
}

/*right*/
.footer .right {
    width: 448px;
    justify-content: space-between;
    column-gap: 20px;
    row-gap: 24px;
}

.footer .right .navList1 {
    width: 208px;
}

.footer .right .navList2 {
    width: 177px;
}

.footer .right .navList .navGroup {
    margin-bottom: 24px;
}

.footer .right .navList1 .navGroup:last-child {
    margin-bottom: 0;
}

.footer .right .navList a {
    transition: .2s;
}

.footer .right .navList a:hover {
    color: #0B54C8;
}

.footer .right .navList .main {
    position: relative;
    font-size: 17px;
    font-weight: 700;
    color: #0B54C8;
    display: inline-block;
    padding-bottom: 2px;
}

.footer .right .navList .mainParent {
    margin-bottom: 13px;
}

.footer .right .navList .main::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 1px;
    background-color: #7BAEFF;
    transition: .2s;
}

.footer .right .navList a.main:hover::before {
    width: 100%;
}

.footer .right .navList .main::after {
    content: "";
    position: absolute;
    bottom: -2.5px;
    left: 5px;
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background-color: #7BAEFF;
    transition: .2s;
}

.footer .right .navList a.main:hover::after {
    left: calc(100% - 10px);
}

.footer .right .navList .subMenu li {
    margin-bottom: 5px;
}

.footer .right .navList .subMenu li:last-child {
    margin-bottom: 0;
}

.footer .right .navList .subMenu a {
    font-size: 15px;
    padding-left: 13px;
    background: url(../img/common/icon-right-blue.svg) no-repeat center left;
    background-size: 6px;
    transition: .2s;
}

.footer .right .navList .link {
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 20px;
}

/*copy*/
.footer .copy {
    font-size: 12px;
    font-weight: 300;
    text-align: center;
    padding-top: 8px;
    border-top: 1px solid #A5A5A5;
}

/*pageTop*/
.pageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 54px;
    height: 71px;
    z-index: 10;
    font-family: "Roboto", sans-serif;
    font-size: 12px;
    color: #0B54C8;
    transition: .2s;
    cursor: pointer;
    padding-top: 57px;
    white-space: nowrap;
    text-align: center;
}

.pageTop::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 54px;
    width: 54px;
    border-radius: 54px;
    background-color: #fff;   
    border: 1px solid #0B54C8;
    transition: .2s;
}

.pageTop:hover::before {
    background-color: #0B54C8;
}

.pageTop::after {
    content: "";
    position: absolute;
    top: 17px;
    left: 21px;
    height: 20px;
    width: 12px;
    background: url(../img/common/page-top.svg) no-repeat center;
    background-size: cover;
    transition: .2s;
}
  
.pageTop:hover::after {
    top: 11px;
    background-image: url(../img/common/page-top-hover.svg);
}

@media screen and (max-width: 1023px){

    .footer {
        padding: 274px 0 93px 0;
        margin-top: -224px;
    }

    .footer .footerInner::after {
        max-width: 448px;
        width: 100%;
        max-height: 117px;
        height: 23.733333333333334vw;
    }

    .footer .footerInner {
        max-width: 448px;
        justify-content: center;
        flex-direction: column;
        padding-bottom: 204px;
    }

    /*left*/
    .footer .left {
        width: 100%;
        margin-bottom: 63px;
    }

    /*right*/
    .footer .right {
        width: 100%;
        margin: 0 auto;
    }

    /*pageTop*/
    .pageTop:hover::before {
        background-color: #fff;  
    }
    
    .pageTop:hover::after {
        top: 17px;
        background-image: url(../img/common/page-top.svg);
    }

}

@media screen and (max-width: 599px){

    .footer .footerInner {
        padding-bottom: max(124px,33.06666666666666vw);
    }

    .footer .footerInner::after {
        bottom: 18px;
    }

    /*left*/
    .footer .left {
        margin-bottom: 0;
    }

    .footer .logo {
        max-width: 343px;
    }

    .footer .left .info {
        padding-left: 12px;
        margin: 13px 0 23px 0;
    }

    .footer .left .info::before {
        left: 0;
    }

    /*right*/
    .footer .right {
        display: none;
    }

    /*copy*/
    .footer .copy {
        font-size: 10px;
        padding-top: 2px;
    }

    /*pageTop*/
    .pageTop {
        bottom: 84px;
        right: 16px;
        width: 43px;
        height: 55px;
        font-size: 10px;
        padding-top: 44px;
    }

    .pageTop::before {
        height: 42px;
        width: 42px;
    }

    .pageTop::after,
    .pageTop:hover::after {
        top: 13px;
        left: 17px;
        height: 16px;
        width: 9px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

トップページ

--------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------MV*/
.mv {
    position: relative;
}

/*scroll*/
.mv .scroll {
    position: absolute;
    top: 0;
    left: 7.14285714%;
    margin: auto;
    width: 100%;
    height: 100vh;
    max-height: 57.14285714285714vw;
    z-index: 1;
}

.mv .scrollText {
    color: #0B54C8;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    transform: rotate(90deg);
    position: absolute;
    left: -9px;
    bottom: 50px;
}

.mv .scrollBorder {
    position: absolute;
    bottom: 83px;
    width: 100%;
    height: 90px;
    overflow: hidden;
}

.mv .scrollBorder::before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    left: 8px;
    background: #7BAEFF;
}

.mv .scrollBorder::after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 30px;
  top: 0;
  left: 7.5px;
  background: #0B54C8;
  animation: scrollbar 2.0s ease-in-out infinite;
}

@keyframes scrollbar {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(350%);
    transform: translateY(350%);
  }
}

@media screen and (max-width: 1023px){

    .mv .scroll {
        left: 40px;
    }

}

@media screen and (max-width: 599px){

    .mv .scroll {
        display: none;
    }

}

/*projectTop*/
.projectTop {
    position: relative;
    padding: 104px 0 100px 0;
    background: linear-gradient(to bottom, #fff 0px, #fff 415px, #BFD8FF 100%);
    background-color: #fff;
    border-radius: 0 0 30px 30px;
    z-index: 1;
}

@media screen and (max-width: 599px){

    .projectTop {
        padding: 59px 0 26px 0;
        background: linear-gradient(to bottom, #fff 0px, #fff 631px, #BFD8FF 100%);
        background-color: #fff;
        border-radius: 0 0 16px 16px;
    }

}

/*top*/
.projectTop .top {
    position: relative;
    max-width: 1320px;
    width: 100%;
    padding: 0 126px 46px 0;
    justify-content: space-between;
    row-gap: 32px;
}

.projectTop .left {
    width: calc(100% - 514px);
    padding-top: 22px;
}

.projectTop .right {
    width: 467px;
}

.projectTop .right .ic {
    font-size: 18px;
    line-height: 50px;
}

.projectTop .right .ic img {
    display: inline-block;
    vertical-align: middle;
}

.projectTop .right .ic .txt {
    display: inline-block;
    vertical-align: middle;
}

.projectTop .right .ml {
    margin-left: 8px;
}

.projectTop .right .text {
    border-top: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    padding: 21px 0 26px 0;
}

.projectTop .right .text .cm {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 46px;
}

.projectTop .right .text .cm::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 0;
    width: 36px;
    height: 1px;
    background-color: #131313;
}

.projectTop .right .text .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    margin: 4px 0 15px 0;
}

.projectTop .right .h5 {
    margin: 26px 0 21px 0;
}

.projectTop .right .btnList {
    column-gap: 36px;
}

.projectTop .right .btnList .modBtn5 {
    width: calc(50% - 18px);
}

.projectTop .right .btnList .modBtn5 a .btnInner {
    padding-right: 19px;
}

@media screen and (max-width: 1023px){

    .projectTop .top {
        width: calc(100% - 80px);
        padding: 0 0 46px 0;
    }

}

@media screen and (max-width: 799px){

    .projectTop .top {
        padding: 0;
    }

    .projectTop .left {
        width: 100%;
        padding-top: 0;
        order: 2;
    }

    .projectTop .right {
        width: 100%;
        order: 1;
    }

}

@media screen and (max-width: 599px){

    .projectTop .top {
        width: calc(100% - 32px);
    }

    .projectTop .right .ic {
        font-size: 15px;
        line-height: 1;
        margin-left: 7px;
    }

    .projectTop .right .ic img {
        max-height: 40px;
        max-width: 201px;
        object-fit: cover;
    }

    .projectTop .right .ic .txt {
        display: inline-block;
        vertical-align: middle;
        margin-top: 3px;
    }

    .projectTop .right .ml {
        margin-left: 0;
    }

    .projectTop .right .text {
        padding: 16px 20px 22px 20px;
    }

    .projectTop .right .text .cm {
        font-size: 15px;
        padding-left: 29px;
    }

    .projectTop .right .text .cm::before {
        top: 11px;
        width: 23px;
    }

    .projectTop .right .text .title {
        font-size: 20px;
        margin: 2px 0 11px 0;
    }

    .projectTop .right .h5 {
        margin: 21px 0 7px 0;
    }

    .projectTop .right .btnList {
        column-gap: 11px;
    }

    .projectTop .right .btnList .modBtn5 {
        width: calc(50% - 5.5px);
    }

    .projectTop .right .btnList .modBtn5 a .btnInner {
        padding-right: 11px;
    }

    .projectTop .left {
        padding: 0 11px;
    }

}

/*worksList*/
.worksTop .worksList {
    max-width: 1196px;
    width: calc(100% - 190px + min(124px,8.857142857142856vw));
}

.worksTop .worksList .box {
    padding: 12px min(62px,4.428571428571428vw) 15px min(62px,4.428571428571428vw);
    border-right: 1px solid #CCCCCC;
    width: calc(100% / 3);
}

.worksTop .worksList .box:last-child {
    border-right: none;
}

.worksList .img {
    width: 100%;
    max-height: 191px;
    height: 13.642857142857142vw;
    overflow: hidden;
    border-radius: 10px;
}

.pageWorks .worksList .img {
    height: 16.131756756756758vw;
}

.worksList .img img {
    border-radius: 10px;
    transition: .2s;
}

.worksList .box:hover .img img {
    transform: scale(1.20923077);
}

.worksList .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
    margin: 14px 0 18px 0;
    color: #0B54C8;
}

.category {
    font-weight: 700;
    line-height: 36px;
    border-radius: 20px;
    border: 2px solid #0B54C8;
    background-color: #F2F7FF;
    text-align: center;
    color: #0B54C8;
    display: inline-block;
    width: 100%;
    max-width: 111px;
}

@media screen and (max-width: 1023px){

    .worksTop .worksList {
        width: calc(100% - 80px + min(124px,8.857142857142856vw));
    }

}

@media screen and (max-width: 899px){

    .pageWorks .worksList .img {
        max-height: 100%;
        height: 31.245829vw;
    }

}

@media screen and (max-width: 799px){

    .worksTop .worksList {
        width: calc(100% - 80px);
    }

    .worksList .box,
    .worksTop .worksList .box {
        padding: 30px 20px;
        border-right: none;
        border-bottom: 1px solid #CCCCCC;
        width: 100%;
    }

    .worksTop .worksList .box:first-child {
        padding-top: 0;
    }

    .worksList .box:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }

    .worksList .img {
        max-height: 100%;
        min-height: 175px;
        height: 46.666666666666664vw;
    }

    .pageWorks .worksList .img {
        max-height: 100%;
        height: 28.245829vw;
    }

}

@media screen and (max-width: 599px){

    .worksTop .worksList {
        width: calc(100% - 32px);
    }

    .worksList .img,
    .worksList .img img {
        border-radius: 6px;
    }

    .worksList .box:first-child {
        padding-top: 0;
    }
    
    .pageWorks .worksList .img {
        max-height: 100%;
        min-height: 175px;
        height: 46.666666666666664vw;
    }

    .worksList .title {
        font-size: 18px;
        line-height: 1.5;
    }

}

/*worksTop*/
.worksTop {
    position: relative;
    padding-top: 129px;
    background-color: #fff;
    margin-top: -20px;
}

.worksTop::after {
    content: "";
    position: absolute;
    top: min(-11px,-1.5vw);
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 1200px;
    width: calc(100% - 190px);
    max-height: 236px;
    height: 16.857142857142858vw;
    background: url(../img/common/txt-treat-3.svg) no-repeat center right;
    background-size: auto 100%;
    mix-blend-mode: multiply;
    z-index: 1;
}

.worksTop .inner {
    position: relative;
    z-index: 2;
}

.topTitle {
    position: relative;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.businessTop .topTitle {
    max-width: 488px;
    margin-bottom: 50px;
    z-index: 2;
}

.worksTop .topTitle {
    max-width: 421px;
    margin-bottom: 43px;
}

.topTitle::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: rotate(-43deg) translateY(-50%);
    margin: auto;    
    width: 152px;
    height: 1px;
    background-color: #0B54C8;
}

.businessTop .topTitle::before  {
    left: 227px
}

.worksTop .topTitle::before  {
    left: 160px;
}

.topTitle .modBtn4 {
    margin-top: 10px;
}

@media screen and (max-width: 1023px){

    .worksTop::after {
        width: calc(100% - 80px);
    }

}

@media screen and (max-width: 799px){

    .worksTop .topTitle {
        margin: 0 20px 39px 20px;
    }

}

@media screen and (max-width: 599px){

    .worksTop {
        padding-top: 86px;
        margin-top: -16px;
    }

    .worksTop::after {
        top: 2px;
        width: calc(100% - 32px);
        max-height: 78px;
        height: 20.8vw;
    }

    .topTitle {
        align-items: flex-end;
    }

    .businessTop .topTitle {
        max-width: 302px;
        margin-bottom: 22px;
    }

    .worksTop .topTitle {
        max-width: 261px;
        margin: 0 20px 27px 20px;
    }

    .topTitle::before {
        width: 86px;
        transform: rotate(-45deg) translateY(-50%);
    }

    .businessTop .topTitle::before  {
        left: 140px;
    }

    .worksTop .topTitle::before  {
        left: 100px;
    }

}

/*businessTop*/
.businessTop {
    position: relative;
    padding-top: min(333px,20.7vw);
}

.businessTop::before {
    content: "";
    position: absolute;
    top: min(61px,1.357143vw);
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 1320px;
    width: calc(100% - 83px);
    max-height: 233px;
    height: 16.642857142857142vw;
    background: url(../img/common/txt-treat-4.svg) no-repeat center;
    background-size: 100% auto;
    mix-blend-mode: multiply;
    z-index: 1;
}

.businessTop::after {
    content: "";
    position: absolute;
    top: 61px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 1160px;
    width: calc(100% - 190px);
    max-height: 431px;
    height: 30.78571428571429vw;
    background: url(../img/top/sokuryou_1.png) no-repeat center right;
    background-size: auto 100%;
    z-index: 1;
}

.businessTopInner {
    max-width: 1200px;
    padding: 55px min(67px,4.785714285714286vw) 68px min(67px,4.785714285714286vw);
    border-radius: 10px;
    background: url(../img/top/hougan.jpg) no-repeat center;
    background-size: cover;
}

.businessList {
    column-gap: 37px;
    row-gap: 36px;
    justify-content: center;
}

.businessList .box {
    position: relative;
    width: calc(100% / 3 - 24.7px);
    background-color: #fff;
    border: 2px solid #0B54C8;
    border-radius: 10px;
}

.businessList .box::before {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    background: url(../img/common/icon-more-hover.svg) no-repeat center;
    background-size: cover;
    transition: .2s;
}

.businessList .box:hover::before {
    background-image: url(../img/common/icon-more-light.svg);
}

.businessList .box .img {
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    max-height: 191px;
    height: 13.642857142857142vw;
}

.businessList .box .img img {
    transition: .2s;
}

.businessList .box:hover .img img {
    transform: scale(1.13293051);
}

.businessList .box .text {
    padding: 13px min(27px,1.9285714285714284vw) 34px min(27px,1.9285714285714284vw);
}

.businessList .box .text .h5 {
    margin-bottom: 5px;
}

@media screen and (max-width: 1023px){

    .businessTop::before {
        width: calc(100% - 32px);
    }

    .businessList .box:hover::before {
        background-image: url(../img/common/icon-more-hover.svg);
    }

}

@media screen and (max-width: 899px){

    .businessTop::after {
        top: 50px;
        width: calc(100% - 80px);
        min-height: 145px;
        height: 23.666667vw;
    }

    .businessList {
        column-gap: 20px;
    }

    .businessList .box {
        width: calc(100% / 2 - 10px);
    }

    .businessList .box .img {
        height: 21.642857vw;
    }

}

@media screen and (max-width: 599px){

    .businessTop {
        padding-top: 94px;
        margin-top: -13px;
    }

    .businessTop::before {
        display: none;
    }

    .businessTop::after {
        top: 0;
        width: calc(100% - 26px);
    }

    .businessTopInner {
        padding: 30px 20px 20px 20px;
        border-radius: 6px;
        background-image: url(../img/top/hougan-sp.jpg);
    }

    .businessList {
        row-gap: 20px;
    }

    .businessList .box {
        width: 100%;
        border-radius: 6px;
        min-height: 337px;
    }

    .businessList .box::before {
        right: 12px;
    }

    .businessList .box .img {
        border-radius: 4px 4px 0 0;
        min-height: 175px;
        max-height: 100%;
        height: 46.666666666666664vw;
    }

    .businessList .box .text {
        padding: 11px 15px 29px 15px;
    }

}

/*moreWorksTop*/
.moreWorksTop {
    position: relative;
    padding: 105px 0 120px 0;
    background-color: #fff;
}

.moreWorksTopInner {
    max-width: 1200px;
    row-gap: 21px;
}

.moreWorksTop .left {
    position: relative;
    padding: 52px 18px 0 63px;
    width: 51.5%;
    z-index: 1;
}

.moreWorksTop .left .sectionTitle {
    margin-bottom: 18px;
}

.moreWorksTop .left .modBtn4 {
    margin-top: 30px;
}

.moreWorksTop .right {
    position: relative;
    width: 48.5%;
    max-height: 446px;
    padding: 0 0 40px 0;
}

.moreWorksTop .right::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 53%;
    width: 100%;
    height: calc(100% - 40px);
    border-radius: 10px;
    background: linear-gradient(#fff, #BFD8FF);
}

.moreWorksTop .right img {
    position: relative;
    border-radius: 10px;
}

@media screen and (max-width: 1023px){

    .moreWorksTop .left {
        padding: 0 18px 0 0;
    }

}

@media screen and (max-width: 799px){

    .moreWorksTop .left {
        padding: 0 20px;
        width: 100%;
    }

    .moreWorksTop .right {
        width: 100%;
        min-height: 244px;
        height: 65.06666666666666vw;
        padding: 0 0 21px 23px;
    }

    .moreWorksTop .right::before {
        bottom: 0;
        right: auto;
        left: 0;
        height: calc(100% - 21px);
        width: calc(100% - 23px);
        background: #F7F7F7;
    }

}

@media screen and (max-width: 599px){

    .moreWorksTop {
        padding: 50px 0;
    }

    .moreWorksTop .left .sectionTitle {
        margin-bottom: 15px;
    }

    .moreWorksTop .left .modBtn4 {
        margin-top: 21px;
    }

    .moreWorksTop .right::before,
    .moreWorksTop .right img {
        border-radius: 6px;
    }

}

/*bgTop*/
.bgTop {
    position: relative;
    width: 100%;
    height: 552px;
    z-index: -1;
}

.bgTop::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: url(../img/top/sokuryou_image.jpg) no-repeat center;
    background-size: cover;
}

@media screen and (max-width: 599px){

    .bgTop {
        position: relative;
        width: 100%;
        height: 374px;
        z-index: -1;
    }

}

/*faqList*/
.faqList .box {
    border-radius: 10px;
    background-color: #D8E7FF;
    margin-bottom: 13px;
}

.faqList .box .toggleBtn {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.66666667;
    padding: 35px 75px 35px 111px;
    cursor: pointer;
    color: #0B54C8;
    border-radius: 10px 10px 0 0;
    transition: .2s;
}

.faqList .box .toggleBtn.is-active {
    background-color: #9EC0F8;
}

.faqList .box .toggleBtn::before,
.faqList .box .toggleBtn::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin: auto;
    background-color: #0B54C8;
    border-radius: 2px;
}

.faqList .box .toggleBtn::before {
    right: 37px;
    width: 14px;
    height: 2px;
}

.faqList .box .toggleBtn::after {
    right: 43px;
    height: 14px;
    width: 2px;
}

.faqList .box .toggleBtn.is-active::after { /* アイコン縦棒なし（開いてるとき） */
    opacity: 0;
}

.faqList .box .qa {
    position: absolute;
    left: 37px;
    font-family: "Roboto", sans-serif;
    font-size: 27px;
    font-weight: 500;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50px;
    text-align: center;
    color: #fff;
    background-color: #3A71C9;
}

.faqList .box .toggleBtn.is-active .qa.q {
    color: #3A71C9;
    background-color: #fff;
}

.faqList .box .qa.q {
    top: 50%;
    transform: translateY(-50%);
    margin: auto;
}

.faqList .box .qa.a {
    top: 23px;
}

.faqList .box .child {
    position: relative;
    display: none;
    padding: 23px 37px 30px 111px;
}

.faqList .box .child p {
    min-height: 53px;
}

@media screen and (max-width: 599px){

    .faqList .box {
        border-radius: 6px;
        margin-bottom: 10px;
    }

    .faqList .box .toggleBtn {
        font-size: 17px;
        line-height: 1.64705882;
        padding: 14px 59px 14px 73px;
        border-radius: 6px 6px 0 0;
    }

    .faqList .box .toggleBtn::before {
        right: 21px;
        width: 11.28px;
    }

    .faqList .box .toggleBtn::after {
        right: 26px;
        height: 11.28px;
    }

    .faqList .box .qa {
        left: 20px;
        font-size: 18px;
        width: 35px;
        height: 35px;
        line-height: 35px;
    }

    .faqList .box .qa.a {
        top: 20px;
    }

    .faqList .box .child {
        position: relative;
        display: none;
        padding: 20px 22px 24px 73px;
    }

}

/*faqTop*/
.faqTop {
    position: relative;
    background-color: #fff;
}

.faqTopInner {
    padding: 106px 0;
    border-bottom: 1px solid #CCCCCC;
}

.faqTop .sectionTitle {
    margin-bottom: 50px;
}

.faqTop .modBtn4 {
    margin-top: 40px;
    text-align: right;
}

@media screen and (max-width: 599px){

    .faqTopInner {
        padding: 50px 0;
    }

    .faqTop .sectionTitle {
        margin: 0 auto 29px auto;
        width: calc(100% - 32px);
    }

    .faqTop .modBtn4 {
        margin-top: 29px;
    }

}

/*pageFaq*/
.pageFaq .section {
    margin-bottom: 88px;
}

@media screen and (max-width: 599px){
    
    .pageFaq .section {
        margin-bottom: 56px;
    }

}

/*aboutTop*/
.aboutTop {
    position: relative;
    background-color: #fff;
    padding-top: 110px;
}

.aboutTopInner {
    justify-content: space-between;
    row-gap: 30px;
}

.aboutTop .left {
    position: relative;
    width: 51.6885553%;
    max-height: 380px;
    padding: 0 0 40px 36px;
}

.aboutTop .left::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(100% - 36px);
    height: calc(100% - 40px);
    border-radius: 10px;
    background: linear-gradient(#fff, #BFD8FF);
}

.aboutTop .left img {
    position: relative;
    border-radius: 10px;
}

.aboutTop .right {
    width: 42.0262664%;
}

.aboutTop .right .sectionTitle {
    margin-bottom: 38px;
}

.aboutTop .aboutBtnList li {
    border-bottom: 1px solid #A5A5A5;
}

.aboutTop .aboutBtnList li:first-child {
    border-top: 1px solid #A5A5A5;
}

.aboutBtn1 a {
    position: relative;
    padding: 22px 60px 22px 10px;
}

.aboutBtn1 a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    margin: auto;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background-color: #0B54C8;
    border: 1px solid #0B54C8;
}

.aboutBtn1 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 23px;
    transform: translateY(-50%);
    height: 8px;
    width: 14px;
    background: url(../img/common/icon-right-arrow-white.svg) no-repeat center;
    background-size: cover;
    transition: .2s;
}

.aboutBtn1 a:hover::after {
    right: 20px;
}

.aboutBtn1 a .btnInner {
    position: relative;
    font-size: 19px;
    font-weight: 700;
    display: block;
    transition: .2s;
}

.aboutBtn1 a:hover .btnInner {
    color: #0B54C8;
}

.aboutBtn1 a .btnInner::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
    margin: auto;
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background-color: #0B54C8;
    opacity: 0;
    transition: .2s;
}

.aboutBtn1 a:hover .btnInner::before {
    right: 0;
    opacity: 1;
}

@media screen and (max-width: 799px){

    .aboutTop .left {
        width: 100%;
        min-height: 199px;
        height: 53.06666666666666vw;
        order: 2;
    }

    .aboutTop .right {
        width: 100%;
        order: 1;
    }

}

@media screen and (max-width: 599px){

    .aboutTop {
        padding-top: 53px;
    }

    .aboutTopInner {
        width: calc(100% - 72px);
    }

    .aboutTop .left {
        padding: 0 0 20px 031px;
    }

    .aboutTop .left::before {
        width: calc(100% - 31px);
        height: calc(100% - 20px);
        border-radius: 6px;
    }

    .aboutTop .left img {
        border-radius: 6px;
    }

    .aboutTop .right .sectionTitle {
        margin-bottom: 29px;
    }

    .aboutBtn1 a {
        padding: 12.5px 60px 12.5px 10px;
    }

    .aboutBtn1 a::before {
        width: 34px;
        height: 34px;
    }

    .aboutBtn1 a::after,
    .aboutBtn1 a:hover::after {
        right: 20px;
    }

    .aboutBtn1 a .btnInner {
        font-size: 18px;
    }

    .aboutBtn1 a .btnInner::before {
        display: none;
    }

}

/*pagination*/
.pagination {
    margin-top: 72px;
}

.pagination .flex {
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
}

.pagination .button a {
    width: 8.49px;
    height: 16.97px;
    margin: 0 auto;
    transition: .2s;
}

.pagination .button.prev a {
    background: url(../img/common/pagination-prev.svg) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.prev a:hover {
    background-image: url(../img/common/pagination-prev-hover.svg);
}

.pagination .button.next a {
    background: url(../img/common/pagination-next.svg) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.next a:hover {
    background-image: url(../img/common/pagination-next-hover.svg);
}

.pagination .num a {
    font-weight: 400;
    width: 40px;
    height: 40px;
    text-align: center;
    border: 2px solid #CCCCCC;
    padding-top: 4px;
    color: #333;
    transition: .2s;
    background-color: #fff;
}

.pagination .num a:hover {
    border: 2px solid #0B54C8;
    color: #0B54C8;
}

.pagination .num.active span {
    display: inline-block;
    width: 40px;
    height: 40px;
    text-align: center;
    border: 2px solid #0B54C8;
    padding-top: 4px;
    color: #fff;
    background: #0B54C8;
    font-weight: 700;
    line-height: 30px;
    /* 縦位置をaタグと合わせる */
}

@media screen and (max-width: 599px){

    .pagination {
        width: 100%;
        margin-top: 50px;
        max-width: 240px;
    }

    .pagination .button {
        width: 100%;
    }

}

/*newsList*/
.newsList a {
    position: relative;
    padding: 28px 72px 28px 29px;
    transition: .2s;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #CCCCCC;
    background: url(../img/common/icon-right-arrow-blue.svg) no-repeat  center right 25px;
    background-size: 14px;
}

.newsTop .newsList a {
    padding: 13.5px 50px 13.5px 10px;
}

.newsList a:hover {
    background-position: center right 19px;
}

.newsList a:first-child {
    border-top: 1px solid #CCCCCC;
}

.newsList .date {
    margin-right: 30px;
}

.newsList .title {
    font-size: 18px;
    font-weight: 500;
    transition: .2s;
}

.newsList a:hover .title {
    color: #0B54C8;
}

@media screen and (max-width: 599px){

    .newsList a,
    .newsList a:hover {
        padding: 15px 35px 15px 10px;
        background-position: center right 10px;
    }

    .newsTop .newsList a {
        padding: 7.5px 35px 7.5px 10px;
    }

    .newsList .date {
        font-size: 14px;
        margin-right: 0;
        width: 100%;
    }

    .newsList .title {
        font-size: 15px;
        width: 100%;
    }

}

/*newsTop*/
.newsTop {
    position: relative;
    padding: 58px 0 60px 0;
    margin-top: -12.857142857142856vw;
}

.newsTop::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: calc(100% - 7.14285714%);
    background-color: rgba(216, 231, 255, .5);
    backdrop-filter: blur(20px);
    border-radius: 10px 0 0 10px;
    z-index: 2;
}

.newsTop::after {
    content: "";
    position: absolute;
    top: 12.857142857142856vw;
    right: 0;
    height: 100%;
    width: 100%;
    background-color: #fff;
    z-index: 1;
}

.newsTop .newsTopInner {
    position: relative;
    row-gap: 18px;
    width: calc(100% - 326px);
    z-index: 3;
}

.newsTop .newsTopInner .left {
    width: 155px;
}

.newsTop .newsTopInner .left .sectionTitle {
    margin-bottom: 32px;
}

.newsTop .newsTopInner .right {
    width: calc(100% - 155px);
    padding-left: 8.5046729%;
}

@media screen and (max-width: 1023px){

    .newsTop::before {
        width: calc(100% - 40px);
    }

    .newsTop .newsTopInner {
        width: calc(100% - 206px);
    }

}

@media screen and (max-width: 799px){

    .newsTop .newsTopInner .left {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .newsTop .newsTopInner .left .sectionTitle {
        margin-bottom: 0;
    }

    .newsTop .newsTopInner .left .modBtn4 {
        margin-top: 22px;
    }

    .newsTop .newsTopInner .right {
        width: 100%;
        padding-left: 0;
    }

}

@media screen and (max-width: 599px){

    .newsTop {
        padding: 23px 0 29px 0;
        margin-top: -164px;
    }

    .newsTop::before {
        width: calc(100% - 16px);
    }

    .newsTop::after {
        top: 164px;
    }

    .newsTop .newsTopInner {
        width: calc(100% - 58px);
        padding-left: 15px;
    }


}

/*pageWorks*/
.pageWorksFlex {
    row-gap: 32px;
    max-width: 994px;
}

.pageWorksFlex .left {
    width: calc(100% - 273px);
    padding-right: min(104px,7.428571428571429vw);
}

.pageWorksFlex .left .worksList {
    column-gap: min(72px,5.142857142857142vw);
    row-gap: 48px;
}

.pageWorksFlex .left .worksList .box {
    width: calc(100% / 2 - min(36px,2.571428571428571vw));
}

.pageWorksFlex .worksSide {
    width: 273px;
}

.worksSide .title {
    padding-left: 4px;
    background-color: #D8E7FF;
    border-radius: 10px;
    padding: 13px 15px;
    color: #0B54C8;
}

.worksSide .title .en {
    position: relative;
    font-family: "Roboto", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 40px;
    display: inline-block;
    padding-right: 15px;
    margin-right: 10px;
    border-right: 1px solid #CCCCCC;
}

.worksSide .title .ja {
    font-size: 13px;
    font-weight: 500;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 7px;
}

.worksCategoryList li a {
    position: relative;
    padding: 17px 34px;
    border-bottom: 1px solid #CCCCCC;
    transition: .2s;
    cursor: pointer;
}

.worksCategoryList li a:hover {
    color: #0B54C8;
}

.worksCategoryList li a::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 10px;
    width: 16px;
    height: 1px;
    background-color: #0B54C8;
    transition: .2s;
}

.worksCategoryList li a:hover::before {
    background-color: #A5A5A5;
}

@media screen and (max-width: 899px){

    .pageWorksFlex .left {
        width: 100%;
        padding-right: 0;
        order: 2;
    }

    .pageWorksFlex .left .worksList .box {
        width: calc(100% / 2 - min(36px,2.571428571428571vw));
    }

    .pageWorksFlex .worksSide {
        width: 100%;
        order: 1;
    }

    .worksSide .title,
    .worksCategoryList li a::before {
        display: none;
    }

    .worksCategoryList {
        display: flex;
        flex-wrap: wrap;
        column-gap: 16px;
        row-gap: 16px;
    }

    .worksCategoryList li {
        width: calc(50% - 8px);
    }

    .worksCategoryList li a {
        padding: 9px;
        border: 1px solid #7BAEFF;
        border-radius: 10px;
        text-align: center;
    }

}

@media screen and (max-width: 599px){

    .pageWorksFlex .left .worksList {
        row-gap: 0;
    }

    .pageWorksFlex .left .worksList .box {
        width: 100%;
    }

}

/*worksBanner*/
.worksBanner {
    position: relative;
    margin-top: 88px;
    padding: 47px 41px 44px 41px;
    overflow: hidden;
    border-radius: 10px;
}

.worksBanner::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    transform-origin: left top;
    margin: auto;
    width: 100%;
    height: 100%;
    background: url(../img/common/works-banner.jpg) no-repeat center;
    background-size: cover;
    transition: .3s;
}

.worksBanner:hover::before {
    transform: scale(1.039235412) translateY(-50%) translateX(-50%);
}

.worksBanner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(19, 19, 19, .7);
    transition: .2s;
}

.worksBanner:hover::after {
    background-color: rgba(19, 19, 19, .8);
}

.worksBanner .title {
    position: relative;
    color: #fff;
    margin-bottom: 16px;
    z-index: 1;
}

.worksBanner .cm {
    position: relative;
    font-size: 16px;
    line-height: 1.8125;
    color: #fff;
    z-index: 1;
}

.worksBanner .modBtn4 {
    position: absolute;
    bottom: 21px;
    right: 27px;
    display: inline-block;
    font-weight: 700;
    color: #fff;
    padding: 6px 47px 6px 0;
    z-index: 1;
}

.worksBanner .modBtn4::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin: auto;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background-color: #fff;
    border: 1px solid #0B54C8;
    transition: .2s;
}

.worksBanner:hover .modBtn4::before {
    background-color: #0B54C8;
}

.worksBanner .modBtn4::after {
    content: "";
    position: absolute;
    top: 17px;
    right: 13px;
    height: 8px;
    width: 14px;
    background: url(../img/common/icon-right-arrow-blue.svg) no-repeat center;
    background-size: cover;
    transition: .2s;
}

.worksBanner:hover .modBtn4::after {
    right: 10px;
    background-image: url(../img/common/icon-right-arrow-white.svg);
}

@media screen and (max-width: 1023px){

    .worksBanner:hover .modBtn4::before {
        background-color: #fff;
    }

    .worksBanner:hover .modBtn4::after {
        right: 13px;
        background-image: url(../img/common/icon-right-arrow-blue.svg);
    }

}

@media screen and (max-width: 899px){

    .worksBanner {
        padding: 47px 41px 86px 41px;
    }

}

@media screen and (max-width: 599px){

    .worksBanner {
        margin-top: 56px;
        padding: 25px 22px 86px 22px;
    }

    .worksBanner::before {
        background-image: url(../img/common/works-banner-sp.jpg);
    }

    .worksBanner .modBtn4 {
        right: 22px;
    }

}

/*privacySection*/
.privacySection .section {
    margin: 45px 0;
}

.privacySection .section:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 599px){

    .privacySection .section {
        margin: 27px 0;
    }

}

/*pageFaq*/
ul.faqBtnList {
    column-gap: 36px;
    row-gap: 11px;
    max-width: 952px;
    margin-bottom: 61px;
}

.faqBtnList li {
    width: calc(100% / 4 - 27px);
    max-width: 100%;
}

.pageFaq .faqList .box {
    margin-bottom: 24px;
}

.pageFaq .faqList .box:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 1023px){

    ul.faqBtnList {
        column-gap: 11px;
    }

    .faqBtnList li {
        width: calc(100% / 4 - 9px);
    }

}

@media screen and (max-width: 799px){

    ul.faqBtnList {
        column-gap: 11px;
    }

    .faqBtnList li {
        width: calc(100% / 2 - 6px);
    }

}

@media screen and (max-width: 599px){

    ul.faqBtnList {
        margin-bottom: 32px;
    }

    .pageFaq .h2 {
        margin-bottom: 37px;
    }

    .pageFaq .faqList .box {
        margin-bottom: 16px;
    }

}

/*pageContact*/
.contactTop {
    max-width: 790px;
    margin-bottom: 81px;
    background-color: #F2F7FF;
    border-radius: 10px;
    padding: 42px;
    text-align: center;
}

.contactTop .title {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 32px;
}

.contactTop .flex {
    align-items: center;
    justify-content: center;
    row-gap: 12px;
}

.contactTop .flex .tel {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
    color: #0B54C8;
    border-right: 1px solid #CCCCCC;
    padding: 0 40px 0 38px;
    background: url(../img/common/icon-tel2.svg) no-repeat top 21px left;
    background-size: 28.25px; 
    display: inline-block;
}

.contactTop .flex .open {
    font-size: 18px;
    padding-left: 40px;
}

@media screen and (max-width: 799px){

    .contactTop .title {
        margin-bottom: 20px;
    }

    .contactTop .flex {
        flex-direction: column;
    }

    .contactTop .flex .tel {
        border-right: none;
        padding: 0 0 0 38px;
    }

    .contactTop .flex .open {
        padding-left: 0;
    }

}

@media screen and (max-width: 599px){

    .pageContact .h2 {
        margin-bottom: 37px;
    }

    .contactTop {
        margin-bottom: 48px;
        padding: 23px 23px 19px;
    }

    .contactTop .title {
        font-size: 18px;
    }

    .contactTop .flex .tel {
        font-size: 32px;
        padding: 0 0 0 27px;
        background-position: top 18px left;
        background-size: 22.38px; 
    }

    .contactTop .flex .open {
        font-size: 15px;
    }

}

/*form*/
.form {
    max-width: 902px;
    margin: 0 auto;
}

.form .box {
    margin-bottom: 19px;
    align-items: center;
}

.form .box9 {
    align-items: flex-start;
}

.form .box label {
    width: 242px;
    font-size: 20px;
    font-weight: 700;
    padding-right: 10px;
}

.form .box label .red {
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    width: 50px;
    height: 25px;
    line-height: 25px;
    border-radius: 2px;
    background-color: #F4F4F4;
    color: #DB2356;
    display: inline-block;
    margin: 7px 0 0 12px;
    vertical-align: top;
}

.form .box input,
.form .box textarea,
.form .box select {
    -webkit-appearance: none;
    appearance: none;
    width: calc(100% - 242px);
    border: 1px solid #7C7C7C;
    padding: 10px 20px;
    font-weight: 400;
}

.form input::placeholder {
    font-size: 16px;
    color: #666; /* 好きな色に変更 */
    opacity: 1; /* 透明度を確保 */
}
  
.form select option:first-child {
    color: #666; /* 好きな色に変更 */
}
  
.form select {
    color: #666; /* 通常の選択肢の色 */
}
  
.form .box textarea {
    min-height: 180px;
}

.form .box2 input {
    max-width: 300px;
}

.form .box3 select {
    max-width: 340px;
    background: url(../img/contact/arrow.jpg) no-repeat top right;
    background-size: auto 100%;
    appearance: none;
    cursor: pointer;
}

.form .img {
    margin: 48px auto 45px auto;
    text-align: center;
    font-weight: 400;
}

.form .img img {
    width: 210px;
    margin: 0 auto 8px auto;
}

.form .img input {
    width: 220px;
    border: 1px solid #7C7C7C;
    padding: 9px;
    margin-bottom: 5px;
}

.form .policy {
    margin-bottom: 42px;
    text-align: center;
}

.form .policy .scroll {
    max-width: 509px;
    height: 228px;
    overflow-y: scroll;
    overflow-x: hidden;
    margin: 0 auto 16px auto;
    border: 1px solid #B3B3B3;
    padding: 17px 37px 19px 34px;
    font-size: 15px;
    font-weight: 400;
    text-align: left;
}
  
.form .policy input[type="checkbox"] {
    display: none;
}

.form .policy label {
    display: flex;
    align-items: center;
    cursor: pointer;
    justify-content: center;
    font-weight: 400;
}
  
.form .policy .check-icon {
    width: 20px;
    height: 20px;
    background: url(../img/contact/check-no.jpg) no-repeat center left;
    background-size: auto 100%;
    margin: 2px 6px 0 0;
}
  
.form .policy input[type="checkbox"]:checked + .check-icon {
    background: url(../img/contact/check.jpg) no-repeat center left;
    background-size: auto 100%;
}

/*policy*/
.policy .title {
    font-size: 18px;
    margin-bottom: 24px;
}

.policy .section {
    margin: 2em 0;
}

.policy .section:last-child {
    margin-bottom: 0;
}

/*formBtn*/
.formBtn .modBtn5 {
    margin: 0 auto 32px auto;
    max-width: 264px;
}

.formBtn .modBtn5 button {
    cursor: pointer;
    height: 60px;
}

.formBtn .returnBtn {
    margin: 0 auto;
    max-width: 211px;
}

.formBtn .returnBtn button {
    height: 40px;
    background-color: #A5A5A5;
    border: 1px solid #A5A5A5;
}

.formBtn .returnBtn button:hover {
    background-color: #F2F7FF;
    border: 1px solid #A5A5A5;
    background-image: url(../img/common/icon-right-gray.svg);
}

.formBtn .returnBtn button:hover .btnInner {
    color: #131313;
}

@media screen and (max-width: 799px){

    .form .box {
        margin-bottom: 18px;
    }

    .form .box label {
        width: 100%;
        margin-bottom: 10px;
    }
    
    .form .box input,
    .form .box textarea,
    .form .box select {
        width: 100%;
        padding: 9px 18px;
    }

    .form .box2 {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-self: flex-start;
        align-items: flex-start;
    }
    
    .form .box2 input,
    .form .box3 select {
        max-width: 100%;
    }
    
    .form .policy .scroll {
        max-width: 100%;
        height: 250px;
        padding: 15px 35px 15px 16px;
        margin: 0 auto 13px auto;
    }

}

@media screen and (max-width: 599px){
    
    .form .box label {
        font-size: 16px;
    }

    .form .box label .red {
        margin: 2px 0 0 12px;
    }

    .form .img {
        margin: 32px auto;
    }

    .form .policy {
        margin: 32px 0 48px 0;
    }

}

/*pageSingle*/
.pageSingle .pageSingleTitle {
    margin: 12px 0 48px 0;
}

.pageSingle .mainImg {
    max-width: 730px;
    max-height: 510px;
    height: 62.96296296296296vw;
    margin: 0 auto 48px auto;
}

.pageSingle .mainImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.pageSingleSection {
    margin-bottom: 43px;
}

.pageSingle .modBtn4 {
    margin-top: 44px;
    text-align: center;
}

.pageSingle .table {
    margin: 48px 0;
}

.flexBox {
    column-gap: 18px;
    row-gap: 24px;
}

.flexBox .img {
    width: calc(100% / 3 - 12px);
    border-radius: 10px;
    overflow: hidden;
    max-height: 224px;
    height: 18.91891891891892vw;
}

@media screen and (max-width: 599px){

    .pageSingle .pageSingleTitle {
        margin: 16px 0 32px 0;
    }

    .pageSingle .mainImg {
        min-height: 240px;
        max-height: 100%;
        height: 64vw;
        margin: 0 auto 32px auto;
    }

    .pageSingleSection {
        margin-bottom: 26px;
    }

    .pageSingle .table {
        margin: 32px 0 48px 0;
    }

    .flexBox .img {
        width: 100%;
        max-height: 100%;
        min-height: 212px;
        height: 56.53333333333334vw;
    }

}

/*accessSection*/
.accessSection {
    column-gap: 60px;
    row-gap: 44px;
    padding: 0 30px;
}

.accessSection .section1 {
    width: 100%;
}

.accessSection .title {
    font-size: 27px;
    font-weight: 700;
    line-height: 1.629629629;
}

.accessSection .info {
    position: relative;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.46666667;
    margin: 10px 0 24px 0;
    padding-left: 12px;
}

.accessSection .info::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 4px;
    width: 1px;
    height: calc(100% - 8px);
    background-color: #707070;
}

@media screen and (max-width: 599px){

    .accessSection {
        row-gap: 32px;
        flex-direction: column;
        padding: 0;
    }

    .accessSection .title {
        font-size: 20px;
    }

    .accessSection .info {
        margin: 8px 0 14px 0;
    }

}

/*aboutList*/
.aboutList {
    margin-top: 88px;
    column-gap: 36px;
    row-gap: 20px;
    max-width: 860px;
}

.aboutList .box {
    position: relative;
    width: calc(50% - 18px);
    border: 2px solid #0B54C8;
    border-radius: 10px;
    padding: 33px 14px 16px 14px;
}

.aboutList .box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(#fff, #BFD8FF);
    opacity: 1;
    transition: .3s;
    border-radius: 8px;
}

.aboutList .box:hover::before {
    opacity: 0;
}

.aboutList .box::after {
    content: "";
    position: absolute;
    top: 0;
    left: -2px;
    width: 10px;
    height: 100%;
    background-color: #0B54C8;
    border-radius: 9px 0 0 9px;
}

.aboutList .box .title {
    position: relative;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.466666666;
    text-align: center;
    color: #0B54C8;
    margin-bottom: 19px;
}

.aboutList .box .more {
    position: relative;
    font-size: 15px;
    font-weight: 700;
    line-height: 24px;
    text-align: right;
    padding-right: 30px;
    background: url(../img/common/icon-more.svg) no-repeat center right;
    background-size: 24px;
    color: #0B54C8;
    transition: .2s;
}

.aboutList .box:hover .more {
    background-image: url(../img/common/icon-more-hover.svg);
}

@media screen and (max-width: 1023px){

    .aboutList .box:hover::before {
        opacity: 1;
    }

    .aboutList .box:hover .more {
        background-image: url(../img/common/icon-more.svg);
    }

}

@media screen and (max-width: 799px){

    .aboutList {
        max-width: 412px;
    }

    .aboutList .box {
        width: 100%;
    }
}

@media screen and (max-width: 599px){

    .aboutList {
        margin-top: 58px;
    }

    .aboutList .box {
        border-radius: 6px;
        padding: 17px 10px 10px 10px;
    }

    .aboutList .box::before {
        border-radius: 4px;
    }

    .aboutList .box::after {
        width: 6px;
        border-radius: 4px 0 0 4px;
    }

    .aboutList .box .title {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .aboutList .box .more {
        font-size: 13px;
        padding-right: 32px;
    }

}

/*message*/
.messageName {
    font-size: 24px;
    font-weight: 700;
    text-align: right;
    margin-top: 18px;
}

.messageName .small {
    font-size: 16px;
    margin-right: 13px;
    display: inline-block;
}

@media screen and (max-width: 599px){

    .messageName {
        font-size: 20px;
        margin-top: 16px;
    }

    .messageName .small {
        font-size: 15px;
        margin-right: 18px;
    }

}

/*hr*/
.hr {
    margin: 60px auto;
    background-color: #C8C8C8;
}

@media screen and (max-width: 599px){

    .hr {
        margin: 36px auto;
    }

}

/*pageSectionTop*/
.pageSectionTop {
    row-gap: 21px;
    justify-content: space-between;
}

.pageSectionTop .text {
    width: 37.8269617%;
}

.pageSectionTop .text .title {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.4;
    color: #0B54C8;
    margin-bottom: 32px;
}

.pageSectionTop .img {
    position: relative;
    width: 54.9295774%;
    max-height: 304px;
    height: 30.58350100603622vw;
}

.pageSectionTop .img::before {
    content: "";
    position: absolute;
    top: 23px;
    right: 20px;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(#fff, #BFD8FF);
}

.pageSectionTop .img img {
    position: relative;
    border-radius: 10px;
}

@media screen and (max-width: 799px){

    .pageSectionTop {
        justify-content: center;
    }

    .pageSectionTop .text {
        width: 100%;
    }

    .pageSectionTop .img {
        width: 100%;
        max-width: 546px;
        height: 48vw;
    }

}

@media screen and (max-width: 599px){

    .pageSectionTop {
        margin-bottom: 57px;
    }

    .pageSectionTop .text .title {
        font-size: 22px;
        margin-bottom: 16px;
    }

    .pageSectionTop .img {
        max-height: 100%;
        min-height: 169px;
        height: 45.06666666666666vw;
    }

    .pageSectionTop .img::before {
        top: 11px;
        right: 12px;
        border-radius: 6px;
    }

    .pageSectionTop .img img {
        border-radius: 6px;
    }

}

/*pageSupportSection*/
.pageSupportSection {
    margin-bottom: 60px;
}

.pageSupportSection ul.list {
    margin: 18px 0;
}

.supportBox {
    position: relative;
    border: 1px solid #0B54C8;
    padding: 70px 40px 70px 43px;
    background: url(../img/top/hougan.jpg) no-repeat center;
    background-size: cover;
    row-gap: 15px;
    align-items: center;
}

.supportBox::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 136px;
    height: 256px;
    background: url(../img/common/txt-treat-2.svg) no-repeat center;
    background-size: cover;
    mix-blend-mode: multiply;
}

.supportBox .title {
    position: relative;
    width: 413px;
    font-size: 25px;
    font-weight: 700;
    color: #0B54C8;
    text-align: right;
}

.supportBox .title .mark {
    display: inline-block;
    padding: 0 5px;
    background-color: #0B54C8;
    color: #fff;
    margin-right: 10px;
}

.supportBox .title .kai {
    margin-right: 33px;
}

.supportBox p {
    position: relative;
    width: calc(100% - 413px);
    padding-left: 37px;
}

@media screen and (max-width: 899px){

    .supportBox {
        justify-content: center;
    }

    .supportBox p {
        width: 100%;
        padding-left: 0;
    }

}

@media screen and (max-width: 599px){

    .pageSupportSection {
        margin-bottom: 32px;
    }

    .pageSupportSection ul.list {
        margin: 10px 0;
    }

    .supportBox {
        padding: 19px 18px 30px 21px;
        margin-top: 40px;
    }

    .supportBox::before {
        top: auto;
        bottom: 0;
        left: auto;
        right: 8px;
        width: 179.55px;
        height: 95.39px;
        background-image: url(../img/common/txt-treat-3.svg);
    }

    .supportBox .title {
        max-width: 257px;
        font-size: 20px;
        text-align: left;
        margin: 0 7px;    
        line-height: 1.4;
    }

    .supportBox .title .mark {
        margin: 0 -7px;    
        display: block;
        text-align: center;
        line-height: 1.8;
        margin-bottom: 5px;
    }

    .supportBox .title .kai {
        margin-right: 0;
    }

}

/*pageBusiness*/
.pageBusinessTopText {
    margin-bottom: 60px;
}

.pageBusinessSection {
    row-gap: 43px;
    justify-content: space-between;
}

.pageBusinessSection .text {
    width: 58.5365853%;
}

.pageBusinessSection .text .modBtn4 {
    text-align: right;
    margin-top: 24px;
}

.pageBusinessSection .img {
    position: relative;
    width: 35.8348968%;
    max-height: 205px;
    height: 16.26984126984127vw;
    padding-left: 14px;
}

.pageBusinessSection .img::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 0;
    width: calc(100% - 12px);
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(#fff, #BFD8FF);
}

.pageBusinessSection .img img {
    position: relative;
    border-radius: 10px;
}

@media screen and (max-width: 899px){

    .pageBusinessSection .text {
        width: 100%;
    }

    .pageBusinessSection .text .modBtn4 {
        text-align: right;
        margin-top: 24px;
    }

    .pageBusinessSection .img {
        width: 100%;
        max-height: 100%;
        height: 50vw;
    }

}

@media screen and (max-width: 599px){

    .pageBusinessTopText {
        margin-bottom: 40px;
    }

    .pageBusinessSection .img {
        min-height: 169px;
        height: 45.06666666666666vw;
        padding-left: 0;
    }

    .pageBusinessSection .img::before {
        top: 11px;
        left: auto;
        right: 12px;
        width: 100%;
        border-radius: 6px;
    }

    .pageBusinessSection .img img {
        border-radius: 6px;
    }

}

/*featureSection*/
.featureSection .numTitle {
    padding-left: 90px;
}

.featureSection .num {
    position: absolute;
    top: 8px;
    left: 25px;
    font-family: "Roboto", sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
    padding-right: 10px;
    text-align: center;
}

.featureSection .num::before {
    content: "";
    position: absolute;
    top: 4px;
    right: 0;
    width: 1px;
    height: calc(100% - 8px);
    background-color: #A5A5A5;
}

.featureSectionFlex {
    row-gap: 30px;
    justify-content: space-between;
    margin-bottom: 53px;
}

.featureSectionFlex .text {
    width: 55.3985872%;
}

.featureSectionFlex .img {
    position: relative;
    width: 38.5469223%;
    max-height: 205px;
    height: 16.26984126984127vw;
    padding-left: 14px;
}

.featureSectionFlex .img::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 0;
    width: calc(100% - 12px);
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(#fff, #BFD8FF);
}

.featureSectionFlex .img img {
    position: relative;
    border-radius: 10px;
}

@media screen and (max-width: 899px){

    .featureSectionFlex .text {
        width: 100%;
    }

    .featureSectionFlex .img {
        width: 100%;
        max-height: 100%;
        min-height: 162px;
        height: 49.269841vw;
    }

}

@media screen and (max-width: 599px){

    .featureSection .numTitle {
        padding-left: 49px;
    }

    .featureSection .num {
        top: 7.5px;
        left: 10px;
        font-size: 22px;
        padding-right: 7px;
    }

    .featureSection .num::before {
        top: 1px;
        height: calc(100% - 2px);
    }
    
    .featureSectionFlex {
        margin-bottom: 16px;
    }

    .featureSectionFlex .img {
        padding-left: 11px;
        height: 43.2vw;
    }

    .featureSectionFlex .img::before {
        top: 11px;
        width: calc(100% - 9px);
        border-radius: 6px;
    }

    .featureSectionFlex .img img {
        border-radius: 6px;
    }

}

/*bgBox*/
.bgBox {
    padding: 24px 30px;
    border-radius: 10px;
    background-color: #F4F2F2;
    margin-bottom: 36px;
    margin-top: 36px;
}

.bgBox1 {
    padding: 32px 35px;
    margin-top: 32px;
    margin-bottom: 60px;
}

@media screen and (max-width: 599px){

    .bgBox {
        padding: 18px 22px;
        border-radius: 6px;
        margin-bottom: 26px;
        margin-top: 16px;
    }

    .bgBox1 {
        padding: 24px 21px;
        margin-bottom: 46px;
    }

}

/*deliveryBox*/
.deliveryBox {
    justify-content: space-between;
    row-gap: 32px;
}

.deliveryBox2 {
    justify-content: flex-start;
    column-gap: 24px;
    margin-top: 24px;
}

.deliveryBox .box {
    width: 46.3242698%;
}

.deliveryBox1 .box {
    width: 100%;
}

.deliveryBox2 .box {
    width: calc(100% / 3 - 16px);
}

.deliveryBox2 .box .img {
    height: 14.213197969543149vw;
    max-height: 168px;
    border-radius: 6px;
    overflow: hidden;
}

.deliveryBox2 .box .title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    padding: 12px 0;
    margin-bottom: 8px;
    border-bottom: 1px solid #C8C8C8;
}

.deliveryBox .box2 {
    column-gap: 24px;
    width: calc(100% - 100% / 3 - 4px * 2);
    height: 100%;
}

.deliveryBox .box2 .img {
    width: calc(50% - 12px);
}

.deliveryBox .box2 .title,
.deliveryBox .box2 p {
    width: 100%;
}

.deliveryBox2 .box p {
    font-size: 15px;
}

@media screen and (max-width: 799px){

    .deliveryBox2 .box {
        width: 100%;
    }

    .deliveryBox2 .box .img {
        height: 47.213198vw;
        max-height: 100%;
        min-height: 150px;
    }

    .deliveryBox .box2 .img {
        width: 100%;
    }

    .deliveryBox .box2 .img:first-child {
        margin-bottom: 12px;
    }

}

@media screen and (max-width: 599px){

    .deliveryBox {
        row-gap: 24px;
    }

    .deliveryBox2 {
        margin-top: 16px;
    }

    .deliveryBox .box {
        width: 100%;
    }

    .deliveryBox2 .box .img {
        height: 40vw;
    }

}

/*worksTopPage*/
.worksTopPage {
    padding-top: 0;
    margin-top: 0;
}

.worksTopPage::after {
    display: none;
}

.worksTopPage .modBtn4 {
    text-align: center;
    margin-top: 35px;
}

/*pageBusinessTable*/
.pageBusinessTable {
    margin-bottom: 48px;
}

@media screen and (max-width: 599px){

    .pageBusinessTable {
        margin-bottom: 26px;
    }

}

/*deliveryExampleBox*/
.deliveryExampleBox {
    margin-top: 48px;
}

@media screen and (max-width: 599px){

    .deliveryExampleBox {
        margin-top: 26px;
    }

}

body.front {
    margin-top: 0 !important;
}

/* 業務実績の 「記事がありません」 の 調整 */
.works-inner {
    max-width: 1070px;
    width: calc(100% - 100px);
    margin: 0 auto;
    box-sizing: border-box;
}

@media screen and (max-width: 1023px) {

    .works-inner {
        width: calc(100% - 80px);
    }
}

@media screen and (max-width: 799px) {
    .works-inner {
        width: calc(100% - 40px);
    }
}

@media screen and (max-width: 599px) {

    .works-inner {
        width: calc(100% - 40px);
    }
}