@charset "UTF-8";
html {
    scroll-behavior: smooth;
}
body {
    position: relative;
    font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02rem;
    color: #333;
    box-sizing: border-box; 
    scrollbar-gutter: stable;
    counter-reset: test;
}
*, *::before, *::after {
    box-sizing: border-box;
}
img {
    display: block;
}
main {
    overflow: hidden;
}
/*--------共通パーツ--------*/
.section-title {
    font-size: 2.8rem;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    color: #004a8e;
    margin-bottom: 2rem;
}
.section-title-sub {
    display: table;
    font-size: 2rem;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    color: #004a8e;
    padding-left: 1rem;
    border-left: solid 4px #004a8e;
    margin-bottom: 1.5rem;
}
.section-title-sub-ja {
    display: table;
    font-size: 2rem;
    font-weight: 900;
    color: #004a8e;
    padding-left: 1rem;
    border-left: solid 4px #004a8e;
    margin-bottom: 1.5rem;
}
.wrapper {
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
a {
    text-decoration: none;
    transition: .3s;
}
a:hover {
    opacity: .7;
}
.btn {
    display: inline-block;
    align-items: center;
    position: relative;
    line-height: 1.5;
    border-radius: 3em;
    padding: 1rem 4rem;
    color: #fff;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
    transition: .3s ease;
}
.btn::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 50%;
    right: 8%;
    width: 12px;
    height: 12px;
    background-color: #fff;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    transform: translateY(-50%);
    transition: .3s ease;
}
.btn:hover::before {
    animation: hoverfloating-x 1s ease-in-out infinite alternate;
}
@keyframes hoverfloating-x {
    0% {
    transform: translateY(-50%) translateX(0%);
    }
    100% {
    transform: translateY(-50%) translateX(-40%);
    }
}
.btn-red {
    background-color: #c9444e;
    border: solid 1px #c9444e;
}
.btn-red::before {
    color: #c9444e;
}
.btn-blue::before {
    color: #4881a6;
}
.btn-blue {
    background-color: #4881a6;
    border: solid 1px #4881a6;
}
.btn .read-more {
    display: inline-block;
    transform: translateX(-10px);
}
.btn:hover {
    background-color: #fff;
    opacity: 1;
}
.btn-red:hover {
    color: #c9444e;
}
.btn-red:hover::before {
    background-color: #c9444e;
}
.btn-blue:hover {
    color: #4881a6;
}
.btn-blue:hover::before {
    background-color: #4881a6;
}
/*-------------ヘッダー------------------*/
.header {
    position: fixed;
    top: 0;
    background-color: rgba(255,255,255,1);
    width: 100%;
    padding: 1rem 0;
    z-index: 30;
    transition: .3s;
}
.head-wrapper {
    display: flex;
    justify-content: space-between;
    width: 96%;
    margin: 0 auto;
}
.header .header-logo {
    display: block;
    width: 20%;
    margin: auto 0;
}
.header .header-logo img {
    width: 100%;
}
.header .sp-menu-content {
    display: flex;
    justify-content: flex-start;
}
.header .header-nav {
    margin: auto 0;
}
.header .header-list {
    display: flex;
    justify-content: space-between;
}
.header-list .header-item {
    margin-left: 1.6rem;
}
.header-list .header-item:first-child {
    margin-left: 0;
}
.header-list .header-link {
    display: inline-block;
    color: #000;
}
.header-list .header-link:hover {
    color: #17a0c7;
}
.header-link .header-link-ja {
    display: block;
    font-size: 1.1rem;
}
.header-link .header-link-en {
    display: block;
    font-size: .8rem;
    letter-spacing: 0.02rem;
}
.header-item {
    position: relative;
}
.header-sub-list {
    position: absolute;
    background-color: #f4f4f4;
    box-shadow: 2px 2px 10px #666;
    border-radius: 4px;
    min-width: max-content;
    top: 100%;
    left: -20%;
    z-index: 40;
    transform: scaleY(0);
    transform-origin: center top;
    transition: .3s;
    opacity: 0;
}
.header-item:hover .header-sub-list {
    transform: scaleY(1);
    opacity: 1
}
.header-item .header-sub-link:hover {
    background-color: #D2EDFF;
    opacity: 1
}
.header-item .header-sub-list .header-sub-link {
    display: block;
    color: inherit;
    font-size: 0.9rem;
    text-decoration: none;
    padding: 0.8rem 1rem;
    font-weight: 500;
    text-align: left;
}
.header-sub-link span {
    letter-spacing: .02rem;
}
.header-box-wrap {
    display: flex;
    justify-content: space-between;
    margin-left: 2rem;
}
.contact-link, .request-link {
    display: inline-block;
    align-items: center;
    position: relative;
    font-size: .9rem;
    line-height: 1.5;
    border-radius: 4em;
    padding: 0.8rem 1.2rem;
    color: #fff;
    text-align: center;
    cursor: pointer;
    transition: .3s ease;
}
.contact-link:hover, .request-link:hover {
    background-color: #fff;
}
.contact-link {
    background-color: #c9444e;
    border: solid 1px #c9444e;
}
.contact-link:hover {
    color: #c9444e;
}
.request-link {
    background-color: #4881a6;
    border: solid 1px #4881a6;
    margin-left: 1rem;
}
.request-link:hover {
    color: #4881a6;
}
.header-box-wrap a {
    display: block;
}
.header .sns-icon-box {
    display: none;
}
.sns-icon-box:first-child {
    margin-left: 0;
}
.sns-link {
    margin: auto 0 auto 1rem;
}
.sns-icon-box img {
    width: 30px;
    height: 30px;
    object-fit: cover;
    filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.7));
}
/*-------------メインビジュアル------------------*/
.main-visual {
    width: 100%;
    min-width: 1200px;
    height: 756px;
    margin-top: 80px;
    overflow: hidden;
}
.main-visual a:hover {
    opacity: 1;
}
.main-visual .slick-list,
.main-visual .slick-track {
    height: 100%;
}
/*-------------メインスライダー1------------------*/
.main-slider {
    position: relative;
    width: 100%;
    height: 100%;
}
.main-slider-pc {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}
.main-slider-sp {
    display: none;
}
.main-slider-back {
    position: absolute;
    top: 0;
    right: 0;
    background-image: url("img/main-visual/gradation-border.webp");
    background-repeat: no-repeat;
    background-position: right;
    background-size: 50% 100%;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.main-slider.slick-active .main-slider-back {
    animation: main-slider-back-fade 3200ms;
    animation-delay: 3200ms;
}
@keyframes main-slider-back-fade {
    0% {
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.main-slider-container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
}
.main-slider1 {
    position: relative;
    width: 100%;
    height: 100%;
    transition: 1s ease;
    z-index: 25;
}
.main-slider1-parts {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    color: #fff;
    width: 120px;
    height: 120px;
    padding: 2rem;
    border-radius: 50%;
    box-shadow: 2px 2px 10px #666;
    opacity: 0;
    transform: translate(-50%, -45%);
    transition: .8s ease;
}
.main-slider1 .main-slider1-person {
    background-color: #3fb5d1;
    top: 16%;
    left: 20%;
}
.main-slider1 .main-slider1-company {
    background-color: #a06dad;
    top: 50%;
    left: 80%;
}
.main-slider1 .main-slider1-region {
    background-color: #87c54f;
    top: 70%;
    left: 50%;
}
.main-slider.slick-active .main-slider1-parts {
    transform: translate(-50%, -50%);
    z-index: 20;
}
.main-slider.slick-active .main-slider1-person {
    opacity: 1;
    top: 25%;
    left: 4%;
    transition-delay: 0s, 0s, 1200ms, 1200ms;
    transition-property: opacity, transform, top, left;
}
.main-slider.slick-active .main-slider1-company {
    opacity: 1;
    top: 50%;
    left: 4%;
    transition-delay: 150ms, 150ms, 1200ms, 1200ms;
    transition-property: opacity, transform, top, left;
}
.main-slider.slick-active .main-slider1-region {
    opacity: 1;
    top: 75%;
    left: 4%;
    transition-delay: 300ms, 300ms, 1200ms, 1200ms;
    transition-property: opacity, transform, top, left;
}
.main-slider1-logo {
    position: absolute;
    width: 100px;
    top: 50%;
    left: calc(4% + 120px + 120px);
    z-index: 30;
    transform: translate(-50%, -50%);
}
.main-slider1-logo img {
    width: 100%;
    height: auto;
    object-fit: cover;
    opacity: 0;
    transform: translate(2em, 0) rotate(720deg);
    transition: .8s ease;
}
.main-slider.slick-active .main-slider1-logo img {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
    transform-origin: center;
    transition-delay: 2200ms, 2200ms, 2200ms;
    transition-property: opacity, transform;
}
.arrow-line {
    position: absolute;
    top: 50%;
    left: calc(4% + 60px + 40px);
    z-index: 15;
    transform: translate(-50%, -50%);
}
.arrow-line img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.arrow-line-cover {
    position: absolute;
    background-color: #ffffff;
    top: 50%;
    left: calc(4% + 60px + 40px);
    z-index: 15;
    width: 195px;
    height: 408px;
    transform: translate(-50%, -50%) scale(1,1);
    overflow: hidden;
    transform-origin: right;
    transition: .8s ease-in;
}
.main-slider.slick-active .arrow-line-cover {
    transform: translate(-50%, -50%) scale(0,1);
    transition-delay: 2200ms;
    transition-property: transform;
}
/*-------------メインスライダー2------------------*/
.main-slider2 {
    position: absolute;
    top: 50%;
    right: -2.4%;
    z-index: 20;
    /* width: calc(100% - (120px + 8% + 150px)); */
    width: calc(100% - (120px + 4% + 150px));
    overflow: hidden;
    transition: 1s ease;
    transform: translateY(-50%);
}
.main-slider2-container {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    background-color: rgba(240, 249, 255, .8);
    border-radius: 5px;
    padding: 1rem;
    opacity: 0;
    transform: translateX(-100%);
    transition: .8s ease;
}
.main-slider.slick-active .main-slider2-container {
    transform: translateX(0%);
    opacity: 1;
    transition-delay: 3000ms, 3000ms;
    transition-property: opacity, transform;
}
.main-slider2-flex {
    color: #333;
    width: 50%;
}
.main-slider2-flex:first-child {
    margin-right: 1rem;
}
.main-slider2-container .main-slider2-service {
    background-color: #D2EDFF;
    color: #333;
    border-radius: 5px;
    padding: 1rem;
    margin-bottom: 8px;
}
.main-slider2-service-title {
    font-size: 1.1rem;
    font-weight: 900;
}
.main-slider2-service-detail {
    font-size: .9rem;
    letter-spacing: .01rem;
    line-break: strict
}
.main-slider.slick-active .main-slider1 {
    opacity: 0;
    transition-delay: 5500ms;
    transition-property: opacity;
}
.main-slider.slick-active .main-slider2 {
    opacity: 0;
    transition-delay: 5500ms;
    transition-property: opacity;
}
.main-slider3 {
    opacity: 0;
    transition: opacity 1.2s ease;
}
.main-slider.slick-active .main-slider3 {
    opacity: 1;
    transition-delay: 6000ms;
    transition-property: opacity;
}
.main-slider3-logo {
    position: absolute;
    top: 36%;
    left: 42%;
    width: 52%;
    height: auto;
    margin: 0 auto;
    z-index: 20;
}
.main-slider3-logo img {
    width: 100%;
    height: auto;
    object-fit: cover; 
}
.main-slider3-copy {
    position: absolute;
    top: 40%;
    left: 6%;
    text-align: center;
    transition: .3s;
    z-index: 30;
}
.main-slider3-copy-text {
    color: #333;
    font-size: 4vw;
    font-family: 'Noto Serif JP', serif;
    -webkit-text-stroke: 6px #fff;
    font-weight: 900;
    paint-order: stroke;
}
/*---------------製品紹介スライダー----------------*/
.service-slider {
    position: relative;
    min-width: 1200px;
    height: 100%;
}
.service-slider-full {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.service-slider-responsive {
    display: none;
}
.service-slider-back-parts {
    position: absolute;
    opacity: .5;
    transform: translateY(-100%);
    z-index: 10;
    overflow: hidden;
}
.service-slider.slick-active.slick-active .service-slider-back-parts {
    transform: translateY(100%);
    transition-property: transform;
}
.service-slider .parts1 {
    top: 0%;
    left: 12%;
    transition: 15s linear;
}
.service-slider .parts2 {
    top: 4%;
    left: 88%;
    transition: 12s linear;
}
.service-slider .parts3 {
    top: -20%;
    left: 56%;
    transition: 19s linear;
}
.service-slider .parts4 {
    top: 12%;
    left: 72%;
    transition: 18s linear;
}
.service-slider .parts5 {
    top: 8%;
    left: 92%;
    transition: 20s linear;
}
.service-slider .parts6 {
    top: 28%;
    left: 12%;
    transition: 14s linear;
}
.service-slider .parts7 {
    top: -36%;
    left: 52%;
    transition: 11s linear;
}
.service-slider-back-parts img {
    width: 50%;
    height: 50%;
    object-fit: cover;
}
.split-text {
    position: absolute;
    display: inline-block;
    top: 8%;
    right: 4%;
    color: #333;
    font-size: 2.4vw;
    font-family: 'Noto Serif JP', serif;
    -webkit-text-stroke: 6px #fff;
    font-weight: 900;
    paint-order: stroke;
    overflow: hidden;
    visibility: hidden;
    z-index: 40;
}
.service-slider.slick-active.slick-active .split-text {
    visibility: visible;
}
.split-text .char {
    display: inline-block;
    opacity: 0;
    transform: translateY(120%);
    transition: .5s;
}
.service-slider.slick-active .char.char1 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 50ms;
}
.service-slider.slick-active .char.char2 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 100ms;
}
.service-slider.slick-active .char.char3 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 150ms;
}
.service-slider.slick-active .char.char4 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 200ms;
}
.service-slider.slick-active .char.char5 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 250ms;
}
.service-slider.slick-active .char.char6 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 300ms;
}
.service-slider.slick-active .char.char7 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 350ms;
}
.service-slider.slick-active .char.char8 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 450ms;
}
.service-slider.slick-active .char.char9 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 500ms;
}
.service-slider.slick-active .char.char10 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 550ms;
}
.service-slider.slick-active .char.char11 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 600ms;
}
.service-slider.slick-active .char.char12 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 650ms;
}
.service-slider.slick-active .char.char13 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 700ms;
}
.service-slider.slick-active .char.char14 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 750ms;
}
.service-slider.slick-active .char.char15 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 800ms;
}
.service-slider.slick-active .char.char16 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 850ms;
}
.service-slider.slick-active .char.char17 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 900ms;
}
.service-slider.slick-active .char.char18 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 950ms;
}
.service-slider.slick-active .char.char19 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1000ms;
}
.service-slider.slick-active .char.char20 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1050ms;
}
.service-map {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 3%;
    width: 52%;
    min-width: 600px;
    height: auto;
    max-height: calc(756px - 16%);
    z-index: 30;
}
#logo, #group, #icon,
#text-center, #text-left, #text-right {
    opacity: 0;
    transform-origin: center 46.8%;
    transition: 1s ease;
}
#logo {
    transition: .6s ease;
}
#group {
    transform: scale(0.2);
}
#icon {
    transform: rotate(-180deg);
}
#text-center {
    transform: translateY(-20px);
}
#text-left {
    transform: translateX(20px);
}
#text-right {
    transform: translateX(-20px);
}
.service-slider.slick-active #logo {
    opacity: 1;
    transition-delay: 700ms;
    transition-property: opacity;
}
.service-slider.slick-active #group {
    opacity: 1;
    transform: scale(1);
    transition-delay: 1300ms, 1300ms;
    transition-property: opacity, transform;
}
.service-slider.slick-active #icon {
    opacity: 1;
    transform: rotate(0deg);
    transition-delay: 2300ms;
    transition-property: opacity, transform;
}
.service-slider.slick-active #text-center {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 3300ms;
    transition-property: opacity, transform;
}
.service-slider.slick-active #text-left {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 3300ms;
    transition-property: opacity, transform;
}
.service-slider.slick-active #text-right {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 3300ms;
    transition-property: opacity, transform;
}
.service-slider-pc {
    position: absolute;
    width: 44%;
    min-width: calc(600px - 4%);
    height: 100%;
    max-height: calc(756px - (2.4rem + 2% + 2rem));
    top: 50%;
    transform: translateY(-50%);
    right: 0%;
    z-index: 20;
}
.service-slider-pc img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.service-slider-sp {
    position: absolute;
    width: 8%;
    height: 30%;
    top: 70%;
    transform: translateY(-30%);
    right: 6%;
    z-index: 30;
}
.service-slider-sp img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.service-slider-pc,
.service-slider-sp {
    opacity: 0;
    transition: opacity 0.4s ease;
}
.service-slider.slick-active .pc1 {
    opacity: 1;
    transition-delay: 4300ms;
    transition-property: opacity;
}
.service-slider.slick-active .pc2 {
    opacity: 1;
    transition-delay: 5900ms;
    transition-property: opacity;
}
.service-slider.slick-active .pc3 {
    opacity: 1;
    transition-delay: 7500ms;
    transition-property: opacity;
}
.service-slider.slick-active .sp2 {
    opacity: 1;
    transition-delay: 5900ms;
    transition-property: opacity;
}
.service-slider.slick-active .sp3 {
    opacity: 1;
    transition-delay: 7500ms;
    transition-property: opacity;
}
.service-slider {
    transition: opacity 0.3s ease;
}
.service-slider.slick-active {
    opacity: 0;
    transition-delay: 9500ms;
    transition-property: opacity;
}
/*--------導入事例スライダー-----------*/
.model-case-slider-pc {
    display: block;
    width: 100%;
    height: 100%;
}
.model-case-slider-sp {
    display: none;
    width: 100%;
    height: 100%;
}
.model-case-slider {
    position: relative;
    background: #d2edff;  
    background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);  
    width: 100%;
    min-width: 1200px;
    height: 100%;
}
.circles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.circles li {
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    background: rgba(71, 89, 190, 0.2);
    animation: animate 25s linear infinite;
    bottom: -150px;
}
.circles li:nth-child(1){
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}
.circles li:nth-child(2){
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 3.5s;
}
.circles li:nth-child(3){
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}
.circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 7s;
}
.circles li:nth-child(5){
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}
.circles li:nth-child(6){
    left: 75%;
    width: 110px;
    height: 110px;
    animation-delay: 1.5s;
}
.circles li:nth-child(7){
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 2s;
}
.circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 8s;
}
.circles li:nth-child(9){
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 6s;
}
.circles li:nth-child(10){
    left: 85%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 9s;
}
@keyframes animate {
    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }
    100%{
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }
}
.customer {
    display: inline-block;
    color: #fff;
    background-color: #00aad6;
    border-radius: 8px;
    padding: 1.6rem;
    margin: 2rem 0 0 2rem;
    opacity: 0;
    transform: translateY(20px);
    transition: .3s;
}
.customer-title {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 8px;
}
.model-case-slider.slick-active .customer {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 100ms;
    transition-property: opacity, transform;
}
.track1 {
    position: absolute;
    top: 4%;
    left: 14%;
    transition: 10.5s linear;  
}
.model-case-slider.slick-active .track1 {
    left: -24%;
    transition-delay: 0;
    transition-property: left;
}
.track2 {
    position: absolute;
    top: 44%;
    left: 44%;
    transition: 10.5s linear;  
}
.model-case-slider.slick-active .track2 {
    left: 16%;
    transition-delay: 0;
    transition-property: left;
}
.track3 {
    position: absolute;
    top: 12%;
    left: 52%;
    transition: 10.5s linear; 
}
.model-case-slider.slick-active .track3 {
    left: 12%;
    transition-delay: 0;
    transition-property: left;
}
.track4 {
    position: absolute;
    top: 6%;
    left: 84%;
    transition: 10.5s linear; 
}
.model-case-slider.slick-active .track4 {
    left: 40%;
    transition-delay: 0;
    transition-property: left;
}
.track5 {
    position: absolute;
    top: 40%;
    left: 100%;
    transition: 10.5s linear;  
}
.model-case-slider.slick-active .track5 {
    left: 60%;
    transition-delay: 0;
    transition-property: left;
}
.slider-item:last-child {
    margin-right: 0;
}
.model-case-slider-container {
    position: relative;
    width: 100%;
    height: 100%;
}
.slider-track {
    position: absolute;
    display: flex;
    width: fit-content;
    height: 220px;
    background-color: #fff;
    border-radius: 12px;
    margin-left: 2rem;
    box-shadow: 2px 2px 10px #666;
}
.slider-item-wrapper {
    position: relative;
    width: 382px;
}
.slider-item {
    position: absolute;
    width: 100%;
    height: auto;
    transition: .4s;
}
.slider-track .model-case-item-heading {
    position: absolute;
    color: #3daeca;
    font-size: 2rem;
    font-weight: 900;
    top: -12%;
    left: 0;
}
.slider-track .model-case-item-number {
    position: absolute;
    color: #004a8e;
    font-size: 2.4rem;
    font-weight: 900;
    top: -14%;
    right: 0%;
}
.slider-track .model-case-link {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.slider-track .model-case-image {
    width: 100%;
}
.slider-track .model-case-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 12px 12px 0 0;
}
.slider-track .model-case-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: left;
    padding: 1rem;
}
.slider-track .model-case-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}
.slider-track .model-case-title {
    color: #004a8e;
    font-size: 1.2rem;
    font-weight: 900;
    margin-bottom: 12px;
    line-height: 1.6;
}
.slider-track .model-case-tag {
    color: #fff;
    text-align: center;
    border-radius: 12px;
    padding: 2px 8px;
    margin-bottom: 12px;
}
.slider-track .model-case-tag-icon {
    width: 100%;
    max-width: 48px;
    margin-left: auto;
    margin-bottom: 1rem;
}
.slider-track .model-case-tag-icon img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
.model-case-text {
    color: #333;
}
.blur-container {
    position: absolute;
    top: 0;
    left: -5%;
    width: 300%;
    height: 100%;
    opacity: .5;
    z-index: -1;
    overflow: hidden;
}
.blur-container .blur-item img {
    filter: blur(8px);
}
.blur-container .slider-track {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: 30s linear; 
}
.model-case-slider.slick-active .blur-container .slider-track {
    left: -100%
}
.blur-container .blur-item {
    position: absolute;
    width: 382px;
    height: 140px;
    opacity: 1;
}
.model-case-slider.slick-active .blur-container .blur-item {
    position: absolute;
    height: auto;
    opacity: 1;
}
.blur-container .item1 {
    top: 60%;
    left: 6%;
}
.blur-container .item2 {
    top: 20%;
    left: 16%;
}
.blur-container .item3 {
    top: 48%;
    left: 28%;
}
.blur-container .item4 {
    top: 12%;
    left: 38%;
}
.blur-container .item5 {
    top: 52%;
    left: 48%;
}
.blur-container .blur-item img {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 2px 2px 10px #666;
}
.img-big img {
    scale: 1.1;
}
.img-middle img {
    scale: 1;
}
.img-small img {
    scale: .8;
}
/*--------リクルートスライダー-----------*/
.recruit-slider {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.recruit-slider-pc {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.recruit-slider-sp {
    display: none;
}
.recruit-slider-blue {
    position: absolute;
    background-color: #004A8E;
    top: 0;
    left: 4%;
    width: 22%;
    height: 100%;
    transform: skew(-19deg,0deg);
    z-index: 25;
    border-right: solid 4px #fff;
    outline: solid 6px #004A8E;
}
.recruit-slider-back-ground {
    position: absolute;
    background-image: url("img/recruit-slider/recruit-back.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    top: 0;
    left: 16%;
    width: 100%;
    height: 100%;
    z-index: 20;
}
.recruit-slider-back-ground::before {
    position: absolute;
    content: "";
    background-color: rgba(255,255,255,0.4);
    backdrop-filter: blur(6px);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.recruit-slider-text-container {
    position: absolute;
    top: 16%;
    left: 12%;
    z-index: 40;
}
.recruit-slider-title {
    position: relative;
    width: 24vw;
    height: auto;
    margin-bottom: 1rem;
    overflow: hidden;
    z-index: -1;
}
.recruit-slider-title::before {
    position: absolute;
    content: "";
    background: #7FCCF1;
    background: linear-gradient(90deg,rgba(127, 204, 241, 1) 0%, rgba(0, 170, 214, 1) 50%, rgba(0, 77, 151, 1) 100%);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    transform-origin: left center;
    transition: .7s ease;
    z-index: 1;
}
.recruit-slider.slick-active .recruit-slider-title::before {
    transform: translateX(105%);
    transition-delay: 1000ms;
    transition-property: transform;
}
.recruit-slider-title img {
    width: 100%;
    height: auto;
    object-fit: cover;
    opacity: 0;
}
.recruit-slider.slick-active .recruit-slider-title img {
    opacity: 1;
    transition-delay: 1200ms;
    transition-property: opacity;
}
.recruit-slider-text {
    font-size: 2.4rem;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
}
.recruit-back-imitation {
    position: absolute;
    top: 0;
    right: 0;
    width: 76%;
    height: auto;
    z-index: 35;
}
.recruit-back-imitation img {
    width: 100%;
    height: auto;
    object-fit: cover;
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(69deg) brightness(102%) contrast(106%);
}
.recruit-slider-img {
    position: absolute;
    top: 0;
    right: -12%;
    width: 48%;
    height: 100%;
    transform: skew(-19deg);
    overflow: hidden;
    z-index: 35;
}
.recruit-slider-img-container {
    position: relative;
    width: 100%;
    height: 100%;
}
.recruit-slider-img-filter {
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 144%;
    height: 100%;
    transform: skew(19deg);
    margin-left: -10rem;
}
.recruit-slider-img1 {
    background-image: url("img/recruit-slider/recruit-slider-img1.webp");
    background-position: left;
    opacity: 0;
}
.recruit-slider-img2 {
    background-image: url("img/recruit-slider/recruit-slider-img2.webp");
    opacity: 0;
}
.recruit-slider-img3 {
    background-image: url("img/recruit-slider/recruit-slider-img3.webp");
    opacity: 0;
}
.recruit-slider.slick-active .recruit-slider-img1 {
    animation: recruit-img-fadein 4s ease-in-out 0s;
}
.recruit-slider.slick-active .recruit-slider-img2 {
    animation: recruit-img-fadein 4s ease-in-out 3s;
}
.recruit-slider.slick-active .recruit-slider-img3 {
    animation: recruit-img-fadein 4s ease-in-out 6s;
}
.recruit-slider.slick-active .recruit-slider-img4 {
    animation: recruit-img-fadein 4s ease-in-out 9s;
}
@keyframes recruit-img-fadein {
    0% {
        opacity: 0;
        transform: scale(1.0) skew(19deg);
    }
    20% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: scale(1.1) skew(19deg);
    }
} 
.header-change {
    position: fixed;
    background-color: rgba(255,255,255,.5);
}
/*---------------リモートサポート----------------*/
.support-box {
    position: fixed;
    background-color: #004a8e;
    bottom: 0;
    right: 0;
    z-index: 40;
}
.support-inner {
    display: flex;
    flex-direction: column;
}
.support-box img {
    width: 36px;
    height: auto;
    object-fit: cover;
    margin: auto;
    padding-top: 1rem;
}
.support-text {
    color: #fff;
    writing-mode: vertical-rl;
    text-orientation: upright;
    padding: 1rem;
}
/*-------------information------------------*/
.information {
    padding: 4rem 0;
    background-color: #f0f9ff;
}
.information-container {
    display: flex;
    justify-content: space-between;
}
.news-section {
    width: 50%;
    padding: 0 2rem;
}
.news-box {
    position: relative;
    display: flex;
    background-color: #fff;
    border-radius: 12px 0 0 12px;
    margin-bottom: 1rem;
    box-shadow: 2px 2px 6px #aaa;
    opacity: 1;
}
.news-box:hover {
    opacity: 1 !important;
}
.category-news {
    border-left: solid 16px #c9444e;
}
.category-column {
    border-left: solid 16px #004a8e;
}
.news-box::before {
    position: absolute;
    content: "";
    background-color: #fff;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    top: calc(50% - 4px);
    left: -11px;
}
.news-box:hover {
    box-shadow: none;
}
.news-inner {
    display: flex;
    flex-direction: column;
    vertical-align: center;
    color: #000;
    text-align: left;
    padding: 1rem 8px;
    margin: auto 0 auto 12px;
    padding-right: 3rem;
}
.news-data {
    display: inline-block;
    font-size: .8rem;
}
.news-arrow-back {
    position: absolute;
    content: "";
    background-color: #4881a6;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    top: calc(50% - 14px);
    right: 12px;
    z-index: 1;
}
.news-arrow {
    position: absolute;
    background: #fff;
    display: inline-block;
    width: 12px;
    height: 12px;
    clip-path: polygon(0 41.2%, 57.6% 41.2%, 57.6% 0, 100% 50%, 57.6% 100%, 57.6% 58.8%, 0 58.8%);
    top: 8px;
    left: 9px;
}
.news-box:hover .news-arrow-back {
    animation: arrowfloating-x 1s ease-in-out infinite alternate;
}
@keyframes arrowfloating-x {
    0% {
    transform: translateX(0%);
    }
    100% {
    transform: translateX(-20%);
    }
}
.instagram-section {
    width: 50%;
    padding: 0 2rem;
}
.insta-temp {
    width: 100%;
    max-width: 100%;
}
.insta-temp img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
/*-------------Products------------------*/
.products {
    position: relative;
    padding: 8rem 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    z-index: 20;
}
.products .section-title {
    text-align: left;
}
.products-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.products-text-box {
    width: 50%;
    color: #000;
    text-align: left;
}
.products-text-box h3 {
    color: #000;
    padding-left: 0;
    border-left: none;
    margin-bottom: 2rem;
}
.products-text {
    line-height: 1.6;
    letter-spacing: 0.02em;
    margin-bottom: 4rem;
}
.products-map {
    width: 50%;
    margin-left: 1rem;
    opacity: 1;
    transition: .3s;
}
.products-map:hover {
    opacity: .7;
}
.products-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/*-------------導入事例------------------*/
.model-case-section {
    position: relative;
    background-color: #d2edff;
    padding: 8rem 0;
    overflow: hidden;
}
.model-case-section .read-more-link {
    display: block;
    text-align: right;
    margin-top: 2rem;
}
.model-case-section .read-more-link a {
    position: relative;
    display: inline-block;
    color: #223a70;
    font-size: 1rem;
    text-decoration: underline;
}
.model-case-section .read-more-link a::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 52%;
    left: -12%;
    width: 12px;
    height: 12px;
    background-color: #223a70;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    transform: translateY(-50%);
    transition: .3s ease;
}
.model-case {
    position: relative;
}
.model-case .model-case-section::before {
    position: absolute;
    content: "";
    top: 60%;
    left: 0;
    background: #004D98;
    background: linear-gradient(90deg,rgba(0, 77, 152, 1) 0%, rgba(0, 171, 215, 1) 49%, rgba(127, 204, 241, 1) 100%);
    width: 100%;
    height: 40%;
}
.model-case-section .section-title-sub {
    display: block;
    font-size: 2.8rem;
    text-align: center;
    border: none;
    margin-bottom: -8px;
}
.model-case-section .section-title-sub-ja {
    display: block;
    font-size: 1rem;
    text-align: center;
    border: none;
    margin-bottom: 4rem;
}
.model-case .model-case-item {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    width: calc((100% / 3) - 2rem);
    height: 228px;
    border-radius: 12px;
    margin-left: 2rem;
    box-shadow: 2px 2px 10px #666;
    overflow: visible;
}
.model-case .model-case-item:first-child {
    margin-left: 1rem;
}
.model-case .model-case-item-heading {
    position: absolute;
    color: #3daeca;
    font-size: 2rem;
    font-weight: 900;
    top: -10%;
    left: 0;
}
.model-case .model-case-item-number {
    position: absolute;
    color: #004a8e;
    font-size: 2.4rem;
    font-weight: 900;
    top: -12%;
    right: 0%;
}
.model-case .model-case-list:first-child {
    margin-left: 0;
}
.model-case .model-case-link {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.model-case .model-case-image {
    width: 100%;
}
.model-case .model-case-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 12px 12px 0 0;
}
.model-case .model-case-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: left;
    padding: 1rem;
}
.model-case .model-case-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}
.model-case .model-case-title {
    color: #004a8e;
    font-size: 1.2rem;
    font-weight: 900;
    margin-bottom: 12px;
    line-height: 1.6;
}
.model-case .model-case-tag {
    color: #fff;
    text-align: center;
    border-radius: 12px;
    padding: 2px 8px;
    margin-bottom: 12px;
}
.model-case .model-case-tag-icon {
    width: 100%;
    max-width: 48px;
    margin-left: auto;
    margin-bottom: 1rem;
}
.model-case .model-case-tag-icon img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
/*-------------導入事例カルーセルスライダーの設定------------------*/
.model-case-section .slick-slide,
.model-case-section .slick-track,
.model-case-section .slick-list {
    overflow: visible !important;
}
.model-case-section .slick-list {
    margin-bottom: 2rem;
}
.model-case-list {
    opacity: 0;
    transition: opacity .3s linear;
}
.model-case-list.slick-initialized {
    opacity: 1;
}
.dots-wrap {
    display: flex;
    justify-content: center;
}
.dots-wrap li {
    width: 4%;
    height: 4px;
    margin: 0 5px;
    background: #fff;
    cursor: pointer;
}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: #c9444e;
}
.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
/*-------------Service------------------*/
.service {
    background-color: #fff;
    padding: 8rem 0 4rem;
}
.service-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 4rem;
}
.service-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    text-align: left;
    width: calc((100% / 3) - 2rem);
    padding-top: 1rem;
    margin-left: 2rem;
    margin-bottom: 2rem;
}
.service-content:nth-of-type(3n+1) {
    margin-left: 1rem;
}
.network, .software {
    background-color: #4e6fbf;
}
.homepage, .internet, .snsweb {
    background-color: #00967B
}
.printer, .design, .photo-movie {
    background-color: #bfaa4e;
}
.content-text-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 1rem;
}
.content-title {
    font-size: 1rem;
    font-weight: 900;
    color: #fff;
    margin-bottom: 1rem;
}
.content-text {
    margin-bottom: 1rem;
}
.content-inner {
    position: relative;
    text-align: center;
}
.content-img {
    width: 75%;
}
.content-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.content-inner .service-btn-container {
    position: absolute;
    bottom: 4%;
    right: 4%;
}
.content-inner .btn {
    display: inline-block;
    padding: .5rem 2rem;
}
/*-------------文章スクロールブロック------------------*/
.scroll-container {
    background-color: #F0F9FF;
    padding-bottom: 2rem;
}
.scroll-parents {
    display: flex;
    overflow: hidden;
    white-space: nowrap;
}
.scroll-text {
    display: inline-block;
    color: #e1e1e1;
    font-size: 4vw;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    opacity: .7;
    animation: scroll 40s linear infinite;
    padding: 0;
    margin: 0;
}
@keyframes scroll {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}
/*-------------RECRUIT------------------*/
.recruit {
    position: relative;
    background-color: #F0F9FF;
    padding: 4rem 0;
    inset: 0;
}
.recruit::before {
    position: absolute;
    content: "";
    background-image: url("img/back-ground-logo.webp");
    background-repeat: no-repeat;
    background-size: cover;
    width: 300px;
    height: 228px;
    bottom: 12%;
    left: 0;
}
.recruit-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.recruit-text-box {
    width: calc(50% - 1.6rem);
    text-align: left;
}
.recruit-text {
    margin-bottom: 2rem;
}
.recruit-img {
    width: calc(50% - 1.6rem);
}
.recruit-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.recruit .btn::after {
    right: 14%;
}
/*-------------contact------------------*/
.contact {
    position: relative;
    background-color: #fff;
    text-align: center;
    padding: 8rem 0;
    z-index: 20;
}
.contact-text-box {
    margin-bottom: 2rem;
}
/*-------------フッター------------------*/
#footer {
    background-color: #004d80;
    color: #fff;
    padding-top: 1rem;
}
#footer .footer-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#footer .footer-nav {
    text-align: left;
    padding-top: 1rem;
    margin-bottom: 2rem;
}
#footer .footer-list {
    display: flex;
    justify-content: flex-end;
}
#footer .footer-list .footer-item {
    margin-left: 2rem;
}
#footer .footer-list .footer-item:first-child {
    margin-left: 0;
}
#footer .footer-list .footer-link {
    color: #fff;
    text-decoration: underline;
}
#footer .footer-sns-icon-box {
    display: flex;
    justify-content: space-between;
}
#footer .footer-sns-icon-box a {
    display: block;
}
.footer-sns-icon-box:first-child {
    margin-left: 0;
}
.footer-sns-link {
    margin: auto 0 auto 2rem;
}
.footer-sns-icon-box img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.5));
}
#footer .footer-information {
    align-items: center;
    margin-bottom: 2rem;
}
#footer .company-info {
    align-items: center;
    margin-bottom: 1rem;
    text-align: left;
}
#footer .company-name {
    font-size: 1.2rem;
    margin-bottom: 1rem;
}
#footer .footer-information address {
    display: flex;
    justify-content: flex-start;
    text-align: left;
}
#footer .footer-information address span {
    display: block;
    margin-bottom: 1rem;
}
#footer .address-br {
    display: none;
}
#footer .footer-logo {
    display: block;
    width: 300px;
    margin-bottom: 1rem;
}
#footer .footer-logo img {
    width: 100%;
}
#footer .kitakami {
    margin-right: 2rem;
}
#footer .copyright {
    color: #000;
    background-color: #fff;
    text-align: center;
    padding: 1rem 0;
}
#footer .copy {
    font-size: .8rem;
}
#footer .address-br {
    display: none;
}
/*-------------レスポンシブデザイン------------------*/
#nav_toggle {
    display: none
}
#close_toggle {
    display: none
}
#gnav_overlay {
    display: none
}
.sp_area {
    display: none;
}
/*-------------個別ページ設定------------------*/
.article-container {
    position: relative;
    display: block;
    background-color: #fff;
    background-image: url("img/article-background.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    box-shadow: 1px 1px 3px;
    margin-top: 80px;
    z-index: 1;
    }
.article-container::before {
    position: absolute;
    content: "";
    margin: auto;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    top: 0;
    left: 0;
    z-index: -1;
}
.article-container .article-wrapper {
    width: 100%;
    max-width: 1200px;
    height: auto;
    padding: 6rem 1rem;
    margin: 0 auto;
    text-align: center;
}
.article-container .page-title {
    color: #223a70;
    font-size: 2rem;
    font-weight: 900;
}
/*-------------パンくずリストの設定------------------*/
#breadcrumb {
    font-size: .9rem; 
    margin: auto;
    margin-bottom: 2rem;
}
#breadcrumb ul {
    text-align: right;
    list-style: none;
    border: 0 !important;
    margin-bottom: 0 !important;
}
#breadcrumb ul li {
    display: inline;
    margin: 0 !important;
}
#breadcrumb ul li::before {
    content: none;
}
#breadcrumb ul li span {
    display: inline-block;
}
/*-------------個別ページエディター------------------*/
.page-content {
    width: 100%;
    max-width: 1200px;
    min-height: 500px;
    padding: 1rem 1rem 0;
    margin: 1rem auto 0;
}
.page-content h3 {
    position: relative;
    color: #3DAECA;
    font-size: 1.6rem;
    font-weight: 900;
    padding: 8px 0;
    margin-bottom: 1.5rem;
    overflow: hidden;
}
.page-content h3:first-letter {
    color: #004A8E;
    font-size: 1.8rem;
}
.page-content h3::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    border-radius: 6px;
    background: #7FCCF1;
    background: linear-gradient(270deg,rgba(127, 204, 241, 1) 0%, rgba(0, 171, 215, 1) 48%, rgba(0, 77, 152, 1) 100%);
}
.page-content h4 {
    position: relative;
    color: #333;
    font-size: 1.4rem;
    font-weight: 900;
    margin-left: 14px;
    margin-bottom: 1.5rem;
}
.page-content h4::before {
    position: absolute;
    content: "";
    background: #7FCDF2;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    top: 50%;
    left: -14px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: -1;
}
.page-content h5 {
    color: #000;
    font-size: 1.1rem;
    font-weight: 900;
    padding: 0.25em 0.5em;
    border-left: solid 5px #c9444e;
    margin-bottom: 1.5rem;
}
.page-content h5::first-letter {
    font-size: 1.6rem;
    color: #c9444e;
}
.page-content h6 {
    color: #004A8E;
    font-size: 1.1rem;
    font-weight: 900;
    margin-bottom: 1.5rem;
}
.page-content a {
    color: #223a70;
    text-decoration: underline;
    transition: .3s;
}
.page-content a:hover {
    opacity: .7;
}
.page-content ul {
    margin-bottom: 1rem;
}
.page-content ul li {
    position: relative;
    margin-bottom: 10px;
    margin-left: 1.5rem;
}
.page-content ul li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -1rem;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-left: 8px solid #c9444e;
}
.page-content ol {
    counter-reset: li_count;
    margin-bottom: 1.5rem;
}
.page-content ol li {
    margin-bottom: 10px;
}
.page-content ol li:before {
    counter-increment: li_count;
    content: counter(li_count)".";
    margin-right: 5px;
    color: #c9444e;
}
.page-content p {
    margin-bottom: 1rem;
}
.page-content strong {
    font-size: 1.2rem;
    font-weight: bold;
}
.page-content address {
    font-size: 1rem;
}
.page-content table {
    width: 100%;
    margin-bottom: 10px;
    border-collapse: collapse;
    }
