@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");

.roboto {
    font-family: "Roboto", sans-serif;
}

.bold {
    font-weight: bold;
}

html {
    font-size: 10px;
}

@media (max-width: 1400px) and (min-width: 1200.5px) {
    html {
        font-size: 0.714vw;
    }
}

@media (max-width: 1200px) and (min-width: 960.5px) {
    html {
        font-size: 0.801vw;
    }
}

@media (max-width: 960px) and (min-width: 750.5px) {
    html {
        font-size: 1vw;
    }
}

@media (max-width: 750px) {
    html {
        font-size: 1.333vw;
    }
}

*,
:after,
:before {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 175%;
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
}

a,
button {
    color: inherit;
    text-decoration: none;
    -webkit-transition: ease all 0.5s;
    -moz-transition: ease all 0.5s;
    -ms-transition: ease all 0.5s;
    -o-transition: ease all 0.5s;
    transition: ease all 0.5s;
}

.anchor_fixtop {
    display: block;
    position: relative;
    top: -15rem;
    width: 100%;
    visibility: hidden;
}

.txt__center {
    text-align: center;
}

.txt__default.v-02 {
    font-size: 3rem;
}

.txt__default,
.txt__default * {
    font-size: 2rem;
    line-height: 175%;
    letter-spacing: -1.1px;
}

@media (max-width: 960px) and (min-width: 750.5px) {

    .txt__default,
    .txt__default * {
        font-size: 2rem;
    }
}

@media (max-width: 750.5px) and (min-width: 380.5px) {

    .txt__default,
    .txt__default * {
        font-size: 2.52rem;
    }
}

@media (max-width: 380.5px) {

    .txt__default,
    .txt__default * {
        font-size: 13px;
    }
}

.grid-400 {
    max-width: 430px;
}

.grid-860 {
    max-width: 890px;
}

.grid-960 {
    max-width: 990px;
}

.grid-1000 {
    max-width: 1030px;
}

.grid-1020 {
    max-width: 1050px;
}

.grid-1100 {
    max-width: 1130px;
}

.grid-1174 {
    max-width: 1205px;
}

.grid-1200 {
    max-width: 1230px;
}

.grid-1300 {
    max-width: 1330px;
}

.grid-1352 {
    max-width: 1382px;
}

.grid-1440 {
    max-width: 1470px;
}

.grid-1450 {
    max-width: 1480px;
}

.grid-1488 {
    max-width: 1518px;
}

.grid-1500 {
    max-width: 1530px;
}

.grid-1540 {
    max-width: 1570px;
}

.grid-1600 {
    max-width: 1630px;
}

.grid-1635 {
    max-width: 1665px;
}

.grid-1700 {
    max-width: 1730px;
}

.grid-1798 {
    max-width: 1828px;
}

.grid-1830 {
    max-width: 1860px;
}

.background__white {
    background: #ffffff;
}

.txt__white {
    color: #ffffff !important;
}

.pagetop {
    position: fixed;
    bottom: 35px;
    right: 15px;
    opacity: 0;
    border-radius: 100%;
    cursor: pointer;
    outline: none;
    z-index: 50;
    border: 0;
}

.pagetop:hover .pagetop--circle::before {
    background: radial-gradient(circle at 40% 55%, transparent 0rem, transparent 0px), radial-gradient(circle at 50% 42.5%, transparent 0rem, transparent 0px), radial-gradient(circle at 60% 55%, transparent 0rem, transparent 0px);
    border: #ffffff;
    z-index: 2;
}

.pagetop:hover .pagetop--circle svg .cls-1 {
    fill: #ffffff;
}

.pagetop:hover .pagetop--circle::after {
    -webkit-transform: scale(1);
    transform: scale(1);
    z-index: 0;
}

.pagetop--circle {
    width: 8.5rem;
    height: 8.5rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.pagetop--circle::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    left: 0;
    top: 0;
    border-radius: 50%;
    background-color: #CCCCCC;
    z-index: 5;
}

.pagetop--circle::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #0071bc;
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    border-radius: 50%;
    -webkit-transform: scale(0);
    transform: scale(0);
    z-index: 0;
}

.pagetop--circle svg {
    width: 12px;
    height: 14px;
    position: relative;
    z-index: 5;
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
}

.pagetop--circle svg .cls-1 {
    fill: #0071bc;
}

.pagetop.show {
    opacity: 1;
}

.pagetop.fixed {
    position: fixed;
    top: auto;
    bottom: 30px;
}

@media (max-width: 960px) {
    .pagetop {
        bottom: 3rem;
    }

    .pagetop--circle {
        width: 6.5rem;
        height: 6.5rem;
    }
}

.wrap__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 6rem;
}

.wrap__title--02 span.en {
    border-bottom: 0 !important;
    position: relative;
}

.wrap__title--02 span.en::before,
.wrap__title--02 span.en::after {
    content: "";
    position: absolute;
    width: 6.7rem;
    height: 0.1rem;
    z-index: 0;
    background: #000000;
    bottom: 0;
}

.wrap__title--02 span.en::before {
    left: 0;
}

.wrap__title--02 span.en::after {
    right: 0;
}

.wrap__title--02 span.jp {
    background: transparent !important;
}

.wrap__title span {
    display: inline-flex;
}

.wrap__title span.en {
    color: #000000;
    font-size: 5rem;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    padding-bottom: 2rem;
    border-bottom: 1px solid #0071bc;
    text-transform: uppercase;
}

.wrap__title span.jp {
    margin-top: -1.1rem;
    padding: 0 10px;
    background: #ffffff;
    line-height: 100%;
    font-size: 1.8rem;
}

@media (max-width: 600px) {
    .wrap__title span.en {
        font-size: 6rem;
    }

    .wrap__title span.jp {
        margin-top: -1.7rem;
        font-size: 2.8rem;
    }
}

.wrap__btn {
    margin-top: 6rem;
}

.wrap__btn--link {
    padding: 1.05rem;
    margin-left: auto;
    margin-right: auto;
    color: #ffffff;
    text-align: center;
    position: relative;
    z-index: 0;
    overflow: hidden;
    border-radius: 6px;
}

