@charset "utf-8";
/* CSS Document */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

:root{
	--main-color-black: #000000;
	--main-color-sumi: #2f2725;
	--main-color-blue: #1251bc;
	--main-color-paleblue: #92afc8;
	--main-color-paleblue2: #c2d6e8;

	--main-color-cyan: #00a5a7;
	--main-color-lightcyan: #e6f4f1;
	--main-color-darkcyan: #003136;
	--main-color-tangelo: #a83900;

        --bg-gray: #f5f8fa;
}

*{
    letter-spacing: 0.025em;
}
html {
}
body {
    color: #121212;
    font-size: 14px;
    font-family: 'Noto Sans Japanese', sans-serif;
    background: #ffffff;
}
.inner {
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
    margin-right: auto;
    margin-left: auto;
}
.w1480{
    max-width: 1480px;
}
.w1380{
    max-width: 1380px;
}
.w1280{
    max-width: 1280px;
}
.w1180{
    max-width: 1180px;
}
.w1080{
    max-width: 1080px;
}
.w980{
    max-width: 980px;
}
.w880{
    max-width: 880px;
}
input[type="submit"]{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
a {
    display: block;
    color: inherit;	
    text-decoration: none;
    transition: all ease .3s;
}
a[href^="tel:"] {
    color: inherit;
}
a:hover {
    opacity: 0.5;
}
section p a,
section ol.decimal a,
section ul.disc a,
table a,
section dl a{
    display: inline;
    text-decoration: underline;
    word-break: break-all;
}
.youtube{
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.youtube iframe{
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.pcNone{
    display: none !important;
}

/* img */
figure.object-fit {
        position: relative;
        overflow: hidden;
}
figure.object-fit>img {
	object-fit: cover;
        min-width: 100%;
        min-height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
}

/* btns */
.btns{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.btns.center{
    justify-content: center;
}
.btns.right{
    justify-content: end;
}
.btns>*{
    min-width: 280px;
    height: fit-content;
    font-size: 110%;
    font-weight: 500;
    text-align: center;
    padding: 1.3em 1.5em;
    position: relative;
    border-radius: calc(1px / 0);
}
.btns>*:hover{
    opacity: 1;
}
.btns>*.black{
    color: #ffffff;
    background: var(--main-color-black);
}
.btns>*.white{
    color: var(--main-color-cyan);
    background: #ffffff;
}
.btns>*.blue{
	color: #ffffff;
        background: var(--main-color-cyan);
}
.btns>*.icon-arrow-right_wh,
.btns>*.icon-arrow-down_wh{
        padding-right: 56px !important;
        padding-left: 56px !important;
}
.btns>*.icon-arrow-right_wh:after{
        content: '\f054';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        right: 28px;
}
.btns>*.icon-arrow-down_wh:after{
        content: '\f103';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        right: 28px;
}
.btns>*.icon-open-window:after{
        content: '\f2d2';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        right: 28px;
}
.btns>*.current{
        pointer-events: none;
        opacity: 0.3;
        filter: grayscale(0.6);
}
.btns.btn2>*,
.btns.btn3>*,
.btns.btn4>*{
        min-width: inherit;
}
.btns.btn2>*{
        width: calc((100% - 16px) / 2);
}
.btns.btn3>*{
        width: calc((100% - 32px) / 3);
}
.btns.btn4>*{
        width: calc((100% - 48px) / 4);
}
@media(max-width: 999px){
	.btns.btn2>*{
	        width: 100%;
	}
	.btns.btn3>*,
	.btns.btn4>*{
	        width: calc((100% - 16px) / 2);
	}
}

/* edit link */
.post-edit{
        text-align: left;
        margin: 1em auto;
        position: fixed;
        bottom: 0;
}
.post-edit>a{
        display: inline;
        font-size: 90%;
        text-decoration: underline;
}

*.disabled{
    pointer-events: none;
    opacity: 0.5;
}


/* ----- header ----- */

#header{
        width: 100%;
        z-index: 550;
        position: absolute;
        top: 0;
        left: 0;
}
/*
#header.home{
}
*/
#header .inner{
        padding-top: 28px;
        padding-bottom: 28px;

        display: flex;
        flex-wrap: wrap;
        gap: 48px;
        align-items: center;
        justify-content: space-between;
}
#header .btns{
        display: grid;
        gap: 2px;
        position: fixed;
        bottom: calc(80px + 28px + 24px);
        right: 0;
        z-index: 50;
}
#header .btns>*{
        width: 56px;
        min-width: fit-content;
        display: flex;
        /* flex-direction: column; */
        align-items: center;
        justify-content: center;
        gap: 0.8em;
        padding: 1.25em 0;
        background: var(--main-color-cyan);
	border-radius: 0;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
        writing-mode: vertical-rl;
        letter-spacing: 0.18em;
}
#header .btns>* i{
        font-size: 20px;
}
#header .btns a.contact{
}
#header .btns a.recruit{
}
#header *.sitelogo,
#js-menu *.sitelogo{
        width: 40px;
        margin-right: auto;
}

/* ----- main navi ----- */

.menu {
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        align-items: start;
        width: 100%;
        height: 100%;
        background: rgba(51, 51, 51, 0.85);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: all 0.3s ease;
        transition-property: opacity, pointer-events, visibility;
        z-index: 500;
}
.menu.is-show {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
.menu__content {
        padding-top: 24px;
}
#main_nav{
        flex: 1;
}
#main_nav>ul{
	display: flex;
        flex-wrap: wrap;
        gap: 1.8em;
        justify-content: end;
        padding-top: 32px;
}
#main_nav>ul>li{
        font-size: 108%;
        position: relative;
        cursor: pointer;
}
#main_nav>ul>li>a{
        color: #ffffff;
        padding-bottom: 32px;
}
#main_nav>ul>li:hover ul.sub-menu{
        display: grid;
}
#main_nav ul.sub-menu{
        display: none;
        gap: 2px;
        padding-top: 12px;
        min-width: 200px;
        position: absolute;
        top: 100%;
        left: 0;
}
#main_nav ul.sub-menu>li{
}
#main_nav ul.sub-menu>li>a{
        color: #ffffff;
        font-size: 100%;
        font-weight: 500;
        padding: 1.2em 1em;
        background: rgba(100, 100, 100, 0.8);
}
#main_nav ul.sub-menu>li>a:hover{
	opacity: 1;
        background: rgba(51, 51, 51, 0.9);
}
/*
.home #main_nav>ul>li>a{
        color: #ffffff;
}
*/
.header__menu {
        position: absolute;
        top: 28px;
        right: 40px;
        cursor: pointer;
        height: 28px;
        font-size: 108%;
        line-height: 28px;
        padding-left: 40px;
        background: url(../images/common/menu_bk.png) no-repeat center left;
        background-size: 24px auto;
        z-index: 100;
}
#header.is-show .header__menu{
        opacity: 0;
}
.button-close {
        cursor: pointer;
        position: absolute;
        top: 34px;
        right: 40px;
        color: #ffffff;
        font-size: 108%;
        padding-left: 40px;
        background: url(../images/common/close_wh.png) no-repeat center left;
        background-size: 27px 28px;
        z-index: 501;
}

#mega-navigation{
	width: 100%;
        padding-top: 16px;
        position: absolute;
        top: 90px;
        left: 0;
        z-index: 600;
}
#mega-navigation .bg-wrap{
        padding: 40px 0;
        background: var(--main-color-sumi);
}
/*
#mega-navigation .inner{
	display: flex;
        flex-wrap: wrap;
        gap: 20px;
}
#mega-navigation .inner>*{
        display: grid;
        gap: 1.25em;
        align-content: start;
}
#mega-navigation p{
	color: #ffffff;
        font-size: 120%;
        font-weight: 500;
}
*/
#mega-navigation ul{
	display: flex;
        flex-wrap: wrap;
        gap: 10px;
}
#mega-navigation ul>li{
	width: 100%;
}
#mega-navigation ul>li>a{
        color: #ffffff;
        font-size: 105%;
        font-weight: 500;
        padding: 1em 1.5em;
        background: var(--main-color-cyan);
        border-radius: calc(1px / 0);
}
#mega-navigation ul>li{
        width: calc((100% - 20px) / 3);
        max-width: 240px;
}
#mega-navigation ul>li>a{
	color: #ffffff;
        font-size: 105%;
        font-weight: 500;
        padding: 1em 1.5em;
        border-radius: calc(1px / 0);
        border: solid 1px #787878;
        background: rgba(255, 255, 255, 0.08);
}
.modalLayer {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 500;
    background: rgba(0,0,0,0.5);
}

/* ----- footer ----- */

#footer{
        background: #2f2f2f;
}
#footer .flex-wrap{
        display: flex;
        justify-content: space-between;
        gap: 48px;

        color: #ffffff;
        padding-top: 48px;
        padding-bottom: 48px;
}
#footer .flex-wrap .left-wrap{
	display: grid;
        gap: 1.3rem;
}
#footer .flex-wrap .right-wrap{
}
#footer .flex-wrap address{
	font-size: 100%;
        font-style: normal;
        line-height: 1.6;
}
#footer #sub-nav{
}
#footer #sub-nav>ul{
        display: flex;
        flex-wrap: wrap;
        gap: 0.6em 1.5em;
        justify-content: end;
}
#footer #sub-nav>ul>li{
        font-size: 100%;
        line-height: 1.6;
}
#footer #sub-nav>ul>li>a{
        display: inline;
        text-decoration: underline;
}
#footer #copyright{
        color: #ffffff;
        font-size: 90%;
        line-height: 1.6;
        text-align: center;
        padding: 28px 0;
        background: var(--main-color-black);
}

/* ----- pagetop ----- */

#pagetop{
    position: fixed;
    right: 12px;
    bottom: 80px;
}
#pagetop a{
    display: block;
    width: 60px;
    height: 28px;
    text-indent: -9999px;
    background: url(../images/common/pagetop.png) no-repeat center center;
    background-size: contain;
}

/* ----- commons ----- */

#page-header{
        padding: 48px 0;
        background: url(../images/home/mv-bg.jpg) no-repeat center center;
        background-size: cover;
        position: relative;
        overflow: hidden;
}
#page-header:before{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.61);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
}
#page-header h2{
        color: #ffffff;
        display: grid;
        gap: 12px;
        line-height: 1.45;
        position: relative;
        z-index: 10;
}
#page-header h2 *.en{
        order: 2;
        font-size: 100%;
	font-weight: 200;
        text-transform: capitalize;
        letter-spacing: 0;
}
#page-header h2 *.ja{
        order: 1;
        font-size: 200%;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1;
}
#page-header.pages{
/*
        height: 70vh;
        min-height: 400px;
        max-height: 800px;
*/
        padding: 0;
}
#page-header.pages:before{
	none !important;
}
#page-header *.bg-image{
        object-fit: cover;
        min-width: 100%;
        min-height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 0;
}
#page-header .inner{
        position: relative;
        margin-top: 108px;
        padding-top: 48px;
        padding-bottom: 80px;
        /* top: calc(50% + 40px); */
        /* transform: translateY(-50%); */
        display: grid;
        gap: 40px;
        color: #ffffff;
        font-weight: 600;
        line-height: 1.4;
        text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
        z-index: 10;
}
#page-header p.main-catchcopy{
        font-size: 280%;
}
#page-header p.sub-catchcopy{
        font-size: 160%;
        font-weight: 200;
        line-height: 1.6;
}

#breadcrumb{
        padding: 1em 0;
        margin-bottom: 48px;
}
#breadcrumb ol{
}
#breadcrumb li{
	display: inline;
        font-size: 95%;
        line-height: 1.6;
}
#breadcrumb li:after{
        content: "/";
        color: #999999;
        margin: 0 0.6em 0 0.8em;
}
#breadcrumb li:last-child::after{
    content: none;
}
#breadcrumb li a{
        display: inline;
        text-decoration: underline;
}
#breadcrumb li a,
#breadcrumb li span,
#breadcrumb li strong{
    word-wrap: break-word;
    word-break: break-all;
}