.page-content th,
.page-content td {
    border: solid 1px #ddd;
    }
.page-content th {
    width: 30%;
    padding: 8px;
    background-color: #f2f2f2;
    text-align: left;
}
.page-content td {
    background-color: #fff;
    width: 70%;
    padding: 10px;
}
.page-content .table-flex {
    border-collapse: initial;
    border: none;
}
.page-content .table-flex tr {
    display: flex;
    justify-content: space-between;
    border: none;
}
.page-content .table-flex th,
.page-content .table-flex td {
    border: none;
}
.page-content .table-flex-reverse {
    border-collapse: initial;
    border: none;
}
.page-content .table-flex-reverse tr {
    display: flex;
    justify-content: space-between;
    border: none;
}
.page-content .table-flex-reverse th,
.page-content .table-flex-reverse td {
    border: none;
}
.page-content .table-flex-triple {
    border-collapse: initial;
    border: none;
}
.page-content .table-flex-triple tr {
    display: flex;
    justify-content: space-between;
    border: none;
}
.page-content .table-flex-triple th,
.page-content .table-flex-triple td {
    width: calc(100% / 3);
    border: none;
}
.page-content .noborder {
    border: none;
}
.page-content .redline {
    border: double 1px #e65d5d;
}
.page-content img {
    max-width: 100%;
    height: auto;
}
/*-------------TOPICSページの設定------------------*/
.page-content .content-title {
    margin-bottom: 4rem;
}
.page-content .example-flex {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}
.page-content .example-list {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    list-style: none;
    width: calc(33% - 2rem);
    height: auto;
    border: solid .5px #dddddd;
    padding: 1rem 8px;
    margin-left: 2rem;
    margin-bottom: 2rem;
}
.page-content .example-list:nth-child(3n+1) {
    margin-left: 1rem;
}
.page-content .example-list::before {
    content: none;
}
.page-content .example-list .example-title {
    font-size: 1.2rem;
    margin-bottom: 1rem;
}
.page-content .example-inner {
    display: flex;
    flex-direction: column;
    height: auto;
}
.page-content .example-inner img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.page-content .btn {
    color: #fff;
    width: 52%;
    padding: 8px;
}
.page-content .btn:hover {
    background-color: #fff;
    color: #c9444e;
    opacity: 1;
}
.page-content .btn-red:hover::before {
    background-color: #c9444e;
}
.page-content .read-more-link {
    display: block;
    text-align: right;
}
.page-content .read-more-link a {
    display: inline-block;
}
.category-all {
    display: block;
    text-align: right;
    margin-bottom: 4rem;
}
.category-all a {
    display: inline-block;
}
/*-------------開発ブログ出力------------------*/
.card-title {
    font-size: 1.1rem;
    font-weight: 900;
}
.example-thumbnail {
    margin-bottom: 1rem;
}
.example-inner .example-text {
    margin-bottom: 0;
}
.read-more-blog {
    display: block;
    text-align: right;
}
.read-more-blog a {
    display: inline-block;
}
/*-------------導入事例アーカイブページ------------------*/
.archive-example .model-case {
    position: static;
    padding: 4rem 0;
}
.archive-example-tab {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 0;
    margin: 2rem auto;
    margin-left: 1rem;
}
.archive-example-tab li {
    background-color: #eee;
    color: #fff;
    font-size: .9rem;
    width: calc((100% / 7) - 1rem);
    text-align: center;
    border-radius: 12px;
    border: solid 1px #fff;
    padding: 8px;
    cursor: pointer;
}
.archive-example-tab li.archive-example-tab-active {
    background-color: #c9444e;
    outline: solid 1px #333;
    outline-offset: 4px;
}
.archive-example-tab .example-group-all {
    background-color: #333;
}
.archive-example-tab .example-group-kanri {
    background-color: #3fb5d1;
}
.archive-example-tab .example-group-gyoumu {
    background-color: #a06dad;
}
.archive-example-tab .example-group-sien {
    background-color: #87c54f;
}
.archive-example-tab .example-group-service {
    background-color: #4E6FBF;
}
.archive-example-tab .example-group-design {
    background-color: #bfaa4e;
}
.archive-example .model-case-list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 1rem;
    padding: 0;
    margin: 0 auto;
    opacity: 1;
}
.archive-example .model-case-item {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    width: calc((100% / 3) - 2rem);
    height: 228px;
    border-radius: 12px;
    margin-bottom: 2rem;
    box-shadow: 2px 2px 10px #666;
    overflow: visible;
}
.archive-example .model-case-item:nth-of-type(3n+1) {
    margin-left: 0;
}
.archive-example .model-case-container {
    margin-top: 0;
}
/*-------------ページネーションの設定------------------*/
.pagination {
    display: flex;
    justify-content: center;
    margin: 2rem 0;
    font-family: Arial, sans-serif;
}
.pagination a,
.pagination span {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin: 0 0.25rem;
    border-radius: 4px;
    text-decoration: none;
    color: #223a70;
    border: 1px solid #ddd;
    transition: all 0.3s ease;
}
.pagination span.current,
.pagination a.current {
    background-color: #3DAECA;
    color: #fff;
    border-color: #3DAECA;
}
.pagination a:hover {
    background-color: #f0f0f0;
    border-color: #999;
}
/*-------------事業紹介_ホームページ------------------*/
.back-class {
    position: relative;
    background-color: #F0F9FF;
    overflow: hidden;
}
.back-class::before {
    position: absolute;
    content: "";
    background-color: #fff;
    top: 14%;
    left: -10%;
    width: 120%;
    height: 332px;
    transform: rotate(-10deg);
}
.issue .issue-intro {
    font-size: 1.4rem;
    font-weight: 900;
    text-align: center;
    margin-bottom: 2rem;
}
.issue-read {
    display: flex;
    justify-content: space-between;
}
.issue-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2rem;
}
.issue-container {
    display: flex;
    flex-direction: column;
    width: calc(33% - 2rem);
    align-items: center;
    text-align: center;
}
.issue-box {
    background-color: #D2EDFF;
    text-align: left;
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 2px 2px 6px #bdc4c9;
}
.issue-heading-box {
    position: relative;
    width: 100%;
    text-align: center;
    padding-bottom: 8px;
    margin-bottom: 1rem;
}
.issue-heading-box::before {
    position: absolute;
    content: "";
    background-color: #aaa;;
    width: 50%;
    height: 2px;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
}
.issue-heading-box .issue-heading {
    color: #223A70;
}
.issue-heading::before {
    position: absolute;
    content: "";
    left: calc(50% - 16px);
    bottom: 4px;
    border-right: 14px solid transparent;
    border-top: 14px solid #fff;
    z-index: 2;
}
.issue-heading::after {
    position: absolute;
    content: "";
    left: calc(50% - 19px);
    bottom: 2px;
    border-top: 15px solid #aaa;
    border-right: 14px solid transparent;
    border-left: 4px solid #aaa;
    z-index: 1;
}
.issue-box .issue-text {
    margin-bottom: 0;
}
.issue-solution {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 900;
    margin-bottom: 1rem;
}
.advantage {
    padding-top: 4rem;
    margin: 1rem auto 0rem;
}
.advantage .issue-title {
    margin-bottom: 4rem;
}
.advantage-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2rem;
}
.advantage-box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #d2edff;
    width: calc((100% / 3) - 2rem);
    height: 100%;
    border-radius: 8px;
    padding: 1.5rem;
}
.homepage-content .advantage-box:first-child {
    margin-top: 8rem;
}
.homepage-content .advantage-box:nth-child(2) {
    margin-top: 4rem;
}
.homepage-content .advantage-box:nth-child(3) {
    margin-top: 0;
}
.advantage-read {
    position: absolute;
    color: #223a70;
    font-size: 1.6rem;
    font-weight: 900;
    top: -6%;
    left: 0;
}
.advantage-number {
    position: absolute;
    color: #3DAECA;
    font-size: 4rem;
    font-weight: 900;
    top: -16%;
    right: 0;
}
.advantage-number::first-letter {
    color: #223a70;
}
.advantage-img {
    width: 100%;
    height: auto;
    margin-bottom: 2rem;
}
.advantage-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
}
.flow {
    counter-reset: number;
}
.homepage-wrapper {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.flow-title {
    color: #004D80;
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 2rem;
}
.flow-box {
    position: relative;
    padding-bottom: 2rem;
    text-align: left;
}
.flow-box::before {
    position: absolute;
    content: "";
    background-color: #4881a6;
    width: 4px;
    height: 100%;
    top: 0;
    left: -50px;
}
.flow-box:last-of-type {
    padding-bottom: 0;
    margin-bottom: 1.5rem;
}
.flow-box:last-of-type::before {
    content: none;
}
.flow-plus-box {
    max-width: 920px;
    padding-bottom: 4rem;
    margin: 0 auto;
    text-align: left;
}
.flow-plus-title {
    position: relative;
    color: #4881a6;
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 1rem;
}
.flow-plus-title::before {
    position: absolute;
    content: "";
    background-color: #4881a6;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 2px;
}
.flow-plus-title::after {
    position: absolute;
    content: "";
    bottom: 6px;
    right: -5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #4881a6;
    border-width: 24px 0px 0px 48px;
}
.flow-plus-container {
    background-color: #fff;
    padding: 1rem;
}
.flow-plus-heading {
    font-size: 1.4rem;
    font-weight: 900;
    margin-bottom: 1rem;
    text-align: left;
}
.flow-plus {
    font-size: 1rem;
    text-align: left;
}
.flow-heading {
    position: relative;
    font-size: 1.4rem;
    font-weight: 900;
    margin-bottom: 1rem;
}
.flow-heading::before {
    position: absolute;
    content: counter(number);
    counter-increment: number 1;
    display: flex;
    justify-content: space-around;
    align-items: center;
    top: -8px;
    left: -72px;
    width: 48px;
    height: 48px;
    line-height: 24px;
    border-radius: 50%;
    background-color: #4881a6;
    color: #fff;
    font-weight: 900;
    text-align: center;
    letter-spacing: .1rem;
    padding-left: 2px;
}
.flow-text {
    background-color: #fff;
    padding: 1rem;
    border-radius: 8px;
}
.back-class2 {
    background-color: #D2EDFF;
}
.question {
    padding: 4rem 0;
}
.question-wrapper {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.question-box {
    background-color: #fff;
    border-radius: 8px;
    padding: 1rem;
    margin: 0 auto 2rem;
}
.question-box h6 {
    color: #4881a6;
    font-weight: 900;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.question-heading {
    position: relative;
    font-size: 1.2rem;
    margin-left: 3rem;
}
.question-heading::before {
    position: absolute;
    content: "Q";
    color: #4881a6;
    font-size: 1.4rem;
    top: -4px;
    left: -2rem;
}
.accordion-tab {
    position: relative;
    background-color: #4881a6;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    cursor: pointer;
}
.accordion-tab::before {
    position: absolute;
    content: "";
    background-color: #fff;
    width: 12px;
    height: 2px;
    top: 49%;
    left: 28%;
}
.accordion-tab::after {
    position: absolute;
    content: "";
    background-color: #fff;
    width: 2px;
    height: 12px;
    top: 28%;
    left: 49%;
    transition: .3s;
}
.accordion-tab.open::after {
    transform: rotate(90deg)
}
.answer-tab {
    display: none;
    background-color: #fff;
    text-align: left;
    padding: 1rem;
    border-radius: 8px;
    margin-left: 3rem;
}
/*-------------事業紹介_ネットワーク----------------*/
.network-content .issue-container {
    width: calc((100% / 3) - 1rem);
    margin-bottom: 2rem;
}
.network-content .issue-box {
    width: 100%;
    padding: 12px;
    margin-bottom: 1rem;
}
.network-content .issue-flex2 {
    display: flex;
    justify-content: space-between;
    width: 40%;
}
.network-content .issue-flex2 .issue-container {
    width: calc(50% - 1rem);
}
.issue-container-control {
    justify-content: space-between;
    width: 60%;
}
.issue-container-control .issue-box {
    width: calc(50% - 1rem);
    margin-left: 1rem;
}
.issue-flex-control {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.issue-flex-control .issue-box {
    width: calc(50% - 1rem);
}
.network-content .advantage-box {
    width: calc(50% - 1rem);
    align-items: baseline;
    margin-top: 0;
}
.network-content .advantage-box:nth-of-type(2n) {
    margin-top: 6rem;
}
.network-content .advantage-number {
    font-size: 3rem;
    top: -24%;
    left: 0;
}
.network-wrapper {
    max-width: 900px;
    margin: 0 auto;
}
.network-wrapper .flow-title {
    color: #004D80;
    font-size: 2rem;
    font-weight: 900;
    text-align: center;
    margin-bottom: 2rem;
}
.network-wrapper .flow-title::before {
    content: none;
}
.network-wrapper .flow-heading {
    font-size: 1.4rem;
}
.network-flow-text {
    margin-bottom: 2rem !important;
}
.network-flow-list {
    background-color: #fff;
    padding: 1rem;
    border-radius: 8px;
}
.network-flow-list-heading {
    font-size: 1.2rem;
}
.network-flow-concept {
    font-size: 1.2rem;
    font-weight: 900;
}
/*-------------事業紹介_インターネット回線----------------*/
.internet-content {
    margin-bottom: 4rem
}
.advantage-heading {
    margin-bottom: 2rem;
    text-align: center;
}
.advantage-title::before {
    content: none;
}
.advantage-main-title {
    display: block;
    color: #223a70;
    font-size: 1.8rem;
    margin-bottom: 8px;
}
.advantage-sub-title {
    display: block;
    color: #223a70;
    font-size: 1rem;
}
.internet-content .issue-container {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    text-align: center;
    width: 100%;
}
.internet-content .issue-container .issue-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(25% - 2rem);
    height: 100px;
}
.internet-content .issue-container2 {
    display: flex;
    justify-content: center;
    align-items: stretch;
    text-align: center;
    width: 100%;
}
.internet-content .issue-container2 .issue-box {
    align-items: center;
    width: calc(25% - 2rem);
    margin-left: 2rem;
}
.internet-content .issue-container2 .issue-box:first-child {
    margin-left: 0;
}
.internet-content .advantage-flex .advantage-box {
    align-items: baseline;
}
.internet-content .advantage-flex .advantage-title {
    font-size: 1.2rem;
    margin-left: 0;
    margin-bottom: 1rem;
}
.internet-wrapper {
    max-width: 800px;
    padding: 4rem 0;
    margin: 0 auto;
    text-align: center;
}
.flow-title-br {
    display: block;
}
/*-------------事業紹介_SNS・WEB運用----------------*/
.marketing-content .issue-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.marketing-content .issue-container {
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    width: calc(50% - 1rem);
    height: 100%;
}
.marketing-content .issue-container .issue-box {
    display: flex;
    align-items: center;
    width: calc(50% - 1rem);
    height: 100px;
}
.marketing-content .issue-text {
    text-align: center;
    width: 100%;
}
.marketing-content .advantage-box {
    width: calc((100% / 4) - 1rem);
}
.marketing-content .advantage-box:first-child {
    margin-top: 9rem;
}
.marketing-content .advantage-box:nth-child(2) {
    margin-top: 6rem;
}
.marketing-content .advantage-box:nth-child(3) {
    margin-top: 3rem;
}
.marketing-content .advantage-box:nth-child(4) {
    margin-top: 0;
}
/*-------------事業紹介_プリンター------------------*/
.printer-content .issue-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.printer-content .issue-box {
    width: calc(33% - 2rem);
    text-align: center;
}
/*-------------事業紹介_ソフトウェア------------------*/
.software-content {
    margin-bottom: 0;
}
.software-content .issue-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.software-content .issue-box {
    width: calc(25% - 1rem);
    text-align: center;
    padding: 1rem;
}
.back-class-software {
    position: relative;
    background-color: #F0F9FF;
    margin-top: 2rem;
    overflow: hidden;
}
.back-class-software::before {
    position: absolute;
    content: "";
    background-color: #fff;
    top: 24%;
    left: -10%;
    width: 120%;
    height: 332px;
    transform: rotate(-10deg);
}
.software-content .advantage {
    padding-top: 0;
}
.software-content .advantage-box {
    width: calc((100% / 4) - 1rem);
}
.software-content .advantage-box:first-child {
    margin-top: 9rem;
}
.software-content .advantage-box:nth-child(2) {
    margin-top: 6rem;
}
.software-content .advantage-box:nth-child(3) {
    margin-top: 3rem;
}
.software-content .advantage-box:nth-child(4) {
    margin-top: 0;
}
/*-------------事業紹介_デザイン------------------*/
.design-content .issue-box {
    width: calc((100% / 3) - 2rem);
    text-align: center;
}
/*-------------フォームボタン------------------*/
.form-link-btn {
    display: inline-block;
    align-items: center;
    position: relative;
    line-height: 1.5;
    border-radius: 3em;
    padding: 1rem 4rem;
    color: #fff !important;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
    transition: .3s ease;
}
.form-link-btn::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 50%;
    right: 8%;
    width: 12px;
    height: 12px;
    background-color: #fff;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    transform: translateY(-50%);
    transition: .3s ease;
}
.form-link-btn:hover::before {
    animation: hoverfloating-x 1s ease-in-out infinite alternate;
}
@keyframes hoverfloating-x {
    0% {
    transform: translateY(-50%) translateX(0%);
    }
    100% {
    transform: translateY(-50%) translateX(-40%);
    }
}
.estimate-form-btn {
    background-color: #c9444e;
    border: solid 1px #c9444e;
}
.estimate-form-btn::before {
    color: #c9444e;
}
.trial-form-btn::before {
    color: #4881a6;
}
.trial-form-btn {
    background-color: #4881a6;
    border: solid 1px #4881a6;
}
.form-link-btn .read-more {
    display: inline-block;
    transform: translateX(-10px);
}
.form-link-btn:hover {
    background-color: #fff;
    opacity: 1;
}
.estimate-form-btn:hover {
    color: #c9444e !important;
}
.estimate-form-btn:hover::before {
    background-color: #c9444e;
}
.trial-form-btn:hover {
    color: #4881a6 !important;
}
.trial-form-btn:hover::before {
    background-color: #4881a6;
}
/*-------------コンタクトフォーム------------------*/
form{
	border-radius: 12px;
}
label {
    display: block;
    font-weight: 900;
    margin-bottom: 0.5em;
    gap: 8px;
}
.wpcf7-form-control {
	margin-bottom: 1em;
}
.wpcf7-form .required {
    display: inline-block;
    background-color: #ff0000;
    color: #fff;
    font-size: .9rem;
    text-align: center;
    vertical-align: middle;
    line-height: 1.4;
    padding: 2px 7px 2px 10px;
    border-radius: 4px;
    margin-top: -4px;
    margin-left: 12px;
}
.wpcf7-form .any {
    display: inline-block;
    color: #004a8e;
    font-size: .9rem;
    text-align: center;
    vertical-align: middle;
    line-height: 1.4;
    padding: 2px 7px 2px 10px;
    border-radius: 4px;
    border: solid 1px #004a8e;
    margin-top: -4px;
    margin-left: 12px;
}
.name-flex {
    display: flex;
    justify-content: space-between;
}
.name-flex p {
    width: 100%;
}
.name-flex p:first-child {
    margin-right: 2rem;
}
input[type=submit],
button[type=submit]{
	display: block;
    background: #0064be;
	color: #fff;;
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    width: auto;
    padding: 0.6rem 3rem;
    border-radius: 4em;
	border: 1px solid #0064be;
    margin: 0 auto;
	transition: .3s;
    cursor: pointer;
}
input[type=submit]:hover,
button[type=submit]:hover{
	color: #0064be;
	background:#fff;
}
form input,
form select,
form textarea,
form button{
    width: 100%;
	max-width:100%;
	padding:.5em;
	border:1px solid #ccc;
	border-radius:4px;
    margin-top: .5em;
}
form textarea {
    height: auto;
}
form button {
    width: 6rem;
}
form :disabled{
	color:#ccc;
	background:#eee;
}
.wpc7-list-item {
    margin: 0;
}
.wpcf7-form-control input[type="checkbox"] {
    transform: scale(1.5);
    width: initial;
    margin: 0;
    vertical-align: middle;
}
.wpcf7-form-control .wpcf7-checkbox {
    text-align: left;
}
.wpcf7-acceptance label {
    display: flex;
    align-items: center;
    justify-content: flex-start; 
}
.wpcf7-list-item {
    margin: 0 !important;
}
#privacy_policy {
    font-size: .8rem;
    height: 360px;
    padding: 1rem;
    border-radius: 12px;
    border: solid 1px #aaa;
    box-shadow: 2px 2px 6px #aaa;
    margin-top: 2rem;
    margin-bottom: 2rem;
    overflow-y: scroll;
}
#remote-support {
    margin-bottom: 2rem;
}
/*-------------お問い合わせページ-----------------*/
.tel-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    vertical-align: middle;
    padding: 2rem !important;
    margin-left: 2rem;
}
.anchor-center {
    align-items: anchor-center;
}
.tel-form-text-tr {
    justify-content: space-around;
    align-items: anchor-center;
}
.tel-form-text h6{
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 0;
}
.full-width-bg, .full-width-bg td {
    position: relative;
    background-color: #f0f9ff;
    padding: 2rem 0;
}
.full-width-bg::before {
    position: absolute;
    content: "";
    background-color: #f0f9ff;
    top: 50%;
    left: 50%;
    width: 100VW;
    height: 100%;
    transform: translate(-50%,-50%);
    z-index: -1;
}
/*-------------リモートサポート------------------*/
.remote-btn .btn {
    width: initial;
    padding: 1rem 3rem;
}
/*-------------タブレット------------------*/
@media screen and (max-width: 1200px) {
    .wrapper {
        width: 90%;
        margin: 0 auto;
    }
    .section-title {
        margin-bottom: 1rem;
    }
    #close_toggle {
        display: block;
        padding: 1em;
        text-align: right;
    }
    
    #gnav_overlay {
        position: fixed;
        display: none;
        width: 100%;
        height: 100vh;
        background: rgba(0,0,0,.7);
        transition: .5s;
        z-index: 90;
        top: 0;
        right: 0;
    }
    .header {
        position: static;
    }
    .header-nav {
        overflow: hidden;
    }
    .header-box-wrap,
    .sns-icon-box {
        display: none !important;
    }
    .sp-menu-content {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background-color: #fff;
        transition: .3s;
        z-index: 100;
        padding-top: 6rem;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
    }
    .header-box-wrap-sp,
    .sns-icon-box-sp {
        display: none;
    }
    .open .sp-menu-content .header-box-wrap-sp,
    .open .sp-menu-content .sns-icon-box-sp {
        display: flex !important;
    }
    .header-box-wrap-sp {
        width: 100%;
        padding: 0 2rem;
        margin-top: 1rem;
        flex-direction: column;
        gap: 1rem;
    }
    .header-box-wrap {
        margin-left: 0;
    }
    .sns-icon-box-sp {
        width: 100%;
        justify-content: center;
        padding: 1.5rem;
        gap: 2rem;
        margin-top: 0.5rem;
    }
    .header-box-wrap-sp .contact-link,
    .header-box-wrap-sp .request-link {
        display: block;
        width: 100%;
        text-align: center;
        margin-left: 0;
    }
    .header-list {
        position: relative;
        right: 0;
        width: 100%;
        height: auto;
        padding-top: 0;
        background-color: transparent;
    }
    .open .sp-menu-content {
        right: 0;
    }
    .head-wrapper {
        justify-content: space-between;
        align-items: center;
        padding: 0 1rem;
    }
    .header .header-logo {
        width: 200px;
    }
    .header-nav #nav_toggle {
        position: fixed;
        display: flex;
        align-items: center;
        height: 40px;
        top: 1px;
        right: 2rem;
        z-index: 1000;
        cursor: pointer;
    }
    .header-nav #nav_toggle #nav_toggle_icon {
        display: block;
        width: 40px;
        height: 0px;
        background: #00abeb;
        transition: .8s;
        z-index: 90;
    }
    .header-nav #nav_toggle_text {
        position: absolute;
        display: block;
        font-size: 0.7rem;
        letter-spacing: .2rem;
        color: #00abeb;
        right: -14%;
        bottom: -36%;
        z-index: 90;
    }
    .header-nav #nav_toggle #nav_toggle_icon:before,
    .header-nav #nav_toggle #nav_toggle_icon:after {
        position: absolute;
        display: block;
        content: "";
        width: 44px;
        height: 2px;
        background: #00abeb;
        transition: .3s;
        top: 50%;
        left: 0;
    }
    .header-nav #nav_toggle #nav_toggle_icon:before {
        margin-top: -4px;
    }
    .header-nav #nav_toggle #nav_toggle_icon:after {
        margin-top: 8px;
    }
    .header-nav #nav_toggle.close {
        background: rgba(0,0,0,0);
        transition: .3s;
    }
    .header-nav #nav_toggle.close #nav_toggle_icon:before {
        background-color: #00abeb;
        margin-top: -1px;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    .header-nav #nav_toggle.close #nav_toggle_icon:after {
        background-color: #00abeb;
        margin-top: -1px;
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        top: 50%;
    }
    .header-nav #nav_toggle.close #nav_toggle_icon {
        background-color: transparent;
    }
    .header-nav #nav_toggle.close #nav_toggle_text {
        color: #00abeb;
    }
    .open .header-list {
        display: block;
        right: 0;
    }
    .header-item {
        border-bottom: solid 1px #00abeb;
        margin-left: 0;
    }
    .header-item:first-child {
        border-top: solid 1px #00abeb;
    }
    .header-list .header-item {
        margin-left: 0;
    }
    .header-list .header-item .header-link:hover {
        opacity: 1;
    }
    .header-list .header-item .header-link {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding: 1rem 0 1rem 2rem;
        color: #000;
    }
    .header-list .header-item .header-link .header-link-en,
    .header-list .header-item .header-link .header-link-ja {
        color: #000;
    }
    .header-link .header-link-en {
        margin-left: 1rem;
    }
    .header .sns-icon-box {
        display: flex;
        justify-content: space-between;
    }
    .header .sns-icon-box .sns-link {
        margin: 0 auto;
    }
    .header .sns-icon-box img {
        width: 40px;
        height: 40px;
    }
    .header-item:hover .header-sub-list {
        display: none;
    }