.btn__hover {
    background: linear-gradient(to right, #00b8ee 61.0489%, #0068b6 100%);
}

.group_banner {
    width: 100%;
    height: 57.4rem;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.group_banner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.group_banner .title_banner {
    flex-wrap: wrap;
    margin-bottom: 0;
    margin-top: 11.9rem;
}

.group_banner .title_banner > span {
    display: block;
    text-align: center;
    color: #ffffff;
    letter-spacing: 10px;
    line-height: 1.3;
}

.group_banner .title_banner > span:first-child {
    display: inline;
    font-size: 10rem;
    letter-spacing: 0.1rem;
}

.group_banner__box {
    position: relative;
    z-index: 1;
}

@media (max-width: 960px) {
    .group_banner .title_banner {
        margin-bottom: 0;
    }

    .group_banner .title_banner span {
        padding-bottom: 1rem;
    }

    .group_banner .title_banner span:first-child {
        font-size: 6rem;
        letter-spacing: 0.1rem;
    }

    .group_banner__box {
        padding-top: 2.3rem;
    }
}

.arrow {
    position: relative;
    border-style: solid solid none none;
    width: 1rem;
    height: 1rem;
    transform: rotate(-45deg);
    border-width: 0.2rem;
    border-color: #000000;
    z-index: 2;
}

.add_mgb .group_banner {
    margin-bottom: 12.6rem;
}

.add_mgb .footer {
    margin-top: 24.4rem;
}

.space__top {
    padding-top: 10rem;
}

.space__bottom {
    padding-bottom: 10rem;
}

@media (min-width: 1100px) {
    .wow_custom {
        opacity: 0;
        /* transform: translate3d(0, 100px, 0); */
    }

    .wow_custom.show {
        animation: fade_in_0 500ms 500ms ease-in-out;
        animation-fill-mode: forwards;
    }

    .wow_custom.show.wow_vz_02 {
        animation: fade_in_0 500ms 500ms linear;
        animation-fill-mode: forwards;
    }

    .wow_custom.show.wow_vz_03 {
        animation: fade_in_0 500ms 1000ms linear;
        animation-fill-mode: forwards;
    }

    .wow_custom.show.wow_vz_04 {
        animation: fade_in_0 500ms 1500ms linear;
        animation-fill-mode: forwards;
    }

    .wow_custom.show.wow_vz_05 {
        animation: fade_in_0 500ms 2000ms linear;
        animation-fill-mode: forwards;
    }

    @keyframes fade_in_0 {
        0% {
            opacity: 0;
            transform: translate3d(0, 100px, 0);
        }

        100% {
            opacity: 1;
            transform: translateZ(0);
        }
    }

    @keyframes fade_in_1 {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    @keyframes fade_in {
        0% {
            opacity: 0;
            position: relative;
            top: 100px;
        }

        100% {
            position: relative;
            top: 0px;
            opacity: 1;
        }
    }

    @keyframes fade_left {
        0% {
            opacity: 0;
            transform: translate3d(-100px, 0, 0);
        }

        100% {
            opacity: 1;
            transform: translateZ(0);
        }
    }

    @keyframes fade_right {
        0% {
            opacity: 0;
            transform: translate3d(100px, 0, 0);
        }

        100% {
            opacity: 1;
            transform: translateZ(0);
        }
    }

    [data-animation="fade-left"].show {
        animation: fade_left 500ms 1s ease-in-out;
        animation-fill-mode: forwards;
    }

    [data-animation="fade-right"].show {
        animation: fade_right 500ms 1s ease-in-out;
        animation-fill-mode: forwards;
    }

    [data-animation="fade-in"].show {
        animation: fade_in_1 500ms 0.3s ease-in-out;
        animation-fill-mode: forwards;
    }

    .wow_custom_no {
        opacity: 0;
        position: relative;
        z-index: 1;
    }
}

[class*="dflex"] {
    display: flex;
    flex-wrap: wrap;
}

[class*="aic"] {
    align-items: center;
}

[class*="aie"] {
    align-items: flex-end;
}

[class*="ais"] {
    align-items: flex-start;
}

[class*="jcc"] {
    justify-content: center;
}

[class*="jcsb"] {
    justify-content: space-between;
}

[class*="jcfe"] {
    justify-content: flex-end;
}

[class*="fcolumn"] {
    flex-flow: column;
}

a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}

@media (max-width: 1024px) {
    a[href^="tel:"] {
        cursor: pointer;
        pointer-events: all;
    }
}

[class*="grid"] {
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

body,
html {
    height: 100%;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
    overflow-clip-margin: inherit;
}

a,
button {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

input,
textarea,
button,
select {
    outline: none;
    resize: none;
}

.hv-o {
    transition: ease all 0.5s;
}

.hv-o:hover {
    opacity: 0.8;
}

.ho-main,
.os-main {
    overflow: hidden;
}

.os-y-hidden {
    overflow-y: hidden;
}

.os-section {
    position: relative;
}

.os-align-center {
    text-align: center;
}

.u-sp {
    display: none;
}

ul,
ol {
    list-style: none;
}

@media (max-width: 767px) {
    .u-pc {
        display: none;
    }

    .u-sp {
        display: block;
    }
}

.wow_custom {
    opacity: 0;
}

.wow_custom.show {
    animation: fade_in_0 500ms 500ms ease-in-out;
    animation-fill-mode: forwards;
}

.wow_custom.show.wow_vz_02 {
    animation: fade_in_0 500ms 500ms linear;
    animation-fill-mode: forwards;
}

.wow_custom.show.wow_vz_03 {
    animation: fade_in_0 500ms 1000ms linear;
    animation-fill-mode: forwards;
}

.wow_custom.show.wow_vz_04 {
    animation: fade_in_0 500ms 1500ms linear;
    animation-fill-mode: forwards;
}

.wow_custom.show.wow_vz_05 {
    animation: fade_in_0 500ms 2000ms linear;
    animation-fill-mode: forwards;
}

@keyframes fade_in_0 {
    0% {
        opacity: 0;
        transform: translate3d(0, 100px, 0);
    }

    100% {
        opacity: 1;
        transform: translateZ(0);
    }
}

@keyframes fade_in_1 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade_in {
    0% {
        opacity: 0;
        position: relative;
        top: 100px;
    }

    100% {
        position: relative;
        top: 0px;
        opacity: 1;
    }
}

@keyframes fade_left {
    0% {
        opacity: 0;
        transform: translate3d(-100px, 0, 0);
    }

    100% {
        opacity: 1;
        transform: translateZ(0);
    }
}

@keyframes fade_right {
    0% {
        opacity: 0;
        transform: translate3d(100px, 0, 0);
    }

    100% {
        opacity: 1;
        transform: translateZ(0);
    }
}

[data-animation="fade-left"].show {
    animation: fade_left 500ms 500ms ease-in-out;
    animation-fill-mode: forwards;
}

[data-animation="fade-right"].show {
    animation: fade_right 500ms 500ms ease-in-out;
    animation-fill-mode: forwards;
}

[data-animation="fade-in"].show {
    animation: fade_in_1 200ms 200ms ease-in-out;
    animation-fill-mode: forwards;
}

.wow_custom_no {
    opacity: 0;
    position: relative;
    z-index: 1;
}

.top__title:not(.space) {
    padding-bottom: 5rem;
}

.top__title span {
    display: block;
}

.top__title-en {
    color: #000000;
    font-size: 10rem;
    font-weight: bold;
    line-height: 100%;
    letter-spacing: 3.6px;
}

@media (max-width: 767.5px) {
    .top__title-en {
        font-size: 11.8rem;
    }
}

.top__title-ja {
    font-weight: bold;
    letter-spacing: 1px;
}

.top__button--link {
    color: #0071bc;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 160%;
    letter-spacing: -1.1px;
}

.top__button--link:hover .top__button--link--circle::before {
    border: #ffffff;
    z-index: 2;
}

.top__button--link:hover .top__button--link--circle::after {
    -webkit-transform: scale(1);
    transform: scale(1);
    z-index: 0;
}

.top__button--link:hover .top__button--link--circle svg .cls-1 {
    fill: #ffffff;
}

.top__button--link--circle {
    position: relative;
    margin-left: 3.2rem;
    display: block;
    width: 10.2rem;
    height: 10.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.top__button--link--circle svg {
    position: relative;
    z-index: 5;
    width: 12px;
    height: 14px;
}

.top__button--link--circle svg .cls-1 {
    fill: #0071bc;
}

.top__button--link--circle::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    border-radius: 50%;
    background-color: transparent;
    border: 1px solid #B3B3B3;
    z-index: 5;
}

.top__button--link--circle::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #0071bc;
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    border-radius: 50%;
    -webkit-transform: scale(0);
    transform: scale(0);
}

.wrap__banner-video {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: #0000004d;
}

.video__fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    z-index: -1;
}

.video__yuki {
    max-height: 47.2rem;
    object-fit: cover;
    width: 100%;
    display: block;
}

.banner__content-wrap {
    color: #ffffff;
    font-size: 3rem;
    font-weight: 700;
    line-height: 175%;
    letter-spacing: 0.188vw;
    margin-top: 23px;
}

@media (max-width: 680.5px) {
    .banner__content-wrap {
        font-size: 2.8rem;
    }
}

.banner__content-bg {
    background: linear-gradient(90deg, #00b8ee 0%, 61.0489%, #0068b6 100%);
    padding: 1px 3px;
    margin-right: 3px;
}

.concept__subtitle {
    letter-spacing: 2.4px;
}

.concept-gp {
    flex-wrap: nowrap;
}

@media (max-width: 960.5px) {
    .concept-gp {
        flex-direction: column;
    }
}

@media (min-width: 960.5px) {
    .concept__item:last-child {
        padding-left: 2rem;
    }
}

@media (max-width: 960.5px) {
    .concept__item {
        width: 100%;
    }

    .concept__item:last-child {
        margin-top: 3rem;
    }
}

.concept__content {
    padding-top: 7.4rem;
    padding-bottom: 7.5rem;
}

@media (max-width: 960.5px) {
    .concept__content {
        flex-direction: column;
    }
}

.concept__content-txt {
    letter-spacing: -1.1px;
}

@media (min-width: 960.5px) {
    .concept__content-txt {
        max-width: 582px;
        margin-top: -1.5rem;
    }
}

.wrap__btn--link-02 {
    position: relative;
    width: 31.9rem;
    text-align: left;
    display: block;
    padding: 2.1rem 3.7rem;
    background: linear-gradient(90deg, #0068b6 0%, 61.0489%, #00b8ee 100%);
}

.wrap__btn--link-02::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 14px;
    z-index: 0;
    top: 50%;
    transform: translateY(-50%);
    right: 3.7rem;
    background: url(../img/common/icon_btn_white.svg) no-repeat center;
    background-size: contain !important;
}

@media (max-width: 960.5px) {
    .wrap__button {
        width: 100% !important;
    }

    .wrap__button .wrap__btn--link-02 {
        margin-top: 9.7rem;
        width: 100%;
        max-width: 37.6rem;
    }
}

.top-video {
	background: linear-gradient(to right, #00b8ee, #0068b6);
	margin: 3.75rem auto 0;
	padding: 6.25rem 0;
}

.top-video .top__title .font-s {
    font-size: 48px;
}

.top-video .video-item {
  max-width: 800px;     /* 50rem と同じ */
  width: 100%;          /* 画面が800px以下の時は横幅いっぱいに */
  margin: 0 auto;       /* 中央寄せ */
}

.top-video .video-item video {
  width: 100%;          /* 親要素の幅に合わせる */
  height: auto;         /* 高さを自動調整 */
  aspect-ratio: 16 / 9; /* 動画の比率に合わせて調整（16:9の場合） */
  display: block;       /* 下部の隙間を消す */
  object-fit: cover;    /* 枠内にきれいに収める */
}

.top-video .video-item .txt {
	font-size: 20px;
	color: #FFFFFF;
	line-height: 2;
	margin-bottom: 50px;
}


@media (max-width: 960.5px) {

.top-video .top__title .font-s {
    font-size: 36px;
}
	
.top-video .video-item .txt {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 30px;
}	
	
}


.services-gp {
    padding-bottom: 21.5rem;
}

.services-gp .top__title {
    /*border-top: 1px solid #ffffff;*/
	border-top:none;
    padding-top: 11.25rem;
}


.services__content {
    background: url(../img/top/services.png) no-repeat center;
    background-size: cover;
}

.services__content-gp {
    padding-top: 15rem;
    padding-bottom: 11.5rem;
    padding-left: 3rem;
    padding-right: 3rem;
}

.services__content-title {
    margin-bottom: 2rem;
    letter-spacing: 6.3px;
}

.services__content .top__button--link--circle:hover::before {
    z-index: 2;
    background: radial-gradient(circle at 40% 55%, transparent 0rem, transparent 0px), radial-gradient(circle at 50% 42.5%, transparent 0rem, transparent 0px), radial-gradient(circle at 60% 55%, transparent 0rem, transparent 0px);
    background-color: #ffffff;
}

.services__content .top__button--link--circle:hover::after {
    z-index: 0;
    background-color: #ffffff;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.services__content .top__button--link--circle:hover svg .cls-1 {
    fill: #0071bc;
}

.services__content .top__button--link--circle::before {
    border: 0;
    background-color: #0071bc;
}

.services__content .top__button--link--circle svg {
    width: 1.2rem;
    height: 1.4rem;
    position: relative;
    z-index: 5;
}

.services__content .top__button--link--circle svg .cls-1 {
    fill: #ffffff;
}

@media screen and (max-width: 590.5px) {
    .services .top__button--link--circle {
        display: none;
    }
}

.works {
    position: relative;
    padding-top: 10rem;
    padding-bottom: 10rem;
    background: url(../img/top/works__bg.png) no-repeat left top;
    background-size: inherit;
}

.works .wrap__button.none_pc {
    display: none;
}

.works::after {
    content: "";
    position: absolute;
    width: 45.2rem;
    height: 18.9rem;
    z-index: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: url(../img/top/before.png) no-repeat right;
    background-size: contain;
}

.works .wrap__button {
    width: 31.9rem;
}

.works__content {
    max-width: 550px;
}

.works__slider {
    overflow: hidden;
    background: url(../img/top/works.png) repeat-x;
    background-size: auto 100%;
    animation: works_anime 150s linear infinite;
    height: 53.5rem;
}

@media (max-width: 960.5px) {
    .works {
        background: url(../img/top/works__bg_sp.png);
    }

    .works__content {
        max-width: none;
        margin-bottom: 3.5rem;
    }

    .works__inner {
        flex-direction: column;
    }

    .works .wrap__button.none_sp {
        display: none;
    }

    .works .wrap__button.none_pc {
        display: block;
    }

    .works::after {
        content: none;
    }
}

@keyframes works_anime {
    0% {
        background-position: 320rem 0;
    }

    100% {
        background-position: -320rem 0;
    }
}

@-moz-keyframes works_anime {
    0% {
        background-position: 320rem 0;
    }

    100% {
        background-position: -320rem 0;
    }
}

@keyframes infinity-scroll-right {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0%);
    }
}

.other {
    padding-top: 16.5rem;
    padding-bottom: 19.5rem;
}

.other__header-txt {
    margin-bottom: 9rem;
}

.other .top__title-en {
    color: #CCCCCC;
}

@media (min-width: 960.5px) {
    .other__content {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 2.604vw;
    }
}

@media (max-width: 960.5px) {
    .other__content {
        justify-content: center;
    }
}

.other__content--title {
    margin-top: 1rem;
    letter-spacing: 4.1px;
    position: relative;
    padding-left: 4rem;
}

.other__content--title::before {
    content: "";
    position: absolute;
    width: 3.5rem;
    height: 60%;
    z-index: 0;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/common/icon_btn_grey.svg) no-repeat center;
    background-size: contain;
}

@media (max-width: 960.5px) and (min-width: 750.5px) {
    .other__content--item {
        width: calc((100% - 3vw) / 2);
        margin-bottom: 3vw;
    }

    .other__content--item:not(:nth-child(2)) {
        margin-right: 3vw;
    }
}

@media (max-width: 750.5px) {
    .other__content--item {
        width: 100%;
    }

    .other__content--item:not(:last-child) {
        margin-bottom: 6.41vw;
    }
}

.other__content--item img {
    width: 100%;
}

.other__content--circle {
    width: 20px;
}

.offical {
    background: #ffffff url(../img/top/offical.png) no-repeat center;
    background-size: cover;
    padding-top: 13rem;
    padding-bottom: 15rem;
}

.offical__header-txt {
    letter-spacing: 0.6px;
}

@media (min-width: 1420.5px) {
    .offical__header-txt {
        max-width: 396px;
		/*max-width: 389px;*/
        margin-left: 2rem;
        margin-top: 2rem;
    }
}

@media (max-width: 1420.5px) {
    .offical__header-txt {
        margin-bottom: 4.5rem;
    }
}

.offical__content-item + .offical__content-item {
    margin-top: 5.5rem;
}

.offical__content-item {
    width: 100%;
}

.offical__content-item:first-child .offical__content--title {
    letter-spacing: 6px;
    color: #006C3B;
}

.offical__content-item:first-child .offical__content--desc {
    max-width: 389px;
    margin: 0 auto;
    text-align: left;
}

.offical__content-item:nth-child(2) .offical__content--title {
    margin-top: 3rem;
    letter-spacing: 6px;
    color: #4D4D4D;
}

.offical__content-item:nth-child(2) .offical__content--desc {
    max-width: 487px;
    margin: 0 auto;
    text-align: left;
    word-break: auto-phrase;
    overflow-wrap: normal;
}

.offical__content--left,
.offical__content--right {
    width: 50%;
}

.offical__content--left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
}