#contents{
    padding-bottom: 80px;
}
#contents section{
}
#contents>section,
#contents .inner>section,
#contents section>.inner{
        padding-top: 64px;
        padding-bottom: 64px;
}
#contents>section:first-child .inner,
#contents .contents-wrap>section:first-child .inner{
        padding-top: 0;
}
#contents>section:last-child .inner,
#contents .contents-wrap>section:last-child .inner{
        padding-bottom: 108px;
}
section>*,
.inner>section>*,
section>.inner>*{
	margin-bottom: 1.8rem;
}
section>p,
.inner>section>p,
section>.inner>p{
    margin-bottom: 1.8em;
}
section>*:last-child,
.inner>section>*:last-child,
section>.inner>*:last-child{
    margin-bottom: 0 !important;
}
.page-header-wrap{
        display: grid;
        gap: 0.2em;
        margin-bottom: 28px !important;
}
.page-header-wrap *.page-title{
        order: 1;
        font-size: 340%;
        font-weight: 300;
        line-height: 1.45;
}
.page-header-wrap *.small-title{
        order: 2;
        color: #999999;
        font-size: 135%;
        font-weight: 100;
        line-height: 1;
}
#contents section h3:not([class]),
#contents article .letterbody h3:not([class]){
	font-size: 230%;
        font-weight: 500;
        line-height: 1.6;
        margin-bottom: calc(21px + 1.3em);
        position: relative;
}
#contents section h3:not([class])::before,
#contents article .letterbody h3:not([class])::before{
	content: "";
        display: block;
        width: calc((13px + 9px) * 2);
        height: 2px;
        background: var(--main-color-cyan);
        position: absolute;
        left: 0;
        bottom: -21px;
}
#contents section h3.center-title{
        width: fit-content;
        font-size: 280%;
        font-weight: 500;
        line-height: 1.6;
	text-align: center;
        margin: 0 auto;
        margin-bottom: calc(28px + 1.5em);
        position: relative;
}
#contents section h3.center-title:after{
        content: "";
        display: block;
        width: 80px;
        height: 5px;
        background: var(--main-color-cyan);
        position: absolute;
        left: 50%;
        bottom: -28px;
        transform: translateX(-50%);
}
#contents section.bg-cyan h3.center-title:after,
#contents section.bg-black h3.center-title:after{
        background: #ffffff;
}
#contents section h4:not([class]),
#contents article .letterbody h4:not([class]){
        font-size: 180%;
        font-weight: 400;
        line-height: 1.6;
        padding-bottom: 0.3em;
	margin-bottom: 0.8em;
        border-bottom: solid 1px #cccccc;
        position: relative;
}
#contents section h4:not([class])::before,
#contents article .letterbody h4:not([class])::before{
	content: "";
        display: block;
        width: 108px;
        height: 1px;
        background: var(--main-color-cyan);
        position: absolute;
        left: 0;
        bottom: -1px;
}
#contents section h5:not([class]),
#contents article .letterbody h5v{
        color: #ffffff;
        font-size: 135%;
        font-weight: 500;
        line-height: 1.6;
        margin-bottom: 0.8em !important;
        padding: 0.5em 0.8em;
        background: var(--main-color-cyan);
        border-radius: 2px;
}
#contents section h6:not([class]),
#contents article .letterbody h6:not([class]){
        font-size: 135%;
        font-weight: 600;
        line-height: 1.6;
        padding-left: 0.8em;
        margin-bottom: 0.8em !important;
        border-left: solid 7px;
        border-color: var(--main-color-cyan);
}
section p,
section li{
        font-size: 115%;
        font-weight: 300;
        line-height: 1.8;
        text-align: justify;
}
section p b,
section li b{
        font-weight: 600;
}
section p.cc-text{
        font-size: 280%;
        font-weight: 300;
        line-height: 1.45;
        letter-spacing: 0.08em;
        text-align: left;
        margin-bottom: 1em;
}
section p.cc-sub-text{
        font-size: 210%;
        font-weight: 400;
        line-height: 1.45;
        text-align: left;
        margin-bottom: 1em;
}
section p.center-text{
        text-align: center;
}
section *.text-center{
    text-align: center !important;
}
section *.text-right{
    text-align: right !important;
}
*.break-keep{
        word-break: keep-all;
        text-align: inherit;
}
section ol,
section ul{
    font-size: 100%;
}
section ol.decimal,
section ul.disc{
        display: grid;
        gap: 0.3em;
        margin-left: 1.25em;
        list-style-position: outside;
}
section ul.disc li{
    list-style-type: disc;
}
section ol.decimal li{
	list-style-type: decimal;
        padding-left: 0.3em;
}
section p.cc{
	font-size: 200%;
        font-family: "Noto Serif JP";
        font-weight: 500;
        line-height: 1.5;
        margin-bottom: 0.8em !important;
}
section table{
        width: 100%;
        border-collapse: separate;
        border-spacing: 1px;
        background: #b6bbbc;
}
section table tr>*{
        font-size: 100%;
        line-height: 1.6;
        text-align: justify;
        padding: 0.8em 1em;
}
section table thead th{
        color: #ffffff;
        text-align: center;
        background: var(--main-color-cyan);
}
section table tbody th{
        color: var(--main-color-cyan);
        background: var(--main-color-lightcyan);
}
section table tbody td{
        background: #ffffff;
}
section table.body-nth-color tbody>tr:nth-child(even) td{
        background: #f2f2f2;
}

section dl.tableDl{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        background: #f2f2f2;
        border: solid 1px #cccccc;
        border-top: none;
}
section dl.tableDl dt,
section dl.tableDl dd{
        font-size: 115%;
        line-height: 1.8;
        text-align: justify;
        padding: 0.8em 1em;
        border-top: solid 1px #cccccc;
}
section dl.tableDl dt{
        width: 160px;
        font-weight: 500;
}
section dl.tableDl dd{
        width: calc(100% - 160px);
        background: #ffffff;
        border-left: solid 1px #cccccc;
}
section dl.tableDl.noframe{
        gap: 1.8em 0;
        border: none;
        background: transparent;
}
section dl.tableDl.noframe dt,
section dl.tableDl.noframe dd{
	padding: 0;
        border-top: none;
}
section dl.tableDl.noframe dt{
}
section dl.tableDl.noframe dd{
        padding-left: 1.8em;
}

#contents section figure{
	text-align: center;
}
#contents section figure img{
	display: inline-block;
}
#contents section .img2,
#contents section .img3,
#contents section .img4{
        display: flex;
        flex-wrap: wrap;
        gap: 28px;
}
#contents section .img2>*,
#contents section .img3>*,
#contents section .img4>*{
/*        flex: 1; */
}
#contents section .img2 figure{
        width: calc((100% - 28px) / 2);
}
#contents section .img3 figure{
        width: calc((100% - 56px) / 3);
}
#contents section .img4 figure{
        width: calc((100% - 84px) / 4);
}
#contents section figcaption{
        font-size: 90%;
        line-height: 1.6;
        text-align: justify;
        padding-top: 0.8em;
}
#contents section .flex-wrap{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 48px;
}
#contents section .flex-wrap.half>*{
        width: calc((100% - 48px) / 2);
}
#contents section .flex-wrap>div.text-wrap{
        width: calc(55% - 48px);
}
#contents section div.text-wrap>*,
#contents section .flex-wrap.half>*>*{
	margin-bottom: 0.8rem;
}
#contents section .text-wrap>*:last-child,
#contents section .flex-wrap.half>*>*:last-child{
	margin-bottom: 0 !important;
}
#contents section .flex-wrap>figure,
#contents section .flex-wrap>*.img-wrap{
        width: 45%;
}
#contents section .flex-wrap>*.img-wrap{
        display: grid;
        gap: 16px;
}
#contents section .flex-wrap>*.left{
        order: 1;
}
#contents section .flex-wrap>*.right{
        order: 2;
}
#contents section .flex-wrap.box2,
#contents section .flex-wrap.box3{
        gap: 20px;
}
#contents section .flex-wrap.box2>*{
	width: calc((100% - 20px) / 2);
}
#contents section .flex-wrap.box3>*{
	width: calc((100% - 40px) / 3);
}
#contents .note-wrap{
        padding: 28px 1.8rem;
        background: #e5e5e5;
        border-radius: 4px;
}
#contents .border-wrap{
        padding: 28px 1.8rem;
        background: #ffffff;
        border: solid 4px #e5e5e5;
        border-radius: 4px;
}
#contents .border-wrap.narrow{
        padding: 20px 1.3rem;
        border: solid 1px #dddddd;
        border-radius: 0;
}
#contents .note-wrap>*:last-child,
#contents .border-wrap>*:last-child{
        margin-bottom: 0 !important;
}
#contents *.attention{
	color: #ff3300;
}

#contents section .page-inner-link{
	display: flex;
        flex-wrap: wrap;
        gap: 0.8em 0;
}
#contents section .page-inner-link>li{
        display: inline;
        font-size: 100%;
        line-height: 1;
        padding: 0 0.5em;
        border-left: solid 1px #cccccc;
}
#contents section .page-inner-link>li:last-child{
        border-right: solid 1px #cccccc;
}
#contents section .page-inner-link>li>a{
	display: inline;
        text-decoration: underline;
}
*.fit-content{
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

/* ----- infolist ----- */

*.post-list{
        margin-top: -1.5em;
        margin-bottom: -1.5em;
}
*.post-list>*{
        display: flex;
        flex-wrap: wrap;
        gap: 1.5em;
        align-items: start;
        text-decoration: none;
        padding: 1.5em 0;
        border-bottom: solid 1px #dddddd;
}
*.post-list>*:last-child{
        border-bottom: none;
}
*.post-list>*a{
        position: relative;
}
*.post-list>*:after{
	content: '\f054';
        display: grid;
        align-items: center;
        justify-content: center;

        width: 40px;
        aspect-ratio: 1 / 1;
        color: #ffffff;
        font-size: 12px;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        background: #cccccc;
        border-radius: 50%;
}
*.post-list p.date-text{
        color: #a2a2a2;
        font-size: 100%;
        font-weight: 600;
        line-height: 1.6;
}
*.post-list p.title-text{
        flex: 1;
        font-size: 108%;
        line-height: 1.6;
}

/*
    Default style for WP-PageNavi plugin
    http://wordpress.org/extend/plugins/wp-pagenavi/
*/

.wp-pagenavi {
    margin: 40px 0 0;
    text-align: center;
    clear: both;
}
.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    text-decoration: none;
    padding: 3px 5px;
    margin: 2px;
    border: 1px solid #BFBFBF;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    border-color: #000;
}
.wp-pagenavi span.current {
    font-weight: bold;
}

#same-category-post{
        padding-top: 48px;
        padding-bottom: 80px;
}
#same-category-post *.post-list{
    margin-bottom: 28px;
}
*.archive-title{
        font-size: 180%;
        font-weight: 400;
        line-height: 1.6;
        padding-bottom: 0.3em;
        margin-bottom: 1.3em;
        border-bottom: solid 1px #cccccc;
        position: relative;
}
*.archive-title:before{
        content: "";
        display: block;
        width: 108px;
        height: 1px;
        background: var(--main-color-cyan);
        position: absolute;
        left: 0;
        bottom: -1px;
}


/* ----- 404 ----- */

#page404{
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
}
#page404 .text_404{
    color: #cccccc;
    font-size: 200px;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
}
#page404 .text_notfount_en{
    color: #cccccc;
    font-size: 64px;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
    margin: 0 0 24px;
}
#page404 .text_notfount_ja{
    color: #999999;
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 40px;
}
#page404 .text_notfount_ja+p,
#page404 .renewal{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 2.5em;
}
#page404 p.ask{
    font-size: 21px;
    font-weight: 500;
    margin-bottom: 0.75em;
}
#page404 p.ask+p{
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 2.5em;
}


/* ----- ブログカード設定 ----- */
.post-card{
        margin-top: 2em;
        margin-bottom: 2em;
        position: relative;
}
.post-card .card-link {
        display: flex !important;
        flex-wrap: wrap;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
        border-radius: 5px;

        color: inherit;
        text-decoration: none !important;
        position: relative;
}
.post-card .longcard-img{
        order: 2;
        width: 35%;
        position: relative;
        aspect-ratio: 4 / 3;
        overflow: hidden;
}
.post-card .longcard-img>img{
        object-fit: cover;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
}
.post-card .card-link .blogcard-text {
        order: 1;
	width: 65%;
        display: grid;
        align-items: center;
        align-content: center;
        flex-direction: column;
        gap: 1em;
        padding: 20px;
}
.post-card .blogcard-title {
        color: #121212;
        font-size: 135% !important;
        font-weight: 600;
        line-height: 1.6;
}
.post-card .blog-card-excerpt-long {
        color: #999999;
        font-size: 85% !important;
        font-weight: 600;
        line-height: 1.8;
        text-align: justify;
}
.post-card .blog-card-label{
        width: fit-content;
        color: #ffffff;
        font-size: 95% !important;
        font-weight: 600;
        line-height: 1 !important;
        padding: 0.5em 1.3em;
        margin-bottom: -0.7em;
        border-radius: calc(1px / 0);
        background: #000000;
}

#homeContents #service{
        padding-top: 80px;
        padding-bottom: 80px;
        background: #ffffff;
}
#homeContents #service .head-wrap{
        margin-top: 48px;
        margin-bottom: 48px;
}
#homeContents #service .head-wrap h3{
}
#homeContents #service .header-wrap+p:not([class]){
        margin-top: 48px;
        margin-bottom: 48px;
}

#homeContents #contact-flow{
        padding-top: 80px;
        padding-bottom: 80px;
}

/* home-bk */
#homeContents #outline{
        padding-top: 180px;
        padding-bottom: 80px;
        background: url(../images/home/bg-text.png) center center no-repeat;
        background-size: 300px auto;
}
#homeContents #outline p.cc-text+p{
	margin-bottom: 64px;
}
#homeContents #outline .service-list-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 1px;
        background: var(--main-color-paleblue);
        border: solid 8px;
        border-color: var(--main-color-paleblue);
        border-radius: 28px;
        overflow: hidden;
}
#homeContents #outline .service-list-wrap>*.service-list{
        width: calc((100% - 1px) / 2);
        color: #ffffff;
        text-align: center;
        padding: 64px 28px;
        display: grid;
        gap: 16px;
}
#homeContents #outline .service-list-wrap>*.service-list:nth-child(1),
#homeContents #outline .service-list-wrap>*.service-list:nth-child(4){
	background: var(--main-color-black);
}
#homeContents #outline .service-list-wrap>*.service-list:nth-child(2),
#homeContents #outline .service-list-wrap>*.service-list:nth-child(3){
	background: #3f4346;
}
#homeContents #outline .service-list-wrap>*.service-list:nth-child(5){
        width: 100%;
	background: #2c2c2c;
}
#homeContents #outline .service-list-wrap>*.service-list figure img{
        max-height: 156px;
}
#homeContents #outline .service-list-wrap>*.service-list p.title-text{
        font-weight: 600;
        font-size: 125%;
        line-height: 1.6;
}

#home-foot-link-wrap{
	display: flex;
        flex-wrap: wrap;
        border-radius: 20px 20px 0 0;
        overflow: hidden;
        margin-top: -20px;
        position: relative;
}
#contents #home-foot-link-wrap{
        margin-top: 48px;
}
#home-foot-link-wrap:before{
        content: "";
        display: block;
        width: calc(100% + 16px);
        height: calc(100% + 16px);
        background: url(../images/home/foot-bottom-link-bg.jpg) no-repeat center center;
        background-size: cover;
        position: absolute;
        top: -8px;
        left: -7px;
        z-index: 0;
        filter: brightness(2) blur(4px);
}
#home-foot-link-wrap:after{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: rgb(0, 0, 0);
        background: linear-gradient(90deg, rgba(0, 0, 0, 1) 00%, rgba(114, 114, 114, 1) 100%);
        opacity: 0.5;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
}
#home-foot-link-wrap>a{
        display: grid;
        align-items: start;
        gap: 1em;
        align-content: start;
        color: #ffffff;
        padding: 108px 20px;
        position: relative;
        z-index: 10;
}
@media (min-width: 1100px){
	#home-foot-link-wrap>a{
	        width: calc(100% / 3);
	}
	#home-foot-link-wrap>a:nth-child(odd){
	        background: rgba(0, 0, 0, 0.72);
	}
	#home-foot-link-wrap>a:nth-child(even){
	        background: rgba(0, 0, 0, 0.62);
	}
}
@media (max-width: 1099px){
	#home-foot-link-wrap>a{
	        width: calc(100% / 2);
	}
	#home-foot-link-wrap>a:nth-child(4n+1),
	#home-foot-link-wrap>a:nth-child(4n+4){
	        background: rgba(0, 0, 0, 0.72);
	}
	#home-foot-link-wrap>a:nth-child(4n+2),
	#home-foot-link-wrap>a:nth-child(4n+3){
	        background: rgba(0, 0, 0, 0.62);
	}
}
#home-foot-link-wrap>a p.en{
        font-size: 240%;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0;
        text-align: center;
}
#home-foot-link-wrap>a p.en>img{
        width: fit-content;
        height: 56px;
        margin: 0 auto;
}
#home-foot-link-wrap>a p:not([class]){
        font-size: 100%;
        text-align: center;
}