/*---------------メインビジュアル_タブレット----------------*/
    .main-visual {
        min-width: calc(100vw - 15px);
        height: calc(100dvh - 57px);
        margin-top: 0;
    }
    .main-slider-pc {
        display: none;
    }
    .main-slider-sp {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
    }
/*--------------メインスライダー1枚目_タブレット----------------*/
    .main-slider1-sp {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 25;
        transition: .6s ease-in-out;
    }
    .main-slider1-parts {
        font-size: 2.4rem;
        letter-spacing: .1rem;
        color: #fff;
        width: 200px;
        height: 200px;
        padding: 1rem;
        opacity: 0;
        transform: translate(-50%, -45%);
        transition: .4s ease;
    }
    .main-slider1-sp .main-slider1-person {
        background-color: #3fb5d1;
        top: 25%;
        left: 200px;
    }
    .main-slider1-sp .main-slider1-company {
        background-color: #a06dad;
        top: 50%;
        left: 200px;
    }
    .main-slider1-sp .main-slider1-region {
        background-color: #87c54f;
        top: 75%;
        left: 200px;
    }
    .main-slider.slick-active .main-slider1-parts {
        transform: translate(-50%, -50%);
        z-index: 20;
    }
    .main-slider.slick-active .main-slider1-person {
        opacity: 1;
        top: 25%;
        left: 200px;
        transition-delay: 0s, 0s;
        transition-property: opacity, transform;
    }
    .main-slider.slick-active .main-slider1-company {
        opacity: 1;
        top: 50%;
        left: 200px;
        transition-delay: 0s, 0s;
        transition-property: opacity, transform;
    }
    .main-slider.slick-active .main-slider1-region {
        opacity: 1;
        top: 75%;
        left: 200px;
        transition-delay: 0s, 0s;
        transition-property: opacity, transform;
    }
    .main-slider1-logo-sp {
        position: absolute;
        width: 240px;
        top: 50%;
        left: calc(100% - 160px);
        z-index: 30;
        transform: translate(-50%, -50%);
    }
    .main-slider1-logo-sp img {
        width: 100%;
        height: auto;
        object-fit: cover;
        opacity: 0;
        transform: translate(2em, 0) rotate(180deg);
        transition: .4s ease;
    }
    .main-slider.slick-active .main-slider1-logo-sp img {
        transform: translate(0, 0) rotate(0deg);
        opacity: 1;
        transform-origin: center;
        transition-delay: 400ms, 400ms, 400ms;
        transition-property: opacity, transform;
    }
    .arrow-line {
        position: absolute;
        height: 50%;
        top: 50%;
        left: 50%;
        z-index: 15;
        transform: translate(-50%, -50%);
    }
    .arrow-line img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .arrow-line-cover {
        position: absolute;
        background-color: #ffffff;
        top: 50%;
        left: 192px;
        z-index: 15;
        width: 100%;
        height: 100%;
        transform: translate(-50%, -50%) scale(1,1);
        overflow: hidden;
        transform-origin: right;
        transition: .6s ease-in;
    }
    .main-slider.slick-active .arrow-line-cover {
        transform: translate(-50%, -50%) scale(0,1);
        transition-delay: 800ms;
        transition-property: transform;
    }
    .main-slider.slick-active .main-slider1-sp {
        left: -100%;
        transition-delay: 1400ms;
        transition-property: left;
    }