.offical__content-desc {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.offical__content-bottom {
    padding: 3rem;
}

.offical__logo {
    width: 100%;
}

.offical__logo.logo-01 {
    max-width: 39rem;
}

.offical__logo.logo-02 {
    max-width: 50.9rem;
}

.offical .js__img {
    object-fit: cover;
    width: 100%;
    max-width: 100%;
    height: 100%;
}

@media (min-width: 767.5px) {
    .offical .logo-pc {
        display: block;
    }

    .offical .logo-sp {
        display: none;
    }
}

@media (max-width: 767.5px) {
    .offical__content {
        flex-direction: column;
    }

    .offical__content--right,
    .offical__content--left {
        width: 100%;
    }

    .offical__content-bottom {
        padding: 3rem;
    }

    .offical__logo {
        max-width: none !important;
    }

    .offical .logo-pc {
        display: none;
    }

    .offical .logo-sp {
        display: block;
    }
}

.js__offical,
.js__offical .slick-slider,
.js__offical .slick-list,
.js__offical .slick-track {
    height: 100%;
}

.js__offical--item {
    height: 100%;
}

.news {
    background: #ffffff;
    padding-top: 12rem;
    padding-bottom: 11.5rem;
}

.news__main {
    margin-top: 3rem;
}

.news .top__button.none_pc {
    display: none;
}

@media (max-width: 590.5px) {
    .news .top__button.none_sp {
        display: none;
    }

    .news .top__button.none_pc {
        display: block;
    }

    .news .top__button.none_pc a {
        font-size: 13px;
        justify-content: center;
        margin-top: 3rem;
    }
}

@media (max-width: 590.5px) {
    .works__slider {
        height: 63rem;
    }

    .services__content {
        background: url(../img/top/services_sp.png) no-repeat center;
        background-size: cover;
    }

    .services__content-gp {
        padding-top: 9rem;
        padding-bottom: 8.5rem;
    }
}

.top_info {
    background: #ffffff;
    position: relative;
}

.info__list-01 li {
    display: flex;
    align-items: center;
    border-bottom: #F2F2F2 solid 1px;
}

.info__list-01 li * {
    display: inline-block;
    word-break: break-all;
    font-family: bold;
}

.info__list-01 li .cate {
    background: #0071bc;
    color: #ffffff;
    padding: .4rem;
    width: 12rem;
    text-align: center;
    position: relative;
    z-index: 0;
}

.info__list-01 li .date {
    color: #999999;
    margin-right: 5rem;
    letter-spacing: 1.5px;
}

.info__list-01 li .txt {
    font-weight: 500;
    width: 90rem;
    padding: 1.7rem 0;
    padding-left: 5rem;
    letter-spacing: -1.1px;
}

.info__list-01 li .txt:hover {
    color: #0071bc;
}

@media (max-width: 960px) {
    .info__list-01 li {
        padding: 3rem 0 0;
        flex-wrap: wrap;
    }

    .info__list-01 li .cate {
        min-width: 20rem;
    }

    .info__list-01 li .txt {
        width: 100%;
        padding: 1rem 0;
    }
}

.news__single-header .cate,
.news__single-header .date {
    display: inline-flex;
    justify-content: center;
    color: #009afb;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 200%;
    letter-spacing: 0;
}

.news__single-header .cate {
    color: #ffffff;
    padding: .4rem;
    width: 15rem;
    background: #0071bc;
}

.news__single-header .date {
    color: #999999;
    margin-right: 5rem;
    letter-spacing: 1.5px;
}

.news__single-header .title {
    color: #0071bc;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0;
    margin: 1.5rem 0;
}

.news__single-content--item + .news__single-content--item {
    margin-top: 2rem;
}

.news__single-content .top__button-01 {
    margin-top: 6rem;
}

.news__single-content .img {
    margin-bottom: 1.5rem;
}
.news__single-content .img img{
    max-width: 800px;
    height: auto;
}
.news__single-content--item ul,
.news__single-content--item ol {
    display: block;
    list-style-type: decimal;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 4rem;
    unicode-bidi: isolate;
}

.news__single-content--item h1,
.news__single-content--item h2,
.news__single-content--item h3,
.news__single-content--item h4,
.news__single-content--item h5,
.news__single-content--item h6 {
    line-height: 1.2em;
    padding-top: .8em;
    margin-bottom: .4em;
}

.news__single-content--item h1,
.news__single-content--item h2,
.news__single-content--item h3,
.news__single-content--item h4,
.news__single-content--item h5,
.news__single-content--item h6,
.news__single-content--item p {
    overflow-wrap: break-word;
}

.news__single-content--item h2 {
    font-size: 1.84em;
}

.news__single-content--item h3 {
    font-size: 1.48em;
}

.news__single-content--item h4 {
    font-size: 1.22em;
}

.news__single-content--item em,
.news__single-content--item i {
    font-style: italic;
}

.news__single-content--item blockquote {
    line-height: 1.6em;
    padding-top: .2em;
    border-left: 5px solid #ccc;
    font-style: italic;
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
    padding-left: 1.5em;
    padding-right: 1.5em;
}

@media (max-width: 1440px) and (min-width: 961px) {

    .news__single-header .cate,
    .news__single-header .date {
        font-size: 13px;
    }

    .news__single-header .cate {
        width: 17rem;
    }

    .news__single-header .title {
        font-size: 4.5rem;
    }
}

@media (max-width: 960px) {

    .news__single-header .cate,
    .news__single-header .date {
        font-size: 3rem;
    }

    .news__single-header .cate {
        min-width: 20rem;
    }

    .news__single-header .title {
        font-size: 4.5rem;
        margin-bottom: 3rem;
    }
}

.pagerDsp {
    margin-top: 6rem;
}

.pagerDsp .item {
    font-size: 2rem;
    font-weight: 500;
    margin: 0 1rem;
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, #009afb 2%, #96d5ff 100%);
    border-radius: 100%;
    position: relative;
}

.pagerDsp .item span {
    position: relative;
    z-index: 2;
}

.pagerDsp .item:hover,
.pagerDsp .item.current {
    color: #ffffff;
}

.pagerDsp .item:hover::before,
.pagerDsp .item.current::before {
    background-color: transparent;
}

.pagerDsp .item:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #ffffff;
    z-index: 1;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 100%;
}