/* ----- 共通　お問合せ ----- */

#foot-contact-wrap{
	display: grid;
        justify-content: center;
        color: #ffffff;
        text-align: center;
        padding-top: 80px;
        padding-bottom: 80px;
        background: #666666;
}
#foot-contact-wrap p.title{
        width: fit-content;
        text-align: center;
        margin: 0 auto 28px;
}
#foot-contact-wrap p.title img{
        height: 72px;
}
#foot-contact-wrap p:not([class]){
        font-size: 135%;
        font-weight: 200;
        line-height: 1.6;
        margin-bottom: 20px;
}
#foot-contact-wrap p.tel-number{
        font-size: 280%;
        font-weight: 600;
}
#foot-contact-wrap p.tel-number i{
        color: var(--main-color-blue);
        font-size: 36px;
        font-weight: 800;
        vertical-align: baseline;
        padding: 10px;
        margin-right: 8px;
	background: #ffffff;
        border-radius: 50%;
}

/* ----- MIについて ----- */

#contents #service-case-list{
        position: relative;
}
#contents #service-case-list .swiper[data-main-list]{
}
#contents #service-case-list .swiper[data-main-list] .swiper-slide{
        width: 100%;
        aspect-ratio: 5 / 2;
        background: rgba(0, 0, 0, 1);
        position: relative;
}
#contents #service-case-list .swiper[data-main-list] .swiper-slide img{
        object-fit: cover;
        min-width: 100%;
        min-height: 100%;
        opacity: 0.85;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
}
#contents #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap{
        min-width: 50%;
	max-width: calc(100% - 80px);
        background: rgba(0, 165, 167, 0.85);
        padding: 28px 2rem;
        position: absolute;
        top: calc(50% - 48px);
        left: 0;
        transform: translateY(-50%);
        z-index: 50;
}
#contents #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap p.title-text{
        color: #ffffff;
        font-size: 200%;
        font-weight: 600;
        line-height: 1.6;
        margin-bottom: 0.3em;
}
#contents #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap p.title-text span.tag{
        display: block;
        width: fit-content;
        color: var(--main-color-cyan);
        font-size: 55%;
        vertical-align: middle;
        padding: 0.2em 0.8em;
        margin-right: 0.8em;
        background: #ffffff;
}
#contents #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap p:not([class]){
        color: #ffffff;
        margin-bottom: 1.3em;
}
#contents #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap a.btn{
	min-width: 160px;
        max-width: 240px;
        color: var(--main-color-cyan);
        font-size: 108%;
        font-weight: 600;
        text-align: center;
	margin: 0 auto;
        padding: 1em 1.5em;
        position: relative;
        background: #ffffff;
        border-radius: calc(1px / 0);
}

#contents #service-case-list .swiper[data-thumbnail-list]{
        /* position: absolute; */
        /* top: 50%; */
        /* left: 50%; */
        /* transform: translate(-50%, -50%); */
        position: relative;
        z-index: 50;
        margin-top: -88px;
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-wrapper{
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        justify-content: center;
        width: calc((108px * 6) + (12px * 5));
        margin: 0 auto !important;
}
@media (max-width: 1079px){
	#contents #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap{
	        top: calc(50% - 24px);
	}
	#contents #service-case-list .swiper[data-thumbnail-list]{
	        margin-top: -48px;
	}
	#contents #service-case-list .swiper[data-thumbnail-list] .swiper-wrapper{
	        width: calc((108px * 4) + (12px * 3));
	}
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-slide{
        width: 100%;
        max-width: 108px !important;
        aspect-ratio: 1 / 1;
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        display: grid;
        align-items: center;
        justify-content: center;
        background: #ffffff;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
        cursor: pointer;
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-slide:hover{
        opacity: 1 !important;
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-slide:before{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.3);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        transition: all ease .3s;
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-slide:hover::before{
        background: rgba(0, 0, 0, 0.4);
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-slide img{
        position: absolute;
        object-fit: cover;
        min-width: 100%;
        min-height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 0;
        opacity: 0.8;
        filter: grayscale(0.5);
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-slide:hover img{
        opacity: 1;
        filter: grayscale(0);
}
#contents #service-case-list .swiper[data-thumbnail-list] .swiper-slide p{
        color: #ffffff;
        font-size: 108%;
        font-weight: 600;
	line-height: 1.4;
        text-align: center;
        text-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
        position: relative;
        z-index: 10;
}

/* ----- はじめての方へ ----- */

#contents .chara-wrap{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center !important;
        gap: 20px !important;
        width: fit-content;
        margin: 64px auto 48px;
}
#contents .chara-wrap>*.left{
        order: 1;
}
#contents .chara-wrap>*.right{
        order: 2;
}
#contents .chara-wrap>*.icon{
        width: 160px;
        border-radius: 50%;
        overflow: hidden;
        margin: 0 auto;
}
#contents .chara-wrap>p{
        display: grid;
        align-items: center;
        flex: 1;
        min-width: 480px;
        height: fit-content;
        padding: 28px 2em;

        font-size: 108%;
        font-weight: 300;
        line-height: 1.8;
        text-align: left;
        color: #ffffff;

        background: var(--main-color-sumi);
        border-radius: 28px;
        position: relative;
        margin-top: -108px;
}
#contents .chara-wrap>p:after{
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 12px solid transparent;
        border-left: 12px solid transparent;
        border-top: 16px solid;
	border-top-color: var(--main-color-sumi);
        border-bottom: 0;
        position: absolute;
        top: 100%;
        transform: translateX(-50%);
}
#contents .chara-wrap>p.left:after{
        right: 60px;
        transform: skewX(48deg);
}
#contents .chara-wrap>p.right:after{
        left: 60px;
        transform: skewX(-48deg);
}

/* MIのサポート */

#contents section .mi-support{
	display: grid;
        gap: 16px;
}
#contents section .mi-support .phase-wrap{
        display: flex;
        gap: 8px;
        justify-content: space-between;
}
#contents section .mi-support .phase-wrap p.phase-title{
        display: grid;
        align-items: center;
        justify-content: center;

        width: 80px;
        color: #ffffff;
        font-size: 135%;
        font-weight: 600;
        writing-mode: vertical-lr;
        letter-spacing: 0.3em;
        background: var(--main-color-cyan);
}
#contents section .mi-support .phase-wrap .support-wrap{
        flex: 1;
        display: grid;
        gap: 8px;
}
#contents section .mi-support .phase-wrap .support{
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        align-items: center;
        padding: 28px 1.8rem;
        background: #f2f2f2;
}
#contents section .mi-support .phase-wrap .support p.bunrui{
        width: 160px;
        font-weight: 600;
        line-height: 1.6;
}
#contents section .mi-support .phase-wrap .support .text-wrap{
        flex: 1;
}

/* お問合せフロー */
.flow-wrap{
        display: flex;
        gap: 48px;
        justify-content: space-between;
        margin-bottom: calc(48px + 5em) !important;
        position: relative;
}
.flow-wrap:before{
        content: "";
        width: 100%;
        height: 4px;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background: var(--main-color-darkcyan);
        z-index: 0;
}
.flow-wrap>li{
        width: calc((100% - 10%) / 4);
        display: grid;
        gap: 1em;
        font-size: 100%;
        position: relative;
        z-index: 1;
}
.flow-wrap>li p.title-text{
	width: 100%;
        display: grid;
        align-items: center;
        align-content: center;
        color: #ffffff;
        aspect-ratio: 1 / 1;
        font-size: 160%;
        font-weight: 600;
        line-height: 1.5;
        text-align: center;
        background: var(--main-color-darkcyan);
        border-radius: 50%;
}
.flow-wrap>li p:not([class]){
        font-size: 95%;
        line-height: 1.6;
        position: absolute;
        top: calc(100% + 1em);
}


/* ----- 機器一覧 ----- */

#contents .narrowdown-search{
        background: var(--main-color-lightcyan);
}
#contents .narrowdown-search p.title-text{
        font-size: 135%;
        font-weight: 600;
        text-align: center;
        margin-bottom: 0.8em;
}
#contents .narrowdown-search .btns>*{
        width: calc((100% - 48px) / 4);
        min-width: auto;
        font-size: 95%;
        padding: 1em 1em;
}

#contents .option-list{
        display: flex;
        flex-wrap: wrap;
        gap: 40px 28px;
}
#contents .option-list>*{
        width: calc((100% - 56px) / 3);
}
#contents .option-list>* figure{
        margin-bottom: 12px;
}
#contents .option-list>* p.title-text{
        font-size: 145%;
        font-weight: 600;
        line-height: 1.6;
        margin-bottom: 0.3em;
}
#contents .option-list>* p:not([class]){
        line-height: 1.6;
}

/* ----- サポート ----- */

#contents section *.download-list-wrap{
        display: grid;
        border-top: solid 1px #e5e5e5;
}
#contents section *.download-list-wrap>*{
	display: flex;
        flex-wrap: wrap;
        gap: 0 1em;
        align-items: center;
        padding: 0.8em 0;
        border-bottom: solid 1px #e5e5e5;
}
#contents section *.download-list-wrap p.title-text{
        flex: 1;
        font-size: 100%;
        font-weight: 500;
        line-height: 1.6;
}
#contents section *.download-list-wrap .btns{
	width: 160px;
}
#contents section *.download-list-wrap .btns>*{
        display: block;
        min-width: 160px;
        font-size: 90%;
        text-decoration: none;
        padding: 0.5em 1.5em;
}

/* Q&A */

#contents section *.qa-wrap{
	display: grid;
        gap: 20px;
}
#contents section *.qa-wrap dt.question{
	color: var(--main-color-cyan);
        font-size: 115%;
        font-weight: 500;
        padding: 1.3em 1em;
        padding-right: 3.5em;
        border: solid 1px;
        border-color: var(--main-color-cyan);
        background: #ffffff;
        border-radius: 5px;
	position: relative;
        cursor: pointer;
        transition: all ease .3s;
}
#contents section *.qa-wrap dt.question:hover{
        color: #ffffff;
        background: var(--main-color-cyan);
}
#contents section *.qa-wrap dt.question:before{
	content: "Q.";
        margin-right: 0.5em;
}
#contents section *.qa-wrap dt.question:after{
        content: '\f103';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        right: 1.5em;
}
#contents section *.qa-wrap dt.question.open:after{
        content: '\f102';
}
#contents section *.qa-wrap dd.answer{
        display: none;
}
#contents section *.qa-wrap dd.answer .chara-wrap{
        gap: 28px;
        margin: 0;
        padding-top: 48px;
}
#contents section *.qa-wrap dd.answer .chara-wrap figure{
        background: var(--main-color-lightcyan);
}
#contents section *.qa-wrap dd.answer .chara-wrap p{
        min-width: inherit;
        max-width: inherit;
	color: inherit;
        width: calc(100% - 160px - 28px);
        font-size: 108%;
        font-weight: normal;
        text-align: left;
        padding: 28px;
        padding-left: calc(28px + 1.5em);
        position: relative;
        box-shadow: none;
        border-radius: 12px;
        background: #f2f2f2;
        border: solid 1px #e5e5e5;
}
#contents section *.qa-wrap dd.answer .chara-wrap p:before{
	content: "A.";
        font-weight: 600;
        position: absolute;
        top: 28px;
        left: 28px;
}
#contents section *.qa-wrap dd.answer .chara-wrap p:after{
        border-top-color: #f2f2f2;
}


/* ----- サービス一覧 ------ */

#contents #service .core-service {
        display: grid;
        gap: 48px;
        padding: 40px;
        margin-bottom: 80px;
        color: initial;
        background: #ffffff;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        border-radius: 20px;
}
#contents #service .core-service>* {
}
#contents #service .core-service>* {
}
#contents #service .core-service>* *.flex-wrap {
	gap: 28px;
}
#contents #service .core-service>* figure {
        width: 35%;
}
#contents #service .core-service>* *.text-wrap {
        flex: 1;
}
#contents #service .core-service>* p.cc-sub-text{
    font-size: 160%;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 0.6em !important;
    padding-left: 0.6em;
    border-left: solid 8px;
    border-color: var(--main-color-cyan);
}
#contents #service .core-service>* *.text-wrap .btns {
        margin-top: auto;
}
#contents #service .core-service>* .btns{
}
#contents #service .core-service>* figure.floatright{
        float: right;
        margin-left: 28px;
        margin-bottom: 1.8rem;
}
#contents #service .core-service>* figure.floatleft{
        float: left;
        margin-right: 28px;
        margin-bottom: 1.8rem;
}