/*-------------メインスライダー2------------------*/
    .main-slider2 {
        position: absolute;
        top: 50%;
        right: 0;
        z-index: 20;
        width: 100%;
        height: 100%;
        margin: auto;
        overflow: hidden;
        transition: 1s ease-out;
        transform: translateY(-50%);
    }
    .main-slider2-container {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        height: 100%;
        align-items: baseline;
        background-color: transparent;
        border-radius: 5px;
        padding: 1rem;
        opacity: 0;
        transform: translateX(100%);
        transition: .8s ease;
    }
    .main-slider.slick-active .main-slider2-container {
        transform: translateX(0%);
        opacity: 1;
        transition-delay: 1600ms, 1600ms;
        transition-property: opacity, transform;
    }
    .main-slider2-container .main-slider2-service {
        display: flex;
        align-items: center;
        background-color: #D2EDFF;
        width: 100%;
        height: calc(12.5% - 1rem);
        border-radius: 5px;
        padding: 1rem;
        border-left: 10px solid #005fa3;
        margin-bottom: 1rem;
        opacity: 0;
        transform: translateX(100%);
        transition: .4s ease-out;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service {
        opacity: 1;
        transform: translateX(0%);
        transition-property: opacity, transform;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(1) {
        transition-delay: 1800ms, 1800ms;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(2) {
        transition-delay: 1850ms, 1850ms;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(3) {
        transition-delay: 1900ms, 1900ms;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(4) {
        transition-delay: 1950ms, 1950ms;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(5) {
        transition-delay: 2000ms, 2000ms;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(6) {
        transition-delay: 2150ms, 2150ms;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(7) {
        transition-delay: 2200ms, 2200ms;
    }
    .main-slider.slick-active .main-slider2-container .main-slider2-service:nth-child(8) {
        transition-delay: 2250ms, 2250ms;
    }
    .main-slider2-container .main-slider2-service:last-child {
        margin-bottom: 0;
    }
    .main-slider2-service-title {
        font-size: 1.8rem;
        font-weight: 900;
        letter-spacing: .1rem;
    }
    .main-slider.slick-active .main-slider2 {
        opacity: 0;
        transition-delay: 5500ms;
        transition-property: opacity;
    }
    .main-slider3 {
        opacity: 0;
        transition: opacity 1.2s ease;
    }
    .main-slider.slick-active .main-slider3 {
        opacity: 1;
        transition-delay: 6000ms;
        transition-property: opacity;
    }
    .main-slider3-logo {
        position: absolute;
        top: 36%;
        left: -12%;
        width: 112%;
        height: auto;
        z-index: 20;
        overflow: hidden;
    }
    .main-slider3-logo img {
        width: 112%;
        height: auto;
        object-fit: cover; 
    }
    .main-slider3-copy {
        position: absolute;
        top: 8%;
        left: 6%;
        text-align: left;
        transition: .3s;
        z-index: 30;
    }
    .main-slider3-copy-text {
        font-size: 10vw;
        font-family: 'Noto Serif JP', serif;
        -webkit-text-stroke: 6px #fff;
        font-weight: 900;
        paint-order: stroke;
    }
/*---------------製品紹介スライダー----------------*/
    .service-slider {
        min-width: calc(100vw - 15px);
    }
    .service-slider-full {
        display: none;
    }
    .service-slider-responsive {
        display: block;
        width: 100vw;
        height: 100%;
    }
    .service-slider-back-parts {
        position: absolute;
        opacity: .5;
        transform: translateY(-100%);
        z-index: 10;
        overflow: hidden;
    }
    .service-slider.slick-active .service-slider-back-parts {
        transform: translateY(100%);
        transition-property: transform;
    }
    .service-slider .parts1 {
        top: 0%;
        left: 12%;
        transition: 15s linear;
    }
    .service-slider .parts2 {
        top: 4%;
        right: 28%;
        transition: 12s linear;
    }
    .service-slider .parts3 {
        top: -20%;
        right: 32%;
        transition: 19s linear;
    }
    .service-slider .parts4 {
        top: 12%;
        left: 40%;
        transition: 18s linear;
    }
    .service-slider .parts5 {
        top: 8%;
        right: 8%;
        transition: 20s linear;
    }
    .service-slider .parts6 {
        top: 28%;
        left: 12%;
        transition: 14s linear;
    }
    .service-slider .parts7 {
        top: -36%;
        right: 16%;
        transition: 11s linear;
    }
    .service-slider-back-parts img {
        width: 75%;
        height: 75%;
        object-fit: cover;
    }
    .service-slider-responsive .split-text {
        top: 30%;
        left: 0;
        right: 0;
        font-size: 10vw;
        text-align: center;
        opacity: 1;
        transition: .5s ease;
    }
    .service-slider.slick-active .split-text {
        visibility: visible;
        opacity: 0;
        transition-delay: 2500ms;
        transition-property: opacity;
    }
    .split-text .char {
        display: inline-block;
        opacity: 0;
        transform: translateY(120%);
        transition: .5s;
    }
    .service-slider-responsive .service-map-sp {
        position: absolute;
        top: 0;
        left: 0%;
        height: calc(100dvh - 57px);
        z-index: 30;
    }
    .service-slider-responsive #tab-1,
    .service-slider-responsive #tab-2,
    .service-slider-responsive #tab-3 {
        transform: translateX(-100%);
        transition: .6s ease;
    }
    #kanri-icon, #kanri-text,
    #gyoumu-icon, #gyoumu-text,
    #sien-icon, #sien-text {
        opacity: 0;
        transform: translateX(-2em);
        transition: .8s ease;
    }
    .service-slider.slick-active .service-slider-responsive #tab-1,
    .service-slider.slick-active .service-slider-responsive #tab-2,
    .service-slider.slick-active .service-slider-responsive #tab-3 {
        transform: translateX(0%);
        transition-property: transform;
    }
    .service-slider.slick-active .service-slider-responsive #tab-1 {
        transition-delay: 2000ms;
    }
    .service-slider.slick-active .service-slider-responsive #tab-2 {
        transition-delay: 2200ms;
    }
    .service-slider.slick-active .service-slider-responsive #tab-3 {
        transition-delay: 2400ms;
    }
    .service-slider-responsive #line {
        transform: scaleY(0);
        transition: 1s ease-out;
    }
    .service-slider.slick-active .service-slider-responsive #line {
        transform: scaleY(100%);
        transition-delay: 3000ms;
        transition-property: transform;
    }
    .service-slider.slick-active .service-slider-responsive #kanri-icon {
        opacity: 1;
        transform: translateX(0);
        transition-delay: 3500ms;
        transition-property: opacity, transform;
    }
    .service-slider.slick-active .service-slider-responsive #kanri-text {
        opacity: 1;
        transform: translateX(0);
        transition-delay: 3800ms;
        transition-property: opacity, transform;
    }
    .service-slider.slick-active .service-slider-responsive #gyoumu-icon {
        opacity: 1;
        transform: translateX(0);
        transition-delay: 4100ms;
        transition-property: opacity, transform;
    }
    .service-slider.slick-active .service-slider-responsive #gyoumu-text {
        opacity: 1;
        transform: translateX(0);
        transition-delay: 4400ms;
        transition-property: opacity, transform;
    }
    .service-slider.slick-active .service-slider-responsive #sien-icon {
        opacity: 1;
        transform: translateX(0);
        transition-delay: 4700ms;
        transition-property: opacity, transform;
    }
    .service-slider.slick-active .service-slider-responsive #sien-text {
        opacity: 1;
        transform: translateX(0);
        transition-delay: 5000ms;
        transition-property: opacity, transform;
    }
    .service-slider-sp {
        top: 76%;
        right: 6%;
        width: auto;
    }
    .service-slider-sp img {
        display: block;
        width: auto;
        margin-right: 0;
        margin-left: auto;
    }