.pagerDsp .prev {
    margin-right: 2.7rem;
}

.pagerDsp .next {
    margin-left: 2.7rem;
}

.pagerDsp .next,
.pagerDsp .prev {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: ease all 0.35s;
    position: relative;
    background: linear-gradient(90deg, #009afb 2%, #96d5ff 100%);
    height: 4rem;
    width: 4rem;
    border-radius: 100%;
}

.pagerDsp .next:before,
.pagerDsp .prev:before {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    background-color: #ffffff;
    z-index: 1;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 100%;
}

.pagerDsp .next .arrow,
.pagerDsp .prev .arrow {
    width: 10px;
    height: 10px;
}

.pagerDsp .next .arrow--left,
.pagerDsp .prev .arrow--left {
    transform: rotate(-135deg);
    left: 0.25rem;
}

.pagerDsp .next .arrow--right,
.pagerDsp .prev .arrow--right {
    right: 0.25rem;
    transform: rotate(45deg);
}

.pagerDsp .next:hover .arrow,
.pagerDsp .prev:hover .arrow {
    border-color: #ffffff;
}

.pagerDsp .next:hover::before,
.pagerDsp .prev:hover::before {
    background-color: transparent;
}

@media (max-width: 1300px) {
    .pagerDsp .item {
        font-size: 3rem;
        width: 5rem;
        height: 5rem;
    }
}

@media (max-width: 960px) {
    .pagerDsp .item {
        font-size: 3rem;
        width: 5rem;
        height: 5rem;
    }
}

.table__form {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 82px;
}

@media (min-width: 767.5px) {
    .table__form tr.tr__space td {
        padding-top: 4rem;
        padding-bottom: 7rem;
    }
}

.table__form td {
    vertical-align: middle;
    padding: 6px 0;
}

.table__form td:first-child {
    width: 255px;
    padding-right: 35px;
}

.table__form td.vat {
    vertical-align: text-top;
    padding-top: 3px;
}

.table__form td.vertical__txt {
    vertical-align: text-top;
}

.table__form .vat__txt {
    margin-top: -0.8rem;
}

.table__form ul:not(.radio__list) li {
    margin-right: 35px;
    position: relative;
}

.table__form ul:not(.radio__list) li::before {
    content: "_";
    position: absolute;
    right: -23px;
    top: calc(50% - 8px);
    transform: translateY(-50%);
    line-height: 160%;
}

.table__form ul:not(.radio__list) li:last-child {
    margin-right: 0;
}

.table__form ul:not(.radio__list) li:last-child::before {
    content: none;
}

.table__form .gp_confirm td {
    padding-top: 32px;
}

.table__form .gp_confirm .txt p {
    margin-bottom: 36px;
    margin-top: -0.8rem;
}

.table__form label {
    cursor: pointer;
    position: relative;
}

.table__form label input[type="checkbox"],
.table__form label input[type="radio"] {
    position: absolute;
    left: 0;
    top: 5px;
    opacity: 0;
}

.table__form label input[type="checkbox"]:checked + .market::before,
.table__form label input[type="radio"]:checked + .market::before {
    background-color: #4D4D4D;
}

.table__form label .market {
    width: 16px;
    height: 16px;
    top: 1px;
    display: inline-block;
    margin-right: 20px;
    border: 1px solid #4D4D4D;
    position: relative;
}

.table__form label .market::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: transparent;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.table__form ul.vz_02 li {
    margin-right: 18px;
}

.table__form ul.vz_02 li::before {
    content: none;
}

.table__form ul.vz_02 li:last-child {
    margin-right: 0;
}

.table__form ul.vz_02 li span {
    display: inline-block;
    padding-left: 18px;
}

.input-control {
    width: 100%;
    border: #CCCCCC solid 1px;
    height: 36px;
    padding: 0 15px;
    font-size: 16px;
    letter-spacing: .1563vw;
    font-family: "Noto Sans JP", sans-serif;
}

.input-control::placeholder {
    color: #CCCCCC;
    font-size: 16px;
    letter-spacing: .1563vw;
}

.input-control.w75 {
    width: 75px;
    text-align: center;
}

@media (min-width: 768px) {
    .input-control.w75 {
        padding: 0 10px;
    }
}

.input-control.w54 {
    width: 54px;
    text-align: center;
}

.input-control.textarea {
    height: 350px;
    padding-top: 10px;
    line-height: 175%;
}

@media (min-width: 768px) {
    .input-control.textarea.vz_02 {
        height: 195px;
    }
}

.is__required {
    border: #e60012 solid 1px;
    color: #e60012;
    font-size: 13px;
    text-align-last: justify;
    width: 52px;
    height: 26px;
    display: inline-block;
    padding: 2px 8px 0;
    line-height: 150%;
    font-weight: 500;
}

.contact__head {
    border-bottom: #CCCCCC solid 1px;
    padding-bottom: 64px;
    margin-bottom: 32px;
}

.contact__head .gp__required {
    margin-top: 75px;
}

.contact__head .is__required {
    margin-right: 13px;
}

.radio__list {
    list-style: none;
}

.radio__list li {
    margin-bottom: 3px;
}

.btnform__gp * {
    width: 100%;
    border: #ffffff solid 1px;
    border-radius: 0;
    padding-top: 3px;
    height: 64px;
    background: #036EB7;
    color: #ffffff;
    cursor: pointer;
    -webkit-transition: ease all 0.35s;
    -moz-transition: ease all 0.35s;
    -ms-transition: ease all 0.35s;
    -o-transition: ease all 0.35s;
    transition: ease all 0.35s;
    margin-bottom: 15px;
}

.btnform__gp *:hover {
    background: #ffffff;
    color: #0071bc;
    border-color: #0071bc;
}

.btnform__gp *:last-child {
    margin-bottom: 0;
}

.is_contact .footer__contact,
.is_contact .footer__map {
    display: none;
}

.page_contact {
    padding: 170px 0 225px;
}

@media (max-width: 1400px) {
    .page_contact {
        padding: 10.8571vw 0 16.7857vw;
    }

    .contact__head {
        padding-bottom: 4.5714vw;
        margin-bottom: 2.2857vw;
    }

    .contact__head .gp__required {
        margin-top: 6.7143vw;
    }

    .table__form {
        margin-bottom: 5.8571vw;
    }

    .table__form .gp_confirm .txt p {
        margin-bottom: 2.5714vw;
    }
}

@media (max-width: 1200px) {
    .input-control.textarea {
        height: 29.1667vw;
    }

    .table__form .gp_confirm td {
        padding-top: 2.6667vw;
    }
}

@media (max-width: 1000px) {
    .table__form .gp_confirm .txt {
        padding-left: 0;
    }

    .table__form td:first-child {
        padding-right: 15px;
        width: 230px;
    }

    .btnform__gp * {
        font-size: 2.5vw;
    }
}

@media (max-width: 767px) {
    .table__form td {
        float: left;
        width: 100%;
        font-size: 3.7333vw;
        padding: 1.6vw 0;
        letter-spacing: 0;
    }

    .table__form td:first-child {
        width: 100%;
        padding-right: 0;
        padding-bottom: 0;
        padding-top: 2.6667vw;
    }

    .table__form ul:not(.radio__list) li {
        width: calc((100% - 18.6693vw) / 3);
        margin-right: 9.3333vw;
    }

    .table__form ul:not(.radio__list) li::before {
        right: -6.1333vw;
        top: calc(50% - 2.1333vw);
    }

    .table__form label .market {
        width: 3.7333vw;
        height: 3.7333vw;
        top: .2667vw;
        margin-right: 4vw;
    }

    .table__form label .market::before {
        width: 2.6667vw;
        height: 2.6667vw;
    }

    .table__form .gp_confirm .txt p {
        letter-spacing: .2667vw;
    }

    .table__form ul.vz_02 li {
        margin-right: 2.6667vw;
        width: calc((100% - 5.3333vw) / 3);
    }

    .table__form ul.vz_02 li .input-control.w75,
    .table__form ul.vz_02 li .input-control.w54 {
        width: calc(100% - 6.4vw);
    }

    .table__form ul.vz_02 li span {
        padding-left: 2.6667vw;
    }

    .input-control {
        height: 9.6vw;
        padding: 0 4vw;
        font-size: 3.7333vw;
    }

    .input-control.w75 {
        width: 100%;
    }

    .input-control.textarea {
        height: 40vw;
        padding-top: 1.6vw;
    }

    .input-control::placeholder {
        font-size: 3.7333vw;
    }

    .is__required {
        font-size: 3.2vw;
        width: 13.3333vw;
        height: 6.4vw;
        padding: .5333vw 2.1333vw 0;
    }

    .btnform__gp * {
        font-size: 4.2667vw;
    }
}

.confirm .table__form td:first-child {
    vertical-align: text-top;
}

.error_messe {
    color: red !important;
}

.thanks_text {
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.ser01-content {
    margin-left: auto;
    margin-right: 0;
}

.ser01_title {
    color: #0071bc;
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 2.5px;
    margin-bottom: 10rem;
}

.ser01_title_h3 {
    font-size: 3.5rem;
    line-height: 1.75;
    color: #000000;
    margin-top: 14px;
}

.ser01_title span {
    font-weight: bold;
}

.ser01-left {
    width: 40.244%;
}

.ser01-left-text-tick {
    display: flex;
    align-items: center;
    margin-bottom: 13px;
}

.ser01-left-text-tick span {
    font-size: 2.4rem;
    color: #0071bc;
    display: block;
    margin-left: 3rem;
    font-weight: bold;
}

.ser01-left-txt {
    padding-top: 70px;
}

.ser01-left-txt span {
    display: block;
    line-height: 1.95;
    font-weight: 400;
}

.ser01-all-items {
    display: flex;
    justify-content: space-between;
}

.ser01-right {
    width: 54.37%;
}

.ser02-all {
    background: url(../img/service/Asset-10.png);
    margin-top: 19.2rem;
}

.ser02-all_title {
    width: 100%;
    padding-top: 3.2rem;
    padding-bottom: 17.5rem;
    position: relative;
    color: #ffffff;
}

.ser02-all_title h3 {
    font-size: 3.5rem;
}

.ser02-all-items-box {
    background-color: #009afb;
}

.ser02-all-items-box-dl-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #ffffff;
    padding-top: 100px;
    padding-bottom: 50px;
}

.ser02-all-items-box-dl-flex:first-child {
    padding-top: 5.7rem;
}

.ser02-all-items-box-dl-flex:last-child {
    border-bottom: none;
    padding-bottom: 26rem;
}

.ser02-all-items-box-left {
    width: 26.51%;
}

.ser02-all-items-box-right {
    width: 63.23%;
}

.ser02-all-items-box-right-txt {
    color: #ffffff;
}

.ser02-all-items-box-right-txt.mgt30 {
    margin-top: 3rem;
}

.ser02-all-items-box-right-title {
    display: flex;
    align-items: center;
}

.ser02-all-items-box-right-title span {
    font-size: 3.5rem;
    display: inline-block;
    background-color: #0071bc;
    color: #ffffff;
    text-align: center;
    padding-left: 11px;
    font-weight: bold;
    line-height: 1.75;
}

.ser02-all-items-box-right-title-robo {
    display: flex;
    align-items: center;
}

.ser02-all-items-box-right-title-robo span {
    font-family: "Roboto", sans-serif;
    background-color: unset;
    color: #4db8fc;
    padding-left: 0px;
    font-weight: 900;
    font-size: 14.5rem;
    line-height: 1;
}

.ser02-all-items-box-right-title-robo span:first-child {
    font-size: 7.7rem;
    margin-right: 2.5rem;
    margin-left: 3.5rem;
}

.ser02-all-items-box-right-title .mgb-20 {
    margin-bottom: 2rem;
}

.ser02-all-items-box-right-title .mgb-5 {
    margin-bottom: 0.5rem;
}

@media screen and (max-width: 1220px) {
    .ser02-all-items-box-right-txt {
        color: #ffffff;
    }

    .ser02-all-items-box-right-title span {
        font-size: 2.5rem;
    }

    .ser02-all-items-box-right-title-robo span {
        font-size: 14.5rem;
    }

    .ser02-all-items-box-right-title-robo span:first-child {
        font-size: 7.7rem;
    }
}

@media screen and (max-width: 1000px) {
    .ser01-left {
        width: 100%;
    }

    .ser01-left-txt {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .ser01-all-items {
        flex-wrap: wrap;
    }

    .ser01-right {
        width: 100%;
    }

    .ser01-right img {
        width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .ser02-all-items-box-dl-flex {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid #ffffff;
        padding-top: 10rem;
        padding-bottom: 5rem;
    }

    .ser02-all-items-box-left {
        width: 100%;
        text-align: center;
    }

    .ser02-all-items-box-right {
        width: 100%;
    }

    .ser02-all-items-box-right-title {
        display: flex;
        align-items: center;
    }

    .ser02-all-items-box-right-title-robo {
        display: flex;
        align-items: center;
    }
}

@media screen and (max-width: 767px) {
    .ser02-all_title {
        padding-bottom: 5.5rem;
    }

    .ser02-all-items-box {
        background-color: #009afb;
    }

    .ser02-all-items-box-dl-flex {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid #ffffff;
    }

    .ser02-all-items-box-right {
        padding-top: 30px;
    }

    .ser02-all-items-box-right-title {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
    }
}

.add_mgb .footer.service {
    margin-top: 0;
}

.add_mgb .footer.service .footer__contact {
    background-color: #009afb;
}

.com_sec01-title h3 {
    font-size: 3.5rem;
    text-align: center;
    color: #0071bc;
    line-height: 1.75;
    letter-spacing: 2px;
    position: relative;
}

.com_sec01-title h3::before {
    position: absolute;
    content: '';
    background-color: #0071bc;
    width: 27px;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
}

.com_sec01-items-box {
    display: flex;
    justify-content: space-between;
    padding-top: 18rem;
}

.com_sec01-items-box-text {
    width: 43.27%;
}

.com_sec01-items-box-text-title span {
    padding: 1rem;
    background: linear-gradient(to right, #00b8ee, #0068b6);
    font-weight: bold;
    color: #ffffff;
    font-size: 2.4rem;
}

.com_sec01-items-box-text-title-txt {
    padding-top: 5rem;
    line-height: 1.95;
    font-weight: 400;
}

.com_sec01-items-box-text-title-txt-ck {
    font-weight: bold;
    text-align: right;
    padding-top: 4rem;
}

.com_sec01-items-box-img {
    width: 48.79%;
    position: relative;
}

.com_sec01-items-box-img::before {
    position: absolute;
    content: '';
    background-image: url(../img/company/com_sec01_img01_bf.png);
    width: 88.9rem;
    height: 49rem;
    z-index: -1;
    top: -5rem;
    left: 4rem;
}

.com_sec01-items-box-img.secon::before {
    position: absolute;
    content: '';
    background-image: url(../img/company/com_sec01_img02_bf.png);
    width: 88.9rem;
    height: 49rem;
    z-index: -1;
    top: -5rem;
    right: 4rem;
    left: unset;
}

.com_sec02-box {
    margin-top: 12rem;
}

.com_sec02-box-title {
    background: linear-gradient(to right, #0068b6, #00b8ee);
    padding-top: 8rem;
    padding-bottom: 5rem;
    border-radius: 27px 27px 0 0;
}

.com_sec02-box-title h4 {
    font-size: 3.5rem;
    text-align: center;
    letter-spacing: 2.5px;
    line-height: 1.75;
    color: #ffffff;
    position: relative;
}

.com_sec02-box-title h4::before {
    position: absolute;
    content: '';
    width: 27px;
    height: 3px;
    background-color: #ffffff;
    left: 50%;
    transform: translateX(-50%);
}

.com_sec02-box-line {
    background-color: #F2F2F2;
}

.com_sec02-box-line-items {
    display: flex;
    justify-content: space-between;
    align-items: end;
    position: relative;
}

.com_sec02-box-line-items::before {
    position: absolute;
    content: '';
    background: linear-gradient(to right, #00b8ee, #0068b6);
    width: 94.9rem;
    height: 15px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.com_sec02-box-line-items a {
    position: relative;
    width: calc((100% - 12rem) / 5);
}

.com_sec02-box-line-items a:first-child {
    width: 29.9rem;
    margin-right: 1.5rem;
}

.com_sec02-box-line-items a:nth-child(4) {
    position: relative;
    z-index: 0;
}

.com_sec02-box-line-items a:nth-child(4)::before {
    position: absolute;
    content: '';
    width: 17px;
    height: 30rem;
    background: linear-gradient(to right, #00b8ee, #0068b6);
    top: unset;
    left: 50%;
    bottom: -10rem;
    z-index: -1;
    transform: translateY(50%);
}
.com_sec02-box-line-items a.no-link,
.com_sec02-box-line-profit-logo a.no-link{
    pointer-events: none;
}

.com_sec02-box-line-profit {
    padding-top: 9rem;
    padding-bottom: 8rem;
    position: relative;
    border-radius: 0px 0px 27px 27px;
}

.com_sec02-box-line-profit::before {
    width: 100%;
    height: 100%;
    position: absolute;
    content: '';
    background-color: #F2F2F2;
    border-radius: 0px 0px 27px 27px;
    z-index: -2;
    top: 0;
}

.com_sec02-box-line-profit-title {
    text-align: center;
}

.com_sec02-box-line-profit-logo {
    display: flex;
    flex-wrap: wrap;
    gap: 3.2rem;
    max-width: 1030.5px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    justify-content: center;
    margin-top: 3rem;
}

.com_sec02-box-line-profit-logo .bor {
    border: 1px solid #c4e8ff;
    font-size: 1.8rem;
}

.com_sec02-box-line-profit-logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 6.4rem) /3);
    height: 10.8rem;
    gap: 3.2rem;
}

.com_sec02-box-line-profit-logo a img {
    width: 100%;
    height: 10.8rem;
}

.com_sec02-box-line-profit-line-all {
    background-color: #ffffff;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 15px;
    padding-top: 3.5rem;
    padding-bottom: 3rem;
}

.com_sec03 {
    padding-top: 14rem;
}

.com_sec03-title h4 {
    font-size: 3.5rem;
    line-height: 1.75;
    text-align: center;
    color: #0071bc;
    letter-spacing: 6px;
    padding-bottom: 7rem;
    position: relative;
}

.com_sec03-title h4::before {
    position: absolute;
    content: '';
    width: 27px;
    height: 3px;
    background-color: #0071bc;
    left: 50%;
    transform: translateX(-50%);
}

.com_sec03-tab-all table {
    width: 100%;
    font-size: 18px;
    border-spacing: 0;
}

.com_sec03-tab-all table tr:last-child td {
    border-bottom: 1px solid #e6e6e6;
}

.com_sec03-tab-all table tr:last-child td:first-child {
    border-bottom: 1px solid #e6e6e6;
}

.com_sec03-tab-all table tr td {
    padding-top: 4rem;
    padding-bottom: 4rem;
    border: 1px solid #e6e6e6;
    border-left: none;
    width: calc(100% - 31rem);
    padding-left: 35px;
    border-bottom: none;
}

.com_sec03-tab-all table tr td:first-child {
    width: 31rem;
    background-color: #F2F2F2;
    border-right: none;
    border-left: 1px solid #e6e6e6;
    border-bottom: none;
    padding-left: 4.5rem;
    position: relative;
    font-weight: bold;
}

.com_sec03-tab-all table tr td:first-child::before {
    position: absolute;
    content: '';
    background-color: #0071bc;
    width: 15px;
    height: 3px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.com_sec03-tab-img {
    padding-top: 3.5rem;
    display: flex;
    justify-content: space-between;
}

.com_sec03-tab-img img {
    width: calc((100% - 1.5rem) / 2);
}

@media screen and (min-width: 768px) {

    .com_sec03-tab-all table tr.va-top td:first-child {
        vertical-align: top;
    }

    .com_sec03-tab-all table tr.va-top td:first-child::before {
        top: 5.5rem;
    }

}
@media screen and (max-width: 1850px) {
    .com_sec01-items-box-img::before {
        max-width: 100%;
        left: 1.5rem;
    }
}

@media screen and (max-width: 1000px) {
    .com_sec01-items-box {
        flex-wrap: wrap;
    }

    .com_sec01-items-box-text {
        width: 100%;
        margin-bottom: 100px;
    }

    .com_sec01-items-box-img {
        width: 100%;
        text-align: center;
    }

    .com_sec01-items-box-img::before {
        max-width: 100%;
        left: 1.5rem;
    }

    .com_sec01-items-box-img.secon {
        order: 2;
    }
}

@media screen and (max-width: 992px) {
    .com_sec02-box-line-items {
        flex-wrap: wrap;
    }

    .com_sec02-box-line-items::before {
        content: none;
    }

    .com_sec02-box-line-items a {
        text-align: center;
        width: 100%;
    }

    .com_sec02-box-line-items a:first-child {
        width: 100%;
    }

    .com_sec02-box-line-items a:nth-child(4)::before {
        content: none;
    }

    .com_sec02-box-line-profit-logo a {
        width: 100%;
        max-width: 250px;
        margin-left: 15px;
        margin-right: 15px;
    }

    .com_sec02-box-line-profit-logo a img {
        object-fit: contain;
    }
}

@media screen and (max-width: 767px) {
    .com_sec03-tab-img {
        flex-wrap: wrap;
    }

    .com_sec03-tab-img img {
        width: 100%;
        margin-bottom: 20px;
    }

    .com_sec03-tab-all table tr td {
        width: 100%;
        display: block;
        line-height: 1.75;
        border: none;
    }

    .com_sec03-tab-all table tr td:first-child {
        width: 100%;
    }

    .com_sec03-tab-all table tr td:last-child {
        font-size: 16px;
    }

    .add_mgb .footer {
        margin-top: 13.4rem;
    }
}

@media screen and (max-width: 480px) {
    .com_sec02-box-line-profit-title {
        padding-left: 15px;
        padding-right: 15px;
        max-width: 280px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .com_sec02-box-line-profit-logo a {
        height: unset;
    }

    .com_sec02-box-line-profit-logo a img {
        object-fit: contain;
        height: unset;
    }
}

.work-items-all {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
    row-gap: 8.3rem;
}

.work-items-all-box {
    width: calc((100% - 100px) / 2);
}

.work-items-all-box img {
    margin-bottom: 2.5rem;
}

.work-items-all-box span {
    background-color: #96d5ff;
    color: #0071bc;
    font-size: 1.6rem;
    line-height: 1.75;
    border-radius: 19.5px;
    font-weight: bold;
    padding: 6px 16px;
}

.work-items-all-box h4 {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.75;
    margin-top: 8px;
}

.work-items-all-box p {
    font-size: 1.6rem;
    line-height: 1.75;
}

@media screen and (max-width: 767px) {
    .work-items-all {
        justify-content: center;
    }

    .work-items-all-box {
        width: calc((100% - 10rem) / 1);
    }
}

@media (min-width: 999.5px) {
    body:not(.is-home) header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9;
    }
}

@media (max-width: 999.5px) {
    body header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9;
    }
}

@media (max-width: 590px) {
    header .header_box .logo a:last-child img {
        width: 46rem;
    }
}

.header_box {
    position: relative;
    z-index: 10;
}

@media (min-width: 999.5px) {
    .header_box {
        padding-top: 2.083vw;
    }
}

@media (max-width: 999.5px) {
    .header_box {
        padding-top: 6.41vw;
    }
}

.header_box.menu-active {
    background: #000000;
}

.header_box.active .logo a:first-child img {
    width: 9rem;
}

.header_box.active .header_box-wrap {
    width: 100%;
}

.header_box .logo img {
    transition: ease all 300ms;
}

.header_box .logo a:last-child img {
    width: 38.7rem;
}

.header_box-wrap {
    transition: ease all 300ms;
}

@media (max-width: 999px) {
    .header_box-item:first-child {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 10px;
    }

    .header_box-item:last-child {
        display: none;
        width: 100%;
    }

    .header_box .logo {
        position: relative;
        z-index: 1;
    }
}

.header_box.active .menu > li.contact > a {
    border-radius: 0;
}

.menu li {
    position: relative;
}

.menu li a {
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 1px;
    display: flex;
    height: 7.5rem;
    align-items: center;
    padding: 2rem 1.563vw;
    text-transform: uppercase;
}

.menu li a:hover {
    color: #009afb;
}

.menu li.active > a {
    color: #009afb;
    font-weight: 700;
}

.menu li:first-child a::before {
    border-left: #96d5ff solid 1px;
}

.menu li.none_pc {
    display: none;
}

@media (max-width: 1560px) and (min-width: 999px) {
    .menu > li > a {
        font-size: 14px;
        padding: 2rem 0.641vw;
        letter-spacing: 0;
    }
}

@media (min-width: 999px) {
    .menu > li.contactpage {
        margin-left: 1.563vw;
    }

    .menu > li.contactpage a {
        width: 7.5rem;
        justify-content: center;
        background: linear-gradient(90deg, #00B8EE 0%, 61.0489%, #0068B6 100%);
        color: #ffffff;
        padding: 1rem;
        border-radius: 50%;
    }
}

@media (max-width: 1200px) and (min-width: 999.5px) {
    .header_box .logo a:last-child img {
        width: 30rem;
    }

    .menu > li a {
        height: 6rem;
    }

    .menu > li.contactpage a {
        width: 6rem;
    }
}

@media (max-width: 999px) {
    #menu_hum {
        display: flex;
        right: 0;
        top: 0;
        transition: all 0.35s;
        position: relative;
        align-items: center;
    }

    #menu_hum::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 0;
        top: 0;
        left: -100%;
    }

    #menu_hum > div {
        width: 6rem;
        height: 5.2rem;
        position: relative;
        display: flex;
        border-radius: 50%;
        margin-left: auto;
        top: 0.2rem;
    }

    #menu_hum span {
        background: #ffffff;
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
        position: absolute;
        width: 100%;
        height: 3px;
        left: 50%;
        -webkit-transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
        transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
        transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s;
        transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
    }

    #menu_hum span:nth-child(1) {
        top: 0;
    }

    #menu_hum span:nth-child(2) {
        top: 42%;
        transform: translateX(-50%);
    }

    #menu_hum span:nth-child(3) {
        bottom: 0;
    }

    #menu_hum .change span {
        -webkit-transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
        transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
        transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease;
        transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
    }

    #menu_hum .change span:nth-child(1) {
        top: 50%;
        -webkit-transform: translateX(-50%) rotate(315deg);
        transform: translateX(-50%) rotate(315deg);
    }

    #menu_hum .change span:nth-child(2) {
        opacity: 0;
    }

    #menu_hum .change span:nth-child(3) {
        top: 50%;
        -webkit-transform: translateX(-50%) rotate(225deg);
        transform: translateX(-50%) rotate(225deg);
    }

    .menu {
        padding-bottom: 15px;
    }

    .menu > li {
        width: 100%;
        margin-left: 0;
        border-top: 1px dashed #0071bc;
    }

    .menu > li:nth-child(1) {
        border-top: 0;
    }

    .menu > li a {
        padding: 2rem;
        font-size: 3rem;
        font-weight: 500;
    }

    .menu > li.contactpage a {
        margin-top: 15px;
        background: linear-gradient(90deg, #00B8EE 0%, 61.0489%, #0068B6 100%);
        justify-content: center;
        padding: 5px 0;
    }

    .menu > li.contactpage.none_sp {
        display: none;
    }

    .menu > li.none_pc {
        display: block;
    }

    .toggle__sub-menu {
        position: absolute;
        top: 2rem;
        right: 1rem;
        width: 6rem;
        height: 6rem;
    }

    .toggle__sub-menu::before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        z-index: 0;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 15px solid #009afb;
        -webkit-transition: ease all 0.35s;
        -moz-transition: ease all 0.35s;
        -ms-transition: ease all 0.35s;
        -o-transition: ease all 0.35s;
        transition: ease all 0.35s;
    }

    .toggle__sub-menu.is-active::before {
        transform: translate(-50%, -50%) rotate(180deg);
    }
}