#contents #service figure.floatimage{
        width: 35%;
        margin-bottom: 28px;
}
#contents #service figure.floatimage.left{
        float: left;
        margin-right: 28px;
}
#contents #service figure.floatimage.right{
        float: right;
        margin-left: 28px;
}
#contents #service .clearfix p:not([class]){
	margin-bottom: 1.8rem;
}
#contents #service .clearfix>*:last-child{
	margin-bottom: 0 !important;
}
#contents #service .equipment-link{
        padding: 28px 1.8rem;
        background: #f2f2f2;
        border-radius: 8px;
}
#contents #service .equipment-link h4:before{
	background: var(--main-color-cyan);
}
#contents #service .equipment-link .flex-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 28px;
}
#contents #service .equipment-link .flex-wrap>*{
        display: flex;
        flex-wrap: wrap;
        gap: 16px;

        width: calc((100% - 28px) / 2);
        padding: 20px;
        background: #ffffff;
        border: solid 4px;
        border-color: var(--main-color-cyan);
        border-radius: 12px;
}
#contents #service .equipment-link .flex-wrap>* figure.thumb{
        width: 35%;
        order: 1;
}
#contents #service .equipment-link .flex-wrap>* .text-wrap{
	flex: 1;
        order: 2;
        display: flex;
        flex-wrap: wrap;
        align-items: start;
        align-content: space-between;
        flex-direction: column;
}
#contents #service .equipment-link .flex-wrap>* p.title-text{
	font-size: 135%;
        font-weight: 600;
        line-height: 1.6;
        margin-bottom: 0.5em;
}
#contents #service .equipment-link .flex-wrap>* p:not([class]){
        margin-bottom: 0.8em;
}
#contents #service .equipment-link .flex-wrap>* p.btn{
        min-width: 160px;
        max-width: 200px;
        width: 100%;
        font-size: 95%;
        font-weight: 500;
        text-align: center;
        margin-top: auto;
        padding: 0.6em 1.5em;
        padding-right: calc(1.5em + 10px);
        position: relative;
        color: #ffffff;
        background: var(--main-color-cyan);
        border-radius: calc(1px / 0);
}
#contents #service .equipment-link .flex-wrap>* p.btn:after{
        content: '\f054';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        right: 20px;
}

/* ------ 機器一覧 ----- */

#equipment section p.main-cc-text{
        font-size: 250%;
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0.05em;
        margin-bottom: 40px;
}
#equipment section p.cc-text{
        font-size: 140%;
        font-weight: 500;
        letter-spacing: 0.05em;
}
#equipment section p.point-title-text{
	font-size: 180%;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: 0.05em;
}
#equipment section p.point-title-text span.tag{
        display: block;
        width: fit-content;
        color: #ffffff;
        font-size: 60%;
        font-weight: 200;
        vertical-align: baseline;
        padding: 0.1em 1em;
        margin-bottom: 0.5em;
        background: var(--main-color-cyan);
        border-radius: 1px;
}
#equipment section p.point-title-text span.tag b{
        font-weight: 500;
        margin-left: 0.2em;
}
#equipment section#point .flex-wrap,
#equipment section#case .flex-wrap{
        padding-bottom: 1.8rem;
        border-bottom: solid 1px #cccccc;
}

/* ----- service ----- */

#service{
}
#service .service-list-btn{
}
#service .service-list-btn>*{
        min-width: inherit;
        color: var(--main-color-black);
        background: #ffffff;
        border: solid 1px;
        border-color: var(--main-color-black);
}
@media (min-width: 1080px){
	#service .service-list-btn>*{
	        width: calc((100% - 48px) / 4);
	}
}
@media (max-width: 1079px){
	#service .service-list-btn>*{
	        width: calc((100% - 32px) / 3);
	}
}
#service .service-list-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 48px 20px;
        margin-top: 64px;
}
#service .service-list-wrap>*{
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        align-items: start;
        gap: 16px;
        width: calc((100% - 40px) / 3);
        padding: 32px 20px 28px;
        border: solid 3px #e5e5e5;
        position: relative;
}
@media (max-width: 1079px){
	#service .service-list-wrap>*{
	        width: calc((100% - 20px) / 2);
	}
}
#service .service-list-wrap>*:before{
        content: "";
        display: block;
        width: 64px;
        height: 10px;
        background: var(--main-color-cyan);
        position: absolute;
        top: -3px;
        left: 50%;
        transform: translateX(-50%);
}
#service .service-list-wrap>* p.title-text{
        width: 100%;
        font-size: 200%;
        font-weight: 800;
        line-height: 1;
        text-align: center;
        margin-bottom: 0.2em;
}
#service .service-list-wrap>* p.title-text small{
        font-size: 60%;
}
#service .service-list-wrap>* p:not([class]){
        margin-bottom: 8px;
}
#service .service-list-wrap>* figure{
        width: 100%;
        aspect-ratio: 800 / 533;
        overflow: hidden;
}
#service .service-list-wrap>* .btns{
        margin: 0 auto;
        margin-top: auto;
}
#service .service-list-wrap>* .btns>*{
        font-size: 95%;
        min-width: 240px;
}

/* サービス詳細 */

.bg-gray,
.bg-darkcyan,
.bg-cyan{
}
.bg-darkcyan{
        color: #ffffff;
        background: var(--main-color-darkcyan);
}
.bg-cyan{
        color: #ffffff;
        background: var(--main-color-cyan) !important;
}
.bg-gray{
        background: var(--bg-gray);
}
.bg-black{
	color: #ffffff;
        background: var(--main-color-sumi) !important;
}
.bg-black *{
	color: #ffffff;
}

#service .task-list{
	display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin-bottom: 64px;
}
#service .task-list>*{
        padding: 40px 1.8em 28px;
        border: solid 4px;
        border-color: #e5e5e5;
}
@media (min-width: 1280px){
	#service .task-list>*{
	        width: calc((100% - 120px) / 5);
	}
}
@media (max-width: 1279px){
	#service .task-list>*{
	        width: calc((100% - 40px) / 3);
	}
}
#service .task-list>* figure{
        display: none;
        margin-bottom: 24px;
}
#service .task-list>* figure>img{
        height: 160px;
}
#service .task-list>* figure.icon{
        display: block;
        color: var(--main-color-paleblue);
        margin-bottom: 40px;
}
#service .task-list>* figure.icon i{
        font-size: 64px;
}
#service .task-list>* p{
        text-align: center;
}
#service .task-list>* p.title-text{
	font-size: 160%;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 0.3em;
}
/*
#service .bottom-triangle{
        text-align: center;
        margin-top: 28px;
        margin-bottom: 28px;
}
#service .bottom-triangle:before{
        content: '\f0d7';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        font-size: 80px;
        color: var(--main-color-blue);
}
*/
#service .kaiketsu{
        max-width: calc(900px + 96px);
        margin-left: auto;
        margin-right: auto;
        padding: 48px;
        background: var(--main-color-lightcyan);
        border-radius: 8px;
        position: relative;
}
#service .kaiketsu:before{
	content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 20px 28px 0 28px;
        border-color: #FFFFFF transparent transparent transparent;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
}
#service .kaiketsu *.title-text{
        font-size: 240%;
        font-weight: 500;
        line-height: 1.5;
        text-align: center;
        margin-bottom: 0.6em;
}
#service .kaiketsu *.title-text:before{
        content: '\f0eb';
        color: var(--main-color-cyan);
        display: block;
        width: fit-content;
        font-size: 48px;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        margin: 0 auto 16px;
}
#service .kaiketsu p:not([class]){
        width: fit-content;
        margin: 0 auto;
}

#service .use-case-service-list{
        margin-bottom: 48px;
}
#service .use-case-service-list>*{
        min-width: inherit;
        width: calc((100% - 32px) / 3);
        color: var(--main-color-black);
        background: #ffffff;
        border: solid 1px;
        border-color: var(--main-color-black);
}
#service .use-case-service{
        color: initial;
	padding: 28px 48px;
        padding-top: 0;
        background: #ffffff;
        box-shadow: 0 6px 6px rgba(0, 0, 0, 0.16);
        border: solid 1px #e5e5e5;
        position: relative;
}
#service .use-case-service .head-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        align-items: center;
        margin-bottom: 28px;
        padding: 28px 0;
        border-bottom: solid 1px #e5e5e5;
        position: relative;
}
#service .use-case-service .head-wrap:before{
        content: "";
        display: block;
        width: 8px;
        height: 80px;
        background: var(--main-color-cyan);
        position: absolute;
        top: 50%;
        left: -48px;
        transform: translateY(-50%);
}
#service .use-case-service .head-wrap h4.service-title{
        font-size: 280%;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: 0.08em;
}
#service .use-case-service .head-wrap p:not([class]){
        flex: 1;
}
#service .use-case-service .item-list{
	display: flex;
        flex-wrap: wrap;
        gap: 28px;
        margin-bottom: 40px;
}
#service .use-case-service .item-list>*{
        width: calc((100% - 84px) / 4);
}
#service .use-case-service .item-list>* figure{
        width: 100%;
        aspect-ratio: 1 / 1;
        margin-bottom: 16px;
        background: #e5e5e5;
        border-radius: 8px;
        border: solid 1px #cccccc;
        overflow: hidden;
}
#service .use-case-service .item-list>* .text-wrap{
        display: flex;
        flex-wrap: wrap;
        align-items: start;
}
#service .use-case-service .item-list>* .text-wrap p.item-title{
        font-size: 115%;
        font-weight: 800;
        line-height: 1.6;
        margin-bottom: 0.5em;
}
#service .use-case-service .item-list>* .text-wrap p:not([class]){
        font-size: 100%;
        line-height: 1.6;
        margin-bottom: 20px;
}
#service .use-case-service .item-list>* .btns{
        width: 100%;
        margin-top: auto;
        gap: 12px;
}
#service .use-case-service .item-list>* .btns>*{
        min-width: auto;
        width: calc((100% - 12px) / 2);
        font-size: 90%;
        padding: 0.8em 1em;
}


/* ----- 会社概要 ----- */

#company #message p.cc-text{
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: 0;
        text-indent: -0.5em;
        margin-bottom: 1.8rem;
}
#company #message p.cc-text small{
        font-size: 65%;
        font-weight: 500;
}
#company #message .flex-wrap .text-wrap{
        width: inherit;
        flex: 1;
}
#company #message .flex-wrap figure{
        width: 280px;
}
#company #message figcaption.name{
        font-size: 125%;
        text-align: center;
}

/* ----- 採用情報 ------ */

#recruit{
}
#recruit>section{
        padding-top: 28px;
        padding-bottom: 28px;
}
#recruit *.recruit-title{
        font-size: 280%;
        text-align: center;
        letter-spacing: 0.08em;
        margin-bottom: 48px;
}
#recruit .message-wrap{
        align-items: center;
        position: relative;
        background: var(--main-color-cyan);
}
#recruit .message-wrap p.title-text{
        font-size: 160%;
        font-weight: 600;
        margin-bottom: 0.8em;
}
#recruit .message-wrap .text-wrap{
        width: 52.5%;
        color: #ffffff;
        padding: 48px 4vw;
        position: relative;
        z-index: 10;
}
#recruit .message-wrap .text-wrap p:not([class]){
}
#recruit .message-wrap figure{
        flex: 1;
        position: relative;
        z-index: 10;
}
#recruit .message-wrap figure img{
}
#recruit .job-list-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 20px 20px;
}
#recruit .job-list-wrap>*{
        width: calc((100% - 20px) / 2);
        background: #ffffff;
        border: solid 3px #e5e5e5;
        position: relative;
        padding: 28px;
}
#recruit .job-list-wrap>*:before{
        content: "";
        display: block;
        width: 64px;
        height: 10px;
        background: var(--main-color-cyan);
        position: absolute;
        top: -3px;
        left: 50%;
        transform: translateX(-50%);
}
#recruit .job-list-wrap>* p.title-text{
        font-size: 160%;
        font-weight: 600;
        line-height: 1.4;
        text-align: center;
        margin-bottom: 0.8em;
}
#recruit .job-list-wrap>* p:not([class]){
        margin-bottom: 1.3em;
}
#recruit .job-list-wrap>* .btn{
        width: 100%;
        max-width: 200px;
        font-size: 110%;
        font-weight: 500;
        text-align: center;
        padding: 0.8em 1.5em;
        margin: 0 auto;
        margin-top: auto;
        position: relative;
        border-radius: calc(1px / 0);
        color: #ffffff;
	background: var(--main-color-darkcyan);
}
#recruit .job-list-wrap>*>*:last-child{
	margin-bottom: 0 !important:
}

#recruit ol.senkou-flow{
        display: flex;
        flex-wrap: wrap;
        gap: 80px;
        justify-content: center;
}
#recruit ol.senkou-flow>li{
        color: initial;
        writing-mode: vertical-rl;
        color: var(--main-color-cyan);
        font-size: 160%;
        font-weight: 600;
        letter-spacing: 0.08em;
        line-height: 1;
        text-align: center;
        padding: 1.8em 1em;
        background: #ffffff;
        border-radius: 2px;
	position: relative;
}
#recruit ol.senkou-flow>li:after{
        content: '\f0da';
        color: #ffffff;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        font-size: 48px;
        position: absolute;
        top: 50%;
        right: calc(-40px - 24px);
        transform: translateY(-50%);
}
#recruit ol.senkou-flow>li:last-child:after{
	content: none;
}

#recruit .interview-list{
        display: flex;
        flex-wrap: wrap;
        gap: 28px;
}
#recruit .interview-list>*{
        width: calc((100% - 84px) / 4);
        display: flex;
        flex-direction: column;
        gap: 1em;
}
#recruit .interview-list>* figure{
}
#recruit .interview-list>* .text-wrap{
}
#recruit .interview-list>* .text-wrap p.name-text{
        font-size: 125%;
        font-weight: 600;
}
#recruit .interview-list>* .text-wrap p:not([class]){
        font-size: 108%;
}
#recruit .interview-list>* .btns{
        margin-top: auto;
}
#recruit .interview-list>* .btns>*{
        width: 100%;
        max-width: 200px;
        min-width: inherit;
        padding-top: 0.8em;
        padding-bottom: 0.8em;
}

#recruit.interview .int-profile{
        gap: 28px;
        background: #ffffff;
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
        border-radius: 8px;
}
#recruit.interview .int-profile figure{
        width: 240px;
        max-width: 35%;
}
#recruit.interview .int-profile .text-wrap{
        flex: 1;
}
#recruit.interview .int-profile p.cc-sub-text{
    color: var(--main-color-cyan);
    font-size: 160%;
    font-weight: 500;
}
#recruit.interview .int-section{
        display: grid;
        gap: 0.3em;
        margin-bottom: 48px;
}
#recruit.interview .int-section p.q-text{
        color: var(--main-color-cyan);
        font-size: 135%;
        font-weight: 600;
        line-height: 1.45;
        text-indent: -1.5em;
        margin-left: 1.5em;
}
#recruit.interview .int-section p.a-text{
        text-indent: -1.7em;
        margin-left: 1.7em;
}
#recruit.interview .int-section p.q-text:before{
        content: "Q. ";
}
#recruit.interview .int-section p.a-text:before{
        content: "A. ";
        color: #ff9900;
        font-size: 135%;
        font-weight: 600;
}
#recruit.interview .message-wrap{
        max-width: 980px;
        margin-left: auto;
        margin-right: auto;
        border-radius: 12px;
}
#recruit.interview .message-wrap p.title-text{
}