/*--------導入事例スライダー_タブレット-----------*/
    .model-case-slider-pc {
        display: none;
    }
    .model-case-slider-sp {
        display: block;
    }
    .model-case-slider {
        position: relative;
        background: #d2edff;  
        background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);  
        width: 100%;
        min-width: calc(100vw - 15px);
        height: 100%;
    }
    .circles {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
    .circles li {
        position: absolute;
        display: block;
        list-style: none;
        width: 20px;
        height: 20px;
        background: rgba(71, 89, 190, 0.2);
        animation: animate 25s linear infinite;
        bottom: -150px;
    }
    .circles li:nth-child(1){
        left: 25%;
        width: 40px;
        height: 40px;
        animation-delay: 0s;
    }
    .circles li:nth-child(2){
        left: 10%;
        width: 20px;
        height: 20px;
        animation-delay: 2s;
        animation-duration: 3.5s;
    }
    .circles li:nth-child(3){
        left: 70%;
        width: 20px;
        height: 20px;
        animation-delay: 4s;
    }
    .circles li:nth-child(4){
        left: 40%;
        width: 40px;
        height: 40px;
        animation-delay: 0s;
        animation-duration: 7s;
    }
    .circles li:nth-child(5){
        left: 65%;
        width: 10px;
        height: 10px;
        animation-delay: 0s;
    }
    .circles li:nth-child(6){
        left: 75%;
        width: 60px;
        height: 60px;
        animation-delay: 1.5s;
    }
    .circles li:nth-child(7){
        left: 35%;
        width: 100px;
        height: 100px;
        animation-delay: 2s;
    }
    .circles li:nth-child(8){
        left: 50%;
        width: 25px;
        height: 25px;
        animation-delay: 15s;
        animation-duration: 8s;
    }
    .circles li:nth-child(9){
        left: 20%;
        width: 15px;
        height: 15px;
        animation-delay: 2s;
        animation-duration: 6s;
    }
    .circles li:nth-child(10){
        left: 85%;
        width: 75px;
        height: 75px;
        animation-delay: 0s;
        animation-duration: 9s;
    }
    @keyframes animate {
        0%{
            transform: translateY(0) rotate(0deg);
            opacity: 1;
            border-radius: 0;
        }
        100%{
            transform: translateY(-1000px) rotate(720deg);
            opacity: 0;
            border-radius: 50%;
        }
    }
    .customer {
        display: inline-block;
        color: #fff;
        background-color: #00aad6;
        border-radius: 8px;
        padding: 1.6rem;
        margin: 2rem auto 0 auto;
        opacity: 0;
        transform: translateY(20px);
        transition: .3s;
    }
    .customer-title {
        font-size: 1.6rem;
        font-weight: bold;
        margin-bottom: 8px;
    }
    .model-case-slider.slick-active .customer {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 100ms;
        transition-property: opacity, transform;
    }
    .slider-track {
        position: absolute;
        display: flex;
        align-items: center; 
    }
    .track1 {
        top: 8%;
        left: 6%;
        transition: 10.5s linear;  
    }
    .model-case-slider.slick-active .track1 {
        left: -60%;
        transition-property: left;
    }
    .track2 {
        top: 56%;
        left: 30%;
        transition: 10.5s linear;  
    }
    .model-case-slider.slick-active .track2 {
        left: -40%;
        transition-property: left;
    }
    .track3 {
        top: 36%;
        left: 84%;
        transition: 10.5s linear; 
    }
    .model-case-slider.slick-active .track3 {
        left: -48%;
        transition-property: left;
    }
    .track4 {
        top: 16%;
        left: 100%;
        transition: 10.5s linear; 
    }
    .model-case-slider.slick-active .track4 {
        left: 24%;
        transition-property: left;
    }
    .track5 {
        top: 64%;
        left: 140%;
        transition: 10.5s linear;  
    }
    .model-case-slider.slick-active .track5 {
        left: 12%;
        transition-property: left;
    }
    .slider-item {
        position: relative;
        width: 382px;
        height: 12%;
        transition: .4s;
    }
    .slider-item:last-child {
        margin-right: 0;
    }
    .blur-container .slider-item img {
        width: 100%;
        height: 100%;
        border-radius: 8px;
        object-fit: cover;
        box-shadow: 2px 2px 10px #666;
    }
    .slider-track .model-case-item-heading {
        top: -8%;
    }
    .slider-track .model-case-item-number {
        top: -12%;

    }
    .blur-container {
        position: absolute;
        width: 300%;
        opacity: .5;
        z-index: -1;
    }
    .blur-container .slider-item img {
        filter: blur(8px);
    }
    .blur-container .slider-track {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: 30s linear; 
    }
    .model-case-slider.slick-active .blur-container .slider-track {
        left: -100%
    }
    .model-case-slider.slick-active .blur-container .slider-item {
        position: absolute;
        height: auto;
        opacity: 1;
    }
    .blur-container .item1 {
        top: 62%;
        left: 6%;
    }
    .blur-container .item2 {
        top: 30%;
        left: 16%;
    }
    .blur-container .item3 {
        top: 76%;
        left: 28%;
    }
    .blur-container .item4 {
        top: 32%;
        left: 38%;
    }
    .blur-container .item5 {
        top: 44%;
        left: 88%;
    }
/*--------リクルートスライダー-----------*/
    .recruit-slider {
        width: 100%;
        min-width: calc(100vw - 15px);
    }
    .recruit-slider-pc {
        display: none;
    }
    .recruit-slider-sp {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
    }
    .recruit-slider-blue {
        top: -8%;
        left: 0%;
        width: 120%;
        height: 50%;
        transform: skew(0deg,8deg);
        z-index: 25;
        border-right: none;
        border-bottom: solid 4px #e4e56b;
        outline: solid 6px #004A8E;
        outline-offset: -1px;
    }
    .recruit-slider-text-container {
        position: absolute;
        top: 4%;
        left: 0;
        right: 0;
        width: fit-content;
        margin: 0 auto;
        text-align: center;
        z-index: 40;
    }
    .recruit-slider-title {
        position: relative;
        width: 74vw;
        height: auto;
        margin-bottom: 1rem;
        overflow: hidden;
        z-index: -1;
    }
    .recruit-slider-text-box {
        position: absolute;
        top: 25%;
        left: 13vw;
        right: 0;
        z-index: 40;
    }
    .recruit-slider-text {
        font-size: 5vw;
        color: #fff;
        text-shadow: 1px 1px 1px #000;
        text-align: left;
        letter-spacing: .1rem;
    }
    .recruit-back-imitation {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: auto;
        z-index: 20;
    }
    .recruit-back-imitation img {
        transform: scale(-1, 1);
    }
    .recruit-slider-img-sp {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 70vh;
        overflow: hidden;
        z-index: 20;
    }
    .recruit-slider-img-container {
        position: relative;
        width: 100%;
        height: 100%;
    }
    .recruit-slider-img-filter {
        position: absolute;
        top: 0;
        left: 0;
        background-size: cover;
        background-position: center 80%;
        background-repeat: no-repeat;
        width: 100%;
        height: 100%;
        margin-left: 0;
    }
    .recruit-slider-img2 {
        background-position: top;
    }
    .recruit-slider-img3 {
        background-position: top;
    }
    @keyframes recruit-img-fadein {
        0% {
            opacity: 0;
            transform: scale(1.0);
        }
        20% {
            opacity: 1;
        }
        100% {
            opacity: 1;
            transform: scale(1.1);
        }
    } 
    .recruit-slider-back-ground {
        background-image: url("img/recruit-slider/recruit-back-sp.webp");
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
/*---------------リモートサポート----------------*/
    .support-box {
        position: static;
        display: none;
    }
/*-------------information_タブレット------------------*/
    .information {
        padding: 2rem 0;
    }
    .information-container {
        flex-direction: column;
    }
    .news-section {
        width: 100%;
        padding: 0;
        margin-bottom: 2rem;
    }
    .news-img {
        height: 100%;
        overflow: hidden;
        flex-shrink: 0;
    }
    .news-img img {
        height: 100%;
        object-position: center;
    }
    .news-inner {
        text-align: left;
        flex-direction: column;
        justify-content: center;
    }
    .news-inner .news-link {
        display: block;
        width: 100%;
    }
    .news-text-inner {
        display: flex;;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }
    .news-inner .news-data {
        margin-bottom: .2rem;
    }
    .column-category {
        display: inline-block;
        background-color: #c9444e;
        color: #fff;
        font-size: .8rem;
        border-radius: 12px;
        padding: 2px 1rem;
    }
    .category {
        display: inline-block;
        background-color: #4881a6;
        color: #fff;
        font-size: .8rem;
        border-radius: 12px;
        padding: 2px 1rem;
    }
    .instagram-section {
        width: 100%;
        padding: 0;
    } 
/*-------------products_タブレット------------------*/
    .products {
        padding: 2rem 0;
        background-size: cover;
        background-position: bottom;
        z-index: 20;
    }
    .products-flex {
        flex-direction: column-reverse;
        align-items: center;
    }
    .products-text-box {
        width: 100%;
        text-align: left;
        margin-bottom: 2rem;
    }
    .products-map {
        width: 104%;
        margin-left: 0;
        margin-bottom: 1rem;
    }
/*-------------導入事例_タブレット------------------*/
    .model-case-section {
        padding: 2rem 0;
    }
    .model-case-section::before {
        height: 40%;
        top: initial;
        bottom: 0;
    }
    .model-case {
        padding: 2rem 0;
    }
    .model-case-list .model-case-item {
        width: calc((100% / 3) - 1rem);
        height: 280px;
        margin-bottom: 4rem;
    }
    .dots-wrap li {
        width: 6%;
    }
/*-------------Service_タブレット------------------*/
    .service {
        padding: 2rem 0;
    }
    .service-title {
        font-size: 1.4rem;
    }
    .service-flex {
        margin-bottom: 2rem
    }
    .service-content {
        width: calc(50% - 2rem);
        margin-left: 1rem;
        margin-bottom: 1rem;
    }
    .service-content:nth-of-type(3n+1) {
        margin-left: 1rem;
    }
    .service-content:nth-of-type(2n) {
        margin-left: 2rem;
    }
    .content-inner .service-btn-container {
        position: absolute;
        bottom: 12%;
        right: 6%;
    }
    .content-img img {
        width: 100%;
        height: auto;
    }
/*-------------テキストスクロール_タブレット------------------*/
    .scroll-container {
        margin-top: 0;
    }
    .scroll-text {
        font-size: 8vw;
        animation: scroll 40s linear infinite;
    }
/*-------------RECRUIT------------------*/
    .recruit {
        padding: 2rem;
    }
    .recruit::before {
        height: 228px;
        bottom: 15%;
        left: 2%;
    }
    .recruit-container {
        flex-direction: column-reverse;
        align-items: center;
    }
    .recruit-text-box {
        width: 100%;
        text-align: left;
    }
    .recruit-img {
        width: 100%;
        margin-bottom: 1rem;
    }
    .recruit .btn-container {
        text-align: center;
    }
/*-------------contact------------------*/
    .contact {
        padding: 2rem 0;
    }
    .contact-text-box {
        margin-bottom: 1rem;
    }
/*-------------フッター_タブレット------------------*/
    #footer .footer-flex {
        align-items: flex-start;
    }
    #footer .footer-nav {
        margin-bottom: 1rem;
    }
    #footer .footer-list {
        flex-direction: column;
        text-align: left;
    }
    #footer .footer-item {
        margin-bottom: 1rem;
    }
    #footer .footer-list .footer-link {
        margin-left: 0;
    }
    #footer .footer-sns-icon-box {
        flex-direction: column;
        align-items: flex-end;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
    .footer-sns-link {
        margin-bottom: 2rem;
    }
    #footer .footer-information {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 1rem;
    }
    #footer .footer-list .footer-item {
        margin-left: 0;
    }
    #footer .footer-information address {
        flex-direction: column;
    }
    #footer .footer-information .company-name {
        font-size: 1.2rem;
    }
    #footer .footer-logo {
        margin-bottom: 1rem;
    }
    #footer .footer-logo img {
        width: 100%;
    }
    #footer .copyright {
        color: #000;
        background-color: #fff;
        text-align: center;
        padding: 1rem 0;
    }
    #footer .copy {
        font-size: .8rem;
    }
    #footer .address-br {
        display: none;
    }
    #footer .copy {
        font-size: 1.6vw;
    }
    /*-------------個別ページ設定_タブレット------------------*/
    .page-content {
        padding-top: 1rem;
    }
    .article-container {
        margin-top: 0;
    }
    .article-container .article-wrapper {
        padding: 2rem 1rem;
    }
    .page-content img {
        width: 100%;
    }
    .page-content p {
        margin-bottom: .5rem;
    }
    .page-content h4 {
        margin-left: 1rem;
    }