@media (max-width: 767px) {
    .menu li a {
        font-size: 2.35rem;
    }
}

@media (max-width: 480px) {
    .menu li a {
        font-size: 3rem;
        padding: 2rem !important;
    }
}

.footer__contact {
    background: #ffffff url(../img/common/footer__contact.png) no-repeat top center;
    background-size: cover;
    padding-top: 16rem;
    padding-bottom: 24.9rem;
}

.footer__contact-gp {
    margin-top: 3px;
}

.footer__contact a {
    display: inline-flex;
    max-width: none;
    margin: 0;
}

.footer__contact-tel {
    color: #0071bc;
    font-weight: bold;
    font-size: 3.5rem;
}

@media (min-width: 1200.5px) {
    .footer__contact-tel {
        width: 21.771vw;
    }
}

@media (max-width: 1200.5px) and (min-width: 960.5px) {
    .footer__contact-tel {
        width: 24vw;
    }
}

.footer__contact-tel span {
    margin-right: 3px;
    line-height: 2.7;
}

.footer__contact-link {
    font-weight: bold;
    width: 27.9rem;
    position: relative;
}

.footer__contact-link::before {
    content: "";
    position: absolute;
    width: 3.4rem;
    height: 2.6rem;
    z-index: 0;
    display: inline-block;
    clear: both;
    position: relative;
    background: url(../img/common/icon.png) no-repeat center;
    background-size: contain;
    margin-right: 1.3rem;
}