/* ----- 2025/07/23 HOME ----- */

/* ----- home ----- */

#homeContents .header-wrap{
        margin-bottom: 40px;
}
#homeContents .header-wrap h3{
	font-size: 380%;
        font-weight: 300;
        line-height: 1.45;
}
#homeContents .header-wrap h3 b{
        letter-spacing: 0;
}
#homeContents .header-wrap h3 small{
        color: #999999;
        font-size: 35%;
}
#homeContents .header-wrap *.small-title{
        color: #999999;
        font-size: 135%;
        font-weight: 100;
}
#homeContents p:not([class]){
	font-size: 115%;
        font-weight: 300;
        line-height: 1.8;
        text-align: justify;
}
#homeContents p.cc-text{
        font-size: 145%;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: 0.08em;
        margin-bottom: 1.3em;
}
#homeContents p.cc-sub-text{
	font-size: 200%;
        font-weight: 500;
        line-height: 1.45;
        margin-bottom: 0.8em;
}

#homeContents #mv{
        background: var(--bg-gray);
        overflow-x: hidden;
}
#homeContents #mv>*.text-wrap{
        display: none;
/*        display: grid;*/
        color: #ffffff;
        letter-spacing: 0.05em;
        text-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
        gap: 1.8em;
        position: absolute;
        top: calc(50% - 32px);
        left: 8vw;
        transform: translateY(-50%);
        z-index: 10;
}
#homeContents #mv>*.text-wrap h2{
        font-size: 400%;
        font-weight: 800;
        line-height: 1.4;
}
#homeContents #mv>*.text-wrap p.sub-catchcopy{
        font-size: 135%;
        font-weight: 600;
        line-height: 1.8;
}

#mv #service-case-list{
        position: relative;
        height: 100vh;
        max-height: 720px;
        padding-bottom: 80px;
}
#mv #service-case-list .swiper[data-main-list]{
        height: 100%;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide{
        width: 100%;
        aspect-ratio: 5 / 2;
        background: rgba(0, 0, 0, 1);
        position: relative;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide:before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.3);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 20;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide img{
        object-fit: cover;
        min-width: 100%;
        min-height: 100%;
        opacity: 0.85;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide .inner{
    width: 100%;
    height: 100%;
    display: grid;
    align-items: center;
    justify-content: end;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap{
        display: block;
        width: fit-content;
        max-width: 43vw;
        background: rgba(255, 255, 255, 0.9);
        padding: 28px 2rem;
        z-index: 50;
        position: absolute;
        top: calc(50% - 48px);
        transform: translateY(-50%);
        right: 8vw;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap p.title-text{
        font-size: 240%;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 0.3em;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap p.title-text span.tag{
        display: block;
        color: var(--main-color-cyan);
        font-size: 47%;
        margin-bottom: 0.2em;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap p:not([class]){
        font-size: 115%;
        line-height: 1.6;
        margin-bottom: 1.3em;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap .btns{
        margin-bottom: -52px;
}
#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap .btns>*:hover{
	opacity: 1;
	transform: scale(1.1);
}
#mv #service-case-list .swiper[data-thumbnail-list] .swiper-wrapper{
        display: flex;
        justify-content: center;
}
#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide{
        height: auto;
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        display: grid;
        align-items: center;
        justify-content: center;
        padding: 24px 20px 20px;
        background: #ffffff;
        cursor: pointer;
        transform: scale(0.98);
        transition: all 
ease .3s;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide:hover{
        opacity: 1 !important;
        transform: scale(1);
        color: #ffffff !important;
        background: var(--main-color-cyan);
}
#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide:hover i{
        color: #ffffff !important;
}
#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide p{
        font-size: 125%;
        font-weight: 600;
        line-height: 1.3;
        word-break: keep-all;
        text-align: center;
        position: relative;
        z-index: 10;
}

#service-list-section{
        width: 100%;
        padding-left: 40px;
        padding-right: 40px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
}
#service-list-section p.sec-title{
        color: #Ffffff;
        font-size: 200%;
        font-weight: 600;
        text-shadow: 0 0 8px rgba(0, 0, 0, 0.6);

        width: calc((124px * 9) + (10px * 8));
        margin: 0 auto 0.8em;
}
#service-list-section .swiper-wrapper *.top,
#service-list-section .swiper-wrapper *.bottom{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
}
#service-list-section .swiper-wrapper * i{
        color: var(--main-color-cyan);
        font-size: 40px;
        margin: 0 auto 12px;
}
@media (min-width: 1280px){
	#service-list-section{
	        bottom: 60px;
	}
	#service-list-section .swiper-wrapper{
	        gap: 10px;
	}
	#service-list-section .swiper-wrapper *.top,
	#service-list-section .swiper-wrapper *.bottom{
	        justify-content: center;
	}
	#service-list-section .swiper-wrapper *.top{
	        justify-content: end;
	}
	#service-list-section .swiper-wrapper *.bottom{
	        justify-content: start;
	}
	#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide{
            width: calc(((100vw - 96px) - (10px * 7)) / 7);
            max-width: 160px;
	}
}
@media (max-width: 1279px){
	#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap{
	}
	#service-list-section{
	        bottom: 28px;
	}
	#service-list-section .swiper-wrapper{
        	flex-wrap: wrap;
	        gap: 10px;
	}
	#service-list-section .swiper-wrapper *.top,
	#service-list-section .swiper-wrapper *.bottom{
/*
            width: calc(100% - 40px);
            margin-right: auto;
*/
	}
	#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide{
	    width: calc(((100vw - 140px) - (10px * 7)) / 7);
	}
	#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide p{
	        font-size: 1.3vw;
	}
}
@media (max-width: 1099px){
	#mv #service-case-list .swiper[data-main-list] .swiper-slide .text-wrap{
	    width: calc(100% - 16vw);
	    max-width: inherit;
	    left: 50%;
	    right: 50%;
	    transform: translate(-50%, -50%);
	}
	#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide{
/*            max-width: 140px;
            aspect-ratio: 5 / 3;
*/
            border-radius: 8px;
	}
	#mv #service-case-list .swiper[data-thumbnail-list] .swiper-slide p{
	    font-size: 108%;
	}
}

#homeContents #philosophy{
        padding-top: 28px;
        padding-bottom: 108px;
        background: var(--bg-gray);
}
#homeContents #philosophy p:not([class]){
        font-size: 115%;
        font-weight: 300;
        word-break: keep-all;
        text-align: inherit;
        margin-bottom: 1.8rem;
}
#homeContents #need-service{
    color: #ffffff;
    margin-top: 64px;
    padding: 1.8rem 40px;
    background: #2f2725;
    border-radius: 12px;
}
#homeContents #need-service p:not([class]){
	font-size: 108%;
}
#homeContents #need-service .btns{
        margin-bottom: -56px;
}

#homeContents #airForce-cloud {
	padding-top: 80px;
        padding-bottom: 80px;
        position: relative;
}
#homeContents #airForce-cloud .inner{
            display: grid;
            gap: 1.8rem;
            max-width: 1080px;
}
#homeContents #airForce-cloud figure.right{
            width: calc(100% - 8vw);
            margin: 0 auto;
}
#homeContents #airForce-cloud .header-wrap{
        width: 100%;
        margin-bottom: 0;
}
#homeContents #airForce-cloud .header-wrap h3{
        font-size: 280%;
}
#homeContents #airForce-cloud .text-wrap{
        flex: 1;
        position: relative;
        z-index: 10;
}
#homeContents #airForce-cloud .text-wrap>*:last-child{
        margin-bottom: 0 !important;
}
#homeContents #airForce-cloud .text-wrap p:not([class]){
        margin-bottom: 1.8rem;
}
#homeContents #airForce-cloud figure.right{
        position: relative;
        z-index: 10;
}
.airforce-slide{
        width: 100%;
        max-width: 640px;
        margin: 0 auto !important;
        padding: 2.5% !important;
        position: relative !important;
}
.airforce-slide *.tablet-waku{
	position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
}
.airforce-slide *.swiper-wrapper{
        z-index: 5;
}
.airforce-slide .swiper-pagination{
        bottom: -5px !important;
}
.airforce-slide .swiper-pagination *.swiper-pagination-bullet-active{
        background: var(--main-color-cyan);
}

#homeContents #airreal {
	padding-top: 80px;
        padding-bottom: 48px;
        background: #ffffff;
        position: relative;
}
#homeContents #airreal .flex-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 48px;
        align-items: end;
        margin-bottom: 48px;
}
#homeContents #airreal .flex-wrap .text-wrap{
        flex: 1;
        padding-bottom: 1em;
}
#homeContents #airreal .flex-wrap figure{
        display: grid;
        justify-content: center;
        width: 312px;
        max-width: 35%;
        height: fit-content;
}
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
        width: calc(100vw * 2);
}
.scroll-infinity__item>img {
  width: 100%;
}

#homeContents #service-feature {
	padding-top: 80px;
        padding-bottom: 80px;
        background: #ffffff;
        position: relative;
}
#homeContents #service-feature .header-wrap{
}
#homeContents #service-feature .header-wrap h3{
	color: var(--main-color-cyan);
        font-size: 320%;
        line-height: 1.3;
        text-align: center;
}
#homeContents #service-feature .service-feature-list{
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 80px;
        display: grid;
        gap: 0.8em;
}
#homeContents #service-feature .service-feature-list>*{
	display: flex;
        gap: 1em;
        font-size: 160%;
        font-weight: 400;
        line-height: 1.8;
}
#homeContents #service-feature .service-feature-list>* p.title-text{
        color: #ffffff;
        font-weight: 600;
        padding: 0.1em 0.5em;
        margin-left: 0.2em;
        background: #e1ab2c;
}
#homeContents #service-feature .service-feature-list>* p.title-text i{
        margin-right: 0.8em;
}
#homeContents #service-feature .service-feature-list>* p:not([class]){
	font-size: 100%;
        font-weight: 500;
}

.service-area{
        margin-top: 56px;
        padding: 28px 40px 48px;
        position: relative;
        background: var(--main-color-lightcyan);
        border-radius: 20px;
}
.service-area *.title-flex{
        display: flex;
        gap: 20px;
        justify-content: center;
        margin-top: -56px;
        margin-bottom: 40px;
}
.service-area *.title-flex>p{
        color: #ffffff;
        font-size: 135% !important;
        font-weight: 500 !important;
        line-height: 1.6 !important;
        word-break: keep-all;
        text-align: center !important;
        padding: 0.8em 1.5em;
        background: var(--main-color-cyan);
        border-radius: 1px;
}
.service-area .service-box-wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.service-area .service-box-wrap>*{
        display: flex;
        flex-direction: column;
        width: calc((100% - 40px) / 3);
        background: #ffffff;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        padding: 24px;
        border-radius: 12px;
        transform: scale(0.98);
        transition: all ease .3s;
        cursor: pointer;
}
@media(max-width: 1279px){
	.service-area .service-box-wrap>*{
	        width: calc((100% - 20px) / 2);
	}
}
.service-area .service-box-wrap>*:hover{
        transform: scale(1.02);
}
.service-area .service-box-wrap>* .icon{
	text-align: center;
        margin-bottom: 16px;
}
.service-area .service-box-wrap>* .icon i{
        color: var(--main-color-cyan);
        font-size: 40px;
}
.service-area .service-box-wrap>* p.title-text{
        font-size: 135%;
        font-weight: 600;
        line-height: 1.3;
        word-break: keep-all;
        text-align: center;
        margin-bottom: 0.6em;
}
.service-area .service-box-wrap>* p:not([class]){
        font-size: 108% !important;
        line-height: 1.6 !important;
        text-align: center !important;
        margin-bottom: 1.25em;
}
.service-area .service-box-wrap>* *.btns{
        margin-top: auto;
}
.service-area .service-box-wrap>* *.btns>*{
        min-width: auto;
        max-width: 80%;
        width: 100%;
        padding: 0.8em 1.5em;
}
.service-area .iotaas{
        display: flex;
        margin-top: 40px;
        justify-content: center;
        gap: 20px;
}
.service-area .iotaas .icon{
	align-content: center;
        min-width: 64px;
}
.service-area .iotaas .icon i{
        color: var(--main-color-cyan);
        font-size: 56px;
}
.service-area .iotaas .text-wrap{
}
.service-area .iotaas p.title-text{
        font-size: 135%;
        font-weight: 600;
        line-height: 1.3;
        word-break: keep-all;
        margin-bottom: 0.6em;
}
.service-area .iotaas p:not([class]){
        font-size: 108% !important;
        line-height: 1.6 !important;
}
.service-area .iotaas .btns{
        align-content: end;
}
.service-area .iotaas .btns>*{
        min-width: auto;
        width: 100%;
        height: fit-content;
        padding: 0.8em 1.5em;
}


#homeContents #recruit{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        position: relative;
}
#homeContents #recruit:before{
        content: "";
        display: block;
        width: calc(100% - 4vw);
        height: 100%;
        background: var(--bg-gray);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
}
#homeContents #recruit>*.text-wrap{
	width: 52.5%;
        padding: 80px 4vw 48px;
        position: relative;
        z-index: 10;
}
#homeContents #recruit>figure{
        flex: 1;
        position: relative;
        z-index: 10;
}
#homeContents #recruit .header-wrap p{
        line-height: 1;
}
#homeContents #recruit .header-wrap p img{
        width: auto;
        max-width: inherit;
        height: 28px;
}
#homeContents #recruit p.cc-text{
        font-weight: 200;;
}
#homeContents #recruit p.cc-text b{
        display: inline-block;
        font-size: 200%;
        font-weight: 300;
        line-height: 1.3;
        margin-bottom: 0.2em;
}
#homeContents #recruit .btns{
        margin-top: 28px;
}