/*-------------導入事例アーカイブページ_タブレット------------------*/
    .archive-example .model-case {
        padding: 2rem 0;
    }
    .archive-example-tab {
        margin: 2rem 0 2rem 1rem;
    }
    .archive-example-tab li {
        font-size: .8rem;
        width: calc((100% / 4) - 1rem);
    }
    .archive-example .model-case-list {
        margin-left: 1rem;
    }
    .archive-example .model-case-item {
        width: calc(50% - 1rem);
        height: auto;
        margin-bottom: 1rem;
        margin-left: 0;
    }
    .archive-example .model-case-tag {
        display: block;
    }
    .archive-example .model-case-tag-icon img {
        max-width: 36px;
    }
    /*-------------事業紹介_ホームページ_タブレット------------------*/
    .issue-flex {
        margin-bottom: 2rem;
    }
    .issue-container {
        width: calc(33% - 1rem);
    }
    .issue-heading-box::before {
        bottom: 8px;
    }
    .issue-heading::before {
        bottom: -2px;
    }
    .issue-heading::after {
        bottom: -4px;
    }
    .issue-box {
        width: 100%;
        text-align: left;
        padding: 1rem;
        margin-bottom: 2rem;
    }
    .issue-solution {
        text-align: center;
        font-size: 1.1rem;
    }
    .issue-solution br:first-child,
    .issue-solution br:last-child {
        display: none;
    }
    .back-class::before {
        height: 200px;
    }
    .advantage {
        padding-top: 4rem;
        margin: 0 auto;
    }
    .advantage .issue-title {
        margin-bottom: 2rem;
    }
    .advantage-flex {
        margin-bottom: 1rem;
    }
    .advantage-read {
        font-size: 1.2rem;
        top: -6%;
        left: 0;
    }
    .advantage-number {
        font-size: 2rem;
        top: -8%;
    }
    .advantage-box {
        width: calc((100% / 3) - 1rem);
        padding: 1rem;
        margin-bottom: 2rem;
    }
    .advantage-box:first-child {
        margin-top: 6rem;
    }
    .advantage-box:nth-child(2) {
        margin-top: 3rem;
    }
    .advantage-box:nth-child(3) {
        margin-top: 0;
    }
    .advantage-img {
        width: 100%;
        height: auto;
        margin-bottom: 1rem;
    }
    .advantage-img img {
        height: 160px;
    }
    .homepage-wrapper {
        width: 80%;
        max-width: 100%;
        text-align: center;
    }
    .flow-plus-box {
        max-width: calc(100% - 72px);
    }
    .question-wrapper {
        padding: 1rem;
    }
    .answer-tab {
        display: none;
        background-color: #fff;
        text-align: left;
        padding: 1rem;
        border-radius: 8px;
        margin-left: 1rem;
    }