.footer__contact-item {
    width: 50%;
}

.footer__map {
    position: relative;
    padding: 6.5rem 0;
    background: url(../img/common/map.png) no-repeat center;
    background-size: cover;
}

.footer__map::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    left: 0;
    background: #000000b3;
}

.footer__map-gp {
    position: relative;
}

@media (min-width: 750.5px) {
    .footer__map-item {
        width: 50%;
    }

    .footer__map-item:first-child {
        padding-right: 2.344vw;
    }

    .footer__map-item:last-child {
        padding-left: 2.344vw;
    }
}

@media (max-width: 750.5px) {
    .footer__map-item {
        width: 100%;
    }

    .footer__map-item:not(:last-child) {
        margin-bottom: 5.128vw;
    }
}

.footer__map-txt {
    margin-bottom: 1.5rem;
    font-weight: 400;
}

.footer__map-txt span {
    display: inline-block;
}

.footer__map iframe {
    width: 100%;
    height: 37rem;
}

.footer__bottom {
    padding: 34px 0;
}

.footer__bottom-txt {
    margin-top: 2rem;
    font-size: 14px;
}

.footer__logo-gp {
    gap: 2.865vw;
}

.footer__copyright {
    color: #000000;
    font-size: 10px;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0.6px;
    text-align: right;
    width: 100%;
    /*margin-top: -1.8rem;*/
}