#homeContents #news{
        display: flex;
        justify-content: space-between;
        gap: 64px;
        margin-top: 80px;
        margin-bottom: 120px;
        padding: 48px 40px;
        border: solid 8px #fafafa;
        border-radius: 20px;
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
        overflow: hidden;
}
#homeContents #news .header-wrap{
        display: grid;
        gap: 28px;
        width: fit-content;
        margin-bottom: 0;
}
#homeContents #news .header-wrap h3{
        display: grid;
        gap: 0;
        align-items: start;
        line-height: 0;
}
#homeContents #news .header-wrap *.en img{
        width: fit-content;
        height: 48px;
}
#homeContents #news .header-wrap .btns{
        margin-top: auto;
}
#homeContents #news .header-wrap .btns>a{
	width: 240px;
        min-width: inherit;
}
#homeContents #news .post-list{
	flex: 1;
}


/* ----- はじめての方へ ----- */

#first .imamade,
.fit-center{
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
}
.imamade span.blue-tag{
        color: #ffffff;
        display: inline-block;
        width: 100%;
        font-size: 70%;
        text-align: center;
        max-width: 320px;
        padding: 0.25em 1.8rem;
        margin-bottom: 0.3em;
        background: var(--main-color-cyan);
        border-radius: calc(1px / 0);
}
#first .korekara{
        padding-top: calc(80px + 28px);
        padding-bottom: 80px;
        position: relative;
}
#first .korekara:before{
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 40px solid transparent;
        border-left: 40px solid transparent;
        border-top: 28px solid #ffffff;
        border-bottom: 0;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
}
#first .korekara p.cc-text{
        text-align: center;
        letter-spacing: 0;
        margin-bottom: 48px;
}
#first .korekara p:not([class]){
        width: fit-content;
        margin: 0 auto;
}
#first .korekara .flex-wrap .text-wrap p.title-text{
        color: #ffffff;
        font-size: 160%;
        font-weight: 500;
        text-align: center;
        margin-bottom: 1em;
        background: #e1ab2c;
        border-radius: 40px;
}
#first .korekara .flex-wrap .text-wrap ul.reason-list{
        display: grid;
        gap: 1.5em;
        width: fit-content;
        margin: 0 auto;
}
#first .korekara .flex-wrap .text-wrap ul.reason-list>li{
        font-size: 160%;
        font-weight: 400;
}
#first .korekara .flex-wrap .text-wrap ul.reason-list>li span{
        color: #e1ab2c;
        font-weight: 600;
        padding: 0.1em 0.5em;
        margin-left: 0.2em;
        background: #ffffff;
}
#first .korekara .select-reason{
        padding: 1.8rem 40px;
        margin: 28px 0;
        background: #ffffff;
        border-radius: 8px;
}
#first .korekara .select-reason p.sub-title-text{
        width: fit-content;
        color: var(--main-color-cyan);
        font-size: 160%;
        font-weight: 600;
        text-align: center;
        margin: 0 auto 0.8em;
        border-bottom: solid 4px;
        border-color: #e1ab2c;
}
#first .korekara .select-reason ul.reason-list{
	width: fit-content;
        margin: 0 auto 28px;
        display: grid;
}
#first .korekara .select-reason ul.reason-list>li{
	color: initial;
        font-size: 145%;
        font-weight: 500;
}
#first .korekara .select-reason ul.reason-list>li span{
        color: var(--main-color-blue);
        font-size: 120%;
        font-weight: 600;
        margin-left: 0.1em;
}
#first .korekara .select-reason ul.kanketsu-list{
	display: flex;
        flex-wrap: wrap;
        gap: 0.2em 0;
        justify-content: center;
        width: fit-content;
        margin: 0 auto;
        max-width: 380px;
}
#first .korekara .select-reason ul.kanketsu-list>li{
        color: initial;
        width: calc(100% / 2);
        font-size: 135%;
}
#first .korekara .select-reason ul.kanketsu-list>li:before{
        display: inline-block;
        content: "";
        width: 6px;
        margin-right: 0.5em;
        vertical-align: middle;
        aspect-ratio: 1 / 1;
        background: var(--main-color-cyan);
        border-radius: 50%;
}


#first .jun-lab{
        gap: 40px;
}
#first .jun-lab>*{
        width: calc((100% - 80px) / 3) !important;
        display: grid;
        align-items: center;
        text-align: center;
}
#first .jun-lab>*.note-wrap{
        background: #ffffff;
        position: relative;
}
#first .jun-lab>*.note-wrap p{
        font-weight: 500;
        text-align: center;
}
#first .jun-lab>*.note-wrap hr{
        margin: 0.6em 0;
        border-color: #e5e5e5;
        border-bottom: none;
}
#first .jun-lab>*.note-wrap p.blue-tag{
        color: #ffffff;
        width: fit-content;
        margin: 0.5em auto 0;
        padding: 0 1.8rem;
        background: var(--main-color-cyan);
}
#first .jun-lab>*.note-wrap.flow-r:before{
	content: '\f054';
        font-size: 20px;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        top: 50%;
        right: -26px;
        color: var(--main-color-cyan);
        transform: translateY(-50%);
}

#first .img1{
	max-width: 640px;
        aspect-ratio: 7 / 4;
        margin: 64px auto 0;
        overflow: hidden;
        border-radius: 20px;
}
#first .catalog{
}
#first .catalog .text-wrap{
        flex: 1;
}
#first .catalog .text-wrap>p{
        margin-bottom: 1.8em !important;
}
#first .catalog figure{
        width: 240px !important;
}

section .result-circle{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 28px;
        margin-bottom: 48px;
}
section .result-circle>*{
        display: grid;
        align-items: center;
        justify-content: center;

        color: #ffffff;
        width: calc((100% - 56px) / 3);
        max-width: 240px;
        aspect-ratio: 1 / 1;
        background: var(--main-color-cyan);
        border-radius: 50%;
}
section .result-circle>* p{
        font-size: 200%;
        font-weight: 200;
        line-height: 1.4;
        text-align: center;
}
section .result-circle>* p b{
        font-size: 160%;
}


/* 参考事例 */
#contents section .case-list-wrap{
        gap: 28px;
        margin-bottom: 28px;
}
#contents section .case-list-wrap>*{
        display: grid;
        gap: 1em;
        width: calc((100% - 56px) / 3);
        position: relative;
        align-items: start;
}
#contents section .case-list-wrap>*:after{
        content: '\f054';
        font-size: 10px;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;

        width: 24px;
        aspect-ratio: 1 / 1;
        display: grid;
        align-items: center;
        justify-content: center;

        color: #ffffff;
        position: absolute;
        right: 0;
        bottom: 0;
        background: var(--main-color-cyan);
        border-radius: 50%;
}
#contents section .case-list-wrap>* figure{
        border-radius: 12px;
        overflow: hidden;
}
#contents section .case-list-wrap>* p.title-text{
        font-weight: 500;
        line-height: 1.6;
        padding-right: 40px;
}
#contents section .introduction-flow{
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
}
#contents section .introduction-flow h5{
        display: grid;
        align-items: center;
        width: 350px;
        text-align: center;
        margin-bottom: 0 !important;
}
#contents section .introduction-flow p{
        flex: 1;
        padding: 1.8rem 40px;
        background: #f2f2f2;
}
.flow-bottom-icon{
        color: #cccccc;
        font-size: 60px;
        line-height: 1;
        text-align: center;
        margin: -28px 0 12px !important;
}

/* ----- サービス一覧 ----- */

#service .use-case-example{
}
#service .use-case-example p.title-text{
        color: #ffffff;
        width: fit-content;
        font-size: 115%;
        font-weight: 600;
        text-align: center;
        padding: 0.5em 2em;
        margin: 0 auto 1.3em;
        background: var(--main-color-cyan);
}
#service .use-case-example ul{
        display: flex;
        flex-wrap: wrap;
        gap: 28px 40px;
        justify-content: center;
        max-width: 624px;
        margin-left: auto;
        margin-right: auto;
}
#service .use-case-example ul>li{
        min-width: 120px;
        max-width: 160px;
        display: grid;
        gap: 16px;
        font-size: 115%;
        font-weight: 300;
        text-align: center;
        word-break: keep-all;
        line-height: 1.4;
}
#service .use-case-example ul>li span{
        display: grid;
        align-items: center;
        justify-content: center;
        width: 120px;
        aspect-ratio: 1 / 1;
        margin: 0 auto;
        border-radius: 50%;
        background: #ffffff;
}
#service .use-case-example ul>li span>i{
        font-size: 56px;
        color: var(--main-color-cyan);
}
#service section .feature-list-wrap{
        counter-reset: number;
        display: grid;
        gap: 20px;
}
#service section .feature-list-wrap>*{
        padding: 28px 1.8rem;
        padding-left: calc(1.8rem + 48px - 12px);
        border: solid 1px #cccccc;
        background: #ffffff;
        border-radius: 2px;
        position: relative;
}
#service section .feature-list-wrap>*:before{
	counter-increment: number;
        content: counter(number);
        display: grid;
        align-items: center;
        width: 48px;
        aspect-ratio: 1 / 1;
        color: #ffffff;
        font-size: 200%;
        font-weight: 600;
        text-align: center;
        background: var(--main-color-cyan);
        position: absolute;
        top: 32px;
        left: -12px;
}
#service section .feature-list-wrap>* p.title-text{
        font-size: 240%;
        font-weight: 500;
        line-height: 1.6;
        margin-bottom: 0.3em;
}
#service section .feature-list-wrap>* p:not([class]){
}

.tag-search {
        list-style: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
}
.tag-search li {
        display: inline-block;
        font-size: 100%;
        line-height: 1;
}
.tag-search input[type="checkbox"] {
	display: none;
}
.tag-search label {
	display: inline-block;
        min-width: 160px;
        font-size: 108%;
        font-weight: 500;
        text-align: center;
        padding: 0.6em 1.5em;
        border: 2px solid;
        border-color: var(--main-color-cyan);
        border-radius: 1px;
        background: #fff;
        color: var(--main-color-cyan);
        cursor: pointer;
        user-select: none;
        transition: all 0.2s 
ease;
        position: relative;
}
.tag-search input[type="checkbox"]:checked + label {
        background: var(--main-color-cyan);
        color: #fff;
}
.tag-search input[type="checkbox"]:checked + label:after {
        content: '\f14a';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        top: 50%;
        left: 1em;
        transform: translateY(-50%);
}



#contents #service section .equipment-List-wrap{
}
#contents #service section .equipment-List-wrap>*{
        padding: 12px 12px 20px;
}
@media (max-width: 1279px){
	#contents #service section .equipment-List-wrap>*{
                width: calc((100% - 20px) / 2) !important;
	}
	#contents #service section .equipment-List-wrap>*:first-child{
	        width: 100% !important;
	}
}
#contents #service section .equipment-List-wrap>* p{
        color: #ffffff;
        font-size: 108%;
        font-weight: 500;
        text-align: center;
        line-height: 1.35;
        padding: 0.3em 1em;
        background: var(--main-color-cyan);
}
#contents #service section .equipment-list{
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        justify-content: center;
}
#contents #service section .equipment-list>figure{
        width: calc((100% - 16px) / 2);
        text-align: center;
}
#contents #service section .equipment-list>figure img{
        height: 128px;
}
#contents #service section .equipment-list>* figcaption{
        font-size: 108%;
        font-weight: 500;
        text-align: center;
        padding-top: 0;
}

#service #feature .btns{
}
#service #feature .btns>*{
        max-width: 280px;
}
.box-list-wrap{
        display: grid;
        gap: 5px;
}
.box-list-wrap>*{
        color: initial;
        padding: 1.8rem 40px;
        background: #f2f2f2;
}
.box-list-wrap>*:nth-child(odd){
        background: #e5e5e5;
}
.box-list-wrap>* p.cc-sub-text{
    font-size: 145%;
    font-weight: 600;
    margin-bottom: 0.5em;
}
#service .mvno-icon-list{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
        margin-top: 1.8em;
}
#service .mvno-icon-list>*{
        width: fit-content;
        display: grid;
        gap: 12px;
}
#service .mvno-icon-list>* span{
        width: 60px;
        aspect-ratio: 1 / 1;
        display: grid;
        align-items: center;
        align-content: center;
        justify-content: center;

        margin: 0 auto;
        background: var(--main-color-cyan);
        border-radius: 50%;
}
#service .mvno-icon-list>* span i{
        color: #ffffff;
        font-size: 28px;
}
#service .mvno-icon-list>* p{
        font-size: 88%;
        font-weight: 500;
        text-align: center;
}

#contents .servie-list-wrap{
        gap: 28px !important;
}
#contents .servie-list-wrap>div{
        width: calc((100% - 28px) / 2) !important;
        gap: 0;
        background: #ffffff;
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
        border-radius: 8px;
        overflow: hidden;
}
@media (max-width: 1099px){
	#contents .servie-list-wrap>div{
	        width: 100% !important;
	}
}
#contents .servie-list-wrap>div.iotaas{
        width: 100% !important;
}
#contents .servie-list-wrap>div .flex-wrap{
        gap: 16px;
        margin-bottom: 28px;
}
#contents .servie-list-wrap>div figure{
        order: 2;
        width: 35%;
        height: 100%;
}
#contents .servie-list-wrap>div .text-wrap{
        order: 1;
        display: flex;
        padding: 28px;
        align-content: space-between;
        flex-direction: column;
}
#contents .servie-list-wrap>div figure+.text-wrap{
        width: 65% !important;
}
#contents .servie-list-wrap>div:not(.iotaas) .text-wrap h4{
        font-size: 145%;
}
#contents .servie-list-wrap>div .text-wrap p.cc-sub-text{
}
#contents .servie-list-wrap>div .text-wrap p:not([class]){
        font-size: 108%;
}
#contents .servie-list-wrap>div .btns{
        margin-top: auto;
}
#contents .servie-list-wrap>div .btns>*{
        min-width: 200px;
        padding: 1em 1.5em;
}

/* ----- 機器一覧 ----- */