/*-------------事業紹介_ネットワーク_タブレット----------------*/
    .network-content .issue-title {
        margin-bottom: 4rem;
    }
    .network-content .advantage-box:first-child {
        margin-top: 0rem;
    }
    .network-content .advantage-box:nth-of-type(2n) {
        margin-top: 6rem;
    }
    .network-content .advantage-box:nth-of-type(3) {
        margin-top: -1rem;
    }
    .network-content .advantage-box:nth-of-type(5) {
        margin-top: -3rem;
    }
    .network-wrapper {
        width: 80%;
        max-width: 900px;
    }
    /*-------------事業紹介_プリンター_タブレット------------------*/
    .printer-content .issue-flex {
        margin-bottom: 1rem;
    }
    .printer-content .issue-box {
        width: calc(33% - 1rem);
    }
    /*-------------事業紹介_ソフトウェア_タブレット------------------*/
    .software-content .issue-flex {
        margin-bottom: 1rem;
    }
    .software-content .issue-box {
        width: calc(50% - 1rem);
    }
    .software-content .advantage-box {
        width: calc((100% / 2) - 1rem);
    }
    .software-content .advantage-box:first-child,
    .software-content .advantage-box:nth-child(2) {
        margin-top: 0;
        margin-bottom: 4rem;
    }
    .software-content .advantage-box:nth-child(3), 
    .software-content .advantage-box:nth-child(4) {
        margin-top: 0;
        margin-bottom: 0;
    }
/*-------------事業紹介_インターネット回線_タブレット----------------*/
    .internet-content {
        margin-bottom: 2rem;
    }
    .internet-content .issue-container {
        flex-wrap: wrap;
    }
    .internet-content .issue-container .issue-box {
        width: calc(50% -1rem);
        height: auto;
    }
    .internet-content .issue-container2 .issue-box {
        width: calc((100% / 3) - 1rem);
        height: auto;
    }
    .internet-wrapper {
        width: 80%;
        max-width: 100%;
        text-align: center;
    }
/*-------------事業紹介_SNS・WEB運用_タブレット----------------*/
    .marketing-content .issue-container {
        width: calc(50% - 8px);
        height: 100%;
    }
    .marketing-content .issue-container .issue-box {
        width: calc(50% - 8px);
        height: 120px;
        padding: 12px;
    }
    .marketing-content .issue-text {
        text-align: center;
        width: 100%;
    }
    .marketing-content .advantage-flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .marketing-content .advantage-box {
        width: calc(50% - 1rem);
        margin-bottom: 4rem;
    }
    .marketing-content .advantage-number {
        top: -10%;
    }
    .marketing-content .advantage-box:first-child {
        margin-top: 0;
    }
    .marketing-content .advantage-box:nth-child(2) {
        margin-top: 0;
    }
    .marketing-content .advantage-box:nth-child(3) {
        margin-top: 0;
    }
    .marketing-content .advantage-box:nth-child(4) {
        margin-top: 0;
    }
/*-------------事業紹介_デザイン_タブレット------------------*/
    .design-content .issue-box {
        width: calc((100% / 3) - 1rem);
    }
/*-------------TOPICSページの設定_タブレット------------------*/
    .page-content .content-title {
        margin-bottom: 2rem;
    }
    .page-content .example-flex {
        margin-bottom: 2rem;
    }
    .page-content .example-list {
        width: calc(33% - 1rem);
        height: auto;
        border: solid .5px #dddddd;
        padding: 1rem 8px;
        margin-left: 1rem;
    }
    .page-content .example-list:nth-child(3n+1) {
        margin-left: 8px;
    }
    .page-content .example-list .example-title {
        margin-bottom: 12px;
    }
    .page-content .btn {
        width: 52%;
    }
    /*-------------コンタクトフォーム_タブレット------------------*/
    form input,
    form select,
    form textarea,
    form button{
        width: 100%;
    }
    /*-------------お問い合わせページ_タブレット------------------*/
    .tel-form {
        margin-left: 0;
    }
    .tel-form-text td:nth-child(2) {
        text-align: center;
    }
    .full-width-bg, .full-width-bg td {
        background-color: #F0F9FF !important;
    }
}
@media screen and (max-width: 767px) {
    body {
        font-size: 14px;
    }
    .main-visual {
        height: calc(100dvh - 57px);
    }
    .service-icon {
        display: none;
    }
/*--------------メインスライダー1枚目----------------*/
    .main-slider1-sp {
        transition: .6s ease-in-out;
    }
    .main-slider1-parts {
        font-size: 1.2rem;
        width: 100px;
        height: 100px;
        padding: 1rem;
        opacity: 0;
        transition: .4s ease;
    }
    .main-slider1-sp .main-slider1-person {
        left: 80px;
    }
    .main-slider1-sp .main-slider1-company {
        left: 80px;
    }
    .main-slider1-sp .main-slider1-region {
        left: 80px;
    }
    .main-slider.slick-active .main-slider1-person {
        left: 80px;
    }
    .main-slider.slick-active .main-slider1-company {
        left: 80px;
    }
    .main-slider.slick-active .main-slider1-region {
        left: 80px;
    }
    .main-slider1-logo-sp {
        position: absolute;
        width: 100px;
        top: 50%;
        left: 82%;
        z-index: 30;
        transform: translate(-50%, -50%);
    }
    .main-slider1-logo-sp img {
        opacity: 0;
        transform: translate(2em, 0) rotate(180deg);
        transition: .4s ease;
    }
    .main-slider.slick-active .main-slider1-logo-sp img {
        transform: translate(0, 0) rotate(0deg);
        opacity: 1;
        transform-origin: center;
        transition-delay: 400ms, 400ms, 400ms;
        transition-property: opacity, transform;
    }
    .arrow-line {
        position: absolute;
        height: 50%;
        top: 50%;
        left: 192px;
    }
    .arrow-line-cover {
        top: 50%;
        left: 192px;
        width: 50%;
        height: 50%;
        transition: .6s ease-in;
    }
    .main-slider.slick-active .arrow-line-cover {
        transform: translate(-50%, -50%) scale(0,1);
        transition-delay: 800ms;
        transition-property: transform;
    }
    .main-slider.slick-active .main-slider1-sp {
        left: -100%;
        transition-delay: 1400ms;
        transition-property: left;
    }
    .main-slider2 {
        transition: 1s ease-out;
        transform: translateY(-50%);
    }
    .main-slider2-container .main-slider2-service {
        padding: 1rem 1rem 1rem 8px;
        border-left: 7px solid #005fa3;
    }
    .main-slider2-service-title {
        font-size: 1rem;
        font-weight: 900;
    }
    .service-slider-responsive .split-text {
        top: 40%;
    }
    .service-slider-responsive .service-slider-pc {
        display: none;
    }
    .service-slider-responsive .service-map-sp {
        display: block;
    }
    .service-slider-responsive .service-map-sp {
        position: absolute;
        top: 0;
        left: 0%;
        height: 100%;
        z-index: 30;
    }
    .service-slider-sp {
        display: none;
    }
    .model-case-slider-pc {
        display: none;
    }
    .model-case-slider-sp {
        display: block;
    }
    .circles li:nth-child(1){
        width: 40px;
        height: 40px;
    }
    .circles li:nth-child(2){
        width: 20px;
        height: 20px;
    }
    .circles li:nth-child(3){
        width: 20px;
        height: 20px;
    }
    .circles li:nth-child(4){
        width: 40px;
        height: 40px;
    }
    .circles li:nth-child(5){
        width: 10px;
        height: 10px;
    }
    .circles li:nth-child(6){
        width: 60px;
        height: 60px;
    }
    .circles li:nth-child(7){
        width: 100px;
        height: 100px;
    }
    .circles li:nth-child(8){
        width: 25px;
        height: 25px;
    }
    .circles li:nth-child(9){
        width: 15px;
        height: 15px;
    }
    .circles li:nth-child(10){
        width: 75px;
        height: 75px;
    }
    @keyframes animate {
        0%{
            transform: translateY(0) rotate(0deg);
            opacity: 1;
            border-radius: 0;
        }
        100%{
            transform: translateY(-1000px) rotate(720deg);
            opacity: 0;
            border-radius: 50%;
        }
    }
    .customer {
        display: inline-block;
        color: #fff;
        background-color: #00aad6;
        letter-spacing: .1rem;
        border-radius: 8px;
        padding: 8px;
        margin: 0;
        opacity: 0;
        transform: translateY(20px);
        transition: .3s;
    }
    .customer-title {
        font-size: 1.2rem;
        font-weight: bold;
        margin-bottom: 4px;
    }
    .customer p {
        font-size: .9rem;
    }
    .model-case-slider.slick-active .customer {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 100ms;
        transition-property: opacity, transform;
    }
    .slider-track {
        position: absolute;
        display: flex;
        align-items: center; 
    }
    .track1 {
        top: 5%;
        left: 6%;
        transition: 10.5s linear;  
    }
    .model-case-slider.slick-active .track1 {
        left: -80%;
        transition-property: left;
    }
    .track2 {
        top: 44%;
        left: 26%;
        transition: 10.5s linear;  
    }
    .model-case-slider.slick-active .track2 {
        left: -80%;
        transition-property: left;
    }
    .track3 {
        top: 28%;
        left: 80%;
        transition: 10.5s linear; 
    }
    .model-case-slider.slick-active .track3 {
        left: -30%;
        transition-property: left;
    }
    .track4 {
        top: 2%;
        left: 136%;
        transition: 10.5s linear; 
    }
    .model-case-slider.slick-active .track4 {
        left: 28%;
        transition-property: left;
    }
    .track5 {
        top: 44%;
        left: 136%;
        transition: 10.5s linear;  
    }
    .model-case-slider.slick-active .track5 {
        left: 44%;
        transition-property: left;
    }
    .slider-track {
        height: fit-content;
    }
    .slider-item-wrapper {
        width: 182px;
    }
    .slider-item {
        width: fit-content;
        height: auto;
    }
    .slider-track .model-case-item-heading {
        display: none;
    }
    .slider-track .model-case-item-number {
        display: none;
    }
    .slider-track .model-case-inner {
        padding: 12px;
    }
    .slider-track .model-case-container {
        margin-top: 4px;
    }
    .slider-track .model-case-title {
        font-size: 1rem;
        margin-bottom: 8px;
        line-height: 1.6;
    }
    .slider-track .model-case-tag {
        padding: 2px 2px;
        margin-bottom: 8px;
    }
    .slider-track .model-case-text {
        font-size: .8rem;
    }
    .blur-container .slider-item img {
        filter: blur(8px);
    }
    .blur-container .slider-track {
        position: absolute;
        top: 0;
        left: -5%;
        width: 105%;
        height: 100%;
        transition: 30s linear; 
    }
    .model-case-slider.slick-active .blur-container .slider-track {
        left: -100%
    }
    .model-case-slider.slick-active .blur-container .blur-item {
        position: absolute;
        height: auto;
        opacity: 1;
    }
    .blur-container .item1 {
        top: 72%;
        left: 6%;
    }
    .blur-container .item2 {
        top: 24%;
        left: 16%;
    }
    .blur-container .item3 {
        top: 80%;
        left: 28%;
    }
    .blur-container .item4 {
        top: 32%;
        left: 38%;
    }
    .blur-container .item5 {
        top: 78%;
        left: 48%;
    }
    .blur-container .blur-item {
        position: absolute;
        width: 180px;
        height: auto;
        opacity: 1;
    }
    .blur-container .blur-item img {
        width: 100%;
        height: 100%;
        border-radius: 8px;
        object-fit: cover;
        box-shadow: 2px 2px 10px #666;
    }
/*-------------リクルートスライダー_SP--------------*/
    .recruit-slider-text-box {
        top: 24%;
    }
    .recruit-slider-title {
        margin-bottom: 8px;
    }
    .recruit-slider-title .img:first-child {
        margin-bottom: -4px;
    }
/*-------------news_SP--------------*/
    .news-box::before {
        position: absolute;
        content: "";
        background-color: #fff;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        top: calc(50% - 4px);
        left: -11px;
    }
    .news-inner {
        justify-content: initial;
        padding: .5rem;
        padding-right: 28px;
    }
    .news-arrow-back {
        width: 20px;
        height: 20px;
        top: calc(50% - 10px);
        right: 12px;
    }
    .news-arrow {
        width: 12px;
        height: 8px;
        top: 6px;
        left: 5px;
    }
/*-------------導入事例_SP--------------*/
    .model-case-list {
        flex-wrap: wrap;
    }
    .model-case-list .model-case-item {
        width: 100%;
        height: 220px;
        margin-bottom: 2rem;
    }
    .dots-wrap li {
        width: 10%;
    }
/*-------------事業紹介_SP--------------*/
    .service-content {
        width: 100%;
        height: auto;
        margin-left: 0;
        margin-bottom: 1rem;
    }
    .service-content:nth-of-type(3n+1) {
        margin-left: 0;
    }
    .service-content:nth-of-type(2n) {
        margin-left: 0;
    }
    .content-inner .service-btn-container {
        position: absolute;
        bottom: 12%;
        right: 6%;
    }
    .content-img img {
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 200px;
        object-fit: cover;
    }
/*-------------フッター_SP--------------*/
    #footer .address-br {
        display: block;
    }
    #footer .copy {
        font-size: 2.4vw;
    }