@media (max-width: 1250.5px) and (min-width: 680.5px) {
    .footer__logo-img {
        width: 38rem;
    }

    .footer__logo-img-02 {
        width: 30rem;
    }
}

@media (max-width: 960.5px) {
    .footer__contact {
        padding-top: 11rem;
        padding-bottom: 15.9rem;
    }

    .footer__contact-inner {
        max-width: 500px;
    }

    .footer__contact-txt br {
        display: none;
    }

    .footer__contact-item {
        display: block;
        width: 100%;
    }

    .footer__contact-item a {
        display: flex;
        align-content: center;
        width: 100%;
        max-width: 67.949vw;
        margin: 0 auto;
        height: 53px;
    }

    .footer__contact-item a + a {
        margin-top: 25px;
    }

    .footer__contact-item:last-child {
        padding-top: 9rem;
    }

    .footer__bottom {
        padding: 7.692vw 0;
    }

    .footer__bottom-left {
        width: 100%;
    }

    .footer__logo-gp {
        justify-content: space-between;
    }

    .footer .menu__footer {
        display: none;
    }
}

@media (max-width: 680.5px) {
    .footer__logo-gp {
        justify-content: center;
    }

    .footer__logo-img {
        width: 51rem;
    }

    .footer__logo-img-02 {
        width: 45rem;
    }

    .footer__logo-img-02.none_sp {
        display: none;
    }

    .footer__bottom-txt {
        display: none;
    }

    .footer__copyright {
        margin-top: 5.128vw;
        text-align: center;
        font-size: 2.051vw;
    }
}

@media (min-width: 960.5px) {
    .footer .menu__footer {
        padding-top: 1rem;
    }

    .footer .menu__footer-item:not(:first-child) {
        padding-left: 1.719vw;
    }

    .footer .menu__footer-item a {
        color: #000000;
        font-size: 13px;
        font-weight: 500;
        line-height: 175%;
        letter-spacing: -1.1px;
    }
}

@media (max-width: 750.5px) {
    .footer__contact-tel span {
        line-height: 1;
        margin-bottom: 1.4rem;
    }
}

@media (min-width: 680.5px) {
    .footer__logo-img-02.none_pc {
        display: none;
    }
}

/*# sourceMappingURL=style.min.css.map */