#equipment .air-real{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 48px;
        align-items: center;
        background: #ffffff;
        border: solid 1px #e5e5e5;
        padding: 1.8rem 24px;
}
#equipment .air-real .text-wrap{
}
#equipment .air-real .text-wrap p.sub-title-text{
        color: var(--main-color-sumi);
        font-size: 135%;
        font-weight: 500;
        line-height: 1.45;
        margin-bottom: 0.3em;
}
#equipment .air-real .text-wrap p.title-text{
        color: var(--main-color-sumi);
        font-size: 280%;
        font-weight: 500;
        line-height: 1;
        margin-bottom: 0.5em;
}
#equipment .air-real .text-wrap p:not([class]){
	margin-bottom: 1.8rem;
}
#equipment .air-real figure{
}
#contents section .equipment-List-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
}
#contents section .equipment-List-wrap>*{
        display: grid;
        gap: 0.8em;
        align-items: start;
        background: #ffffff;
        border: solid 1px #e5e5e5;
        padding: 1.8rem 24px;
}
@media (min-width: 1280px){
	#contents section .equipment-List-wrap>*{
	        width: calc((100% - 40px) / 3);
	}
}
@media (max-width: 1279px){
	#contents section .equipment-List-wrap>*{
	        width: calc((100% - 20px) / 2);
	}
}
#contents section .equipment-List-wrap>* figure.thumb{
        width: 100%;
        aspect-ratio: 5 / 3;
        border-radius: 12px;
        overflow: hidden;
}
#contents section .equipment-List-wrap>* figure.thumb>img{
}
#contents section .equipment-List-wrap>* .text-wrap{
        display: grid;
        align-items: start;
}
#contents section .equipment-List-wrap>* .text-wrap p.sub-title-text{
        color: var(--main-color-sumi);
        font-size: 115%;
        font-weight: 300;
        line-height: 1.45;
        margin-bottom: 0.3em;
}
#contents section .equipment-List-wrap>* .text-wrap p.title-text{
        color: var(--main-color-sumi);
        font-size: 160%;
        font-weight: 500;
        line-height: 1.5;
        margin-bottom: 0.8em;
}
#contents section .equipment-List-wrap>* .text-wrap p:not([class]){
        font-size: 95%;
        margin-bottom: 1.5em;
        word-break: break-all;
}
#contents section .equipment-List-wrap>* .tag-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
}
#contents section .equipment-List-wrap>* .tag-wrap>*{
        color: rgb(55 65 81 / var(--tw-text-opacity, 1));
        font-size: 90%;
        font-weight: 500;
        padding: 0.5em 1.25em;
        background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
        border-radius: 1px;
}
#contents section .equipment-List-wrap>* .text-wrap .btns{
        margin-top: auto;
}
#contents section .equipment-List-wrap>* .text-wrap .btns>*{
	min-width: 200px;
        padding-top: 1em;
        padding-bottom: 1em;
}

#contents #service section .equipment-List-wrap.mini{
        gap: 12px;
}
#contents #service section .equipment-List-wrap.mini>*{
        width: calc((100% - 48px) / 5) !important;
        display: flex;
        flex-direction: column;
}
@media (max-width: 1279px) and (min-width: 980px){
	#contents #service section .equipment-List-wrap.mini>*{
	        width: calc((100% - 36px) / 4) !important;
	}
}
@media (max-width: 979px){
	#contents #service section .equipment-List-wrap.mini>*{
	        width: calc((100% - 24px) / 3) !important;
	}
}
#contents #service section .equipment-List-wrap.mini>* .text-wrap{
        display: flex;
        flex-direction: column;
        margin-top: auto;
}
#contents #service section .equipment-List-wrap.mini>* p{
    color: var(--main-color-sumi) !important;
    padding: 0 !important;
    background: transparent !important;
}
#contents #service section .equipment-List-wrap.mini>* p.sub-title-text{
        color: #787788 !important;
        text-align: left !important;
}
#contents #service section .equipment-List-wrap.mini>* p.title-text{
        font-size: 135% !important;
        font-weight: 600 !important;
        text-align: left !important;
}
#contents #service section .equipment-List-wrap.mini>* .btns>*{
        min-width: 120px;
        font-size: 95%;
        padding: 0.8em 1.5em;
        padding-right: 28px;
}
#contents #service section .equipment-List-wrap.mini>* .btns>*:after{
        right: 12px;
}


/* ----- 機器詳細 ----- */

#equipment p.blue-tag-text{
        color: #ffffff;
        width: fit-content;
        font-weight: 500;
        padding: 0 0.8em;
        margin-top: 1.3em;
        margin-bottom: 0.5em !important;
        background: var(--main-color-cyan);
}
#equipment ul.icon-point-wrap{
        display: grid;
        gap: 20px;
}
#equipment ul.icon-point-wrap>li{
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        font-size: 100%;
        line-height: 1;
}
#equipment ul.icon-point-wrap>li figure{
        display: grid;
        width: 64px;
        align-items: center;
        justify-content: center;
        align-items: center;
}
#equipment ul.icon-point-wrap>li .text-wrap{
        flex: 1;
}
#equipment ul.icon-point-wrap>li p.point-title-text{
        color: var(--main-color-cyan);
        font-size: 160%;
        font-weight: 500;
}
#equipment ul.icon-point-wrap>li p:not([class]){
}

#equipment ul.feature-list{
        display: flex;
        flex-wrap: wrap;
        gap: 1.8em 40px;
        align-items: start;
        justify-content: space-between;
}
#equipment ul.feature-list>li{
        width: calc((100% - 40px) / 2);
        font-size: 100%;
        display: grid;
        gap: 0.2em;
/*        padding: 1em 0;*/
}
/*
#equipment ul.feature-list>li:not(:last-child){
        border-bottom: solid 1px;
        border-color: #cccccc;
}
*/
#equipment ul.feature-list>li p.title-text{
        color: var(--main-color-cyan);
        font-size: 180%;
        font-weight: 400;
        line-height: 1.45;
}
#equipment ul.feature-list>li p:not([class]){
}
#equipment #feature .flex-wrap.half{
        margin-bottom: 48px;
}
#equipment #feature .flex-wrap.half p.cc-sub-text{
        font-size: 180%;
        font-weight: 400;
        line-height: 1.45;
        margin-bottom: 0.2em;
}
.blue-text{
        color: var(--main-color-cyan);
}

/* ----- service - iotaas ----- */

#service.iotaas{
}
#service.iotaas .cc-text.center-text{
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
}
#contents section .center-wrap{
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
}
#service.iotaas #kadai .box3{
        gap: 28px !important;
}
#service.iotaas #kadai .box3>*{
        display: grid;
	align-items: start;

        width: calc((100% - 56px) / 3);
        padding: 1.8rem 28px;
        color: initial;
        background: #ffffff;
}
#service.iotaas #kadai .box3>* .icon{
    text-align: center;
    margin-bottom: 1.8em;
}
#service.iotaas #kadai .box3>* .icon i{
        color: var(--main-color-cyan);
        font-size: 64px;
}
#service.iotaas #kadai .box3>* p.title-text{
        width: fit-content;
	color: initial;
        font-size: 140%;
        font-weight: 600;
        line-height: 1.6;
        margin: 0 auto 0.3em;
}
#service.iotaas #kaiketsu{
        padding-top: 28px;
        position: relative;
}
#service.iotaas #kaiketsu:before{
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 40px solid transparent;
        border-left: 40px solid transparent;
        border-top: 28px solid;
/*        border-top-color: var(--main-color-sumi);*/
        border-top-color: var(--bg-gray);
        border-bottom: 0;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
}
#service.iotaas #kaiketsu ul.disc{
        gap: 0.8em;
        margin-left: 1.8em;
        margin-bottom: 48px;
}
#service.iotaas #kaiketsu ul.disc>li{
        font-size: 160%;
        line-height: 1.45;
}
#service.iotaas .header-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 48px;
        align-items: center;
}
#service.iotaas .header-wrap>h3{
        font-size: 280%;
        margin-bottom: 0;
}
#service.iotaas .header-wrap>h3:before{
	content: none;
}
#service.iotaas .header-wrap>p:not([class]){
        flex: 1;
        font-size: 125%;
        font-weight: 400;
}
#service.iotaas .main-service{
        gap: 0;
        border: solid 1px;
        border-color: #e5e5e5;
        background: #ffffff;
        margin-bottom: 48px;
}
#service.iotaas .main-service p.title-text{
    font-size: 240%;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 0.8em;
}
#service.iotaas .main-service>*.text-wrap{
        width: 100%;
        padding: 1.8rem 28px;
        order: 1;
}
#service.iotaas .main-service>figure+*.text-wrap{
        width: calc(65%);
}
#service.iotaas .main-service>figure{
        width: 35%;0
        background: #f2f2f2;
        order: 2;
}
#service.iotaas .point-list-wrap{
        display: grid;
        gap: 4px;
}
#service.iotaas .point-list-wrap>div{
        padding: 1.5rem 28px;
        background: #f2f2f2;
}
#service.iotaas .point-list-wrap>div:nth-child(odd){
        background: #e5e5e5;
}
#service.iotaas .main-service .point-list-wrap>div:nth-child(odd){
        background: var(--main-color-cyan);
}
#service.iotaas .main-service .point-list-wrap>div:nth-child(odd),
#service.iotaas .main-service .point-list-wrap>div:nth-child(odd) i{
        color: #ffffff !important;
}
#service.iotaas .point-list-wrap>div .point-title-text{
        font-size: 160%;
        font-weight: 500;
        line-height: 1.6;
        margin-bottom: 0.3em;
}
#service.iotaas .point-list-wrap>div .point-title-text i{
        color: var(--main-color-cyan);
        font-size: 135%;
        margin-right: 0.5em;
        vertical-align: middle;
}
#service.iotaas .cloud-list-wrap .point-list-wrap>div{
        padding: 1rem 20px;
}
#service.iotaas .cloud-list-wrap .point-list-wrap>div .point-title-text{
        font-size: 135%;
        margin-bottom: 0.2em;
}

#service.iotaas .cloud-list-wrap{
        display: grid;
        gap: 1.8rem;
        position: relative;
        padding-left: 80px;
}
#service.iotaas .cloud-list-wrap:before{
/*
        content: "";
        width: 4px;
        height: calc(100% + 1.8rem);
        position: absolute;
        top: -1.8rem;
        left: 40px;
        background: #cccccc;
*/
}
#service.iotaas .cloud-list-wrap>*{
        gap: 0;
        border: solid 1px;
        border-color: #e5e5e5;
        background: #ffffff;
        position: relative;
}
#service.iotaas .cloud-list-wrap>*:before{
        content: "";
        width: 40px;
        height: 4px;
        position: absolute;
        top: 50%;
        left: -40px;
        transform: translateY(-50%);
        background: #cccccc;
}
#service.iotaas .cloud-list-wrap>*:after{
        content: "";
        width: 4px;
        height: calc(100% + 48px);
        position: absolute;
        top: -48px;
        left: -40px;
        background: #cccccc;
}
#service.iotaas .cloud-list-wrap>*:last-child::after{
        height: calc(50% + 48px);
}
#service.iotaas .cloud-list-wrap>*>.text-wrap{
        width: 100%;
        padding: 28px 40px;
        order: 1;
}
#service.iotaas .cloud-list-wrap>*>figure+div.text-wrap{
        width: calc(65%);
}
#service.iotaas .cloud-list-wrap>* .text-wrap p.title-text{
        font-size: 200%;
        font-weight: 500;
        line-height: 1.3;
        margin-bottom: 0.8em;
}
#service.iotaas .cloud-list-wrap>* .text-wrap .icon-point-list{
}
#service.iotaas .cloud-list-wrap>* .text-wrap .icon-point-list>figure{
}
#service.iotaas .cloud-list-wrap>* .text-wrap .icon-point-list>*.text-wrap{
}
#service.iotaas .cloud-list-wrap>* .text-wrap .icon-point-list>*.text-wrap p.title-text{
}
#service.iotaas .cloud-list-wrap>* .text-wrap .icon-point-list>*.text-wrap p:not([class]){
}
#service.iotaas .cloud-list-wrap>*>figure{
        width: 35%;
        order: 2;
}
#service.iotaas .cloud-list-wrap>* .btns{
        margin-top: 24px;
}
#service.iotaas .cloud-list-wrap>* .btns>*{
}

/* ----- service 2025/07/31 ----- */

#service section .inner{
        padding-top: 88px;
        padding-bottom: 108px;
}
#service h3.service-title{
        font-size: 320%;
        font-weight: 400;
        text-align: center;
        position: relative;
        margin-bottom: 108px;
}
#service h3.service-title:after{
	content: "";
        display: block;
        width: calc((13px + 9px) * 3);
        height: 4px;
        background: var(--main-color-cyan);
        position: absolute;
        left: 50%;
        bottom: -40px;
        transform: translateX(-50%);
}
#service *.bg-cyan h3.service-title:after{
        background: #ffffff;
}
#service figure.main-image{
}

#service #target ul.target-list{
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        gap: 16px;
        margin-top: 1.25em;
        margin-bottom: 48px;
}
#service #target ul.target-list>li{
        min-width: 200px;
        color: #ffffff;
        font-size: 115%;
        font-weight: 200;
        line-height: 1;
        text-align: center;
        padding: 0.8em 1.8em;
        background: #121212;
        border-radius: 1px;
}
#service #target ul.target-list>li.select1,
#contents #service .target-list>li.select1{
        background: #07A8FF;
}
#service #target ul.target-list>li.select2,
#contents #service .target-list>li.select2{
        background: #00942F;
}
#service #target ul.target-list>li.select3,
#contents #service .target-list>li.select3{
        background: #025FA6;
}
#service #target ul.target-list>li.select4,
#contents #service .target-list>li.select4{
	background: #FF2125;
}
#service #target ul.target-list>li.select5,
#contents #service .target-list>li.select5{
        background: #00A378;
}
#service #target ul.target-list>li.select6,
#contents #service .target-list>li.select6{
        background: #FF8F07;
}
#service #target ul.target-list>li.select7,
#contents #service .target-list>li.select7{
        background: #FF4479;
}
#service #target ul.target-list>li.select8,
#contents #service .target-list>li.select8{
        background: #3FBC00;
}