/*-------------個別ページエディター_SP------------------*/
    .page-content img {
        width: 100%;
    }
/*-------------表の組み換え設定_SP------------------*/
    .page-content table {
        width: 100%;
        margin-bottom: 10px;
        border-collapse: collapse;
    }
    .page-content tr {
        width: 100%;
    }
    .page-content th,td {
        display: block;
        border: solid 1px #ddd;
        }
    .page-content th {
        width: 100%;
        padding: 6px;
        background-color: #f2f2f2;
        text-align: left;
    }
    .page-content td {
        background-color: #fff;
        width: 100%;
        padding: 6px;
    }
    .page-content .table-flex tr {
        flex-direction: column;
        justify-content: space-between;
    }
    .page-content .table-flex-reverse tr {
        flex-direction: column-reverse;
        justify-content: space-between;
    }
    .page-content .table-flex-triple tr {
        flex-direction: column-reverse;
        justify-content: space-between;
    }
    .page-content .table-flex-triple th,
    .page-content .table-flex-triple td {
        width: 100%;
    }
/*-------------導入事例アーカイブページ_SP------------------*/
    .archive-example .model-case {
        padding: 0;
    }
    .archive-example-tab li {
        font-size: .8rem;
        width: calc(50% - 1rem);
    }
    .archive-example .model-case-list {
        margin-left: 0;
    }
    .archive-example .model-case-item {
        width: 100%;
        height: auto;
        margin-bottom: 1rem;
        margin-left: 0;
    }
    .archive-example .model-case-tag {
        display: block;
    }
    .archive-example .model-case-tag-icon img {
        max-width: 36px;
    }
/*-------------事業紹介_ホームページ_SP------------------*/
    .issue-flex {
        margin-bottom: 1rem;
    }
    .issue-container {
        width: 100%;
        margin-bottom: 1rem;
    }
    .issue-box {
        width: 100%;
        margin-bottom: 1rem;
    }
    .back-class::before {
        height: 0;
    }
    .advantage {
        padding-top: 2rem;
        margin: 0 auto;
    }
    .advantage .issue-title {
        margin-bottom: 2rem;
    }
    .advantage-flex {
        margin-bottom: 1rem;
    }
    .advantage-read {
        font-size: 1.4rem;
        top: -8%;
        left: 0;
    }
    .advantage-number {
        font-size: 2rem;
        top: -10%;
    }
    .homepage-content .advantage-box:first-child {
        margin-top: 0;
    }
    .homepage-content .advantage-box:nth-child(2) {
        margin-top: 0;
    }
    .homepage-content .advantage-box:nth-child(3) {
        margin-top: 0;
    }
    .advantage-box {
        width: 100%;
        padding: 1rem;
        margin-bottom: 3rem;
    }
    .advantage-box:last-child {
        margin-bottom: 0;
    }
    .advantage-img {
        width: 100;
    }
    .homepage-wrapper {
        width: 100%;
        padding: 1rem;
    }
    .flow-plus-box {
        max-width: 100%;
        padding: 0 1rem 2rem;
    }
    .flow-plus-container {
        padding: 1.5rem;
    }
    .flow-title {
        font-size: 1.6rem;
        margin-bottom: 1rem;
    }
    .flow-box::before {
        content: none;
    }
    .flow-heading {
        font-size: 1rem;
        padding-left: 48px;
        margin-bottom: 1rem;
    }
    .flow-heading::before {
        left: 0;
        width: 36px;
        height: 36px;
    }
    .flow-text {
        padding: 1.5rem;
    }
    .question-wrapper {
        padding: 2rem 8px;
        text-align: left;
    }
    .question-box {
        padding: 1.5rem;
        margin: 0 auto 1rem;
    }
    .question-box h6 {
        margin-bottom: 12px;
    }
    .question-heading {
        position: relative;
        font-size: 1rem;
        margin-left: 2rem;
    }
    .question-heading::before {
        font-size: 1.2rem;
        top: -2px;
        left: -20px;
    }
    .accordion-tab {
        display: none;
    }
    .answer-tab {
        display: block;
        padding: 0;
        margin-left: 0;
    }
    /*-------------事業紹介_ネットワーク_SP----------------*/
    .network-content .issue-title {
        margin-bottom: 2rem;
    }
    .network-content .issue-container {
        width: 100%;
        margin-bottom: 12px;
    }
    .network-content .issue-flex2 {
        flex-direction: column;
        width: 100%;
    }
    .network-content .issue-flex2 .issue-container {
        width: 100%;
    }
    .issue-container-control {
        justify-content: space-between;
        width: 100%;
    }
    .issue-container-control .issue-box {
        width: 100%;
        margin-left: 0;
    }
    .issue-flex-control {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .issue-flex-control .issue-box {
        width: 100%;
    }
    .network-content .issue-solution {
        margin-bottom: 2rem;
    }
    .network-content.advantage .issue-title {
        margin-bottom: 2rem;
    }
    .network-content .advantage-flex {
        flex-direction: column;
    }
    .network-content .advantage-box {
        width: 100%;
        margin-bottom: 2rem;
    }
    .network-content .advantage-box:first-child {
        margin-top: 0;
    }
    .network-content .advantage-box:nth-of-type(2n) {
        margin-top: 0;
    }
    .network-content .advantage-box:nth-of-type(3) {
        margin-top: 0;
    }
    .network-content .advantage-box:nth-of-type(5) {
        margin-top: 0;
        margin-bottom: 0;
    }
    .network-content .advantage-number {
        font-size: 2rem;
        top: -12%;
    }
    .network-content h4 {
        margin-left: 0;
    }
    .network-wrapper {
        width: 100%;
    }
    .network-wrapper .flow-heading::before {
        top: -2px;
    }
    .network-flow-list {
        padding: 12px;
    }
    .network-flow-concept {
        font-size: 1rem;
    }
    /*-------------事業紹介_インターネット回線_SP----------------*/
    .internet-content {
        margin-bottom: 2rem;
    }
    .internet-content .issue-container,
    .internet-content .issue-container2 {
        flex-direction: column;
    }
    .internet-content .issue-container {
        margin-bottom: 0;
    }
    .internet-content .issue-container .issue-box {
        text-align: center;
        width: 100%;
        height: auto;
        padding: 12px;
    }
    .internet-content .issue-container2 .issue-box {
        text-align: center;
        width: 100%;
        height: auto;
        padding: 12px;
        margin-left: 0;
    }
    .internet-conten .advantage-flex {
        margin-bottom: 0;
    }
    .internet-content .advantage-box {
        margin-bottom: 2rem;
    }
    .internet-content .advantage-box:first-child {
        margin-top: 0;
    }
    .internet-content .advantage-box:nth-child(2) {
        margin-top: 0;
    }
    .internet-content .advantage-box:nth-child(3) {
        margin-top: 0;
    }
    .internet-wrapper {
        width: 100%;
        padding: 2rem 1rem;
    }
    .flow-title-br {
        display: inline-block;
    }
    /*-------------事業紹介_SNS・WEB運用_SP----------------*/
    .marketing-content .issue-container {
        width: 100%;
        height: auto;
    }
    .marketing-content .issue-container .issue-box {
        width: 100%;
        height: auto;
        padding: 8px;
    }
    .marketing-content .advantage-flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .marketing-content .advantage-box {
        width: 100%;
        margin-bottom: 2rem;
    }
    .marketing-content .advantage-number {
        top: -11%;
    }
    /*-------------事業紹介_プリンター_SP------------------*/
    .printer-content .issue-box {
        width: 100%;
        text-align: left;
    }
    /*-------------事業紹介_ソフトウェア_SP------------------*/
    .software-content .issue-box {
        width: 100%;
        text-align: left;
    }
    .software-content .advantage-box {
        width: 100%;
    }
    .software-content .advantage-box:first-child,
    .software-content .advantage-box:nth-child(2),
    .software-content .advantage-box:nth-child(3), 
    .software-content .advantage-box:nth-child(4) {
        margin-bottom: 2rem;
    }
    /*-------------事業紹介_デザイン_SP------------------*/
    .design-content .issue-box {
        width: 100%;
    }
    /*-------------TOPICSページの設定_SP------------------*/
    .page-content .content-title {
        margin-bottom: 2rem;
    }
    .page-content .example-flex {
        flex-direction: column;
        margin-bottom: 2rem;
    }
    .page-content .example-list {
        width: 100%;
        height: auto;
        margin-left: 0;
    }
    .page-content .example-list:nth-child(3n+1) {
        margin-left: 0;
    }
    .page-content .btn {
        width: 100%;
    }
    /*-------------お問い合わせページ_SP------------------*/
    .tel-form {
        padding: 1rem !important;
        margin-left: 0;
    }
    .tel-form-text h6 {
        font-size: 6vw;
    }
    .tel-form-text img {
        display: none;
    }
    .tel-form-text-tr td:nth-child(2) {
        width: 100% !important;
    }
    .name-flex {
        flex-direction: column;
    }
    .form-link-btn {
        padding: 1rem 2rem;
    }
}
/*-------------アニメーション------------------*/
.animation {
    opacity: 0
}
.fadeup {
    transform-origin: center top;
    -webkit-animation: fadeup 1s both;
    animation: fadeup 1s both
}

.slidein_left {
    transform-origin: right center;
    -webkit-animation: slidein_left 1s both;
    animation: slidein_left 1s both
}

.slidein_right {
    transform-origin: left center;
    -webkit-animation: slidein_right 1s both;
    animation: slidein_right 1s both
}

.d3 {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.d5 {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.d10 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.d15 {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s
}

.d20 {
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

.d25 {
    -webkit-animation-delay: 2.5s;
    animation-delay: 2.5s
}

.d30 {
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

.d35 {
    -webkit-animation-delay: 3.5s;
    animation-delay: 3.5s
}

.d40 {
    -webkit-animation-delay: 4s;
    animation-delay: 4s
}

.d45 {
    -webkit-animation-delay: 4.5s;
    animation-delay: 4.5s
}

.d50 {
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

.d55 {
    -webkit-animation-delay: 5.5s;
    animation-delay: 5.5s
}

.d60 {
    -webkit-animation-delay: 6s;
    animation-delay: 6s
}

@-webkit-keyframes fadeup {
    0% {
        transform: translate(0, 2em);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@keyframes fadeup {
    0% {
        transform: translate(0, 2em);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@-webkit-keyframes slidein_left {
    0% {
        transform: translate(-2em, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@keyframes slidein_left {
    0% {
        transform: translate(-2em, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@-webkit-keyframes slidein_right {
    0% {
        transform: translate(2em, 0, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0, 0);
        opacity: 1
    }
}

@keyframes slidein_right {
    0% {
        transform: translate(2em, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes circle {
    0% {
        transform-origin: 50% 50%;
        transform: scaleY(1) rotate(0deg)
    }

    50% {
        transform: scaleY(1) rotate(180deg);
        transform-origin: 50% 50%
    }

    100% {
        transform: scaleY(1) rotate(360deg);
        transform-origin: 50% 50%
    }
}

@keyframes circle {
    0% {
        transform-origin: 50% 50%;
        transform: scaleY(1) rotate(0deg)
    }

    50% {
        transform: scaleY(1) rotate(180deg);
        transform-origin: 50% 50%
    }

    100% {
        transform: scaleY(1) rotate(360deg);
        transform-origin: 50% 50%
    }
}