#service .kada-list-wrap{
        counter-reset: item;
        display: flex;
        flex-wrap: wrap;
        gap: 28px;
}
#service .kada-list-wrap>li{
        display: grid;
        align-items: center;
        align-content: center;
        justify-content: center;
        min-height: 200px;
        font-size: 100%;
        padding: 1.8rem 20px;
        background: #ffffff;
        border: solid 4px #e5e5e5;
        border-radius: 1px;
        position: relative;
}
@media (min-width: 1100px){
	#service .kada-list-wrap>li{
	        width: calc((100% - 56px) / 3);
	}
}
@media (max-width: 1099px){
	#service .kada-list-wrap>li{
	        width: calc((100% - 28px) / 2);
	}
}
#service .kada-list-wrap>li:before{
        counter-increment: item;
        content: counter(item);

        display: grid;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        font-size: 34px;
        font-weight: 400;
        font-family: arial;
        line-height: 1;
        width: 64px;
        aspect-ratio: 1 / 1;
        background: var(--main-color-cyan);
        border-radius: 50%;

        position: absolute;
        top: -32px;
        left: 50%;
        transform: translateX(-50%);
}
#service .kada-list-wrap>li p.title-text{
        font-size: 160%;
        font-weight: 600;
        text-align: center;
        line-height: 1.6;
        margin-bottom: 0.4em;
}
#service .kaiketsu-list{
        display: flex;
        flex-wrap: wrap;
        gap: 28px;
}
#service .kaiketsu-list>li{
        color: #121212;
        font-size: 100%;
        padding: 1.8rem 20px;
        background: #ffffff;
        border-radius: 1px;
        position: relative;
}
@media (min-width: 1100px){
	#service .kaiketsu-list>li{
	        width: calc((100% - 56px) / 3);
	}
}
@media (max-width: 1099px){
	#service .kaiketsu-list>li{
	        width: calc((100% - 28px) / 2);
	}
}
#service .kaiketsu-list>li .icon{
        text-align: center;
        margin-bottom: 20px;
}
#service .kaiketsu-list>li .icon i{
        color: var(--main-color-cyan);
        font-size: 48px;
}
#service .kaiketsu-list>li p.title-text{
        font-size: 159%;
        font-weight: 600;
        line-height: 1.45;
        text-align: center;
        margin-bottom: 0.6em;
}
#service .strengths-list{
        counter-reset: item;
        display: grid;
        gap: 1.5em;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
}
#service .strengths-list.left{
        margin-left: 0;
        margin-right: 0;
}
#service .strengths-list>li{
        display: grid;
        gap: 0.6em;
        font-size: 100%;
        position: relative;
        padding-left: 64px;
}
#service .strengths-list>li:before{
        counter-increment: item;
        content: counter(item);
        display: grid;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        font-size: 28px;
        font-weight: 400;
        font-family: arial;
        line-height: 1;
        width: 45px;
        aspect-ratio: 1 / 1;
        background: var(--main-color-cyan);
        border-radius: 2px;
        position: absolute;
        top: 0.2em;
        left: 0;
}
#service .strengths-list>li p.title-text{
        font-size: 240%;
        font-weight: 500;
        line-height: 1.6;
}
#service .strengths-list>li p:not([class]){
        font-size: 145%;
}
#service section .feature-list{
        display: grid;
        gap: 1.8rem;
}
#service section .feature-list.flex-wrap.box2{
    display: flex;
    flex-wrap: wrap;
}
#service section .feature-list>*{
	gap: 0;
        border: solid 1px #e5e5e5;
        background: #ffffff;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        border-radius: 12px;
}
#service section .feature-list>*>.text-wrap{
        width: 100% !important;
        padding: 28px;
}
#service section .feature-list>*>figure+*.text-wrap{
        width: 65% !important;
}
#service section .feature-list>*>figure{
        width: 35%;
}
#service .flow-list-rows{
        display: grid;
        gap: 32px;
}
#service .flow-list-rows>li{
        border-left: solid 3px;
        border-color: var(--main-color-cyan);
        padding-left: 16px;
        position: relative;
}
#service .flow-list-rows>li:not(:last-child)::after{
	content: '\f0d7';
        color: #cccccc;
        font-size: 28px;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        left: 40px;
        top: calc(100% - 10px);
}

#service #dashboard .flex-wrap>figure{
        height: fit-content;
        background: #ffffff;
        border-radius: 8px;
        overflow: hidden;
}
#service #dashboard .flex-wrap>*.text-wrap{
}
#service #dashboard ul.dashboard-functions{
        display: grid;
        gap: 1.8rem;
}
#service #dashboard ul.dashboard-functions>li{
        font-size: 100%;
}
#service #dashboard ul.dashboard-functions>li p.title-text{
        font-size: 165%;
        font-weight: 600;
        line-height: 1.6;
        margin-bottom: 0.2em;
}
#service #dashboard ul.dashboard-functions>li p.title-text i{
        color: var(--main-color-cyan);
        font-size: 135%;
        margin-right: 0.5em;
        vertical-align: middle;
}
#contents section .process-flow,
#homeContents .process-flow{
        counter-reset: item;
        position: relative;
}
#contents section .process-flow:before,
#homeContents .process-flow:before{
        content: "";
        display: block;
        background: var(--main-color-sumi);
        position: absolute;
        z-index: 0;
}
#contents section .process-flow>div,
#homeContents .process-flow>div{
        display: grid;
        align-items: center;
        align-content: center;
        justify-content: center;
        gap: 0.6em;
        padding: 1.8rem 2vw;
        background: #ffffff;
        border: solid 4px;
        border-color: var(--main-color-sumi);
        border-radius: 8px;
        position: relative;
        z-index: 10;
}
#contents section .process-flow>div:before,
#homeContents .process-flow>div:before{
	counter-increment: item;
        content: 'STEP0' counter(item);
        display: grid;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        font-size: 135%;
        font-weight: 500;
        font-family: arial;
        line-height: 1;
        padding: 0.3em 1.5em 0.2em;
        background: var(--main-color-sumi);
        border-radius: calc(1px / 0);
        position: absolute;
        top: -16px;
        left: 50%;
        transform: translateX(-50%);
}
#contents section .process-flow>div p.title-text,
#homeContents .process-flow>div p.title-text{
        font-size: 160%;
        font-weight: 600;
        line-height: 1.6;
        text-align: center;
}
@media (min-width: 1100px){
	#contents section .process-flow,
	#homeContents .process-flow{
	        display: flex;
	        gap: 3vw;
	        position: relative;
	}
	#contents section .process-flow:before,
	#homeContents .process-flow:before{
	        content: "";
	        display: block;
	        width: 100%;
	        height: 4px;
	        background: var(--main-color-sumi);
	        position: absolute;
	        top: 50%;
	        left: 0;
	        transform: translateY(-50%);
	        z-index: 0;
	}
	#contents section .process-flow>div,
	#homeContents .process-flow>div{
		flex: 1;
	        aspect-ratio: 1 / 1;
	}
}
@media (max-width: 1099px){
	#contents section .process-flow,
	#homeContents .process-flow{
	            display: grid;
	            gap: 40px;
	            max-width: 480px;
	            margin-left: auto;
	            margin-right: auto;
	}
	#contents section .process-flow:before,
	#homeContents .process-flow:before{
	    width: 4px;
            height: 100%;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
	}
	#contents section .process-flow p br,
	#homeContents .process-flow p br{
	            display: none;
	}
}

#mi-iotaas .airforce{
        margin-bottom: 64px;
}
#mi-iotaas .airforce .title-text{
        font-size: 240%;
        font-weight: 500;
        line-height: 1.45;
}
#contents #service .target-list{
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        gap: 8px;
        margin-top: 1.25em;
        margin-bottom: 1.25em;
}
#contents #service .target-list>li{
        min-width: 160px;
        color: #ffffff;
        font-size: 100%;
        font-weight: 200;
        line-height: 1;
        text-align: center;
        padding: 0.8em 1em;
        background: #121212;
        border-radius: 1px;
}

#mi-iotaas .iotaas-list{
	display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
        margin-bottom: 48px;
}
#mi-iotaas .iotaas-list>li{
        color: var(--main-color-cyan);
        min-width: 200px;
        font-size: 130%;
        font-weight: 600;
        line-height: 1;
        text-align: center;
        padding: 0.8em 1.8rem;
        border-radius: calc(1px / 0);
        background: #ffffff;
        border: solid 3px;
        border-color: var(--main-color-cyan);
}
#contents .service-category{
        color: initial;
        padding: 28px;
        border-radius: 1px;
        background: #ffffff;
        border: solid 1px #cccccc;
}
#contents .service-category *.flex-wrap{
/*
        margin-top: 28px;
        margin-bottom: 28px;
*/
}
#contents #mi-iotaas .service-category .text-wrap{
        display: flex;
        flex-direction: column;
}
#contents #mi-iotaas .service-category .text-wrap .btns{
        margin-top: auto;
}
#contents h6.icon-title{
        font-size: 120%;
        line-height: 1.6;
        margin-bottom: 0.5em !important;
}
#contents h6.icon-title i,
#service .flow-list-rows>li b i{
        color: var(--main-color-cyan);
        width: 1.25em;
        display: inline-block;
        font-size: 200%;
        vertical-align: middle;
        text-align: center;
        margin-right: 0.4em;
}

/* ----- company ----- */

#value ol.value-list{
        display: grid;
        gap: 1em;
}
#value ol.value-list>li{
        font-size: 145%;
        font-weight: 300;
        letter-spacing: 0.05em;
}
#value ol.value-list>li b{
        font-weight: 500;
        color: var(--main-color-cyan);
}
#value ol.value-list>li b:after{
        content: "－";
        color: #999999;
        font-weight: 300;
        margin: 0 0.5em;
}


/* ----- case ----- */

#contents .search-box .btns>label {
        display: inline-block;
        color: #fff;
        font-weight: bold;
        background-color: var(--main-color-darkcyan);
        border-radius: calc(1px / 0);
        border: 0;
        cursor: pointer;
        transition: 0.3s;
}
#contents .search-box .btns input:checked + label {
        color: var(--main-color-darkcyan);
        border: solid 2px;
        border-color: var(--main-color-darkcyan);
        background: #ffffff;
}
#contents .search-box .btns input {
        display: none;
}
.is-hide {
        display: none !important;
}

#contents .case-List-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
}
#contents .case-List-wrap>*{
            display: flex;
            flex-wrap: wrap;
            flex-direction: column;
            align-items: start;
/*
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        border: solid 1px #e5e5e5;
        border-radius: 12px;
        overflow: hidden;
*/
}
@media (min-width: 1280px){
	#contents .case-List-wrap>*{
		width: calc((100% - 80px) / 3);
	}
}
@media (max-width: 1279px){
	#contents .case-List-wrap>*{
		width: calc((100% - 40px) / 2);
	}
}
#contents .case-List-wrap>* figure.thumb{
        width: 100%;
        aspect-ratio: 5 / 3;
        overflow: hidden;
        margin-bottom: 16px;
}
#contents .case-List-wrap>* figure.thumb>img{
}
#contents .case-List-wrap>* .text-wrap{
        display: grid;
        gap: 0.6em;
        align-items: start;
}
#contents .case-List-wrap>* .text-wrap p.title-text{
	font-size: 180%;
        font-weight: 600;
        line-height: 1.6;
}
#contents .case-List-wrap>* .text-wrap p.sub-title-text{
        color: #666666;
        font-size: 125%;
        font-weight: 600;
        line-height: 1.5;
}
#contents .case-List-wrap>* .text-wrap p:not([class]){
        line-height: 1.6;
        margin-bottom: 16px;
}
#contents .case-List-wrap>* .btns{
        margin: 0 auto;
        margin-top: auto;
}
#contents .case-List-wrap>* .btns>*{
	min-width: 200px;
        padding-top: 1em;
        padding-bottom: 1em;
}
#contents .case-List-wrap>* .tag{
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
}
#contents .case-List-wrap>* .tag>span{
        color: var(--main-color-blue);
        font-size: 90%;
        padding: 0.3em 0.8em;
        border: solid 1px;
        border-color: var(--main-color-blue);
}

.case-List-wrap{
}
.case-List-wrap>*{
        padding: 28px;
	background: #ffffff;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
        border-radius: 16px;
}
.case-List-wrap>* .title-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 1em;
        align-items: center;
        margin-bottom: 20px;
}
.case-List-wrap>* .title-wrap i{
        color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.case-List-wrap>* .title-wrap p{
        font-size: 135%;
        font-weight: 700;
        line-height: 1.6;
}
.case-List-wrap>* .trouble {
        display: flex;
        flex-wrap: wrap;
        gap: 1em;
        align-items: center;

        padding: 20px;
        margin-bottom: 20px;
        background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
        border: solid 1px rgb(254 202 202 / var(--tw-border-opacity, 1));
        border-radius: 12px;
}
.case-List-wrap>* .trouble i{
       color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.case-List-wrap>* .trouble p{
	flex: 1;
        color: rgb(153 27 27 / var(--tw-text-opacity, 1));
        line-height: 1.6;
}
.case-List-wrap>* .solution{
        display: flex;
        align-items: center;
        justify-content: space-around;
        width: 100%;
        padding-top: 20px;
        margin-bottom: 20px;
}
*.text-gray-600{
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
*.text-teal-600{
    color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.case-List-wrap>* .solution .text-center{
}
.case-List-wrap>* .solution .text-center i{
}
.case-List-wrap>* .solution .text-center p{
}
.case-List-wrap>* .effect{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 1em;
        padding: 20px;
        margin-bottom: 20px;
        background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
        border: solid 1px rgb(153 246 228 / var(--tw-border-opacity, 1));
        border-radius: 12px;
}
.case-List-wrap>* .effect i{
}
.case-List-wrap>* .effect p{
        flex: 1;
        color: rgb(19 78 74 / var(--tw-text-opacity, 1));
        line-height: 1.6;
}
.case-List-wrap>* .effect p strong{
        font-weight: 600;
        color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.case-List-wrap>* .tag-wrap{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
}
.case-List-wrap>* .tag-wrap>*{
        color: rgb(55 65 81 / var(--tw-text-opacity, 1));
        font-size: 90%;
        font-weight: 500;
        padding: 0.5em 1.25em;
        background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
        border-radius: 1px;
}